(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.