Language.Sifflet.Expr

data ArgSpec

aspecsLookup

type EvalResult

data EvalRes e

exprToValue

valueToLiteral

valueToLiteral'

data Symbol

type OStr

type OBool

type OChar

data Expr

eSymbol

eSym

eInt

eString

eChar

eFloat

toLambdaExpr

callToApp

mapply

appToCall

mcall

exprIsAtomic

exprIsCompound

eBool

eFalse

eTrue

eIf

eList

eCall

exprIsLiteral

exprSymbols

exprVarNames

data Operator

type Precedence

data OperatorGrouping

data Value

valueFunction

data Functions

data Function

functionName

functionNArgs

functionArgSpecs

functionArgTypes

functionResultType

functionArgResultTypes

functionType

functionArgNames

functionBody

functionImplementation

type FunctionDefTuple

functionToDef

functionFromDef

data FunctionImpl

type TypeVarName

type TypeConsName

data Type

typeBool

typeChar

typeNum

typeString

typeList

typeFunction

type Env

emptyEnv

makeEnv

extendEnv

envInsertL

envPop

envIns

envSet

envGet

envGetFunction

envLookup

envLookupFunction

envSymbols

envFunctionSymbols

envFunctions

eval

evalWithLimit

stackSize

apply

newUndefinedFunction

ePlus

eTimes

eMinus

eDiv

eMod

eAdd1

eSub1

eEq

eNe

eGt

eGe

eLt

eLe

eZerop

ePositivep

eNegativep

baseEnv