Kernel-E

From Erights

(Difference between revisions)
Jump to: navigation, search
(beginning of kernel-e spec -- node type list)
(upload objects-in-kernel notes)
 
Line 1: Line 1:
 +
Kernel-E is the subset of the E language which is understood by evaluators. Full E is converted to Kernel-E by ''expansion''.
 +
 +
{{XXX|needs more info}}
 +
== Node classes ==
== Node classes ==
Line 31: Line 35:
** [[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 methods
+
*** [[EScript]] — object behavior as a set of [[EMethod]]
-
** [[EMethodoid]] (abstract) (proposed) — members of an [[EScript]]
+
** [[EMethod]]
-
*** [[EMethod]]
+
** [[AuditorExprs]] (proposed) — see [[ObjectExpr]]
** [[AuditorExprs]] (proposed) — see [[ObjectExpr]]
 +
 +
== Formerly kernel nodes ==
 +
 +
These node types were once part of Kernel-E but have been removed or made non-kernel.
 +
 +
* [[SlotExpr]], [[SlotPattern]] — now nonkernel in terms of [[BindingExpr]] and [[BindingPattern]]
 +
* [[MatchBindExpr]] — now nonkernel in terms of [[DefineExpr]]
 +
* [[SuchThatPattern]] — now nonkernel in terms of [[ViaPattern]]
 +
 +
== Objects implied by Kernel-E semantics ==
 +
 +
Kernel-E semantics involves the following specific object types:
 +
 +
* A method matcher's pattern is matched against a {{sub|[[Tuple]]|[[String]], [[ConstList]]}}.
 +
* [[IfExpr]] coerces to [[Boolean]].
 +
* [[ListPattern]] coerces to [[ConstList]].
 +
* {{XXX|Details of miranda methods}}.
 +
* {{XXX|Are there any ''kernel'' expressions that return null?}}.
 +
 +
{{XXX|This list may not be complete. The original work here was done in 2006. —[[User:Kevin Reid|Kevin Reid]] 13:01, 13 May 2011 (CDT)}}
 +
[[Category: E language specification]]
[[Category: E language specification]]

Latest revision as of 18:01, 13 May 2011

Kernel-E is the subset of the E language which is understood by evaluators. Full E is converted to Kernel-E by expansion.

XXX needs more info

Node classes

The following node types may occur in a Kernel-E program. The hierarchy indicates subtype relationships.

Formerly kernel nodes

These node types were once part of Kernel-E but have been removed or made non-kernel.

Objects implied by Kernel-E semantics

Kernel-E semantics involves the following specific object types:

XXX This list may not be complete. The original work here was done in 2006. —Kevin Reid 13:01, 13 May 2011 (CDT)

Personal tools
more tools