login  home  contents  what's new  discussion  bug reports help  links  subscribe  changes  refresh  edit

# Edit detail for SandBoxMyReduceInFriCAS revision 3 of 4

 1 2 3 4 Editor: Bill Page Time: 2008/04/08 16:46:21 GMT-7 Note: recompilation problem

changed:
-
but mere fact that I compiled FOO invalidates all domain vectors...

changed:
-but mere fact that I compiled FOO invalidates all domain vectors... but both names still point to the *same* function.
-
Note: Both functions f1 and g point to the *same* function
although the names have changed.



\begin{axiom}
)version
\end{axiom}
)abbrev package MYRED MyReduce
MyReduce(S:Type): with
myred: ((S,S)->S,List S) -> S
-- Waldek's local helper function
((f:(S,S)->S) = (g:(S,S)->S)):Boolean ==
print(coerceMap2E(f)$Lisp::OutputForm) print(coerceMap2E(g)$Lisp::OutputForm)
EQ(f,g)$Lisp -- import NonNegativeInteger myred(f:(S,S)->S, x:List S):S == if #x>1 then f(first x, myred(f,rest x)) else if #x=1 then first x else if S has AbelianMonoid then -- Must force "newGoGet" by applying operations before comparison! f(0,0)=(0+0)$S and (f = _+$S) => return 0$S
-- (f = _+$S) => return 0$S
if S has Monoid then
f(1,1)=(11)$S and (f = _$S) => return 1$S -- (f = _*$S) => return 1$S error "reducing over an empty list needs the 3 argument form" \end{spad} \begin{axiom} myred(+,[1,2,3,4]) myred(+,[]$List Integer)
myred(*,[1,2,3,4])
myred(*,[]$List Integer) \end{axiom} Waldek writes: Problem with recompilation. \begin{axiom} eq((f:(INT,INT)->INT),(g:(INT,INT)->INT)):Boolean == print(coerceMap2E(f)$Lisp::OutputForm)
print(coerceMap2E(g)$Lisp::OutputForm) not null? EQ(f,g)$Lisp
f1 := _+$Integer @ Mapping(Integer, Integer, Integer) f2 := _+$Integer @ Mapping(Integer, Integer, Integer)
eq(f1,f2)
\end{axiom}
FOO has nothing to do with Integer:
)abbrev category FOO FOO
FOO(): Category == with nil
but mere fact that I compiled FOO invalidates all domain vectors...
\begin{axiom}
g := _+$Integer @ Mapping(Integer, Integer, Integer) eq(f1,g) f1(1,2) g(1,2) \end{axiom} Note: Both functions f1 and g point to the same function although the names have changed. Some or all expressions may not have rendered properly, because Axiom returned the following error:Error: export AXIOM=/usr/local/lib/axiom/target/x86_64-unknown-linux; export ALDORROOT=/usr/local/aldor/linux/1.1.0; export PATH=$ALDORROOT/bin:$PATH; export HOME=/var/zope2/var/LatexWiki; ulimit -t 240; export LD_LIBRARY_PATH=/usr/local/lib/axiom/target/x86_64-unknown-linux/lib;$AXIOM/bin/AXIOMsys < /var/zope2/var/LatexWiki/1050971339247177394-25px.axm
Segmentation fault
GCL (GNU Common Lisp)  2.6.8 CLtL1    Nov  9 2007 07:47:56
Modifications of this banner must retain notice of a compatible license
Dedicated to the memory of W. Schelter
Use (help) to get some basic information on how to use GCL.
Temporary directory for compiler files set to /tmp/
FriCAS (AXIOM fork) Computer Algebra System
Version: FriCAS 2007-10-02
Timestamp: Friday November 9, 2007 at 19:35:06
-----------------------------------------------------------------------------
Issue )summary for a summary of useful system commands.
-----------------------------------------------------------------------------
(1) -> (1) -> (1) -> (1) -> (1) -> )version
Value = "Friday November 9, 2007 at 19:35:06 "
)abbrev package MYRED MyReduce
MyReduce(S:Type): with
myred: ((S,S)->S,List S) -> S
-- Waldek's local helper function
((f:(S,S)->S) = (g:(S,S)->S)):Boolean ==
print(coerceMap2E(f)$Lisp::OutputForm) print(coerceMap2E(g)$Lisp::OutputForm)
EQ(f,g)$Lisp -- import NonNegativeInteger myred(f:(S,S)->S, x:List S):S == if #x>1 then f(first x, myred(f,rest x)) else if #x=1 then first x else if S has AbelianMonoid then -- Must force "newGoGet" by applying operations before comparison! f(0,0)=(0+0)$S and (f = _+$S) => return 0$S
-- (f = _+$S) => return 0$S
if S has Monoid then
f(1,1)=(11)$S and (f = _$S) => return 1$S -- (f = _*$S) => return 1$S error "reducing over an empty list needs the 3 argument form"</spad> >> System error: Caught fatal error [memory may be damaged] (1) ->  Some or all expressions may not have rendered properly, because Latex returned the following error: This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6) \write18 enabled. %&-line parsing enabled. entering extended mode (./2832325128165655465-16.0px.tex LaTeX2e <2005/12/01> Babel <v3.8h> and hyphenation patterns for english, usenglishmax, dumylang, noh yphenation, arabic, farsi, croatian, ukrainian, russian, bulgarian, czech, slov ak, danish, dutch, finnish, basque, french, german, ngerman, ibycus, greek, mon ogreek, ancientgreek, hungarian, italian, latin, mongolian, norsk, icelandic, i nterlingua, turkish, coptic, romanian, welsh, serbian, slovenian, estonian, esp eranto, uppersorbian, indonesian, polish, portuguese, spanish, catalan, galicia n, swedish, ukenglish, pinyin, loaded. (/usr/share/texmf-texlive/tex/latex/base/article.cls Document Class: article 2005/09/16 v1.4f Standard LaTeX document class (/usr/share/texmf-texlive/tex/latex/base/size12.clo)) (/usr/share/texmf-texlive/tex/latex/geometry/geometry.sty (/usr/share/texmf-texlive/tex/latex/graphics/keyval.sty) (/usr/share/texmf-texlive/tex/xelatex/xetexconfig/geometry.cfg) Package geometry Warning: lmargin' and rmargin' result in NEGATIVE (-108.405p t). width' should be shortened in length. ) (/usr/share/texmf-texlive/tex/latex/amsmath/amsmath.sty For additional information on amsmath, use the ? option. (/usr/share/texmf-texlive/tex/latex/amsmath/amstext.sty (/usr/share/texmf-texlive/tex/latex/amsmath/amsgen.sty)) (/usr/share/texmf-texlive/tex/latex/amsmath/amsbsy.sty) (/usr/share/texmf-texlive/tex/latex/amsmath/amsopn.sty)) (/usr/share/texmf-texlive/tex/latex/amsfonts/amsfonts.sty) (/usr/share/texmf-texlive/tex/latex/amsfonts/amssymb.sty) (/usr/share/texmf-texlive/tex/latex/amscls/amsthm.sty) (/usr/share/texmf-texlive/tex/latex/setspace/setspace.sty Package: setspace 6.7 <2000/12/01> ) (/usr/share/texmf-texlive/tex/generic/xypic/xy.sty (/usr/share/texmf-texlive/tex/generic/xypic/xy.tex Bootstrap'ing: catcodes, docmode, (/usr/share/texmf-texlive/tex/generic/xypic/xyrecat.tex) (/usr/share/texmf-texlive/tex/generic/xypic/xyidioms.tex) Xy-pic version 3.7 <1999/02/16> Copyright (c) 1991-1998 by Kristoffer H. Rose <krisrose@ens-lyon.fr> Xy-pic is free software: see the User's Guide for details. Loading kernel: messages; fonts; allocations: state, direction, utility macros; pictures: \xy, positions, objects, decorations; kernel objects: directionals, circles, text; options; algorithms: directions, edges, connections; Xy-pic loaded) (/usr/share/texmf-texlive/tex/generic/xypic/xyall.tex Xy-pic option: All features v.3.3 (/usr/share/texmf-texlive/tex/generic/xypic/xycurve.tex Xy-pic option: Curve and Spline extension v.3.7 curve, circles, loaded) (/usr/share/texmf-texlive/tex/generic/xypic/xyframe.tex Xy-pic option: Frame and Bracket extension v.3.7 loaded) (/usr/share/texmf-texlive/tex/generic/xypic/xycmtip.tex Xy-pic option: Computer Modern tip extension v.3.3 (/usr/share/texmf-texlive/tex/generic/xypic/xytips.tex Xy-pic option: More Tips extension v.3.3 loaded) loaded) (/usr/share/texmf-texlive/tex/generic/xypic/xyline.tex Xy-pic option: Line styles extension v.3.6 loaded) (/usr/share/texmf-texlive/tex/generic/xypic/xyrotate.tex Xy-pic option: Rotate and Scale extension v.3.3 loaded) (/usr/share/texmf-texlive/tex/generic/xypic/xycolor.tex Xy-pic option: Colour extension v.3.3 loaded) (/usr/share/texmf-texlive/tex/generic/xypic/xymatrix.tex Xy-pic option: Matrix feature v.3.4 loaded) (/usr/share/texmf-texlive/tex/generic/xypic/xyarrow.tex Xy-pic option: Arrow and Path feature v.3.5 path, \ar, loaded) (/usr/share/texmf-texlive/tex/generic/xypic/xygraph.tex Xy-pic option: Graph feature v.3.7 loaded) loaded)) (/usr/share/texmf-texlive/tex/latex/graphics/graphicx.sty (/usr/share/texmf-texlive/tex/latex/graphics/graphics.sty (/usr/share/texmf-texlive/tex/latex/graphics/trig.sty) (/etc/texmf/tex/latex/config/graphics.cfg) (/usr/share/texmf-texlive/tex/latex/graphics/dvips.def))) (/usr/share/texmf-texlive/tex/latex/graphics/color.sty (/etc/texmf/tex/latex/config/color.cfg) (/usr/share/texmf-texlive/tex/latex/graphics/dvipsnam.def)) (/usr/share/texmf-texlive/tex/latex/tools/verbatim.sty) (/usr/share/texmf/tex/latex/graphviz/graphviz.sty (/usr/share/texmf-texlive/tex/latex/psfrag/psfrag.sty)) (/usr/share/texmf/tex/latex/sagetex.sty Writing sage input file 2832325128165655465-16.0px.sage (./2832325128165655465-16.0px.sout)) (/usr/share/texmf-texlive/tex/latex/gnuplottex/gnuplottex.sty (/usr/share/texmf-texlive/tex/latex/base/latexsym.sty) (/usr/share/texmf-texlive/tex/latex/moreverb/moreverb.sty) (/usr/share/texmf-texlive/tex/latex/base/ifthen.sty)) (./2832325128165655465-16.0px.aux) LaTeX Warning: Characters dropped after \end{axiom}' on input line 65. (/usr/share/texmf-texlive/tex/latex/amsfonts/umsa.fd) (/usr/share/texmf-texlive/tex/latex/amsfonts/umsb.fd) (/usr/share/texmf-texlive/tex/latex/base/ulasy.fd) You can't use macro parameter character #' in math mode. l.79 if # x>1 then You can't use macro parameter character #' in math mode. l.81 else if # x=1 then Missing$ inserted.
<inserted text>
$l.86 f(0,0)=(0+0)$S and (f = _
+$S) => return 0$S
Missing $inserted. <inserted text>$
l.89          f(1,1)=(11)$S and (f = _$S) => return 1$S Missing$ inserted.
<inserted text>
$l.92 \end{spad} \newpage Overfull \hbox (137.34442pt too wide) in paragraph at lines 67--92 \OMS/cmsy/m/n/12 ^^@\OML/cmm/m/it/12 importNonNegativeIntegermyred\OT1/cmr/m/n/ 12 (\OML/cmm/m/it/12 f \OT1/cmr/m/n/12 : (\OML/cmm/m/it/12 S; S\OT1/cmr/m/n/12 )\OMS/cmsy/m/n/12 ^^@ \OML/cmm/m/it/12 > S; x \OT1/cmr/m/n/12 : \OML/cmm/m/it/1 2 ListS\OT1/cmr/m/n/12 ) : \OML/cmm/m/it/12 S \OT1/cmr/m/n/12 == \OML/cmm/m/it/ 12 ifx > \OT1/cmr/m/n/12 1\OML/cmm/m/it/12 thenf\OT1/cmr/m/n/12 (\OML/cmm/m/it/ 12 firstx; myred\OT1/cmr/m/n/12 (\OML/cmm/m/it/12 f; restx\OT1/cmr/m/n/12 ))\OM L/cmm/m/it/12 elseifx \OT1/cmr/m/n/12 = 1\OML/cmm/m/it/12 thenfirstxelseifShasA belianMonoidthen \OMS/cmsy/m/n/12 ^^@ Overfull \hbox (36.58308pt too wide) in paragraph at lines 67--92 \OT1/cmr/m/n/12 0$\OML/cmm/m/it/12 SifShasMonoidthenf\OT1/cmr/m/n/12 (1\OML/cmm
/m/it/12 ; \OT1/cmr/m/n/12 1) = (1 \OMS/cmsy/m/n/12 ^^C \OT1/cmr/m/n/12 1)$S an d (f =$[]$S) => re-turn 1$\OML/cmm/m/it/12 S \OMS/cmsy/m/n/12 ^^@ ^^@\OT1/cmr/
m/n/12 (\OML/cmm/m/it/12 f \OT1/cmr/m/n/12 =[]$S) => re-turn 1$\OML/cmm/m/it/12
Serror\OT1/cmr/m/n/12 "\OML/cmm/m/it/12 reducingoveranemptylistneedsthe\OT1/cm
r/m/n/12 3\OML/cmm/m/it/12 argumentform\OT1/cmr/m/n/12 "\$
[1]
LaTeX Warning: Characters dropped after \end{axiom}' on input line 99.
LaTeX Warning: Characters dropped after \end{axiom}' on input line 108.
[2]
LaTeX Warning: Characters dropped after \end{axiom}' on input line 118.
[3] [4]
Misplaced alignment tab character &.
l.121 $$S) =& gt; return 0$$\newpage
[5] [6]
Misplaced alignment tab character &.
l.123 $$S) =& gt; return 1$$
[7] (./2832325128165655465-16.0px.aux) )
(see the transcript file for additional information)
Output written on 2832325128165655465-16.0px.dvi (7 pages, 3612 bytes).
Transcript written on 2832325128165655465-16.0px.log.
`