axiom-developer
[Top][All Lists]
Advanced

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

Re: [Axiom-developer] [build-improvements] Requests for discussion


From: Cliff Yapp
Subject: Re: [Axiom-developer] [build-improvements] Requests for discussion
Date: Wed, 2 Aug 2006 08:06:51 -0400
User-agent: KMail/1.9.3

On Tuesday 01 August 2006 11:02 pm, you wrote:

> Actually, we can if we don't insist that literate files must be
> pamphlet files or we must use noweb :-)

OK, point...

> |  As long as configure.ac.pamphlet is written and maintained in
> | the .pamphlet file I don't see a problem with special casing the
> | continual presence of configure.ac  - it's pretty much inevitable.
>
> OK.  I'll write up a development enrivonment minimal requirements and
> include noweb (I still dislike that specific requirement).

We have discussed alternatives to noweb before, including writing our own Lisp 
version of noweb.  I expect eventually we will be able to move off of noweb, 
but right now it's easier to use what works.

> | unless (as you already attempted) the higher level files are
> | also legal lower level files.  I don't think we want to redefine the
> | literate strategy we use to that degree - it's not worth it.
>
> I'm really annoyed by the dependency on noweb to bootstrap the
> process.  I would rather, by a large degree, vanilla traditional
> tools, e.g. plain 'sed'.  However, I will proceed as outlined above, and
> will at the same time respectfully register my strong disagreement.

Oh, no question I agree that depending specifically on noweb is unfortunate.  

> | In a way, it's the same problem Tim faced with Axiom being needed to
> | build Axiom.  The only way out was (and still is) to have some files in
> | lisp present, to teach lisp to read and understand BOOT and SPAD.  Same
> | deal here.
>
> That is a good recipe for maintenance nightmarre -- recent debates about
> redundant boot anyone?  There ought to be a better way to deal with it.

I think the way out is clear - put all of the low level logic in Lisp, and the 
high level logic in Aldor (or SPAD, until Aldor is available).  Tim has begun 
that process with bookvol5 - once all of interp is in human readable lisp, 
both the boot files in interp and the boot directory itself should become 
unnecessary.  It should also enable a lot of other interesting activities 
with existing Lisp tools, but that's a side benefit.

> | It's a universal problem - if we wanted to bootstrap a machine from a
> | cold, memoryless, powerless state we would need some binary to feed it
> | before it could start speaking assembly. True bootstrapping is a very
> | rare event ;-).
>
> I've been hacking real life compilers for over decade now :-)

Sorry, didn't mean to lecture the experts ;-).  I just find it a really 
interesting problem - the answer to "how do we go from cold, dumb, inert 
lumps of metal and silicon to a running computer"  is a lot less trivial than 
one might think - the technological Dr. Frankenstein, so to speak ;-)

> | 1 and 3 are solved by always having a current notangle of configure.ac
> | present in the tree at all times.  As for two, I think we should assume a
> | working notangle is available.  We have to assume SOMETHING is working,
>
> No question we have to assume something is workin -- just assume,
> everybody knows that.
>
> The issue is whether it must be noweb.  I think "no".  But, I do
> understand your view.

I doubt it has to be noweb - my preference would be for a lisp based tool, but 
I can see arguments for bash, sed, perl, and other such tools.  (Particularly 
since a lisp distribution is a poor assumption to make on most computers in 
the world today :-( .)  Really, we should have a "rosetta" set of tools to 
translate pamphlets to buildable files (e.g. the notangle step)  in as wide a 
variety of tools as possible, since that step is so critical and needs 
something working to bootstrap it.  I expect getting the source code of of a 
pamphlet is probably simpler as a dedicated operation than all of noweb 
(particularly with a universal, standard nomenclature denoting source code) - 
maybe a collection of such scripts could replace the current content of the 
boot directory once we don't need boot ;-).  ('course, I should try writing 
one before I conclude it's doable...)  Then we could reduce the "something 
working" requirement from noweb to "one of noweb, Lisp, perl, sed, bash, csh, 
etc. etc. etc."

In a sense, one might also say that depending on LaTeX is a bit unfortunate to 
produce human readable documentation, because a TeX installation is not 
especially trivial (nor is it common on Windows).  However, the highly 
nontrivial nature of LaTeX and TeX makes that a much more difficult problem, 
and I don't think we have a choice but to assume a working TeX installation 
for the time being.  cl-typesetting might eventually evolve into a viable 
alternative we could build and run off of the same technology used to build 
and run Axiom itself, but it's nowhere near ready yet.  And we can't afford 
the space bundling something like teTeX and MiKTeX (or even a subset of them) 
would take.

Anyway.  Interesting to think about, and maybe even practical, but that's for 
later.  Right now, THANK YOU Gabriel for making a configure/make/make install 
routine for Axiom!!!

Cheers,
CY




reply via email to

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