diff options
author | dos-reis <gdr@axiomatics.org> | 2011-04-19 13:18:04 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2011-04-19 13:18:04 +0000 |
commit | b893a938b4051bc30a9c44bdcf6000bff11969c4 (patch) | |
tree | e015989876cff9b1b185cc00a55bfc92be277961 /src/boot/strap/utility.clisp | |
parent | c6179efd4a1f1770d4d31415582eabebbe2ab6a0 (diff) | |
download | open-axiom-b893a938b4051bc30a9c44bdcf6000bff11969c4.tar.gz |
* interp/newfort.boot: Likewise.
* interp/define.boot (orderBySubsumption): Fix thinko.
* interp/boot-pkg.lisp: Use BOOTTRAN package. Don't import names
individually.
* boot/utility.boot: New.
* boot/translator.boot (exportNames): Fix thinko.
* boot/tokens.boot: Add charEq? and scalarEq? builtiin functions.
* boot/ast.boot (bfMember): Generate call to symbolMember? for
membership tests for symbols.
Diffstat (limited to 'src/boot/strap/utility.clisp')
-rw-r--r-- | src/boot/strap/utility.clisp | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/boot/strap/utility.clisp b/src/boot/strap/utility.clisp new file mode 100644 index 00000000..efb7cf0e --- /dev/null +++ b/src/boot/strap/utility.clisp @@ -0,0 +1,44 @@ +(PROCLAIM '(OPTIMIZE SPEED)) +(IMPORT-MODULE "initial-env") + +(IN-PACKAGE "BOOTTRAN") + +(PROVIDE "utility") + +(EXPORT '(|objectMember?| |symbolMember?| |stringMember?| |charMember?| + |scalarMember?|)) + +(DEFUN |objectMember?| (|x| |l|) + (COND + ((CONSP |l|) + (OR (EQ |x| (CAR |l|)) (|objectMember?| |x| (CDR |l|)))) + (T (EQ |x| |l|)))) + +(DEFUN |symbolMember?| (|x| |l|) + (COND + ((NULL |l|) NIL) + ((CONSP |l|) + (OR (EQ |x| (CAR |l|)) (|symbolMember?| |x| (CDR |l|)))) + (T (EQ |x| |l|)))) + +(DEFUN |stringMember?| (|s| |l|) + (COND + ((NULL |l|) NIL) + ((CONSP |l|) + (OR (STRING= |s| (CAR |l|)) (|stringMember?| |s| (CDR |l|)))) + (T (STRING= |s| |l|)))) + +(DEFUN |charMember?| (|x| |l|) + (COND + ((NULL |l|) NIL) + ((CONSP |l|) + (OR (CHAR= |x| (CAR |l|)) (|charMember?| |x| (CDR |l|)))) + (T (CHAR= |x| |l|)))) + +(DEFUN |scalarMember?| (|x| |l|) + (COND + ((NULL |l|) NIL) + ((CONSP |l|) + (OR (EQL |x| (CAR |l|)) (|scalarMember?| |x| (CDR |l|)))) + (T (EQL |x| |l|)))) + |