VinylRecords / Vinyl

Extensible Records for Haskell. Pull requests welcome! Come visit us on #vinyl on freenode.
http://hackage.haskell.org/package/vinyl
MIT License
260 stars 49 forks source link

GHC-8.2.2 fails to compile vinyl-0.12.1 #135

Closed msakai closed 4 years ago

msakai commented 4 years ago

GHC-8.2.2 fails to compile vinyl-0.12.1 with the following errors:

[14 of 17] Compiling Data.Vinyl.XRec
/Users/sakai/src/vinyl-0.12.1/Data/Vinyl/XRec.hs:168:10: error:
    • Expecting one more argument to ‘IO’
      Expected a type, but ‘IO’ has kind ‘* -> *’
    • In the type ‘IO’
      In the expression: Data.Vinyl.XRec.$dmunHKD @IO @a
      In an equation for ‘unHKD’: unHKD = Data.Vinyl.XRec.$dmunHKD @IO @a
    |
168 | instance IsoHKD IO a where
    |          ^^^^^^^^^^^

/Users/sakai/src/vinyl-0.12.1/Data/Vinyl/XRec.hs:168:10: error:
    • Expecting one more argument to ‘IO’
      Expected a type, but ‘IO’ has kind ‘* -> *’
    • In the type ‘IO’
      In the expression: Data.Vinyl.XRec.$dmtoHKD @IO @a
      In an equation for ‘toHKD’: toHKD = Data.Vinyl.XRec.$dmtoHKD @IO @a
    |
168 | instance IsoHKD IO a where
    |          ^^^^^^^^^^^

/Users/sakai/src/vinyl-0.12.1/Data/Vinyl/XRec.hs:169:10: error:
    • Expecting one more argument to ‘Either a’
      Expected a type, but ‘Either a’ has kind ‘* -> *’
    • In the type ‘Either a’
      In the expression: Data.Vinyl.XRec.$dmunHKD @Either a @b
      In an equation for ‘unHKD’:
          unHKD = Data.Vinyl.XRec.$dmunHKD @Either a @b
    |
169 | instance IsoHKD (Either a) b where
    |          ^^^^^^^^^^^^^^^^^^^

/Users/sakai/src/vinyl-0.12.1/Data/Vinyl/XRec.hs:169:10: error:
    • Expecting one more argument to ‘Either a’
      Expected a type, but ‘Either a’ has kind ‘* -> *’
    • In the type ‘Either a’
      In the expression: Data.Vinyl.XRec.$dmtoHKD @Either a @b
      In an equation for ‘toHKD’:
          toHKD = Data.Vinyl.XRec.$dmtoHKD @Either a @b
    |
169 | instance IsoHKD (Either a) b where
    |          ^^^^^^^^^^^^^^^^^^^

/Users/sakai/src/vinyl-0.12.1/Data/Vinyl/XRec.hs:170:10: error:
    • Expecting one more argument to ‘Maybe’
      Expected a type, but ‘Maybe’ has kind ‘* -> *’
    • In the type ‘Maybe’
      In the expression: Data.Vinyl.XRec.$dmunHKD @Maybe @a
      In an equation for ‘unHKD’:
          unHKD = Data.Vinyl.XRec.$dmunHKD @Maybe @a
    |
170 | instance IsoHKD Maybe a where
    |          ^^^^^^^^^^^^^^

/Users/sakai/src/vinyl-0.12.1/Data/Vinyl/XRec.hs:170:10: error:
    • Expecting one more argument to ‘Maybe’
      Expected a type, but ‘Maybe’ has kind ‘* -> *’
    • In the type ‘Maybe’
      In the expression: Data.Vinyl.XRec.$dmtoHKD @Maybe @a
      In an equation for ‘toHKD’:
          toHKD = Data.Vinyl.XRec.$dmtoHKD @Maybe @a
    |
170 | instance IsoHKD Maybe a where
    |          ^^^^^^^^^^^^^^

