From 0e88b70dfbb109f73fe0e8cac2c25ef445cb2c50 Mon Sep 17 00:00:00 2001 From: dos-reis Date: Sun, 7 Mar 2010 01:00:16 +0000 Subject: * interp/g-opt.boot ($VMsideEffectFreeOperators): New. ($simpleVMoperators): Augment it. (semiSimpleRelativeTo?): New. (isSimpleVMForm): Use it. * interp/c-util.boot (forwardingCall?): New. (usesVariablesLinearly?): Likewise. (expandableDefinition?): Likewise. (foldSpadcall): Tidy. (foldExportedFunctionReferences): If a function is discovered to be expandable, make it so. * interp/define.boot (spadCompileOrSetq): Tidy. --- src/algebra/strap/OUTFORM.lsp | 52 +++++++++++++++++++++++++++++-------------- 1 file changed, 35 insertions(+), 17 deletions(-) (limited to 'src/algebra/strap/OUTFORM.lsp') diff --git a/src/algebra/strap/OUTFORM.lsp b/src/algebra/strap/OUTFORM.lsp index fca0ec38..2d765749 100644 --- a/src/algebra/strap/OUTFORM.lsp +++ b/src/algebra/strap/OUTFORM.lsp @@ -355,8 +355,6 @@ (DECLAIM (FTYPE (FUNCTION (|%Shell|) |%Thing|) |OUTFORM;empty;$;73|)) -(PUT '|OUTFORM;empty;$;73| '|SPADreplace| '(XLAM NIL (LIST 'NOTHING))) - (DECLAIM (FTYPE (FUNCTION (|%Thing| |%Shell|) |%Boolean|) |OUTFORM;infix?;$B;74|)) @@ -518,6 +516,15 @@ (PUT '|OUTFORM;int;4$;106| '|SPADreplace| '(XLAM (|a| |b| |c|) (LIST 'INTSIGN |b| |c| |a|))) +(PUT '|OUTFORM;postfix;3$;79| '|SPADreplace| + '(XLAM (|a| |b|) (LIST 'CONCAT |b| |a|))) + +(PUT '|OUTFORM;dot;2$;83| '|SPADreplace| + '(XLAM (|a|) (LIST 'SUPERSUB |a| " " '|.|))) + +(PUT '|OUTFORM;prime;2$;84| '|SPADreplace| + '(XLAM (|a|) (LIST 'SUPERSUB |a| " " '|,|))) + (DEFUN |OUTFORM;doubleFloatFormat;2S;1| (|s| $) (PROG (|ss|) (RETURN @@ -539,7 +546,7 @@ (DEFUN |OUTFORM;message;S$;7| (|s| $) (COND - ((SPADCALL |s| (|getShellEntry| $ 12)) (LIST 'NOTHING)) + ((SPADCALL |s| (|getShellEntry| $ 12)) (|OUTFORM;empty;$;73| $)) ('T |s|))) (DEFUN |OUTFORM;messagePrint;SV;8| (|s| $) @@ -615,15 +622,18 @@ ((> |n| 0) (|OUTFORM;vconcat;3$;50| " " (|OUTFORM;vspace;I$;28| (- |n| 1) $) $)) - ('T (LIST 'NOTHING)))) + ('T (|OUTFORM;empty;$;73| $)))) (DEFUN |OUTFORM;hspace;I$;29| (|n| $) - (COND ((> |n| 0) (|fillerSpaces| |n|)) ('T (LIST 'NOTHING)))) + (COND + ((> |n| 0) (|fillerSpaces| |n|)) + ('T (|OUTFORM;empty;$;73| $)))) (DEFUN |OUTFORM;rspace;2I$;30| (|n| |m| $) (SEQ (COND - ((> |n| 0) (COND ((NOT (> |m| 0)) (EXIT (LIST 'NOTHING))))) - ('T (EXIT (LIST 'NOTHING)))) + ((> |n| 0) + (COND ((NOT (> |m| 0)) (EXIT (|OUTFORM;empty;$;73| $))))) + ('T (EXIT (|OUTFORM;empty;$;73| $)))) (EXIT (|OUTFORM;vconcat;3$;50| (|OUTFORM;hspace;I$;29| |n| $) (|OUTFORM;rspace;2I$;30| |n| (- |m| 1) $) $)))) @@ -734,7 +744,7 @@ (DEFUN |OUTFORM;supersub;$L$;47| (|a| |l| $) (SEQ (COND ((ODDP (LENGTH |l|)) - (LETT |l| (APPEND |l| (LIST (LIST 'NOTHING))) + (LETT |l| (APPEND |l| (LIST (|OUTFORM;empty;$;73| $))) |OUTFORM;supersub;$L$;47|))) (EXIT (CONS 'ALTSUPERSUB (CONS |a| |l|))))) @@ -836,7 +846,7 @@ (DECLARE (IGNORE $)) (LIST 'BINOMIAL |a| |b|)) -(DEFUN |OUTFORM;empty;$;73| ($) (DECLARE (IGNORE $)) (LIST 'NOTHING)) +(DEFUN |OUTFORM;empty;$;73| ($) (LIST 'NOTHING)) (DEFUN |OUTFORM;infix?;$B;74| (|a| $) (PROG (#0=#:G1495 |e|) @@ -866,7 +876,7 @@ (DEFUN |OUTFORM;infix;$L$;77| (|a| |l| $) (COND - ((NULL |l|) (LIST 'NOTHING)) + ((NULL |l|) (|OUTFORM;empty;$;73| $)) ((NULL (CDR |l|)) (SPADCALL |l| (|getShellEntry| $ 78))) ((|OUTFORM;infix?;$B;74| |a| $) (CONS |a| |l|)) ('T @@ -880,7 +890,9 @@ ((|OUTFORM;infix?;$B;74| |a| $) (LIST |a| |b| |c|)) ('T (|OUTFORM;hconcat;L$;49| (LIST |b| |a| |c|) $)))) -(DEFUN |OUTFORM;postfix;3$;79| (|a| |b| $) (LIST 'CONCAT |b| |a|)) +(DEFUN |OUTFORM;postfix;3$;79| (|a| |b| $) + (DECLARE (IGNORE $)) + (LIST 'CONCAT |b| |a|)) (DEFUN |OUTFORM;string;2$;80| (|a| $) (DECLARE (IGNORE $)) @@ -894,9 +906,13 @@ (DECLARE (IGNORE $)) (LIST 'OVERBAR |a|)) -(DEFUN |OUTFORM;dot;2$;83| (|a| $) (LIST 'SUPERSUB |a| " " '|.|)) +(DEFUN |OUTFORM;dot;2$;83| (|a| $) + (DECLARE (IGNORE $)) + (LIST 'SUPERSUB |a| " " '|.|)) -(DEFUN |OUTFORM;prime;2$;84| (|a| $) (LIST 'SUPERSUB |a| " " '|,|)) +(DEFUN |OUTFORM;prime;2$;84| (|a| $) + (DECLARE (IGNORE $)) + (LIST 'SUPERSUB |a| " " '|,|)) (DEFUN |OUTFORM;dot;$Nni$;85| (|a| |nn| $) (PROG (|s|) @@ -975,7 +991,8 @@ (EXIT (|OUTFORM;super;3$;43| |a| (LIST 'PAREN |s|) $))))))))) -(DEFUN |OUTFORM;sum;2$;98| (|a| $) (LIST 'SIGMA (LIST 'NOTHING) |a|)) +(DEFUN |OUTFORM;sum;2$;98| (|a| $) + (LIST 'SIGMA (|OUTFORM;empty;$;73| $) |a|)) (DEFUN |OUTFORM;sum;3$;99| (|a| |b| $) (DECLARE (IGNORE $)) @@ -985,7 +1002,8 @@ (DECLARE (IGNORE $)) (LIST 'SIGMA2 |b| |c| |a|)) -(DEFUN |OUTFORM;prod;2$;101| (|a| $) (LIST 'PI (LIST 'NOTHING) |a|)) +(DEFUN |OUTFORM;prod;2$;101| (|a| $) + (LIST 'PI (|OUTFORM;empty;$;73| $) |a|)) (DEFUN |OUTFORM;prod;3$;102| (|a| |b| $) (DECLARE (IGNORE $)) @@ -996,10 +1014,10 @@ (LIST 'PI2 |b| |c| |a|)) (DEFUN |OUTFORM;int;2$;104| (|a| $) - (LIST 'INTSIGN (LIST 'NOTHING) (LIST 'NOTHING) |a|)) + (LIST 'INTSIGN (|OUTFORM;empty;$;73| $) (|OUTFORM;empty;$;73| $) |a|)) (DEFUN |OUTFORM;int;3$;105| (|a| |b| $) - (LIST 'INTSIGN |b| (LIST 'NOTHING) |a|)) + (LIST 'INTSIGN |b| (|OUTFORM;empty;$;73| $) |a|)) (DEFUN |OUTFORM;int;4$;106| (|a| |b| |c| $) (DECLARE (IGNORE $)) -- cgit v1.2.3