[e-lang] A thought experiment: Minimal-E

Kevin Reid kpreid at mac.com
Sun Jul 2 19:47:36 EDT 2006


AssignExpr

   a := b
   def r__1 := b; &a.setValue(r__1); r__1

CallExpr is in Minimal-E.

CatchExpr

   try { a } catch b { c }
   __Mcatch(fn { a }, fn b { c })

CdrPattern

   [a] + b
   via (__Mcdr(1)) [a, b]

DefineExpr, EMatcher, EMethod, EScript are in Minimal-E.

EscapeExpr

   escape a { b } catch c { d }
   __Mescape("a", fn a { b }, fn c { d })

FinalPattern

   a
   via (__Mfinal) &a

FinallyExpr

   try { a } finally { b }
   __Mfinally(fn { a }, fn { b })

HideExpr

   { a }
   fn { a }()

IfExpr

   if (a) { b } else { c }
   __Mif({[a, fn { b }]}, fn { c })

IgnorePattern

   _
   __1

ListPattern is in Minimal-E.

LiteralExpr

   1.0
   __MlitInt."1.0"()

   "abc"
   __MlitString.abc()

   'a'
   __MlitChar.a()

MetaContextExpr, MetaStateExpr are in Minimal-E if they are in Kernel-E.

NounExpr

   a
   (&a).getValue()

ObjectExpr is in Minimal-E.

SeqExpr

   a; b
   __Mseq(a, b)

SlotExpr, SlotPattern are in Minimal-E.

VarPattern

   var x
   via (__MvarSlot) &x

ViaPattern is in Minimal-E.

-- 
Kevin Reid                           <http://homepage.mac.com/kpreid/>




More information about the e-lang mailing list