Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
pBuiltin :: FNameTag -> Either (d1, [(FNameTag, d)]) d2 -> [ParPat_ (Either (d1, [(SIName, d)]) d2)] -> ParPat_ (Either (d1, [(SIName, d)]) d2) Source #
cList :: Num d2 => ParPat_ (Either (d1, [(SIName, d)]) d2) -> ParPat_ (Either (d1, [(SIName, d)]) d2) Source #
cHList :: Num d2 => ParPat_ (Either (d1, [(SIName, d)]) d2) -> ParPat_ (Either (d1, [(SIName, d)]) d2) Source #
cSucc :: (Num d, Num t) => ParPat_ (Either ((SName, t), [(SIName, d)]) d1) -> ParPat_ (Either ((SName, t), [(SIName, d)]) d1) Source #
cCons :: (Num d, Num t) => ParPat_ (Either ((SName, t), [(SIName, d)]) d1) -> ParPat_ (Either ((SName, t), [(SIName, d)]) d1) -> ParPat_ (Either ((SName, t), [(SIName, d)]) d1) Source #
cHCons :: (Num d, Num t, IsString t1) => ParPat_ (Either ((t1, t), [(SIName, d)]) d1) -> ParPat_ (Either ((t1, t), [(SIName, d)]) d1) -> ParPat_ (Either ((t1, t), [(SIName, d)]) d1) Source #
runPMC :: MonadWriter [ParseCheck] m => Maybe SIName -> [(Visibility, SExp)] -> PMC a -> m a Source #
type GuardTrees = Lets GuardTree Source #
mapGT :: (Int -> ParPat -> ParPat) -> (Int -> SExp -> SExp) -> Int -> GuardTree -> GuardTree Source #
mapGTs :: (Int -> ParPat -> ParPat) -> (Int -> SExp -> SExp) -> Int -> Lets GuardTree -> Lets GuardTree Source #
guardNode :: Pat -> SExp -> GuardTrees -> GuardTrees Source #
buildNode :: (Rearrange t1, Rearrange b, PatVars t1) => (t1 -> SExp' t -> b -> b) -> Int -> [t1] -> [Int] -> b -> b Source #
compilePatts :: [ParPat] -> GuardTrees -> GuardTrees Source #
compileGuardTree :: MonadWriter [ParseCheck] m => (SExp -> SExp) -> (SExp -> SExp) -> Maybe SIName -> [(Visibility, SExp)] -> GuardTrees -> m SExp Source #
compileGuardTrees :: MonadWriter [ParseCheck] m => (SExp -> SExp) -> Maybe SIName -> [(Visibility, SExp)] -> [GuardTrees] -> m SExp Source #
compileGuardTrees' :: (MonadWriter [ParseCheck] f, Traversable t) => t1 -> [(Visibility, SExp)] -> t GuardTrees -> f (SExp' Void) Source #
compileCase :: MonadWriter [ParseCheck] f => SExp' Void -> [(ParPat, GuardTrees)] -> f (SExp' Void) Source #
patLam :: MonadWriter [ParseCheck] m => (SExp -> SExp) -> (Visibility, SExp) -> ParPat -> SExp -> m SExp Source #