
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. :(
On Sat, Feb 1, 2020 at 10:19 AM Ben Franksen
Am 01.02.20 um 11:36 schrieb Merijn Verstraaten:
On 1 Feb 2020, at 10:01, Viktor Dukhovni
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.
-- brandon s allbery kf8nh allbery.b@gmail.com