>Once you've got a canonical AST defined, syntax should, in theory, be like CSS chrome
This is an awesome idea. Are there any projects working on this concept? I guess multiple languages targeting the same bytecode is as-close-as-practical at the moment.
AIUI, this was the original genesis of Lisp - the S-expressions were supposed to be an internal abstract representation, and programmers would write "M-expressions" in a language a bit like Fortran. But everyone involved in Lisp realised you could just write S-expressions directly, and never got round to defining the M-expression syntax.
More recently, the GNU scheme project, Guile, had people working on pluggable syntax translators that would allow you to write Guile programs in TCL or JavaScript syntax, but AFAIK that project never produced anything completely usable.
Isn't this pretty much what Dylan is (or was supposed to be)? I may be wrong though, but I remember it being described as a LISP minus the (visible) S-Exp... Or maybe just the parenthesis.
This is an awesome idea. Are there any projects working on this concept? I guess multiple languages targeting the same bytecode is as-close-as-practical at the moment.