(1) -> )show ListPackage
 ListPackage(T$: BasicType) is a package constructor
 Abbreviation for ListPackage is LISTPKG
 This constructor is not exposed in this frame.
─────────────────────────────── Operations ────────────────────────────────
 shiftLeft : List(T$) -> List(T$)
 cartesian : List(List(T$)) -> List(List(T$))
 cartesianPower : (List(T$),NonNegativeInteger) -> List(List(T$))
 minShift : List(T$) -> List(T$) if T$ has ORDSET
 splitList : ((T$ -> Boolean),List(T$)) -> Record(yes: List(T$),no: List(T$))
 topologicalSort : (((T$,T$) -> Boolean),List(T$)) -> List(T$)
 topologicalSort : (List(List(Boolean)),List(T$)) -> List(T$)
 topologicalSort! : (((T$,T$) -> Boolean),List(T$)) -> List(T$)

====


As you can see, in the result it's "T$" instead of "T".

This problem is not limited to ListPackage, it happens to
any domain that has a type variable "T".

I did some debugging, and find that in i-syscmd.boot#L2303
"GETDATABASE(op, 'CONSTRUCTORFORM)" gives T$:

(1) -> )boot GETDATABASE("ListPackage",'CONSTRUCTORFORM)

(EVAL-WHEN (EVAL LOAD)
  (PROG () (RETURN (GETDATABASE '|ListPackage| 'CONSTRUCTORFORM))))
Value = (|ListPackage| T$)

But I am not familiar with how database is constructed,
and how only variable "T" gets special treatment.

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to