On 2018-11-28 14:03:30 UTC, Mario Blažević wrote:

>> On 2018-11-28 2:17 a.m., Jurriaan Hage wrote: >
>> do we actually have something like an extensive set of tests
>> to throw at any Haskell 2010 compliant compiler that would help find mistakes on our parr?
> If you want to be really thorough: > > 1. start with all of Hackage, > > 2. filter out all packages with the extensions: field in the cabal file, > > 3. filter out all modules with the {-# LANGUAGE ... #-} pragma, > > 4. recursively filter out all modules that import any filtered-out module, > > 5. you're left with a large set of pure Haskell 2010 modules.
At 3.b. also filter out anything with inline pragmas like {-# OVERLAPS/PING/ABLE, INCOHERENT #-}. Note that GHC allows "the possibility" of instances to overlap even without any flags/pragmas set. It's only if you try to use them that it starts insisting on pragmas. Whereas the H2010 standard is clear that overlaps are not allowed.

What about anything that relies on the FTP changes to Prelude? Has Juriaan's team upgraded their Prelude?

Frankly after you've filtered out all that, I'd be astonished if you have anything left. It seems to be usual practice on Hackage to switch on a swag of LANGUAGE pragmas even if this module isn't using them. (MPTCs, FlexibleInstances/Contexts in particular.)


AntC