axiom-developer
[Top][All Lists]

## Re: [Axiom-developer] Re: [Aldor-l] RE: Axiom domains and Aldor returnt

 From: William Sit Subject: Re: [Axiom-developer] Re: [Aldor-l] RE: Axiom domains and Aldor returntypes Date: Wed, 12 Jan 2005 12:00:00 -0500

```
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)
>    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)
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

```