Skip to content

Instantly share code, notes, and snippets.

@puffnfresh
Created August 13, 2018 11:41
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 puffnfresh/2fefbab39dc13fa70f3218e84e0ea80b to your computer and use it in GitHub Desktop.
Save puffnfresh/2fefbab39dc13fa70f3218e84e0ea80b to your computer and use it in GitHub Desktop.
Prelude Language.Haskell.TH.Cleanup Generics.Deriving.TH
λ data X = A | B
Prelude Language.Haskell.TH.Cleanup Generics.Deriving.TH
λ putStrLn $(simplifiedTH =<< deriveAll0 ''X)
instance Generic (X :: *)
where type Rep (X :: *) = D1 ('MetaData "X" "Ghci3" "interactive" 'False) (:+: (C1 ('MetaCons "A" 'PrefixI 'False) U1) (C1 ('MetaCons "B" 'PrefixI 'False) U1))
from val_0 = case val_0 of
y_1 -> M1 (case y_1 of
A -> L1 (M1 U1)
B -> R1 (M1 U1))
to val_2 = case val_2 of
M1 y_3 -> case y_3 of
L1 (M1 (U1)) -> A
R1 (M1 (U1)) -> B
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment