MagicHaskeller-0.9.6.4.5: Automatic inductive functional programmer by systematic search

Safe HaskellNone
LanguageHaskell98

MagicHaskeller.Expression

Documentation

data MemoExpr Source

Constructors

ME CoreExpr Dynamic Dynamic 

aeToME :: TyConLib -> RTrie -> Type -> AnnExpr -> MemoExpr Source

class (Ord e, Show e) => Expression e where Source

Methods

mkHead :: (Integral i, Integral j) => (CoreExpr -> Dynamic) -> i -> j -> CoreExpr -> e Source

toCE :: e -> CoreExpr Source

fromCE :: (CoreExpr -> Dynamic) -> CoreExpr -> e Source

mapCE :: (CoreExpr -> CoreExpr) -> e -> e Source

aeAppErr :: String -> e -> e -> e Source

appEnv :: Int8 -> e -> e -> e Source

toAnnExpr :: (CoreExpr -> Dynamic) -> e -> AnnExpr Source

toAnnExprWind :: (CoreExpr -> Dynamic) -> Type -> e -> AnnExpr Source

toAnnExprWindWind :: (CoreExpr -> Dynamic) -> Type -> e -> AnnExpr Source

fromAnnExpr :: AnnExpr -> e Source

reorganize :: Monad m => ([Type] -> m [e]) -> [Type] -> m [e] Source

reorganize' :: Monad m => ([Type] -> m [e]) -> [Type] -> m [e] Source

reorganizeId :: ([Type] -> [e]) -> [Type] -> [e] Source

replaceVars' :: Int8 -> e -> [Int8] -> e Source

reorganizeId' :: Functor m => ([Type] -> m e) -> [Type] -> m e Source

(<$>) :: Expression e => e -> e -> e Source

mkHeadAE :: (CoreExpr -> Dynamic) -> Int8 -> Int8 -> CoreExpr -> AnnExpr Source

dynSn :: Int8 -> Dynamic Source

getDyn :: Int8 -> Int8 -> Dynamic Source

mkDyn :: Int8 -> Int8 -> Dynamic Source

dynss :: [[Dynamic]] Source

x :: Integral i => i -> Dynamic Source

finiteDynss :: [[Dynamic]] Source

finiteDynsss :: [[[Dynamic]]] Source

dynsss :: [[[Dynamic]]] Source

dynBK :: Dynamic Source

reorganizer :: Monad m => ([Type] -> m [CoreExpr]) -> [Type] -> m [CoreExpr] Source

reorganizerId :: ([Type] -> [CoreExpr]) -> [Type] -> [CoreExpr] Source

cvtAvails :: [Type] -> ([Type], [[Int8]]) Source

tkr10 :: [(Type, a)] -> [(Type, [a])] Source

annotate :: [Type] -> [(Type, Int8)] Source

reorganizeCE' :: Monad m => ([Type] -> m [CoreExpr]) -> [Type] -> m [CoreExpr] Source

cvtAvails' :: [Type] -> ([Int8], [Type]) Source

uniqSorter :: Expression e => [(e, Int)] -> [(e, Int)] Source

uniqSortPatAVL :: Expression e => [(e, Int)] -> [(e, Int)] Source

uniqSort :: Ord a => [a] -> [a] Source

uniqSortAVL :: Ord a => [a] -> [a] Source

swapUniqSort :: (Ord a, Ord b) => [(a, b)] -> [(a, b)] Source

mkEs :: Int -> Q [Name] Source

mkAs :: Int -> Q [Name] Source

mkXs :: Int -> Q [Name] Source

hdmnty :: Int8 -> Int8 -> Type Source

aimnty :: Int8 -> Int8 -> Int8 -> Type Source

mkTV :: TyVar -> Type Source

tvrs :: [Type] Source

tvas :: [Type] Source

tvr :: Type Source

mkCE Source

Arguments

:: Int8

length of avails

-> Int8

arity of the head function

-> CoreExpr