diff options
author | dos-reis <gdr@axiomatics.org> | 2007-08-14 05:14:52 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2007-08-14 05:14:52 +0000 |
commit | ab8cc85adde879fb963c94d15675783f2cf4b183 (patch) | |
tree | c202482327f474583b750b2c45dedfc4e4312b1d /src/input/bugs.input.pamphlet | |
download | open-axiom-ab8cc85adde879fb963c94d15675783f2cf4b183.tar.gz |
Initial population.
Diffstat (limited to 'src/input/bugs.input.pamphlet')
-rw-r--r-- | src/input/bugs.input.pamphlet | 342 |
1 files changed, 342 insertions, 0 deletions
diff --git a/src/input/bugs.input.pamphlet b/src/input/bugs.input.pamphlet new file mode 100644 index 00000000..70852a4e --- /dev/null +++ b/src/input/bugs.input.pamphlet @@ -0,0 +1,342 @@ +\documentclass{article} +\usepackage{axiom} +\begin{document} +\title{\$SPAD/src/input bugs.input} +\author{The Axiom Team} +\maketitle +\begin{abstract} +\end{abstract} +\eject +\tableofcontents +\eject +\section{bugs} +\subsection{bug1} +MANEXP is invalid as a function +<<bug1>>= +draw(x, x=-1..1) +@ +\subsection{bug2} +The attributed tree formNILis not a vector +<<bug2>>= +{} +@ +\subsection{bug3} +The attributed tree formNILis not a vector +<<bug3>>= +-- The following still doesn't work +union({}, {1,2}) +@ +<<bugs>>= +-- File of Currently active and recently fixed interpreter bugs + +--- eval a polynomial with EXPR substitution values +--- Fixed by SCM, verified on 10/30/90 + +)clear all + + +eq1:= A*x**2 + B*x*y + C*y**2 +D*x + E*y + F + +eq2:= eval(eq1,[x= xdot*cos(t) - ydot*sin(t), y=xdot*sin(t) + ydot*cos(t)]) + +-- UTS coercions. Fixed by SCM, verified on 10/30/90 + +)clear all + +taylor exp x + +s := % + +s::(UTS(EXPR FLOAT, x, 0)) +s::(UTS(FLOAT, x, 0)) + +eval(s,1) +%::(Stream Float) + +-- overloading interpreter maps on arity +--- Fixed by SCM, verified on 10/30/90 + +)clear all + +f(x) == x+1 +f(x,y) == x+y + +f 3 +f(3,4) +f(5) +f(1,x) + +-- targetted function requiring a coercion +--- Fixed by SCM, verified on 10/30/90 + +)clear all +series(n +-> bernoulli(n)/factorial(n), t=0) + +-- in-homogeneous list mapping +--- Fixed by SCM, verified on 10/30/90 + +)clear all +l := [1,2,-1] +f : INT -> FRAC INT +f x == x +map(f, l) + +-- Function args to interpreter functions +--- Fixed by SCM, verified on 10/30/90 + +)cl all +f: INT -> INT +f x == x+1 +u g == g 3 +u f + +-- category modemap requiring a field to be constructed +--- Fixed by SCM, verified on 10/30/90 + +)clear all + +groebner [x**2 - y, y**3+1] + +-- operations requiring polynomials, passed variables +--- Fixed by SCM, verified on 10/30/90 + +)clear all +factor x +<<bug1>> + +-- bracket parsing and empty-set types +--- Fixed by SCM, verified on 10/30/90 + +)clear all +<<bug2>> +{}$(List INT) +{1} +<<bug3>> + +-- Shouldn't work, but no longer bombs the interpreter +--- Fixed by SCM, verified on 10/30/90 + +)clear all +map(variable, [x,y]) + +-- Recursive map type analysis bug +--- Fixed by SCM, verified on 10/30/90 +)set fun recur off +)clear all + +p(n,x) == if n=0 then 1 else (x+n-1)*p(n-1,x) +pp(n,x) == if n=0 then 1 else if n<0 then (-1)**n/p(-n,1-x) else p(n,x) +pp(-1,x) -- should be 1/(x-1) + +-- interpret-code mode for iterators is broken + +)cl all +f n == + for i in 1..n repeat + j:=2*i + m:SQMATRIX(j,?):=1 + print m +g n == + j:=2*n + m:SQMATRIX(j,?):=1 + print m + +g 3 -- Should work +f 3 -- Bombs + +-- Test interpreter list destructuring + +)clear all +mp(x,l) == + l is [a,:b] => + a*x**(#b)+ mp(x,b) + 0 + +mp(x, [1,3,4, 2]) +mp(x, [1,2,-3, 4]) + +-- Tests compilation of recursive functions + +)clear all + +f1 n == + if n=0 then 1 else if n=1 then 1 else f1(n-1)+f1(n-2) + +f2 n == + m:=n + if n=0 then 1 else if n=1 then 1 else f2(n-1)+f2(n-2) + +f3 n == + n=0 => 1 + n=1 => 1 + f3(n-1)+f3(n-2) + +f4 n == + m:=n + n=0 => 1 + n=1 => 1 + m:=n + f4(n-1)+f4(n-2) + +f5 n == if n=0 or n=1 then 1 else f5(n-1)+f5(n-2) + +[f1 3,f2 3, f3 3,f4 3,f5 3] +@ +<<*>>= +-- File of Currently active and recently fixed interpreter bugs + +--- eval a polynomial with EXPR substitution values +--- Fixed by SCM, verified on 10/30/90 + +)clear all + + +eq1:= A*x**2 + B*x*y + C*y**2 +D*x + E*y + F + +eq2:= eval(eq1,[x= xdot*cos(t) - ydot*sin(t), y=xdot*sin(t) + ydot*cos(t)]) + +-- UTS coercions. Fixed by SCM, verified on 10/30/90 + +)clear all + +taylor exp x + +s := % + +s::(UTS(EXPR FLOAT, x, 0)) +s::(UTS(FLOAT, x, 0)) + +eval(s,1) +%::(Stream Float) + +-- overloading interpreter maps on arity +--- Fixed by SCM, verified on 10/30/90 + +)clear all + +f(x) == x+1 +f(x,y) == x+y + +f 3 +f(3,4) +f(5) +f(1,x) + +-- targetted function requiring a coercion +--- Fixed by SCM, verified on 10/30/90 + +)clear all +series(n +-> bernoulli(n)/factorial(n), t=0) + +-- in-homogeneous list mapping +--- Fixed by SCM, verified on 10/30/90 + +)clear all +l := [1,2,-1] +f : INT -> FRAC INT +f x == x +map(f, l) + +-- Function args to interpreter functions +--- Fixed by SCM, verified on 10/30/90 + +)cl all +f: INT -> INT +f x == x+1 +u g == g 3 +u f + +-- category modemap requiring a field to be constructed +--- Fixed by SCM, verified on 10/30/90 + +)clear all + +groebner [x**2 - y, y**3+1] + +-- operations requiring polynomials, passed variables +--- Fixed by SCM, verified on 10/30/90 + +)clear all +factor x + +-- bracket parsing and empty-set types +--- Fixed by SCM, verified on 10/30/90 + +)clear all +{}$(List INT) +{1} + +-- Shouldn't work, but no longer bombs the interpreter +--- Fixed by SCM, verified on 10/30/90 + +)clear all +map(variable, [x,y]) + +-- Recursive map type analysis bug +--- Fixed by SCM, verified on 10/30/90 +)set fun recur off +)clear all + +p(n,x) == if n=0 then 1 else (x+n-1)*p(n-1,x) +pp(n,x) == if n=0 then 1 else if n<0 then (-1)**n/p(-n,1-x) else p(n,x) +pp(-1,x) -- should be 1/(x-1) + +-- interpret-code mode for iterators is broken + +)cl all +f n == + for i in 1..n repeat + j:=2*i + m:SQMATRIX(j,?):=1 + print m +g n == + j:=2*n + m:SQMATRIX(j,?):=1 + print m + +g 3 -- Should work +f 3 -- Bombs + +-- Test interpreter list destructuring + +)clear all +mp(x,l) == + l is [a,:b] => + a*x**(#b)+ mp(x,b) + 0 + +mp(x, [1,3,4, 2]) +mp(x, [1,2,-3, 4]) + +-- Tests compilation of recursive functions + +)clear all + +f1 n == + if n=0 then 1 else if n=1 then 1 else f1(n-1)+f1(n-2) + +f2 n == + m:=n + if n=0 then 1 else if n=1 then 1 else f2(n-1)+f2(n-2) + +f3 n == + n=0 => 1 + n=1 => 1 + f3(n-1)+f3(n-2) + +f4 n == + m:=n + n=0 => 1 + n=1 => 1 + m:=n + f4(n-1)+f4(n-2) + +f5 n == if n=0 or n=1 then 1 else f5(n-1)+f5(n-2) + +[f1 3,f2 3, f3 3,f4 3,f5 3] +@ +\eject +\begin{thebibliography}{99} +\bibitem{1} nothing +\end{thebibliography} +\end{document} |