diff options
author | dos-reis <gdr@axiomatics.org> | 2010-04-30 14:53:30 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2010-04-30 14:53:30 +0000 |
commit | f0b6be21e20a76251afe2bc2ae92800fb267da0b (patch) | |
tree | 738bf6386eb25b036815808639ae1dd5e78d8cc9 /src/algebra/strap/URAGG-.lsp | |
parent | 95a8891a808572509f7449aa32022df42f8b7ab8 (diff) | |
download | open-axiom-f0b6be21e20a76251afe2bc2ae92800fb267da0b.tar.gz |
* interp/macros.lisp (|check-subtype|): Return coerced value if can.
(|check-union|): Likewise.
* interp/compiler.boot (coerceSuperset): Tidy. Generate %Retract
instruction.
* interp/g-opt.boot (optRetract): New.
Diffstat (limited to 'src/algebra/strap/URAGG-.lsp')
-rw-r--r-- | src/algebra/strap/URAGG-.lsp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/algebra/strap/URAGG-.lsp b/src/algebra/strap/URAGG-.lsp index 45a75b9c..f69e3773 100644 --- a/src/algebra/strap/URAGG-.lsp +++ b/src/algebra/strap/URAGG-.lsp @@ -435,7 +435,7 @@ (EXIT |x|))))) (DEFUN |URAGG-;last;ANniA;22| (|x| |n| $) - (PROG (|m| #0=#:G1497) + (PROG (|m|) (RETURN (SEQ (LETT |m| (SPADCALL |x| (|getShellEntry| $ 57)) |URAGG-;last;ANniA;22|) @@ -444,8 +444,7 @@ ('T (SPADCALL (SPADCALL |x| - (PROG1 (LETT #0# (- |m| |n|) - |URAGG-;last;ANniA;22|) + (LET ((#0=#:G1499 (- |m| |n|))) (|check-subtype| (>= #0# 0) '(|NonNegativeInteger|) #0#)) (|getShellEntry| $ 59)) @@ -574,15 +573,14 @@ (SPADCALL |u| |s| (|getShellEntry| $ 67))) (DEFUN |URAGG-;split!;AIA;32| (|p| |n| $) - (PROG (#0=#:G1523 |q|) + (PROG (|q|) (RETURN (SEQ (COND ((< |n| 1) (|error| "index out of range")) ('T (SEQ (LETT |p| (SPADCALL |p| - (PROG1 (LETT #0# (- |n| 1) - |URAGG-;split!;AIA;32|) + (LET ((#0=#:G1525 (- |n| 1))) (|check-subtype| (>= #0# 0) '(|NonNegativeInteger|) #0#)) (|getShellEntry| $ 59)) |