<pre style="white-space:pre-wrap;background-color:rgb(255,255,255)"><div dir="auto"><i style="font-family:-webkit-standard;white-space:normal">On 2018-11-28 14:03:30 UTC, </i><b style="font-family:-webkit-standard;white-space:normal">Mario Blažević wrote:</b><br></div><div dir="auto"><br></div><div dir="auto">>> On 2018-11-28 2:17 a.m., Jurriaan Hage wrote:
> </div><div dir="auto">>><i style="font-family:-apple-system,HelveticaNeue">  do we actually have something like an extensive set of tests</i></div><div dir="auto">>><i style="font-family:-apple-system,HelveticaNeue"> to throw at any Haskell 2010 compliant compiler that would help find mistakes on our parr?</i></div><div dir="auto">

> 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.

</div><div dir="auto">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.</div><div dir="auto"><br></div><div dir="auto">What about anything that relies on the FTP changes to Prelude? Has Juriaan's team upgraded their Prelude?</div><div dir="auto"><br></div><div dir="auto">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.)</div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">AntC</div></pre>