next up previous contents
Next: Feature Terms Up: Overview Previous: Basic Syntax


In this glossary, terms appearing in boldface indicate they are defined in the glossary. We will use term as a shorthand for feature term.

Anonymous terms --
A term that has no identifier, it can be referenced only by its position (as a subterm of other terms). For instance in (define (person Jack) (girlfriend (define (girl)))) the girlfriend of Jack is anonymous and can only be referenced by (>> girlfriend of Jack).

Any --
The highest constituent in the refinement hierarchy for constant terms. Definitions that elide naming a constituent are constructed as a refinement of any. So (define foo) is just a short syntax from (define (any foo)).

Constant term --
A feature term that is not a method-i.e. is not evaluable.
Constituent --
The constituent of a term is the identifier of that from which it has been constructed by refinement.

Description --
The syntax for constructing feature terms. The textual representation (define A (X (define (Y))) ...) that constructs the corresponding feature term. The outmost define is called root (A in the example). Relative path references appearing in the description are relative to the root.

Ephemeral term --
A term that is not memorized--and thus is not amenable to retrieval.

Equality constraints --
Path equality in feature terms is equivalent variable binding. See Chapter 3.

Failure --
When a global failure occurs, the token fail is returned This occurs when no value can be inferred that satisfies any set of equality constraints. In a specific subtask, a failure occurs when no value can be inferred that satisfies the current equality constraints --and causes backtracking at that point.

Feature term --
The basic data structure of Noos. They can be seen as a generalization of first order terms and lambda terms. They are extendable records organized in a subsumption hierarchy. See Chapter 3.

Identifier --
An identifier is a symbol denoting a term. Terms that have an identifier are named terms and others are anonymous terms.

Inheritance --
Inheritance involve two different aspects that are distinguished in Noos: subtyping and code reuse. Subtyping is modeled by subsumption and code reuse is achieved by refinement.

Matching --
See subsumption.

Memorization --
The property of permanent terms to be stored in permanent memory and be amenable to retrieval.

Metalevel --
A feature term in a metalevel relationship with a referent term. See §2.4.

Method --
An evaluable feature term. Formally, a function that receives parameters by feature names. A method term is closed when it possess all required parameters. A non-closed method can be defined by refinement--this is equivalent to partial evaluation or currying. Application of a non-closed method yields an error.

Named Term --
A term with an identifier. A named term can be referenced by its identifier using (>> of NamedTerm) although syntactic sugar allows in some places to only write NamedTerm.

Path reference --
The mechanism by which equality constrains are established. A path reference is a way to refer a term by the position it has as a subterm of another term. An absolute path reference has a form like (>> father mother of jack) while a relative path reference has a form like (>> father mother) and refers to the root of the description it occurs in.

Permanent terms --
Feature terms that are memorized (see memorization) and thus amenable to retrieval.

Root --
The root node of a feature term is the outmost in a description. For instance, the root in (define (person Jack) (girlfriend (define (girl)))) is the node with identifier Jack and constituent person.

Query --
A question that is asked by the system. Usually, a query is asking for a feature value, as in (>> diganosis of patient-33). Since evaluation is lazy, no feature values inferred until a query is performed--and only those feature values needed will be computed.

Reference --
See identifier and path reference.

Referent --
The referent of a metalevel is that term it is metalevel of. The referent of a task is the result value of that task.

Refinement --
An constructor operation that builds a term from another (already defined) term. The constructed term has a root with constituent the identifier of the root of the original term. For instance an alien person from Mars (the PC way to say Martian) can be refined from person as follows: (define (person Martian) (planet Mars)). The root is Martian and has person as constituent. Refinement permits overriding, and in the example Martian overrides planet to be Mars--when formerly had been Earth. Thus, refinement does not imply subsumption. See §2.2.2.

Retrieval --
The capability of referring to permanent terms other than by identifiers or path references.

Slot --
A slot is a pair consisting of a label (or feature name or field name) and a feature value (that can be a feature term, a string, a number or an identifier).

Subsumption --
Checking whether one description implies another. For instance person subsumes (define (person) (age 23)). Subsumption corresponds to logical implication.

Symbol --
See identifier.

Task --
The process of establishing the value of a feature. Noos reifies a task object that maintain some information of the status of a task.

next up previous contents
Next: Feature Terms Up: Overview Previous: Basic Syntax

Enric Plaza
Thu Jan 23 11:36:28 MET 1997