I did the following experiment.
In FriCAS, I get an error when I uncomment the line containing the Rep in
SPECIES. This does not happen in Open-Axiom. Otherwise, it compiles and I can
do
(1) -> S1 := 1$Species INT
(1) "CharacteristicSpecies(1)"
Type: Species(Integer)
(2) -> S2 := S1::SpeciesCategory INT
You cannot use SpeciesCategory(Integer) or any other category in a
target, coercion, or package-call context.
(2) -> S2 := co(S1)
(2) CharacteristicSpecies(Integer,1)
Type: SpeciesCategory(Integer)
(3) -> structures([1])$S2
(3) [{1}]
Type: List(CharacteristicSpecies(Integer,1))
(4) -> structures([1,2,3])$S2
(4) []
Type: List(CharacteristicSpecies(Integer,1))
However, the error message in (2) occurs in both Open-Axiom and FriCAS.
Would be great if this could be fixed. And even better, if we could have a fix
for the Rep problem in FriCAS, too...
Gaby, do you think you could help us?
Martin
)abb category SPECCAT SpeciesCategory
SpeciesCategory(L: SetCategory): Category == SetCategory with
structures: Set L -> List %
name: () -> String
)abb domain CHARSPEC CharacteristicSpecies
CharacteristicSpecies(L: SetCategory, n: Integer): SpeciesCategory L
== add
Rep := Set L
coerce(t: %): OutputForm == coerce(t)$Rep
structures s == if #s = n then [s] else []
name () == concat ["CharacteristicSpecies(", string n, ")"]
)abb domain SPECIES Species
Species(L: SetCategory): Ring with
coerce: % -> SpeciesCategory L
== add
-- Rep := SpeciesCategory L
coerce(s: %): OutputForm ==
S := s pretend SpeciesCategory(L)
name()$S::OutputForm
coerce(s: %): SpeciesCategory L == s pretend SpeciesCategory(L)
0 == CharacteristicSpecies(L, 0) pretend Rep
1 == CharacteristicSpecies(L, 1) pretend Rep
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
open-axiom-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/open-axiom-devel