[Top][All Lists]

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

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

From: Page, Bill
Subject: RE: [Axiom-developer] Re: [Aldor-l] RE: Axiom domains and Aldor returntypes
Date: Wed, 12 Jan 2005 15:01:51 -0500


On Wednesday, January 12, 2005 12:00 PM you wrote:
> Ralf Hemmecke wrote:
> > 
> > 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).

Very Neat!
> But I have trouble with path in windows:
>    Processing PointedPrimeField for Browser database:
> --->-->PointedPrimeField((foo ((PrimeField n) 
> (PositiveInteger)))): Not documented!!!!
> --->-->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?

Yes, this is a bug in the Windows version of Axiom caused
by the fact that the Axiom code expects to be able to run
unix system commands like `rm' (which means delete file).
In this case it is calling a program called rm.exe that
was previously installed on your system in a directory
called `dostools'. This is non-standard for Windows -
usually there is no rm.exe file anywhere unless you have
installed some other package that contains it. Like you
said, this would be ok if the location of Axiom was in
a Path that did not contain any spaces.

I will be updating the Axiom for Windows distribute soon to
eliminate this and a few other similar problems by recoding
everything in lisp. Right now the only work-around is to
re-install Axiom for Windows in a location that does not
have any spaces in the Path.

Bill Page.

reply via email to

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