Skip to content

Instantly share code, notes, and snippets.

@ramirez7
Created August 31, 2023 23:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ramirez7/45ece180f2a186f2d7f29437e5f60fae to your computer and use it in GitHub Desktop.
Save ramirez7/45ece180f2a186f2d7f29437e5f60fae to your computer and use it in GitHub Desktop.
[armando@nixos:~]$ ghci
GHCi, version 9.2.8: https://www.haskell.org/ghc/ :? for help
Loaded GHCi configuration from /home/armando/.ghci
λ :seti -XDeriveGeneric
λ import GHC.Generics
λ data P = P Int Bool String deriving Generic
λ data S = S1 | S2 | S3 deriving Generic
λ data R = R { x :: Int, y :: Bool, z :: String } deriving Generic
λ data SR = S1 { x1 :: Int } | S2 { y2 :: Bool} | S3 { z3 :: String } deriving Generic
λ :t from
from :: Generic a => a -> Rep a x
λ :k Rep
Rep :: * -> * -> *
λ :i Rep
type Generic :: * -> Constraint
class Generic a where
type Rep :: * -> * -> *
type family Rep a
...
-- Defined in ‘GHC.Generics’
type instance Rep P
= D1
('MetaData "P" "Ghci1" "interactive" 'False)
(C1
('MetaCons "P" 'PrefixI 'False)
(S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 Int)
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 Bool)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 String))))
-- Defined at <interactive>:3:37
type instance Rep S
= D1
('MetaData "S" "Ghci2" "interactive" 'False)
(C1 ('MetaCons "S1" 'PrefixI 'False) U1
:+: (C1 ('MetaCons "S2" 'PrefixI 'False) U1
:+: C1 ('MetaCons "S3" 'PrefixI 'False) U1))
-- Defined at <interactive>:4:33
type instance Rep R
= D1
('MetaData "R" "Ghci3" "interactive" 'False)
(C1
('MetaCons "R" 'PrefixI 'True)
(S1
('MetaSel
('Just "x") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 Int)
:*: (S1
('MetaSel
('Just "y") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 Bool)
:*: S1
('MetaSel
('Just "z") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 String))))
-- Defined at <interactive>:5:58
type instance Rep SR
= D1
('MetaData "SR" "Ghci4" "interactive" 'False)
(C1
('MetaCons "S1" 'PrefixI 'True)
(S1
('MetaSel
('Just "x1")
'NoSourceUnpackedness
'NoSourceStrictness
'DecidedLazy)
(Rec0 Int))
:+: (C1
('MetaCons "S2" 'PrefixI 'True)
(S1
('MetaSel
('Just "y2")
'NoSourceUnpackedness
'NoSourceStrictness
'DecidedLazy)
(Rec0 Bool))
:+: C1
('MetaCons "S3" 'PrefixI 'True)
(S1
('MetaSel
('Just "z3")
'NoSourceUnpackedness
'NoSourceStrictness
'DecidedLazy)
(Rec0 String))))
-- Defined at <interactive>:6:79
type instance Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
= D1
('MetaData "(,,,,,,,,,,,,,,)" "GHC.Tuple" "ghc-prim" 'False)
(C1
('MetaCons "(,,,,,,,,,,,,,,)" 'PrefixI 'False)
(((S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 a)
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 b)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 c)))
:*: ((S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 d)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 e))
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 f)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 g))))
:*: (((S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 h)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 i))
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 j)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 k)))
:*: ((S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 l)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 m))
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 n)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 o))))))
-- Defined in ‘GHC.Generics’
type instance Rep (a, b, c, d, e, f, g, h, i, j, k, l, m, n)
= D1
('MetaData "(,,,,,,,,,,,,,)" "GHC.Tuple" "ghc-prim" 'False)
(C1
('MetaCons "(,,,,,,,,,,,,,)" 'PrefixI 'False)
(((S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 a)
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 b)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 c)))
:*: ((S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 d)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 e))
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 f)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 g))))
:*: ((S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 h)
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 i)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 j)))
:*: ((S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 k)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 l))
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 m)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 n))))))
-- Defined in ‘GHC.Generics’
type instance Rep (a, b, c, d, e, f, g, h, i, j, k, l, m)
= D1
('MetaData "(,,,,,,,,,,,,)" "GHC.Tuple" "ghc-prim" 'False)
(C1
('MetaCons "(,,,,,,,,,,,,)" 'PrefixI 'False)
(((S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 a)
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 b)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 c)))
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 d)
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 e)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 f))))
:*: ((S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 g)
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 h)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 i)))
:*: ((S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 j)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 k))
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 l)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 m))))))
-- Defined in ‘GHC.Generics’
type instance Rep (a, b, c, d, e, f, g, h, i, j, k, l)
= D1
('MetaData "(,,,,,,,,,,,)" "GHC.Tuple" "ghc-prim" 'False)
(C1
('MetaCons "(,,,,,,,,,,,)" 'PrefixI 'False)
(((S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 a)
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 b)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 c)))
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 d)
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 e)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 f))))
:*: ((S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 g)
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 h)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 i)))
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 j)
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 k)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 l))))))
-- Defined in ‘GHC.Generics’
type instance Rep (a, b, c, d, e, f, g, h, i, j, k)
= D1
('MetaData "(,,,,,,,,,,)" "GHC.Tuple" "ghc-prim" 'False)
(C1
('MetaCons "(,,,,,,,,,,)" 'PrefixI 'False)
(((S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 a)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 b))
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 c)
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 d)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 e))))
:*: ((S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 f)
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 g)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 h)))
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 i)
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 j)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 k))))))
-- Defined in ‘GHC.Generics’
type instance Rep (a, b, c, d, e, f, g, h, i, j)
= D1
('MetaData "(,,,,,,,,,)" "GHC.Tuple" "ghc-prim" 'False)
(C1
('MetaCons "(,,,,,,,,,)" 'PrefixI 'False)
(((S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 a)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 b))
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 c)
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 d)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 e))))
:*: ((S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 f)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 g))
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 h)
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 i)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 j))))))
-- Defined in ‘GHC.Generics’
type instance Rep (a, b, c, d, e, f, g, h, i)
= D1
('MetaData "(,,,,,,,,)" "GHC.Tuple" "ghc-prim" 'False)
(C1
('MetaCons "(,,,,,,,,)" 'PrefixI 'False)
(((S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 a)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 b))
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 c)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 d)))
:*: ((S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 e)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 f))
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 g)
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 h)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 i))))))
-- Defined in ‘GHC.Generics’
type instance Rep (a, b, c, d, e, f, g, h)
= D1
('MetaData "(,,,,,,,)" "GHC.Tuple" "ghc-prim" 'False)
(C1
('MetaCons "(,,,,,,,)" 'PrefixI 'False)
(((S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 a)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 b))
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 c)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 d)))
:*: ((S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 e)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 f))
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 g)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 h)))))
-- Defined in ‘GHC.Generics’
type instance Rep (a, b, c, d, e, f, g)
= D1
('MetaData "(,,,,,,)" "GHC.Tuple" "ghc-prim" 'False)
(C1
('MetaCons "(,,,,,,)" 'PrefixI 'False)
((S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 a)
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 b)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 c)))
:*: ((S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 d)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 e))
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 f)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 g)))))
-- Defined in ‘GHC.Generics’
type instance Rep (a, b, c, d, e, f)
= D1
('MetaData "(,,,,,)" "GHC.Tuple" "ghc-prim" 'False)
(C1
('MetaCons "(,,,,,)" 'PrefixI 'False)
((S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 a)
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 b)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 c)))
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 d)
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 e)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 f)))))
-- Defined in ‘GHC.Generics’
type instance Rep (a, b, c, d, e)
= D1
('MetaData "(,,,,)" "GHC.Tuple" "ghc-prim" 'False)
(C1
('MetaCons "(,,,,)" 'PrefixI 'False)
((S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 a)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 b))
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 c)
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 d)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 e)))))
-- Defined in ‘GHC.Generics’
type instance Rep (a, b, c, d)
= D1
('MetaData "(,,,)" "GHC.Tuple" "ghc-prim" 'False)
(C1
('MetaCons "(,,,)" 'PrefixI 'False)
((S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 a)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 b))
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 c)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 d))))
-- Defined in ‘GHC.Generics’
type instance Rep (a, b, c)
= D1
('MetaData "(,,)" "GHC.Tuple" "ghc-prim" 'False)
(C1
('MetaCons "(,,)" 'PrefixI 'False)
(S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 a)
:*: (S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 b)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 c))))
-- Defined in ‘GHC.Generics’
type instance Rep (a, b)
= D1
('MetaData "(,)" "GHC.Tuple" "ghc-prim" 'False)
(C1
('MetaCons "(,)" 'PrefixI 'False)
(S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 a)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 b)))
-- Defined in ‘GHC.Generics’
type instance Rep (Solo a)
= D1
('MetaData "Solo" "GHC.Tuple" "ghc-prim" 'False)
(C1
('MetaCons "Solo" 'PrefixI 'False)
(S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 a)))
-- Defined in ‘GHC.Generics’
type instance Rep ()
= D1
('MetaData "()" "GHC.Tuple" "ghc-prim" 'False)
(C1 ('MetaCons "()" 'PrefixI 'False) U1)
-- Defined in ‘GHC.Generics’
type instance Rep Ordering
= D1
('MetaData "Ordering" "GHC.Types" "ghc-prim" 'False)
(C1 ('MetaCons "LT" 'PrefixI 'False) U1
:+: (C1 ('MetaCons "EQ" 'PrefixI 'False) U1
:+: C1 ('MetaCons "GT" 'PrefixI 'False) U1))
-- Defined in ‘GHC.Generics’
type instance Rep Bool
= D1
('MetaData "Bool" "GHC.Types" "ghc-prim" 'False)
(C1 ('MetaCons "False" 'PrefixI 'False) U1
:+: C1 ('MetaCons "True" 'PrefixI 'False) U1)
-- Defined in ‘GHC.Generics’
type instance Rep (Either a b)
= D1
('MetaData "Either" "Data.Either" "base" 'False)
(C1
('MetaCons "Left" 'PrefixI 'False)
(S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 a))
:+: C1
('MetaCons "Right" 'PrefixI 'False)
(S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 b)))
-- Defined in ‘GHC.Generics’
type instance Rep (Maybe a)
= D1
('MetaData "Maybe" "GHC.Maybe" "base" 'False)
(C1 ('MetaCons "Nothing" 'PrefixI 'False) U1
:+: C1
('MetaCons "Just" 'PrefixI 'False)
(S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 a)))
-- Defined in ‘GHC.Generics’
type instance Rep [a]
= D1
('MetaData "[]" "GHC.Types" "ghc-prim" 'False)
(C1 ('MetaCons "[]" 'PrefixI 'False) U1
:+: C1
('MetaCons ":" ('InfixI 'LeftAssociative 9) 'False)
(S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 a)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 [a])))
-- Defined in ‘GHC.Generics’
type instance forall i (c :: Meta) k (f :: k -> *) (p :: k). Rep
(M1 i c f p)
= D1
('MetaData "M1" "GHC.Generics" "base" 'True)
(C1
('MetaCons "M1" 'PrefixI 'True)
(S1
('MetaSel
('Just "unM1")
'NoSourceUnpackedness
'NoSourceStrictness
'DecidedLazy)
(Rec0 (f p))))
-- Defined in ‘GHC.Generics’
type instance forall k (p :: k). Rep (V1 p)
= D1 ('MetaData "V1" "GHC.Generics" "base" 'False) V1
-- Defined in ‘GHC.Generics’
type instance forall k (p :: k). Rep (U1 p)
= D1
('MetaData "U1" "GHC.Generics" "base" 'False)
(C1 ('MetaCons "U1" 'PrefixI 'False) U1)
-- Defined in ‘GHC.Generics’
type instance Rep (Par1 p)
= D1
('MetaData "Par1" "GHC.Generics" "base" 'True)
(C1
('MetaCons "Par1" 'PrefixI 'True)
(S1
('MetaSel
('Just "unPar1")
'NoSourceUnpackedness
'NoSourceStrictness
'DecidedLazy)
(Rec0 p)))
-- Defined in ‘GHC.Generics’
type instance forall k (f :: k -> *) (p :: k). Rep (Rec1 f p)
= D1
('MetaData "Rec1" "GHC.Generics" "base" 'True)
(C1
('MetaCons "Rec1" 'PrefixI 'True)
(S1
('MetaSel
('Just "unRec1")
'NoSourceUnpackedness
'NoSourceStrictness
'DecidedLazy)
(Rec0 (f p))))
-- Defined in ‘GHC.Generics’
type instance forall i c k (p :: k). Rep (K1 i c p)
= D1
('MetaData "K1" "GHC.Generics" "base" 'True)
(C1
('MetaCons "K1" 'PrefixI 'True)
(S1
('MetaSel
('Just "unK1")
'NoSourceUnpackedness
'NoSourceStrictness
'DecidedLazy)
(Rec0 c)))
-- Defined in ‘GHC.Generics’
type instance forall k (f :: k -> *) (g :: k -> *) (p :: k). Rep
((:+:) f g p)
= D1
('MetaData ":+:" "GHC.Generics" "base" 'False)
(C1
('MetaCons "L1" 'PrefixI 'False)
(S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 (f p)))
:+: C1
('MetaCons "R1" 'PrefixI 'False)
(S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 (g p))))
-- Defined in ‘GHC.Generics’
type instance forall k (f :: k -> *) (g :: k -> *) (p :: k). Rep
((:*:) f g p)
= D1
('MetaData ":*:" "GHC.Generics" "base" 'False)
(C1
('MetaCons ":*:" ('InfixI 'RightAssociative 6) 'False)
(S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 (f p))
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 (g p))))
-- Defined in ‘GHC.Generics’
type instance forall k2 (f :: k2 -> *) k1 (g :: k1 -> k2)
(p :: k1). Rep ((:.:) f g p)
= D1
('MetaData ":.:" "GHC.Generics" "base" 'True)
(C1
('MetaCons "Comp1" 'PrefixI 'True)
(S1
('MetaSel
('Just "unComp1")
'NoSourceUnpackedness
'NoSourceStrictness
'DecidedLazy)
(Rec0 (f (g p)))))
-- Defined in ‘GHC.Generics’
type instance forall k (p :: k). Rep (URec Word p)
= D1
('MetaData "URec" "GHC.Generics" "base" 'False)
(C1
('MetaCons "UWord" 'PrefixI 'True)
(S1
('MetaSel
('Just "uWord#")
'NoSourceUnpackedness
'NoSourceStrictness
'DecidedLazy)
UWord))
-- Defined in ‘GHC.Generics’
type instance forall k (p :: k). Rep (URec Int p)
= D1
('MetaData "URec" "GHC.Generics" "base" 'False)
(C1
('MetaCons "UInt" 'PrefixI 'True)
(S1
('MetaSel
('Just "uInt#")
'NoSourceUnpackedness
'NoSourceStrictness
'DecidedLazy)
UInt))
-- Defined in ‘GHC.Generics’
type instance forall k (p :: k). Rep (URec Float p)
= D1
('MetaData "URec" "GHC.Generics" "base" 'False)
(C1
('MetaCons "UFloat" 'PrefixI 'True)
(S1
('MetaSel
('Just "uFloat#")
'NoSourceUnpackedness
'NoSourceStrictness
'DecidedLazy)
UFloat))
-- Defined in ‘GHC.Generics’
type instance forall k (p :: k). Rep (URec Double p)
= D1
('MetaData "URec" "GHC.Generics" "base" 'False)
(C1
('MetaCons "UDouble" 'PrefixI 'True)
(S1
('MetaSel
('Just "uDouble#")
'NoSourceUnpackedness
'NoSourceStrictness
'DecidedLazy)
UDouble))
-- Defined in ‘GHC.Generics’
type instance forall k (p :: k). Rep (URec Char p)
= D1
('MetaData "URec" "GHC.Generics" "base" 'False)
(C1
('MetaCons "UChar" 'PrefixI 'True)
(S1
('MetaSel
('Just "uChar#")
'NoSourceUnpackedness
'NoSourceStrictness
'DecidedLazy)
UChar))
-- Defined in ‘GHC.Generics’
type instance Rep Fixity
= D1
('MetaData "Fixity" "GHC.Generics" "base" 'False)
(C1 ('MetaCons "Prefix" 'PrefixI 'False) U1
:+: C1
('MetaCons "Infix" 'PrefixI 'False)
(S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 Associativity)
:*: S1
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(Rec0 Int)))
-- Defined in ‘GHC.Generics’
type instance Rep Associativity
= D1
('MetaData "Associativity" "GHC.Generics" "base" 'False)
(C1 ('MetaCons "LeftAssociative" 'PrefixI 'False) U1
:+: (C1 ('MetaCons "RightAssociative" 'PrefixI 'False) U1
:+: C1 ('MetaCons "NotAssociative" 'PrefixI 'False) U1))
-- Defined in ‘GHC.Generics’
type instance Rep SourceUnpackedness
= D1
('MetaData "SourceUnpackedness" "GHC.Generics" "base" 'False)
(C1 ('MetaCons "NoSourceUnpackedness" 'PrefixI 'False) U1
:+: (C1 ('MetaCons "SourceNoUnpack" 'PrefixI 'False) U1
:+: C1 ('MetaCons "SourceUnpack" 'PrefixI 'False) U1))
-- Defined in ‘GHC.Generics’
type instance Rep SourceStrictness
= D1
('MetaData "SourceStrictness" "GHC.Generics" "base" 'False)
(C1 ('MetaCons "NoSourceStrictness" 'PrefixI 'False) U1
:+: (C1 ('MetaCons "SourceLazy" 'PrefixI 'False) U1
:+: C1 ('MetaCons "SourceStrict" 'PrefixI 'False) U1))
-- Defined in ‘GHC.Generics’
type instance Rep DecidedStrictness
= D1
('MetaData "DecidedStrictness" "GHC.Generics" "base" 'False)
(C1 ('MetaCons "DecidedLazy" 'PrefixI 'False) U1
:+: (C1 ('MetaCons "DecidedStrict" 'PrefixI 'False) U1
:+: C1 ('MetaCons "DecidedUnpack" 'PrefixI 'False) U1))
-- Defined in ‘GHC.Generics’
λ :kind! Rep P
Rep P :: * -> *
= M1
D
('MetaData "P" "Ghci1" "interactive" 'False)
(M1
C
('MetaCons "P" 'PrefixI 'False)
(M1
GHC.Generics.S
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(K1 GHC.Generics.R Int)
:*: (M1
GHC.Generics.S
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(K1 GHC.Generics.R Bool)
:*: M1
GHC.Generics.S
('MetaSel
'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(K1 GHC.Generics.R [Char]))))
λ -- :kind! evaluates a type family
λ :kind! Rep S
Rep S :: * -> *
= M1
D
('MetaData "S" "Ghci2" "interactive" 'False)
(M1 C ('MetaCons "S1" 'PrefixI 'False) U1
:+: (M1 C ('MetaCons "S2" 'PrefixI 'False) U1
:+: M1 C ('MetaCons "S3" 'PrefixI 'False) U1))
λ :kind! Rep R
Rep R :: * -> *
= M1
D
('MetaData "R" "Ghci3" "interactive" 'False)
(M1
C
('MetaCons "R" 'PrefixI 'True)
(M1
GHC.Generics.S
('MetaSel
('Just "x") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(K1 GHC.Generics.R Int)
:*: (M1
GHC.Generics.S
('MetaSel
('Just "y") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(K1 GHC.Generics.R Bool)
:*: M1
GHC.Generics.S
('MetaSel
('Just "z") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
(K1 GHC.Generics.R [Char]))))
λ :kind! Rep SR
Rep SR :: * -> *
= M1
D
('MetaData "SR" "Ghci4" "interactive" 'False)
(M1
C
('MetaCons "S1" 'PrefixI 'True)
(M1
GHC.Generics.S
('MetaSel
('Just "x1")
'NoSourceUnpackedness
'NoSourceStrictness
'DecidedLazy)
(K1 GHC.Generics.R Int))
:+: (M1
C
('MetaCons "S2" 'PrefixI 'True)
(M1
GHC.Generics.S
('MetaSel
('Just "y2")
'NoSourceUnpackedness
'NoSourceStrictness
'DecidedLazy)
(K1 GHC.Generics.R Bool))
:+: M1
C
('MetaCons "S3" 'PrefixI 'True)
(M1
GHC.Generics.S
('MetaSel
('Just "z3")
'NoSourceUnpackedness
'NoSourceStrictness
'DecidedLazy)
(K1 GHC.Generics.R [Char]))))
λ data SR2 = S1 { x1 :: Int } | S2 { y2 :: Bool, z3 :: String } deriving Generic
λ :kind! Rep SR2
Rep SR2 :: * -> *
= M1
D
('MetaData "SR2" "Ghci5" "interactive" 'False)
(M1
C
('MetaCons "S1" 'PrefixI 'True)
(M1
GHC.Generics.S
('MetaSel
('Just "x1")
'NoSourceUnpackedness
'NoSourceStrictness
'DecidedLazy)
(K1 GHC.Generics.R Int))
:+: M1
C
('MetaCons "S2" 'PrefixI 'True)
(M1
GHC.Generics.S
('MetaSel
('Just "y2")
'NoSourceUnpackedness
'NoSourceStrictness
'DecidedLazy)
(K1 GHC.Generics.R Bool)
:*: M1
GHC.Generics.S
('MetaSel
('Just "z3")
'NoSourceUnpackedness
'NoSourceStrictness
'DecidedLazy)
(K1 GHC.Generics.R [Char])))
λ from $ P 2 True "hi"
M1 {unM1 = M1 {unM1 = M1 {unM1 = K1 {unK1 = 2}} :*: (M1 {unM1 = K1 {unK1 = True}} :*: M1 {unM1 = K1 {unK1 = "hi"}})}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment