Created
August 31, 2023 23:47
-
-
Save ramirez7/45ece180f2a186f2d7f29437e5f60fae to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[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