
On Tue, Jul 29, 2014 at 11:50 AM, Herbert Valerio Riedel
On 2014-07-29 at 11:29:45 +0200, Niklas Hambüchen wrote:
instance {-# OVERLAPPABLE #-} Show a => Show [a] where …
Is the syntax somewhat flexible in where the pragma can be placed? For example, some might prefer
{-# OVERLAPPING #-} instance Show [Char] where …
This variant may also be more convenient in cases where you need to CPP-guard that pragma, as it's on a separate line.
Agreed, and if we remove the old pragma (even with a deprecation cycle) you'll see quite a few of those as many library authors try to have their libraries compile with the last 3 major GHC versions. P.S. For e.g. INLINABLE we require that you mention the function name next to the pragma (which means that you can e.g. put the pragma after the declaration). What's the rationale to not require {-# OVERLAPPING Show [Char] #-} here? Perhaps it's too annoying to have to repeat the types?