Chris Smith <cdsm...@gmail.com> writes:

> On Fri, Oct 8, 2021 at 10:51 AM Ben Gamari <b...@smart-cactus.org> wrote:
>
>> In my mind the fundamental problem with this approach is that it means
>> that a program's acceptance by the compiler hinges upon pragmas.
>> This is a rather significant departure from the status quo, where one
>> can remove all pragmas and still end up with a well-formed program.
>> In this sense, pragmas aren't really part of the Haskell language but
>> are rather bits of interesting metadata that the compiler may or may not
>> pay heed to.
>>
>
> I don't believe this is really the status quo.  In particular, the pragmas
> relating to overlapping instances definitely do affect whether a program
> type-checks or not.

Yes, this is a fair point. Moreover, the same can be said of
LANGUAGE pragmas more generally. I will rephrase my statement to reflect
what was in my head when I initially wrote it:

>> In my mind the fundamental problem with this approach is that it means
>> that a program's acceptance by the compiler hinges upon INLINE pragmas.
>> This is a rather significant departure from the status quo, where one
>> can remove all INLINE, INLINEABLE, RULES, and SPECIALISE pragmas and
>> still end up with a well-formed program.

These pragmas all share the property that they don't change program
semantics but rather merely affect operational behavior. Consequently,
they should not change whether a program should be accepted.

Cheers,

- Ben

Attachment: signature.asc
Description: PGP signature

_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

Reply via email to