Part of #153. ### Operators - [x] EJsonOpNot - [x] EJsonOpNeg - [x] EJsonOpAnd - [x] EJsonOpOr - [x] EJsonOpLt - [x] EJsonOpLe - [x] EJsonOpGt - [x] EJsonOpGe - [x] EJsonOpAddString - [x] EJsonOpAddNumber - [x] EJsonOpSub - [x] EJsonOpMult - [x] EJsonOpDiv - [x] EJsonOpStrictEqual **( currently = EJsonRuntimeEqual)** - [x] EJsonOpStrictDisequal **( currently = not EJsonRuntimeEqual)** - [x] EJsonOpArray **(n-ary, handled by compiler)** - [x] EJsonOpArrayLength - [x] EJsonOpArrayPush - [x] EJsonOpArrayAccess - [x] EJsonOpObject _ **(n-ary, handled by compiler)** - [x] EJsonOpAccess _ - [x] EJsonOpHasOwnProperty _ - [x] EJsonOpMathMin - [x] EJsonOpMathMax - [x] EJsonOpMathPow - [x] EJsonOpMathExp - [x] EJsonOpMathAbs - [x] EJsonOpMathLog - [x] EJsonOpMathLog10 - [x] EJsonOpMathSqrt - [x] EJsonOpMathCeil - [x] EJsonOpMathFloor - [x] EJsonOpMathTrunc ### Runtime - [x] EJsonRuntimeEqual (** XXX First *) - [x] EJsonRuntimeCompare - [x] EJsonRuntimeToString ( **XXX Third** ) - [ ] EJsonRuntimeToText ( **will be removed** ) #### Record - [x] EJsonRuntimeRecConcat (** XXX First *) - [x] EJsonRuntimeRecMerge (** XXX Second *) - [x] EJsonRuntimeRecRemove (** XXX Second *) - [x] EJsonRuntimeRecProject (** XXX Second *) - [x] EJsonRuntimeRecDot (** XXX First *) ( = EJsonOpAccess) #### Array - [x] EJsonRuntimeArray **(n-ary, handled by compiler)** = EJsonOpArray - [x] EJsonRuntimeArrayLength (= EJsonOpArrayLength) - [x] EJsonRuntimeArrayPush (** XXX Third = EJsonOpArrayPush **) - [x] EJsonRuntimeArrayAccess (** XXX Third = EJsonOpArrayAccess **) #### Sum - [x] EJsonRuntimeEither (** XXX First *) - [x] EJsonRuntimeToLeft (** XXX First *) - [x] EJsonRuntimeToRight (** XXX First *) #### Brand - [x] EJsonRuntimeBrand (** XXX Second -- not existing / eliminated? *) - [x] EJsonRuntimeUnbrand (** XXX Second -- eliminate with `runtimeRecDot "$data"` ? *) - [x] EJsonRuntimeCast (** XXX Second -- maybe eliminate *) #### Collection - [x] EJsonRuntimeDistinct - [x] EJsonRuntimeSingleton (** XXX Second *) - [x] EJsonRuntimeFlatten (** XXX Second *) - [x] EJsonRuntimeUnion (** XXX Second *) - [x] EJsonRuntimeMinus (** XXX Second *) - [x] EJsonRuntimeMin - [x] EJsonRuntimeMax - [x] EJsonRuntimeNth (** XXX Second *) - [x] EJsonRuntimeCount (** XXX Second *) ( **redundant with OpArrayLength** ) - [x] EJsonRuntimeContains - [ ] EJsonRuntimeSort (** XXX Ignore *) - [ ] EJsonRuntimeGroupBy (** XXX Ignore *) #### String - [x] EJsonRuntimeLength - [x] EJsonRuntimeSubstring - [x] EJsonRuntimeSubstringEnd - [x] EJsonRuntimeStringJoin - [x] EJsonRuntimeLike (** XXX Not used in Ergo *) #### Integer - [x] EJsonRuntimeNatLt - [x] EJsonRuntimeNatLe - [x] EJsonRuntimeNatPlus - [x] EJsonRuntimeNatMinus - [x] EJsonRuntimeNatMult - [x] EJsonRuntimeNatDiv - [x] EJsonRuntimeNatRem - [x] EJsonRuntimeNatAbs - [x] EJsonRuntimeNatLog2 - [x] EJsonRuntimeNatSqrt - [x] EJsonRuntimeNatMinPair - [x] EJsonRuntimeNatMaxPair - [x] EJsonRuntimeNatSum - [x] EJsonRuntimeNatMin - [x] EJsonRuntimeNatMax - [x] EJsonRuntimeNatArithMean - [x] EJsonRuntimeFloatOfNat #### Float - [x] EJsonRuntimeFloatSum - [x] EJsonRuntimeFloatArithMean - [x] EJsonRuntimeFloatMin - [x] EJsonRuntimeFloatMax - [x] EJsonRuntimeNatOfFloat #### Foreign - [ ] EJsonRuntimeForeign ( **to be implemented before toString** )
Part of #153.
Operators
Runtime
Record
Array
Sum
Brand
runtimeRecDot "$data"? *)Collection
String
Integer
Float
Foreign