I've been complaining about that for years. Every so often there's discussion of a non-GPLed alternative preprocessor, but the questions apparently become fairly hairy quickly, so the current mess is just accepted. :(
Am 01.02.20 um 11:36 schrieb Merijn Verstraaten:
>
>> On 1 Feb 2020, at 10:01, Viktor Dukhovni <ietf-dane@dukhovni.org>
>> wrote:
>>
>> The package developer. Neither GHC nor Clang are at-fault for
>> invalid CPP macro syntax.
>
> This isn't the package developers fault. Standard Haskell just cannot
> be properly preprocessed by an ISO C preprocessor. As the definition
> of valid tokens just aren't compatible.
>
> GHC's use of the CPP has long (maybe since forever?) been
> incompatible with CPP as standardised in the ISO C spec, and its
> relies on the -traditional flag to make GCC use it's pre-ISO C
> implementations. This flag isn't necessarily portable across C
> compilers and I recall this breaking things in the past.
This situation strikes me as being precarious. It means we rely on the
gcc developers to retain the -traditional flag (with its current
semantics). My personal experience makes me think that such reliance is
ill-advised: breaking compatibility with anything other than C or C++
source code is not regarded as a problem and bug reports to that effect
are rejected as invalid.
Cheers
Ben
_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.
--