Metaprogramming and syntax don't go that well together. If you're going to manipulate programs effectively, you're going to be operating on source trees, and it's easiest to do that when source code and source tree are of the same form.
Thank you for picking up on that half of my joke. Everyone else went for the type system part...
Not that it isn't easy to make a candied Lisp dialect with "friendly" syntax more appealing to non-Lisp programmers, but anyone who actually learns a Lisp quickly realizes that it just gets in the way...
If I were to personally try creating an "ideal language" to match my tongue-in-cheek plea, I'd probably start with a terse Lisp-like syntax and a HM-like type system and go from there.
Comments
Metaprogramming and syntax don't go that well together. If you're going to manipulate programs effectively, you're going to be operating on source trees, and it's easiest to do that when source code and source tree are of the same form.
Thank you for picking up on that half of my joke. Everyone else went for the type system part...
Not that it isn't easy to make a candied Lisp dialect with "friendly" syntax more appealing to non-Lisp programmers, but anyone who actually learns a Lisp quickly realizes that it just gets in the way...
If I were to personally try creating an "ideal language" to match my tongue-in-cheek plea, I'd probably start with a terse Lisp-like syntax and a HM-like type system and go from there.