axiom-developer
[Top][All Lists]
Advanced

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

[Axiom-developer] spad: language and compiler


From: Gabriel Dos Reis
Subject: [Axiom-developer] spad: language and compiler
Date: 24 Aug 2006 12:30:12 +0200

[ I added my colleague Jaakko in CC: as he is not on axiom lists. ]

C Y <address@hidden> writes:

| --- Gabriel Dos Reis <address@hidden> wrote:
| 
| > root <address@hidden> writes:
| > | I encourage you to raise your eyes to the horizon and ignore the
| > | rocky road under your feet.
| 
| I think the SPAD vs. Aldor question is probably the single biggest rock
| at the moment.  I am very glad indeed to hear there is work on this
| being done behind the scenes.
| 
| May I suggest as a constructive focus for current work that some of us
| start to check out the SPAD compiler as a unit of the code and see what
| might be done to start updating/polishing/figuring it out?  For myself
| I couldn't even identify at the moment which parts of the code contain
| the SPAD compiling system or how integrated they are with other parts
| of the system.  I assume other folks have better knowledge of this, but
| if we have a concrete task we can focus on it might help get this
| moving in the right direction.  Gabriel, since you're working on some
| of this already can you suggest constructive work that those less
| skilled in the compiler arts might do to help you?  One thing which I
| might be able to do something with - since there is a cmucl port out
| there presumably part of that work must have gotten SPAD -> lisp
| translation working on a more or less ANSI system - would figuring out
| what those changes were and getting that work into the silver branch be
| of some help?  Or is that kind of orthogonal to the main direction?
| 
| I don't have all that much time available, and less compiler skill, but
| I would like to be able to do something more constructive and helpful
| than writing emails :-).
| 
| Cheers,
| CY


First of, thanks for your constructive suggestions.

I suspect one of the problem we need to solve is why we would want to
move to Aldor.  I mean, what is missing from SPAD that Aldor fixes and
that makes life easier to add new libraries to Axiom?  Surely people
woudl like to Aldor to have more.  What?

I know Martin has examples for dependent types.  Are those the only
things we are missing?  

My take is that the improvement to the SPAD compiler, first, needs to
be driven by needs we have for writing Axiom libraries.


We need a clearer type system and semantics description -- this
independently of whether we convert to Aldor or not.

Jaakko and I are interested in the dependent type system aspect, and
exploration of the notion of "concepts" (read mathematical structures)
as way to design generic and resuable libraries -- the bedrock of
Axiom.  Notice that aspect is mostly from -software engineering- point
of view (a problem that many mathematical software seem to suffer
from).  So that work is at the frontier of "applied type systems" --
so not hardcore computational algebra.  I think that is alright, since
most of Axiom developers and users are more concerned with
computational math than obscure compiler technicalities, and Axiom
needs that to be solved.  We settled on exploring the "B natural"
language.  For initial exploratory purpose, I simplified many points
and call the resulting language "Bemol". 

If people can look at the existing Axiom libraries (of planned libraries)
souces and say what they would like to express _directly_ -- assuming they
had the linguistic constructs -- that would help us shape directions
for the SPAD language and compiler.  It is important we aim at "ideal
expression", not just limited to what the current SPAD or Aldor
languages accept (hi Martin, Ralf).

Of course, we have gotten the lisp problem.  I don't volunteer to
attack that one yet.  :-/  However, I have the desire to target not
just Lisp, but C, C++ and probably Java or C#.  There are interesting
problems lurking there, but not none that is urgent. 

We need a clearer object model.  Currently, one has to read many boot
and lisp files in src/interp to start getting a little bit of sense of
what is going on.  I suspect the object model goes hand in hand with
the type system.

Thanks,

-- Gaby




reply via email to

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