axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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)
> } == 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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]