Safe Haskell | None |
---|---|
Language | Haskell2010 |
- isSetter :: (Show s, Show a, Eq s) => Setter' s a -> Gen a -> Gen s -> Gen (a -> a) -> PropertyT IO ()
- isLens :: (Eq a, Eq s, Show a, Show s) => Lens' s a -> Gen a -> Gen s -> Gen (a -> a) -> PropertyT IO ()
- isIso :: (Eq a, Eq s, Show a, Show s) => Iso' s a -> Gen a -> Gen s -> Gen (a -> a) -> Gen (s -> s) -> PropertyT IO ()
- isPrism :: (Show s, Show a, Eq s, Eq a) => Prism' s a -> Gen a -> Gen s -> Gen (a -> a) -> PropertyT IO ()
- isTraversal :: (Eq s, Show a, Show s) => Traversal' s a -> Gen a -> Gen s -> Gen (a -> a) -> PropertyT IO ()
Documentation
isSetter :: (Show s, Show a, Eq s) => Setter' s a -> Gen a -> Gen s -> Gen (a -> a) -> PropertyT IO () Source #
A Setter
is only legal if the following 3 laws hold:
set l y (set l x a) ≡ set l y a
over l id ≡ id
over l f . over l g ≡ over l (f . g)
isLens :: (Eq a, Eq s, Show a, Show s) => Lens' s a -> Gen a -> Gen s -> Gen (a -> a) -> PropertyT IO () Source #
isIso :: (Eq a, Eq s, Show a, Show s) => Iso' s a -> Gen a -> Gen s -> Gen (a -> a) -> Gen (s -> s) -> PropertyT IO () Source #
isPrism :: (Show s, Show a, Eq s, Eq a) => Prism' s a -> Gen a -> Gen s -> Gen (a -> a) -> PropertyT IO () Source #