Kernel-E
From Erights
(Difference between revisions)
(upload objects-in-kernel notes) |
Kevin Reid (Talk | contribs) (beginning of kernel-e spec -- node type list) |
||
Line 1: | Line 1: | ||
- | |||
- | |||
- | |||
- | |||
== Node classes == | == Node classes == | ||
Line 35: | Line 31: | ||
** [[EScriptoid]] (abstract) (proposed) — defines the behavior of an [[ObjectExpr]] | ** [[EScriptoid]] (abstract) (proposed) — defines the behavior of an [[ObjectExpr]] | ||
*** [[EMatcher]] — various uses | *** [[EMatcher]] — various uses | ||
- | *** [[EScript]] — object behavior as a set of [[ | + | *** [[EScript]] — object behavior as a set of methods |
- | ** [[EMethod]] | + | ** [[EMethodoid]] (abstract) (proposed) — members of an [[EScript]] |
+ | *** [[EMethod]] | ||
** [[AuditorExprs]] (proposed) — see [[ObjectExpr]] | ** [[AuditorExprs]] (proposed) — see [[ObjectExpr]] | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
[[Category: E language specification]] | [[Category: E language specification]] |
Revision as of 03:12, 4 January 2009
Node classes
The following node types may occur in a Kernel-E program. The hierarchy indicates subtype relationships.
- ENode (abstract)
- EExpr (abstract) — evaluate to a value
- AssignExpr — assignment
- BindingExpr (given guard-based auditing) — extract binding of a noun
- CallExpr
- CatchExpr
- DefineExpr — match a pattern against a value
- EscapeExpr — nonlocal exits
- FinallyExpr — cleanup block
- HideExpr
- IfExpr
- LiteralExpr
- MetaContextExpr
- MetaStateExpr
- NounExpr
- ObjectExpr — create an object
- SeqExpr — evaluate in order, return last value
- UnspecifiedExpr — placeholder for signature redactions
- Pattern (abstract) — match a value and succeed or fail
- NounPattern — patterns which bind one noun
- BindingPattern (given guard-based auditing) — bind to a given binding object
- FinalPattern — bind to a FinalSlot with a given value
- VarPattern — bind to a VarSlot or GuardedSlot with a given value
- IgnorePattern — discard value, possibly testing with a guard first
- ListPattern — match each part of a tuple
- ViaPattern — transform the specimen
- NounPattern — patterns which bind one noun
- EScriptoid (abstract) (proposed) — defines the behavior of an ObjectExpr
- EMethodoid (abstract) (proposed) — members of an EScript
- AuditorExprs (proposed) — see ObjectExpr
- EExpr (abstract) — evaluate to a value