Hi Gaby, Martin,

I've uncovered another problem in getting Martin's framework to work 
under OpenAxiom.  Here's some stripped down code illustrating the problem:

**begin code*******************************************************

)abbrev domain SCRT SCartesian

SCartesian(n) : Exports == Implementation where

   n: PositiveInteger
   PI   ==> PositiveInteger
   DF   ==> DoubleFloat

   Exports ==  SetCategory with
     sipnt: (a:Integer,b:Integer) -> %
     spnt: (a:DF,b:DF) -> %

   Implementation == Type add
     sipnt(a:Integer,b:Integer):% == spnt(a::DoubleFloat,b::DoubleFloat)


     Rep := PrimitiveArray DF

     spnt(a:DF,b:DF):% ==
       pt := new(n+1,0$DF)$Rep
       pt.0 := a
       pt.1 := b
       pt.n := 1...@df
       pt

)abbrev domain SCENE Scene

Scene(): Exports == Implementation where
  PT ==> SCartesian(2)
  I ==> Integer
  NNI ==> NonNegativeInteger
  LINES ==> List List PT
  BOUNDS ==> Record(mins:PT,maxs:PT)
  PARAMS ==> Union(points:LINES,boundbox:BOUNDS)

  Exports == with
   createSceneRoot:() -> %
   coerce: (n: %) -> OutputForm

  Implementation == add

   Rep := Record(type : NNI,children : List %,parameters: PARAMS)
--  Rep := Record(type : NNI,children : List %,parameters: BOUNDS)

   createSceneRoot(): % ==
     bb:BOUNDS := [sipnt(0::I,0::I)$PT,sipnt(1200::I,800::I)$PT]
     [1::NNI,[],[bb]]
--    [1::NNI,[],bb]

   coerce(n: %):OutputForm ==
     s:String := "scene "
     if n.type = 1 then s := concat(s,"root")
     s := concat([s," #ch=",string(#(n.children))])
     s::OutputForm

**end code******************************************************

Using a Fricas build from trunk 2010-12-07  and an OpenAxiom build from 
trunk 2010-12-16 these domains compile under both.  However whereas 
under Fricas I get

(1) -> createSceneRoot()$Scene

    (1)  "scene root #ch=0"
                                                                   Type: 
Scene


under OpenAxiom I get

(35) -> createSceneRoot()$Scene

    >> System error:
    The value 5 is not of type LIST.


I can get rid of the error under OpenAxiom by either eliminating the 
SetCategory assertion in the SCartesian domain or by changing the 
commented out lines for the corresponding ones.

Any ideas?

Arthur



------------------------------------------------------------------------------
Lotusphere 2011
Register now for Lotusphere 2011 and learn how
to connect the dots, take your collaborative environment
to the next level, and enter the era of Social Business.
http://p.sf.net/sfu/lotusphere-d2d
_______________________________________________
open-axiom-devel mailing list
open-axiom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open-axiom-devel

Reply via email to