Skip to content

WASM: Priority list of runtime & operators #133

@jeromesimeon

Description

@jeromesimeon

Part of #153.

Operators

  • EJsonOpNot
  • EJsonOpNeg
  • EJsonOpAnd
  • EJsonOpOr
  • EJsonOpLt
  • EJsonOpLe
  • EJsonOpGt
  • EJsonOpGe
  • EJsonOpAddString
  • EJsonOpAddNumber
  • EJsonOpSub
  • EJsonOpMult
  • EJsonOpDiv
  • EJsonOpStrictEqual ( currently = EJsonRuntimeEqual)
  • EJsonOpStrictDisequal ( currently = not EJsonRuntimeEqual)
  • EJsonOpArray (n-ary, handled by compiler)
  • EJsonOpArrayLength
  • EJsonOpArrayPush
  • EJsonOpArrayAccess
  • EJsonOpObject _ (n-ary, handled by compiler)
  • EJsonOpAccess _
  • EJsonOpHasOwnProperty _
  • EJsonOpMathMin
  • EJsonOpMathMax
  • EJsonOpMathPow
  • EJsonOpMathExp
  • EJsonOpMathAbs
  • EJsonOpMathLog
  • EJsonOpMathLog10
  • EJsonOpMathSqrt
  • EJsonOpMathCeil
  • EJsonOpMathFloor
  • EJsonOpMathTrunc

Runtime

  • EJsonRuntimeEqual (** XXX First *)
  • EJsonRuntimeCompare
  • EJsonRuntimeToString ( XXX Third )
  • EJsonRuntimeToText ( will be removed )

Record

  • EJsonRuntimeRecConcat (** XXX First *)
  • EJsonRuntimeRecMerge (** XXX Second *)
  • EJsonRuntimeRecRemove (** XXX Second *)
  • EJsonRuntimeRecProject (** XXX Second *)
  • EJsonRuntimeRecDot (** XXX First *) ( = EJsonOpAccess)

Array

  • EJsonRuntimeArray (n-ary, handled by compiler) = EJsonOpArray
  • EJsonRuntimeArrayLength (= EJsonOpArrayLength)
  • EJsonRuntimeArrayPush (** XXX Third = EJsonOpArrayPush **)
  • EJsonRuntimeArrayAccess (** XXX Third = EJsonOpArrayAccess **)

Sum

  • EJsonRuntimeEither (** XXX First *)
  • EJsonRuntimeToLeft (** XXX First *)
  • EJsonRuntimeToRight (** XXX First *)

Brand

  • EJsonRuntimeBrand (** XXX Second -- not existing / eliminated? *)
  • EJsonRuntimeUnbrand (** XXX Second -- eliminate with runtimeRecDot "$data" ? *)
  • EJsonRuntimeCast (** XXX Second -- maybe eliminate *)

Collection

  • EJsonRuntimeDistinct
  • EJsonRuntimeSingleton (** XXX Second *)
  • EJsonRuntimeFlatten (** XXX Second *)
  • EJsonRuntimeUnion (** XXX Second *)
  • EJsonRuntimeMinus (** XXX Second *)
  • EJsonRuntimeMin
  • EJsonRuntimeMax
  • EJsonRuntimeNth (** XXX Second *)
  • EJsonRuntimeCount (** XXX Second *) ( redundant with OpArrayLength )
  • EJsonRuntimeContains
  • EJsonRuntimeSort (** XXX Ignore *)
  • EJsonRuntimeGroupBy (** XXX Ignore *)

String

  • EJsonRuntimeLength
  • EJsonRuntimeSubstring
  • EJsonRuntimeSubstringEnd
  • EJsonRuntimeStringJoin
  • EJsonRuntimeLike (** XXX Not used in Ergo *)

Integer

  • EJsonRuntimeNatLt
  • EJsonRuntimeNatLe
  • EJsonRuntimeNatPlus
  • EJsonRuntimeNatMinus
  • EJsonRuntimeNatMult
  • EJsonRuntimeNatDiv
  • EJsonRuntimeNatRem
  • EJsonRuntimeNatAbs
  • EJsonRuntimeNatLog2
  • EJsonRuntimeNatSqrt
  • EJsonRuntimeNatMinPair
  • EJsonRuntimeNatMaxPair
  • EJsonRuntimeNatSum
  • EJsonRuntimeNatMin
  • EJsonRuntimeNatMax
  • EJsonRuntimeNatArithMean
  • EJsonRuntimeFloatOfNat

Float

  • EJsonRuntimeFloatSum
  • EJsonRuntimeFloatArithMean
  • EJsonRuntimeFloatMin
  • EJsonRuntimeFloatMax
  • EJsonRuntimeNatOfFloat

Foreign

  • EJsonRuntimeForeign ( to be implemented before toString )

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions