Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import Main
- import qualified Data.Map.Strict as Map
- import Control.Lens
- import Control.Lens.Prism
- data A1 = A1 Int deriving Show
- data A2 = A2 Int deriving Show
- data A3 = A3 Int deriving Show
- data UnifiedA = A1a A1 | A2a A2 | A3a A3 deriving Show
- data Foo = UnifiedA UnifiedA | Foo2 Char
- makePrisms ''Foo
- makePrisms ''UnifiedA
- x = A1 5
- fx = UnifiedA (A1a x)
- fx ^? _UnifiedA . _A1a --Just (A1 5), hoorah
- fx ^? _A1a -- nope
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement