Copyright | Kei Hibino 2012 |
---|---|
License | BSD3 |
Maintainer | ex8k.hibino@gmail.com |
Stability | experimental |
Portability | unknown |
Safe Haskell | Safe |
Language | Haskell98 |
This module contains utility combinators for Control.Isomorphism.Partial
.
- iso :: (a -> b) -> (b -> a) -> Iso a b
- apply' :: Iso alpha beta -> alpha -> Maybe beta
- unapply' :: Iso alpha beta -> beta -> Maybe alpha
- mayAppend' :: Iso (a, b) c -> Iso a c -> Iso (a, Maybe b) c
- (||?) :: Iso (a, b) c -> Iso a c -> Iso (a, Maybe b) c
- mayAppend :: Iso (a, b) a -> Iso (a, Maybe b) a
- mayPrepend' :: Iso (a, b) c -> Iso b c -> Iso (Maybe a, b) c
- (?||) :: Iso (a, b) c -> Iso b c -> Iso (Maybe a, b) c
- mayPrepend :: Iso (a, b) b -> Iso (Maybe a, b) b
Documentation
mayAppend' :: Iso (a, b) c -> Iso a c -> Iso (a, Maybe b) c Source
May construct or destruct with postfix term.
(||?) :: Iso (a, b) c -> Iso a c -> Iso (a, Maybe b) c infixr 6 Source
Operator version of mayAppend'
.
mayPrepend' :: Iso (a, b) c -> Iso b c -> Iso (Maybe a, b) c Source
May construct or destruct with prefix term.
(?||) :: Iso (a, b) c -> Iso b c -> Iso (Maybe a, b) c infixl 6 Source
Operator version of mayPrepend'
.
mayPrepend :: Iso (a, b) b -> Iso (Maybe a, b) b Source
Restricted version of mayPrepend'
.