Someone wrote in [personal profile] pozorvlak 2008-04-01 09:21 am (UTC)

I don't know about that

In this case, you're right, but TH does syntactic transformations just like lisp macros, and there's no guarantee that TH's transformations are type-preserving. If there were, then you'd _really_ be in static land. But the reason that lisp macros are simple is because lisp's syntax is simple; the reason TH is complicated is because Haskell's syntax is (comparatively) complicated. If you gave lisp a polymorphic lambda calculus type system, I'm pretty sure macros would carry over almost unscathed. That is, if there weren't a whole culture of lisp idioms that are not well-typed.

I certainly agree, though, that there is no answer to whether static or dynamic typing is better. Or no, I should revise that statement. I agree that currently there is no answer. But I believe in the future static could be better; never dynamic. If someone invents a type system which can support almost all dynamic idioms, still catch errors, and perform inference, then I will leave all my dynamics behind. From my experience with studying type systems, this is highly unlikely :-)

-Luke (http://luqui.org/blog)

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting