Wed Apr 10 10:50:35 EDT 2019


Language/Seq/NetList.hs:247:57: error:
    • Could not deduce (Show1 TypedForm)
        arising from the first field of ‘TypedExpr’ (type ‘TypedExpr' n’)
      from the context: Show n
        bound by the deriving clause for ‘Show (TypedExpr n)’
        at Language/Seq/NetList.hs:247:57-60
      Possible fix:
        use a standalone 'deriving instance' declaration,
          so you can specify the instance context yourself
    • When deriving the instance for (Show (TypedExpr n))
247 | newtype TypedExpr n = TypedExpr (TypedExpr' n) deriving Show
    |                                                         ^^^^

I've just made it compile. Probably broken now...

EDIT: This is due to an upgrade from 8.2 to 8.6.  I have to upgrade,
so figure out why this breaks.

First, find out what Show1 really is:

"Liftings of the Prelude classes Eq, Ord, Read and Show to unary type

EDIT: I really don't want to get into this now.  To much of a switch.

EDIT: Maybe I have to?  It is an automatically derived instance that
then is not properly automatically derived?  I don't understand this

EDIT: There are some weird interactions between
GeneralizedNewtypeDeriving and DeriveAnyClass.  I think I've solved it
by using just GeneralizedNewtypeDeriving and not DeriveAnyClass, and
implenting (Show1 TypedExpr) manually.  Maybe this is what
DerivingStrategies fixes?  I really don't want to know.