← All posts tagged ghc

fmap
ghc например Как довести ghc до уффкающего состояния:

type family (Loop x) :: [*]
type instance Loop x = Loop x

type family Head (xs :: [*])
type instance Head (x ': xs) = x

{-
> :t undefined :: Head (Loop Int)
undefined :: Head (Loop Int) :: Head uf
-}
fmap
ghc Только что попался забавный баг, который поправили в 7.4.2. Короче если добавить второй контекст у инстанса (например: instance A a => B a => SomeCl (D a) where) то где в renamer бабахал ghc panic.
fmap
Haskell ghc .hs:30:23:
My brain just exploded
I can't handle pattern bindings for existential or GADT data constructors.
Instead, use a case-expression, or do-notation, to unpack the constructor.
После получасовых плясок с типами компилятор решил хоть как-то развеять обстановку.