<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>Of course not. If my language needs much tweaking to fit the problem domain, it usually means I chose the wrong language in the first place. If macros a needed to prevent TYPOS, it means the language is doomed.</div><div id="AppleMailSignature"><br>Az iPademről küldve</div><div><br>2017. ápr. 19. dátummal, 8:52 időpontban David McClain <<a href="mailto:dbm@refined-audiometrics.com">dbm@refined-audiometrics.com</a>> írta:<br><br></div><blockquote type="cite"><div><meta http-equiv="Content-Type" content="text/html charset=utf-8"><br class=""><div><blockquote type="cite" class=""><div class="">On Apr 18, 2017, at 22:05, MigMit <<a href="mailto:migmit@gmail.com" class="">migmit@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="content-type" content="text/html; charset=utf-8" class=""><div dir="auto" class=""><div class=""><a href="http://www.offcenterdesigns.net/wp-content/uploads/wp-checkout/images/i-found-the-i-in-team-t-shirt-1344970569.jpg" class="">http://www.offcenterdesigns.net/wp-content/uploads/wp-checkout/images/i-found-the-i-in-team-t-shirt-1344970569.jpg</a></div><div class=""><br class=""></div><div class="">I think the problem with macros in general is that their semantics is defined purely in terms of code they generate. Not in terms of what that code actually does. As for me, I want to think about the things I need to achieve, not about the code to write.</div><div class=""><br class=""></div></div></div></blockquote><br class=""></div><div>Those first two sentences were a joke, eh? Macros exist to shape the language to suit the problem domain and prevent massive typos and fingers cramping up.</div><div><br class=""></div><div>I played around with Sanitary Macrology, or whatever they are called, in Dylan back in the late 90’s. Frankly, I find them maddening. I much prefer the Common Lisp style of macrology. But read up on macros in Quiennec’s book, “Lisp in Small Pieces”. They exist in a kind of no-man’s land in language stages. There really isn’t any one best kind of macrology.</div><div><br class=""></div><div>Back in OCaml land they used to have a preprocessor that could give you access to the AST’s from a first pass of compiling, and I made liberal use of a custom tree rewriter in order to give my vectorized / overloaded math language NML a better shape than plain OCaml syntax. That is yet another kind of macrology. And potentially just as powerful, if less convenient to use on the fly.</div><div><br class=""></div><div>- DM</div><br class=""></div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>Haskell-Cafe mailing list</span><br><span>To (un)subscribe, modify options or view archives go to:</span><br><span><a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a></span><br><span>Only members subscribed via the mailman list are allowed to post.</span></div></blockquote></body></html>