axiom-developer
[Top][All Lists]

## RE: [Axiom-developer] Re: learning Lisp

 From: Page, Bill Subject: RE: [Axiom-developer] Re: learning Lisp Date: Tue, 6 Dec 2005 16:47:39 -0500

On Tuesday, December 06, 2005 1:14 PM Tim Daly wrote:
> Bill Page wrote:
> > Of course but why doesn't $dalymode allow the same short-cut > > for )lisp inside ')read'? > > because$dalymode only works from the input command prompt and
> not from files. it's not architected, it's just a hack. if we
> think this is useful then it should be architected but it's only
> there because, as a developer, i spend almost all my time hacking
> the lisp code, tracing, rewriting, and redefining functions and
> then testing them at the axiom level.

Axiom is no longer (or at least it should not be) a one-person
developer project. I think your experience as an Axiom developer
needs to be communicated to other people who might be willing
to become Axiom developers. As such what you do as a developer
defines the tools needed. So yes, for the open source version
of Axiom I think this \$dalymode hack needs to be "architected"
(whatever that means in this context).

> personally i don't think there is a general need for such
> features and therefore it is just for maintenance workers. just
> like the phone line repairman can make phone calls from the top
> of the phone pole and pretend it comes from your house so he
> doesn't have to climb down and use your phone for testing.

Yes certainly. This email list is devoted specifically to Axiom
maintenance. I think it is appropriate that we discuss what tools
are necessary for the repair personell (i.e. us).

>
> there is no need to read lisp code from files as i always work
> in emacs and the code is in the other buffer. thus i would never
> have known that it won't work from files. it's like discovering
> that your answering machine won't work at the top of the phone
> pole.

Ok, this should be easy to fix. But as you say, it might not
be of much use for the typical developer.

For the purposes of writing about and illustrating lisp usage
on MathAction web pages, I think translating \begin{lisp} as
')lisp (load ...)' will be more useful anyway.

>
> there are several maintenance tools in axiom. see the file
> src/interp/monitor.lisp.pamphlet which is a general purpose tool
> for monitoring lisp functions. it knows how to monitor algebra
> function calls. i use it to collect and analyze the performance
> of interpreter and algebra code but it assumes you know what an
> NRLIB is, why interp.exposed exists, etc. it also assumes you know
> how algebra name-mangling works since it reports algebra statistics
> in their underlying lisp name forms. and since i know that it
> hacks the :cond param on trace i can make it do much more than
> statistical counts. unlike the other lisp code i wrote this one
> is actually documented.

Great. Thanks.

>
> but there is so much more to document before we get to the
> low level maintenance code.
>

I think it would be a good strategy to document first those
things that will allow other people to participate and learn