← Back to context

Comment by AnimalMuppet

11 years ago

To me, it seems impossible to have both macros and a type system on par with Haskell. Either your macros can no longer do arbitrary textural transformations, or your type system can't reason about macro cases. (Or, I suppose, your type system has to run after the macro transformations, and you could get a type error then just like you could get a syntax error then. But that means your IDE/development environment can't give you any type assistance on macro calls - you have to compile it to find out if it works. (Or, I suppose, your IDE has to run the macro for you and then do the type checking on the resulting post-macro code.))

I am open to being proven wrong, though...

> it seems impossible to have both macros and a type system on par with Haskell

You should check out the work being done on typed template Haskell then.

You can have a language which has to be parsed top down, then you can have both complete type info, and arbitrary macros.