Kernel-E

From Erights

(Difference between revisions)
Jump to: navigation, search
(upload objects-in-kernel notes)
(beginning of kernel-e spec -- node type list)
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 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 [[EMethod]]
+
*** [[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]]
-
 
-
== 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]]

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.

Personal tools
more tools