[Top][All Lists]

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

Re: [Axiom-developer] Lisp

From: William Sit
Subject: Re: [Axiom-developer] Lisp
Date: Mon, 03 Mar 2008 17:34:00 -0500


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."


On Mon, 3 Mar 2008 13:41:07 -0500
 "Bill Page" <address@hidden> wrote:

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.

Bill Page.

On 3/3/08, address@hidden <address@hidden> wrote:
I'd encourage you to spend a few minutes reading

It is a gentle introduction to the reason why I'm moving
 all of the internal code to common lisp.


Axiom-developer mailing list

William Sit, Professor of Mathematics, City College of New York Office: R6/202C Tel: 212-650-5179, Fax: 212-862-0004
Home Page:

reply via email to

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