axiom-developer
[Top][All Lists]
Advanced

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

[Axiom-developer] Axiom July 2008 release


From: daly
Subject: [Axiom-developer] Axiom July 2008 release
Date: Wed, 23 Jul 2008 02:08:27 -0500

The July 2008 release marks the second large-scale change toward a
literate Axiom distribution. The original change was to make every
file into a pamphlet document. This second change draws Axiom into
tighter collections, called books (for obvious reasons). 

There is a new "books" directory which contains 14 books, most of
which are new:

 bookvol0:  The reconstructed Jenks and Sutor book
 bookvol1:  The published tutorial volume
 bookvol2:  Users Guide
 bookvol3:  Programmers Guide
 bookvol4:  Developers Guide
 bookvol5:  Interpreter
 bookvol6:  Command
 bookvol7:  Hyperdoc
 bookvol7.1 Hyperdoc Pages
 bookvol8:  Graphics
 bookvol9:  Compiler
 bookvol10: Algebra
 bookvol11: Browser
 bookvol12: Crystal

All of these books now exist. Portions of the current system have
been moved completely into book form (Graphics and Hyperdoc) so
the old files have been removed from the src tree. Both Graphics
and Hyperdoc are now built directly from their book. Work will 
follow on other parts of the system.

These books are online at:
<http://axiom.axiom-developer.org/axiom-website/documentation.html>




There is an interesting side-effect of using literate technology.
Once you combine C and .h files into a single document so that each
file is a separate chunk it becomes obvious that there is no need for
local include files. The lines that read:
   #include "foo.h"
become
   <<foo.h>>
and get expanded inline. Once you do this it also becomes obvious
that many include files get included multiple times (a clear waste
of disk I/O and preparser time). Further it becomes clear that there
is no need for creating tiny .o files since all of the source can
be combined into one C file using chunks. 

These approaches were used to reduce the compile-time overhead
for both the graphics and the hyperdoc functions.




In addition to consolidating the source files for Graphics into
bookvol8 there were several other changes.

  * the functions for graphics, that is, viewman, view2d, view3d
    and viewalone are now built as single C files. 
  * the graphics code was reorganized into chapters of related code
  * there is the beginnings of documentation
  * there is the beginnings of a test suite based on the 
    CRC Handbook of Curves and Surfaces
  * the book is hyperlinked (Bill Page, Frederic Lehobey, Anatoly Raportirenko)
  * redundant code was eliminated
  * the code is fully indexed
  * the src/graph subdirectory is gone



In addition to consolidating the source files for Hyperdoc into
bookvol7 there were several other changes.

  * the functions for hyperdoc, that is, spadbuf, ex2ht, htadd, hthits
    and hypertex are now built as single C files
  * the hyperdoc code was reorganized into chapters of related code
  * there is the beginnngs of documentation
  * redundant code was eliminated
  * scroll wheel handling was added (Gregory Vanuxem)
  * the book is hyperlinked (Bill Page, Frederic Lehobey, Anatoly Raportirenko)
  * the code is fully indexed
  * )hd now works to start or restart Hyperdoc (Jose Alfredo Portes)
  * the src/hyper subdirectory is gone



In addition to consolidating the hyperdoc pages into bookvol7.1
there were several other changes:

  * the pages are hyperlinked
  * new latex macros were written to simplify page handling
  * images of hyperdoc pages were added
  * forward and backward hyperlinks between pages images works
    making it possible to "browse" the hyperdoc pages using only
    the single PDF file (Bill Page, Frederic Lehobey, Anatoly Raportirenko)
  * the pages are fully indexed
  * the src/hyper/pages subdirectory is gone



A combined table of contents PDF is now automatically generated
which covers all of the volumes. This makes it easier to find the
topic of interest.


In addition there were several other changes.

  * Some fixes were made for different platforms
       In particular, Fedora9 breaks the build and needs work

  * The configure script was replaced by instructions
       The standard (export AXIOM) works everywhere so the configure
       script is useless for guessing.

  * the FAQ was updated about git
       Since the May 2008 release the primary Gold source code platform
       is github. The FAQ was updated to reflect this.

  * the FAQ was updated about X11
       X11 has moved yet again so more notes are needed

  * move axbook to books
       The hyperlinked version of Jenks is now built from the books dir

  * add Ralf Hemmecke's documentation to ax.boot
  * add Monoid multiply to DirectProduct (Ralf Hemmecke)
  * add Monoid multiply regression test

Tim




reply via email to

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