Tunes HLL Semantic Primitives

The HLL provides a set of basic constructors. This set should enable it to emulate any kind of other set of constructors. Editor's Note: we need more reasons than just this to pick a set of pseudo-primitives.

Applying Functions

Abstracting terms

The next basic constructor is typed abstraction on any sub-object of an expression, using any type system, which allows the creation of new functions, i.e. lambda-expressions, from an arbitrarily (but strongly) typed lambda calculus, which gives something like:
lambda (x).sin(2*x+1)
method (x) ; sin(2*x+1) ; end method ; (using Dylan syntax)
fun x -> sin(2. *. x +. 1.) (using OCAML syntax)
[x:Real] sin(2.0 *. x +. 1.0) (using Coq syntax)

Defining typed constructors

Evaluation strategy