t#1 vs. #1

3 views
Skip to first unread message

Ralf Hemmecke

unread,
Dec 30, 2011, 12:47:46 PM12/30/11
to fricas-devel
Hello,

I'm seeking for some information about the things stored inside a modemap.

It looks like the structure is approximately as follows.

((
(NAME ARG1 ARG2 ... ARGN)
(TYPE-FOR-NAME)
(TYPE-FOR-ARG1)
...
(TYPE-FOR-ARGN)
)
(T NAME)
)

However, there seems to be a difference between category constructors
and domain constructors in terms of using |#1| vs. |t#1| inside the
"TYPE-FOR-ARGi" part.

It seems that |ẗ#1| also refers to the first parameter of the original
constructor (NAME). Is that true? Why is there a use of |ẗ#1| if |#1|
would suffice?

Ralf

==============
)boot modemap := GETDATABASE('PointsOfFiniteOrder,'CONSTRUCTORMODEMAP)
((
(|PointsOfFiniteOrder| |#1| |#2| |#3| |#4| |#5|)
(CATEGORY |package|
(SIGNATURE |order|
((|Union| (|NonNegativeInteger|) "failed")
(|FiniteDivisor| |#2| |#3| |#4| |#5|)))
(SIGNATURE |torsion?|
((|Boolean|) (|FiniteDivisor| |#2| |#3| |#4| |#5|)))
(SIGNATURE |torsionIfCan|
((|Union|
(|Record| (|:| |order| (|NonNegativeInteger|))
(|:| |function| |#5|))
"failed")
(|FiniteDivisor| |#2| |#3| |#4| |#5|)))
(SIGNATURE |cmult|
((|SparseMultivariatePolynomial| |#1| (|Kernel| |#2|))
(|List| (|SparseMultivariatePolynomial| |#1| (|Kernel|
|#2|)))))
(SIGNATURE |possibleOrder|
((|NonNegativeInteger|) (|FiniteDivisor| |#2| |#3| |#4| |#5|)))
(IF (|has| |#1| (|CharacteristicZero|))
(IF (|has| |#2| (|AlgebraicallyClosedField|))
(SIGNATURE |simplifyCoeffs|
((|NonNegativeInteger|)
(|FiniteDivisor| |#2| |#3| |#4| |#5|)
(|List| (|Kernel| |#2|))))
|noBranch|)
|noBranch|)
)
(|Join| (|Comparable|) (|IntegralDomain|) (|RetractableTo| (|Integer|)))
(|FunctionSpace| |#1|)
(|UnivariatePolynomialCategory| |#2|)
(|UnivariatePolynomialCategory| (|Fraction| |#3|))
(|FunctionFieldCategory| |#2| |#3| |#4|)
)
(T |PointsOfFiniteOrder|)
)
==============
)boot modemap :=
GETDATABASE('UnivariateLaurentSeriesConstructorCategory,'CONSTRUCTORMODEMAP)
((
(|UnivariateLaurentSeriesConstructorCategory| |#1| |#2|)
(|Category|)
(|Ring|)
(|UnivariateTaylorSeriesCategory| |t#1|)
)
(T |UnivariateLaurentSeriesConstructorCategory|)
)
==============
)boot modemap := GETDATABASE('FunctionFieldCategory,'CONSTRUCTORMODEMAP)
((
(|FunctionFieldCategory| |#1| |#2| |#3|)
(|Category|)
(|UniqueFactorizationDomain|)
(|UnivariatePolynomialCategory| |t#1|)
(|UnivariatePolynomialCategory| (|Fraction| |t#2|))
)
(T |FunctionFieldCategory|)
)


Reply all
Reply to author
Forward
0 new messages