axiom-developer
[Top][All Lists]
Advanced

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

Re: [Axiom-developer] Re: Requiring LaTeX


From: root
Subject: Re: [Axiom-developer] Re: Requiring LaTeX
Date: Fri, 1 Sep 2006 18:14:40 -0400

> Suppose you are an axiom-developer (and you can build everything of 
> Axiom on your local machine). Now person A is posting a message that 
> Axiom does not build on machine X for this or that reason. Let's say the 
> reason is that the binaries don't compile. You have access to a similar 
> machine X' and you have the feeling that you could solve the problem.

Here is where the change in MINDSET kicks in. 

The source code is [latex vs gcc] and someone posts a bug in a
program. You try to build the program and it fails in the [noweb-latex
vs gcc compile] step so you give up. Or you argue that you could take
the intermediate code [spad/lisp vs AST-RTL] and debug with that. (GCC
can generate intermediate files of abstract syntax trees (AST) or
register transfer language (RTL) which are system-independent.)
You can certainly build/debug with that.


> You checkout Axiom on X' start compilation and... the compilation stops 
> just after trying to latex the first Makefile.pamphlet, because 
> unfortunately, LaTeX is not installed on that machine and you don't have 
> root access to install it.

So if [noweb-latex vs gcc] is not installed you give up?
You don't need root access to install latex. It's just a program.
Latex can be installed locally with no problems. (perhaps we should
consider including it in zips :-) (joke, joke, ok?))

The point I'm trying to make is that not have latex is like not
having GCC. Axiom compiles code on the fly so you must have GCC.
If your development platform did not include GCC you can't build 
Axiom.

The second point is that just because something is technically
possible it is not a requirement that we support it. You CAN run
the final RTL-machine stage of GCC without running anything else
but nobody expects you to build from RTL.



It is perfectly reasonable to have a -nosource option. Many people
don't care about the source.

But not having source is just using a binary. It's not a build
environment.




It is not reasonable to build on a non-latex machine because in the
near future (assuming I have a creative burst that gets me over the
hump) we should be able to just drag-and-drop sources onto our 
browser-based hyperdoc. The whole process will fail without latex.
Future plans require it. Systems without latex will be like systems
without X11. Many useful features of Axiom won't be supported.



> In any case it simply would cost you too much time to look for a bugfix 
> and so you just say
> 
> rm -rf $AXIOMTREE
> 
> and don't even post on axiom-developer that you had tried to solve the 
> issue.

If a developer in a source forest gives up does the CVS tree hear it?



> A build system that builds parts of Axiom with fewer requirements (like 
> building binaries and no .dvi files) is just a PLUS for Axiom. That has 
> NOTHING to do with Tim's wish that Axiom should not (fully) build if 
> LaTeX is not available. It's just support for Axiom developers.

Ummm, I can take your argument further. Bill really wants us to work
on APT-GET installed programs like noweb (and latex). Suppose a
developer does not have root access. Can they APT-GET noweb? If not,
they could build a system version directly from the INT subdirectory
since this does not require the SRC subdirectory, latex, or noweb.

However we don't ship INT (which, if we did, would seriously speed
up the build process since it caches a lot of work). This elides
both the noweb and latex requirements. Is this a plus?




> But I will never go back to non-LP.

It would be hard for me to make the case that you are not
doing literate programming :-). 

I was trying to make the point that for any programmer it is as
hard to change to literate programming in a proper way as it is
to change to functional programming, parallel programming,
object-oriented programming or any other major sub-genre. 

True object-oriented programming uses strict message passing
(ala Smalltalk) and it is hard to learn. Using C++ to write
C programs is not object-oriented programming. From my point
of view using non-latex builds is extracting the post-C++
C code in order to compile. You still dress the king but
only in underwear. :-)




If build speed is the ONLY issue then just don't 'rm' anything.
There is NO reason to rebuild the system from scratch or make clean.
In theory you can change anything in the source tree, type
'make' and it SHOULD do the right thing. Otherwise make is broken.
One of the current design principles is that this should 'just work'.

t








reply via email to

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