On 9/1/10 1:40 PM, Jonathan S. Shapiro wrote: > Now the reason I am raising this is that many examples of macros can be > turned into procedures in a language that implements call-by-need.
Indeed. This is often advocated as one of the reasons for lazy-by-default in Haskell. Laziness allows you to implement most control structures directly in the language, rather than having them as built-ins: short-circuiting boolean ops, if-then-else, do-while,... I'm sure you've no plans to make laziness the default, but it's definitely helpful to have as a primitive part of the language instead of relying on built-ins (e.g., if-then-else in C, or the (unit->) hack in OCaml) in order to recreate it. It would be nicer to have it as a first-class part of the language and captured in the type system, rather than having a separate macro system distinct from the function system IMO. -- Live well, ~wren _______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
