Logix: Multi-Language Programming

I just came across Logix, which appears to be a language for building (and freely intermixing) DSLs. It is similar to Lisp in many ways (a point the website makes several times), but with a substantially different syntax, and an approach based more on objects than lists. From the website:

Logix is more than a programming language. It is multi-language programming system. With Logix, each part of your program can be developed in a language that is finely tuned to the task.

Featuring a procedural macro facility, dynamic syntax extension, and multi-language parsing. A new operator, complete with syntax and semantics, can be added on-the-fly with a single line of code.
The "60 second intro" provides a couple of brief examples of the way syntax enxtension works. There is also a more extensive tutorial that discusses the base Logix language (which is somewhat like Python), as well as providing more detail on how to extend the language.

Logix as presently implemented generates Python byte-code, but the designers are investigating other platforms (Mono, Parrot, LLVM).

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Previously on LtU


Guess I need to get in the habit of searching the archive first before hitting submit. Sorry about that.

Don't worry about it.

Don't worry about it.

see also boo and nemerle

See also boo: http://boo.codehaus.org/ and nemerle: http://www.nemerle.org/

Boo has a comparable syntax yet weaker macro facilities but is statically typed and faster. Nemerle has very powerful macro functionality, but not the same simple python syntax.

Logix or Logorrhoea?

While an extension language to Python not following Guidos traces but empowers FP facilities is interesting I don't completely understand why Logix fetishes on syntax extensions for their own sake? This makes two arbitrary modules written by different programmers almost always completely incompatible or at least hard to comprehend. A simple refactoring gets bloated to a language design excercise. I consider this as a language design anti-pattern and I don't buy the DSL argument. But I also have to admit that an arbitrary Python/LISP crossover does not make much sense to me at all.

Before porting Logix to all other platforms available in platform space wouldn't it be wise to write a first program using it?