gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gcl-devel] Re: serveral bugs in codebase


From: Camm Maguire
Subject: Re: [Gcl-devel] Re: serveral bugs in codebase
Date: 28 Jul 2003 14:44:11 -0400
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Greetings!  OK, the following caused an apparent truncation of my
i-output.clisp file:
=============================================================================
--- ../../../../../axiom2/new/new/src/interp/i-output.boot.pamphlet     
2003-06-18 19:05:18.000000000 +0000
+++ i-output.boot.pamphlet      2003-07-28 18:28:41.000000000 +0000
@@ -427,8 +427,8 @@
     head := [term,:head]
     tail := rest tail
   REVERSE head
-;  REVERSIP head
-; REVERSIP is a function specific to CCL
+--;  REVERSIP head
+--; REVERSIP is a function specific to CCL
    
 outputTranSEQ ['SEQ,:l,exitform] ==
   if exitform is ['exit,.,a] then exitform := a
=============================================================================

With the unlimited arg change, the |data| change, and with safety 3, I
now get:

=============================================================================
(1) -> dom:=MonoidRing(Polynomial PrimeField 5, Permutation Integer)

   (1)  MonoidRing(Polynomial PrimeField 5,Permutation Integer)
                                                                 Type: Domain
(2) -> p:dom:=1
   Loading /fix/t1/camm/axiom/axiom/new/new/mnt/linux/algebra/PF.o for 
      domain PrimeField 
   Loading /fix/t1/camm/axiom/axiom/new/new/mnt/linux/algebra/PERM.o 
      for domain Permutation 
   Loading /fix/t1/camm/axiom/axiom/new/new/mnt/linux/algebra/MRING.o 
      for domain MonoidRing 
   Loading /fix/t1/camm/axiom/axiom/new/new/mnt/linux/algebra/UPMP.o 
      for package UnivariatePolynomialMultiplicationPackage 
   Loading /fix/t1/camm/axiom/axiom/new/new/mnt/linux/algebra/IPF.o for
      domain InnerPrimeField 
   Loading /fix/t1/camm/axiom/axiom/new/new/mnt/linux/algebra/TABLE.o 
      for domain Table 
   Loading /fix/t1/camm/axiom/axiom/new/new/mnt/linux/algebra/HASHTBL.o
      for domain HashTable 
   Loading /fix/t1/camm/axiom/axiom/new/new/mnt/linux/algebra/INTABL.o 
      for domain InnerTable 
   Loading /fix/t1/camm/axiom/axiom/new/new/mnt/linux/algebra/ZMOD.o 
      for domain IntegerMod 

   (2)  1
                Type: MonoidRing(Polynomial PrimeField 5,Permutation Integer)
(3) -> one? p

   (3)  true
                                                                Type: Boolean
(4) -> set [p,p]
   Loading /fix/t1/camm/axiom/axiom/new/new/mnt/linux/algebra/FSAGG-.o 
      for domain FiniteSetAggregate& 

   (4)  {1}
            Type: Set MonoidRing(Polynomial PrimeField 5,Permutation Integer)
(5) -> 
=============================================================================

Am retrying now with safety 0.

Take care,


"Juergen Weiss" <address@hidden> writes:

> Hi,
> 
> the data in compCapsuleItems is obviously wrong. $myFunctorBody
> should be bound to nil. It's in my list and Tim will take care
> of it. 
> 
> The function output is defined in i-output.boot and you really
> need that file. So I'm a bit suprised, that the function is not
> found. 
> 
> Juergen Weiss
> 
> Juergen Weiss   | Universitaet Mainz, Zentrum fuer Datenverarbeitung,
> address@hidden| 55099 Mainz, Tel: +49(6131)39-26361, FAX:
> +49(6131)39-26407
> 
> 
> > -----Original Message-----
> > From: Camm Maguire [mailto:address@hidden 
> > Sent: Monday, July 28, 2003 5:05 PM
> > To: address@hidden
> > Cc: address@hidden; Juergen Weiss; address@hidden
> > Subject: Re: [Gcl-devel] Re: serveral bugs in codebase
> > 
> > 
> > Hello again!
> > 
> > root <address@hidden> writes:
> > 
> > > Camm,
> > > 
> > > The duplicate set issue test is:
> > > 
> > > dom:=MonoidRing(Polynomial PrimeField 5, Permutation Integer)
> > > p:dom:=1
> > > set [p,p] ==> {1,1}
> > > 
> > >   but should be
> > >           
> > >           ==> {1}
> > > 
> > > the other test is:
> > > 
> > >   one? p  ==> false
> > > 
> > > but should be
> > >        
> > >           ==> true
> > > 
> > 
> > OK, I think this has to do with the |output| in recordAndPrint in
> > i-toplevel being unbound.  In the default non-safety compile mode,
> > this is not checked for.  I replaced the form
> > 
> > (|output| |x'| |md'|))
> > 
> > with 
> > 
> > (format t "output replace ~S ~S ~%" |x'| |md'|))
> > 
> > in i-toplevel.clisp, managed to compile the needed algebra files from
> > Juergen's tree by hand, and then get what I think is the proper
> > behavior, with reformatted output of course:
> > 
> > ==============================================================
> > ===============
> > (1) -> dom:=MonoidRing(Polynomial PrimeField 5, Permutation Integer)
> > 
> > output replace (|MonoidRing| (|Polynomial| (|PrimeField| 5)) 
> > (|Permutation| (|Integer|))) (|Domain|) 
> >                                                               
> >    Type: Domain
> > (2) -> p:dom:=1
> >    Loading 
> > /fix/t1/camm/axiom/axiom/new/new/mnt/linux/algebra/PF.o for 
> >       domain PrimeField 
> >    Loading 
> > /fix/t1/camm/axiom/axiom/new/new/mnt/linux/algebra/PRIMES.o 
> >       for package IntegerPrimesPackage 
> >    Loading 
> > /fix/t1/camm/axiom/axiom/new/new/mnt/linux/algebra/SET.o for
> >       domain Set 
> >    Loading /fix/t1/camm/axiom/axiom/new/new/mnt/linux/algebra/POLY.o 
> >       for domain Polynomial 
> >    Loading /fix/t1/camm/axiom/axiom/new/new/mnt/linux/algebra/ALIST.o 
> >       for domain AssociationList 
> >    Loading /fix/t1/camm/axiom/axiom/new/new/mnt/linux/algebra/PERM.o 
> >       for domain Permutation 
> >    Loading /fix/t1/camm/axiom/axiom/new/new/mnt/linux/algebra/MRING.o 
> >       for domain MonoidRing 
> >    Loading 
> > /fix/t1/camm/axiom/axiom/new/new/mnt/linux/algebra/SMP.o for
> >       domain SparseMultivariatePolynomial 
> >    Loading 
> > /fix/t1/camm/axiom/axiom/new/new/mnt/linux/algebra/SUP.o for
> >       domain SparseUnivariatePolynomial 
> >    Loading /fix/t1/camm/axiom/axiom/new/new/mnt/linux/algebra/SAOS.o 
> >       for domain SingletonAsOrderedSet 
> >    Loading /fix/t1/camm/axiom/axiom/new/new/mnt/linux/algebra/UPMP.o 
> >       for package UnivariatePolynomialMultiplicationPackage 
> >    Loading 
> > /fix/t1/camm/axiom/axiom/new/new/int/algebra/IPF.NRLIB/code 
> >       for domain InnerPrimeField 
> >    Loading /fix/t1/camm/axiom/axiom/new/new/mnt/linux/algebra/TABLE.o 
> >       for domain Table 
> >    Loading 
> > /fix/t1/camm/axiom/axiom/new/new/mnt/linux/algebra/HASHTBL.o
> >       for domain HashTable 
> >    Loading 
> > /fix/t1/camm/axiom/axiom/new/new/mnt/linux/algebra/INTABL.o 
> >       for domain InnerTable 
> >    Loading /fix/t1/camm/axiom/axiom/new/new/mnt/linux/algebra/ZMOD.o 
> >       for domain IntegerMod 
> > 
> > output replace (((0 . 1) . #<vector 0998e32c>)) (|MonoidRing| 
> > (|Polynomial| (|PrimeField| 5)) (|Permutation| (|Integer|))) 
> >                 Type: MonoidRing(Polynomial PrimeField 
> > 5,Permutation Integer)
> > (3) -> set [p,p]
> >    Loading 
> > /fix/t1/camm/axiom/axiom/new/new/mnt/linux/algebra/FSAGG-.o 
> >       for domain FiniteSetAggregate& 
> > 
> > output replace #<vector 09fc0efc> (|Set| (|MonoidRing| 
> > (|Polynomial| (|PrimeField| 5)) (|Permutation| (|Integer|)))) 
> >             Type: Set MonoidRing(Polynomial PrimeField 
> > 5,Permutation Integer)
> > (4) -> one? p
> > 
> > output replace T (|Boolean|) 
> >                                                               
> >   Type: Boolean
> > (5) -> 
> > ==============================================================
> > ===============
> > 
> > I can't yet see where |output| is supposed to be initialized.  All
> > occurrences I've found treat this symbol as a 'let-initialized'
> > local.  A similar situation appears to exist with the |data| variable
> > in define.boot.pamphlet.  Tim, what is the idea in these code
> > fragments?
> > 
> > ==============================================================
> > ===============
> > i-toplevel.boot.pamphlet
> > ==============================================================
> > ===============
> > --% Result Output Printing
> > 
> > recordAndPrint(x,md) ==
> >   --  Prints out the value x which is of type m, and records 
> > the changes
> >   --  in environment $e into $InteractiveFrame
> >   --  $printAnyIfTrue  is documented in setvart.boot. 
> > controlled with )se me any
> >   if md = '(Any) and $printAnyIfTrue  then
> >     md' := first  x
> >     x' := rest x
> >   else
> >     x' := x
> >     md' := md
> >   $outputMode: local := md   --used by DEMO BOOT
> >   mode:= (md=$EmptyMode => quadSch(); md)
> >   if (md ^= $Void) or $printVoidIfTrue then
> >     if null $collectOutput then TERPRI $algebraOutputStream
> >     if $QuietCommand = false then
> >       output(x',md')
> > 
> >       ^^^^^^  unbound function
> > 
> >   putHist('%,'value,objNewWrap(x,md),$e)
> >   if $printTimeIfTrue or $printTypeIfTrue then 
> > printTypeAndTime(x',md')
> >   if $printStorageIfTrue then printStorage()
> >   if $printStatisticsSummaryIfTrue then printStatisticsSummary()
> >   if FIXP $HTCompanionWindowID then mkCompanionPage md
> >   $mkTestFlag = true => recordAndPrintTest md
> >   $runTestFlag =>
> >     $mkTestOutputType := md
> >     'done
> >   'done
> > 
> > ==============================================================
> > ===============
> > define.boot.pamphlet
> > ==============================================================
> > ===============
> > compCapsuleItems(itemlist,$predl,$e) ==
> >   $TOP__LEVEL: local
> >   $myFunctorBody :local  := data    ---needed for translator
> > 
> >                             ^^^^  unbound variable
> >        
> >   $signatureOfForm: local
> >   $suffix: local:= 0
> >   for item in itemlist repeat $e:= 
> > compSingleCapsuleItem(item,$predl,$e)
> >   $e
> >  
> > ==============================================================
> > ===============
> > 
> > Take care,
> > 
> > 
> > > As mentioned in a previous email Axiom stores its variable bindings
> > > in a "frame" which, internally is an alist stored in the variable
> > > |$InteractiveFrame|
> > > 
> > > If you create the 'dom' variable above you can see it by doing:
> > > 
> > > )lisp (pprint |$InteractiveFrame|)
> > > 
> > > 
> > > btw, you can type
> > > 
> > > )lisp (setq $DALYMODE t)
> > > 
> > > and then any line that begins with an open-paren at the Axiom
> > > prompt will be given directly to the lisp. e.g. after setting
> > > $dalymode above you can type:
> > > 
> > > (pprint |$InteractiveFrame|)
> > > 
> > > directly to the Axiom prompt. It makes lisp debugging easier.
> > > 
> > > Tim
> > > address@hidden
> > > address@hidden
> > > 
> > > 
> > > 
> > > _______________________________________________
> > > Gcl-devel mailing list
> > > address@hidden
> > > http://mail.gnu.org/mailman/listinfo/gcl-devel
> > > 
> > > 
> > > 
> > 
> > -- 
> > Camm Maguire                                                
> > address@hidden
> > ==============================================================
> > ============
> > "The earth is but one country, and mankind its citizens."  -- 
> >  Baha'u'llah
> > 
> 
> 
> 

-- 
Camm Maguire                                            address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah




reply via email to

[Prev in Thread] Current Thread [Next in Thread]