diff options
author | dos-reis <gdr@axiomatics.org> | 2007-10-28 10:43:54 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2007-10-28 10:43:54 +0000 |
commit | 7b0b25d63ed483cc9ccd9525b5904feda65dc807 (patch) | |
tree | fd2d98a0ead1cd14865a6e065bcefb93775de970 /src/interp/i-object.boot | |
parent | 471d0186fa938e05f69b26dd209544de721de94d (diff) | |
download | open-axiom-7b0b25d63ed483cc9ccd9525b5904feda65dc807.tar.gz |
* Makefile.pamphlet (category.$(FASLEXT)): New rule.
(<<category.clisp>>): Remove.
* category.boot.pamphlet: Push into package "BOOT".
Replace ASSOC with assoc throughout.
(mkCategory): Fix syntax.
* i-coerce.boot.pamphlet (stripUnionTags): Move to g-util.boot.
(isTaggeUnion): Likewise.
(getUnionOrRecordTags): Likewise.
* i-util.boot.pamphlet (wrap): Move to i-object.boot.
(isWrapped): Likewise.
(unwrap): Likewise.
(wrapped2Quote): Likewise.
(quote2Wrapped): Likewise.
(removeQuote): Likewise.
(TruthP): Move to g-util.boot.
Diffstat (limited to 'src/interp/i-object.boot')
-rw-r--r-- | src/interp/i-object.boot | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/src/interp/i-object.boot b/src/interp/i-object.boot index 2c6515c1..0543e466 100644 --- a/src/interp/i-object.boot +++ b/src/interp/i-object.boot @@ -65,7 +65,35 @@ objEnv obj == $NE objCodeVal obj == CADDR obj objCodeMode obj == CADR obj - +--% Utility Functions Used Only by the Intepreter + +wrap x == + isWrapped x => x + ['WRAPPED,:x] + +isWrapped x == x is ['WRAPPED,:.] or NUMBERP x or FLOATP x or CVECP x + +unwrap x == + NUMBERP x or FLOATP x or CVECP x => x + x is ["WRAPPED",:y] => y + x + +wrapped2Quote x == + x is ["WRAPPED",:y] => MKQ y + x + +quote2Wrapped x == + x is ['QUOTE,y] => wrap y + x + +removeQuote x == + x is ["QUOTE",y] => y + x + +-- addQuote x == +-- NUMBERP x => x +-- ['QUOTE,x] + --% Library compiler structures needed by the interpreter -- Tuples and Crosses |