egison-3.5.5: Programming language with non-linear pattern-matching against unfree data

CopyrightSatoshi Egi
LicenseMIT
Safe HaskellNone
LanguageHaskell98

Language.Egison.Types

Contents

Description

This module contains type definitions of Egison Data.

Synopsis

Egison expressions

Egison values

Internal data

type ObjectRef = IORef Object Source

For memoization

Environment

Pattern matching

data PMMode Source

Constructors

BFSMode 
DFSMode 

Instances

Errors

liftError :: MonadError e m => Either e a -> m a Source

Monads

newtype FreshT m a Source

Constructors

FreshT 

Fields

unFreshT :: StateT Int m a
 

runFreshT :: Monad m => Int -> FreshT m a -> m (a, Int) Source

data MList m a Source

Constructors

MNil 
MCons a (m (MList m a)) 

Instances

Show (MList m a) 

fromList :: Monad m => [a] -> MList m a Source

fromSeq :: Monad m => Seq a -> MList m a Source

fromMList :: Monad m => MList m a -> m [a] Source

msingleton :: Monad m => a -> MList m a Source

mfoldr :: Monad m => (a -> m b -> m b) -> m b -> MList m a -> m b Source

mappend :: Monad m => MList m a -> m (MList m a) -> m (MList m a) Source

mconcat :: Monad m => MList m (MList m a) -> m (MList m a) Source

mmap :: Monad m => (a -> m b) -> MList m a -> m (MList m b) Source

mfor :: Monad m => MList m a -> (a -> m b) -> m (MList m b) Source