[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: MzScheme and SML




1. As Shriram points out, MLers are confused about Scheme-style macros,
   because people make false claims about them. The fault is on both
   sides. MLers could have tried to dig harder. 

2. Macros are/should-be used for these reasons: 

   - to deal with new data sub-languages (hide quote and quasiquote)
   - to introduce new binding operators
   - to specify control among the subexpressions of a form. 

   The third reason goes away in a lazy language. 
   The others are as valid as ever. 

3. Shriram claims that macros don't pose a problem for statically typed
   languages. The problem is that they do .. for implicitly statically
   typed languages. Type inference across surface syntax elaboration is a
   true pain. You can't produce good error messages, independently of what
   inference mechanism you use. 

   His dissertation has shown that one can solve the problem in principle.
   But it remains to be seen whether/how to adapt this to the SML
   context. The proof is eating the pudding, not making it.

-- Matthias