[ghc-steering-committee] Why not?, rather than, why?

Simon Marlow marlowsd at gmail.com
Tue Jan 3 09:32:56 UTC 2023


On Sun, 18 Dec 2022 at 03:54, Richard Eisenberg <lists at richarde.dev> wrote:

>
>
> On Dec 14, 2022, at 6:05 AM, Simon Marlow <marlowsd at gmail.com> wrote:
>
> It's clear that CPP needs to remain as a flag because it does bad things
> to the syntax like breaking multiline strings and doing strange things to
> `##`. But it's less clear to me that TemplateHaskell is in this category.
> Isn't it just an extension that enables new syntax? Yes there are
> *practical* reasons why we might not want it on by default, because it
> makes compilation slower and whatnot, but isn't that all it is?
>
>
> I somehow missed this, and more surprisingly just now found it.
>
> TemplateHaskell isn't just for new syntax primarily because it has
> important interactions around cross-compilation. If/when GHC has a
> comprehensive story around cross-compilation, TH will change the way the
> pipeline works. It was this concern that suggested it should be lumped with
> CPP. (TemplateHaskellQuotes are a different story -- that's just syntax.)
>

I think of cross-compilation as just a tooling issue that affects how you
actually *implement* TH, but not something that changes what it means. Or
perhaps I'm wrong? Is there a way in which enabling TH will change the
meaning of a program that doesn't use any TH?

Cheers
Simon
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-steering-committee/attachments/20230103/df74d6f8/attachment.html>


More information about the ghc-steering-committee mailing list