MagicHaskeller-0.9.6.7: Automatic inductive functional programmer by systematic search

Safe HaskellNone
LanguageHaskell98

MagicHaskeller.CoreLang

Contents

Synopsis

Documentation

type Var = Int16 Source #

data CoreExpr Source #

Instances

Eq CoreExpr Source # 
Ord CoreExpr Source # 
Show CoreExpr Source # 
Expression CoreExpr Source # 

Methods

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

toCE :: CoreExpr -> CoreExpr Source #

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

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

aeAppErr :: String -> CoreExpr -> CoreExpr -> CoreExpr Source #

appEnv :: Int8 -> CoreExpr -> CoreExpr -> CoreExpr Source #

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

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

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

fromAnnExpr :: AnnExpr -> CoreExpr Source #

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

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

reorganizeId :: ([Type] -> [CoreExpr]) -> [Type] -> [CoreExpr] Source #

replaceVars' :: Int8 -> CoreExpr -> [Int8] -> CoreExpr Source #

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

decodeVars :: Int -> [Int8] -> CoreExpr -> CoreExpr Source #

ProgramGeneratorIO (PGSFIOR CoreExpr) Source # 

adjustXs :: (Num a, Bits a) => a -> Int8 -> CoreExpr -> CoreExpr Source #

unboundXs :: (Num a, Bits a) => Int8 -> CoreExpr -> a Source #

sub :: Integral i => i -> CoreExpr -> [CoreExpr] Source #

bra :: Integral i => i -> CoreExpr -> [CoreExpr] Source #

parentsOfLeaves :: CoreExpr -> [CoreExpr] Source #

parentsOfLeaves collects branch nodes whose children are leaf nodes. This can be used for incremental learning.

pol :: Integral i => i -> CoreExpr -> [CoreExpr] Source #

napply :: Integral i => i -> (a -> a) -> a -> a Source #

newtype HValue Source #

Constructors

HV (forall a. a) 

primitivesToVL :: TyConLib -> [Primitive] -> VarLib Source #

dynamicsToVL :: [Dynamic] -> VarLib Source #

dynamicsToVL is useful for incremental learning.

listToArray :: (Integral i, Ix i) => [a] -> Array i a Source #

defaultVarLib :: VarLib Source #

defaultVarLib can be used as a VarLib for testing and debugging. Currently this is used only by the analytical synthesizer.

defaultPrimitives :: [Dynamic] Source #

defaultPrimitives is the set of primitives that we want to make sure to appear in VarLib but may not appear in the primitive set with which to synthesize. In other words, it is the set of primitives we want to make sure to assign IDs to.

Orphan instances