[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Axiom-developer] spad: language and compiler
From: |
Ralf Hemmecke |
Subject: |
Re: [Axiom-developer] spad: language and compiler |
Date: |
Wed, 30 Aug 2006 13:35:55 +0200 |
User-agent: |
Thunderbird 1.5.0.5 (X11/20060719) |
> f(m: INT, n: INT): PF n == m::PF(n)
that's OK.
> [f(100, n) for n in primes(1,100)]
that's stupid.
Why? I would think it is an element (not a list) in a cartesian product
of #primes(1,100) prime fields.
OK, if you like. But then I would like to see the definition of the
bracket function. Can you give that?
I strongly believe you can't, because that would require Aldor to
compute "primes(1,100)" at compile time. Which is currently not possible
and if the compiler is allowed to evaluate it then it might run into an
infinite loop (at compile time) since the "primes" function does not
terminate as you would expect. Compile time evaluation in full
generality introduces a way make it really hard to find bugs.
But anyway, maybe Aldor should allow compile time evaluation.
Ask yourself, what type that list will have and you realise that
Aldor will
reject that its compilation.
Excuse me, Gaby. Sorry about being so stupid.
It's a perfectly good mathematical object in a cartesian product.
William is right, but I cannot believe that a construction like
[f(100, n) for n in [2,3,5]$List(Integer)]
would work.
[f(100, n), f(100, n), f(100, n)]
should be easily definable and give an element in the cartesian product
of PF(2), PF(3), and PF(5). But that is a finite construct and not
done via Generator as above.
> [a::P for P in L]
That is as problematic as the first list.
"problematic" is an understatement. Sorry.
Ditto. The only problem I see that can't be handled is if you make it
into a function of k:
[f(100, n) for n in primes(1,k)]
Initially, I believe, Martin wanted lists. What you are calling for is a
cartesian product constructor of the form.
PFCartesian(k: Integer): with {
coerce: ((n: Integer) -> PF(n)) -> %;
...
} == add {
...
}
Then instead of [f(100, n) for n in primes(1,k)] it would be more
appropriate to define
k: Integer == << stdin; -- read from standard input and make it constant
foo(m: Integer)(n: Integer): PF(n) == m :: PF(n);
import from PFCartesian(k);
z := foo(42) :: PFCartesian(k);
Such a construction would work, but it does not involve a Generator or
something that you must compute at compile time.
Ralf
- Re: [Axiom-developer] SAGE, Axiom, and usage, (continued)
- Re: [Axiom-developer] SAGE, Axiom, and usage, Ralf Hemmecke, 2006/08/23
- Re: [Axiom-developer] SAGE, Axiom, and usage, Gabriel Dos Reis, 2006/08/23
- [Axiom-developer] Axiom and commercial success, root, 2006/08/23
- [Axiom-developer] Re: Axiom and commercial success, Gabriel Dos Reis, 2006/08/23
- Re: [Axiom-developer] Re: Axiom and commercial success, C Y, 2006/08/23
- [Axiom-developer] spad: language and compiler, Gabriel Dos Reis, 2006/08/24
- Re: [Axiom-developer] spad: language and compiler, Martin Rubey, 2006/08/24
- Re: [Axiom-developer] spad: language and compiler, Ralf Hemmecke, 2006/08/24
- Re: [Axiom-developer] spad: language and compiler, Martin Rubey, 2006/08/24
- Re: [Axiom-developer] spad: language and compiler, William Sit, 2006/08/30
- Re: [Axiom-developer] spad: language and compiler,
Ralf Hemmecke <=
- Re: [Aldor-l] [Axiom-developer] spad: language and compiler, Jacques Carette, 2006/08/30
- Re: [Aldor-l] [Axiom-developer] spad: language and compiler, Gabriel Dos Reis, 2006/08/30
- Re: [Aldor-l] [Axiom-developer] spad: language and compiler, Jacques Carette, 2006/08/30
- Re: [Aldor-l] [Axiom-developer] spad: language and compiler, Gabriel Dos Reis, 2006/08/30
- Re: [Axiom-developer] spad: language and compiler, William Sit, 2006/08/30
- Re: [Axiom-developer] spad: language and compiler, Ralf Hemmecke, 2006/08/30
- RE: [Aldor-l] [Axiom-developer] spad: language and compiler, Page, Bill, 2006/08/30
- Re: [Aldor-l] [Axiom-developer] spad: language and compiler, Ralf Hemmecke, 2006/08/31
- Re: [Aldor-l] [Axiom-developer] spad: language and compiler, Ralf Hemmecke, 2006/08/31
- RE: [Axiom-developer] Re: Axiom and commercial success, Bill Page, 2006/08/23