- I think that eval, in its lisp form, is another of those sorts of things the ML/haskell world usually frowns on as "a bit too dynamic". you don't even know when an eval'ed sexp is well typed. that's scary. that said, there is still dynamic caml should the need arise.
- TCL is actually an interesting case. I used to think it was just a complete joke, what with basically no datatypes, but I'm finding myself occasionally forced to use it (sigh.. work), and each time I am impressed with how far you can go with a clever quoting system and a single datatype. it's further than you think.
- with respect to camlp4, I do think the macros offered
are "as powerful" as those in lisp, by any reasonable
- you can write your own lexer. you don't have to shoehorn your macro notation into sexps</a>
- you have explicit or implicit control over source coordinates
- you can programmatically construct your results, or construct them through quotations, or both
- you can name and layer quotation expansions of different notations
- you can replace the core grammar of ocaml, essentially re-tasking the ocaml compiler to a "new" language with ocaml semantics.