[Aldor-l] implementing aldor / new species approach

Martin Rubey martin.rubey at univie.ac.at
Sun Aug 20 08:43:49 EDT 2006


Dear all,

Ralf Hemmecke <ralf at hemmecke.de> writes:


> I haven't yet seen a use case for generation and use of categories at
> runtime. Any theoretical suggestions?

Yes. Imposing restrictions is a bad thing. Note that our use of types being
first class objects, in particular my parser, is probably not easy to
foresee. However, it turned out to be very useful. Maybe defining categories on
the fly turns out to be very hip some time.

It would be OK for me though to implement only a part of the Aldor language. In
fact, SPAD implements a subset of the Aldor language, at least roughly. It has
proven to be quite useful, you can even implement a computer algebra system
with it. Only, meanwhile we hit the restrictions on dependent types and types
being first class objects (I.e., List Ring is not allowed), so it is time to
extend it. I wouldn't though it away, unless it turns out that this is
easier. I'd be very happy with the old SPAD compiler, if it would understand
dependent types, at least in the most common cases. And I want to be able to
say l: List Ring := [Integer, Polynomial Integer, PF 5].

Furthermore, I'd like to be able to define domains on the command lines. (It is
not necessary to have Categories on the command line, though. In fact, it seems
that this is too much to ask for, looking at aldor -gloop segfaulting very
often.)

> I wrote:
> > Thus, I think that

> >> And, in particular for species there seems to be need to call the compiler.
> 
> > is incorrect. To look at it, get
> > svn://svn.risc.uni-linz.ac.at/hemmecke/combinat/branches/experiments/rubey
 
> Martin, your approach seems to work, but I am still not sure whether it just
> works because of the current compiler. I would be happier if I had a sound
> explanation in terms of the *Aldor language* not in terms of the *compiler*.

I agree. However, if somebody is going to implement Aldor a second time, I'd
argue that this code working is so useful, that it should be abstracted and
included in the specification.

In fact, I have the feeling that it is not a coincidence that it works. After
all, it works with all compiler settings. Don't worry, I'm not saying that it
should work given the specification of the AUG. I'm only saying that it *might*
be that way. I really hope that we can explain the behaviour. Christian
Aistleitner, did you try?


Ralf: I quite like your new species file. There is so little code in it that
is's got to be the right approach :-) Unfortunately I forgot how to see the
results of the test cases, and my Aldor compiler is on the other end of the
modem only... Did you try to leave away the label parameter? (although that's
one thing I really like! By the way, I guess one can make this parameter
optional, don't you think?)


Martin




More information about the Aldor-l mailing list