axiom-developer
[Top][All Lists]
Advanced

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

RE: [Axiom-developer] Help with JET


From: Bill Page
Subject: RE: [Axiom-developer] Help with JET
Date: Thu, 9 Feb 2006 23:33:29 -0500

On February 9, 2006 10:57 PM I wrote:
> ... 
> Now, the code in JetBundle that apparently generates the warning
> is right at the top of the definition of this domain:
> 
> http://wiki.axiom-developer.org/SandBoxJetBundle
> 
> V    ==> Vector
> Sy   ==> Symbol
> 
> ...
> 
>     nn:NNI := #IVar
>     mm:NNI := #DVar
>     nameX:V Sy := new(nn, first IVar)
>     nameU:V Sy := new(mm, first DVar)
>     for i in 2..nn repeat
>       qsetelt!(nameX,i,qelt(IVar,i))
>     for i in 2..mm repeat
>       qsetelt!(nameU,i,qelt(DVar,i))
> 
> ------------
> 
> which is apparently copying the List into a Vector for each
> parameter. I wonder why not just write?
> 
>   nameX:=Ivar::V Sy
> 
> What's the point of calling 'new' here?

Well I changed the code of JetBundle as follow:

--    nameX:V Sy := new(nn, first IVar)
--    nameU:V Sy := new(mm, first DVar)
--    for i in 2..nn repeat
--      qsetelt!(nameX,i,qelt(IVar,i))
--    for i in 2..mm repeat
--      qsetelt!(nameU,i,qelt(DVar,i))

    nameX := construct(IVar)$V(Sy)
    nameU := construct(DVar)$V(Sy)

and the weird compiler warning message goes away, but the
Internal Error message:

)trace evalSlotDomain
   Function traced: evalSlotDomain 
janet:de := generate [eq1,eq2]
1<enter evalSlotDomain : (|JetBundle| (|x| |y| |z|) (|u|))\#<vector
08ed29d8>
 2<enter evalSlotDomain : (|x| |y| |z|)\#<vector 08ed29d8>
  3<enter evalSlotDomain : |y|\#<vector 08ed29d8>
   Internal Error
   Unexpected error in call to system function evalSlotDomain

--------

still remains :(

I looked quickly at the code for 'evalSlotDomain' in:

http://wiki.axiom-developer.org/axiom--test--1/src/interp/InteropBoot

and the recursion seems to occur near the end of 'evalSlotDomain'

  u is [op,:argl] => APPLY(op,[evalSlotDomain(x,dollar) for x in argl])

i.e. the list '(|x| |y| |z|)' seems to be confused with a lisp
Sexpression but I am way beyond of my level of incompetence here
...

Ideas?

Regards,
Bill Page.






reply via email to

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