...objects
Currently, ``object'' is an overloaded term in computer science. To many people it implies a conceptual complex of classes, methods and inheritance. We are not implying this-and Chapter 3 will discuss our approach to ``object-orientation''. The reader can take the term in an uninterpreted way-such as ``point'' in geometry.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...define
The Scheme language also uses the define token as a naming convention for giving names to 3#3-terms-much as Lisp uses defun. The Noos usage of define is not to be taken as equivalent to that of Scheme.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...position
This is the main difference between feature terms and other terms like first-order terms and 3#3-terms, see Chapter 3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...10#10
Notice that in defining John the mother slot is overridden by the factual description that Mary is the mother. Because of this overriding the mother of John need not obey the constraint in mother of person
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...root
The expression (>>) plays a similar role to that of the self variable in a number of object-oriented languages. However, (>>) does not require a special semantics (as late-binding semantics for methods with respect to the self variable).
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...false
Both true and false are the boolean constants in the Noos language.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...state
Lisp and Scheme are not purely declarative languages: destructive assignment destroys transparential referency and thus stateful computation is needed to be packaged inside a closure as the set of bindings that wrap a particular function.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...reified
The idiom (reify of reference) may remind the reader of the Lisp idiom based on pseudoquoting (the backquote syntax).
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...more
When using together metalevels and refinement we have to take into account that refinement is prior to metalevel. Intuitively, refinement is direct and metalevel involves performing some inference. The reason is that (1) refinement directly copies (albeit in a lazy way) the definitions of the constituent and that (2) metalevel inference only takes place whenever no definition for a feature is specified. In other words, if there are two different definitions for a feature, one in a constituent and one in the metalevel, only the definition on the constituent will be used and the metalevel will not be used for that feature.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...methods
In this sense, metalevel methods can be seen as higher order-functions: functions that return other functions. Notice, however, that clustering them together in metalevels offers a modular philosophy to the use of higher order-functions that is idiosyncratic to Noos
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...man
These methods can take into account nationality of persons to provide a correct answer.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...tower
Any other default would be useless since the first one would act on all unspecified features.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...terms
Intuitively, a term 64#64 subsumes a term 65#65, written 66#66, when all that is true of 64#64 is also true of 65#65-i. e. that all information contained in 64#64 is also contained of 65#65, that may have more information, but not less or no contradictory information. More on Chapter 3.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

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