2. Change the line after `-- (I)'   to the next (commented) line - of
                                                            Product(...),
    Change the line after `-- (II)'  to the next (commented) line - of
                                                  eDom := construct(...).
Then, the comipler reports the error of somewhat
                                         "SetCategory is not a LIST".

But may be, I guess now -- why!
Because the class  SetCategory  is not a member of  SetCategory,
and even not of a LIST
(while Record does not apply such a restriction).
If so, then there remains only the first question.

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

You try to construct

  Product(DomainConstruction, SetCategory)

However, the following shows you that this cannot work.

grep ^Product src/algebra/*
src/algebra/product.spad.pamphlet:Product (A:SetCategory,B:SetCategory) : C == T

You give "SetCategory" as "B". But SetCategory is not of type SetCategory. So this must fail. I agree, however, that the error message, is quite confusing.

In Record, you can usually put things of any type, i.e. you can also put types of types there.

As for

   Warnings:
      [1] coerce:  dConsBasic has no value

I think, you can safely ignore this.

-----------
Side remark. I find

      Rep := Union(dConsBasic : Symbol, dConsFr : %)

rather strange. In particular the %. You basically say, that a DomainConstruction is either a Symbol or it is itself. Do you want to express, that DomainConstruction is a list of Symbols? If yes, then I would simply write

    Rep == List Symbol

Ralf

--
You received this message because you are subscribed to the Google Groups "FriCAS - 
computer algebra system" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/fricas-devel?hl=en.

Reply via email to