<html><body><div>My experience with receiving bug reports for cpphs is certainly that Haskell people use every imaginable feature of cpp.  Initially, cpphs supported only conditional compilation.  But then some macros started to appear, so I made that a separate pass.  And then the conditional compilation started to depend on the values of the macros, so I had to fold the passes together somehow.  And so on.  I can confirm that token splicing is definitely used by someone, because I received the feature request.</div><div><pre style="font-family: 'Helvetica Neue', Helvetica, sans-serif; font-size: 15px; white-space: pre-wrap; word-wrap: break-word;" data-mce-style="font-family: 'Helvetica Neue', Helvetica, sans-serif; font-size: 15px; white-space: pre-wrap; word-wrap: break-word;">Regards,
    Malcolm</pre></div><div><br>On 16 Apr, 2014,at 03:00 PM, Brandon Allbery <allbery.b@gmail.com> wrote:<br><br></div><div><blockquote type="cite"><div class="msg-quote"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Apr 16, 2014 at 7:24 AM, Sven Panne <span dir="ltr"><<a href="mailto:svenpanne@gmail.com" data-mce-href="mailto:svenpanne@gmail.com">svenpanne@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex" data-mce-style="margin: 0 0 0 .8ex; border-left: 1px #ccc solid; padding-left: 1ex;"><div id=":1n4" class="a3s" style="overflow:hidden" data-mce-style="overflow: hidden;">My point is: Do we really know that conditional compilation is *the*<br> use case? I remember that in ancient days macros were used to generate<br> instances etc. Make things as simple as possible, but not simpler.</div></blockquote></div><br>It's the most common one but pretty sure it's not the only one --- and, supporting conditional compilation may involve only a tiny subset of cpp in the user's code, but a fair bit more in terms of what cabal-install has to generate for those triplet macros to exist for user code to use. There are ANSI features we don't need (assertions, token splicing) but everything else probably gets used one way or another.<br><div><br></div>-- <br><div dir="ltr"><div>brandon s allbery kf8nh                               sine nomine associates</div><div><a href="mailto:allbery.b@gmail.com" data-mce-href="mailto:allbery.b@gmail.com">allbery.b@gmail.com</a>                                  <a href="mailto:ballbery@sinenomine.net" data-mce-href="mailto:ballbery@sinenomine.net">ballbery@sinenomine.net</a></div><div>unix, openafs, kerberos, infrastructure, xmonad        <a href="http://sinenomine.net" data-mce-href="http://sinenomine.net">http://sinenomine.net</a></div></div></div></div><div class="_stretch"><span style="white-space:pre;" data-mce-style="white-space: pre;">_______________________________________________<br>Haskell-Cafe mailing list<br><a href="mailto:Haskell-Cafe@haskell.org" data-mce-href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br><a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" data-mce-href="http://www.haskell.org/mailman/listinfo/haskell-cafe">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br></span></div></div></blockquote></div></body></html>