[Top][All Lists]

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

[Axiom-developer] Re: source for literate lisp noweb

From: C Y
Subject: [Axiom-developer] Re: source for literate lisp noweb
Date: Sun, 29 Apr 2007 11:08:41 -0700 (PDT)

I responded to Tim privately, but I should say something on the list
too - here's the latest.

This morning I have managed to get back to a point where the notangle
operation is succeeding again on SBCL and CMUCL.  The previously
mentioned problems with running on GCL have not vanished, unfortunately
- so if this work is ever to be incorporated into Axiom we need to
either get GCL up to par or figure out how to conditionalize for GCL.

Performance wise, things look pretty good - this is the time report for
notangle on boot, interp and algebra directories running on sbcl:

Standard noweb:

Evaluation took:
  14.045 seconds of real time
  2.212138 seconds of user run time
  1.524095 seconds of system run time
  [Run times include 0.044 seconds GC run time.]
  0 calls to %EVAL
  0 page faults and
  37,579,008 bytes consed.

Lisp implementation:

Evaluation took:
  1.723 seconds of real time
  1.392087 seconds of user run time
  0.332021 seconds of system run time
  [Run times include 0.032 seconds GC run time.]
  0 calls to %EVAL
  0 page faults and
  39,882,408 bytes consed.

Which is all well and good, but the correctness does not seem to be
quite complete yet.  I ran a recursive diff on the two results with my
latest iteration - most of the differences immediately attributable are
due to a lack of an ending return character at the end of file, and I
don't know how critical that is - it can be added if need be.  There is
a great deal of whitespace difference, but filtering that out the key
remaining difficulties seem to be in some instances in the code where
line returns are not present - I don't know if they are critical to
functionality or not, and with any luck inserting the returns in the
files will cure it.  The only really serious difference that is
obviously serious is found in numtheor.spad:

diff -r -w notangle/algebra/numtheor.spad lispnt/algebra/numtheor.spad
<   chineseRemainder: (I,I,I,I) -> I
<     ++ \spad{chineseRemainder(x1,m1,x2,m2)} returns w, where w is
such that
<     ++ \spad{w = x1 mod m1} and \spad{w = x2 mod m2}. Note: \spad{m1}
<     ++ \spad{m2} must be relatively prime.
> <<chineseRemainder: (I,I,I,I) -> I>>
<   inverse : (I,I) -> I
> <<inverse : (I,I) -> I>>

I have to go back and examine that file to figure out what is going on.
 Beyond that, the literate part of the documentation needs to be fixed
to correspond to the current code structure, various parts need to be
written, and a lot of basic cleanup, testing, and other such fun jobs
remain.  I'm not quite sure if it will be ready for this next release -
it depends on how much time I can spend on it.  Being functional is a
major boost to moral, so that could help ;-).

My hunch is that with a working scanner, being able to output legal
latex files for noweb should be relatively basic (famous last words...)
in which case we would be in a position to bootstrap the pamphlet files
only from lisp.


--- address@hidden wrote:

> Cliff,
> Where can I find the source for the literate lisp noweb?
> I'm trying to incorporate it into the release.
> Tim

Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 

reply via email to

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