aboutsummaryrefslogtreecommitdiff
path: root/src/boot/utility.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-05-01 02:13:22 +0000
committerdos-reis <gdr@axiomatics.org>2011-05-01 02:13:22 +0000
commit590b110c303021694c0ed17008d1a3f526f04451 (patch)
treead8e9f73c87ada979f6656e4cd2c6019ea015243 /src/boot/utility.boot
parent07fcfb463c0ea0ef40cc8886ee12c4dd20d9d759 (diff)
downloadopen-axiom-590b110c303021694c0ed17008d1a3f526f04451.tar.gz
* boot/tokens.boot: Don't rename append.
* boot/parser.boot (bpTyping): Support universally quantified types. * boot/ast.boot: Rewrite APPEND as append. (%Forall): New AST node. * boot/translator.boot: Translate it.
Diffstat (limited to 'src/boot/utility.boot')
-rw-r--r--src/boot/utility.boot10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/boot/utility.boot b/src/boot/utility.boot
index 101b10e3..39973783 100644
--- a/src/boot/utility.boot
+++ b/src/boot/utility.boot
@@ -34,9 +34,10 @@ import initial_-env
namespace BOOTTRAN
module utility (objectMember?, symbolMember?, stringMember?,
charMember?, scalarMember?, listMember?, reverse, reverse!,
- lastNode, append!, copyList, substitute, substitute!, setDifference,
- applySubst, applySubst!,remove,removeSymbol) where
- append!: %List %List %Thing -> %List %Thing
+ lastNode, append, append!, copyList, substitute, substitute!,
+ setDifference, applySubst, applySubst!,remove,removeSymbol) where
+ append: (%List %Thing,%List %Thing) -> %List %Thing
+ append!: (%List %Thing,%List %Thing) -> %List %Thing
copyList: %List %Thing -> %List %Thing
lastNode: %List %Thing -> %Maybe %Node %Thing
removeSymbol: (%List %Thing, %Symbol) -> %List %Thing
@@ -139,6 +140,9 @@ append!(x,y) ==
lastNode(x).rest := y
x
+append(x,y) ==
+ append!(copyList x,y)
+
--% a-list
assocSymbol(s,al) ==