/Users/sakai/src/vinyl-0.12.1/Data/Vinyl/XRec.hs:171:10: error:
    • Expecting one more argument to ‘First’
      Expected a type, but ‘First’ has kind ‘* -> *’
    • In the type ‘First’
      In the expression: Data.Vinyl.XRec.$dmunHKD @First @a
      In an equation for ‘unHKD’:
          unHKD = Data.Vinyl.XRec.$dmunHKD @First @a
    |
171 | instance IsoHKD First a where
    |          ^^^^^^^^^^^^^^

/Users/sakai/src/vinyl-0.12.1/Data/Vinyl/XRec.hs:171:10: error:
    • Expecting one more argument to ‘First’
      Expected a type, but ‘First’ has kind ‘* -> *’
    • In the type ‘First’
      In the expression: Data.Vinyl.XRec.$dmtoHKD @First @a
      In an equation for ‘toHKD’:
          toHKD = Data.Vinyl.XRec.$dmtoHKD @First @a
    |
171 | instance IsoHKD First a where
    |          ^^^^^^^^^^^^^^

/Users/sakai/src/vinyl-0.12.1/Data/Vinyl/XRec.hs:172:10: error:
    • Expecting one more argument to ‘Last’
      Expected a type, but ‘Last’ has kind ‘* -> *’
    • In the type ‘Last’
      In the expression: Data.Vinyl.XRec.$dmunHKD @Last @a
      In an equation for ‘unHKD’:
          unHKD = Data.Vinyl.XRec.$dmunHKD @Last @a
    |
172 | instance IsoHKD Last a where
    |          ^^^^^^^^^^^^^

/Users/sakai/src/vinyl-0.12.1/Data/Vinyl/XRec.hs:172:10: error:
    • Expecting one more argument to ‘Last’
      Expected a type, but ‘Last’ has kind ‘* -> *’
    • In the type ‘Last’
      In the expression: Data.Vinyl.XRec.$dmtoHKD @Last @a
      In an equation for ‘toHKD’:
          toHKD = Data.Vinyl.XRec.$dmtoHKD @Last @a
    |
172 | instance IsoHKD Last a where
    |          ^^^^^^^^^^^^^

/Users/sakai/src/vinyl-0.12.1/Data/Vinyl/XRec.hs:173:10: error:
    • Expecting one more argument to ‘(,) a’
      Expected a type, but ‘(,) a’ has kind ‘* -> *’
    • In the type ‘(,) a’
      In the expression: Data.Vinyl.XRec.$dmunHKD @(,) a @b
      In an equation for ‘unHKD’:
          unHKD = Data.Vinyl.XRec.$dmunHKD @(,) a @b
    |
173 | instance IsoHKD ((,) a) b where
    |          ^^^^^^^^^^^^^^^^

/Users/sakai/src/vinyl-0.12.1/Data/Vinyl/XRec.hs:173:10: error:
    • Expecting one more argument to ‘(,) a’
      Expected a type, but ‘(,) a’ has kind ‘* -> *’
    • In the type ‘(,) a’
      In the expression: Data.Vinyl.XRec.$dmtoHKD @(,) a @b
      In an equation for ‘toHKD’:
          toHKD = Data.Vinyl.XRec.$dmtoHKD @(,) a @b
    |
173 | instance IsoHKD ((,) a) b where
    |          ^^^^^^^^^^^^^^^^

I guess that GHC-8.2.2 has problem in handling PolyKinds and DefaultSignatures.

mstksg commented 4 years ago

I believe #130 drops dupport for 8.2 and below, due to having to adapt to the way 8.8 handles kind variable scoping. This might have to be updated in the bounds for base

acowley commented 4 years ago

Indeed, sorry for the confusion, @msakai. I hope one of the more recent GHCs is an option for you!

msakai commented 4 years ago

No problem! Thanks for the quick replies.

Lysxia commented 4 years ago

Hello! Could a revision also be made for 0.12.0? I had some CI fail because it tries to upgrade to this incompatible version.

acowley commented 4 years ago

@Lysxia Done!

Lysxia commented 4 years ago

Thank you very much!