axiom-developer
[Top][All Lists]
Advanced

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

[Axiom-developer] RE: Doyen


From: Page, Bill
Subject: [Axiom-developer] RE: Doyen
Date: Wed, 16 Nov 2005 14:43:55 -0500

On Wednesday, November 16, 2005 6:55 AM Tim Daly Jr. wrote:
> ... 
> 
> Axiom has been ported by writing compatibility layers that emulate
> the Lisp it was being ported from.  At least for the code I 
> looked at, it's no more a Common Lisp program than it is a CLTL1
> (a previous semi-standard) program.  It's more like a Maclisp/VMLisp
> program that predates any semblance of modern style. It also looks
> like a number of unfortunately bright hackers cut their teeth on it.
> Take this with a grain of salt, however, because I only spent a few
> weeks working with the code, and haven't read all of it.
>

But aside from the fact that the resulting "style" might be quite
ugly, is there anything besides the use of packages that prevents
Axiom from being built using a Common Lisp compliant Lisp? I don't
mean is it "good" Common Lisp, just whether it will compile or not.

> ...
> In general, I don't think it's a hot idea to use a web browser
> as an interface for software meant to run locally.  It's like
> telephoning somebody in the next room.

I don't know about that. For example I email people who sit right
next to me in the office all the time and sometimes even leave
voice mails. I think it depends on one's goals. For Doyen I think
some of these goals might be:

Goal number 1: GUI portability between Linux and Windows

Goal number 2: Common look and feel of user interface

Goal number 3: Easily extended to a networked environment

All of these things suggest to me a browser-based interface.

> 
> > But perhaps I completely mis-understood. What is a 'web repl'?
> 
> REPL is a term that is defined in the first chapter or two of 
> basically every introductory work written about Lisp.  If you
> don't know what it is, it would be a good thing to look up.
> A web repl is a repl on a web page.

But why does anyone want a read-eval-print-loop via the web? Is
the idea to do Lisp development through the web? I doubt that
such interactive tools make much sense in this environment - at
least it seems to me that a lot (almost all) web development
takes place without such a facility. For example Zope supports
through-the-web application development including Python scripts
but it does not provide anything like an interactive REPL although
of course Python REPL does exist in console mode.

> 
> > With the proper tools, I think a web application (even in
> > lisp) should probably be somewhere between 100 to 1000 lines
> > of code so I don't know how much opportunity that would give
> > me to learn much more about lisp. :)
> 
> This is like saying that every rope is 10 feet long, and that
> wouldn't be enough to learn about tying knots.  It's just so
> wrong.
>

I am sure anyone can tie knots in programs of less than 100 lines
of code. ;) But my point is that usually we are not doing much
programming in these systems. We are actually mostly learning how
to use large and complex packages written by other people. It seems
that a lot of people who really like programming do not much like
doing this. Sometimes the difficulty and reluctance to learn how
to use other people's work is so high that programmes spend a lot
of time just re-inventing things their own way rather than investing
the time necessary to learn how to integrate and re-use.

I guess that learning how to program well in lisp is quite a
different thing than learning code re-use in general. In fact
Peter Norvig has argued that Lisp is not particularly well suited
to hetrogenuous projects that involve several different kinds of
tools and programmers with varying levels of experience - in other
words most open source projects. Maybe this is changing gradually.
 
> > Zope works. It has some very high level applications available
> > off-the-shelf and it required about 100 lines of python code
> > to integrate with Axiom - so why not use it?
> 
> Hey, why should anybody care what you use?  Pick your poison.
> If you do the heavy lifting on a project, you have to use
> something that you want to play with.

Really, I don't want to play with any of this. I want to use
computer algebra for theoretical physics. I would prefer if
heavy lifting was done in a collaborative manner, shared among
several people. But instead, the suggestion is that I should
start by studying a textbook on lisp ...

> 
> Usually, the more talk about a project, the less is actually
> happening with it. 
> 

The reason to care what poison we choose and the reason to spend
a lot of time discussing it is the hope that in the longer term
this will eventually lead to co-operative development instead of
a series of one-person shows.

Regards,
Bill Page.




reply via email to

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