Hello John, Thursday, February 02, 2006, 4:24:06 AM, you wrote:
>> It can, but so far it's really ugly to apply transformations to entire >> modules. A little syntactic sugar could be good there. JM> module $hat.Foo(..) where JM> ... JM> could mean pass the entire module through the 'hat' function of TH. this JM> would be a really cool feature a lot of rather complicated preprocessors JM> (hat) could be implemented this way. well, i think even more - that TH by itself can substitute much of the better module system that we need. It can implement parametrization, conditional compilation, hiding. But it will require some more advanced syntax sugar. on the other side, even the existing TH facilities can be used to implement all these features and moreover - remain compatible with other Haskell compilers: module Implement where #ifdef GHC module = [d| #endif foo = ... var = ... #ifdef GHC |] #endif module Use where import Implement $(hat module) -- Best regards, Bulat mailto:[EMAIL PROTECTED] _______________________________________________ Haskell-prime mailing list Haskell-prime@haskell.org http://haskell.org/mailman/listinfo/haskell-prime