[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Axiom-developer] Re: [Axiom-math] Dynamically constructed return types
From: |
Martin Rubey |
Subject: |
[Axiom-developer] Re: [Axiom-math] Dynamically constructed return types / Aldor |
Date: |
Mon, 10 Jan 2005 11:48:14 +0100 |
Dear Tim, *
root writes:
> I'm sorry but your note suffers from "context depravation", that is,
> a fancy way of say "what?".
Sorry, I was a bit short. The "proof of concept" I delivered shows that
contrary to the axiom-spad compiler, aldor allows dependent types in function
signatures. I.e., you can define a package or domain FOO that exports a
function whose return type depends on the *function* parameter! In axiom, it
may only depend on domain or package parameters. For example:
FOO: with {f:(n:Integer)->IntegerMod(n) } ==
add {f(n:Integer):IntegerMod(n) == coerce(10)$IntegerMod(n) }
Marcus Better ran into a situation where this is needed. In the axiom algebra,
the file expr2ups.spad makes heavy use of the Any domain, which could be
avoided if we could use the Aldor compiler.
> re: Aldor. It should work with Axiom. Aldor has options which allow it to
> generate Axiom domains which can be loaded.
No, it does not work anymore. More precisely: You *can* compile a *function*
with the Aldor compiler and use it in Axiom, as shown in
http://lists.nongnu.org/archive/html/axiom-mail/2004-09/msg00035.html
But the examples in
http://www.csd.uwo.ca/~watt/aldor/UserGuide/chap18.html#1
do not work. They should, but they don't. I would be *VERY* grateful, if you
could give me pointers.
Martin
- [Axiom-developer] Re: [Axiom-math] Dynamically constructed return types / Aldor,
Martin Rubey <=