[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Making atomic trees
I noticed a strange behaviour of Centaur while creating atomic trees
with trees as value (i.e., ({tree}:atom_class <tree>) -> tree):
; Le-Lisp (by INRIA) version 15.24 ( 2/Janv/91) [sun4OS4]
MU-Prolog 3.2 - Typol $Revision: 1.1 $
TYPOL : tables read.
error : tables read.
** loadmodule : load interpreted module : Centaur/tables/Trees/environment
Centaur v.1.2 (2.51.41.63) centaur - Wed May 6 92 18:49:48
= ()
? (setq Trees ({name}:formalism 'Trees))
Trees : tables read.
= #[Trees 0 ((((comment_s * ((COMMENT ((meta 0 metavariable) (#[Trees 0 ((((
comment_s * ((COMMENT ((meta 0 metavariable) (#[Trees 0 ((((comment_s * ((
COMMENT ((meta 0 metavariable) (#[Trees 0 ((((comment_s * ((COMMENT ((meta 0
metavariable) (#[Trees 0 ((((comment_s * ((COMMENT ((meta 0 metavariable) ...
? ({name}:operator 'product_every ({name}:formalism 'Trees))
= ((product_every 0 tree) (#[Trees 0 ((((comment_s * ((COMMENT ((meta 0
metavariable) (#[Trees 0 ((((comment_s * ((COMMENT ((meta 0 metavariable) (#[
Trees 0 ((((comment_s * ((COMMENT ((meta 0 metavariable) (#[Trees 0 ((((
comment_s * ((COMMENT ((meta 0 metavariable) (#[Trees 0 ((((comment_s *...
? ({tree}:make ({name}:operator 'product_every ({name}:formalism 'Trees)))
= (((({#:(()):#[]}:product_every 0 {#:(()):#[]}:tree) (#[{#:(()):#[]}:Trees 0
(((({#:(()):#[]}:comment_s {#:(()):#[]}:* (({#:(()):#[]}:COMMENT (({#:(()):#[]
}:meta 0 {#:(()):#[]}:metavariable) (#[{#:(()):#[]}:Trees 0 (((({#:(()):#[]}:
comment_s {#:(()):#[]}:* (({#:(()):#[]}:COMMENT (({#:(()):#[]}:meta 0 {#:((...
? 'a
= {#:(()):#[]}:a
?
Seems that the creation of an atomic tree (with atom class `tree')
without value breaks down the LeLisp printer.
Is this a bug, or am I just not allowed to build empty atomic
trees???
Here is the metal definition of Trees:
---------------------------- Trees.metal ----------------------------
definition of Trees is
abstract syntax
product2 -> PRODUCT_EVERY PRODUCT_EVERY ;
product_every_list -> PRODUCT_EVERY * ... ;
product_every -> implemented as TREE ;
nothing -> implemented as SINGLETON ;
Trees ::= product_every_list product2;
PRODUCT_EVERY ::= product_every nothing ;
end definition
--------------------------- end Trees.metal ---------------------------