Bill:
As I read your quoted passage and comments, it occurs to
me (disclaimer: I am not a language expert, so take my
comments with a large grain of salt) that the even more
important statement to be emphasized is: "We can layer
these languages on top of each other and create a language
for writing web-based trading applications" where instead
of "trading" we can replace it with Axiom or mathematical.
After all I find that each category and domain in Axiom is
a DSL (domain specific language) that the founders "layer
these languages on top of each other to create a language"
for new DSLs. That is what contributed to Axiom's problem
solving power in mathematics. The underlyling lisp is just
the foundation that allows the bootstrap and maybe
streamlining some foundational operations. Lisp is of
course important, but I imagine if there were a Tim-twin
who favors another foundational language other than lisp,
Axiom could be built on that as well. (In some way, FOAM
can be considered as one such foundational language for
Aldor.)
But as a simple user of Axiom, the most important thing
for me is that "it works."
William
On Mon, 3 Mar 2008 13:41:07 -0500
"Bill Page" <[EMAIL PROTECTED]> wrote:
Tim,
Did you actually read this article? In fact the article
contains the
specific reason why you should *not* be converting BOOT
code to Lisp:
(my emphasis ** ** below):
---------
...
Domain Specific Languages
In this article we've already encountered two domain
specific
languages: Ant (specific to dealing with project builds)
and our
unnamed mini-language for dealing with to-do lists. The
difference is
that Ant was written from scratch using XML, an XML
parser, and Java
while our language is embedded into Lisp and is easily
created within
a couple of minutes.
We've already discussed the benefits of DSLs, mainly why
Ant is using
XML, not Java source code. **Lisp lets us create as many
DSLs as we
need for our problem.** We can create domain specific
languages for
creating web applications, writing massively multiplayer
games, doing
fixed income trading, solving the protein folding
problem, dealing
with transactions, etc. We can layer these languages on
top of each
other and create a language for writing web-based trading
applications
by taking advantage of our web application language and
bond trading
language. Every day we'd reap the benefits of this
approach, much like
we reap the benefits of Ant.
Using DSLs to solve problems results in much more
compact,
maintainable, flexible programs. In a way we create them
in Java by
creating classes that help us solve the problem. The
difference is
that Lisp allows us to take this abstraction to the next
level: we're
not limited by Java's parser. Think of writing build
scripts in Java
itself using some supporting library. Compare it to using
Ant. Now
apply this same comparison to every single problem you've
ever worked
on and you'll begin to glimpse a small share of the
benefits offered
by Lisp.
-------
BOOT is just another DSL. Writing Axiom internals in BOOT
does not
mean that we are no longer use Lisp, rather it means we
are simply
using Lisp in the way it was intended to be used.
Regards,
Bill Page.
On 3/3/08, [EMAIL PROTECTED]
<[EMAIL PROTECTED]> wrote:
I'd encourage you to spend a few minutes reading
http://www.defmacro.org/ramblings/lisp.html
It is a gentle introduction to the reason why I'm
moving
all of the internal code to common lisp.
Tim
_______________________________________________
Axiom-developer mailing list
Axiom-developer@nongnu.org
http://lists.nongnu.org/mailman/listinfo/axiom-developer
William Sit,
Professor of Mathematics, City College of New York
Office: R6/202C Tel: 212-650-5179, Fax: 212-862-0004
Home Page: http://scisun.sci.ccny.cuny.edu/~wyscc/
_______________________________________________
Axiom-developer mailing list
Axiom-developer@nongnu.org
http://lists.nongnu.org/mailman/listinfo/axiom-developer