@@ -12,6 +12,8 @@ data PredefFunc = XProduct | XXProduct | IsEqual | IsNotEqual | Plus --operators
|RecordIndex-- [] operator
|RecordSelect
|IsEmpty|NotEmpty|Contains-- string functions
|And
|Or
deriving(Show,Eq)
...
...
@@ -24,7 +26,6 @@ data PredefFunc = XProduct | XXProduct | IsEqual | IsNotEqual | Plus --operators
dataExpr=ControlExpr[Expr]-- result of last computation, sequence of instructions
|FuncCall{func::Expr,inputSets::[Expr],args::[Expr]}-- args: function to call, input sets, extra argument. Applicable for all kinds of functions: the set functions e.g. filter, map or simple functions or even the operators e.g. ==, /= ! We don't define separate expr for each operator
|FuncDef{inputSetNames::[SymbolName],argsNames::[SymbolName],body::Expr}-- function definition