Funcons.EDSL

Funcon representation

data Funcons

data Values

data Types

data ComputationTypes

data SeqSortOp

applyFuncon

Smart construction of funcon terms

Funcon terms

list_

tuple_

set_

map_empty_

empty_tuple_

Values

int_

nat_

string_

Types

values_

integers_

strings_

unicode_characters_

Pretty-print funcon terms

showValues

showFuncons

showTypes

Is a funcon term a certain value?

isVal

isString

isInt

isNat

isList

isMap

isType

isVec

isAscii

isChar

isTup

isId

isThunk

Up and downcasting between funcon terms

downcastValue

downcastType

downcastValueType

upcastNaturals

upcastIntegers

upcastRationals

upcastUnicode

Evaluation functions

data EvalFunction

data Strictness

type StrictFuncon

type PartiallyStrictFuncon

type NonStrictFuncon

type ValueOp

type NullaryFuncon

Funcon libraries

type FunconLibrary

libEmpty

libUnion

libUnions

libFromList

library

Implicit & modular propagation of entities

data MSOS a

data Rewrite a

data Rewritten

Helpers to create rewrites & step rules

rewriteTo

stepTo

compstep

rewritten

premiseStep

premiseEval

norule

sortErr

partialOp

Entities and entity access

type Inherited

getInh

withInh

type Mutable

getMut

putMut

type Output

writeOut

readOut

type Control

raiseSignal

receiveSignal

type Input m

consumeInput

withExtraInput

withExactInput

CBS compilation

Funcon representation with meta-variables

data FTerm

type Env

emptyEnv

Defining rules

rewriteTermTo

stepTermTo

premise

Entity access

withInhTerm

getInhPatt

putMutTerm

getMutPatt

writeOutTerm

readOutPatt

receiveSignalPatt

raiseTerm

assignInput

withExtraInputTerms

withExactInputTerms

Backtracking

evalRules

data SideCondition

sideCondition

lifted_sideCondition

Pattern Matching

data VPattern

data FPattern

vsMatch

fsMatch

lifted_vsMatch

lifted_fsMatch

Tools for creating interpreters

Helpers for defining evaluation functions.

rewriteType

Default entity values

type EntityDefaults

data EntityDefault

Type environments

type TypeEnv

data DataTypeMembers

data DataTypeAlt

typeLookup

typeEnvUnion

typeEnvUnions

typeEnvFromList

emptyTypeEnv