axiom-developer
[Top][All Lists]
Advanced

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

Re: [Axiom-developer] Embedding Axiom


From: Tim Daly
Subject: Re: [Axiom-developer] Embedding Axiom
Date: Mon, 16 Nov 2009 13:38:12 -0500
User-agent: Thunderbird 2.0.0.21 (Windows/20090302)

Martin,

I re-read what I wrote and it is likely to not be very meaningful to you.
Let me try to demonstrate the point.

Suppose you wanted to implement an "if-only" statement in Scala.
Is this possible? I don't know Scala so I can't say but I would guess not.

In Python (which I do know) a statement like

  if-only x > 0:
     pass

would require a change to the compiler. A similar statement in Java
would also require a compiler change. An if-only statement in lisp is trivial
to implement and would work with every other part of the language, as in:

(if-only (> x 0) (pass))

This would be a trivial in-class quiz for a lisp course.

When designing and developing lisp code it is common to create the
language you would like to implement by creating the language you
would like to implement but doing it in such a way that the language
is embedded in lisp in a "first-class operations" way. Macros allow you
to dynamically extend the compiler so "if-only" is new, first-class syntax.

The Axiom redesign question amounts to understanding the language
we would like to have to implement the support for Spad.... and then
understanding the language we would like to have to implement the
language that supports Spad... and then recursively repeating the process.

Tim

Martin Baker wrote:
On Monday 16 November 2009 04:35:00 Tim Daly wrote:
This is a request for design discussion for those who are interested.

Tim,

Can I ask a nieve question? If you were starting from scratch would you write Axiom in lisp? I've no special axe to grind and no special technical knowledge, I'm just asking out of curiosity.

It just seems to me that for Axiom to hit the bigtime:

* potential programmers and advanced users would want a modern graphical IDE and useful error messages. * non-advanced users would want a html-like interface that changes with the fashion of the time (the look seems to be important these days).

I just wondered how practical it is to do all these things on top of lisp? As opposed to say another functional language supported by something like the Eclipse framework? When I first came across the spad language, a few weeks ago now! I was really surprised how similar it is to the language Scala, without knowing what the technical issues might be it would be interesting to know if spad could be built on top of Scala?

Martin


_______________________________________________
Axiom-developer mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/axiom-developer






reply via email to

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