egison-4.1.3: Programming language with non-linear pattern-matching against non-free data
LicenseMIT
Safe HaskellNone
LanguageHaskell2010

Language.Egison.Data

Description

This module contains definitions for Egison internal data.

Synopsis

Egison values

data EgisonValue Source #

class EgisonData a where Source #

Instances

Instances details
EgisonData Bool Source # 
Instance details

Defined in Language.Egison.Data

EgisonData Char Source # 
Instance details

Defined in Language.Egison.Data

EgisonData Double Source # 
Instance details

Defined in Language.Egison.Data

EgisonData Integer Source # 
Instance details

Defined in Language.Egison.Data

EgisonData Rational Source # 
Instance details

Defined in Language.Egison.Data

EgisonData () Source # 
Instance details

Defined in Language.Egison.Data

EgisonData Handle Source # 
Instance details

Defined in Language.Egison.Data

EgisonData Text Source # 
Instance details

Defined in Language.Egison.Data

EgisonData a => EgisonData [a] Source # 
Instance details

Defined in Language.Egison.Data

EgisonData (IORef EgisonValue) Source # 
Instance details

Defined in Language.Egison.Data

(EgisonData a, EgisonData b) => EgisonData (a, b) Source # 
Instance details

Defined in Language.Egison.Data

Methods

toEgison :: (a, b) -> EgisonValue Source #

fromEgison :: EgisonValue -> EvalM (a, b) Source #

(EgisonData a, EgisonData b, EgisonData c) => EgisonData (a, b, c) Source # 
Instance details

Defined in Language.Egison.Data

Methods

toEgison :: (a, b, c) -> EgisonValue Source #

fromEgison :: EgisonValue -> EvalM (a, b, c) Source #

(EgisonData a, EgisonData b, EgisonData c, EgisonData d) => EgisonData (a, b, c, d) Source # 
Instance details

Defined in Language.Egison.Data

Methods

toEgison :: (a, b, c, d) -> EgisonValue Source #

fromEgison :: EgisonValue -> EvalM (a, b, c, d) Source #

data Tensor a Source #

Constructors

Tensor Shape (Vector a) [Index EgisonValue] 
Scalar a 

Instances

Instances details
Show a => Show (Tensor a) Source # 
Instance details

Defined in Language.Egison.Data

Methods

showsPrec :: Int -> Tensor a -> ShowS #

show :: Tensor a -> String #

showList :: [Tensor a] -> ShowS #

ToMathExpr a => ToMathExpr (Tensor a) Source # 
Instance details

Defined in Language.Egison.PrettyMath.AST

Scalar

Internal data

data Object Source #

Constructors

Thunk (EvalM WHNFData) 
WHNF WHNFData 

Instances

Instances details
Show Object Source # 
Instance details

Defined in Language.Egison.Data

Show ObjectRef Source # 
Instance details

Defined in Language.Egison.Data

TensorComponent WHNFData ObjectRef Source # 
Instance details

Defined in Language.Egison.Tensor

type ObjectRef = IORef Object Source #

For memoization

Environment

Errors

Monads

type EvalM = EvalT RuntimeM Source #