[Axiom-developer] Re: [Aldor-l] RE: Axiom domains and Aldor returntypes
William Sit
wyscc at cunyvm.cuny.edu
Wed Jan 12 12:00:00 EST 2005
Ralf Hemmecke wrote:
>
> Hi Bill,
>
> >>Foo: with { g: (n: PositiveInteger, k: PositiveInteger) ->
> >>PrimeField(n) } == add {
> >>g(n: PositiveInteger, k: PositiveInteger ): PrimeField(n) ==
> >> k::Integer::PrimeField(n) }
>
> > Ok, I will work with this example. Yes, it is better.
>
> Well, I haven't checked whether it should really work, but
> shouldn't be
>
> Foo: with {
> g: (n: PositiveInteger, k: PositiveInteger) ->
> (P: PrimeFieldCategory, x: P)
> } == add {
> g(n: PositiveInteger, k: PositiveInteger ):
> (P: PrimeFieldCategory, x:P) == {
> (PrimeField(n), k::Integer::PrimeField(n)
> }
> }
>
> be even better?
In fact you just pointed a way to solve the problem! Notice that you are in
effect constructing a domain! So first create this domain (call this anything
else you like):
--%PointedPrimeField
)abbrev domain PPF PointedPrimeField
PointedPrimeField(n:PositiveInteger):Cat==Dog where
Cat == FiniteFieldCategory with
foo:PositiveInteger->PrimeField(n)
Dog == PrimeField(n) add
foo(k)==k::Integer::PrimeField(n)
After compiling, define in the interpreter
g(n,k)==foo(k)$PPF(n)
and it works (in Axiom)! (Do not declare the types for g because n is not
defined).
But I have trouble with path in windows:
Processing PointedPrimeField for Browser database:
--->-->PointedPrimeField((foo ((PrimeField n) (PositiveInteger)))): Not document
ed!!!!
--->-->PointedPrimeField(constructor): Not documented!!!!
--->-->PointedPrimeField(): Missing Description
h:/dostools/rm.exe: j:/program: No such file or directory
h:/dostools/rm.exe: j:/progra~1/axiom/mnt/windows/lib/files/axiom/mnt/windows/li
b/ppf.nrlib: No such file or directory
>> System error:
Cannot rename the file #P"j:/Program Files/axiom/mnt/windows/lib/PPF.erlib" t
o #P"j:/Program Files/axiom/mnt/windows/lib/PPF.NRLIB".
protected-symbol-warn called with (NIL)
But that is just because "Program Files" need be in quotes?
William
More information about the Aldor-l
mailing list