| Copyright | (C) 2017 Csongor Kiss |
|---|---|
| License | BSD3 |
| Maintainer | Csongor Kiss <kiss.csongor.kiss@gmail.com> |
| Stability | experimental |
| Portability | non-portable |
| Safe Haskell | Safe |
| Language | Haskell2010 |
Data.Generics.Sum.HasConstructor
Description
Derive prisms generically
data FooBar = Foo Int | Bar Int String | Baz (Int, String) | Qux deriving (Show, Generic)
>>>Bar 5 "coconut" ^? as @"Bar"Just (5, "coconut")
>>>Qux ^? as @"Qux"Just ()
>>>as @"Bar" # (5, "asd") :: FooBarBar 5 "asd"