From: Ross Paterson <[EMAIL PROTECTED]>
John Hughes wrote:
I would urge that either we stick with the present design, or, if bang
patterns are added (which a lot speaks for), that the language be
simplified at the same time so that patterns are matched in the same way
everywhere, and BOTH warts above are excised. Some existing code would
break, but in return the language would become simpler and more expressive.
Would top-level bindings of constructor patterns and !x be evaluated
when the module was loaded (or at compile time)?
Yes. Nothing else makes sense, does it? If that's problematic (although
I can't see why it would be), just forbid strict patterns at the top
level of modules.
Load time rather than compile-time, I think--otherwise the compiled code
for a module could depend on the *code* of modules it imports, not just
on their interfaces, which would be harmful for separate compilation.
John
_______________________________________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://haskell.org/mailman/listinfo/haskell-prime