diff --git a/book/2002-10.txt b/book/2002-10.txt index 5027198..9a99a3b 100644 --- a/book/2002-10.txt +++ b/book/2002-10.txt @@ -66,9 +66,6 @@ From: root To: acn1@cam.ac.uk Subject: [axiom] atan2 Reply-to: daly@idsi.net -Cc: daly@idsi.net -X-RAVMilter-Version: 8.3.1(snapshot 20020109) (mail.idsi.net) -X-UIDL: 5Y6"!l0^!!nBk!!;BG"! (god, how i love emacs. my system crashed hard while i was typing this and not one word of my immortal prose was lost.) @@ -223,7 +220,6 @@ Tim Date: Mon, 14 Oct 2002 17:06:08 -0400 From: root To: Arthur Norman , axiom-developer@mail.freesoftware.fsf.org -Cc: daly@idsi.net Subject: [Axiom-developer] [axiom] Makefile conventions Arthur, @@ -345,7 +341,6 @@ Tim Date: Mon, 14 Oct 2002 21:00:41 -0400 From: root To: Norman Ramsey , axiom-developer@mail.freesoftware.fsf.org -Cc: daly@idsi.net Subject: [Axiom-developer] [axiom] Axiom and noweb Norman, @@ -378,7 +373,6 @@ daly@idsi.net Date: Tue, 15 Oct 2002 17:07:26 -0400 From: root To: nr@eecs.harvard.edu, axiom-developer@mail.freesoftware.fsf.org -CC: daly@idsi.net Subject: [Axiom-developer] Re: [axiom] Axiom and noweb >Tim, @@ -487,7 +481,6 @@ Tim Date: Fri, 25 Oct 2002 18:30:50 -0400 From: root To: morelli@cs.utah.edu, axiom-developer@nongnu.org -CC: daly@idsi.net Subject: [Axiom-developer] Re: Axiom Development > Robert Morelli wrote: @@ -518,7 +511,6 @@ Tim Date: Sat, 26 Oct 2002 11:13:11 -0400 From: root To: toffin@math.unicaen.fr, axiom-developer@nongnu.org -CC: daly@idsi.net Subject: Re: [Axiom-developer] Axiom Development >Philippe Toffin wrote: @@ -619,7 +611,6 @@ P.S. Your english is fine. Date: 28 Oct 2002 10:05:50 -0500 From: Camm Maguire To: daly@idsi.net -Cc: axiom-developer@nongnu.org, gcl-devel@gnu.org Subject: Re: [Axiom-developer] source Greetings! @@ -661,7 +652,6 @@ Thanks for your work with axiom! Date: Mon, 28 Oct 2002 17:25:09 -0500 From: root To: camm@enhanced.com, axiom-developer@nongnu.org, gcl-devel@gnu.org -CC: daly@idsi.net Subject: [Axiom-developer] [Axiom] source Camm, @@ -696,7 +686,6 @@ Tim Date: Mon, 28 Oct 2002 18:28:16 -0500 From: root To: morelli@cs.utah.edu, axiom-developer@nongnu.org -CC: daly@idsi.net Subject: [Axiom-developer] [axiom] Axiom Development >In a nutshell, I'm interested in many aspects of the AXIOM project but @@ -903,7 +892,6 @@ Tim Date: Tue, 29 Oct 2002 19:45:52 -0500 From: root To: Norman Ramsey , axiom-developer@nongnu.org -Cc: daly@idsi.net Subject: [Axiom-developer] Catch 22 Norman, @@ -948,7 +936,6 @@ Tim Date: Tue, 29 Oct 2002 23:14:28 -0500 From: root To: nr@eecs.harvard.edu, axiom-developer@nongnu.org -CC: daly@idsi.net Subject: [Axiom-developer] Re: Catch 22 I played with your suggestion of using bundle and distributing @@ -991,7 +978,6 @@ Tim Date: Thu, 31 Oct 2002 23:23:33 -0500 From: root To: bill.page1@sympatico.ca, axiom-developer@nongnu.org -CC: axiom-mail@nongnu.org Subject: [Axiom-developer] Re: [Axiom-mail] Status Actually, I have no estimate. The key to the game is to get the lisp diff --git a/book/2002-11.txt b/book/2002-11.txt index 737a2f6..d1f7fb7 100644 --- a/book/2002-11.txt +++ b/book/2002-11.txt @@ -3,7 +3,6 @@ Date: Fri, 1 Nov 2002 11:48:42 -0500 From: root To: Bill Page , Robert Morelli , Philippe Toffin , axiom-developer@nongnu.org -CC: daly@idsi.net Subject: [Axiom-developer] [Axiom-mail] Gentlemen, @@ -36,7 +35,6 @@ Thanks for volunteering. Date: Fri, 1 Nov 2002 16:54:21 -0500 From: Bill Page To: -CC: Subject: [Axiom-developer] Re: [Axiom-mail] Hello everyone, @@ -82,7 +80,6 @@ it is advisable? Date: Fri, 1 Nov 2002 21:57:49 -0500 From: root To: Bill Page , Robert Morelli , Philippe Toffin , axiom-developer@nongnu.org -CC: daly@idsi.net, axiom-mail@nongnu.org Subject: [Axiom-developer] Re: [Axiom-mail] Status All, @@ -259,7 +256,6 @@ C and Makefile in the same pamphlet file. Date: Sun, 3 Nov 2002 22:10:06 -0500 From: "Bill Page" To: -Cc: Subject: [Axiom-developer] examples Tim, @@ -477,7 +473,6 @@ Bill Page. Date: Sun, 3 Nov 2002 21:57:20 -0500 From: root To: bill.page1@sympatico.ca -CC: daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: examples Excellent. Rumor has it that CCL will run under windows and cygwin so @@ -489,7 +484,6 @@ comes out we can see what the windows and cygwin issues are. Date: Mon, 4 Nov 2002 17:48:52 -0500 From: Bill Page To: -CC: Subject: Re: [Axiom-developer] Re: examples Tim, @@ -526,7 +520,6 @@ Bill Page. Date: Mon, 4 Nov 2002 18:13:28 -0500 From: Bill Page To: -CC: Subject: Re: [Axiom-developer] Re: examples Tim, @@ -563,7 +556,6 @@ mentions any notice or statement from Codemist. Date: Mon, 4 Nov 2002 19:44:29 -0500 From: root To: bill.page1@sympatico.ca -CC: daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] ccl.tgz re: http://www.codemist.co.uk/ccl.tgz @@ -613,7 +605,6 @@ Tim Date: Mon, 4 Nov 2002 21:26:45 -0500 From: root To: bill.page1@sympatico.ca -CC: daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] AIM Instant Message I've registered with the AOL Instant Messenger service under @@ -624,7 +615,6 @@ service try adding me to your buddy list. Date: Mon, 4 Nov 2002 19:55:37 -0500 From: root To: bill.page1@sympatico.ca -CC: daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] ccl.tgz When you've succeeded doing a CVS checkout I think we should figure @@ -637,7 +627,6 @@ time it takes to communicate. Date: Tue, 5 Nov 2002 06:34:08 -0500 From: root To: toffin@math.unicaen.fr -CC: daly@idsi.net, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Axiom Development > Daly, @@ -686,7 +675,6 @@ write access to the source but you can read it. Date: Tue, 5 Nov 2002 06:23:41 -0500 From: root To: bill.page1@sympatico.ca -CC: daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: list of developers > Bill Page wrote: @@ -767,7 +755,6 @@ won't run Axiom. Date: Wed, 6 Nov 2002 12:25:34 -0500 From: Bill Page To: -CC: Subject: Re: [Axiom-developer] ccl.tgz Tim, @@ -846,7 +833,6 @@ Bill Page. Date: Wed, 6 Nov 2002 12:52:41 -0500 From: Bill Page To: -CC: , Subject: Re: [Axiom-developer] AIM Instant Message Tim, @@ -889,7 +875,6 @@ Bill Page. Date: Thu, 7 Nov 2002 00:16:36 -0500 From: root To: bill.page1@sympatico.ca -CC: daly@idsi.net, daly@idsi.net, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] AIM Instant Message Bill, @@ -901,8 +886,8 @@ set up with access so we can experiment with working together. Date: Thu, 7 Nov 2002 00:14:27 -0500 From: root To: daly@idsi.net -CC: toffin@math.unicaen.fr, daly@idsi.net, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Axiom Development +CC: toffin@math.unicaen.fr Philippe, @@ -913,7 +898,6 @@ I had a surprise presentation I have to set up for a meeting today. Date: Thu, 7 Nov 2002 00:24:49 -0500 From: root To: A.G.Grozin@inp.nsk.su -CC: daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] clef clef is a single program. the source (without the include files) @@ -1577,7 +1561,6 @@ set_function_chars(void) Date: Thu, 7 Nov 2002 09:06:41 -0500 From: "Bill Page" To: -Cc: Subject: RE: [Axiom-developer] AIM Instant Message Tim, @@ -1596,7 +1579,6 @@ can make it work. Date: Thu, 7 Nov 2002 09:50:00 -0500 From: "Bill Page" To: -Cc: Subject: [Axiom-developer] CVS access Tim, @@ -1679,7 +1661,6 @@ On Wednesday, November 06, 2002 12:26 PM I wrote: Date: Thu, 7 Nov 2002 11:32:21 -0500 From: "Bill Page" To: -Cc: Subject: [Axiom-developer] NAG demo version of AXIOM - flexlm license? Tim, @@ -1735,8 +1716,8 @@ What do you think? Date: Thu, 7 Nov 2002 17:13:53 +0000 From: Mike Dewar To: Bill Page -Cc: daly@idsi.net, axiom-developer@nongnu.org, Mike Dewar Subject: Re: [Axiom-developer] NAG demo version of AXIOM - flexlm license? +Cc: Mike Dewar Dear Bill, @@ -1817,7 +1798,6 @@ On Thu, Nov 07, 2002 at 11:32:21AM -0500, Bill Page wrote: Date: Thu, 7 Nov 2002 12:56:42 -0500 From: "Bill Page" To: -Cc: Subject: [Axiom-developer] RE: CVS access Tim, @@ -1871,7 +1851,6 @@ you are registered as a developer. Date: Thu, 7 Nov 2002 16:15:29 -0500 From: root To: acn1@cam.ac.uk -CC: daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: posting CCL Arthur, @@ -1957,8 +1936,8 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Date: Thu, 7 Nov 2002 17:22:34 -0500 From: root To: daly@idsi.net -CC: acn1@cam.ac.uk, daly@idsi.net, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Re: posting CCL +CC: acn1@cam.ac.uk The CVS tree has been updated with your change. -- Tim @@ -1966,7 +1945,6 @@ The CVS tree has been updated with your change. -- Tim Date: Thu, 7 Nov 2002 18:03:30 -0500 From: root To: bill.page1@sympatico.ca -CC: daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: CVS access Bill, @@ -1982,7 +1960,6 @@ code as anonymous and it worked. Date: Thu, 7 Nov 2002 18:01:23 -0500 From: root To: bill.page1@sympatico.ca -CC: daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: CVS access Bill, @@ -1993,7 +1970,6 @@ Check that your shell variable CVS_RSH is set to "ssh". Date: Thu, 7 Nov 2002 18:20:16 -0500 From: root To: bill.page1@sympatico.ca -CC: daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: NAG demo version of AXIOM - flexlm license? Bill, @@ -2021,7 +1997,6 @@ All I can counsel is patience. Date: Thu, 7 Nov 2002 18:27:36 -0500 From: root To: bill.page1@sympatico.ca -CC: daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: CVS access Sigh. Actually, I was mistaken in my anonymous test which is unrelated @@ -2032,7 +2007,6 @@ cure the problem. If not, let me know. Date: Thu, 7 Nov 2002 19:07:44 -0500 From: "Bill Page" To: -Cc: Subject: RE: [Axiom-developer] Re: NAG demo version of AXIOM - flexlm license? Tim, @@ -2063,7 +2037,6 @@ indeed! Date: Thu, 7 Nov 2002 18:47:15 -0500 From: root To: bill.page1@sympatico.ca -CC: daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: CVS access Ummm, that would make no sense so we must be missing something. @@ -2076,7 +2049,6 @@ I'll create another id and try it from there. Date: Thu, 7 Nov 2002 19:07:46 -0500 From: root To: bill.page1@sympatico.ca -CC: daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: CVS access I've created a new userid, new key pair and registered a new key. @@ -2089,7 +2061,6 @@ In any case, I'll let you know how I solve this. Date: Thu, 7 Nov 2002 18:54:35 -0500 From: "Bill Page" To: -Cc: Subject: [Axiom-developer] RE: CVS access Tim, @@ -2219,8 +2190,8 @@ Bill. Date: Mon, 11 Nov 2002 22:28:44 -0500 From: root To: bill.page1@sympatico.ca -CC: tim@tenkan.org, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: accounts on tenkan +CC: tim@tenkan.org > Hello Tim and Tim, @@ -2343,7 +2314,6 @@ exceptional at responding (vdhoeven@texmacs.org). Andrey G. Grozin Date: Mon, 11 Nov 2002 23:09:09 -0500 From: root To: "Bill Page" -Cc: daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] documentation Oh, right. I forgot to mention that you can type: @@ -2369,7 +2339,6 @@ trees. Date: Tue, 12 Nov 2002 20:50:41 -0500 From: root To: bill.page1@sympatico.ca -CC: daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: first steps well, THAT went poorly :-) @@ -2750,7 +2719,6 @@ I might do to make make work a little better. Date: Tue, 12 Nov 2002 21:02:47 -0500 From: root To: bill.page1@sympatico.ca -CC: daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] First steps, part-dieu Ok, I mistyped: @@ -2772,7 +2740,6 @@ find a different method for creating the /usr/X11R6/include/X11 files. Date: Tue, 12 Nov 2002 22:33:07 -0500 From: Bill Page To: -CC: , Subject: [Axiom-developer] Re: first steps Tim, @@ -2910,7 +2877,6 @@ Yes, it helped a lot. I let you know how I progress. Date: Tue, 12 Nov 2002 22:28:01 -0500 From: root To: bill.page1@sympatico.ca -CC: daly@idsi.net, daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: first steps Touching any pamphlet file will cause it to be rebuilt during @@ -2948,7 +2914,6 @@ and the notangle, noweave and document commands should exist. Date: Fri, 15 Nov 2002 20:32:11 -0500 From: "Bill Page" To: -Cc: Subject: [Axiom-developer] making ccl on cygwin Tim, @@ -2992,7 +2957,6 @@ What do you think? Date: Fri, 15 Nov 2002 20:50:39 -0500 From: root To: bill.page1@sympatico.ca -CC: daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: making ccl on cygwin Bill, @@ -3038,7 +3002,6 @@ should be much easier. Date: Fri, 15 Nov 2002 21:51:50 -0500 From: root To: bill.page@sympatico.ca -CC: daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] document command How are you at writing bash shell scripts? @@ -3084,7 +3047,6 @@ If not, I'll look at it. Date: Sat, 16 Nov 2002 12:36:39 -0500 From: root To: bill.page1@sympatico.ca -CC: daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] bash script re: bash script. @@ -3107,7 +3069,6 @@ i can react to it better. sigh) Date: Sun, 17 Nov 2002 18:00:55 -0500 From: "Bill Page" To: -Cc: Subject: [Axiom-developer] RE: making ccl on cygwin Tim, @@ -3203,7 +3164,6 @@ I am looking forward to that! Date: Sun, 17 Nov 2002 18:04:18 -0500 From: root To: bill.page1@sympatico.ca -CC: daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: making ccl on cygwin I'm uploading and cleaning the cvs at the moment. @@ -3213,7 +3173,6 @@ I'll answer shortly. Date: Sun, 17 Nov 2002 19:42:38 -0500 From: root To: bill.page1@sympatico.ca -CC: daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: making ccl on cygwin I've uploaded the machinery to build bootsys. @@ -3294,7 +3253,6 @@ delete directories. Date: Mon, 18 Nov 2002 09:36:10 +0000 From: Mike Dewar To: Bill Page -Cc: daly@idsi.net, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] making ccl on cygwin Hi Bill, @@ -3359,7 +3317,6 @@ On Fri, Nov 15, 2002 at 08:32:11PM -0500, Bill Page wrote: Date: Mon, 18 Nov 2002 08:55:43 -0500 From: root To: Norman Ramsey -Cc: daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] [axiom] Undefined Chunks behavior Norman, @@ -3382,7 +3339,6 @@ a place where I could look to apply this change? Date: Mon, 18 Nov 2002 10:36:01 -0500 From: root To: nr@eecs.harvard.edu -CC: daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: [axiom] Undefined Chunks behavior Thanks. I'll look at the filter technique. Sort of a "do no harm" default. @@ -3410,7 +3366,6 @@ N Date: Mon, 18 Nov 2002 20:35:36 -0500 From: root To: nr@eecs.harvard.edu -CC: daly@idsi.net, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Re: [axiom] Undefined Chunks behavior Actually, it appears that the correct fix is to modify modules.c @@ -3424,7 +3379,6 @@ I don't see how to do this with filters. Perhaps I'm missing something. Date: Mon, 18 Nov 2002 22:54:08 -0500 From: root To: nr@eecs.harvard.edu -CC: daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] [axiom] Undefined Chunks behavior Norman, @@ -3755,8 +3709,8 @@ Tim Date: Tue, 19 Nov 2002 2:32:19 -0500 From: Bill Page To: , -CC: , Subject: [Axiom-developer] visual literate programming +CC: Tim and Joris, @@ -3786,9 +3740,8 @@ with Jorix van der Hoeven of last June. Date: Sat, 1 Jun 2002 11:51:06 +0200 (MET DST) From: Joris van der Hoeven To: root -Cc: texmacs-dev@gnu.org, "Nicolas M. Thiery" , Dylan Thurston , Philippe Toffin , Barry Trager , Carlo Traverso , Theodore Thomas Tsikas , "Gioia M. Vago" , Joris van der Hoeven , Leonid Vaserstein , Nikolay Vassiliev Subject: Re: [axiom] Axiom website updated - +Cc: texmacs-dev@gnu.org, "Nicolas M. Thiery" , Dylan Thurston , Philippe Toffin , Barry Trager , Carlo Traverso , Theodore Thomas Tsikas , "Gioia M. Vago" , Joris van der Hoeven , Leonid Vaserstein , Nikolay Vassiliev On Fri, 31 May 2002, root wrote: @@ -3835,7 +3788,6 @@ any other places on the web to look for this kind of work? Date: Tue, 19 Nov 2002 6:20:19 -0500 From: Bill Page To: -CC: Subject: [Axiom-developer] new Makefile.pamphlet problems Tim, @@ -3875,7 +3827,6 @@ as expected. Date: Tue, 19 Nov 2002 06:33:24 -0500 From: root To: bill.page1@sympatico.ca -CC: daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: new Makefile.pamphlet problems Bill, @@ -3908,7 +3859,6 @@ Keep up the good work. Date: Tue, 19 Nov 2002 07:03:02 -0500 From: root To: bill.page1@sympatico.ca -CC: daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] Makefile.pamphlet Bill, @@ -3940,7 +3890,6 @@ Gotta go... Date: Tue, 19 Nov 2002 07:18:04 -0500 From: root To: bill.page1@sympatico.ca -CC: daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] Makefile.pamphlet Bill, @@ -3973,8 +3922,8 @@ FIRST BUILD, src and int are assumed read-only. Date: Tue, 19 Nov 2002 20:13:32 -0500 From: root To: bill.page1@sympatico.ca -CC: daly@idsi.net, Joris.VanDerHoeven@math.u-psud.fr, axiom-developer@nongnu.org, texmacs-dev@gnu.org Subject: [Axiom-developer] visual literate programming +CC: Joris.VanDerHoeven@math.u-psud.fr, texmacs-dev@gnu.org Bill and Joris, @@ -4010,7 +3959,6 @@ I really would like to make literate programs be the only Date: Tue, 19 Nov 2002 20:26:39 -0500 From: root To: nr@eecs.harvard.edu -CC: daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] [axiom] Undefined Chunks behavior re: awk filter. @@ -4083,8 +4031,8 @@ What this problem needs is ten lines of awk. Here's your noweb filter: Date: Wed, 20 Nov 2002 12:31:07 +0100 (MET) From: Joris van der Hoeven To: texmacs-dev@gnu.org -Cc: bill.page1@sympatico.ca, daly@idsi.net, Joris.VanDerHoeven@math.u-psud.fr, axiom-developer@nongnu.org Subject: Re: [Texmacs-dev] [Axiom-developer] visual literate programming +Cc: bill.page1@sympatico.ca, Joris.VanDerHoeven@math.u-psud.fr Hi Tim, @@ -4136,8 +4084,8 @@ Indeed. Date: Wed, 20 Nov 2002 07:36:39 -0500 From: root To: TeXmacs@math.u-psud.fr -CC: texmacs-dev@gnu.org, bill.page1@sympatico.ca, daly@idsi.net, Joris.VanDerHoeven@math.u-psud.fr, axiom-developer@nongnu.org Subject: [Axiom-developer] (no subject) +CC: texmacs-dev@gnu.org, bill.page1@sympatico.ca, Joris.VanDerHoeven@math.u-psud.fr In-reply-to: (message from Joris van der Hoeven on Wed, 20 Nov 2002 12:31:07 +0100 (MET)) @@ -4183,8 +4131,8 @@ that properly handle noweb vanilla output would be quite useful. Date: Wed, 20 Nov 2002 11:40:05 -0500 From: Bill Page To: -CC: , Subject: [Axiom-developer] Re: GCL on Cygwin for Axiom +CC: Tim, @@ -4255,7 +4203,6 @@ know how far this one goes. Date: Wed, 20 Nov 2002 17:54:05 +0100 (CET) From: Martin RUBEY To: Bill Page -Cc: daly@idsi.net, Subject: Re: [Axiom-developer] Re: GCL on Cygwin for Axiom @@ -4281,8 +4228,8 @@ http://mail.gnu.org/pipermail/gcl-devel/2002-September/001084.html Date: Wed, 20 Nov 2002 12:13:19 -0500 From: Bill Page To: Martin RUBEY -CC: ,, Subject: [Axiom-developer] Re: GCL on Cygwin for Axiom +CC: On 2002/11/20 Wed AM 11:54:05 EST Martin RUBEY wrote: @@ -4320,9 +4267,8 @@ hacker than I am! Date: Wed, 20 Nov 2002 12:22:05 -0500 From: Bill Page To: -CC: Subject: [Axiom-developer] Re: GCL on Cygwin for Axiom - +CC: Background. @@ -4456,8 +4402,8 @@ Background. Date: Wed, 20 Nov 2002 16:17:10 -0500 From: root To: bill.page1@sympatico.ca -CC: rubey@labri.fr, daly@idsi.net, axiom-developer@nongnu.org, miketh@brisbane.paradigmgeo.com Subject: Re: [Axiom-developer] Re: GCL on Cygwin for Axiom +CC: rubey@labri.fr, miketh@brisbane.paradigmgeo.com re: trivial port of gcl.... @@ -4470,7 +4416,6 @@ this whole issue on AIX for the RS/6000. Date: Wed, 20 Nov 2002 13:09:23 -0500 From: Bill Page To: -CC: Subject: [Axiom-developer] GCL on Cygwin for Axiom Hello, @@ -4496,8 +4441,8 @@ that's another issue). Date: Wed, 20 Nov 2002 16:45:25 -0500 From: root To: bill.page1@sympatico.ca -CC: daly@idsi.net, wfs@mail.ma.utexas.edu, axiom-developer@nongnu.org, Camm Maguire Subject: Re: [Axiom-developer] Re: GCL on Cygwin for Axiom +CC: wfs@mail.ma.utexas.edu, Camm Maguire > Damn. I am sorry to hear that Schelter is not still > available. I guess the Internet hasn't quite progressed to @@ -4592,7 +4537,6 @@ some thought to the CCL issue. Date: Thu, 21 Nov 2002 09:30:04 +1000 From: "Mike Thomas" To: "Bill Page" , "Martin RUBEY" -Cc: , Subject: Re: [Axiom-developer] Re: GCL on Cygwin for Axiom Hi there. @@ -4608,7 +4552,6 @@ the job!!! Date: Thu, 21 Nov 2002 09:51:31 +1000 From: "Mike Thomas" To: -Cc: , Subject: Fw: [Axiom-developer] Re: GCL on Cygwin for Axiom My first attempt bounced from axiom-developer even though the other went @@ -4617,10 +4560,9 @@ through?? ----- Original Message ----- From: "Mike Thomas" To: ; -Cc: ; ; ; - -Sent: Thursday, November 21, 2002 9:25 AM +Date: Thursday, November 21, 2002 9:25 AM Subject: Re: [Axiom-developer] Re: GCL on Cygwin for Axiom +Cc: > Hi there. @@ -4714,7 +4656,6 @@ compiler Date: Wed, 20 Nov 2002 19:46:04 -0500 From: root To: bill.page1@sympatico.ca -Cc: daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] gcl 2.4.3 @@ -4727,7 +4668,6 @@ tenkan cvs with the new version shortly. Date: Wed, 20 Nov 2002 20:12:16 -0500 From: root To: bill.page1@sympatico.ca -Cc: daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] gcl 2.4.3 Bill, @@ -4740,7 +4680,6 @@ Until then lets stick with 2.4.1 Date: Wed, 20 Nov 2002 20:29:59 -0500 From: root To: bill.page1@sympatico.ca -Cc: daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] gcl 2.4.3 Bill, @@ -4756,8 +4695,8 @@ What is the result of this test? (gcc -v | fgrep ming) Date: 20 Nov 2002 20:30:35 -0500 From: Camm Maguire To: Bill Page -Cc: , , gcl-devel@gnu.org Subject: Re: [Axiom-developer] Re: GCL on Cygwin for Axiom +Cc: Greetings! Allow me a futile attempt at an adequate answer on behalf of the late Dr. Schelter: @@ -4993,8 +4932,8 @@ Bill Page writes: Date: Wed, 20 Nov 2002 20:46:30 -0500 From: root To: camm@enhanced.com -CC: bill.page1@sympatico.ca, axiom-developer@nongnu.org, miketh@brisbane.paradigmgeo.com, gcl-devel@gnu.org Subject: Re: [Axiom-developer] Re: GCL on Cygwin for Axiom +CC: bill.page1@sympatico.ca, miketh@brisbane.paradigmgeo.com Ok, I'll try 2.5 and see if that builds. @@ -5002,8 +4941,8 @@ Ok, I'll try 2.5 and see if that builds. Date: Wed, 20 Nov 2002 21:37:49 -0500 From: root To: camm@enhanced.com, bill.page1@sympatico.ca -CC: daly@idsi.net, axiom-developer@nongnu.org, miketh@brisbane.paradigmgeo.com, gcl-devel@gnu.org Subject: [Axiom-developer] _BOOL problem in GCL 2.4.3 for GCC 2.96 +CC: miketh@brisbane.paradigmgeo.com Camm, @@ -5058,8 +4997,8 @@ Tim Date: Wed, 20 Nov 2002 21:41:25 -0500 From: root To: camm@enhanced.com, bill.page1@sympatico.ca -CC: daly@idsi.net, axiom-developer@nongnu.org, miketh@brisbane.paradigmgeo.com, gcl-devel@gnu.org Subject: [Axiom-developer] _BOOL problem in GCL 2.4.3 for GCC 2.96 (typo fix) +CC: miketh@brisbane.paradigmgeo.com Camm, I fat-fingered the last mail. The actual .defs file is in the 'h' directory, not the 'o' directory. These are the correct instructions: @@ -5116,7 +5055,6 @@ Tim Date: Wed, 20 Nov 2002 22:40:27 -0500 From: root To: camm@enhanced.com -CC: daly@idsi.net, axiom-developer@nongnu.org, gcl-devel@gnu.org Subject: [Axiom-developer] gcl 2.5 I'm happy to report that GCL 2.5 builds cleanly on RedHat 7.2 (gcc 2.95) @@ -5128,7 +5066,6 @@ Where can I find this test suite you mentioned? Date: Wed, 20 Nov 2002 22:58:28 -0500 From: root To: camm@enhanced.com -CC: daly@idsi.net, axiom-developer@nongnu.org, gcl-devel@gnu.org Subject: [Axiom-developer] gcl 2.5 bug report gcl @@ -5143,7 +5080,6 @@ name can be a symbol or a string. Date: 21 Nov 2002 08:09:27 -0500 From: Camm Maguire To: daly@idsi.net -Cc: axiom-developer@nongnu.org, gcl-devel@gnu.org Subject: [Axiom-developer] Re: [Gcl-devel] gcl 2.5 Greetings! Great! In the subdir ansi-tests. Try this out (only when @@ -5165,7 +5101,6 @@ root writes: Date: 21 Nov 2002 08:08:16 -0500 From: Camm Maguire To: daly@idsi.net -Cc: axiom-developer@nongnu.org, gcl-devel@gnu.org Subject: [Axiom-developer] Re: [Gcl-devel] gcl 2.5 bug report @@ -5192,8 +5127,8 @@ root writes: Date: Thu, 21 Nov 2002 17:30:07 +0100 (MET) From: Joris van der Hoeven To: texmacs-dev@gnu.org -Cc: bill.page1@sympatico.ca, daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: [Texmacs-dev] Axiom and TeXmacs +Cc: bill.page1@sympatico.ca > Norman's noweb wraps code in the sequence, causing a "definition" > <>=3D @@ -5227,7 +5162,6 @@ at a not yet specified date... Date: Thu, 21 Nov 2002 16:11:08 -0500 From: "Bill Page" To: "'Joris van der Hoeven'" , -Cc: , Subject: [Axiom-developer] RE: [Texmacs-dev] Axiom and TeXmacs @@ -5318,8 +5252,8 @@ we want. What would you recommend? Date: 21 Nov 2002 16:31:09 -0500 From: Camm Maguire To: daly@idsi.net -Cc: bill.page1@sympatico.ca, axiom-developer@nongnu.org, miketh@brisbane.paradigmgeo.com, gcl-devel@gnu.org Subject: [Axiom-developer] Re: [Gcl-devel] _BOOL problem in GCL 2.4.3 for GCC 2.96 +Cc: bill.page1@sympatico.ca, miketh@brisbane.paradigmgeo.com Greetings! @@ -5396,8 +5330,8 @@ Take care, Date: Thu, 21 Nov 2002 21:21:59 -0500 From: "Bill Page" To: -Cc: , Subject: [Axiom-developer] Re: GCL on Cygwin for Axiom +Cc: On Wednesday, November 20, 2002 6:26 PM Mike Thomas miketh@brisbane.paradigmgeo.com wrote: @@ -5458,8 +5392,8 @@ modify the makefile.pamphlet files accordingly. Date: Fri, 22 Nov 2002 13:54:11 +1000 From: "Mike Thomas" To: "Bill Page" , -Cc: , Subject: [Axiom-developer] Re: [Gcl-devel] Re: GCL on Cygwin for Axiom +Cc: Hi Bill. @@ -5504,8 +5438,8 @@ hooked on the Cygwin dll. Date: Fri, 22 Nov 2002 10:59:24 +0000 From: Mike Dewar To: Bill Page -Cc: axiom-developer@nongnu.org, gcl-devel@gnu.org, mingw-users@lists.sourceforge.net, Mike Dewar Subject: Re: [Axiom-developer] Re: GCL on Cygwin for Axiom +Cc: mingw-users@lists.sourceforge.net, Mike Dewar On Thu, Nov 21, 2002 at 09:21:59PM -0500, Bill Page wrote: > Since GCL can already be built on both Linux and Windows @@ -5527,9 +5461,8 @@ of the non-standard Axiom enhancements. Date: Fri, 22 Nov 2002 07:36:08 -0500 From: Earnie Boyd To: Bill Page -CC: axiom-developer@nongnu.org, gcl-devel@gnu.org, mingw-users@lists.sourceforge.net Subject: [Axiom-developer] Re: [Mingw-users] Re: GCL on Cygwin for Axiom - +CC: mingw-users@lists.sourceforge.net Bill Page wrote: > @@ -5554,8 +5487,8 @@ not currently being worked but ... Date: Fri, 22 Nov 2002 08:05:40 -0500 From: Earnie Boyd To: MinGW Users -CC: Bill Page , axiom-developer@nongnu.org, gcl-devel@gnu.org Subject: [Axiom-developer] Re: [Mingw-users] Re: GCL on Cygwin for Axiom +CC: Bill Page Earnie Boyd wrote: > Bill Page wrote: @@ -5586,8 +5519,8 @@ X server. Date: Fri, 22 Nov 2002 11:51:17 -0500 From: root To: bill.page1@sympatico.ca -CC: miked@nag.co.uk, axiom-developer@nongnu.org, gcl-devel@gnu.org, mingw-users@lists.sourceforge.net, miked@nag.co.uk, texmacs-dev@gnu.org, tim@tenkan.org Subject: [Axiom-developer] many topics +CC: miked@nag.co.uk, mingw-users@lists.sourceforge.net, miked@nag.co.uk, texmacs-dev@gnu.org, tim@tenkan.org Bill, @@ -5642,8 +5575,8 @@ test it once and let me know if you can write to it. Date: 22 Nov 2002 12:02:24 -0500 From: Camm Maguire To: daly@idsi.net -Cc: bill.page1@sympatico.ca, miked@nag.co.uk, axiom-developer@nongnu.org, gcl-devel@gnu.org, mingw-users@lists.sourceforge.net, texmacs-dev@gnu.org, tim@tenkan.org Subject: [Axiom-developer] Re: [Gcl-devel] many topics +Cc: bill.page1@sympatico.ca, miked@nag.co.uk, axiom-developer@nongnu.org, gcl-devel@gnu.org, mingw-users@lists.sourceforge.net, texmacs-dev@gnu.org, tim@tenkan.org Greetings! @@ -5710,8 +5643,8 @@ Take care, Date: Fri, 22 Nov 2002 12:23:37 -0500 From: root To: camm@enhanced.com -CC: daly@idsi.net, bill.page1@sympatico.ca, miked@nag.co.uk, axiom-developer@nongnu.org, gcl-devel@gnu.org, mingw-users@lists.sourceforge.net, texmacs-dev@gnu.org, tim@tenkan.org Subject: [Axiom-developer] Re: [Gcl-devel] many topics +CC: bill.page1@sympatico.ca, miked@nag.co.uk, mingw-users@lists.sourceforge.net, texmacs-dev@gnu.org, tim@tenkan.org re: ifdef-ing out make-package check. @@ -5722,8 +5655,8 @@ way around. Date: Sat, 23 Nov 2002 09:19:09 +0100 (MET) From: Joris van der Hoeven To: Bill Page -Cc: "'Joris van der Hoeven'" , texmacs-dev@gnu.org, daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] RE: [Texmacs-dev] Axiom and TeXmacs +Cc: "'Joris van der Hoeven'" , texmacs-dev@gnu.org > > Maybe we should preprocess the pamphlet file using Perl > > before doing the conversion. I think that St=E9phane @@ -5810,8 +5743,8 @@ the pamphlet format? Date: Sat, 23 Nov 2002 08:55:50 -0500 From: "Bill Page" To: "'Joris van der Hoeven'" -Cc: , , Subject: [Axiom-developer] RE: [Texmacs-dev] Axiom and TeXmacs +Cc: On Saturday, November 23, 2002 3:19 AM Joris van der Hoeven TeXmacs@math.u-psud.fr wrote: @@ -5929,8 +5862,8 @@ you have in mind some other format? Date: Sat, 23 Nov 2002 12:17:52 -0500 From: root To: "'Joris van der Hoeven'" -Cc: , , , "Bill Page" , Norman Ramsey , axiom-mail@nongnu.org, Barry Trager , Manuel Bronstein , William Sit Subject: [Axiom-developer] noweb, pamphlets, and TeXmacs +Cc: , "Bill Page" , Norman Ramsey , Barry Trager , Manuel Bronstein , William Sit All, @@ -6382,8 +6315,8 @@ you have in mind some other format? Date: Sat, 23 Nov 2002 14:05:01 -0500 From: "Bill Page" To: , "'Joris van der Hoeven'" -Cc: , , "'Norman Ramsey'" , , "'Barry Trager'" , "'Manuel Bronstein'" , "'William Sit'" Subject: [Axiom-developer] RE: noweb, pamphlets, and TeXmacs +Cc: , "'Norman Ramsey'" , "'Barry Trager'" , "'Manuel Bronstein'" , "'William Sit'" Tim, @@ -6436,8 +6369,8 @@ both jobs. Date: Sun, 24 Nov 2002 01:51:45 -0500 From: William Sit To: daly@idsi.net -CC: 'Joris van der Hoeven' , texmacs-dev@gnu.org, axiom-developer@nongnu.org, Bill Page , Norman Ramsey , axiom-mail@nongnu.org, Barry Trager , Manuel Bronstein Subject: [Axiom-developer] Re: noweb, pamphlets, and TeXmacs +CC: 'Joris van der Hoeven' , texmacs-dev@gnu.org, axiom-developer@nongnu.org, Bill Page , Norman Ramsey , Barry Trager , Manuel Bronstein Just a simple comment on: @@ -6476,8 +6409,8 @@ update all existing pamphlets. Date: Sun, 24 Nov 2002 09:56:26 -0500 From: root To: wyscc@cunyvm.cuny.edu -CC: daly@idsi.net, TeXmacs@math.u-psud.fr, texmacs-dev@gnu.org, axiom-developer@nongnu.org, bill.page1@sympatico.ca, nr@eecs.harvard.edu, axiom-mail@nongnu.org, bmt@us.ibm.com, Manuel.Bronstein@sophia.inria.fr Subject: [Axiom-developer] Re: noweb, pamphlets, and TeXmacs +CC: TeXmacs@math.u-psud.fr, texmacs-dev@gnu.org, bill.page1@sympatico.ca, nr@eecs.harvard.edu, bmt@us.ibm.com, Manuel.Bronstein@sophia.inria.fr Bill, @@ -6504,7 +6437,6 @@ Perhaps a new syntax and working could correct that. Date: Sun, 24 Nov 2002 16:36:16 +0100 (CET) From: Bertfried Fauser To: axiom-developer@nongnu.org -cc: axiom-mail@nongnu.org Subject: [Axiom-developer] axiom mailing lists @@ -6528,8 +6460,8 @@ lists, is considered unpolite, I would appologize for that. Date: Sun, 24 Nov 2002 10:39:18 -0500 From: root To: wyscc@cunyvm.cuny.edu -CC: daly@idsi.net, TeXmacs@math.u-psud.fr, texmacs-dev@gnu.org, axiom-developer@nongnu.org, bill.page1@sympatico.ca, nr@eecs.harvard.edu, axiom-mail@nongnu.org, bmt@us.ibm.com, Manuel.Bronstein@sophia.inria.fr Subject: [Axiom-developer] Re: noweb, pamphlets, and TeXmacs +CC: TeXmacs@math.u-psud.fr, texmacs-dev@gnu.org, bill.page1@sympatico.ca, nr@eecs.harvard.edu, axiom-mail@nongnu.org, bmt@us.ibm.com, Manuel.Bronstein@sophia.inria.fr Bill, @@ -6553,9 +6485,8 @@ use <> style references. Date: Sun, 24 Nov 2002 17:07:01 +0100 (MET) From: Joris van der Hoeven To: Bill Page -Cc: "'Joris van der Hoeven'" , texmacs-dev@gnu.org, daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] RE: [Texmacs-dev] Axiom and TeXmacs - +Cc: "'Joris van der Hoeven'" , texmacs-dev@gnu.org > > Also: how much documentation does already exist > > in the pamphlet format? @@ -6592,8 +6523,8 @@ the web, and so on. Date: Sun, 24 Nov 2002 18:17:25 +0100 (MET) From: Joris van der Hoeven To: root -Cc: "'Joris van der Hoeven'" , texmacs-dev@gnu.org, axiom-developer@nongnu.org, Bill Page , Norman Ramsey , axiom-mail@nongnu.org, Barry Trager , Manuel Bronstein , William Sit Subject: [Axiom-developer] Re: noweb, pamphlets, and TeXmacs +Cc: "'Joris van der Hoeven'" , texmacs-dev@gnu.org, Bill Page , Norman Ramsey , Barry Trager , Manuel Bronstein , William Sit Thanks for the detailed tutorial, Tim. @@ -6864,9 +6795,8 @@ but you can ask questions on the texmacs-dev list. Date: Sun, 24 Nov 2002 12:27:22 -0500 From: root To: TeXmacs@math.u-psud.fr -CC: daly@idsi.net, texmacs-dev@gnu.org, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: noweb, pamphlets, and TeXmacs - +CC: texmacs-dev@gnu.org Joris, @@ -6882,8 +6812,8 @@ question concerns other TeXmacs operations like URL tag following. Date: Sun, 24 Nov 2002 19:20:54 +0100 (MET) From: Joris van der Hoeven To: root -Cc: TeXmacs@math.u-psud.fr, texmacs-dev@gnu.org, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: noweb, pamphlets, and TeXmacs +Cc: TeXmacs@math.u-psud.fr, texmacs-dev@gnu.org > Is TeXmacs scriptable? That is, can I run it from a Makefile > silently during document generation? @@ -6906,8 +6836,8 @@ not very clean yet. Date: Sun, 24 Nov 2002 13:45:29 -0500 From: William Sit To: daly@idsi.net -CC: TeXmacs@math.u-psud.fr, texmacs-dev@gnu.org, axiom-developer@nongnu.org, bill.page1@sympatico.ca, nr@eecs.harvard.edu, axiom-mail@nongnu.org, bmt@us.ibm.com, Manuel.Bronstein@sophia.inria.fr Subject: [Axiom-developer] Re: noweb, pamphlets, and TeXmacs +CC: TeXmacs@math.u-psud.fr, texmacs-dev@gnu.org, bill.page1@sympatico.ca, nr@eecs.harvard.edu, bmt@us.ibm.com, Manuel.Bronstein@sophia.inria.fr > The URLs are all assumed to be internal, hence the pamphlet: > prefix. @@ -6927,7 +6857,6 @@ can also be done automatically similar to patches to software bugs. Date: Sun, 24 Nov 2002 13:46:26 -0500 From: root To: wyscc@cunyvm.cuny.edu -CC: daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: noweb, pamphlets, and TeXmacs >>In this case, we agree. I would suggest then that the (path) be left out @@ -6940,8 +6869,8 @@ Excellent idea. Date: Sun, 24 Nov 2002 14:00:24 -0500 From: "Bill Page" To: "'Joris van der Hoeven'" -Cc: , , "'Norman Ramsey'" , "'Barry Trager'" , "'Manuel Bronstein'" , "'William Sit'" , , Subject: [Axiom-developer] RE: noweb, pamphlets, and TeXmacs +Cc: , , "'Norman Ramsey'" , "'Barry Trager'" , "'Manuel Bronstein'" , "'William Sit'" , , Everyone, @@ -7239,8 +7168,8 @@ your ideas are to Anthony's on this! Date: Sun, 24 Nov 2002 20:22:24 +0100 (MET) From: Joris van der Hoeven To: Bill Page -Cc: "'Joris van der Hoeven'" , texmacs-dev@gnu.org, axiom-developer@nongnu.org, "'Norman Ramsey'" , "'Barry Trager'" , "'Manuel Bronstein'" , "'William Sit'" , xml-litprog-l@yahoogroups.com, abcoates@TheOffice.net Subject: [Axiom-developer] RE: noweb, pamphlets, and TeXmacs +Cc: "'Joris van der Hoeven'" , texmacs-dev@gnu.org, "'Norman Ramsey'" , "'Barry Trager'" , "'Manuel Bronstein'" , "'William Sit'" , xml-litprog-l@yahoogroups.com, abcoates@TheOffice.net > I think that Anthony Coates (see links above) has > already done quite an excellent job of defining a @@ -7258,8 +7187,8 @@ another story). This is what we should discuss in my opinion. Date: Sun, 24 Nov 2002 15:00:24 -0500 From: "Bill Page" To: "'Joris van der Hoeven'" -Cc: , , "'Norman Ramsey'" , "'Barry Trager'" , "'Manuel Bronstein'" , "'William Sit'" , , Subject: [Axiom-developer] RE: noweb, pamphlets, and TeXmacs +Cc: , , "'Norman Ramsey'" , "'Barry Trager'" , "'Manuel Bronstein'" , "'William Sit'" , , On Sunday, November 24, 2002 2:22 PM Joris van der Hoeven TeXmacs@math.u-psud.fr wrote: @@ -7319,8 +7248,8 @@ et another generation of programmers. Date: Sun, 24 Nov 2002 21:27:57 GMT From: "Anthony B. Coates" To: xml-litprog-l@yahoogroups.com, "Bill Page" , "'Joris van der Hoeven'" -Cc: , , "'Norman Ramsey'" , "'Barry Trager'" , "'Manuel Bronstein'" , "'William Sit'" Subject: [Axiom-developer] Re: noweb, pamphlets, and TeXmacs +Cc: , , "'Norman Ramsey'" , "'Barry Trager'" , "'Manuel Bronstein'" , "'William Sit'" ** Reply to message from "Bill Page" on Sun, 24 Nov 2002 15:00:24 -0500 @@ -7367,8 +7296,8 @@ http://www.mddl.org/ Date: Mon, 25 Nov 2002 14:58:17 +0100 From: =?iso-8859-1?Q?Johannes_H=FCsing?= To: xml-litprog-l@yahoogroups.com, Bill Page , 'Joris van der Hoeven' -Cc: texmacs-dev@gnu.org, axiom-developer@nongnu.org, 'Norman Ramsey' , 'Barry Trager' , 'Manuel Bronstein' , 'William Sit' Subject: [Axiom-developer] Re: [xml-litprog-l] Re: noweb, pamphlets, and TeXmacs +Cc: texmacs-dev@gnu.org, axiom-developer@nongnu.org, 'Norman Ramsey' , 'Barry Trager' , 'Manuel Bronstein' , 'William Sit' On Sun 2002-11-24 (21:27), Anthony B. Coates wrote: > ** Reply to message from "Bill Page" on Sun, 24 Nov @@ -7397,8 +7326,8 @@ Greetings Date: Mon, 25 Nov 2002 13:16:07 -0500 From: "Bill Page" To: -Cc: , , "'Norman Ramsey'" , "'Barry Trager'" , "'Manuel Bronstein'" , "'William Sit'" , Subject: [Axiom-developer] RE: [xml-litprog-l] Re: noweb, pamphlets, and TeXmacs +Cc: , , "'Norman Ramsey'" , "'Barry Trager'" , "'Manuel Bronstein'" , "'William Sit'" , Hello all, @@ -7534,8 +7463,8 @@ http://savannah.nongnu.org/projects/axiom Date: Tue, 26 Nov 2002 09:56:59 +0000 From: Mike Dewar To: Bill Page -Cc: xml-litprog-l@yahoogroups.com, texmacs-dev@gnu.org, axiom-developer@nongnu.org, "'Norman Ramsey'" , "'Barry Trager'" , "'Manuel Bronstein'" , "'William Sit'" , cyganski@ece.WPI.EDU, Mike Dewar Subject: Re: [Axiom-developer] RE: [xml-litprog-l] Re: noweb, pamphlets, and Te +Cc: xml-litprog-l@yahoogroups.com, texmacs-dev@gnu.org, axiom-developer@nongnu.org, "'Norman Ramsey'" , "'Barry Trager'" , "'Manuel Bronstein'" , "'William Sit'" , cyganski@ece.WPI.EDU, Mike Dewar On Mon, Nov 25, 2002 at 01:16:07PM -0500, Bill Page wrote: @@ -7589,8 +7518,8 @@ URIs. Date: Tue, 26 Nov 2002 12:01:40 +0100 (MET) From: Joris van der Hoeven To: texmacs-dev@gnu.org -Cc: Bill Page , xml-litprog-l@yahoogroups.com, axiom-developer@nongnu.org, "'Norman Ramsey'" , "'Barry Trager'" , "'Manuel Bronstein'" , "'William Sit'" , cyganski@ece.WPI.EDU, Mike Dewar Subject: Re: [Texmacs-dev] Re: [Axiom-developer] RE: [xml-litprog-l] Re: noweb, pamphlets, and TeXmacs +Cc: Bill Page , xml-litprog-l@yahoogroups.com, axiom-developer@nongnu.org, "'Norman Ramsey'" , "'Barry Trager'" , "'Manuel Bronstein'" , "'William Sit'" , cyganski@ece.WPI.EDU, Mike Dewar > LaTeX is fine as a rendering language but it does not have a regular > syntax and is very hard to manipulate. I've just spent several months @@ -7636,7 +7565,6 @@ to do all the work. Date: Tue, 26 Nov 2002 14:20:09 +0100 From: michel.lavaud@univ-orleans.fr To: Mike Dewar -CC: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] RE: [xml-litprog-l] Re: noweb, pamphlets, and TeXmacs Hello Mike, @@ -7766,7 +7694,6 @@ http://www.univ-orleans.fr/EXT/ASTEX Date: Tue, 26 Nov 2002 13:46:33 +0000 From: Mike Dewar To: michel.lavaud@univ-orleans.fr -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] RE: [xml-litprog-l] Re: noweb, pamphlets, and TeXmacs Hi Michel, @@ -8054,8 +7981,8 @@ Your comments would be most appreciated. Date: Tue, 26 Nov 2002 12:55:16 -0500 From: "Bill Page" To: -Cc: , Subject: [Axiom-developer] RE: [maple8] Maple XML and MATH/ML +Cc: On Tuesday, November 26, 2002 10:30 AM I wrote: @@ -8164,7 +8091,6 @@ it is open source. Date: Tue, 26 Nov 2002 19:08:11 +0100 From: michel.lavaud@univ-orleans.fr To: Mike Dewar -CC: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] RE: [xml-litprog-l] Re: noweb, pamphlets, and TeXmacs Hello Mike, @@ -8192,8 +8118,8 @@ to 10... But anyway, you're right, I will buy some vellum, just in case Date: Tue, 26 Nov 2002 13:57:53 +0000 From: Mike Dewar To: Joris van der Hoeven -Cc: texmacs-dev@gnu.org, Bill Page , xml-litprog-l@yahoogroups.com, axiom-developer@nongnu.org, "'Norman Ramsey'" , "'Barry Trager'" , "'Manuel Bronstein'" , "'William Sit'" , cyganski@ece.WPI.EDU, Mike Dewar Subject: Re: [Texmacs-dev] Re: [Axiom-developer] RE: [xml-litprog-l] Re: noweb, pamphlets, and TeXmacs +Cc: texmacs-dev@gnu.org, Bill Page , xml-litprog-l@yahoogroups.com, axiom-developer@nongnu.org, "'Norman Ramsey'" , "'Barry Trager'" , "'Manuel Bronstein'" , "'William Sit'" , cyganski@ece.WPI.EDU, Mike Dewar On Tue, Nov 26, 2002 at 12:01:40PM +0100, Joris van der Hoeven wrote: @@ -8232,8 +8158,8 @@ In what sense? Date: Tue, 26 Nov 2002 15:27:54 +0100 (MET) From: Joris van der Hoeven To: Mike Dewar -Cc: Joris van der Hoeven , texmacs-dev@gnu.org, Bill Page , xml-litprog-l@yahoogroups.com, axiom-developer@nongnu.org, "'Norman Ramsey'" , "'Barry Trager'" , "'Manuel Bronstein'" , "'William Sit'" , cyganski@ece.WPI.EDU Subject: Re: [Texmacs-dev] Re: [Axiom-developer] RE: [xml-litprog-l] Re: noweb, pamphlets, and TeXmacs +Cc: Joris van der Hoeven , texmacs-dev@gnu.org, Bill Page , xml-litprog-l@yahoogroups.com, axiom-developer@nongnu.org, "'Norman Ramsey'" , "'Barry Trager'" , "'Manuel Bronstein'" , "'William Sit'" , cyganski@ece.WPI.EDU > Quite how useful graphical manipulation of mathematics is is > questionable, @@ -8274,9 +8200,8 @@ as possible. Date: Tue, 26 Nov 2002 22:15:48 +0100 (CET) From: Martin RUBEY To: Mike Dewar +Subject: Re: [Texmacs-dev] Re: [Axiom-developer] RE: [xml-litprog-l] Re: noweb, pamphlets, and TeXmacs Cc: Joris van der Hoeven , , Bill Page , , , 'Norman Ramsey' , 'Barry Trager' , 'Manuel Bronstein' , 'William Sit' , -Subject: Re: [Texmacs-dev] Re: [Axiom-developer] RE: [xml-litprog-l] Re: - noweb, pamphlets, and TeXmacs > Quite how useful graphical manipulation of mathematics is is > questionable, but the ability to select/cut/paste sub-expressions in a @@ -8288,7 +8213,6 @@ kdvi just started to make "select" possible. Well, started... Date: Tue, 26 Nov 2002 19:25:42 -0500 From: "Bill Page" To: -Cc: Subject: [Axiom-developer] testing cvs Tim, @@ -8303,8 +8227,8 @@ things over the next few days. Date: Tue, 26 Nov 2002 20:18:17 -0500 From: "Bill Page" To: -Cc: , Subject: [Axiom-developer] MetaPRL +Cc: Tim, @@ -8324,8 +8248,8 @@ afterall there are 23 useable hours in each day. Right? Date: Tue, 26 Nov 2002 23:24:05 -0500 From: root To: bill.page1@sympatico.ca -CC: daly@idsi.net, axiom-developer@nongnu.org, cyganski@ece.WPI.EDU Subject: [Axiom-developer] Re: MetaPRL +CC: cyganski@ece.WPI.EDU Bill, @@ -8337,8 +8261,8 @@ before I do it all again. Date: Tue, 26 Nov 2002 23:28:11 -0500 From: root To: bill.page1@sympatico.ca -CC: daly@idsi.net, axiom-developer@nongnu.org, cyganski@ece.WPI.EDU Subject: [Axiom-developer] Re: MetaPRL +CC: cyganski@ece.WPI.EDU tenkan appears to be down at the moment. i'll try tomorrow. --t @@ -8346,9 +8270,8 @@ tenkan appears to be down at the moment. i'll try tomorrow. --t Date: Tue, 26 Nov 2002 23:26:07 -0500 From: William Sit To: Martin RUBEY -CC: Mike Dewar , Joris van der Hoeven , texmacs-dev@gnu.org, Bill Page , xml-litprog-l@yahoogroups.com, axiom-developer@nongnu.org, 'Norman Ramsey' , 'Barry Trager' , 'Manuel Bronstein' , cyganski@ece.WPI.EDU Subject: Re: [Texmacs-dev] Re: [Axiom-developer] RE: [xml-litprog-l] Re:noweb, pamphlets, and TeXmacs - +CC: Mike Dewar , Joris van der Hoeven , texmacs-dev@gnu.org, Bill Page , xml-litprog-l@yahoogroups.com, 'Norman Ramsey' , 'Barry Trager' , 'Manuel Bronstein' , cyganski@ece.WPI.EDU Martin RUBEY wrote: > @@ -8384,8 +8307,8 @@ generation could be influenced by Axiom? Date: Wed, 27 Nov 2002 10:04:19 +0000 From: Mike Dewar To: Bill Page -Cc: maple8@yahoogroups.com, texmacs-dev@gnu.org, axiom-developer@nongnu.org, Mike Dewar Subject: Re: [Axiom-developer] RE: [maple8] Maple XML and MATH/ML +Cc: maple8@yahoogroups.com, texmacs-dev@gnu.org, Mike Dewar Hi Bill, @@ -8516,7 +8439,6 @@ On Tue, Nov 26, 2002 at 12:55:16PM -0500, Bill Page wrote: Date: Wed, 27 Nov 2002 19:32:58 +0100 From: michel.lavaud@univ-orleans.fr To: wyscc@cunyvm.cuny.edu -CC: axiom-developer@nongnu.org Subject: Re: [Texmacs-dev] Re: [Axiom-developer] RE: [xml-litprog-l] Re:noweb, pamphlets, and TeXmacs Hello William, @@ -8532,7 +8454,6 @@ arguments? In what sense is $x_i$ for example ambiguous? Date: Wed, 27 Nov 2002 13:54:56 -0500 From: root To: camm@enhanced.com, axiom-developer@nongnu.org -CC: daly@idsi.net Subject: [Axiom-developer] Makefile and CVS The CVS change worked fine. Please move your comments from the @@ -8665,8 +8586,8 @@ Feel free to argue. Date: Wed, 27 Nov 2002 13:58:36 -0500 From: root To: michel.lavaud@univ-orleans.fr -CC: wyscc@cunyvm.cuny.edu, axiom-developer@nongnu.org Subject: Re: [Texmacs-dev] Re: [Axiom-developer] RE: [xml-litprog-l] Re:noweb, pamphlets, and TeXmacs +CC: wyscc@cunyvm.cuny.edu Michel, @@ -8706,7 +8627,6 @@ root writes: Date: Wed, 27 Nov 2002 16:29:38 -0500 From: root To: bill.page1@sympatico.ca -CC: axiom-developer@nongnu.org Subject: [Axiom-developer] Re: [Gcl-devel] Re: GCL on windows. >Bill Page wrote: @@ -8759,8 +8679,8 @@ software. Date: Wed, 27 Nov 2002 16:39:02 -0500 From: William Sit To: daly@idsi.net -CC: michel.lavaud@univ-orleans.fr, axiom-developer@nongnu.org Subject: Re: [Texmacs-dev] Re: [Axiom-developer] RE: [xml-litprog-l] Re:noweb,pamphlets, and TeXmacs +CC: michel.lavaud@univ-orleans.fr michel.lavaud@univ-orleans.fr wrote: > @@ -8811,7 +8731,6 @@ the display handler. Date: Wed, 27 Nov 2002 17:18:42 -0500 From: root To: bill.page1@sympatico.ca -CC: axiom-developer@nongnu.org Subject: [Axiom-developer] Windows noweb patch Bill, @@ -8845,7 +8764,6 @@ the <> chunkname. Date: Wed, 27 Nov 2002 17:29:22 -0500 From: root To: stannous@cisco.com -CC: daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: Axiom I've sent a request to have an account created for you. @@ -8950,7 +8868,6 @@ some other open source package), if at all possible. Date: Wed, 27 Nov 2002 18:23:01 -0500 From: root To: bill.page1@sympatico.ca -CC: axiom-developer@nongnu.org Subject: [Axiom-developer] Windows front end > Bill Page wrote: @@ -9011,8 +8928,8 @@ whims. I'll do what I can to help. Date: 27 Nov 2002 20:41:12 -0500 From: Camm Maguire To: daly@idsi.net -Cc: stannous@cisco.com, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Re: Axiom +Cc: stannous@cisco.com Greetings! I just saw this go by, and gave it a try myself. obj/linux/bin/bootsys appeared to be created successfully. This also @@ -9044,7 +8961,6 @@ root writes: Date: Wed, 27 Nov 2002 21:09:06 -0500 From: root To: camm@enhanced.com -CC: axiom-developer@nongnu.org Subject: [Axiom-developer] Layers Yes, in the current state of the CVS the end result of the build @@ -9118,8 +9034,8 @@ is and is not a layer. I'm working on layer 2 as we speak. Date: Thu, 28 Nov 2002 10:13:15 +0000 From: Mike Dewar To: root -Cc: bill.page1@sympatico.ca, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Windows front end +Cc: bill.page1@sympatico.ca Hi Guys, @@ -9244,9 +9160,8 @@ On Wed, Nov 27, 2002 at 06:23:01PM -0500, Tim Daly wrote: Date: Thu, 28 Nov 2002 10:35:20 -0500 From: root To: miked@nag.co.uk -CC: daly@idsi.net, bill.page1@sympatico.ca, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Windows front end - +CC: bill.page1@sympatico.ca > Mike Dewar wrote: > @@ -9387,7 +9302,6 @@ seen this code. Date: Thu, 28 Nov 2002 11:25:07 -0500 From: Bill Page To: , -CC: , Subject: [Axiom-developer] Re: Windows front end Tim, @@ -9422,7 +9336,6 @@ not particularly efficient. Date: Thu, 28 Nov 2002 11:30:12 -0500 From: root To: bill.page1@sympatico.ca -CC: axiom-developer@nongnu.org Subject: [Axiom-developer] Windows and TeXmacs I agree that you can run TeXmacs on a Windows box using @@ -9442,8 +9355,8 @@ environment? Date: Thu, 28 Nov 2002 12:14:57 -0500 From: Bill Page To: root -CC: , Subject: [Axiom-developer] Re: Windows and TeXmacs +CC: Tim, @@ -9478,7 +9391,6 @@ and externally directed part of it. Date: Thu, 28 Nov 2002 12:20:06 -0500 From: root To: stannous@cisco.com, axiom-developer@nongnu.org -CC: daly@idsi.net Subject: [Axiom-developer] Re: FreeBSD...Re: Axiom Sam, @@ -9640,7 +9552,6 @@ Bill Page. Date: Thu, 28 Nov 2002 21:16:21 -0500 From: root To: bill.page1@sympatico.ca -CC: axiom-developer@nongnu.org Subject: [Axiom-developer] SPAD, strip and dev/null Bill, @@ -9676,8 +9587,8 @@ I'll also make the EXE change you suggested. Date: Fri, 29 Nov 2002 10:24:19 +0000 From: Mike Dewar To: root -Cc: bill.page1@sympatico.ca, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Windows front end +Cc: bill.page1@sympatico.ca On Thu, Nov 28, 2002 at 10:35:20AM -0500, Tim Daly wrote: diff --git a/book/2002-12.txt b/book/2002-12.txt index a851a6b..767be9f 100644 --- a/book/2002-12.txt +++ b/book/2002-12.txt @@ -13,8 +13,8 @@ None of it visible, of course, but progress nonetheless. Date: Thu, 05 Dec 2002 16:54:32 -0500 From: Norman Ramsey To: daly@idsi.net -Cc: "'Joris van der Hoeven'" , texmacs-dev@gnu.org, axiom-developer@nongnu.org, "Bill Page" , axiom-mail@nongnu.org, Barry Trager , Manuel Bronstein , William Sit Subject: [Axiom-developer] Re: noweb, pamphlets, and TeXmacs +Cc: "'Joris van der Hoeven'" , texmacs-dev@gnu.org, axiom-developer@nongnu.org, "Bill Page" , Barry Trager , Manuel Bronstein , William Sit > I've written some tutorial notes on the pamphlet idea to try to get > everyone at the same level of discussion... @@ -54,8 +54,8 @@ such documents. Date: Thu, 5 Dec 2002 20:27:41 -0500 From: root To: nr@eecs.harvard.edu -CC: daly@idsi.net, TeXmacs@math.u-psud.fr, texmacs-dev@gnu.org, axiom-developer@nongnu.org, bill.page1@sympatico.ca, axiom-mail@nongnu.org, bmt@us.ibm.com, Manuel.Bronstein@sophia.inria.fr, wyscc@cunyvm.cuny.edu Subject: [Axiom-developer] Re: noweb, pamphlets, and TeXmacs +CC: TeXmacs@math.u-psud.fr, texmacs-dev@gnu.org, bill.page1@sympatico.ca, bmt@us.ibm.com, Manuel.Bronstein@sophia.inria.fr, wyscc@cunyvm.cuny.edu > > I've written some tutorial notes on the pamphlet idea to try to get > > everyone at the same level of discussion... @@ -227,8 +227,8 @@ you receive it in duplicate. Oh well... Date: Fri, 06 Dec 2002 03:30:29 -0500 From: William Sit To: root -CC: nr@eecs.harvard.edu, TeXmacs@math.u-psud.fr, texmacs-dev@gnu.org, axiom-developer@nongnu.org, bill.page1@sympatico.ca, axiom-mail@nongnu.org, bmt@us.ibm.com, "Bronstein, Manuel" Subject: [Axiom-developer] Tex(t) chunk inclusion and citation +CC: nr@eecs.harvard.edu, TeXmacs@math.u-psud.fr, texmacs-dev@gnu.org, bill.page1@sympatico.ca, bmt@us.ibm.com, "Bronstein, Manuel" Tim wrote: @@ -399,8 +399,8 @@ We can severely restrict how a citable chunk or reference can be written Date: Fri, 6 Dec 2002 23:11:43 -0500 From: root To: wyscc@cunyvm.cuny.edu -CC: daly@idsi.net, nr@eecs.harvard.edu, TeXmacs@math.u-psud.fr, texmacs-dev@gnu.org, axiom-developer@nongnu.org, bill.page1@sympatico.ca, axiom-mail@nongnu.org, bmt@us.ibm.com, Manuel.Bronstein@sophia.inria.fr Subject: [Axiom-developer] Re: Tex(t) chunk inclusion and citation +CC: nr@eecs.harvard.edu, TeXmacs@math.u-psud.fr, texmacs-dev@gnu.org, bill.page1@sympatico.ca, bmt@us.ibm.com, Manuel.Bronstein@sophia.inria.fr > Tim wrote: > @@ -545,7 +545,6 @@ moment. Date: Mon, 9 Dec 2002 08:05:09 -0500 From: Tim Daly To: miked@nag.co.uk, daly@idsi.net -cc: axiom-developer@nongnu.org Subject: [Axiom-developer] unused boot files Mike, @@ -571,7 +570,6 @@ word.boot Date: Mon, 9 Dec 2002 14:29:26 +0000 From: Mike Dewar To: Tim Daly -cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] Re: unused boot files Hi Tim, @@ -632,7 +630,6 @@ I hope that this is helpful. Date: Mon, 9 Dec 2002 09:02:35 -0500 From: Tim Daly To: miked@nag.co.uk -cc: axiom-developer@nongnu.org Subject: [Axiom-developer] Re: unused boot files @@ -650,7 +647,6 @@ interest to keep it functional so I'd like to test it. Date: Mon, 9 Dec 2002 16:46:41 -0500 From: root To: -cc: axiom-developer@nongnu.org Subject: [Axiom-developer] Aldor and Windows Stephen, @@ -665,8 +661,8 @@ running everywhere also. Date: 12 Dec 2002 12:12:06 -0500 From: Camm Maguire To: gcl-devel@gnu.org -cc: maxima@fireant.ma.utexas.edu, axiom-developer@nongnu.org Subject: [Axiom-developer] The state of gcl/maxima/acl2 +cc: maxima@fireant.ma.utexas.edu Greetings! I thought this would be a good time for an update here, as the acl2 work has basically been completed. All these results pertain @@ -755,8 +751,8 @@ x86 xBSD yes yes pass ???? ???? ???? ???? Date: Fri, 13 Dec 2002 12:52:01 +1000 From: "Mike Thomas" To: "Camm Maguire" , -cc: maxima@fireant.ma.utexas.edu, axiom-developer@nongnu.org Subject: [Axiom-developer] RE: [Gcl-devel] The state of gcl/maxima/acl2 +cc: maxima@fireant.ma.utexas.edu Hi Camm. @@ -781,7 +777,6 @@ is most of the "heavy lifting". Do you have GCL running anywhere? Date: Thu, 19 Dec 2002 12:38:55 -0500 From: Bill Page To: , -cc: axiom-developer@nongnu.org Subject: [Axiom-developer] Re: GCL Tim, @@ -818,7 +813,6 @@ work on it later. Date: Sat, 21 Dec 2002 17:52:47 -0500 From: root To: bill.page1@sympatico.ca, axiom-developer@nongnu.org -cc: daly@idsi.net Subject: [Axiom-developer] pre-interpsys image I've checked in the next version of the system. This will build @@ -9114,8 +9108,8 @@ bash-2.05a# Date: 22 Dec 2002 20:23:19 -0500 From: Camm Maguire To: daly@idsi.net -cc: axiom-developer@nongnu.org, cc: bill.page1@sympatico.ca Subject: Re: [Axiom-developer] pre-interpsys image +cc: bill.page1@sympatico.ca Greetings, and thanks as always for your work on this! Just wanted to notice that there are quite a few straightforward failures when using @@ -9129,8 +9123,8 @@ compile or run time switch to get the old behavior. Date: Sun, 22 Dec 2002 21:08:11 -0500 From: root To: camm@enhanced.com -cc: daly@idsi.net, bill.page1@sympatico.ca, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] pre-interpsys image +cc: bill.page1@sympatico.ca Camm, @@ -9168,7 +9162,6 @@ release by year-end. Date: 24 Dec 2002 11:56:32 -0500 From: Camm Maguire To: daly@idsi.net -cc: axiom-mail@nongnu.org, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] open source axiom lives Congratulations! An outstanding achievement! And, BTW, everything @@ -9191,7 +9184,6 @@ root writes: Date: Tue, 24 Dec 2002 12:05:12 -0500 From: root To: camm@enhanced.com -cc: axiom-developer@nongnu.org, daly@idsi.net Subject: Re: [Axiom-developer] open source axiom lives re: current gcl diff --git a/book/2003-01.txt b/book/2003-01.txt index f958ff9..166d582 100644 --- a/book/2003-01.txt +++ b/book/2003-01.txt @@ -17,7 +17,6 @@ in the host of mails recived from teh axiom mailing list) Date: Fri, 3 Jan 2003 12:25:43 -0500 From: root To: Bertfried.Fauser@uni-konstanz.de -cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] re: Xutils.h, Xos.h etc No problem. You need to install the X include files. On RedHat they @@ -45,7 +44,6 @@ to actually use axiom to do algebra. Date: 03 Jan 2003 18:21:59 -0500 From: Camm Maguire To: daly@idsi.net -cc: gcl-devel@gnu.org, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] open source axiom lives Greetings! @@ -73,8 +71,8 @@ root writes: Date: Sat, 4 Jan 2003 12:09:48 -0500 From: root To: david.mentre@wanadoo.fr -cc: daly@idsi.net, lehobey@free.fr, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: Axiom source code? +cc: lehobey@free.fr David, @@ -325,8 +323,8 @@ Feel free to ask questions. Date: 05 Jan 2003 22:37:54 +0100 From: David MENTRE To: daly@idsi.net -cc: axiom-developer@nongnu.org, lehobey@free.fr Subject: [Axiom-developer] Re: Axiom source code? +cc: lehobey@free.fr Hello Tim, @@ -439,7 +437,6 @@ have a running Axiom. Date: 13 Jan 2003 14:52:19 -0500 From: Camm Maguire To: daly@idsi.net -cc: gcl-devel@gnu.org, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] axiom progress Greetings! diff --git a/book/2003-02.txt b/book/2003-02.txt index 7988c74..47b062e 100644 --- a/book/2003-02.txt +++ b/book/2003-02.txt @@ -2,7 +2,6 @@ Date: Fri, 14 Feb 2003 09:15:42 -0500 From: root To: rubey@labri.fr -cc: axiom-mail@nongnu.org, daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: [Axiom-mail] lattice graph program Martin Rubey wrote: @@ -151,7 +150,6 @@ I hope it helps, Date: Sun, 16 Feb 2003 15:59:38 -0500 From: root To: david.mentre@wanadoo.fr -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Failed to build latest axiom tree David, @@ -167,7 +165,6 @@ that the changes are available. Date: Sun, 16 Feb 2003 17:13:58 -0500 From: root To: axiom-developer@nongnu.org -cc: daly@idsi.net Subject: Re: [Axiom-developer] Failed to build latest axiom tree > > I should be done later today and then I'll announce that the changes @@ -286,7 +283,6 @@ Questions and comments should be sent to me. Date: Tue, 18 Feb 2003 4:24:24 -0500 From: Bill Page To: -cc: axiom-developer@nongnu.org Subject: [Axiom-developer] Re: Axiom next release Tim, @@ -322,7 +318,6 @@ of the RedHat 8.0 distribution): Date: Tue, 18 Feb 2003 6:04:50 -0500 From: Bill Page To: -cc: axiom-developer@nongnu.org Subject: [Axiom-developer] Re: Axiom next release Tim, @@ -381,7 +376,6 @@ time making sure that I have LaTex first. Date: Tue, 18 Feb 2003 07:02:43 -0500 From: root To: bill.page1@sympatico.ca -cc: axiom-developer@nongnu.org, daly@idsi.net Subject: Re: [Axiom-developer] Re: Axiom next release Can't imagine how Latex was involved in that error. @@ -449,7 +443,6 @@ everywhere. Date: 18 Feb 2003 21:30:42 +0100 From: David MENTRE To: daly@idsi.net -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Axiom next release Hello tim and bill, @@ -491,7 +484,6 @@ It is still compiling on my old celeron 500 :) so: to be continued... Date: 18 Feb 2003 22:42:59 +0100 From: David MENTRE To: daly@idsi.net -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Axiom next release David MENTRE writes: @@ -533,7 +525,6 @@ right path. Date: Tue, 18 Feb 2003 17:36:23 -0500 From: root To: david.mentre@wanadoo.fr -cc: axiom-developer@nongnu.org, daly@idsi.net Subject: Re: [Axiom-developer] Axiom next release Excellent. I'll look into the Latex issue. That's the kind of thing @@ -543,7 +534,6 @@ that I can't test because I build systems the same way every time. Date: Tue, 18 Feb 2003 18:06:50 -0500 From: Bill Page To: David MENTRE , -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Axiom next release David, @@ -591,7 +581,6 @@ to look for this cycle of dependencies? Date: Tue, 18 Feb 2003 18:26:26 -0500 From: root To: bill.page1@sympatico.ca -cc: daly@idsi.net, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Axiom next release David, @@ -616,8 +605,8 @@ directory). I never built a SUN version from scratch. Date: Wed, 19 Feb 2003 07:51:18 +0000 From: Mike Dewar To: root -cc: axiom-developer@nongnu.org, bill.page1@sympatico.ca Subject: Re: [Axiom-developer] Axiom next release +cc: bill.page1@sympatico.ca Tim is right that compiling Axiom can take a long time but on a more modern machine and using CCL (which is *much* faster than gcc because it @@ -670,8 +659,8 @@ On Tue, Feb 18, 2003 at 06:26:26PM -0500, Tim Daly wrote: Date: Wed, 19 Feb 2003 07:09:23 -0500 From: root To: miked@nag.co.uk -cc: daly@idsi.net, bill.page1@sympatico.ca, axiom-developer@nongnu.org Subject: [Axiom-developer] CCL development +cc: bill.page1@sympatico.ca Mike, @@ -743,8 +732,8 @@ priority, and I couldn't afford to delay the effort any longer. Date: Wed, 19 Feb 2003 12:59:58 +0000 From: Mike Dewar To: root -cc: bill.page1@sympatico.ca, axiom-developer@nongnu.org, Mike Dewar Subject: [Axiom-developer] Re: CCL development +cc: bill.page1@sympatico.ca, Mike Dewar Hi Tim, @@ -860,7 +849,6 @@ should be searched in my local path /home/fauser/axiom/.... and not in Date: 19 Feb 2003 18:48:51 +0100 From: David MENTRE To: Bill Page -cc: axiom-developer@nongnu.org, daly@idsi.net Subject: Re: [Axiom-developer] Axiom next release Hi bill, @@ -886,7 +874,6 @@ Next compile, I'll try to make a log of the compilation process. Date: 19 Feb 2003 18:55:10 +0100 From: David MENTRE To: Bertfried.Fauser@uni-konstanz.de -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] compiling axiom/error Bertfried Fauser writes: @@ -900,7 +887,6 @@ http://mail.nongnu.org/archive/html/axiom-developer/2003-02/msg00008.html Date: Thu, 20 Feb 2003 00:21:57 -0500 From: root To: Bertfried.Fauser@uni-konstanz.de -cc: axiom-developer@nongnu.org Subject: [Axiom-developer] debugsys absolute pathnames Bertfried Fauser wrote: @@ -927,8 +913,8 @@ chasing bugs in such detail. Date: Thu, 20 Feb 2003 00:26:21 -0500 From: root To: david.mentre@wanadoo.fr -cc: daly@idsi.net, bill.page1@sympatico.ca, axiom-developer@nongnu.org Subject: [Axiom-developer] latex processes +cc: bill.page1@sympatico.ca Can you give me a clue about where the latex proceses are started? @@ -945,8 +931,8 @@ FAQ item number 4). Date: Thu, 20 Feb 2003 00:33:25 -0500 From: root To: miked@nag.co.uk -cc: daly@idsi.net, bill.page1@sympatico.ca, axiom-developer@nongnu.org, miked@nag.co.uk Subject: Re: [Axiom-developer] Re: CCL development +cc: bill.page1@sympatico.ca, miked@nag.co.uk > Somehow we need to ensure that all the useful but undocumented > information about Axiom and CCL stored in Themos and my brains is made @@ -970,8 +956,8 @@ pamphlet files. Date: Thu, 20 Feb 2003 00:39:16 -0500 From: root To: miked@nag.co.uk -cc: daly@idsi.net, bill.page1@sympatico.ca, axiom-developer@nongnu.org, miked@nag.co.uk Subject: Re: [Axiom-developer] Re: CCL development +cc: bill.page1@sympatico.ca, miked@nag.co.uk > Somehow we need to ensure that all the useful but undocumented > information about Axiom and CCL stored in Themos and my brains is made @@ -1002,7 +988,6 @@ why it recurses when it has clearly found the property would be most welcome. Date: 20 Feb 2003 20:32:46 +0100 From: David MENTRE To: daly@idsi.net -cc: axiom-developer@nongnu.org Subject: [Axiom-developer] Re: latex processes Hi tim, @@ -1038,7 +1023,6 @@ Enter file name: Date: Thu, 20 Feb 2003 16:30:45 -0500 From: root To: david.mentre@wanadoo.fr -cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] Re: latex processes David, @@ -1052,7 +1036,6 @@ to the mnt subdirectory. Date: Thu, 20 Feb 2003 17:17:19 -0500 From: "Bill Page" To: , -cc: axiom-developer@nongnu.org Subject: RE: [Axiom-developer] Re: latex processes Tim, @@ -1100,8 +1083,8 @@ use this default. Date: Fri, 21 Feb 2003 09:47:24 +0000 From: Mike Dewar To: root -cc: bill.page1@sympatico.ca, Mike Dewar , axiom-developer@nongnu.org Subject: Re: [Axiom-developer] latex processes +cc: bill.page1@sympatico.ca, Mike Dewar Tim, @@ -1142,8 +1125,8 @@ to work, great... Date: Fri, 21 Feb 2003 06:32:22 -0500 From: root To: miked@nag.co.uk -cc: daly@idsi.net, bill.page1@sympatico.ca, axiom-developer@nongnu.org, miked@nag.co.uk Subject: Re: [Axiom-developer] latex processes +cc: bill.page1@sympatico.ca, miked@nag.co.uk Thanks for the latex tip. I did a strings on my latex and it does support that option. Good catch. I'll fix that in the next release. @@ -1153,7 +1136,6 @@ This has been a thorn for a long time and I've never found that option. Date: Fri, 21 Feb 2003 06:40:13 -0500 From: root To: Bertfried.Fauser@uni-konstanz.de -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] compilation on SuSE 8.0 Bertfried, @@ -1171,8 +1153,8 @@ algebra should compile cleanly and we'll have a fully running system. Date: Fri, 21 Feb 2003 11:56:18 +0000 From: Mike Dewar To: root -cc: bill.page1@sympatico.ca, axiom-developer@nongnu.org, Mike Dewar Subject: Re: [Axiom-developer] Re: CCL development +cc: bill.page1@sympatico.ca, Mike Dewar According to our logs that particular fix came from Barry Trager but I don't have all my mail files from 1996 any more so can't find the @@ -1211,8 +1193,8 @@ On Thu, Feb 20, 2003 at 12:39:16AM -0500, Tim Daly wrote: Date: Fri, 21 Feb 2003 07:04:05 -0500 From: root To: miked@nag.co.uk -cc: daly@idsi.net, bill.page1@sympatico.ca, axiom-developer@nongnu.org, miked@nag.co.uk Subject: [Axiom-developer] SetCategory infinite loop +cc: bill.page1@sympatico.ca, miked@nag.co.uk Thanks, Mike. Once I have more information, if I haven't solved it, I'll ask Barry. -- Tim diff --git a/book/2003-03.txt b/book/2003-03.txt index 07d5ade..483328a 100644 --- a/book/2003-03.txt +++ b/book/2003-03.txt @@ -2,8 +2,8 @@ Date: 05 Mar 2003 18:12:52 +0100 From: David MENTRE To: daly@idsi.net -cc: axiom-developer@nongnu.org, bill.page1@sympatico.ca, Subject: Re: [Axiom-developer] Re: Axiom next release +cc: bill.page1@sympatico.ca, Hello, @@ -832,8 +832,8 @@ diff -Pru -x *CVS* -x *~ axiom.orig/new/new/zips/gcl.unixport.makefile.patch axi Date: Wed, 5 Mar 2003 13:12:22 -0500 From: root To: david.mentre@wanadoo.fr -cc: daly@idsi.net, bill.page1@sympatico.ca, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Re: Axiom next release +cc: bill.page1@sympatico.ca David, @@ -850,7 +850,6 @@ file you can proceed. Date: 07 Mar 2003 20:20:06 +0100 From: David MENTRE To: daly@idsi.net -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Re: Axiom next release root writes: @@ -914,7 +913,6 @@ lisp. Date: Fri, 7 Mar 2003 14:34:27 -0500 From: "Bill Page" To: "'David MENTRE'" , -cc: axiom-developer@nongnu.org Subject: RE: [Axiom-developer] Re: Axiom next release Tim, @@ -1010,7 +1008,6 @@ compilation of the remaining algebra modules? Date: Fri, 7 Mar 2003 18:26:34 -0500 From: root To: bill.page1@sympatico.ca, david.mentre@wanadoo.fr,axiom-developer@nongnu.org -cc: daly@idsi.net Subject: [Axiom-developer] GCL version Well I originally tried to run with GCL 2.5 and was not @@ -1227,7 +1224,6 @@ Bill. Date: Fri, 7 Mar 2003 22:19:43 -0500 From: root To: bill.page1@sympatico.ca -cc: axiom-developer@nongnu.org, daly@idsi.net Subject: Re: [Axiom-developer] GCL version Bill, @@ -1243,8 +1239,8 @@ and these can be defined in the image. Date: 08 Mar 2003 08:03:35 -0500 From: Camm Maguire To: daly@idsi.net -cc: bill.page1@sympatico.ca, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] GCL version +cc: bill.page1@sympatico.ca Greetings! (I'm away until 6/1, but am managing to read this remotely today. Unfortunately, communication with me might be unreliable until @@ -1492,7 +1488,6 @@ Take care, Date: Sat, 8 Mar 2003 09:56:50 -0500 From: root To: camm@enhanced.com -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Axiom next release Camm, @@ -1554,8 +1549,8 @@ Suggestions? Date: 09 Mar 2003 13:02:20 +0100 From: David MENTRE To: daly@idsi.net -cc: axiom-developer@nongnu.org, camm@enhanced.com Subject: Re: [Axiom-developer] GCL 2.5 and XDR +cc: camm@enhanced.com root writes: @@ -1586,7 +1581,6 @@ Here is the needed patch : Date: 20 Mar 2003 10:41:52 -0500 From: Camm Maguire To: daly@idsi.net -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] GCL 2.5 and XDR Greetings! Please accept my apologies for the delay in responding. diff --git a/book/2003-04.txt b/book/2003-04.txt index 13202ed..554a185 100644 --- a/book/2003-04.txt +++ b/book/2003-04.txt @@ -2,7 +2,6 @@ Date: Tue, 8 Apr 2003 10:35:06 -0400 From: Tim Daly To: "Don Peterson" -cc: axiom-mail@nongnu.org, daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: Axiom web pages Don, @@ -59,7 +58,6 @@ donp@gdssw.com Date: Tue, 8 Apr 2003 14:33:32 -0400 From: Tim Daly To: donp@gdssw.com -cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] Re: Axiom web pages Axiom is several layers of languages. @@ -121,7 +119,6 @@ yet available. Date: Wed, 23 Apr 2003 22:41:25 -0400 From: root To: tim@tenkan.org -cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] Re: Axiom CVS Tim, @@ -213,7 +210,6 @@ Is there somebody working on a version for Mac OSX ? Date: Thu, 24 Apr 2003 13:32:22 -0400 From: root To: michel.lavaud@univ-orleans.fr -cc: axiom-developer@nongnu.org, daly@idsi.net Subject: Re: [Axiom-developer] Re: Axiom CVS Michel, @@ -238,7 +234,6 @@ compiler bugs and can't even think about porting it yet. Bill Page Date: Fri, 25 Apr 2003 00:49:18 -0400 From: root To: dpt@math.harvard.edu, axiom-developer@nongnu.org -cc: daly@idsi.net Subject: [Axiom-developer] Re: new/src/boot/Makefile.pamphlet Dylan @@ -362,7 +357,6 @@ It used to work and eventually it will all work again. Date: Fri, 25 Apr 2003 02:46:25 -0400 From: root To: dpt@math.harvard.edu, axiom-developer@nongnu.org -cc: daly@idsi.net Subject: [Axiom-developer] Re: new/src/boot/Makefile.pamphlet re: the patch. thanks. @@ -469,7 +463,6 @@ succeeded. Date: Fri, 25 Apr 2003 10:21:33 -0400 From: "Bill Page" To: -cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] RE: Axiom for Windows Michel, @@ -671,8 +664,8 @@ Bill Page. Date: Fri, 25 Apr 2003 14:40:51 -0400 From: root To: bill.page1@sympatico.ca -cc: michel.lavaud@univ-orleans.fr, daly@idsi.net, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] RE: Axiom for Windows +cc: michel.lavaud@univ-orleans.fr Bill @@ -723,7 +716,6 @@ sources back. Date: Fri, 25 Apr 2003 14:46:54 -0400 From: root To: bill.page1@sympatico.ca -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] FW: Mail System Error - Returned Mail Bill, @@ -781,8 +773,8 @@ Peace, Date: 26 Apr 2003 17:29:47 +0200 From: David MENTRE To: daly@idsi.net -cc: axiom-developer@nongnu.org, bill.page1@sympatico.ca Subject: [Axiom-developer] Re: GCL version +cc: bill.page1@sympatico.ca Hello tim, @@ -805,7 +797,6 @@ I've you made any progress on this issue? Date: Sat, 26 Apr 2003 12:24:46 -0400 From: root To: dpt@math.harvard.edu -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Compiling Dylan, @@ -950,8 +941,8 @@ files, etc. Axiom's makefiles could support this. Now THAT would be novel. Date: Sat, 26 Apr 2003 12:29:35 -0400 From: root To: david.mentre@wanadoo.fr -cc: daly@idsi.net, bill.page1@sympatico.ca, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Re: GCL version +cc: bill.page1@sympatico.ca > A long time ago, you told me: > @@ -985,7 +976,6 @@ Unfortunately, until I fix the algebra I have no time to look at GCL 2.5 Date: 26 Apr 2003 12:30:02 -0400 From: Camm Maguire To: David MENTRE -cc: gcl-devel@gnu.org, axiom-developer@nongnu.org Subject: [Axiom-developer] Greetings! I'm away from easy access to my email until 6/1, so @@ -1075,8 +1065,8 @@ work. Date: 26 Apr 2003 18:36:42 +0200 From: David MENTRE To: daly@idsi.net -cc: axiom-developer@nongnu.org, bill.page1@sympatico.ca Subject: Re: [Axiom-developer] Re: GCL version +cc: bill.page1@sympatico.ca root writes: @@ -1091,7 +1081,6 @@ it. Date: 26 Apr 2003 18:45:11 +0200 From: David MENTRE To: daly@idsi.net -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Compiling root writes: @@ -1129,7 +1118,6 @@ http://www.tip.net.au/~millerp/rmch/recu-make-cons-harm.html Date: Sat, 26 Apr 2003 16:13:05 -0400 From: "Bill Page" To: "'David MENTRE'" , -cc: axiom-developer@nongnu.org Subject: RE: [Axiom-developer] Compiling On Saturday, April 26, 2003 12:45 PM David Mentre @@ -1155,7 +1143,6 @@ message even before the build process begins. Right? Date: 27 Apr 2003 00:03:13 +0200 From: Juergen Weiss To: David MENTRE -cc: axiom-developer@nongnu.org, daly@idsi.net Subject: Re: [Axiom-developer] Compiling for examples with GNU make you may write: @@ -1293,7 +1280,6 @@ table driven one (as used in macsyma and reduce). Date: Mon, 28 Apr 2003 06:32:45 -0400 From: root To: weiss@uni-mainz.de -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] axiom on cmu cl Sorry for the delay in reply. I was away in the real world. @@ -1352,7 +1338,6 @@ and send me the console? Date: Mon, 28 Apr 2003 20:22:23 -0400 From: root To: weiss@uni-mainz.de, axiom-developer@nongnu.org -cc: daly@idsi.net Subject: Re: [Axiom-developer] axiom on cmu cl I probably sent you the tape you were using. Do you happen to still have @@ -1400,7 +1385,6 @@ the best it can be. Date: Tue, 29 Apr 2003 12:04:10 +0200 From: michel.lavaud@univ-orleans.fr To: "Bill Page" -cc: axiom-developer@nongnu.org Subject: [Axiom-developer] RE: Axiom for Windows Hello Bill, @@ -1452,7 +1436,6 @@ Please set up CVS read/write access for Arthur Norman (acn1@cam.ac.uk). Date: 29 Apr 2003 09:52:48 -0400 From: Camm Maguire To: daly@idsi.net -cc: gcl-devel@gnu.org, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] axiom on cmu cl Greetings! [ Just a reminder, I'm still away on sabbatical until 6/1, @@ -1542,7 +1525,6 @@ root writes: Date: Tue, 29 Apr 2003 12:35:07 -0400 From: Dylan Thurston To: Camm Maguire -cc: gcl-devel@gnu.org, daly@idsi.net, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] axiom on cmu cl On Tue, Apr 29, 2003 at 09:52:48AM -0400, Camm Maguire wrote: @@ -1561,7 +1543,6 @@ patch, so that I can work on more interesting issues. Date: Tue, 29 Apr 2003 18:02:22 -0400 From: root To: weiss@uni-mainz.de -cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] done Juergen, @@ -1576,7 +1557,6 @@ or from your version? Date: Wed, 30 Apr 2003 15:03:54 -0400 From: root To: axiom-mail@nongnu.org, axiom-developer@nongnu.org -cc: axiom@tenkan.org, daly@idsi.net Subject: [Axiom-developer] bounced mail It appears that there is a problem sending email to me at diff --git a/book/2003-05.txt b/book/2003-05.txt index c21db99..fcf63be 100644 --- a/book/2003-05.txt +++ b/book/2003-05.txt @@ -2,7 +2,6 @@ Date: 01 May 2003 11:32:24 -0400 From: Camm Maguire To: dpt@math.harvard.edu -cc: gcl-devel@gnu.org, daly@idsi.net, axiom-developer@nongnu.org Subject: Re: [Gcl-devel] Re: [Axiom-developer] axiom on cmu cl Greetings! Please try this (against 2.5.2): @@ -76,7 +75,6 @@ To build gcl, I'm using: ./configure --enable-statsysbfd --enable-dynsysgmp --en Date: 01 May 2003 21:26:26 -0400 From: Camm Maguire To: David MENTRE -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Re: Axiom on gcl 2.5.2 and powerpc: a first attempt Greetings! In putting together the 2.5.2 release, a first attempt was @@ -1019,7 +1017,6 @@ If an axiom-developer guy as any idea, it would be great. :) Date: Thu, 1 May 2003 22:11:15 -0400 From: root To: camm@enhanced.com -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Re: Axiom on gcl 2.5.2 and powerpc: a first attempt Camm, @@ -1137,7 +1134,6 @@ Content-Description: patch to gcl o/cmpaux.c Date: 02 May 2003 11:13:41 -0400 From: Camm Maguire To: daly@idsi.net -cc: gcl-devel@gnu.org, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Re: Axiom on gcl 2.5.2 and powerpc: a first attempt Greetings! OK, I see the issue now, and it is a GCL bug. The @@ -1164,7 +1160,6 @@ root writes: Date: Fri, 2 May 2003 17:27:53 -0400 From: root To: camm@enhanced.com -cc: gcl-devel@gnu.org, daly@idsi.net, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Re: Axiom on gcl 2.5.2 and powerpc: a first attempt Axiom uses multiply-bignum-stack during the build process. @@ -2234,7 +2229,6 @@ diff -Pru -x *CVS* -x *~ axiom.orig/new/new/zips/gcl.unixport.makefile.patch axi Date: Sat, 3 May 2003 11:29:26 -0400 From: root To: david.mentre@wanadoo.fr -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] A tip for Axiom: use ledit to have editable command line re: ledit and command line @@ -2247,7 +2241,6 @@ available and the whole thing should probably be rewritten. Date: Sat, 3 May 2003 11:31:54 -0400 From: root To: david.mentre@wanadoo.fr -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Re: First (quick & dirty) port of Axiom to gcl-2.5.2 and powerpc architecture re: GCL 2.5.2 @@ -2259,7 +2252,6 @@ I'll move the whole project to 2.5.2 Date: Sat, 3 May 2003 11:41:38 -0400 From: root To: david.mentre@wanadoo.fr -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] First (quick & dirty) port of Axiom to gcl-2.5.2 and powerpc architecture re: Axiom blockage and Latex process @@ -2292,7 +2284,6 @@ I'm open to discussion of better ways to handle this. Date: Sat, 3 May 2003 12:01:16 -0400 From: root To: david.mentre@wanadoo.fr -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] First (quick & dirty) port of Axiom to gcl-2.5.2 and powerpc architecture While we're on the subject of possible changes there are a few decisions @@ -2366,7 +2357,6 @@ Suggestions? Date: Sat, 3 May 2003 12:27:32 -0400 From: root To: david.mentre@wanadoo.fr -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] First (quick & dirty) port of Axiom to gcl-2.5.2 and powerpc architecture I noticed your patch includes changes to the Makefile and Makefile.linux @@ -2393,7 +2383,6 @@ If this is NOT the case let me know. Date: Sat, 3 May 2003 12:35:30 -0400 From: root To: david.mentre@wanadoo.fr -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] First (quick & dirty) port of Axiom to gcl-2.5.2 and powerpc architecture re: OLD_IN_PACKAGE variable @@ -2468,7 +2457,6 @@ to munge the filename into the \nonstopmode\input{} commands. Date: Sat, 3 May 2003 19:57:00 -0400 From: root To: cloos@jhcloos.com -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] First (quick & dirty) port of Axiom to gcl-2.5.2 and powerpc architecture Jim, @@ -2485,7 +2473,6 @@ Thanks for the pointer. Date: 04 May 2003 10:21:49 +0200 From: David MENTRE To: daly@idsi.net -cc: axiom-developer@nongnu.org Subject: About Makfile and Makefile.pamphlet (was: Re: [Axiom-developer] First (quick & dirty) port of Axiom to gcl-2.5.2 and powerpc architecture) Hello tim, @@ -2532,7 +2519,6 @@ install' procedure like all others GNU programs? Date: 04 May 2003 10:30:06 +0200 From: David MENTRE To: daly@idsi.net -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] First (quick & dirty) port of Axiom to gcl-2.5.2 and powerpc architecture Hello tim, @@ -2556,7 +2542,6 @@ Let us know when the CVS is updated on tenkan. Date: 04 May 2003 10:43:07 +0200 From: David MENTRE To: daly@idsi.net -cc: axiom-developer@nongnu.org Subject: About shell commands in Makefile (was Re: [Axiom-developer] First (quick & dirty) port of Axiom to gcl-2.5.2 and powerpc architecture) Hello tim, @@ -2600,7 +2585,6 @@ Maybe we should stick to the GNU way of naming systems like Date: 04 May 2003 10:56:14 +0200 From: David MENTRE To: daly@idsi.net -cc: axiom-developer@nongnu.org Subject: About file formats (was Re: [Axiom-developer] First (quick & dirty) port of Axiom to gcl-2.5.2 and powerpc architecture) Hello tim, ;) @@ -2681,7 +2665,6 @@ You would update it each time you upgrade the CVS. Date: Sun, 4 May 2003 09:55:31 -0400 From: root To: david.mentre@wanadoo.fr -cc: axiom-developer@nongnu.org, daly@idsi.net Subject: Re: About Makfile and Makefile.pamphlet (was: Re: [Axiom-developer] architecture) > > In general it is dangerous to edit the Makefile or the Makefile.linux @@ -2733,7 +2716,6 @@ to some parts of the system. Date: Sun, 4 May 2003 10:13:35 -0400 From: root To: david.mentre@wanadoo.fr -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] About Axiom paths within Axiom code > Tim, is all the compiled code relative to the AXIOM environment variable @@ -2789,7 +2771,6 @@ a bug. Date: Sun, 4 May 2003 10:20:59 -0400 From: root To: david.mentre@wanadoo.fr -cc: axiom-developer@nongnu.org, daly@idsi.net Subject: Re: About shell commands in Makefile (was Re: [Axiom-developer] First (quick & dirty) port of Axiom to gcl-2.5.2 and powerpc architecture) > You should use the "VAR := $(shell command)" syntax, like in the following @@ -2836,7 +2817,6 @@ convention). Is there a note about this convention somewhere? Date: Sun, 4 May 2003 11:11:48 -0400 From: root To: david.mentre@wanadoo.fr -cc: axiom-developer@nongnu.org, daly@idsi.net Subject: Re: About file formats (was Re: [Axiom-developer] First (quick & dirty) port of Axiom to gcl-2.5.2 and powerpc architecture) > Why not use noweb facility to standardize some predefined noweb chunks, @@ -2991,7 +2971,6 @@ there are several thousand pamphlet files? Date: Sun, 4 May 2003 11:19:18 -0400 From: root To: david.mentre@wanadoo.fr -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Version number on Axiom code > It would be very nice to have a version number on axiom code. Therefore, @@ -3030,7 +3009,6 @@ I'll fix this. Date: Sun, 4 May 2003 11:22:11 -0400 From: root To: david.mentre@wanadoo.fr -cc: axiom-developer@nongnu.org, daly@idsi.net Subject: Re: [Axiom-developer] First (quick & dirty) port of Axiom to gcl-2.5.2 and powerpc architecture David, @@ -3043,7 +3021,6 @@ upload the new version to CVS sometime today. Date: 04 May 2003 19:00:31 +0200 From: David MENTRE To: Tim Daly -cc: axiom-developer@nongnu.org Subject: [Axiom-developer] system naming (was: Re: About shell commands in Makefile) root writes: @@ -3079,7 +3056,6 @@ http://www.gnu.org/manual/autoconf-2.57/html_chapter/autoconf_13.html#SEC145 Date: 05 May 2003 09:48:19 -0400 From: Camm Maguire To: daly@idsi.net -cc: gcl-devel@gnu.org, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Re: Axiom on gcl 2.5.2 and powerpc: a first attempt Greetings! Yes, originally, gcl used pari for bignum support, and @@ -3115,7 +3091,6 @@ root writes: Date: 05 May 2003 18:53:51 +0200 From: David MENTRE To: Tim Daly -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Version number on Axiom code Hello Tim, @@ -3143,7 +3118,6 @@ Anyway, I can live with the current (un)numbering scheme. :) Date: 05 May 2003 19:16:53 +0200 From: David MENTRE To: Camm Maguire -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Re: Axiom on gcl 2.5.2 and powerpc: a first attempt Hello Camm, @@ -3191,7 +3165,6 @@ echo done. Date: Mon, 5 May 2003 20:30:29 +0200 From: michel.lavaud@univ-orleans.fr To: David MENTRE -cc: axiom-developer@nongnu.org Subject: Re: About file formats (was Re: [Axiom-developer] First (quick & dirty) port of Axiom to gcl-2.5.2 and powerpc architecture) Hello David, @@ -3236,7 +3209,6 @@ pamphlet files that could not be realized with dvi (this is a question) ? Date: Mon, 5 May 2003 16:17:49 -0400 From: root To: camm@enhanced.com -cc: gcl-devel@gnu.org, daly@idsi.net, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Re: Axiom on gcl 2.5.2 and powerpc: a first attempt I've removed the multiply-bignum-stacks in last night's CVS update. @@ -3247,7 +3219,6 @@ Tim Date: Mon, 5 May 2003 16:22:45 -0400 From: root To: david.mentre@wanadoo.fr -cc: axiom-developer@nongnu.org, axiom@tenkan.org Subject: Re: [Axiom-developer] Version number on Axiom code David, @@ -3267,7 +3238,6 @@ basis. Date: Mon, 5 May 2003 16:25:36 -0400 From: root To: david.mentre@wanadoo.fr -cc: axiom-developer@nongnu.org, camm@enhanced.com Subject: Re: [Axiom-developer] Re: Axiom on gcl 2.5.2 and powerpc: a first attempt re: forest of links @@ -3282,7 +3252,6 @@ If this is not true then it is a bug. Date: 05 May 2003 22:42:39 +0200 From: David MENTRE To: daly@idsi.net -cc: axiom-developer@nongnu.org, camm@enhanced.com Subject: Re: [Axiom-developer] Re: Axiom on gcl 2.5.2 and powerpc: a first attempt Hello Tim, @@ -3300,7 +3269,6 @@ clean'. I'll switch to your recommended behavior. Date: Mon, 5 May 2003 16:41:18 -0400 From: root To: michel.lavaud@univ-orleans.fr -cc: axiom-developer@nongnu.org Subject: Re: About file formats (was Re: [Axiom-developer] First (quick & dirty) port of Axiom to gcl-2.5.2 and powerpc architecture) Actually, dvi is a reasonable default choice, but it lacks a lot. @@ -3336,7 +3304,6 @@ and support research? Discuss among yourselves. You have 1 hour. Date: Mon, 5 May 2003 16:51:05 -0400 From: root To: david.mentre@wanadoo.fr, camm@enhanced.com -cc: axiom-developer@nongnu.org, daly@idsi.net Subject: Re: [Axiom-developer] Re: Axiom on gcl 2.5.2 and powerpc: a first attempt David, Camm, @@ -3349,7 +3316,6 @@ Could you look at what might be causing this? Date: Tue, 6 May 2003 12:57:57 +0200 From: michel.lavaud@univ-orleans.fr To: daly@idsi.net -cc: axiom-developer@nongnu.org Subject: Re: About file formats (was Re: [Axiom-developer] First (quick & dirty) port of Axiom to gcl-2.5.2 and powerpc architecture) Hello Tim, @@ -3451,8 +3417,8 @@ Answer : Hello, I'm here, cos(2x)+sin(3y) to powerX equals... Date: 08 May 2003 08:05:37 +0200 From: David MENTRE To: Tim Daly -cc: axiom-developer@nongnu.org, camm@enhanced.com Subject: Re: [Axiom-developer] Re: Axiom on gcl 2.5.2 and powerpc: a first attempt +cc: camm@enhanced.com Hi Tim, @@ -3522,8 +3488,8 @@ archs. Date: 08 May 2003 12:20:03 +0200 From: David MENTRE To: Tim Daly -cc: axiom-developer@nongnu.org, camm@enhanced.com Subject: Won't parse issue (was: Re: [Axiom-developer] Re: Axiom on gcl 2.5.2 and powerpc: a first attempt) +cc: camm@enhanced.com David MENTRE writes: @@ -3549,8 +3515,8 @@ All the "Won't parse" messages are coming from this instance. Date: Thu, 8 May 2003 06:44:10 -0400 From: root To: david.mentre@wanadoo.fr -cc: axiom-developer@nongnu.org, axiom@tenkan.org, camm@enhanced.com Subject: [Axiom-developer] won't parse error +cc: camm@enhanced.com Thanks. I'll look deeper at the problem later today. @@ -3702,7 +3668,6 @@ package defined in that file has been created. Date: Sun, 11 May 2003 18:01:13 -0400 From: root To: david.mentre@wanadoo.fr -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Re: Fix for SPD, OLD_IN_PACKAGE and latex issues (cvs-2003-05-07) David, @@ -7546,7 +7511,6 @@ http://www.univ-orleans.fr/EXT/ASTEX/astex/doc/fr/rosetta/html/roset.htm Date: Sun, 18 May 2003 16:50:27 -0400 From: root To: camm@enhanced.com -cc: gcl-devel@gnu.org, daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] bug in write-to-string In GCL 2.4.1: @@ -7568,7 +7532,6 @@ This causes the "Won't parse" messages in the latest port. Date: Sun, 18 May 2003 17:17:33 -0400 From: root To: axiom-developer@nongnu.org -cc: daly@idsi.net Subject: Re: [Axiom-developer] bug in write-to-string In GCL 2.5.2 there is a bug that causes "Won't parse" messages in @@ -7645,7 +7608,6 @@ This causes the "Won't parse" messages in the latest port. Date: Sun, 18 May 2003 17:19:23 -0400 From: root To: camm@enhanced.com, gcl-devel@gnu.org -cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] bug in write-to-string, correction The bug is actually in GCL 2.5.2 @@ -7671,7 +7633,6 @@ This causes the "Won't parse" messages in the latest port. Date: 19 May 2003 21:06:38 +0200 From: David MENTRE To: Tim Daly -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] bug in write-to-string Hello Tim, @@ -7708,7 +7669,6 @@ I think the issue is related to the symbol |eJECT|. Date: Mon, 19 May 2003 17:58:57 -0400 From: root To: david.mentre@wanadoo.fr -cc: axiom-developer@nongnu.org, axiom@tenkan.org Subject: Re: [Axiom-developer] bug in write-to-string Ah, right. The problem is that the @@ -7772,7 +7732,6 @@ I sent the wrong patch. Here is the corrected version: Date: 20 May 2003 09:12:09 -0400 From: Camm Maguire To: daly@idsi.net -cc: gcl-devel@gnu.org, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] bug in write-to-string, correction Greetings, and thanks for this report! I'll try to look at it this @@ -7807,7 +7766,6 @@ root writes: Date: 20 May 2003 09:21:56 -0400 From: Camm Maguire To: daly@idsi.net -cc: gcl-devel@gnu.org, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] bug in write-to-string, correction Greetings! Just looked at this very briefly, so take with a grain of @@ -7853,7 +7811,6 @@ root writes: Date: 20 May 2003 23:23:52 +0200 From: David MENTRE To: daly@idsi.net -cc: axiom-developer@nongnu.org, axiom@tenkan.org Subject: Re: [Axiom-developer] bug in write-to-string root writes: @@ -7872,8 +7829,8 @@ Yes. With the last patch, Axiom compiles correclty. Date: Sun, 25 May 2003 02:52:22 -0400 From: root To: camm@enhanced.com -cc: daly@rio.sci.ccny.cuny.edu, daly@idsi.net, gilbert@sci.ccny.cuny.edu, axiom-developer@nongnu.org, gcl0devel@gnu.org Subject: [Axiom-developer] Value stack overflow bug +cc: gilbert@sci.ccny.cuny.edu I've been chasing a very difficult bug for several months and I recently achieved a breakthru. Unfortunately it isn't a happy @@ -7934,8 +7891,8 @@ Please help. Date: 25 May 2003 12:58:46 +0200 From: David MENTRE To: daly@idsi.net, Tim Daly -cc: daly@rio.sci.ccny.cuny.edu, gcl-devel@gnu.org, axiom-developer@nongnu.org, gilbert@sci.ccny.cuny.edu, camm@enhanced.com Subject: Re: [Axiom-developer] Value stack overflow bug +cc: gilbert@sci.ccny.cuny.edu, camm@enhanced.com root writes: @@ -7955,8 +7912,8 @@ gcl-2.5.2/ directory). Date: Sun, 25 May 2003 10:56:12 -0400 From: root To: david.mentre@wanadoo.fr -cc: gcl-devel@gnu.org, daly@idsi.net, axiom-developer@nongnu.org, axiom@tenkan.org, daly@rio.sci.ccny.cuny.edu, gilbert@sci.ccny.cuny.edu, camm@enhanced.com Subject: Re: [Axiom-developer] Value stack overflow bug +cc: gilbert@sci.ccny.cuny.edu, camm@enhanced.com David, thanks. I'll give that a try. -- Tim diff --git a/book/2003-06.txt b/book/2003-06.txt index 6d44965..5ef53c6 100644 --- a/book/2003-06.txt +++ b/book/2003-06.txt @@ -2,8 +2,8 @@ Date: 04 Jun 2003 17:42:05 -0400 From: Camm Maguire To: daly@idsi.net -cc: daly@rio.sci.ccny.cuny.edu, gcl-devel@gnu.org, axiom-developer@nongnu.org, gilbert@sci.ccny.cuny.edu Subject: Re: [Axiom-developer] Value stack overflow bug +cc: gilbert@sci.ccny.cuny.edu Greetings! Just wanted to check how this is going. I've just tried multiplying the VSSIZE in h/gclincl.h.in by four, and I seem to be @@ -71,8 +71,8 @@ root writes: Date: 04 Jun 2003 17:38:33 -0400 From: Camm Maguire To: daly@idsi.net -cc: daly@rio.sci.ccny.cuny.edu, gcl0devel@gnu.org, axiom-developer@nongnu.org, gilbert@sci.ccny.cuny.edu Subject: Re: [Axiom-developer] Value stack overflow bug +cc: gilbert@sci.ccny.cuny.edu Greetings! Just wanted to check how this is going. I've just tried multiplying the VSSIZE in h/gclincl.h.in by four, and I seem to be @@ -138,8 +138,8 @@ root writes: Date: Wed, 4 Jun 2003 21:44:42 -0400 From: root To: camm@enhanced.com -cc: daly@rio.sci.ccny.cuny.edu, gcl0devel@gnu.org, daly@idsi.net, axiom-developer@nongnu.org, gilbert@sci.ccny.cuny.edu Subject: Re: [Axiom-developer] Value stack overflow bug +cc: gilbert@sci.ccny.cuny.edu Camm, @@ -204,7 +204,6 @@ verification. Date: Thu, 5 Jun 2003 11:20:53 +0100 From: Mike Dewar To: Juergen Weiss -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Input files They were in the sources which I sent to Tim. The set under @@ -230,7 +229,6 @@ On Thu, Jun 05, 2003 at 12:00:46PM +0200, Juergen Weiss wrote: Date: Thu, 5 Jun 2003 12:20:28 -0400 From: root To: weiss@uni-mainz.de -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Input files Juergen Weiss wrote: @@ -260,7 +258,6 @@ that site. Date: Thu, 5 Jun 2003 23:43:37 -0400 From: root To: camm@enhanced.com, gcl-devel@gnu.org -cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] elt bug Camm, @@ -282,8 +279,8 @@ Error: 1 is not of type POSITIVE-FIXNUM Date: Fri, 06 Jun 2003 19:41:15 +0200 From: David MENTRE To: daly@idsi.net -cc: axiom-developer@nongnu.org, Tim Daly , daly@rio.sci.ccny.cuny.edu, gcl0devel@gnu.org, gilbert@sci.ccny.cuny.edu, camm@enhanced.com Subject: Libre Software Meeting (was: Re: [Axiom-developer] Value stack overflow bug) +cc: gilbert@sci.ccny.cuny.edu, camm@enhanced.com Hello Tim, @@ -313,8 +310,8 @@ face-to-face Axiom meeting. Date: Fri, 6 Jun 2003 20:29:21 -0400 From: root To: david.mentre@wanadoo.fr -cc: gcl-devel@gnu.org, daly@idsi.net, axiom-developer@nongnu.org, axiom@tenkan.org, daly@rio.sci.ccny.cuny.edu, gilbert@sci.ccny.cuny.edu, camm@enhanced.com Subject: Re: Libre Software Meeting (was: Re: [Axiom-developer] Value stack overflow bug) +cc: gilbert@sci.ccny.cuny.edu, camm@enhanced.com I'm leaving here on July 4, arriving in Metz July 5 and staying until July 12th. Most of my pre-conference time is likely to be spent hacking. @@ -352,7 +349,6 @@ I'd be happy to get together anytime that's convenient for you. Date: Fri, 6 Jun 2003 21:44:53 -0400 From: "Bill Page" To: -cc: axiom-developer@nongnu.org Subject: RE: [Axiom-developer] Value stack overflow bug Tim, @@ -405,7 +401,6 @@ as the primary path instead of just a temporary one? Date: Sun, 8 Jun 2003 15:39:28 -0400 From: root To: bill.page1@sympatico.ca -cc: axiom-developer@nongnu.org, daly@idsi.net Subject: Re: [Axiom-developer] Value stack overflow bug Bill, @@ -484,7 +479,6 @@ a "second order" power that is hard in Axiom. Date: Sun, 8 Jun 2003 16:25:00 -0400 From: "Bill Page" To: -cc: axiom-developer@nongnu.org Subject: RE: [Axiom-developer] Value stack overflow bug Tim, @@ -576,7 +570,6 @@ seems like a backward step, no? Date: Mon, 9 Jun 2003 01:40:16 +0200 From: Ayal Pinkus To: axiom-developer@nongnu.org -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Value stack overflow bug Hi, @@ -640,7 +633,6 @@ Ayal Pinkus Date: Sun, 8 Jun 2003 21:18:09 -0400 From: root To: bill.page1@sympatico.ca -cc: axiom-developer@nongnu.org, daly@idsi.net Subject: Re: [Axiom-developer] Value stack overflow bug > Could you (briefly) describe how this process would be @@ -751,7 +743,6 @@ Not to worry, this is just a thought experiment anyway. Date: Sun, 8 Jun 2003 21:34:02 -0400 From: root To: apinkus@xs4all.nl -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Value stack overflow bug Ayal, @@ -805,7 +796,6 @@ I'm looking forward to it. Date: Mon, 9 Jun 2003 13:11:16 +0200 From: Ayal Pinkus To: axiom-developer@nongnu.org -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Value stack overflow bug > @@ -860,7 +850,6 @@ Is it top secret? It would be just out of curiosity. Date: Mon, 9 Jun 2003 08:08:28 -0400 From: Tim Daly To: apinkus@xs4all.nl, tim@tenkan.org -cc: axiom-developer@nongnu.org, cc: axiom@tenkan.org Subject: [Axiom-developer] source access Tim, @@ -889,7 +878,6 @@ not me) soon. Date: 09 Jun 2003 16:11:48 -0400 From: Camm Maguire To: daly@idsi.net -cc: gcl-devel@gnu.org, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: elt bug Greetings, and thanks for your report! Is your problem with the error @@ -923,7 +911,6 @@ root writes: Date: Mon, 9 Jun 2003 17:00:02 -0400 From: root To: camm@enhanced.com -cc: gcl-devel@gnu.org, daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: elt bug Camm, @@ -1099,7 +1086,6 @@ terminates at some point. Date: Tue, 10 Jun 2003 17:49:56 -0400 From: root To: weiss@uni-mainz.de -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Value stack problem re: CMUCL vs GCL @@ -1113,7 +1099,6 @@ one such problem related to set-difference. Clearly the code is Date: Wed, 18 Jun 2003 12:34:34 -0400 From: Tim Daly To: axiom-developer@nongnu.org -cc: daly@isdi.net, daly@rio.sci.ccny.cuny.edu, axiom@tenkan.org Subject: [Axiom-developer] Axiom for Linux available I've hand-built a version of Axiom for Linux. @@ -1155,7 +1140,6 @@ look deeply into moving the whole pile onto savannah. Date: Thu, 19 Jun 2003 06:08:38 +0200 (CEST) From: Bertfried Fauser To: Tim Daly -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Axiom for Linux available On Wed, 18 Jun 2003, Tim Daly wrote: @@ -1180,7 +1164,6 @@ Anyhow, you really did a great wonderful job! Date: Thu, 19 Jun 2003 00:27:16 -0400 From: root To: Bertfried.Fauser@uni-konstanz.de -cc: daly@rio.sci.ccny.cuny.edu, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Axiom for Linux available Well, I chose /tmp just so it would be obvious to people that @@ -1199,7 +1182,6 @@ to the next distribution version. Date: Thu, 19 Jun 2003 00:28:35 -0400 From: root To: bill.page1@sympatico.ca -cc: daly@rio.sci.ccny.cuny.edu, daly@idsi.net, axiom-developer@nongnu.org, axiom@tenkan.org Subject: [Axiom-developer] Re: Float bugs really curious behavior about round/truncate/fractionPart. @@ -1209,7 +1191,6 @@ i've added it to the list of bugs. thanks. Date: Thu, 19 Jun 2003 00:31:54 -0400 From: root To: bill.page1@sympatico.ca -cc: daly@rio.sci.ccny.cuny.edu, daly@idsi.net, axiom-developer@nongnu.org, axiom@tenkan.org Subject: Re: [Axiom-developer] Axiom for Linux available Bill, @@ -1227,8 +1208,8 @@ same environment. What do you use? Which compiler? Date: Thu, 19 Jun 2003 06:54:01 -0400 From: root To: bill.page1@sympatico.ca -cc: daly@rio.sci.ccny.cuny.edu, texmacs-dev@gnu.org, daly@idsi.net, axiom-developer@nongnu.org, axiom@tenkan.org Subject: [Axiom-developer] Re: AXIOM server number is undefined +cc: texmacs-dev@gnu.org re: bug 20030619001: @@ -1254,8 +1235,8 @@ You can see further options of a set command (say messages) by: Date: Thu, 19 Jun 2003 06:50:28 -0400 From: root To: bill.page1@sympatico.ca -cc: daly@rio.sci.ccny.cuny.edu, texmacs-dev@gnu.org, daly@idsi.net, axiom-developer@nongnu.org, axiom@tenkan.org Subject: [Axiom-developer] Re: AXIOM server number is undefined +cc: texmacs-dev@gnu.org re: bug 20030619002: @@ -1279,8 +1260,8 @@ get algebra load messages. Date: Thu, 19 Jun 2003 07:07:30 -0400 From: root To: bill.page1@sympatico.ca -cc: daly@rio.sci.ccny.cuny.edu, texmacs-dev@gnu.org, daly@idsi.net, axiom-developer@nongnu.org, axiom@tenkan.org Subject: [Axiom-developer] Re: AXIOM server number is undefined +cc: texmacs-dev@gnu.org re: bug 20030619000: @@ -1360,7 +1341,6 @@ locate it again if necessary. Date: Fri, 20 Jun 2003 10:36:55 -0400 From: Tim Daly To: hbaker1@pipeline.com -cc: daly@idsi.net, axiom-developer@nongnu.org, axiom@tenkan.org Subject: [Axiom-developer] Meta Prag-Parse Mr Baker, @@ -1382,7 +1362,6 @@ credit of authorship. I'd like your permission to do that. Date: Fri, 20 Jun 2003 08:24:28 -0700 From: Henry Baker To: Tim Daly -cc: daly@idsi.net, axiom-developer@nongnu.org, axiom@tenkan.org Subject: [Axiom-developer] Re: Meta Prag-Parse Tim: @@ -1421,7 +1400,6 @@ At 10:36 AM 6/20/03 -0400, Tim Daly wrote: Date: Fri, 20 Jun 2003 11:11:42 -0400 From: Tim Daly To: hbaker1@pipeline.com -cc: axiom-developer@nongnu.org, axiom@tenkan.org Subject: [Axiom-developer] Re: Meta Prag-Parse Thanks for the quick response. I have a version of the Meta lisp @@ -1472,7 +1450,6 @@ I doubt it. There is no such thing as a simple job. Date: Fri, 20 Jun 2003 14:28:19 -0700 From: Henry Baker To: Tim Daly -cc: axiom-developer@nongnu.org, axiom@tenkan.org Subject: [Axiom-developer] Re: Meta Prag-Parse Tim: @@ -1530,7 +1507,6 @@ At 11:11 AM 6/20/03 -0400, Tim Daly wrote: Date: Fri, 20 Jun 2003 19:45:14 -0400 From: root To: hbaker1@pipeline.com -cc: daly@rio.sci.ccny.cuny.edu, axiom-developer@nongnu.org, axiom@tenkan.org Subject: [Axiom-developer] Re: Meta Prag-Parse re: documentation @@ -1556,7 +1532,6 @@ i upload something. Date: Sat, 21 Jun 2003 00:15:52 -0400 From: root To: jasonjgw@pacific.net.au -cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] subscribing to axiom-developer, user interface issues. The axiom-mail mailing list will heat up shortly but you might find it @@ -1695,7 +1670,6 @@ is correct) Date: Sat, 21 Jun 2003 06:59:57 -0400 From: root To: jasonjgw@pacific.net.au -cc: daly@idsi.net, axiom-developer@nongnu.org, axiom@tenkan.org Subject: [Axiom-developer] set output script yes Jason, @@ -1713,8 +1687,8 @@ If you have a read that understands tex you could try ")set output tex on". Date: Sat, 21 Jun 2003 07:20:24 -0400 From: root To: Bertfried.Fauser@uni-konstanz.de -cc: hbaker1@pipeline.com, daly@idsi.net, axiom-developer@nongnu.org, axiom@tenkan.org Subject: Re: [Axiom-developer] Documentation +cc: hbaker1@pipeline.com Bertfried, @@ -1770,7 +1744,6 @@ a DOC++ function for C++ that does something similer). Date: Sat, 21 Jun 2003 07:33:34 -0400 From: root To: weiss@uni-mainz.de -cc: daly@idsi.net, cc: axiom-developer@nongnu.org, cc: axiom@tenkan.org Subject: Re: [Axiom-developer] Output problem Juergen, @@ -1808,8 +1781,8 @@ Good catch. I'll put it on the known bugs list. Date: Sat, 21 Jun 2003 07:40:03 -0400 From: root To: daly@idsi.net -cc: Bertfried.Fauser@uni-konstanz.de, daly@idsi.net, axiom-developer@nongnu.org, axiom@tenkan.org Subject: [Axiom-developer] Dunstan's Documentation +cc: Bertfried.Fauser@uni-konstanz.de Bertfried, @@ -1827,7 +1800,6 @@ tutorial with Axiom. Date: Sat, 21 Jun 2003 07:55:27 -0400 From: root To: mnd@dcs.st-andrews.ac.uk, mnd@dcs.st-and.ac.uk -cc: daly@idsi.net, axiom-developer@nongnu.org, axiom@tenkan.org Subject: [Axiom-developer] Axiom Documentation Dr Dunstan, @@ -1878,7 +1850,6 @@ http://www.sxst.it/nag__axm.htm Date: Sun, 22 Jun 2003 02:08:21 -0400 From: root To: jasonjgw@pacific.net.au -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Documentation Jason, @@ -1901,7 +1872,6 @@ consider releasing it as open source. Date: Sun, 22 Jun 2003 17:16:23 +1000 From: Jason White To: daly@idsi.net -cc: axiom-developer@nongnu.org, axiom@tenkan.org Subject: Re: [Axiom-developer] Output problem Actually the bug can be triggered much more simply: @@ -1914,7 +1884,6 @@ Actually the bug can be triggered much more simply: Date: Sun, 22 Jun 2003 10:39:08 +0200 (CEST) From: Bertfried Fauser To: root -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Documentation On Sun, 22 Jun 2003, root wrote: @@ -1936,7 +1905,6 @@ BF. Date: 22 Jun 2003 10:06:33 -0400 From: Camm Maguire To: "Juergen Weiss" -cc: gcl-devel@gnu.org, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] source access Greetings! @@ -2034,7 +2002,6 @@ diff -u -r1.26 -r1.27 Date: Sun, 22 Jun 2003 16:33:45 +0200 From: "Juergen Weiss" To: "Jason White" , -cc: axiom-developer@nongnu.org, axiom@tenkan.org Subject: RE: [Axiom-developer] Output problem As I wrote already in an email to Tim Daly, @@ -2269,8 +2236,8 @@ complete. From: Martin N Dunstan [mailto:mdunstan@computing.dundee.ac.uk] Sent: Monday, January 27, 2003 9:49 AM To: Bill Page -Cc: Martin Dunstan Subject: Re: web server not available? +Cc: Martin Dunstan Hi Bill, @@ -2291,8 +2258,8 @@ The Web site should now be available. The "proper" URL for it is now: From: Martin N Dunstan [mailto:mdunstan@computing.dundee.ac.uk] Sent: Monday, December 16, 2002 10:18 AM To: Bill Page -Cc: mnd@dcs.st-and.ac.uk Subject: Re: web server not available? +Cc: mnd@dcs.st-and.ac.uk Hi Bill, @@ -2340,8 +2307,8 @@ tutorial with Axiom. Date: Mon, 23 Jun 2003 09:32:39 +0100 (BST) From: Martin N Dunstan To: root -cc: Martin Dunstan , axiom-developer@nongnu.org, axiom@tenkan.org Subject: [Axiom-developer] Re: Axiom Documentation +cc: Martin Dunstan Hi Tim, @@ -2448,7 +2415,6 @@ Makefiles, complete the FAQ, etc. ? Date: Mon, 23 Jun 2003 18:28:43 -0400 From: root To: david.mentre@wanadoo.fr -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Report on building axiom cvs 2003-06-23 (i386) David, @@ -2492,7 +2458,6 @@ the bus. Date: Tue, 24 Jun 2003 19:07:45 +0200 From: David MENTRE To: daly@idsi.net, Tim Daly -cc: axiom-developer@nongnu.org Subject: src/input/Makefile.pamphlet (was: Re: [Axiom-developer] Report on building axiom cvs 2003-06-23 (i386)) root writes: @@ -2509,7 +2474,6 @@ In fact, the whole src/input directory is missing in CVS. Date: Wed, 25 Jun 2003 08:08:11 +1000 From: Jason White To: David MENTRE -cc: daly@idsi.net, axiom-developer@nongnu.org, Tim Daly Subject: Re: src/input/Makefile.pamphlet (was: Re: [Axiom-developer] Report on building axiom cvs 2003-06-23 (i386)) David MENTRE writes: @@ -2531,7 +2495,6 @@ which have been added to the repository. Date: Tue, 24 Jun 2003 20:26:56 -0400 From: root To: Bertfried.Fauser@uni-konstanz.de -cc: axiom-developer@nongnu.org, daly@idsi.net Subject: Re: [Axiom-developer] Documentation Bertfried, @@ -2547,7 +2510,6 @@ available again. Date: Tue, 24 Jun 2003 20:34:54 -0400 From: root To: Bertfried.Fauser@uni-konstanz.de -cc: axiom-developer@nongnu.org, daly@idsi.net Subject: Re: [Axiom-developer] Documentation Bertfried, @@ -2563,7 +2525,6 @@ available again. Date: Tue, 24 Jun 2003 22:22:18 -0400 From: "Bill Page" To: "'Mike Thomas'" -cc: gcl-devel@gnu.org, daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] RE: [Gcl-devel] use XDR with GCL on Windows Mike, @@ -2701,7 +2662,6 @@ to include these rpc sources with GCL? Date: Tue, 24 Jun 2003 23:02:31 -0400 From: root To: "Bill Page" , "'Mike Thomas'" -cc: gcl-devel@gnu.org, daly@idsi.net, axiom-developer@nongnu.org Subject: [Axiom-developer] use XDR with GCL on Windows, Makefile.windows, NAG libraries Bill, Mike, @@ -2777,8 +2737,8 @@ Needless to say, this is gonna cause a bit of lag in my responses. Date: Wed, 25 Jun 2003 14:27:38 +1000 From: "Mike Thomas" To: "Bill Page" -cc: gcl-devel@gnu.org, daly@idsi.net, axiom-developer@nongnu.org, mingw-users@lists.sourceforge.net Subject: [Axiom-developer] ONCRPC binaries for MinGW32 - where to put it. +cc: mingw-users@lists.sourceforge.net Hi again Bill. @@ -2847,7 +2807,6 @@ problem discussed on the MinGW32 list within the past year. Date: Tue, 24 Jun 2003 22:45:16 -0700 (PDT) From: C Y To: daly@idsi.net, Bill Page , 'Mike Thomas' -cc: gcl-devel@gnu.org, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: [Gcl-devel] NAG libraries --- root wrote: @@ -2905,8 +2864,8 @@ CY Date: Wed, 25 Jun 2003 10:11:16 +0100 From: Mike Dewar To: root -cc: daly@rio.sci.ccny.cuny.edu, texmacs-dev@gnu.org, bill.page1@sympatico.ca, axiom-developer@nongnu.org, axiom@tenkan.org Subject: Re: [Axiom-developer] Re: AXIOM server number is undefined +cc: texmacs-dev@gnu.org, bill.page1@sympatico.ca Hi Tim, @@ -2929,7 +2888,6 @@ filesystem. Date: Wed, 25 Jun 2003 10:20:09 +0100 From: Mike Dewar To: Jason White -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Re: subscribing to axiom-developer, user interface issues. Hi Jason, @@ -3025,7 +2983,6 @@ On Sat, Jun 21, 2003 at 04:00:02PM +1000, Jason White wrote: Date: Wed, 25 Jun 2003 10:22:20 +0100 From: Mike Dewar To: root -cc: axiom-developer@nongnu.org, axiom@tenkan.org Subject: Re: [Axiom-developer] Output problem This works fine in the last NAG version of Axiom, built using CCL. @@ -3068,8 +3025,8 @@ On Sat, Jun 21, 2003 at 07:33:34AM -0400, Tim Daly wrote: Date: Wed, 25 Jun 2003 10:32:30 +0100 From: Mike Dewar To: root -cc: Bertfried.Fauser@uni-konstanz.de, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Documentation +cc: Bertfried.Fauser@uni-konstanz.de I believe that the textbook was an interactive version of Bill Jacob's "Linear Functions and Matrix Theory" book, and it certainly wasn't ever @@ -3094,7 +3051,6 @@ On Tue, Jun 24, 2003 at 08:26:56PM -0400, Tim Daly wrote: From: Jason White Date: Wed, 25 Jun 2003 19:53:47 +1000 To: Mike Dewar -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Re: subscribing to axiom-developer, user interface issues. Mike, @@ -3117,7 +3073,6 @@ would probably be a useful addition. Date: Wed, 25 Jun 2003 11:18:33 +0100 From: Mike Dewar To: Jason White -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Re: subscribing to axiom-developer, user interface issues. On Wed, Jun 25, 2003 at 07:53:47PM +1000, Jason White wrote: @@ -3142,7 +3097,6 @@ G82328 (2) -> OMwrite sin(x) Date: Wed, 25 Jun 2003 07:06:53 -0400 From: root To: miked@nag.co.uk -cc: axiom@tenkan.org, daly@idsi.net, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Output problem > This works fine in the last NAG version of Axiom, built using CCL. @@ -3167,8 +3121,8 @@ haven't introduced a typo that is causing the problem. Date: Wed, 25 Jun 2003 07:04:40 -0400 From: root To: miked@nag.co.uk -cc: texmacs-dev@gnu.org, daly@idsi.net, axiom-developer@nongnu.org, axiom@tenkan.org, daly@rio.sci.ccny.cuny.edu, bill.page1@sympatico.ca Subject: Re: [Axiom-developer] Re: AXIOM server number is undefined +cc: texmacs-dev@gnu.org, bill.page1@sympatico.ca > > The "using local database" messages are due to the fact > > that I've moved where the databases are loaded from. @@ -3204,8 +3158,8 @@ I'm following ruts in the road rather than some deep design. Date: Wed, 25 Jun 2003 06:37:15 -0400 From: Earnie Boyd To: Mike Thomas -cc: gcl-devel@gnu.org, daly@idsi.net, axiom-developer@nongnu.org, Bill Page , mingw-users@lists.sourceforge.net Subject: [Axiom-developer] Re: [Mingw-users] ONCRPC binaries for MinGW32 - where to put it. +cc: Bill Page , mingw-users@lists.sourceforge.net Mike Thomas wrote: > @@ -3228,8 +3182,8 @@ A problem that could have been avoided if we all work together. Date: Wed, 25 Jun 2003 07:24:11 -0400 From: root To: miked@nag.co.uk -cc: Bertfried.Fauser@uni-konstanz.de, daly@idsi.net, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Documentation +cc: Bertfried.Fauser@uni-konstanz.de > I believe that the textbook was an interactive version of Bill Jacob's > "Linear Functions and Matrix Theory" book, and it certainly wasn't ever @@ -3283,8 +3237,8 @@ up a step and it is easier (and harder) to extend, maintain, and change. Date: Wed, 25 Jun 2003 13:06:29 +0100 From: Mike Dewar To: root -cc: daly@rio.sci.ccny.cuny.edu, texmacs-dev@gnu.org, bill.page1@sympatico.ca, axiom-developer@nongnu.org, axiom@tenkan.org Subject: Re: [Axiom-developer] Re: AXIOM server number is undefined +cc: texmacs-dev@gnu.org, bill.page1@sympatico.ca Tim, @@ -3335,8 +3289,8 @@ On Wed, Jun 25, 2003 at 07:04:40AM -0400, Tim Daly wrote: Date: Wed, 25 Jun 2003 13:16:50 +0100 From: Mike Dewar To: root -cc: Bertfried.Fauser@uni-konstanz.de, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Documentation +cc: Bertfried.Fauser@uni-konstanz.de I suspect that one of the reasons why Springer didn't pursue the project was that the machinery was too specific to generalise easily to other @@ -3418,7 +3372,6 @@ On Wed, Jun 25, 2003 at 07:24:11AM -0400, Tim Daly wrote: Date: Wed, 25 Jun 2003 18:48:33 +0200 From: David MENTRE To: Jason White -cc: axiom-developer@nongnu.org Subject: [Axiom-developer] Re: src/input/Makefile.pamphlet Jason White writes: @@ -3437,8 +3390,8 @@ I think the right command is 'cvs update -Cd'. Date: Thu, 26 Jun 2003 09:45:40 +1000 From: "Mike Thomas" To: "MinGW Users" -cc: gcl-devel@gnu.org, daly@idsi.net, Bill Page , axiom-developer@nongnu.org Subject: [Axiom-developer] RE: [Gcl-devel] Re: [Mingw-users] ONCRPC binaries for MinGW32 - where to put it. +cc: Bill Page Hi Earnie. @@ -3470,7 +3423,6 @@ source/build directory structure is just as it came from the original home. Date: Thu, 26 Jun 2003 11:28:39 +1000 From: Jason White To: Mike Dewar -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Re: subscribing to axiom-developer, user interface issues. Mike Dewar writes: @@ -3498,8 +3450,8 @@ Another item for the bug list? Date: Thu, 26 Jun 2003 00:17:08 -0400 From: root To: jasonjgw@pacific.net.au -cc: axiom-developer@nongnu.org, miked@nag.co.uk Subject: [Axiom-developer] OMwrite sin(x) +cc: miked@nag.co.uk Yep, another bug. sigh. @@ -3507,8 +3459,8 @@ Yep, another bug. sigh. Date: Thu, 26 Jun 2003 13:28:34 +0200 (CEST) From: Joris van der Hoeven To: -cc: daly@rio.sci.ccny.cuny.edu, root , bill.page1@sympatico.ca, axiom-developer@nongnu.org, axiom@tenkan.org Subject: Re: [Texmacs-dev] Re: [Axiom-developer] Re: AXIOM server number is undefined +cc: bill.page1@sympatico.ca Hi, @@ -3540,8 +3492,8 @@ Best wishes, Joris Date: Fri, 27 Jun 2003 17:04:06 -0500 From: James Amundson To: C Y -cc: gcl-devel , daly@idsi.net, axiom-developer@nongnu.org, Bill Page Subject: [Axiom-developer] Re: [Gcl-devel] NAG libraries +cc: Bill Page On Wed, 2003-06-25 at 00:45, C Y wrote: > I don't know what the best way to go is @@ -3576,7 +3528,6 @@ The main site is at http://www.gnu.org/software/gsl/ Date: Fri, 27 Jun 2003 21:09:03 -0400 From: "Page, Bill" To: "'bill.page1@sympatico.ca'" -cc: "'axiom-developer@nongnu.org'" Subject: [Axiom-developer] mainVariable(x)$QF Tim, @@ -3611,7 +3562,6 @@ I hope this helps. Date: Fri, 27 Jun 2003 20:55:20 -0400 From: "Page, Bill" To: "'daly@idsi.net'" -cc: axiom-developer@nongnu.org Subject: [Axiom-developer] mainVariable(x)$QF Tim, @@ -3646,8 +3596,8 @@ I hope this helps. Date: Fri, 27 Jun 2003 20:34:32 -0700 (PDT) From: C Y To: James Amundson -cc: gcl-devel , daly@idsi.net, axiom-developer@nongnu.org, Bill Page Subject: [Axiom-developer] Re: [Gcl-devel] NAG libraries +cc: Bill Page --- James Amundson wrote: > > As a NAG replacement the most logical one seems to be slatec, to @@ -3679,7 +3629,6 @@ use of cernlib as well. Date: 28 Jun 2003 22:00:53 -0400 From: Camm Maguire To: daly@idsi.net -cc: gcl-devel@gnu.org, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Report on building axiom cvs 2003-06-23 (i386) Greetings! @@ -3734,7 +3683,6 @@ Take care, Date: Sat, 28 Jun 2003 23:41:59 -0400 From: root To: camm@enhanced.com -cc: gcl-devel@gnu.org, daly@idsi.net, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Report on building axiom cvs 2003-06-23 (i386) Camm, @@ -3760,7 +3708,6 @@ elements. Problem does not occur with cmu cl. Date: Sun, 29 Jun 2003 12:37:16 -0400 From: root To: weiss@uni-mainz.de -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Error when converting to a set Juergen, @@ -3812,9 +3759,7 @@ the axiom@tenkan.org id instead). Date: 29 Jun 2003 21:38:26 -0400 From: Camm Maguire To: daly@idsi.net -cc: gcl-devel@gnu.org, axiom-developer@nongnu.org -Subject: Re: [Gcl-devel] Re: [Axiom-developer] Report on building axiom cvs - 2003-06-23 (i386) +Subject: Re: [Gcl-devel] Re: [Axiom-developer] Report on building axiom cvs 2003-06-23 (i386) Greetings! @@ -3853,9 +3798,7 @@ root writes: Date: Sun, 29 Jun 2003 21:42:38 -0400 From: root To: camm@enhanced.com -cc: gcl-devel@gnu.org, daly@idsi.net, axiom-developer@nongnu.org -Subject: Re: [Gcl-devel] Re: [Axiom-developer] Report on building axiom cvs - 2003-06-23 (i386) +Subject: Re: [Gcl-devel] Re: [Axiom-developer] Report on building axiom cvs 2003-06-23 (i386) re: EXIT. Thanks. -- Tim diff --git a/book/2003-07.txt b/book/2003-07.txt index bb0779d..92fc524 100644 --- a/book/2003-07.txt +++ b/book/2003-07.txt @@ -2,7 +2,6 @@ Date: Tue, 1 Jul 2003 10:06:07 +0100 From: Mike Dewar To: Jason White -cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Re: subscribing to axiom-developer, user interface issues. Oops, I think this is because Axiom isn't being built with the OpenMath @@ -42,7 +41,6 @@ On Thu, Jun 26, 2003 at 11:28:39AM +1000, Jason White wrote: Date: Tue, 1 Jul 2003 15:13:22 -0400 From: root To: miked@nag.co.uk -cc: axiom-developer@nongnu.org Subject: [Axiom-developer] OM libraries Mike, @@ -56,7 +54,6 @@ If you're going we should arrange to do dinner or something. Date: Mon, 14 Jul 2003 12:29:01 -0400 From: root To: oscas@acm.org -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] CATS (Computer Algebra Test Suite) We just concluded the Libre Software Meeting in Metz. @@ -85,7 +82,6 @@ please contact me. Date: Mon, 14 Jul 2003 12:41:16 -0400 From: root To: Michael Wester -Cc: axiom@tenkan.org, axiom-developer@nongnu.org Subject: [Axiom-developer] CATS (Computer Algebra Test Suite) Michael, @@ -124,8 +120,8 @@ effort? Date: Mon, 14 Jul 2003 13:42:37 -0400 From: root To: fateman@cs.berkeley.edu -Cc: axiom-developer@nongnu.org, daly@idsi.net, OSCAS@acm.org Subject: [Axiom-developer] CATS (Computer Algebra Test Suite) +Cc: OSCAS@acm.org Another item of note is that, unlike Wester's work, this effort is intended to be an internal test suite. Each test will have some @@ -145,8 +141,8 @@ so it can be updated). Date: 14 Jul 2003 15:39:07 -0400 From: Camm Maguire To: Richard Stallman -Cc: David Turner , LV , axiom-developer@nongnu.org, Sam Steingold , maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu, gcl-devel@gnu.org Subject: [Axiom-developer] Re: [Gcl-devel] Re: [gnu.org #48656] Re: GCL compliance with GNU GPL +Cc: David Turner , LV , Sam Steingold , maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu Greetings, and thank you so much for this helpful reply! @@ -268,8 +264,8 @@ Camm Maguire writes: Date: Mon, 14 Jul 2003 16:33:28 -0400 From: root To: amundson@fnal.gov -Cc: axiom-developer@nongnu.org, oscas@acm.org Subject: [Axiom-developer] CATS (Computer Algebra Test Suite) +Cc: oscas@acm.org Jim, @@ -279,8 +275,8 @@ Where can I find the current maxima test cases? Date: Mon, 14 Jul 2003 23:37:16 +0200 From: Ayal Pinkus To: axiom-developer@nongnu.org -Cc: axiom-developer@nongnu.org, oscas@acm.org Subject: [Axiom-developer] Some thoughts on CATS +Cc: oscas@acm.org Hi all, I think CATS is a great initiative! However, I would at least like to @@ -330,8 +326,8 @@ systems? Date: Mon, 14 Jul 2003 23:55:25 +0200 From: Ayal Pinkus To: axiom-developer@nongnu.org -Cc: axiom-developer@nongnu.org, oscas@acm.org Subject: Re: [Axiom-developer] Some thoughts on CATS +Cc: oscas@acm.org > > (VERIFY-POLY-EQUAL @@ -352,8 +348,8 @@ want to specify the number of digits precision as a third argument. Date: Mon, 14 Jul 2003 17:59:01 -0400 From: root To: apinkus@xs4all.nl -Cc: axiom-developer@nongnu.org, oscas@acm.org Subject: [Axiom-developer] Some thoughts on CATS +Cc: oscas@acm.org Ayal, @@ -393,7 +389,6 @@ something specific to complain about. I hope to post it by next week. Date: Tue, 15 Jul 2003 04:36:16 -0400 From: root To: OSCAS@ACM.ORG -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] CATS (Computer Algebra Test Suite) Excellent. I'll look at what has been done so far at this site and @@ -433,8 +428,8 @@ pointer. Date: Tue, 15 Jul 2003 07:02:03 -0400 From: Richard Stallman To: Camm Maguire -Cc: novalis@fsf.org, license-violation@fsf.org, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu, gcl-devel@gnu.org Subject: [Axiom-developer] Re: [Gcl-devel] Re: [gnu.org #48656] Re: GCL compliance with GNU GPL +Cc: novalis@fsf.org, license-violation@fsf.org, sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu OK, so I take it that technically this means that, in Sam Steingold's approximate earlier words, that GCL has special permission to use @@ -454,8 +449,8 @@ combination is the GPL. Date: 15 Jul 2003 08:58:55 -0400 From: Camm Maguire To: rms@gnu.org -Cc: novalis@fsf.org, license-violation@fsf.org, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu, gcl-devel@gnu.org Subject: [Axiom-developer] Re: [Gcl-devel] Re: [gnu.org #48656] Re: GCL compliance with GNU GPL +Cc: novalis@fsf.org, license-violation@fsf.org, sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu Greetings! Please accept my apologies for misunderstanding your earlier note. I suppose its showing by this point that I'm not a @@ -537,7 +532,6 @@ respectively pwd and $AXIOM. I hope it is the behavior you intendeed. Date: Wed, 16 Jul 2003 09:01:30 -0400 From: Tim Daly To: david.mentre@wanadoo.fr -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] shell variables David, @@ -687,7 +681,6 @@ d. Date: Wed, 16 Jul 2003 10:10:49 -0400 From: Tim Daly To: david.mentre@wanadoo.fr -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] shell variables David, @@ -699,7 +692,6 @@ I had already written a section on make -j so I kept my version. Date: Wed, 16 Jul 2003 17:08:27 +0200 From: David MENTRE To: Tim Daly -Cc: axiom-developer@nongnu.org Subject: [Axiom-developer] Re: shell variables Tim Daly writes: @@ -748,8 +740,8 @@ accordingly to the type of file (C, lisp, makefile). Date: Thu, 17 Jul 2003 09:42:12 +1000 From: "Mike Thomas" To: "Camm Maguire" , -Cc: novalis@fsf.org, license-violation@fsf.org, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu, gcl-devel@gnu.org Subject: [Axiom-developer] RE: [Gcl-devel] Re: [gnu.org #48656] Re: GCL compliance with GNU GPL +Cc: novalis@fsf.org, license-violation@fsf.org, sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu Hi all. @@ -779,8 +771,8 @@ from the copyright holders. Date: Thu, 17 Jul 2003 09:08:25 -0500 From: James Amundson To: daly@idsi.net -Cc: axiom-developer@nongnu.org, oscas mailing list Subject: [Axiom-developer] Re: CATS (Computer Algebra Test Suite) +Cc: oscas mailing list Tim, @@ -808,7 +800,6 @@ On Mon, 2003-07-14 at 15:33, root wrote: Date: 17 Jul 2003 16:48:06 -0400 From: Camm Maguire To: daly@idsi.net -Cc: gcl-deve@gnu.org, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] current bug Greetings! I just looked at this again, and have come to the @@ -853,8 +844,8 @@ root writes: Date: Thu, 17 Jul 2003 19:55:11 -0400 From: Richard Stallman To: "Mike Thomas" -Cc: camm@enhanced.com, novalis@fsf.org, license-violation@fsf.org, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu, gcl-devel@gnu.org Subject: [Axiom-developer] Re: [Gcl-devel] Re: [gnu.org #48656] Re: GCL compliance with GNU GPL +Cc: camm@enhanced.com, novalis@fsf.org, license-violation@fsf.org, sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu BFD can be handled, in the terms that Richard seems to be proposing, by optionally using the old GCL custom relocation code (GCL is then licenced as @@ -873,8 +864,8 @@ What are these Emacs extracts, and how big are they total? Date: Fri, 18 Jul 2003 11:13:46 +1000 From: "Mike Thomas" To: -Cc: camm@enhanced.com, novalis@fsf.org, license-violation@fsf.org, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu, gcl-devel@gnu.org Subject: [Axiom-developer] RE: [Gcl-devel] Re: [gnu.org #48656] Re: GCL compliance with GNU GPL +Cc: camm@enhanced.com, novalis@fsf.org, license-violation@fsf.org, sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu Hi everyone. @@ -925,7 +916,6 @@ the GPL licenced code. Date: 17 Jul 2003 23:07:32 -0400 From: Camm Maguire To: daly@idsi.net -Cc: gcl-deve@gnu.org, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] current bug Greetings! Just a followup -- this appeared to work! gcl will build @@ -984,7 +974,6 @@ Camm Maguire writes: Date: Thu, 17 Jul 2003 23:12:18 -0400 From: root To: camm@enhanced.com -Cc: gcl-deve@gnu.org, axiom-developer@nongnu.org, daly@idsi.net Subject: Re: [Axiom-developer] current bug Camm, @@ -995,8 +984,8 @@ Don't tease me. What settings? Send me a patch. Date: 17 Jul 2003 23:21:21 -0400 From: Camm Maguire To: rms@gnu.org -Cc: novalis@fsf.org, license-violation@fsf.org, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu, gcl-devel@gnu.org Subject: Re: [Axiom-developer] Re: [Gcl-devel] Re: [gnu.org #48656] Re: GCL compliance with GNU GPL +Cc: novalis@fsf.org, license-violation@fsf.org, sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu Greetings! The BFD library linking is a recent addition, and could be removed if necessary, though it would force us back to @@ -1036,8 +1025,8 @@ Richard Stallman writes: Date: Fri, 18 Jul 2003 14:35:32 +1000 From: "Mike Thomas" To: "Camm Maguire" , -Cc: novalis@fsf.org, license-violation@fsf.org, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu, gcl-devel@gnu.org Subject: RE: [Axiom-developer] Re: [Gcl-devel] Re: [gnu.org #48656] Re: GCL compliance with GNU GPL +Cc: novalis@fsf.org, license-violation@fsf.org, sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu Hi Camm. @@ -1116,7 +1105,6 @@ of it's potential for doing some good in this world. Date: 18 Jul 2003 09:30:08 -0400 From: Camm Maguire To: daly@idsi.net -Cc: gcl-deve@gnu.org, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] current bug Greetings! @@ -1151,7 +1139,6 @@ root writes: Date: Fri, 18 Jul 2003 15:44:03 +0200 From: David MENTRE To: Camm Maguire -Cc: gcl-deve@gnu.org, axiom-developer@nongnu.org, daly@idsi.net Subject: Re: [Axiom-developer] current bug Hello Camm, @@ -1171,7 +1158,6 @@ directory was created recently. Date: Fri, 18 Jul 2003 15:47:33 +0200 From: David MENTRE To: Camm Maguire -Cc: Tim Daly , axiom-developer@nongnu.org, gcl-deve@gnu.org Subject: Re: [Axiom-developer] current bug Hello Cam, @@ -1195,7 +1181,6 @@ Which value have you put to build your axiom? (1<<24) /* 16Mb */ ? Date: Fri, 18 Jul 2003 18:13:01 +0200 From: David MENTRE To: Camm Maguire -Cc: Tim Daly , axiom-developer@nongnu.org, gcl-deve@gnu.org Subject: Re: [Axiom-developer] current bug Hi Camm, @@ -1216,7 +1201,6 @@ David MENTRE writes: Date: 18 Jul 2003 13:27:19 -0400 From: Camm Maguire To: "Juergen Weiss" -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Error when converting to a set Greetings! Does this issue persist? If so, can it be boiled down to @@ -1235,7 +1219,6 @@ Take care, Date: Fri, 18 Jul 2003 13:47:09 -0400 From: root To: camm@enhanced.com -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Error when converting to a set Yes, the issue still exists. I know that it fails due to a length @@ -1260,7 +1243,6 @@ I've applied your stack patch and will also test it after this build completes. Date: 18 Jul 2003 14:01:02 -0400 From: Camm Maguire To: David MENTRE -Cc: Tim Daly , axiom-developer@nongnu.org, gcl-deve@gnu.org Subject: Re: [Axiom-developer] current bug The BSD macro is defined in the linux.h or in the subincludes. BSD is @@ -1318,7 +1300,6 @@ still fails with a value stack overflow. Date: Fri, 18 Jul 2003 14:31:15 -0400 From: root To: camm@enhanced.com -Cc: axiom-developer@nongnu.org, daly@idsi.net, gcl-devel@gnu.org Subject: Re: [Axiom-developer] Error when converting to a set As far as I know, yes. I'm chasing it now. @@ -1334,7 +1315,6 @@ As far as I know, yes. I'm chasing it now. Date: 18 Jul 2003 14:27:50 -0400 From: Camm Maguire To: daly@idsi.net -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Error when converting to a set Greetings! @@ -1412,7 +1392,6 @@ Bill Page. Date: Fri, 18 Jul 2003 15:01:08 -0400 From: root To: bill.page1@sympatico.ca -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] list bug Bill, @@ -1491,8 +1470,8 @@ error in log10. Wasn't it? See Date: Fri, 18 Jul 2003 15:52:19 -0400 From: Richard Stallman To: "Mike Thomas" -Cc: camm@enhanced.com, novalis@fsf.org, license-violation@fsf.org, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, gcl-devel@gnu.org Subject: [Axiom-developer] Re: [Gcl-devel] Re: [gnu.org #48656] Re: GCL compliance with GNU GPL +Cc: camm@enhanced.com, novalis@fsf.org, license-violation@fsf.org, sds@gnu.org, maxima@www.ma.utexas.edu firstfile and lastfile are trivial. I don't think ntheap comes from Emacs--at least I can't find it in Emacs. Maybe it was in an older @@ -1507,8 +1486,8 @@ be used in GPL-covered programs. Date: Fri, 18 Jul 2003 15:52:29 -0400 From: Richard Stallman To: Camm Maguire -Cc: novalis@fsf.org, license-violation@fsf.org, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu, gcl-devel@gnu.org Subject: Re: [Axiom-developer] Re: [Gcl-devel] Re: [gnu.org #48656] Re: GCL compliance with GNU GPL +Cc: novalis@fsf.org, license-violation@fsf.org, sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu How much of an issue is it really if we just place GCL under the GPL? Do we know of anyone who would be inconvenienced by this? @@ -1528,8 +1507,8 @@ on code written by others. Date: 18 Jul 2003 15:27:59 -0400 From: Camm Maguire To: "Mike Thomas" -Cc: novalis@fsf.org, license-violation@fsf.org, rms@gnu.org, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu, gcl-devel@gnu.org Subject: Re: [Maxima] RE: [Axiom-developer] Re: [Gcl-devel] Re: [gnu.org #48656] Re: GCL compliance with GNU GPL +Cc: novalis@fsf.org, license-violation@fsf.org, rms@gnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu Greetings! Thanks as always for your input, Mike! Please see my other mail on some of the helpful thoughts you raise below. Perhaps @@ -1616,7 +1595,6 @@ Take care, Date: Fri, 18 Jul 2003 17:13:34 -0400 From: root To: camm@enhanced.com -Cc: axiom-developer@nongnu.org, daly@idsi.net, gcl-devel@gnu.org Subject: Re: [Axiom-developer] list bug Camm, @@ -1642,7 +1620,6 @@ Many thanks to Juergen and Bill. Date: Fri, 18 Jul 2003 15:18:30 -0400 From: root To: bill.page1@sympatico.ca -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] list bug Ah. I never got that piece of email. Very interesting. @@ -1659,8 +1636,8 @@ I'll check into it further. Many thanks. Date: 18 Jul 2003 15:18:03 -0400 From: Camm Maguire To: -Cc: novalis@fsf.org, license-violation@fsf.org, rms@gnu.org, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu, gcl-devel@gnu.org Subject: Re: [Maxima] Re: [Axiom-developer] Re: [Gcl-devel] Re: [gnu.org #48656] Re: GCL compliance with GNU GPL +Cc: novalis@fsf.org, license-violation@fsf.org, rms@gnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu Greetings, and thanks for your input! @@ -1756,7 +1733,6 @@ floating point log to display integers. Date: 18 Jul 2003 17:46:38 -0400 From: Camm Maguire To: daly@idsi.net -Cc: Tim Daly , axiom-developer@nongnu.org, gcl-deve@gnu.org Subject: Re: [Axiom-developer] list bug Greetings! Could someone please instruct me where to insert a @@ -1770,7 +1746,6 @@ termination error. Date: Fri, 18 Jul 2003 18:54:02 -0400 From: root To: camm@enhanced.com -Cc: axiom@tenkan.org, axiom-developer@nongnu.org, daly@idsi.net, gcl-devel@gnu.org Subject: Re: [Axiom-developer] list bug Camm, @@ -1864,7 +1839,6 @@ it is not. Date: Fri, 18 Jul 2003 18:56:15 -0400 From: root To: dpt@math.harvard.edu -Cc: axiom-developer@nongnu.org Subject: [Axiom-developer] list bug, log10 > > we take the floor of the results as the length of the number @@ -1884,8 +1858,8 @@ length we use the log10 of the integer. Date: Fri, 18 Jul 2003 22:19:11 -0400 From: "Stavros Macrakis" To: , "'Mike Thomas'" -Cc: camm@enhanced.com, novalis@fsf.org, license-violation@fsf.org, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, gcl-devel@gnu.org Subject: [Axiom-developer] RE: [Maxima] Re: [Gcl-devel] Re: [gnu.org #48656] Re: GCL compliance with GNU GPL +Cc: camm@enhanced.com, novalis@fsf.org, license-violation@fsf.org, sds@gnu.org, maxima@www.ma.utexas.edu > As for the unexec files, they are far from trivial, and I=20 > don't see a reason to make them available for non-free=20 @@ -1903,7 +1877,6 @@ LGPL or other less restrictive license. Date: 18 Jul 2003 23:44:40 -0400 From: Camm Maguire To: daly@idsi.net -Cc: axiom-developer@nongnu.org, gcl-devel@gnu.org, axiom@tenkan.org Subject: Re: [Gcl-devel] Re: [Axiom-developer] list bug Greetings! Just thought I'd mention quickly how I'm debugging this @@ -2194,7 +2167,6 @@ root writes: Date: Sat, 19 Jul 2003 09:40:17 -0400 From: root To: Camm Maguire -Cc: axiom-developer@nongnu.org, gcl-devel@gnu.org, axiom@tenkan.org Subject: [Axiom-developer] hascategory bug Indeed, this bug is the reason that debugsys exists. @@ -2206,7 +2178,6 @@ I forgot to mention it in my note yesterday. Date: 19 Jul 2003 21:01:05 -0400 From: Camm Maguire To: daly@idsi.net -Cc: axiom-developer@nongnu.org, gcl-devel@gnu.org, axiom@tenkan.org Subject: [Axiom-developer] Re: [Gcl-devel] hascategory bug Greetings, and thanks for this! I wonder if you could save me a bit @@ -2262,7 +2233,6 @@ root writes: Date: Sat, 19 Jul 2003 21:49:34 -0400 From: root To: camm@enhanced.com -Cc: axiom@tenkan.org, axiom-developer@nongnu.org, daly@idsi.net, gcl-devel@gnu.org Subject: [Axiom-developer] hascategory bug Debugsys is supposed to be built as a side-effect of the original make. @@ -2293,7 +2263,6 @@ definition might be correct. Date: Sat, 19 Jul 2003 23:24:50 -0400 From: root To: camm@enhanced.com -Cc: axiom@tenkan.org, axiom-developer@nongnu.org, daly@idsi.net, gcl-devel@gnu.org Subject: [Axiom-developer] hascategory bug I rebuilt the system from scratch and ran all of the test cases. @@ -2303,8 +2272,8 @@ The string "macro table" occurs nowhere. Date: Sun, 20 Jul 2003 12:20:17 +0200 From: David MENTRE To: Tim Daly -Cc: camm@enhanced.com, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] hascategory bug +Cc: camm@enhanced.com root writes: @@ -2330,8 +2299,8 @@ Reporting-MTA: dns; wanadoo.fr Date: Sun, 20 Jul 2003 06:43:06 -0400 From: root To: david.mentre@wanadoo.fr -Cc: camm@enhanced.com, axiom@tenkan.org, axiom-developer@nongnu.org Subject: [Axiom-developer] savannah +Cc: camm@enhanced.com I see the time has come to concentrate on getting savannah set up. @@ -2339,7 +2308,6 @@ I see the time has come to concentrate on getting savannah set up. Date: Sun, 20 Jul 2003 07:22:30 -0400 From: root To: axiom-developer@nongnu.org -Cc: axiom@tenkan.org Subject: [Axiom-developer] booklet function I need a simple C program to do the following: @@ -2420,8 +2388,8 @@ If this is unclear please ask questions. Date: Sun, 20 Jul 2003 14:43:49 +0200 From: David MENTRE To: daly@idsi.net -Cc: camm@enhanced.com, axiom@tenkan.org, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: savannah +Cc: camm@enhanced.com root writes: @@ -2433,8 +2401,8 @@ Have you fixed the remaining bug? Date: Sun, 20 Jul 2003 10:59:43 -0400 From: root To: david.mentre@wanadoo.fr -Cc: camm@enhanced.com, axiom@tenkan.org, axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] Re: savannah +Cc: camm@enhanced.com nope. but it will be found eventually. @@ -2442,7 +2410,6 @@ nope. but it will be found eventually. Date: 20 Jul 2003 12:36:58 -0400 From: Camm Maguire To: daly@idsi.net -Cc: axiom@tenkan.org, axiom-developer@nongnu.org, gcl-devel@gnu.org Subject: [Axiom-developer] Re: [Gcl-devel] hascategory bug Greetings! I just did a clean checkout, and I still get the 'macro @@ -2458,7 +2425,6 @@ root writes: Date: Sun, 20 Jul 2003 12:42:17 -0400 From: root To: camm@enhanced.com -Cc: axiom@tenkan.org, axiom-developer@nongnu.org, daly@idsi.net, gcl-devel@gnu.org Subject: [Axiom-developer] macro table msg Several uncommitted changes but nothing that should cause the effect @@ -2470,7 +2436,6 @@ version are you build upon? Date: 20 Jul 2003 13:03:25 -0400 From: Camm Maguire To: daly@idsi.net -Cc: axiom-developer@nongnu.org, gcl-devel@gnu.org Subject: Re: [Gcl-devel] Re: [Axiom-developer] list bug Greetings! @@ -2543,7 +2508,6 @@ root writes: Date: 20 Jul 2003 14:31:56 -0400 From: Camm Maguire To: daly@idsi.net -Cc: axiom@tenkan.org, axiom-developer@nongnu.org, gcl-devel@gnu.org Subject: [Axiom-developer] Re: [Gcl-devel] macro table msg Greetings! @@ -2582,7 +2546,6 @@ Yes, from /fix/s/camm/axiom/axiom1/new/new: Date: Sun, 20 Jul 2003 14:54:18 -0400 From: root To: camm@enhanced.com -Cc: axiom@tenkan.org, axiom-developer@nongnu.org, daly@idsi.net, gcl-devel@gnu.org Subject: [Axiom-developer] Re: [Gcl-devel] macro table msg Camm, @@ -2623,7 +2586,6 @@ and concat built. I can't reproduce the problem here. Date: Sun, 20 Jul 2003 15:07:28 -0400 From: root To: camm@enhanced.com -Cc: axiom-developer@nongnu.org, daly@idsi.net, gcl-devel@gnu.org Subject: [Axiom-developer] util.ht % Copyright The Numerical Algorithms Group Limited 1992-1994. @@ -3139,7 +3101,6 @@ The page you requested was not found in the \HyperName{} database. Date: Sun, 20 Jul 2003 21:01:18 +0200 From: "Juergen Weiss" To: "Camm Maguire" , -Cc: axiom-developer@nongnu.org, gcl-devel@gnu.org Subject: RE: [Gcl-devel] Re: [Axiom-developer] list bug Hi, @@ -3181,7 +3142,6 @@ does it matter? Date: Sun, 20 Jul 2003 15:13:26 -0400 From: root To: camm@enhanced.com -Cc: axiom-developer@nongnu.org, daly@idsi.net, gcl-devel@gnu.org Subject: [Axiom-developer] util.ht The i-output.boot.pamphlet file has been modified to change the test slightly. @@ -3238,8 +3198,8 @@ The attached diff: Date: Sun, 20 Jul 2003 15:19:28 -0400 From: root To: weiss@uni-mainz.de -Cc: camm@enhanced.com, axiom-developer@nongnu.org, daly@idsi.net, gcl-devel@gnu.org Subject: [Axiom-developer] list bug +Cc: camm@enhanced.com Juergen, @@ -3267,7 +3227,6 @@ The i-output code is very, very old, likely from the late 60s. Date: Sun, 20 Jul 2003 15:20:59 -0400 From: root To: axiom-developer@nongnu.org, axiom-mail@nongnu.org -Cc: daly@idsi.net Subject: [Axiom-developer] ISSAC 2003 in Philadelphia Hello *, @@ -3341,7 +3300,6 @@ Bill Page. Date: Sun, 20 Jul 2003 23:22:48 +0200 From: David MENTRE To: Tim Daly -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] booklet function Hello Tim, @@ -3381,7 +3339,6 @@ requirements. Date: Sun, 20 Jul 2003 17:27:14 -0400 From: root To: david.mentre@wanadoo.fr -Cc: axiom@tenkan.org, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] booklet function already? I'm impressed! @@ -3390,9 +3347,8 @@ already? I'm impressed! Date: Sun, 20 Jul 2003 19:05:51 -0400 From: Richard Stallman To: Camm Maguire -Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu, gcl-devel@gnu.org -Subject: Re: [Maxima] Re: [Axiom-developer] Re: [Gcl-devel] Re: [gnu.org - #48656] Re: GCL compliance with GNU GPL +Subject: Re: [Maxima] Re: [Axiom-developer] Re: [Gcl-devel] Re: [gnu.org #48656] Re: GCL compliance with GNU GPL +Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu I agree that the LGPL would be better, and I think the FSF agrees too for this application. @@ -3416,8 +3372,8 @@ don't have such an exception. Date: Mon, 21 Jul 2003 10:21:04 +1000 From: "Mike Thomas" To: -Cc: camm@enhanced.com, novalis@fsf.org, license-violation@fsf.org, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, gcl-devel@gnu.org Subject: [Axiom-developer] RE: [Gcl-devel] Re: [gnu.org #48656] Re: GCL compliance with GNU GPL +Cc: camm@enhanced.com, novalis@fsf.org, license-violation@fsf.org, sds@gnu.org, maxima@www.ma.utexas.edu Hi Richard. @@ -3559,8 +3515,8 @@ nt_header); Date: Sun, 20 Jul 2003 17:44:34 -0700 From: Richard Fateman To: rms@gnu.org -Cc: Camm Maguire , stavros.macrakis@verizon.net, license-violation@fsf.org, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu, gcl-devel@gnu.org, novalis@fsf.org Subject: [Axiom-developer] GCL used commercially? +Cc: Camm Maguire , stavros.macrakis@verizon.net, license-violation@fsf.org, sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu, novalis@fsf.org I think that the Macsyma company used Austin-Kyoto-Common-Lisp (which I believe is related to GCL) for its unix-sun/hp/.... version. @@ -3595,8 +3551,8 @@ Richard Stallman wrote: From: Richard Stallman To: "Mike Thomas" Date: Mon, 21 Jul 2003 15:40:01 -0400 -Cc: camm@enhanced.com, novalis@fsf.org, license-violation@fsf.org, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, gcl-devel@gnu.org Subject: [Axiom-developer] Re: [Gcl-devel] Re: [gnu.org #48656] Re: GCL compliance with GNU GPL +Cc: camm@enhanced.com, novalis@fsf.org, license-violation@fsf.org, sds@gnu.org, maxima@www.ma.utexas.edu That file ntheap.h appears no longer to be in Emacs, though the code might still be present somewhere else--I don't know. In any case it @@ -3609,8 +3565,8 @@ However, the larger GPL-covered programs are the real issue. Date: Mon, 21 Jul 2003 13:03:17 -0700 From: Richard Fateman To: rms@gnu.org -Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu Subject: [Axiom-developer] Re: GCL used commercially? +Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu Richard Stallman wrote: > RJF wrote @@ -3640,8 +3596,8 @@ their changes to Macsyma are not public. Date: 21 Jul 2003 17:34:54 -0400 From: Camm Maguire To: rms@gnu.org -Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu, gcl-devel@gnu.org Subject: Re: [Maxima] Re: [Axiom-developer] Re: [Gcl-devel] Re: [gnu.org #48656] Re: GCL compliance with GNU GPL +Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu Greetings, and thanks as always for your attention to these matters! (It is, IMHO, largely the reason we are here in the first place :-)). @@ -3726,8 +3682,8 @@ Richard Stallman writes: Date: Mon, 21 Jul 2003 15:40:03 -0400 From: Richard Stallman To: Richard Fateman -Cc: camm@enhanced.com, stavros.macrakis@verizon.net, license-violation@fsf.org, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu, gcl-devel@gnu.org, novalis@fsf.org Subject: [Axiom-developer] Re: GCL used commercially? +Cc: camm@enhanced.com, stavros.macrakis@verizon.net, license-violation@fsf.org, sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu, novalis@fsf.org I think that the Macsyma company used Austin-Kyoto-Common-Lisp (which I believe is related to GCL) for its unix-sun/hp/.... version. @@ -3880,7 +3836,6 @@ should be at least, I think.) (See knownInfo in info.clisp). Date: Mon, 21 Jul 2003 20:31:36 -0400 From: root To: david.mentre@wanadoo.fr -Cc: axiom@tenkan.org, axiom-developer@nongnu.org Subject: [Axiom-developer] booklet function I've made some modifications to your program so that it outputs @@ -3982,8 +3937,8 @@ I have to look at this. Date: Tue, 22 Jul 2003 08:59:49 -0400 From: root To: weiss@uni-mainz.de -Cc: camm@enhanced.com, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] source access +Cc: camm@enhanced.com GCL won't handle a large number of arguments to a compiled function. There is a file called "nocompil.lisp" which contains Join. Join is @@ -3993,7 +3948,6 @@ called with a large number of arguments and so it is not compiled. Date: Tue, 22 Jul 2003 09:25:21 -0400 From: "Page, Bill" To: "'Mike Thomas'" -Cc: axiom-developer@nongnu.org Subject: [Axiom-developer] RE: [Gcl-devel] 2.5.4 Mike, @@ -4173,7 +4127,6 @@ Can you reproduce and explain what I see? Date: Tue, 22 Jul 2003 21:51:32 +0200 From: David MENTRE To: daly@idsi.net -Cc: axiom@tenkan.org, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: booklet function Hello Tim, @@ -4192,7 +4145,6 @@ modifications. :) Date: Tue, 22 Jul 2003 16:14:45 -0400 From: root To: Bill.Page@drdc-rddc.gc.ca -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Axiom debugging Bill, @@ -4221,7 +4173,6 @@ It shouldn't happen if you first do Date: Tue, 22 Jul 2003 16:40:48 -0400 From: "Page, Bill" To: "'daly@idsi.net'" -Cc: axiom-developer@nongnu.org Subject: RE: [Axiom-developer] Axiom debugging Tim, @@ -4275,7 +4226,6 @@ in order to display this wrong unset-like behaviour Date: 22 Jul 2003 16:56:42 -0400 From: Camm Maguire To: daly@idsi.net -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] source access Greetings! Also, do you have a |Join| call runnable from interpsys @@ -4291,7 +4241,6 @@ root writes: Date: 22 Jul 2003 16:56:01 -0400 From: Camm Maguire To: daly@idsi.net -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] source access Greetings! I'm assuming you are referring to the limit of 63 @@ -4311,7 +4260,6 @@ root writes: Date: Tue, 22 Jul 2003 18:15:24 -0400 From: root To: "Page, Bill" -Cc: axiom-developer@nongnu.org Subject: [Axiom-developer] set function breakage Bill, @@ -4425,7 +4373,6 @@ Let me know if you have any other questions. Date: Tue, 22 Jul 2003 18:17:50 -0400 From: root To: "Page, Bill" -Cc: axiom-developer@nongnu.org Subject: [Axiom-developer] set function breakage Bill, @@ -4446,7 +4393,6 @@ Axiom will show you the various options. Date: Tue, 22 Jul 2003 18:20:40 -0400 From: root To: Camm Maguire -Cc: axiom-developer@nongnu.org Subject: [Axiom-developer] set function breakage Camm, @@ -4466,7 +4412,6 @@ function is rarely called so it is not a performance issue. Date: Tue, 22 Jul 2003 18:24:13 -0400 From: root To: Camm Maguire -Cc: axiom-developer@nongnu.org Subject: [Axiom-developer] set function breakage Camm, @@ -4485,7 +4430,6 @@ list. Date: Tue, 22 Jul 2003 18:35:21 -0400 From: root To: Camm Maguire -Cc: axiom-developer@nongnu.org Subject: [Axiom-developer] noisy knownInfo function *, @@ -4766,7 +4710,6 @@ t) Date: Tue, 22 Jul 2003 19:53:37 -0400 From: "Page, Bill" To: "'daly@idsi.net'" -Cc: axiom-developer@nongnu.org Subject: [Axiom-developer] RE: set function breakage Tim, @@ -4846,7 +4789,6 @@ Axiom/lisp debugging methods in your previous message. Date: Tue, 22 Jul 2003 20:30:33 -0400 From: "Page, Bill" To: "'daly@idsi.net'" -Cc: axiom-developer@nongnu.org Subject: RE: [Axiom-developer] RE: set function breakage I wrote: @@ -4877,7 +4819,6 @@ fail somehow. Date: Tue, 22 Jul 2003 21:25:55 -0400 From: root To: Bill.Page@drdc-rddc.gc.ca -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] Sets in MonoidRing > Here's a somewhat simpler example that fails. @@ -4913,7 +4854,6 @@ the underlying lisp. Date: Tue, 22 Jul 2003 21:43:10 -0400 From: root To: Bill.Page@drdc-rddc.gc.ca -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] Sets in MonoidRing Another data point: @@ -4939,7 +4879,6 @@ is designed to do and add it to the set of common lisp functions. Date: Tue, 22 Jul 2003 21:57:28 -0400 From: "Page, Bill" To: "'daly@idsi.net'" -Cc: axiom-developer@nongnu.org Subject: [Axiom-developer] RE: Sets in MonoidRing Tim, @@ -5002,7 +4941,6 @@ notion in general. Date: Tue, 22 Jul 2003 22:06:34 -0400 From: root To: Bill.Page@drdc-rddc.gc.ca -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] Sets in MonoidRing You're right, the answer should be @@ -5019,8 +4957,8 @@ are subtle. Date: Wed, 23 Jul 2003 03:13:59 -0400 From: Richard Stallman To: Richard Fateman -Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu Subject: [Axiom-developer] Re: GCL used commercially? +Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, sds@gnu.org, maxima@www.ma.utexas.edu The commercial version, which was enhanced by Symbolics and then "Macsyma Inc" for about 20 years, is not public. The Macsyma INc @@ -5037,8 +4975,8 @@ The LGPL does not permit such a thing. Date: Wed, 23 Jul 2003 03:14:25 -0400 From: Richard Stallman To: Camm Maguire -Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, gcl-devel@gnu.org Subject: Re: [Maxima] Re: [Axiom-developer] Re: [Gcl-devel] Re: [gnu.org #48656] Re: GCL compliance with GNU GPL +Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, sds@gnu.org, maxima@www.ma.utexas.edu We should think seriously about switching GCL to the GPL, not assume that the goal is to avoid this. @@ -5069,8 +5007,8 @@ Alas, there is no chance I would remember after ten years, sorry. Date: Wed, 23 Jul 2003 10:00:36 +0100 From: Mike Dewar To: root -Cc: Bill.Page@drdc-rddc.gc.ca, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Sets in MonoidRing +Cc: Bill.Page@drdc-rddc.gc.ca Hi Tim, @@ -5105,8 +5043,8 @@ On Tue, Jul 22, 2003 at 09:43:10PM -0400, Tim Daly wrote: Date: Tue, 22 Jul 2003 20:08:27 -0700 From: "Thomas F. Burdick" To: rms@gnu.org -Cc: camm@enhanced.com, stavros.macrakis@verizon.net, license-violation@fsf.org, Richard Fateman , axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu, gcl-devel@gnu.org, novalis@fsf.org Subject: [Axiom-developer] [Gcl-devel] Re: GCL used commercially? +Cc: camm@enhanced.com, stavros.macrakis@verizon.net, license-violation@fsf.org, Richard Fateman , sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu, novalis@fsf.org Richard Stallman writes: > I think that the Macsyma company used Austin-Kyoto-Common-Lisp @@ -5126,7 +5064,6 @@ a *lot* of work done on its code base as a proprietary software. Date: Wed, 23 Jul 2003 12:42:06 +0200 From: "Juergen Weiss" To: , -Cc: axiom-developer@nongnu.org Subject: RE: [Axiom-developer] Sets in MonoidRing These examples (at least the ones I tested) work with @@ -5155,8 +5092,8 @@ for debugging.=20 Date: Wed, 23 Jul 2003 07:38:08 -0400 From: root To: weiss@uni-mainz.de -Cc: axiom-developer@nongnu.org, Bill.Page@drdc-rddc.gc.ca, daly@idsi.net Subject: Re: [Axiom-developer] Sets in MonoidRing +Cc: Bill.Page@drdc-rddc.gc.ca Joergen, @@ -5173,8 +5110,8 @@ If this is true then that is a great help in debugging this problem. Date: Wed, 23 Jul 2003 14:14:18 +0200 From: "Juergen Weiss" To: -Cc: Bill.Page@drdc-rddc.gc.ca, axiom-developer@nongnu.org Subject: RE: [Axiom-developer] Sets in MonoidRing +Cc: Bill.Page@drdc-rddc.gc.ca Yes, exactly. @@ -5209,7 +5146,6 @@ Yes, exactly. Date: Wed, 23 Jul 2003 09:26:24 -0400 From: Tim Daly To: axiom-developer@nongnu.org -Cc: axiom@tenkan.org, daly@idsi.net Subject: [Axiom-developer] KNOWN.BUGS.pamphet (July 23, 2003) *, @@ -5734,8 +5670,8 @@ The default output chunk will include all of the bug reports. Date: Wed, 23 Jul 2003 09:22:42 -0700 From: Richard Fateman To: rms@gnu.org -Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu Subject: [Axiom-developer] Re: [Maxima] Re: GCL used commercially? +Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, sds@gnu.org, maxima@www.ma.utexas.edu Richard Stallman wrote: > The commercial version, which was enhanced by Symbolics and then @@ -5861,7 +5797,6 @@ maxima, so long as it also runs on other lisps. Date: Wed, 23 Jul 2003 12:47:19 -0400 From: Tim Daly To: fateman@cs.berkeley.edu, rms@gnu.org -Cc: axiom@tenkan.org, axiom-developer@nongnu.org Subject: [Axiom-developer] GCL used commercially Richard[s], @@ -5948,8 +5883,8 @@ P.S. I'll take the $100,000 a year to maintain GCL :-) Date: Wed, 23 Jul 2003 13:58:00 -0400 From: Tim Daly To: fateman@cs.berkeley.edu -Cc: axiom@tenkan.org, axiom-developer@nongnu.org, rms@gnu.org, daly@rio.sci.ccny.cuny.edu Subject: [Axiom-developer] Re: GCL used commercially +Cc: rms@gnu.org Fateman wrote: @@ -6003,8 +5938,8 @@ hit by the proverbial bus. Date: Wed, 23 Jul 2003 11:41:36 -0700 (PDT) From: C Y To: Richard Fateman , rms@gnu.org -Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu Subject: [Axiom-developer] Re: [Maxima] Re: GCL used commercially? +Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, sds@gnu.org, maxima@www.ma.utexas.edu --- Richard Fateman wrote: @@ -6095,7 +6030,6 @@ itself is a separate thing? Date: Wed, 23 Jul 2003 21:15:48 +0200 From: David MENTRE To: "Page, Bill" -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] RE: set function breakage Hello Bill, @@ -6123,7 +6057,6 @@ date. And with a binary release of Axiom made by Tim, your example work. Date: Wed, 23 Jul 2003 21:24:59 +0200 From: David MENTRE To: Tim Daly -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Sets in MonoidRing Hello Tim, @@ -6160,7 +6093,6 @@ known function but not all functions in general. Date: Wed, 23 Jul 2003 15:39:49 -0400 From: "Page, Bill" To: "'David MENTRE'" , "Page, Bill" -Cc: axiom-developer@nongnu.org Subject: RE: [Axiom-developer] RE: set function breakage David, @@ -6226,8 +6158,8 @@ problem that we have been talking about. Date: Wed, 23 Jul 2003 15:51:29 -0400 From: root To: david.mentre@wanadoo.fr -Cc: Bill.Page@drdc-rddc.gc.ca, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] RE: set function breakage +Cc: Bill.Page@drdc-rddc.gc.ca David, @@ -6241,7 +6173,6 @@ from the download version it should work. Date: Wed, 23 Jul 2003 15:57:30 -0400 From: root To: david.mentre@wanadoo.fr -Cc: axiom@tenkan.org, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Sets in MonoidRing David, @@ -6266,8 +6197,8 @@ was (me) didn't document the damn thing. We're gonna fix that. Date: Wed, 23 Jul 2003 21:52:50 +0200 From: David MENTRE To: "Bill. Page1 (E-mail)" -Cc: "Page, Bill" , axiom-developer@nongnu.org Subject: Re: [Axiom-developer] RE: set function breakage +Cc: "Page, Bill" Thanks Bill for your explanation. I was just thinking that the code you mentionned was also triggering the stack overflow. @@ -6285,8 +6216,8 @@ explanations on )co xpoly )con XPR. Date: Wed, 23 Jul 2003 22:17:33 +0200 From: David MENTRE To: Tim Daly -Cc: Bill.Page@drdc-rddc.gc.ca, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] RE: set function breakage +Cc: Bill.Page@drdc-rddc.gc.ca root writes: @@ -6337,8 +6268,8 @@ So the bug would be in the algebra??? Date: Wed, 23 Jul 2003 16:41:16 -0400 From: root To: david.mentre@wanadoo.fr -Cc: axiom@tenkan.org, Bill.Page@drdc-rddc.gc.ca, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] RE: set function breakage +Cc: Bill.Page@drdc-rddc.gc.ca Oh. I misunderstood. @@ -6358,7 +6289,6 @@ a symbolic link to one of a series of interpsys images. Date: Wed, 23 Jul 2003 16:47:58 -0400 From: "Page, Bill" To: "'root'" -Cc: axiom-developer@nongnu.org Subject: [Axiom-developer] axiom names and lisp names Tim, @@ -6420,8 +6350,8 @@ the Set MonoidRing example using the CVS algebra. From: Richard Stallman To: "Thomas F. Burdick" Date: Wed, 23 Jul 2003 19:02:57 -0400 -Cc: camm@enhanced.com, stavros.macrakis@verizon.net, license-violation@fsf.org, fateman@cs.berkeley.edu, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu, gcl-devel@gnu.org, novalis@fsf.org Subject: [Axiom-developer] Re: [Gcl-devel] Re: GCL used commercially? +Cc: camm@enhanced.com, stavros.macrakis@verizon.net, license-violation@fsf.org, fateman@cs.berkeley.edu, sds@gnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu, novalis@fsf.org > I believe Macsyma is released under the GPL now, so there would > be no difficulty running it on GCL even if GCL were GPL'd. @@ -6436,7 +6366,6 @@ Macsyma, though. Date: Wed, 23 Jul 2003 21:58:28 -0400 From: root To: "Bill Page" -Cc: axiom-developer@nongnu.org Subject: [Axiom-developer] where is the symbol? Bill, @@ -6462,7 +6391,6 @@ Anyway, I'm working on your answer. Date: Wed, 23 Jul 2003 23:06:34 -0400 From: root To: "Bill Page" , Camm Maguire -Cc: axiom@tenkan.org, axiom-developer@nongnu.org, daly@idsi.net, gcl-devel@gnu.org Subject: [Axiom-developer] where is the symbol? Bill, Camm, @@ -6577,9 +6505,8 @@ Hope this helps. Date: Thu, 24 Jul 2003 12:36:46 +1000 From: "Mike Thomas" To: , "Camm Maguire" -Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, gcl-devel@gnu.org -Subject: [Axiom-developer] Re: GCL compliance with GNU GPL - Axiom question, - AKCL tarball licences +Subject: [Axiom-developer] Re: GCL compliance with GNU GPL - Axiom question, AKCL tarball licences +Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, sds@gnu.org, maxima@www.ma.utexas.edu Hi There Everyone. @@ -7976,8 +7903,8 @@ made helpful contributions to ports etc. Date: Wed, 23 Jul 2003 23:58:53 -0400 From: root To: miketh@brisbane.paradigmgeo.com -Cc: Camm Maguire , novalis@fsf.org, license-violation@fsf.org, rms@gnu.org, stavros.macrakis@verizon.net, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, gcl-devel@gnu.org Subject: [Axiom-developer] GCL compliance and Bill Schelter +Cc: Camm Maguire , novalis@fsf.org, license-violation@fsf.org, rms@gnu.org, stavros.macrakis@verizon.net, sds@gnu.org, maxima@www.ma.utexas.edu Mike, @@ -8024,7 +7951,6 @@ required. Date: Thu, 24 Jul 2003 03:08:10 -0400 From: William Sit To: daly@idsi.net -Cc: axiom@tenkan.org, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] set output script yes Tim Daly daly@idsi.net wrote on @@ -8051,8 +7977,8 @@ MathML). But either one is a big project. Date: Thu, 24 Jul 2003 10:08:18 +0100 From: Mike Dewar To: David MENTRE -Cc: Tim Daly , Bill.Page@drdc-rddc.gc.ca, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] RE: set function breakage +Cc: Bill.Page@drdc-rddc.gc.ca Hi Guys, @@ -8142,7 +8068,6 @@ On Wed, Jul 23, 2003 at 10:17:33PM +0200, David MENTRE wrote: Date: Thu, 24 Jul 2003 10:17:55 +0100 From: Mike Dewar To: William Sit -Cc: axiom@tenkan.org, axiom-developer@nongnu.org, daly@idsi.net Subject: Re: [Axiom-developer] set output script yes Hi William, @@ -8180,8 +8105,8 @@ On Thu, Jul 24, 2003 at 03:08:10AM -0400, William Sit wrote: Date: Thu, 24 Jul 2003 15:08:05 +1000 From: "Mike Thomas" To: -Cc: Camm Maguire , novalis@fsf.org, license-violation@fsf.org, rms@gnu.org, stavros.macrakis@verizon.net, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, gcl-devel@gnu.org Subject: [Axiom-developer] RE: GCL compliance and Bill Schelter +Cc: Camm Maguire , novalis@fsf.org, license-violation@fsf.org, rms@gnu.org, stavros.macrakis@verizon.net, sds@gnu.org, maxima@www.ma.utexas.edu Hi Tim. @@ -8281,8 +8206,8 @@ wing political imperatives. Date: Thu, 24 Jul 2003 07:42:41 -0400 From: root To: "Mike Thomas" -Cc: Camm Maguire , novalis@fsf.org, license-violation@fsf.org, rms@gnu.org, stavros.macrakis@verizon.net, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, gcl-devel@gnu.org Subject: [Axiom-developer] GCL compliance and Bill Schelter +Cc: Camm Maguire , novalis@fsf.org, license-violation@fsf.org, rms@gnu.org, stavros.macrakis@verizon.net, sds@gnu.org, maxima@www.ma.utexas.edu re: unexec and gnumalloc @@ -8381,8 +8306,8 @@ forum. Date: Thu, 24 Jul 2003 13:45:19 +0100 From: Mike Dewar To: Mike Thomas -Cc: Camm Maguire , novalis@fsf.org, license-violation@fsf.org, rms@gnu.org, stavros.macrakis@verizon.net, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, daly@idsi.net, gcl-devel@gnu.org Subject: Re: [Axiom-developer] RE: GCL compliance and Bill Schelter +Cc: Camm Maguire , novalis@fsf.org, license-violation@fsf.org, rms@gnu.org, stavros.macrakis@verizon.net, sds@gnu.org, maxima@www.ma.utexas.edu On Thu, Jul 24, 2003 at 03:08:05PM +1000, Mike Thomas wrote: @@ -8406,8 +8331,8 @@ commercial and 20th century right wing political imperatives". Date: Thu, 24 Jul 2003 05:28:08 -0700 (PDT) From: C Y To: daly@idsi.net, Mike Thomas -Cc: Camm Maguire , novalis@fsf.org, license-violation@fsf.org, rms@gnu.org, stavros.macrakis@verizon.net, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, gcl-devel@gnu.org Subject: [Axiom-developer] Re: [Maxima] GCL compliance and Bill Schelter +Cc: Camm Maguire , novalis@fsf.org, license-violation@fsf.org, rms@gnu.org, stavros.macrakis@verizon.net, sds@gnu.org, maxima@www.ma.utexas.edu --- root wrote: @@ -8443,8 +8368,8 @@ coding. Date: Thu, 24 Jul 2003 09:00:31 -0400 From: root To: smustudent1@yahoo.com -Cc: novalis@fsf.org, license-violation@fsf.org, rms@gnu.org, maxima@www.ma.utexas.edu, gcl-devel@gnu.org, camm@enhanced.com, stavros.macrakis@verizon.net, axiom-developer@nongnu.org, sds@gnu.org, daly@idsi.net Subject: [Axiom-developer] GCL compliance and Bill Schelter +Cc: novalis@fsf.org, license-violation@fsf.org, rms@gnu.org, maxima@www.ma.utexas.edu, camm@enhanced.com, stavros.macrakis@verizon.net, sds@gnu.org > There has been some uncertainty for quite a while on how the GPL and > Lisp interact. If we (particularly the FSF) can finally resolve the @@ -8482,7 +8407,6 @@ the intention of the Free Software Foundation. Date: Thu, 24 Jul 2003 21:21:10 +0200 From: David MENTRE To: "Page, Bill" -Cc: Tim Daly , axiom-developer@nongnu.org Subject: Re: [Axiom-developer] axiom names and lisp names Hello Bill, @@ -8544,8 +8468,8 @@ Best regards and I hope it helps a little, Date: Thu, 24 Jul 2003 15:59:40 -0400 From: Richard Stallman To: C Y -Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, fateman@cs.berkeley.edu, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu Subject: [Axiom-developer] Re: [Maxima] Re: GCL used commercially? +Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, fateman@cs.berkeley.edu, sds@gnu.org, maxima@www.ma.utexas.edu I still don't understand why it would be desirable to prevent software from using GCL, regardless of license, but perhaps I'm missing @@ -8559,7 +8483,6 @@ we wish to replace, not help. Date: Thu, 24 Jul 2003 13:37:24 -0700 From: Richard Fateman To: rms@gnu.org -Cc: axiom@tenkan.org, axiom-developer@nongnu.org, daly@rio.sci.ccny.cuny.edu Subject: [Axiom-developer] Re: GCL used commercially Richard Stallman wrote: @@ -8588,8 +8511,8 @@ RJF Date: Thu, 24 Jul 2003 16:55:44 -0400 From: "Bill Page" To: -Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, 'C Y' , fateman@cs.berkeley.edu, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu Subject: RE: [Axiom-developer] Re: [Maxima] Re: GCL used commercially? +Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, 'C Y' , fateman@cs.berkeley.edu, sds@gnu.org, maxima@www.ma.utexas.edu Richard et al. @@ -8655,8 +8578,8 @@ Have I said anything that doesn't make sense to anyone? Date: 24 Jul 2003 17:24:52 -0400 From: Camm Maguire To: daly@idsi.net -Cc: novalis@fsf.org, license-violation@fsf.org, rms@gnu.org, stavros.macrakis@verizon.net, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, gcl-devel@gnu.org Subject: [Axiom-developer] Re: GCL compliance and Bill Schelter +Cc: novalis@fsf.org, license-violation@fsf.org, rms@gnu.org, stavros.macrakis@verizon.net, sds@gnu.org, maxima@www.ma.utexas.edu Greetings, gentle people! @@ -8756,7 +8679,6 @@ which I hope will calm and clarify. Date: 24 Jul 2003 23:26:34 -0400 From: Camm Maguire To: daly@idsi.net -Cc: axiom-developer@nongnu.org Subject: [Axiom-developer] Small patches Greetings! Tim, do you need these? @@ -8849,7 +8771,6 @@ Greetings! Tim, do you need these? Date: Thu, 24 Jul 2003 23:38:02 -0400 From: root To: camm@enhanced.com -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: Re: [Axiom-developer] Small patches Camm, @@ -8866,7 +8787,6 @@ I'd have thought that would cause an error. I'll patch it. Date: 25 Jul 2003 00:06:20 -0400 From: Camm Maguire To: daly@idsi.net -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Small patches Greetings! @@ -8905,8 +8825,8 @@ in the algebra portion. Do you see this? Sounds relevant. Date: Fri, 25 Jul 2003 09:31:20 +0100 From: Mike Dewar To: Richard Stallman -Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, sds@gnu.org, fateman@cs.berkeley.edu, axiom-developer@nongnu.org, C Y , maxima@www.ma.utexas.edu Subject: Re: [Axiom-developer] Re: [Maxima] Re: GCL used commercially? +Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, sds@gnu.org, fateman@cs.berkeley.edu, C Y , maxima@www.ma.utexas.edu That is a very broad and misleading statement. Many so-called "free" licenses, in particular the GPL, require computer users to give up their @@ -8926,8 +8846,8 @@ On Thu, Jul 24, 2003 at 03:59:40PM -0400, Richard Stallman wrote: Date: Fri, 25 Jul 2003 09:28:45 +1000 From: "Mike Thomas" To: "Mike Dewar" -Cc: Camm Maguire , novalis@fsf.org, license-violation@fsf.org, rms@gnu.org, stavros.macrakis@verizon.net, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, daly@idsi.net, gcl-devel@gnu.org Subject: RE: [Axiom-developer] RE: GCL compliance and Bill Schelter +Cc: Camm Maguire , novalis@fsf.org, license-violation@fsf.org, rms@gnu.org, stavros.macrakis@verizon.net, sds@gnu.org, maxima@www.ma.utexas.edu Hi Mike. @@ -8965,8 +8885,8 @@ Axiom with the licencing terms of GCL through the GPL. Date: Fri, 25 Jul 2003 10:19:35 +1000 From: "Mike Thomas" To: -Cc: Camm Maguire , novalis@fsf.org, license-violation@fsf.org, rms@gnu.org, stavros.macrakis@verizon.net, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, gcl-devel@gnu.org Subject: [Axiom-developer] RE: GCL compliance and Bill Schelter +Cc: Camm Maguire , novalis@fsf.org, license-violation@fsf.org, rms@gnu.org, stavros.macrakis@verizon.net, sds@gnu.org, maxima@www.ma.utexas.edu Hi Tim. @@ -9008,8 +8928,8 @@ as it currently is - BSD. Date: Fri, 25 Jul 2003 03:59:20 -0400 From: Richard Stallman To: daly@idsi.net -Cc: camm@enhanced.com, license-violation@fsf.org, stavros.macrakis@verizon.net, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, gcl-devel@gnu.org, novalis@fsf.org Subject: [Axiom-developer] Re: GCL compliance and Bill Schelter +Cc: camm@enhanced.com, license-violation@fsf.org, stavros.macrakis@verizon.net, sds@gnu.org, maxima@www.ma.utexas.edu, novalis@fsf.org The first message I received about Axiom seemed to imply it was released as non-free software by NAG, but now it looks like Axiom is @@ -9034,8 +8954,8 @@ such as for instance the revised BSD license. Date: Thu, 24 Jul 2003 21:25:44 -0700 From: Bakul Shah To: Camm Maguire -Cc: novalis@fsf.org, license-violation@fsf.org, rms@gnu.org, stavros.macrakis@verizon.net, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, daly@idsi.net, gcl-devel@gnu.org Subject: [Axiom-developer] Re: [Maxima] Re: GCL compliance and Bill Schelter +Cc: novalis@fsf.org, license-violation@fsf.org, rms@gnu.org, stavros.macrakis@verizon.net, sds@gnu.org, maxima@www.ma.utexas.edu > 3) This having been said, it is my opinion that axiom would be better > served by a GPL license. It is of course completely up to the @@ -9093,8 +9013,8 @@ even if there are headaches such as this one. Date: Fri, 25 Jul 2003 09:55:16 +0100 From: Mike Dewar To: Camm Maguire -Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, rms@gnu.org, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, daly@idsi.net, gcl-devel@gnu.org Subject: Re: [Axiom-developer] Re: GCL compliance and Bill Schelter +Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, rms@gnu.org, sds@gnu.org, maxima@www.ma.utexas.edu Camm, @@ -9226,8 +9146,8 @@ On Thu, Jul 24, 2003 at 05:24:52PM -0400, Camm Maguire wrote: Date: Fri, 25 Jul 2003 09:59:39 +0100 From: Mike Dewar To: Mike Thomas -Cc: Camm Maguire , novalis@fsf.org, license-violation@fsf.org, rms@gnu.org, stavros.macrakis@verizon.net, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, daly@idsi.net, gcl-devel@gnu.org Subject: Re: [Axiom-developer] RE: GCL compliance and Bill Schelter +Cc: Camm Maguire , novalis@fsf.org, license-violation@fsf.org, rms@gnu.org, stavros.macrakis@verizon.net, sds@gnu.org, maxima@www.ma.utexas.edu Hi Mike, @@ -9279,9 +9199,8 @@ On Fri, Jul 25, 2003 at 09:28:45AM +1000, Mike Thomas wrote: Date: 25 Jul 2003 11:33:50 -0400 From: Camm Maguire To: Bakul Shah -Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, rms@gnu.org, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, daly@idsi.net, gcl-devel@gnu.org -Subject: Re: [Axiom-developer] Re: [Maxima] Re: GCL compliance and Bill - Schelter +Subject: Re: [Axiom-developer] Re: [Maxima] Re: GCL compliance and Bill Schelter +Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, rms@gnu.org, sds@gnu.org, maxima@www.ma.utexas.edu Greetings, and thanks for your note! @@ -9421,8 +9340,8 @@ Just my feelings/opinions, of course. Date: Fri, 25 Jul 2003 11:55:51 -0400 From: root To: axiom-developer@nongnu.org -Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, rms@gnu.org, axiom-legal@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, daly@idsi.net, gcl-devel@gnu.org Subject: [Axiom-developer] axiom-legal@nongnu.org +Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, rms@gnu.org, sds@gnu.org, maxima@www.ma.utexas.edu *, @@ -9440,8 +9359,8 @@ In fact, we need the developer time even more. Date: 25 Jul 2003 11:51:16 -0400 From: Camm Maguire To: Mike Dewar -Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, rms@gnu.org, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, daly@idsi.net, gcl-devel@gnu.org Subject: Re: [Maxima] Re: [Axiom-developer] Re: GCL compliance and Bill Schelter +Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, rms@gnu.org, sds@gnu.org, maxima@www.ma.utexas.edu Greetings! @@ -9596,8 +9515,8 @@ Take care, Date: 25 Jul 2003 18:03:48 +0200 From: Nicolas Neuss To: Mike Dewar -Cc: axiom-developer@nongnu.org, maxima@www.ma.utexas.edu, Richard Stallman Subject: Re: [Axiom-developer] Re: [Maxima] Re: GCL used commercially? +Cc: maxima@www.ma.utexas.edu, Richard Stallman Mike Dewar writes: @@ -9622,8 +9541,8 @@ Note that this is *not* the FSF's interpretation! Date: Fri, 25 Jul 2003 17:47:07 -0400 From: Richard Stallman To: "Bill Page" -Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, smustudent1@yahoo.com, fateman@cs.berkeley.edu, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu Subject: Re: [Axiom-developer] Re: [Maxima] Re: GCL used commercially? +Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, smustudent1@yahoo.com, fateman@cs.berkeley.edu, sds@gnu.org, maxima@www.ma.utexas.edu On the other hand, it seems clear to me that there is nothing wrong with using GCC and/or GCL (or even Axiom, or more probably Aldor (the library @@ -9652,7 +9571,6 @@ cooperation. They deserve to be replaced with free software. Date: 25 Jul 2003 22:18:47 -0400 From: Camm Maguire To: daly@idsi.net -Cc: axiom@tenkan.org, axiom-developer@nongnu.org, gcl-devel@gnu.org Subject: Re: [Axiom-developer] hascategory bug Greetings! Some real progress to report on the infinite recusion @@ -9683,7 +9601,6 @@ Hopefully should not be long now. Date: Fri, 25 Jul 2003 23:09:11 -0400 From: root To: camm@enhanced.com -Cc: axiom@tenkan.org, axiom-developer@nongnu.org, daly@idsi.net, gcl-devel@gnu.org Subject: Re: [Axiom-developer] hascategory bug Man, I'm impressed. I've been chasing this bug for a while with @@ -9694,7 +9611,6 @@ I can find. Date: 26 Jul 2003 01:59:49 -0400 From: Camm Maguire To: daly@idsi.net -Cc: axiom@tenkan.org, axiom-developer@nongnu.org, gcl-devel@gnu.org Subject: Re: [Gcl-devel] Re: [Axiom-developer] hascategory bug Greetings again! OK here it is: @@ -9998,7 +9914,6 @@ d. Date: Sat, 26 Jul 2003 08:46:07 -0400 From: root To: camm@enhanced.com -Cc: axiom@tenkan.org, axiom-developer@nongnu.org, daly@idsi.net, gcl-devel@gnu.org Subject: [Axiom-developer] hascategory bug Camm, @@ -10018,8 +9933,8 @@ daly@idsi.net Date: Sat, 26 Jul 2003 09:25:29 -0400 From: root To: daly@idsi.net -Cc: camm@enhanced.com, axiom@tenkan.org, axiom-developer@nongnu.org, gcl-devel@gnu.org Subject: [Axiom-developer] hascategory bug +Cc: camm@enhanced.com *, @@ -10036,7 +9951,6 @@ daly@idsi.net Date: 26 Jul 2003 10:37:08 -0400 From: Camm Maguire To: daly@idsi.net -Cc: axiom@tenkan.org, axiom-developer@nongnu.org, gcl-devel@gnu.org Subject: [Axiom-developer] Re: [Gcl-devel] hascategory bug Greetings! No problem -- I really want GCL to be of service to axiom. @@ -10073,7 +9987,6 @@ root writes: Date: Sat, 26 Jul 2003 16:49:22 +0200 From: David MENTRE To: Tim Daly -Cc: axiom-developer@nongnu.org Subject: [Axiom-developer] Hack to fix debugsys Hello Tim, @@ -10387,7 +10300,6 @@ avoid infinite loop, if autoload fails Date: Sat, 26 Jul 2003 19:55:24 +0200 From: David MENTRE To: Tim Daly -Cc: axiom-developer@nongnu.org Subject: [Axiom-developer] About noweb and cross-referencing Hello Tim, @@ -10461,7 +10373,6 @@ right now. Let me know if you need it. Date: Sat, 26 Jul 2003 22:32:43 -0400 From: root To: camm@enhanced.com -Cc: axiom@tenkan.org, axiom-developer@nongnu.org, daly@idsi.net, gcl-devel@gnu.org Subject: [Axiom-developer] Re: [Gcl-devel] hascategory bug sorry, guys. i was out for the day and just got back. rational replies @@ -10471,7 +10382,6 @@ on the morrow. -- t Date: 27 Jul 2003 11:41:14 -0400 From: Camm Maguire To: Juergen Weiss -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] serveral bugs in codebase Greetings! Thanks for this work! @@ -10517,7 +10427,6 @@ with (compiler::print-compiler-info). Date: Sun, 27 Jul 2003 12:54:33 -0400 From: root To: camm@enhanced.com -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] serveral bugs in codebase In util.lisp.pamphlet you'll see that there is a function called @@ -10537,7 +10446,6 @@ util.lisp contains several "rebuild" functions. Date: Sun, 27 Jul 2003 13:14:36 -0400 From: root To: camm@enhanced.com -Cc: axiom@tenkan.org, axiom-developer@nongnu.org, daly@idsi.net, gcl-devel@gnu.org Subject: [Axiom-developer] Re: [Gcl-devel] hascategory bug Camm, @@ -10552,8 +10460,8 @@ I'm now looking into the duplicate set issue. Date: Sun, 27 Jul 2003 14:39:40 -0400 From: Richard Stallman To: Mike Dewar -Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, sds@gnu.org, fateman@cs.berkeley.edu, axiom-developer@nongnu.org, smustudent1@yahoo.com, maxima@www.ma.utexas.edu Subject: Re: [Axiom-developer] Re: [Maxima] Re: GCL used commercially? +Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, sds@gnu.org, fateman@cs.berkeley.edu, smustudent1@yahoo.com, maxima@www.ma.utexas.edu That is a very broad and misleading statement. Many so-called "free" licenses, in particular the GPL, require computer users to give up their @@ -10567,8 +10475,8 @@ more explanation. Date: Sun, 27 Jul 2003 16:12:38 -0400 From: root To: daly@idsi.net -Cc: camm@enhanced.com, axiom@tenkan.org, axiom-developer@nongnu.org, daly@idsi.net, gcl-devel@gnu.org Subject: [Axiom-developer] Duplicate set issue +Cc: camm@enhanced.com Camm, @@ -10586,8 +10494,8 @@ is trying to do. Date: Sun, 27 Jul 2003 16:15:00 -0400 From: root To: daly@idsi.net -Cc: camm@enhanced.com, axiom@tenkan.org, axiom-developer@nongnu.org, daly@idsi.net, gcl-devel@gnu.org Subject: [Axiom-developer] Duplicate set issue +Cc: camm@enhanced.com Camm, @@ -10605,8 +10513,8 @@ set [p,p] ==> {1,1} Date: Sun, 27 Jul 2003 22:26:27 +0200 From: "Juergen Weiss" To: -Cc: camm@enhanced.com, axiom@tenkan.org, axiom-developer@nongnu.org, gcl-devel@gnu.org Subject: RE: [Axiom-developer] Duplicate set issue +Cc: camm@enhanced.com Hi, @@ -10639,7 +10547,6 @@ Sets are rather complicated objects. Date: Sun, 27 Jul 2003 16:38:47 -0400 From: root To: david.mentre@wanadoo.fr -Cc: axiom@tenkan.org, axiom-developer@nongnu.org Subject: [Axiom-developer] Hack to fix debugsys David, @@ -10654,7 +10561,6 @@ for the value of $AXIOM and use it to find the files. Date: Sun, 27 Jul 2003 16:48:44 -0400 From: root To: david.mentre@wanadoo.fr -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] On savannah CVS, no Makefile nor Makefile.dvi > I think that you should put on savannah CVS only .pamphlet files, except @@ -10685,7 +10591,6 @@ to do (and as hard as possible to ignore). Date: Sun, 27 Jul 2003 16:52:08 -0400 From: root To: weiss@uni-mainz.de -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] serveral bugs in codebase Juergen, @@ -10942,7 +10847,6 @@ avoid infinite loop, if autoload fails Date: Sun, 27 Jul 2003 16:56:48 -0400 From: root To: david.mentre@wanadoo.fr -Cc: axiom@tenkan.org, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: About noweb and cross-referencing David, @@ -10962,8 +10866,8 @@ eventually expand it to be used by the document command. Date: Sun, 27 Jul 2003 16:59:01 -0400 From: root To: weiss@uni-mainz.de -Cc: camm@enhanced.com, axiom-developer@nongnu.org Subject: [Axiom-developer] serveral bugs in codebase +Cc: camm@enhanced.com Juergen, @@ -10974,7 +10878,6 @@ manipulates that. It should help up clean up the code quite a bit. Date: Sun, 27 Jul 2003 17:27:52 -0400 From: root To: axiom-developer@nongnu.org -Cc: daly@idsi.net Subject: [Axiom-developer] diffing pamphlet files *, @@ -10991,7 +10894,6 @@ apply them easily. Date: 27 Jul 2003 21:44:13 -0400 From: Camm Maguire To: daly@idsi.net -Cc: axiom-developer@nongnu.org, gcl-devel@gnu.org Subject: [Axiom-developer] Re: serveral bugs in codebase Hi Tim! Are you perhaps referring to the email on this issue I sent @@ -11098,7 +11000,6 @@ root writes: Date: Sun, 27 Jul 2003 22:44:10 -0400 From: root To: camm@enhanced.com -Cc: axiom-developer@nongnu.org, daly@idsi.net, gcl-devel@gnu.org Subject: [Axiom-developer] Re: serveral bugs in codebase Camm, @@ -11146,7 +11047,6 @@ directly to the Axiom prompt. It makes lisp debugging easier. Date: 28 Jul 2003 10:09:28 -0400 From: Camm Maguire To: daly@idsi.net -Cc: axiom-developer@nongnu.org, gcl-devel@gnu.org Subject: [Axiom-developer] Re: [Gcl-devel] Re: serveral bugs in codebase Greetings! OK as a first disclaimer, I am currently working in a tree @@ -11214,7 +11114,6 @@ root writes: Date: Mon, 28 Jul 2003 16:36:40 +0200 From: "Juergen Weiss" To: "Camm Maguire" , -Cc: axiom-developer@nongnu.org, gcl-devel@gnu.org Subject: [Axiom-developer] RE: [Gcl-devel] Re: serveral bugs in codebase Hi=20 @@ -11304,7 +11203,6 @@ in files containing only one module with allcaps filenames. Date: 28 Jul 2003 11:04:54 -0400 From: Camm Maguire To: daly@idsi.net -Cc: axiom-developer@nongnu.org, gcl-devel@gnu.org Subject: [Axiom-developer] Re: [Gcl-devel] Re: serveral bugs in codebase Hello again! @@ -11485,7 +11383,6 @@ Take care, Date: Mon, 28 Jul 2003 17:21:31 +0200 From: "Juergen Weiss" To: "Camm Maguire" , -Cc: axiom-developer@nongnu.org, gcl-devel@gnu.org Subject: [Axiom-developer] RE: [Gcl-devel] Re: serveral bugs in codebase Hi, @@ -11732,7 +11629,6 @@ found.=20 Date: 28 Jul 2003 14:44:11 -0400 From: Camm Maguire To: "Juergen Weiss" -Cc: axiom-developer@nongnu.org, daly@idsi.net, gcl-devel@gnu.org Subject: [Axiom-developer] Re: [Gcl-devel] Re: serveral bugs in codebase Greetings! OK, the following caused an apparent truncation of my @@ -12063,7 +11959,6 @@ Advice much appreciated, Date: Mon, 28 Jul 2003 18:37:46 -0400 From: root To: camm@enhanced.com -Cc: axiom-developer@nongnu.org, daly@idsi.net, gcl-devel@gnu.org Subject: Re: [Axiom-developer] Re: [Gcl-devel] Re: serveral bugs in codebase Camm, @@ -12084,7 +11979,6 @@ Mike. Date: Mon, 28 Jul 2003 18:35:53 -0400 From: root To: camm@enhanced.com -Cc: axiom-developer@nongnu.org, daly@idsi.net, gcl-devel@gnu.org Subject: Re: [Axiom-developer] Re: [Gcl-devel] Re: serveral bugs in codebase Camm, @@ -12109,7 +12003,6 @@ time you need a "working" axiom (i.e. the binary version). Date: Mon, 28 Jul 2003 20:11:11 -0400 From: root To: "Juergen Weiss" -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] your patches Juergen, @@ -12147,7 +12040,6 @@ me to document. Date: Mon, 28 Jul 2003 20:19:10 -0400 From: root To: axiom-developer@nongnu.org -Cc: daly@idsi.net Subject: [Axiom-developer] boottran::boottocl *, @@ -12181,7 +12073,6 @@ The (restart) re-enters the top level loop Date: Mon, 28 Jul 2003 20:33:59 -0400 From: root To: david.mentre@wanadoo.fr -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] booklet.c.pamphlet David, @@ -12464,7 +12355,7 @@ int main(int argc, char **argv) Date: Sun, 20 Jul 2003 07:22:30 -0400 From: root To: axiom-developer@nongnu.org -Cc: axiom@tenkan.org + Subject: [Axiom-developer] booklet function Lines: 84 @@ -12546,7 +12437,6 @@ If this is unclear please ask questions. Date: 28 Jul 2003 20:37:53 -0400 From: Camm Maguire To: daly@idsi.net -Cc: axiom-developer@nongnu.org, gcl-devel@gnu.org Subject: Re: [Axiom-developer] Re: [Gcl-devel] Re: serveral bugs in codebase Greetings! Here are my resulst thus far: @@ -12620,7 +12510,6 @@ root writes: Date: Mon, 28 Jul 2003 20:53:54 -0400 From: root To: Camm Maguire -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] interpsys and algebra Camm, @@ -12692,7 +12581,6 @@ Greetings! Here are my resulst thus far: Date: Tue, 29 Jul 2003 11:29:27 +1000 From: Fergus Henderson To: Camm Maguire -Cc: gcc@gcc.gnu.org, axiom-developer@nongnu.org, gcl-devel@gnu.org Subject: [Axiom-developer] Re: portable cdecl 'elliptic' function calls On 28-Jul-2003, Camm Maguire wrote: @@ -12721,7 +12609,6 @@ WWW: | -- the last words of T. S. Garp. Date: 28 Jul 2003 21:36:44 -0400 From: Camm Maguire To: daly@idsi.net -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] interpsys and algebra Greetings! OK, I'm inferring from what you write that it would be @@ -12805,7 +12692,6 @@ root writes: Date: Mon, 28 Jul 2003 22:15:21 -0400 From: root To: Camm Maguire -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] todo It would be possible for you to reconstruct that algebra but @@ -12822,8 +12708,8 @@ yet. Date: Tue, 29 Jul 2003 07:50:18 +0100 (GMT Daylight Time) From: Arthur Norman To: Camm Maguire -Cc: gcc@gcc.gnu.org, axiom-developer@nongnu.org, gcl-devel@gnu.org Subject: Re: [Axiom-developer] portable cdecl 'elliptic' function calls +Cc: gcc@gcc.gnu.org On Mon, 28 Jul 2003, Camm Maguire wrote: > Greetings! On 3 of the 11 Debian architectures (i386, m68k, and ia64), @@ -12886,8 +12772,8 @@ set theoretic based mathematics to schools, which failed ... however. Date: Mon, 28 Jul 2003 15:13:07 +0100 From: Mike Dewar To: Camm Maguire -Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, rms@gnu.org, axiom-developer@nongnu.org, sds@gnu.org, maxima@www.ma.utexas.edu, daly@idsi.net, gcl-devel@gnu.org Subject: Re: [Maxima] Re: [Axiom-developer] Re: GCL compliance and Bill Schelter +Cc: novalis@fsf.org, stavros.macrakis@verizon.net, license-violation@fsf.org, rms@gnu.org, sds@gnu.org, maxima@www.ma.utexas.edu > Great, good to know -- thanks! What about loading binary object > (e.g. '.o') files? @@ -12902,7 +12788,6 @@ Mike. Date: Tue, 29 Jul 2003 11:52:29 -0400 From: Richard Stallman To: Richard Fateman -Cc: axiom@tenkan.org, axiom-developer@nongnu.org, daly@rio.sci.ccny.cuny.edu Subject: [Axiom-developer] Re: GCL used commercially Here's the argument: It helps companies build non-free software on GCL @@ -12919,7 +12804,6 @@ substantial contributions to GCL, they do not help free software. Date: Tue, 29 Jul 2003 20:46:49 +0200 From: David MENTRE To: Tim Daly -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] On savannah CVS, no Makefile nor Makefile.dvi root writes: @@ -12935,7 +12819,6 @@ I totally agree with you on the above points. Date: Wed, 30 Jul 2003 09:09:50 +0200 From: David MENTRE To: Tim Daly -Cc: axiom@tenkan.org, axiom-developer@nongnu.org, daly@idsi.net Subject: Re: [Axiom-developer] KNOWN.BUGS.pamphet (July 23, 2003) Hello Tim, @@ -12988,7 +12871,6 @@ for more administrative task. Date: Wed, 30 Jul 2003 07:02:11 -0400 From: root To: david.mentre@wanadoo.fr -Cc: axiom@tenkan.org, axiom-developer@nongnu.org, daly@idsi.net, daly@rio.sci.ccny.cuny.edu Subject: [Axiom-developer] Lightning and Thunder David, @@ -13002,8 +12884,8 @@ You have my sympathy. Date: Tue, 29 Jul 2003 11:52:32 -0400 From: Richard Stallman To: daly@idsi.net -Cc: novalis@fsf.org, license-violation@fsf.org, smustudent1@yahoo.com, maxima@www.ma.utexas.edu, gcl-devel@gnu.org, camm@enhanced.com, stavros.macrakis@verizon.net, axiom-developer@nongnu.org, sds@gnu.org, daly@idsi.net Subject: [Axiom-developer] Re: GCL compliance and Bill Schelter +Cc: novalis@fsf.org, license-violation@fsf.org, smustudent1@yahoo.com, maxima@www.ma.utexas.edu, camm@enhanced.com, stavros.macrakis@verizon.net, sds@gnu.org I would make the analogy that in C one uses a linker to combine compiler output and libraries to create a "save-system" image runnable binary. @@ -13027,7 +12909,6 @@ GPL-covered code, for any kind of linking. Date: Wed, 30 Jul 2003 23:37:13 +0200 From: David MENTRE To: daly@idsi.net -Cc: axiom@tenkan.org, axiom-developer@nongnu.org, daly@rio.sci.ccny.cuny.edu Subject: [Axiom-developer] Re: Lightning and Thunder Hello Tim, @@ -13046,8 +12927,8 @@ shortly. Date: 30 Jul 2003 17:54:54 -0400 From: Camm Maguire To: Fergus Henderson -Cc: gcc@gcc.gnu.org, axiom-developer@nongnu.org, maxima@mail.ma.utexas.edu, acl2@lists.cc.utexas.edu, gcl-devel@gnu.org Subject: [Axiom-developer] Re: portable cdecl 'elliptic' function calls +Cc: gcc@gcc.gnu.org, maxima@mail.ma.utexas.edu, acl2@lists.cc.utexas.edu Greetings, and thank you for this tip! I now think I see how to do this in GCL, and would like to build in dependency on libffi. Is this @@ -13079,8 +12960,8 @@ Fergus Henderson writes: Date: Thu, 31 Jul 2003 09:33:44 +1000 From: "Mike Thomas" To: "Camm Maguire" , "Fergus Henderson" -Cc: gcc@gcc.gnu.org, axiom-developer@nongnu.org, maxima@mail.ma.utexas.edu, acl2@lists.cc.utexas.edu, gcl-devel@gnu.org Subject: [Axiom-developer] RE: [Gcl-devel] Re: portable cdecl 'elliptic' function calls +Cc: gcc@gcc.gnu.org, maxima@mail.ma.utexas.edu, acl2@lists.cc.utexas.edu Hi Camm. @@ -13192,8 +13073,8 @@ to unix practices. Date: Thu, 31 Jul 2003 23:52:52 +1000 From: Fergus Henderson To: Mike Thomas -Cc: Camm Maguire , gcc@gcc.gnu.org, maxima@mail.ma.utexas.edu, axiom-developer@nongnu.org, acl2@lists.cc.utexas.edu, gcl-devel@gnu.org Subject: [Axiom-developer] Re: [Gcl-devel] Re: portable cdecl 'elliptic' function calls +Cc: Camm Maguire , gcc@gcc.gnu.org, maxima@mail.ma.utexas.edu, acl2@lists.cc.utexas.edu On 31-Jul-2003, Mike Thomas wrote: > Fergus, did you use it [libffi] in the Cygwin port of Mercury? @@ -13255,7 +13136,6 @@ Let me know if you need further features. Date: Thu, 31 Jul 2003 16:03:31 -0400 From: root To: david.mentre@wanadoo.fr -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Bug database on savannah David, @@ -13274,8 +13154,8 @@ you'd like to make it work is entirely up to you. Date: 31 Jul 2003 17:50:52 -0400 From: Camm Maguire To: Fergus Henderson -Cc: gcc@gcc.gnu.org, maxima@mail.ma.utexas.edu, axiom-developer@nongnu.org, acl2@lists.cc.utexas.edu, gcl-devel@gnu.org Subject: [Axiom-developer] Re: [Gcl-devel] Re: portable cdecl 'elliptic' function calls +Cc: gcc@gcc.gnu.org, maxima@mail.ma.utexas.edu, acl2@lists.cc.utexas.edu Greetings, and thanks! @@ -13322,7 +13202,6 @@ but I don't think that is a major impediment. Opinions? Date: Thu, 31 Jul 2003 19:08:57 -0400 From: root To: Camm Maguire -Cc: axiom@tenkan.org, axiom-developer@nongnu.org, daly@idsi.net, gcl-devel@gnu.org Subject: [Axiom-developer] unlimited argument lists Camm, @@ -13339,8 +13218,8 @@ see the need for any other solution. It would be nice if unlimited args Date: 31 Jul 2003 18:34:03 -0600 From: Tom Tromey To: "Mike Thomas" -Cc: gcc@gcc.gnu.org, axiom-developer@nongnu.org, maxima@mail.ma.utexas.edu, acl2@lists.cc.utexas.edu, gcl-devel@gnu.org Subject: [Axiom-developer] Re: [Gcl-devel] Re: portable cdecl 'elliptic' function calls +Cc: gcc@gcc.gnu.org, maxima@mail.ma.utexas.edu, acl2@lists.cc.utexas.edu >>>>> "Mike" == Mike Thomas writes: diff --git a/book/2003-08.txt b/book/2003-08.txt index 07328a4..34252f8 100644 --- a/book/2003-08.txt +++ b/book/2003-08.txt @@ -2,7 +2,6 @@ Date: Fri, 01 Aug 2003 18:33:54 +0200 From: David MENTRE To: daly@idsi.net -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Bug database on savannah root writes: @@ -19,7 +18,6 @@ ok, I'll try to do that. Date: Sat, 02 Aug 2003 12:43:01 +0200 From: David MENTRE To: Juergen Weiss -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] serveral bugs in codebase Hello Juergen, @@ -42,7 +40,6 @@ savannah bug system[2] :). Date: Sat, 02 Aug 2003 11:47:00 +0200 From: David MENTRE To: "Weiss, Juergen" -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: Re: [Axiom-developer] axiom.input "Weiss, Juergen" writes: @@ -58,7 +55,6 @@ https://savannah.nongnu.org/bugs/?func=detailbug&bug_id=4579&group_id=2938 Date: Sat, 02 Aug 2003 12:04:16 +0200 From: David MENTRE To: Camm Maguire -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] Re: [Gcl-devel] Re: serveral bugs in codebase Camm Maguire writes: @@ -72,7 +68,6 @@ I have added the bug and your proposed solution as bug #4580. Date: Sat, 02 Aug 2003 12:14:01 +0200 From: David MENTRE To: Jason White -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Axiom for Linux available Jason White writes: @@ -122,7 +117,6 @@ None (26) Date: Sat, 02 Aug 2003 15:19:52 +0200 From: David MENTRE To: "Weiss, Juergen" -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: Re: [Axiom-developer] axiom.input Hello, @@ -167,7 +161,6 @@ This is fixed with the following patch: Date: Sat, 2 Aug 2003 16:51:52 -0400 From: root To: weiss@uni-mainz.de, david.mentre@wanadoo.fr -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] axiom.input renamed to .axiom.input Juergen, David, @@ -198,7 +191,6 @@ I will have on any given day so there may be some delay in replies. Date: Sat, 2 Aug 2003 10:54:22 -0400 From: root To: david.mentre@wanadoo.fr -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Axiom for Linux available David, @@ -284,7 +276,6 @@ Gentoo :-). Date: 04 Aug 2003 10:18:06 -0400 From: Camm Maguire To: David MENTRE -Cc: axiom-developer@nongnu.org, daly@idsi.net, gcl-devel@gnu.org Subject: [Axiom-developer] Re: [Gcl-devel] Re: serveral bugs in codebase Thanks David! I hope to have a more elegant option using ffi soon. @@ -306,7 +297,6 @@ David MENTRE writes: Date: Mon, 04 Aug 2003 14:05:59 +0200 From: David MENTRE To: daly@idsi.net -Cc: axiom-developer@nongnu.org, axiom-mail@nongnu.org Subject: [Axiom-developer] Re: [Axiom-mail] contacting Linux distributors Hello Tim, @@ -379,7 +369,6 @@ Date: 04 Aug 2003 13:10:09 -0400 From: Camm Maguire To: daly@idsi.net Subject: Re: [Axiom-developer] contacting Linux distributors -Cc: axiom-developer@nongnu.org, axiom-mail@nongnu.org Greetings! @@ -766,7 +755,6 @@ will have finished. Date: 09 Aug 2003 21:48:42 -0400 From: Camm Maguire To: "Weiss, Juergen" -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] compiling the algebra files with gcl Greetings! @@ -801,7 +789,6 @@ Take care, Date: Sun, 10 Aug 2003 09:21:41 +0200 From: "Weiss, Juergen" To: "Camm Maguire" -Cc: axiom-developer@nongnu.org Subject: RE: [Axiom-developer] compiling the algebra files with gcl Hi Camm, @@ -862,7 +849,6 @@ compiles and it lets you compile the rest as well. Date: 11 Aug 2003 12:57:57 -0400 From: Camm Maguire To: "Weiss, Juergen" -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] compiling the algebra files with gcl Greetings, and thanks for this! @@ -935,7 +921,6 @@ Take care, Date: 11 Aug 2003 15:51:07 -0400 From: Camm Maguire To: "Weiss, Juergen" -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] compiling the algebra files with gcl Hello again! Just an update, I replace src/algebra with Juergen's @@ -1066,7 +1051,6 @@ Take care, Date: Mon, 11 Aug 2003 15:57:11 -0400 From: root To: partner@redflag-linux.com -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] Red Flag package requirements Gentlemen, @@ -1106,7 +1090,6 @@ Thank you. Date: Mon, 11 Aug 2003 21:58:00 +0200 From: "Weiss, Juergen" To: "Camm Maguire" -Cc: axiom-developer@nongnu.org Subject: RE: [Axiom-developer] compiling the algebra files with gcl Did you install the new database files (share/algebra) as @@ -1288,7 +1271,6 @@ with the distributed algebra sources. Date: Mon, 11 Aug 2003 16:00:40 -0400 From: root To: camm@enhanced.com -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] compiling the algebra files with gcl Camm, @@ -1301,7 +1283,6 @@ Tim Date: Mon, 11 Aug 2003 20:13:08 -0400 From: root To: weiss@uni-mainz.de, axiom-developer@nongnu.org -Cc: daly@idsi.net Subject: [Axiom-developer] make to ${MAKE} Done. I forgot to fix the field that says "Won't fix". @@ -1312,7 +1293,6 @@ or perhaps I need training on how to fix bug reports. sigh. Date: 12 Aug 2003 10:13:34 -0400 From: Camm Maguire To: "Weiss, Juergen" -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] compiling the algebra files with gcl Greetings! @@ -1508,7 +1488,6 @@ Take care, Date: Tue, 12 Aug 2003 17:44:56 +0200 From: "Weiss, Juergen" To: "Camm Maguire" -Cc: axiom-developer@nongnu.org Subject: RE: [Axiom-developer] compiling the algebra files with gcl Hi, @@ -1550,8 +1529,8 @@ Did you do a make clean in the toplevel directory? Date: Tue, 12 Aug 2003 12:03:09 -0400 From: root To: weiss@uni-mainz.de -Cc: camm@enhanced.com, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] compiling the algebra files with gcl +Cc: camm@enhanced.com GCL still seems to have a remaining issue. The following 5 domains won't compile: CPIMA COMBF D01AGNT d01WGTS INBFF @@ -1564,8 +1543,8 @@ domains. Date: Tue, 12 Aug 2003 18:21:18 +0200 From: "Weiss, Juergen" To: -Cc: camm@enhanced.com, axiom-developer@nongnu.org Subject: RE: [Axiom-developer] compiling the algebra files with gcl +Cc: camm@enhanced.com I was able to compile these files as well (with cmu and with gcl). @@ -1588,7 +1567,6 @@ I was able to compile these files as well (with cmu and with gcl). Date: Tue, 12 Aug 2003 19:03:58 +0200 From: David MENTRE To: daly@idsi.net -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] make to ${MAKE} Hi Tim, @@ -1611,7 +1589,6 @@ fixing. Or maybe we should promote a literate bug report system. :) Date: Tue, 12 Aug 2003 13:18:44 -0400 From: root To: david.mentre@wanadoo.fr -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: Re: [Axiom-developer] make to ${MAKE} actually, there were 2 "fixed" messages for that make bug report. @@ -1645,7 +1622,6 @@ done it before and cvs has a way of persisting my mistakes :-) Date: Tue, 12 Aug 2003 19:38:16 +0200 From: David MENTRE To: daly@idsi.net -Cc: axiom-developer@nongnu.org Subject: Tagging in CVS (was: Re: [Axiom-developer] make to ${MAKE}) Tim, @@ -1682,8 +1658,8 @@ Otherwise, here is the official documentation: Date: Tue, 12 Aug 2003 15:21:49 -0400 From: root To: amundson@fnal.gov -Cc: axiom-developer@nongnu.org, maxima@www.ma.utexas.edu, daly@idsi.net, gcl-devel@gnu.org, acl2@lists.cc.utexas.edu Subject: [Axiom-developer] Axiom and Maxima +Cc: maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu Jim, @@ -1718,7 +1694,6 @@ savannah website) to merge ACL2 in a similar way. Date: 13 Aug 2003 11:38:10 -0400 From: Camm Maguire To: "Weiss, Juergen" -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] compiling the algebra files with gcl Greetings! Just a status update -- I tried again, rechecking @@ -1795,7 +1770,6 @@ do some more checking. Date: Wed, 13 Aug 2003 13:08:38 -0400 From: root To: camm@enhanced.com -Cc: axiom-developer@nongnu.org Subject: [Axiom-developer] LODO* files won't compile It appears, as Juergen points out, that the LODO* issue is due to a @@ -1808,7 +1782,6 @@ databases so this problem should go away. Date: Wed, 13 Aug 2003 19:10:52 +0200 From: "Weiss, Juergen" To: "Camm Maguire" -Cc: axiom-developer@nongnu.org Subject: RE: [Axiom-developer] compiling the algebra files with gcl Hi, @@ -1912,7 +1885,6 @@ a very few files where compilation will fail. Date: Wed, 13 Aug 2003 19:14:10 +0200 From: "Weiss, Juergen" To: , -Cc: axiom-developer@nongnu.org Subject: [Axiom-developer] RE: LODO* files won't compile There is actually a target in my Makefile. But the generation @@ -1938,7 +1910,6 @@ TOUCHed the file, then the build did work. Date: Wed, 13 Aug 2003 13:30:22 -0400 From: "Page, Bill" To: "'Camm Maguire'" , "Weiss, Juergen" , "'root'" -Cc: axiom-developer@nongnu.org Subject: RE: [Axiom-developer] compiling the algebra files with gcl Camm, Tim, Juergen, et al. @@ -2098,8 +2069,8 @@ Bill Page. Date: Wed, 13 Aug 2003 13:34:20 -0400 From: root To: weiss@uni-mainz.de -Cc: camm@enhanced.com, axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] Re: LODO* files won't compile +Cc: camm@enhanced.com Yes, there is a database rebuild target already in the makefile but it needs review. I have implemented routines that rebuild the @@ -2111,8 +2082,8 @@ without trouble. Date: 13 Aug 2003 13:56:34 -0400 From: Camm Maguire To: daly@idsi.net -Cc: axiom-developer@nongnu.org, maxima@www.ma.utexas.edu, amundson@fnal.gov, gcl-devel@gnu.org, acl2@lists.cc.utexas.edu Subject: [Axiom-developer] Re: [Gcl-devel] Axiom and Maxima +Cc: maxima@www.ma.utexas.edu, amundson@fnal.gov, acl2@lists.cc.utexas.edu Greetings! @@ -2162,8 +2133,8 @@ pertinent. What am I missing? Date: Wed, 13 Aug 2003 19:58:10 +0200 From: David MENTRE To: "Bill. Page1 (E-mail)" -Cc: 'Camm Maguire' , axiom-developer@nongnu.org, 'root' Subject: Re: [Axiom-developer] compiling the algebra files with gcl +Cc: 'Camm Maguire' "Page, Bill" writes: @@ -2179,8 +2150,8 @@ where you reported them. Date: Wed, 13 Aug 2003 20:05:28 +0200 From: David MENTRE To: Camm Maguire -Cc: amundson@fnal.gov, axiom-developer@nongnu.org, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu, gcl-devel@gnu.org, daly@idsi.net Subject: Re: [Axiom-developer] Re: [Gcl-devel] Axiom and Maxima +Cc: amundson@fnal.gov, maxima@www.ma.utexas.edu, acl2@lists.cc.utexas.edu Hi Camm, @@ -2217,7 +2188,6 @@ In http://www.nongnu.org/axiom/ Date: Wed, 13 Aug 2003 14:36:13 -0400 From: "Page, Bill" To: "'David MENTRE'" -Cc: axiom-developer@nongnu.org Subject: RE: [Axiom-developer] compiling the algebra files with gcl David, @@ -2254,8 +2224,8 @@ a little differently. Thanks. Date: Wed, 13 Aug 2003 14:43:42 -0400 From: root To: bill.page1@sympatico.ca -Cc: camm@enhanced.com, axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] Juergen's makefile +Cc: camm@enhanced.com re: explaining the difference between Juergen's work and mine... @@ -2368,8 +2338,8 @@ My apologies for spamming the ACL2 list. Date: Wed, 13 Aug 2003 13:26:04 -0500 From: Matt Kaufmann To: david.mentre@wanadoo.fr -Cc: camm@enhanced.com, moore@cs.utexas.edu, daly@idsi.net Subject: ACL2 list +Cc: camm@enhanced.com, moore@cs.utexas.edu Hi -- @@ -2418,8 +2388,8 @@ stuff. Date: Wed, 13 Aug 2003 21:46:20 +0200 From: "Weiss, Juergen" To: , -Cc: camm@enhanced.com, axiom-developer@nongnu.org Subject: [Axiom-developer] RE: Juergen's makefile +Cc: camm@enhanced.com Actually, as I already noted, the ordering is mainly due to Tim. I just went on with the missing files in alphabetical @@ -2563,7 +2533,6 @@ etc so the work isn't duplicated. Date: Thu, 14 Aug 2003 18:47:53 +0200 From: David MENTRE To: sal@kachinatech.com -Cc: axiom-developer@nongnu.org Subject: [Axiom-developer] Update for AXIOM web page on SAL Hello, @@ -2627,7 +2596,6 @@ See A Screen Shot? (Not Yet) Date: Thu, 14 Aug 2003 19:29:59 +0200 From: David MENTRE To: "Bill. Page1 (E-mail)" -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] compiling the algebra files with gcl Hello Bill, @@ -2663,8 +2631,8 @@ I hope I am more clear. I'll try to refine savannah's bug report fields. Date: Thu, 14 Aug 2003 13:39:06 -0400 From: root To: david.mentre@wanadoo.fr -Cc: axiom-developer@nongnu.org, bill.page1@sympatico.ca Subject: Re: [Axiom-developer] compiling the algebra files with gcl +Cc: bill.page1@sympatico.ca David @@ -2674,7 +2642,6 @@ Feel free to "fix" the bug report fields as you see fit. Date: Thu, 14 Aug 2003 14:37:36 -0400 From: root To: "Weiss, Juergen" -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] generalized makefile rules Juergen, @@ -2697,7 +2664,6 @@ matches the name of the expanding file but I don't know what it is. Date: Thu, 14 Aug 2003 21:09:01 +0200 From: David MENTRE To: daly@idsi.net -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] generalized makefile rules Hello Tim, @@ -2746,7 +2712,6 @@ ${MID}/%.NRLIB: ${MID}/%.spad Date: Thu, 14 Aug 2003 22:03:20 +0200 From: "Weiss, Juergen" To: -Cc: axiom-developer@nongnu.org Subject: [Axiom-developer] RE: generalized makefile rules Hi Tim, @@ -2794,8 +2759,8 @@ experimented a bit and read parts of the documentation. Date: Sun, 17 Aug 2003 12:48:51 -0400 From: root To: weiss@uni-mainz.de -Cc: camm@enhanced.com, axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] Re: generalized makefile rules +Cc: camm@enhanced.com Juergen, @@ -2826,8 +2791,8 @@ the world imported onto Savannah. Date: Sun, 17 Aug 2003 19:28:00 +0200 From: "Weiss, Juergen" To: -Cc: camm@enhanced.com, axiom-developer@nongnu.org Subject: [Axiom-developer] RE: generalized makefile rules +Cc: camm@enhanced.com Tim, @@ -2890,8 +2855,8 @@ without any algebra files preloaded or with more recent ones? Date: Sun, 17 Aug 2003 15:05:28 -0400 From: root To: weiss@uni-mainz.de -Cc: camm@enhanced.com, axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] lattice +Cc: camm@enhanced.com re: lattice @@ -2957,7 +2922,6 @@ can be built from scratch. Date: Sun, 17 Aug 2003 17:52:20 -0400 From: root To: "Weiss, Juergen" -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] subtle issue with generic rules Using generic rules in Makefiles fail in a subtle way. @@ -2980,7 +2944,6 @@ to repeat the mistake. Date: Sun, 17 Aug 2003 17:52:39 -0400 From: root To: "Weiss, Juergen" -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] subtle issue with generic rules Thanks for the new version of interval.spad.pamphlet @@ -2989,8 +2952,8 @@ Thanks for the new version of interval.spad.pamphlet Date: Sun, 17 Aug 2003 22:33:42 +0200 From: "Weiss, Juergen" To: -Cc: camm@enhanced.com, axiom-developer@nongnu.org Subject: [Axiom-developer] RE: interval.spad +Cc: camm@enhanced.com > > re: interval.spad.pamphlet @@ -3009,8 +2972,8 @@ Most lines differ only by a semicolon. Date: Mon, 18 Aug 2003 18:54:10 +0200 From: David MENTRE To: "Weiss, Juergen" -Cc: camm@enhanced.com, Tim Daly , axiom-developer@nongnu.org, daly@idsi.net Subject: About stack overflow in GCL (was: Re: [Axiom-developer] RE: generalized makefile rules) +Cc: camm@enhanced.com Hello Juergen and Tim, @@ -3058,8 +3021,8 @@ The sources in a public CVS would definitely help track down bugs. ;) Date: Mon, 18 Aug 2003 13:15:06 -0400 From: root To: david.mentre@wanadoo.fr -Cc: camm@enhanced.com, axiom@tenkan.org, axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] About stack overflow in GCL +Cc: camm@enhanced.com I've already applied the suggested patch. I don't believe the problem is in GCL. I've built databases successfully before. I've tried to @@ -3073,7 +3036,6 @@ the cause so I can't say how I'll fix it. Date: Mon, 18 Aug 2003 19:15:39 +0200 From: David MENTRE To: daly@idsi.net, Tim Daly -Cc: axiom-developer@nongnu.org Subject: Automation & algebra lattice (was: Re: [Axiom-developer] lattice) Hi Tim, @@ -3117,7 +3079,6 @@ dependencies. Producing the graph is then very easy. Date: Mon, 18 Aug 2003 13:31:00 -0400 From: root To: david.mentre@wanadoo.fr -Cc: axiom@tenkan.org, axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] Re: Automation & algebra lattice re: author automation @@ -3153,7 +3114,6 @@ Axiom when time permits. Date: Mon, 18 Aug 2003 13:45:55 -0400 From: "Bill Page" To: "'David MENTRE'" , , "'Tim Daly'" -Cc: axiom-developer@nongnu.org Subject: RE: Automation & algebra lattice (was: Re: [Axiom-developer] lattice) David, Tim, @@ -3247,7 +3207,6 @@ Chhers Date: 18 Aug 2003 15:17:17 -0400 From: Camm Maguire To: David MENTRE -Cc: axiom-developer@nongnu.org, daly@idsi.net, Tim Daly Subject: Re: About stack overflow in GCL (was: Re: [Axiom-developer] RE: generalized makefile rules) Greetings, David, and thanks! I believe the patch you refer to below @@ -3356,7 +3315,6 @@ USA WWW : http://www.suse.com/ Date: Tue, 19 Aug 2003 03:11:11 -0400 From: root To: advi@pauillac.inria.fr -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] ADVI browser I saw a presentation of ADVI at the Libre Software Meeting (Metz, France). @@ -3391,8 +3349,8 @@ viewer. I'm impressed with its abilities so far. Date: Wed, 20 Aug 2003 15:29:49 +0200 From: David MENTRE To: daly@idsi.net -Cc: advi@pauillac.inria.fr, axiom-developer@nongnu.org Subject: Re: [Axiom-developer] ADVI browser +Cc: advi@pauillac.inria.fr Hello Tim and ADVI developers (Pierre Weis I suppose), @@ -3408,7 +3366,6 @@ this capability if needed, provided necessary pointer in ADVI code. Date: Wed, 20 Aug 2003 15:18:25 +0200 From: David MENTRE To: "Bill Page" -Cc: axiom-developer@nongnu.org Subject: [Axiom-developer] Re: Automation & algebra lattice Hello Bill, @@ -3432,7 +3389,6 @@ machine reboots. :) Date: Wed, 20 Aug 2003 10:01:28 -0400 From: "Bill Page" To: =?iso-8859-1?Q?'David_Mentr=E9'?= -Cc: axiom-developer@nongnu.org Subject: [Axiom-developer] RE: Automation & algebra lattice This is a multi-part message in MIME format. @@ -3639,8 +3595,8 @@ depends int/algebra/*.spad | awk '{print $1" " $7;}' | sort -u | tsort = Date: Wed, 20 Aug 2003 12:21:51 -0400 From: root To: tim@tenkan.org -Cc: Jun.Furuse@inria.fr, advi@pauillac.inria.fr, axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] ADVI/Axiom connection +Cc: Jun.Furuse@inria.fr, advi@pauillac.inria.fr Tim, @@ -3649,14 +3605,6 @@ GTK. Is that correct? If so, how difficult would it be to make these work in GCL? What's the URL for this work? ------- Start of forwarded message ------- -Date: Wed, 20 Aug 2003 18:09:07 +0200 -From: Jun.Furuse@inria.fr -To: daly@idsi.net -Cc: advi@pauillac.inria.fr, axiom-developer@nongnu.org -Subject: Re: ADVI browser -In-Reply-To: <200308190711.h7J7BBa16359@localhost.localdomain> -User-Agent: Wanderlust/2.10.1 (Watching The Wheels) SEMI/1.14.5 (Awara-Onsen) FLIM/1.14.5 (Demachiyanagi) APEL/10.6 MULE XEmacs/21.4 (patch 13) (Rational FORTRAN) (i386-debian-linux) -Content-Type: text/plain; charset=US-ASCII Hi, @@ -3689,8 +3637,8 @@ Jun Date: Wed, 20 Aug 2003 10:30:09 -0400 From: root To: david.mentre@wanadoo.fr -Cc: axiom-developer@nongnu.org, advi@pauillac.inria.fr, daly@idsi.net, axiom-mail@nongnu.org Subject: Re: [Axiom-developer] ADVI browser +Cc: advi@pauillac.inria.fr David, @@ -3796,7 +3744,6 @@ generality in the long term. Date: Wed, 20 Aug 2003 15:23:32 +0200 From: David MENTRE To: daly@idsi.net -Cc: axiom@tenkan.org, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: Automation & algebra lattice Hello Tim, @@ -3834,7 +3781,6 @@ I would be very interested in the lattice you have. Date: Fri, 22 Aug 2003 04:46:21 -0400 From: root To: bill.page1@sympatico.ca -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] RE: Automation & algebra lattice Bill, David, @@ -3856,8 +3802,8 @@ they probably won't get finished this morning :-) Date: Fri, 22 Aug 2003 14:56:10 +0200 (CEST) From: Bertfried Fauser To: root -Cc: axiom-developer@nongnu.org, advi@pauillac.inria.fr Subject: Re: [Axiom-developer] ADVI browser +Cc: advi@pauillac.inria.fr Hi, @@ -3920,8 +3866,7 @@ may be worth to be considered first. \start Date: Wed, 20 Aug 2003 16:42:26 -0400 From: "Bill Page" -To: =?iso-8859-1?Q?'David_Mentr=E9'?= -Cc: axiom-developer@nongnu.org +To: Subject: [Axiom-developer] RE: Automation & algebra lattice David, @@ -3996,8 +3941,8 @@ _files_in_the_download_area.txt Date: 22 Aug 2003 08:16:21 +0200 From: tim@tenkan.org (Tim Daly, Jr.) To: daly@idsi.net -Cc: Jun.Furuse@inria.fr, advi@pauillac.inria.fr, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: ADVI/Axiom connection +Cc: Jun.Furuse@inria.fr, advi@pauillac.inria.fr root writes: @@ -4060,8 +4005,8 @@ string.spad. I don't yet know the cure. Date: Fri, 22 Aug 2003 14:15:46 -0400 From: root To: Bertfried.Fauser@uni-konstanz.de -Cc: advi@pauillac.inria.fr, axiom-developer@nongnu.org, daly@idsi.net Subject: Re: [Axiom-developer] ADVI browser +Cc: advi@pauillac.inria.fr Bertfried, @@ -4171,7 +4116,6 @@ need to do much more. Date: 22 Aug 2003 16:17:01 -0400 From: Camm Maguire To: "Bill. Page1 (E-mail)" -Cc: axiom-developer@nongnu.org, 'root' Subject: Re: [Axiom-developer] compiling the algebra files with gcl Greetings! Is anyone interested in me releasing an experimental @@ -4334,7 +4278,6 @@ Take care, Date: 22 Aug 2003 16:06:11 -0400 From: Camm Maguire To: daly@idsi.net -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Re: generalized makefile rules Greetings! Please forgive if this is a repost -- having some email @@ -4375,7 +4318,6 @@ root writes: Date: Fri, 22 Aug 2003 21:03:11 -0400 From: root To: bill.page1@sympatico.ca -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] RE: Automation & algebra lattice Bill, @@ -4388,7 +4330,6 @@ compile Axiom? Date: Fri, 22 Aug 2003 21:38:52 -0400 From: "Bill Page" To: -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] RE: Automation & algebra lattice Tim, @@ -4438,9 +4379,9 @@ Bill Page. ----- Original Message ----- From: "root" To: -Cc: ; Sent: Friday, August 22, 2003 9:03 PM Subject: Re: [Axiom-developer] RE: Automation & algebra lattice +Cc: > Bill, @@ -4453,7 +4394,6 @@ Subject: Re: [Axiom-developer] RE: Automation & algebra lattice Date: Fri, 22 Aug 2003 22:03:47 -0400 From: "Bill Page" To: , "David MENTRE" -Cc: axiom@tenkan.org, axiom-developer@nongnu.org Subject: [Axiom-developer] dependency visualization with VCG David, @@ -4520,7 +4460,6 @@ Bill Page. Date: Sat, 23 Aug 2003 04:50:26 -0400 From: root To: bill.page1@sympatico.ca -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] mingw re: mingw. thanks. @@ -4583,8 +4522,8 @@ consider this a bug. Date: Sat, 23 Aug 2003 05:23:19 -0400 From: root To: camm@enhanced.com -Cc: axiom-developer@nongnu.org, bill.page1@sympatico.ca, daly@idsi.net Subject: Re: [Axiom-developer] compiling the algebra files with gcl +Cc: bill.page1@sympatico.ca Camm, @@ -4609,7 +4548,6 @@ so he's "the expert" :-) Date: Sat, 23 Aug 2003 05:18:22 -0400 From: root To: bill.page1@sympatico.ca -Cc: axiom-developer@nongnu.org, daly@idsi.net, axiom@tenkan.org Subject: [Axiom-developer] Re: dependency visualization with VCG Bill, @@ -5818,7 +5756,6 @@ Fr Date: Sat, 23 Aug 2003 04:48:12 -0400 From: root To: weiss@uni-mainz.de -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: Re: [Axiom-developer] string.spad Yes, I see that the parser expands left hand sides and *I* do consider it @@ -5830,8 +5767,8 @@ stack overflow which is not a reasonable failure mode of a compiler. Date: Sat, 23 Aug 2003 05:28:10 -0400 From: root To: camm@enhanced.com -Cc: axiom-developer@nongnu.org, bill.page1@sympatico.ca, daly@idsi.net Subject: [Axiom-developer] Stack overflow problem +Cc: bill.page1@sympatico.ca Camm, @@ -5859,7 +5796,6 @@ when debugging stack overflows as :bt will crash GCL). Date: Sat, 23 Aug 2003 06:07:29 -0400 From: root To: bill.page1@sympatico.ca -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] graphing the lattice More thought about this subject after closing my eyes for the evening: @@ -5889,8 +5825,8 @@ that you only create plane[2] when a crossing occurs in plane[1]. Date: Sat, 23 Aug 2003 11:43:52 +0200 From: "Weiss, Juergen" To: , -Cc: axiom-developer@nongnu.org, bill.page1@sympatico.ca Subject: [Axiom-developer] RE: Stack overflow problem +Cc: bill.page1@sympatico.ca I have not really checked it, only looked at the code. In compiler.boot the function compMacro calls the @@ -5938,7 +5874,6 @@ argument. This seems to be wrong. Date: 24 Aug 2003 21:29:45 -0400 From: Bill Page To: daly@idsi.net -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] RE: Automation & algebra lattice Tim, @@ -6007,7 +5942,6 @@ Bill Page. Date: Sun, 24 Aug 2003 21:57:28 -0400 From: root To: bill.page1@sympatico.ca -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: Re: [Axiom-developer] RE: Automation & algebra lattice well, several comments. @@ -6076,7 +6010,6 @@ a single lattice level. Date: Sun, 24 Aug 2003 23:11:39 -0400 From: root To: Daniel.Lazard@lip6.fr -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] Axiom and the Lazard-Moreno Solving Package Daniel, @@ -6094,7 +6027,6 @@ add it to the open source version of the system? Date: 24 Aug 2003 22:00:33 -0400 From: Bill Page To: daly@idsi.net, Juergen Weiss -Cc: axiom-developer@nongnu.org Subject: [Axiom-developer] Patch to Juergen's Makefile Here is a patch to Juergen's Makefile to eliminate unnecessary @@ -6129,7 +6061,6 @@ in the dependency graph. Date: Mon, 25 Aug 2003 10:46:46 +0200 From: "Weiss, Juergen" To: , -Cc: axiom-developer@nongnu.org Subject: RE: [Axiom-developer] RE: Automation & algebra lattice Some domains may be preloaded at compile time of @@ -6142,7 +6073,6 @@ algebra modules. > From: root [mailto:daly@idsi.net] > Sent: Monday, August 25, 2003 3:57 AM > To: bill.page1@sympatico.ca -> Cc: axiom-developer@nongnu.org; daly@idsi.net > Subject: Re: [Axiom-developer] RE: Automation & algebra lattice > > @@ -6214,8 +6144,8 @@ algebra modules. Date: Tue, 26 Aug 2003 12:39:51 -0400 From: root To: kortenkamp@inf.fu-berlin.de -Cc: axiom@tenkan.org, axiom-developer@nongnu.org, daly@idsi.net, tim@tenkan.org Subject: [Axiom-developer] Re: axiom letter +Cc: tim@tenkan.org Ulli, @@ -6253,7 +6183,6 @@ start interpsys and type: Date: Tue, 26 Aug 2003 20:31:51 +0200 From: David MENTRE To: "Bill Page" -Cc: axiom-developer@nongnu.org Subject: [Axiom-developer] Re: dependency visualization with VCG Hi Bill, @@ -6302,7 +6231,6 @@ http://www.tulip-software.org/ Date: Tue, 26 Aug 2003 15:55:27 -0400 From: "Page, Bill" To: "'daly@idsi.net'" , Juergen Weiss -Cc: axiom-developer@nongnu.org Subject: RE: [Axiom-developer] interval.spad The compile of interval.spad seems to work on my @@ -6894,7 +6822,6 @@ Finished compiling = Date: Tue, 26 Aug 2003 23:08:35 +0200 From: "Weiss, Juergen" To: "Bill. Page1 (E-mail)" , -Cc: axiom-developer@nongnu.org Subject: RE: [Axiom-developer] interval.spad There is that strange error message of the C compiler in the log file... @@ -6937,7 +6864,6 @@ There is that strange error message of the C compiler in the log file... Date: Tue, 26 Aug 2003 17:43:48 -0400 From: root To: bill.page1@sympatico.ca -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: Re: [Axiom-developer] interval.spad Bill, @@ -6954,7 +6880,6 @@ Tim Date: Tue, 26 Aug 2003 18:07:01 -0400 From: "Page, Bill" To: "'daly@idsi.net'" -Cc: axiom-developer@nongnu.org Subject: RE: [Axiom-developer] interval.spad Tim, @@ -7019,7 +6944,6 @@ Bill Page. Date: Tue, 26 Aug 2003 18:52:18 -0400 From: root To: bill.page1@sympatico.ca -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: Re: [Axiom-developer] interval.spad Yeah, this strangeness is something I'm chasing. @@ -7034,7 +6958,6 @@ Tim Date: Wed, 27 Aug 2003 03:17:06 -0400 From: "Page, Bill" To: "'David MENTRE'" -Cc: axiom-developer@nongnu.org Subject: [Axiom-developer] RE: dependency visualization with VCG David, @@ -7203,7 +7126,6 @@ Bill Page. Date: Wed, 27 Aug 2003 03:34:08 -0400 From: root To: bill.page1@sympatico.ca -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] RE: dependency visualization with VCG With respect to the notion of optimizing the domain we choose for @@ -7227,8 +7149,8 @@ graph theory or any other theory yet. Date: 27 Aug 2003 17:19:07 -0400 From: Camm Maguire To: daly@idsi.net -Cc: axiom-developer@nongnu.org, bill.page1@sympatico.ca, gcl-devel@gnu.org Subject: [Axiom-developer] Re: Stack overflow problem +Cc: bill.page1@sympatico.ca Greetings! @@ -7266,8 +7188,8 @@ Take care, Date: 27 Aug 2003 17:29:38 -0400 From: Camm Maguire To: daly@idsi.net -Cc: axiom-developer@nongnu.org, bill.page1@sympatico.ca, gcl-devel@gnu.org Subject: Re: [Axiom-developer] compiling the algebra files with gcl +Cc: bill.page1@sympatico.ca Greetings! @@ -7317,8 +7239,8 @@ Whatever you think is best of course. Date: Thu, 28 Aug 2003 05:24:21 -0400 From: root To: camm@enhanced.com -Cc: axiom-developer@nongnu.org, daly@idsi.net, gcl-devel@gnu.org, bill.page1@sympatico.ca Subject: Re: [Axiom-developer] compiling the algebra files with gcl +Cc: bill.page1@sympatico.ca Camm, @@ -7357,7 +7279,6 @@ off mnt, move it anywhere, and have a working Axiom image. Date: Thu, 28 Aug 2003 20:18:19 +0200 From: David MENTRE To: Tim Daly , daly@idsi.net -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] compiling the algebra files with gcl Hello Tim, @@ -7387,7 +7308,6 @@ My .02 euros. Date: 28 Aug 2003 19:28:13 -0400 From: Bill Page To: Martin RUBEY -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] Re: dependency visualization with VCG Martin, @@ -7522,7 +7442,6 @@ On Tue, 2003-08-26 at 15:25, Martin RUBEY wrote: Date: Thu, 28 Aug 2003 21:49:33 -0400 From: root To: axiom-developer@nongnu.org, axiom-mail@nongnu.org -Cc: axiom@tenkan.org, daly@idsi.net Subject: [Axiom-developer] Axiom Availability Announcement *, @@ -7607,7 +7526,6 @@ Questions, comments, and snide remarks can be sent to me at: Date: Thu, 28 Aug 2003 20:46:40 -0700 (PDT) From: C Y To: daly@idsi.net, axiom-developer@nongnu.org, axiom-mail@nongnu.org -Cc: axiom@tenkan.org Subject: [Axiom-developer] Re: [Axiom-mail] Axiom Availability Announcement --- root wrote: @@ -7655,7 +7573,6 @@ NOTE: when prompted for a password for anoncvs simply press the Enter key From: Jason White Date: Fri, 29 Aug 2003 19:26:13 +1000 To: daly@idsi.net -Cc: axiom-developer@nongnu.org, axiom-mail@nongnu.org Subject: Re: [Axiom-developer] sigh Tim Daly writes: @@ -7670,7 +7587,6 @@ Only the CVSROOT was wrong. It should be: Date: Fri, 29 Aug 2003 05:29:39 -0400 From: root To: david.mentre@wanadoo.fr -Cc: axiom@tenkan.org, axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] AXIOM platform naming conventions David, @@ -7704,7 +7620,6 @@ porting (e.g. does ADVI run on windows?). Date: Fri, 29 Aug 2003 19:06:54 +0200 From: David MENTRE To: daly@idsi.net -Cc: axiom@tenkan.org, axiom-developer@nongnu.org Subject: [Axiom-developer] Re: AXIOM platform naming conventions Hello Tim, @@ -7748,7 +7663,6 @@ different API (windows platform). Date: 29 Aug 2003 13:26:46 -0400 From: Bill Page To: daly@idsi.net -Cc: axiom@tenkan.org, axiom-developer@nongnu.org, axiom-mail@nongnu.org Subject: Re: [Axiom-developer] Axiom Availability Announcement Tim, @@ -7828,7 +7742,6 @@ On Thu, 2003-08-28 at 21:49, root wrote: Date: Fri, 29 Aug 2003 17:02:34 -0400 From: root To: bill.page1@sympatico.ca -Cc: axiom@tenkan.org, axiom-developer@nongnu.org, daly@idsi.net, axiom-mail@nongnu.org Subject: [Axiom-developer] apply.boot autoload Bill, @@ -7843,7 +7756,6 @@ Check your console output for the apply.boot compile and see why it failed. Date: Fri, 29 Aug 2003 17:20:50 -0400 From: "Bill Page" To: -Cc: axiom@tenkan.org, axiom-developer@nongnu.org, axiom-mail@nongnu.org Subject: [Axiom-developer] RE: apply.boot autoload Tim, @@ -7904,7 +7816,6 @@ Bill Page. Date: 29 Aug 2003 17:58:14 -0400 From: Bill Page To: daly@idsi.net -Cc: axiom@tenkan.org, axiom-developer@nongnu.org, axiom-mail@nongnu.org Subject: Re: [Axiom-developer] RE: apply.boot autoload Tim, @@ -7939,7 +7850,6 @@ On Fri, 2003-08-29 at 17:20, Bill Page wrote: Date: Fri, 29 Aug 2003 18:26:37 -0400 From: root To: bill.page1@sympatico.ca -Cc: axiom@tenkan.org, axiom-developer@nongnu.org, daly@idsi.net, axiom-mail@nongnu.org Subject: Re: [Axiom-developer] RE: apply.boot autoload Bill, @@ -7951,8 +7861,8 @@ we can look over the details. Date: Sat, 30 Aug 2003 00:17:05 -0400 From: William Sit To: daly@idsi.net -Cc: axiom-developer@nongnu.org, bill.page1@sympatico.ca Subject: Re: [Axiom-developer] RE: dependency visualization with VCG +Cc: bill.page1@sympatico.ca Tim: @@ -8113,7 +8023,6 @@ Any advice? Date: Sat, 30 Aug 2003 00:34:08 -0400 From: root To: axiom-developer@nongnu.org -Cc: daly@idsi.net Subject: [Axiom-developer] running? If anyone gets the system to compile and run please let me know. @@ -8122,8 +8031,8 @@ If anyone gets the system to compile and run please let me know. Date: Sat, 30 Aug 2003 00:33:04 -0400 From: root To: wyscc@cunyvm.cuny.edu -Cc: axiom-developer@nongnu.org, daly@idsi.net, bill.page1@sympatico.ca Subject: Re: [Axiom-developer] RE: dependency visualization with VCG +Cc: bill.page1@sympatico.ca Bill Sit, @@ -8148,7 +8057,6 @@ that ate 8 months of my life. Date: 30 Aug 2003 02:38:13 -0400 From: Bill Page To: daly@idsi.net -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] running? Tim, @@ -8180,7 +8088,6 @@ On Sat, 2003-08-30 at 00:34, root wrote: Date: 30 Aug 2003 04:09:01 -0400 From: Bill Page To: daly@idsi.net -Cc: axiom-developer@nongnu.org Subject: Re: [Axiom-developer] RE: dependency visualization with VCG Tim, William; @@ -8327,7 +8234,6 @@ On Sat, 2003-08-30 at 00:33, root wrote: Date: Sat, 30 Aug 2003 10:12:11 -0400 From: root To: bill.page1@sympatico.ca -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: Re: [Axiom-developer] RE: dependency visualization with VCG > In this respect the Axiom code is not strictly "imperative" but @@ -8463,8 +8369,8 @@ discussion there. I'm very interested in the result. Date: Sat, 30 Aug 2003 11:21:22 -0400 From: William Sit To: daly@idsi.net -Cc: axiom-developer@nongnu.org, bill.page1@sympatico.ca Subject: Re: [Axiom-developer] RE: dependency visualization with VCG +Cc: bill.page1@sympatico.ca Tim and Bill: @@ -8557,7 +8463,6 @@ debugging tasks. Date: 30 Aug 2003 16:34:56 -0400 From: Bill Page To: daly@idsi.net -Cc: axiom-developer@nongnu.org Subject: [Axiom-developer] Re: mingw Tim, @@ -8602,7 +8507,6 @@ On Sat, 2003-08-30 at 00:20, root wrote: Date: 30 Aug 2003 16:50:51 -0400 From: Bill Page To: daly@idsi.net -Cc: axiom-developer@nongnu.org, axiom-mail@nongnu.org Subject: [Axiom-developer] Re: [Axiom-mail] new mailing list Tim, @@ -8634,7 +8538,6 @@ On Sat, 2003-08-30 at 15:57, root wrote: Date: Sat, 30 Aug 2003 16:55:03 -0400 From: root To: bill.page1@sympatico.ca -Cc: axiom-developer@nongnu.org, daly@idsi.net, axiom-mail@nongnu.org Subject: [Axiom-developer] Re: [Axiom-mail] new mailing list I was able to subscribe to the list without a problem. @@ -8644,7 +8547,6 @@ Try once more and let me know if you succeed or fail. Date: 30 Aug 2003 17:06:18 -0400 From: Bill Page To: daly@idsi.net -Cc: axiom-developer@nongnu.org, axiom-mail@nongnu.org Subject: [Axiom-developer] Re: [Axiom-mail] new mailing list Tim, @@ -8691,7 +8593,6 @@ Good job. Date: Sat, 30 Aug 2003 17:16:51 -0400 From: root To: weiss@uni-mainz.de -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: Re: [Axiom-developer] running? Juergen, @@ -8709,7 +8610,6 @@ Let me know the results. Date: Sat, 30 Aug 2003 22:49:56 -0400 From: root To: bill.page1@sympatico.ca -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] interval.spad INTRVL re: lowercase spad files. @@ -8820,7 +8720,6 @@ that don't seem like they belong under CVS control.) Date: 31 Aug 2003 03:10:36 -0400 From: Bill Page To: daly@idsi.net -Cc: axiom-developer@nongnu.org Subject: [Axiom-developer] Re: interval.spad INTRVL Tim, @@ -9004,7 +8903,6 @@ Bill Page. Date: Sun, 31 Aug 2003 03:38:02 -0400 From: root To: bill.page1@sympatico.ca -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] Re: interval.spad INTRVL > > re: lowercase spad files. @@ -9151,7 +9049,6 @@ sleep? at a time like this? where's your dedication, man! Why it's only Date: Sun, 31 Aug 2003 10:07:29 +0200 From: "Weiss, Juergen" To: , -Cc: axiom-developer@nongnu.org Subject: RE: [Axiom-developer] Re: interval.spad INTRVL Axiom remembers in the database files, if the source was an aldor @@ -9246,8 +9143,8 @@ database, it does not work. Did not work for me either ;-). Date: Sun, 31 Aug 2003 04:14:33 -0400 From: root To: weiss@uni-mainz.de -Cc: axiom-developer@nongnu.org, daly@idsi.net, bill.page1@sympatico.ca Subject: Re: [Axiom-developer] Re: interval.spad INTRVL +Cc: bill.page1@sympatico.ca > Axiom remembers in the database files, if the source was an aldor > or spad file and behaves differently. So if you distributed the old @@ -9261,7 +9158,6 @@ at least i get to re-document it. poetic justice, eh? :-) Date: Sun, 31 Aug 2003 11:07:49 +0200 From: "Weiss, Juergen" To: "Bill Page" , -Cc: axiom-developer@nongnu.org Subject: [Axiom-developer] Aldor files -- was: interval.spad INTRVL > This reminds me to ask about the other ALDOR files that are @@ -9347,7 +9243,6 @@ initial porting to for example Windows much easier. Date: Sun, 31 Aug 2003 11:49:42 +0200 From: "Weiss, Juergen" To: "Weiss, Juergen" , "Bill Page" , -Cc: axiom-developer@nongnu.org Subject: RE: [Axiom-developer] Aldor files -- was: interval.spad INTRVL > A few thoughts: @@ -9379,7 +9274,6 @@ that some more recent files have been written in common lisp. Date: 31 Aug 2003 08:35:30 -0400 From: Bill Page To: daly@idsi.net -Cc: axiom-developer@nongnu.org Subject: [Axiom-developer] INTCAT INTRVL and SIGNEH Tim, @@ -9462,7 +9356,6 @@ Juergen's list include some that are obsolete? Date: 31 Aug 2003 10:30:52 -0400 From: Bill Page To: daly@idsi.net -Cc: axiom-developer@nongnu.org Subject: [Axiom-developer] No lower case files patch Tim, @@ -9488,7 +9381,6 @@ cope... . Date: Sun, 31 Aug 2003 13:41:55 -0400 From: root To: bill.page1@sympatico.ca -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: Re: [Axiom-developer] INTCAT INTRVL and SIGNEH Bill, @@ -9500,7 +9392,6 @@ src/share/algebra. Date: Sun, 31 Aug 2003 19:59:33 +0200 From: "Weiss, Juergen" To: "Bill Page" , -Cc: axiom-developer@nongnu.org Subject: RE: [Axiom-developer] INTCAT INTRVL and SIGNEH Actually there was no magic involved. If you have @@ -9606,7 +9497,6 @@ did not generate anything. Date: Sun, 31 Aug 2003 15:55:34 -0400 From: root To: weiss@uni-mainz.de -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] Axiom Language and History tidbits. Juergen, @@ -9762,7 +9652,6 @@ Tim, the wizard (from Monty Python) Date: Sun, 31 Aug 2003 22:55:16 -0400 From: root To: bill.page1@sympatico.ca -Cc: axiom-developer@nongnu.org, daly@idsi.net Subject: [Axiom-developer] Re: No lower case files patch Thanks for the patch file. @@ -9772,7 +9661,6 @@ Did you get a chance to CVS the *.daase files? Date: 31 Aug 2003 22:37:07 -0400 From: Bill Page To: daly@idsi.net -Cc: axiom-developer@nongnu.org Subject: [Axiom-developer] Re: No lower case files patch --=-60OPaxFfLcp8qTKvunBC diff --git a/book/2003-09.txt b/book/2003-09.txt new file mode 100644 index 0000000..c452602 --- /dev/null +++ b/book/2003-09.txt @@ -0,0 +1,17994 @@ +\start +Date: 01 Sep 2003 00:18:50 -0400 +From: Bill Page +To: daly@idsi.net +Subject: Re: [Axiom-developer] Re: No lower case files patch + +Now also available here: + +https://savannah.gnu.org/patch/index.php?func=detailpatch&patch_id=1870&group_id=11 + + +On Sun, 2003-08-31 at 22:37, Bill Page wrote: +> Oops. Here's the file. +> +> ______________________________________________________________________ + +\start +Date: 01 Sep 2003 00:28:29 -0400 +From: Bill Page +To: daly@idsi.net +Subject: Re: [Axiom-developer] INTCAT INTRVL and SIGNEH + +Tim, + +Can you give me a quick "how to check in files" for dummies? +I found the documentation on Savannah and elsewere oddly +obscure. + +On my system I have a copy of the original files at + + /home/wspage/projects/axiom + +I also have a copy of the whole set of files at + + /home/wspage/project/axiom2 + +I made changes to files in axiom2 including overwriting the +src/share/algebra/* files. And then I built the new axiom +there. + +Now: + + step 1 ?? + step 2 ?? + ... + +Thanks. + + +On Sun, 2003-08-31 at 13:41, root wrote: +> Bill, +> +> Use cvs to check in your .daase files over the files that exist in +> src/share/algebra. +> +> Tim + +\start +Date: Mon, 1 Sep 2003 01:25:56 -0400 +From: root +To: bill.page1@sympatico.ca +Subject: [Axiom-developer] CVS tutorial for Developers + +Bill, + +CVS is painful to figure out which is one reason why I haven't been +using it. However, I've taken the plunge. Here's the whole of what +I've learned: + +I maintain a directory where I work (call this WORK) + /home/axiomgnu/new +and a directory for CVS (call this GOLD) + /axiom + +When I want to export a set of changes I do the following steps: + +0) MAKE SURE THE ~/.ssh/config FILE IS CORRECT: + + (you should only need to do this once. + you need to change the User= field) + +Host *.gnu.org + Protocol=1 + Compression=yes + CompressionLevel=3 + User=axiom + StrictHostKeyChecking=no + PreferredAuthentications=publickey,password + NumberOfPasswordPrompts=2 + + +1) MAKE SURE THE SHELL VARIABLES ARE OK: + + (normally set in .bashrc) + +export CVS_RSH=ssh +export CVSROOT=:pserver:axiom@subversions.gnu.org:/cvsroot/axiom + ^^^^^ + change this to your id + +2) MAKE SURE YOU'RE LOGGED IN: + + (i keep a session open all the time but it doesn't seem to care + if you login again. i'm not sure what login does, actually) + +cvs login + +3) IF YOU WANT A FRESH COPY FOR THE FIRST TIME OR AT ANY TIME: + + (you only need to do this the first time but you can erase + your whole axiom subtree and refresh it again doing this. + + note that i work as root so i can update /. Most rational + people are smarter than me and work as a regular user so + you have to change the instructions for cd. But you knew that) + +cd / +cvs co axiom + + +4) MAKE SURE THAT GOLD, MY LOCAL CVS COPY, IS UP TO DATE: + + (i maintain an exact copy of the CVS repository and only make + changes to it when i want to export the changes. that way i + won't export my working tree by accident. my working tree is + normally badly broken. + + The update command makes sure that you have all of the changes + other people might have made and checked in. you have to merge + your changes carefully so you don't step on other people's work. + So be sure to run update BEFORE you copy files to GOLD) + +cd /axiom +cvs update + +5) COPY THE CHANGED FILES FROM THE WORK TREE TO THE GOLD TREE: + + (This is an example for updating the *.daase files. + You basically are changing your GOLD tree to reflect the + way you want CVS to look once you check in all of the files. + Since you want to check in your new daase files this will do it) + +cp /home/axiomgnu/new/src/share/algebra/*.daase /axiom/src/share/algebra + +6) IF A FILE IS NEW (e.g. src/interp/foo.lisp.pamphlet) THEN: + + (If you create a file you need to "put it under CVS control" + CVS only cares about files you explicitly add or delete. + If you make a new file and copy it to GOLD you need to do this. + + Don't do the "cvs add" in your WORK directory. The cvs add + command updates the files in the CVS directory and you won't + have them in your WORK directory. + + Notice that you do the "cvs add" in the directory where the + file was added (hence, the cd commands). + +cd /axiom/src/interp +cvs add -m"some pithy comment" foo.lisp.pamphlet +cd /axiom + +7) IF A FILE IS DELETED (e.g. src/interp/foo.lisp.pamphlet) THEN: + + (you have to delete the file from the GOLD directory BEFORE you + do a "cvs remove". The "cvs remove" will update the files in + the CVS directory + + Notice that you do the "cvs remove" in the directory where the + file was deleted (hence, the cd commands). + +cd /axiom/src/interp +rm foo.lisp.pamphlet +cvs remove foo.lisp.pamphlet +cd /axiom + +8) IF A DIRECTORY IS NEW (e.g. foodir) THEN: + + (this will put "foodir" under CVS control. It will also create + foodir/CVS as a directory with a bunch of control files in the + foodir/CVS directory. Don't mess with the control files. + + (there are a bunch of special rules about directories. + empty directories are not downloaded by update.) + + (NOTE: THERE IS NO WAY TO DELETE A DIRECTORY) + +cd /axiom/src +mkdir foodir +cvs add -m "pithy comment" foodir +cd /axiom + +9) edit CHANGELOG: + + (The CHANGELOG is there so we have some clue what changed. + CVS also keeps track of this but I haven't figured out the + details yet so the CHANGELOG is a manual file for the moment + + CHANGELOG is already under CVS control so it will get uploaded + when you do the checkin.) + +cd /axiom +emacs -nw CHANGELOG + (add a date, initials, and pithy comment, save it, and exit) + +9) CHECK IN THE CHANGES + + (This will actually change the savannah CVS repository. + + The "cvs ci" command will recurse thru all of the lower + subdirectories and look for changed files. It will change + the host versions of those files to agree with your copy. + If somebody else has changed a file while you were busy + screwing around then the checkin MAY complain (if it can't + merge the changes) + +cd /axiom +cvs ci -m"pithy comment" + +Congrats. You've now done your first real damage to the production +image. Please be very careful as this is a world-readable copy and +we don't want to ship nonsense. Test EVERYTHING, no matter how trivial +the change, BEFORE you upload. But I didn't need to tell you that :-) + +\start +Date: Mon, 1 Sep 2003 10:29:28 +0100 +From: Mike Dewar +To: Bill Page +Subject: Re: [Axiom-developer] Re: interval.spad INTRVL + +On Sun, Aug 31, 2003 at 03:10:36AM -0400, Bill Page wrote: + +> This reminds me to ask about the other ALDOR files that are +> included in the build but apparently not compiled. Are you +> planning that these will at some point be compiled by ALDOR? +> (which is now a separate non-BSD licensed? package) How +I think the only interesting Aldor files apart from interval.as are for +producing Open Inventor geometry files, and whether you need them or not +depends on what your plans for graphics are. + +> difficult is it for a user to encorporate ALDOR if they so +> wished? There would likely be a considerable speed and memory +> advantage for certain routines. Right? +Not necessarily because the Aldor compiler generates Lisp code which is +then incorporated into a running Axiom in the usual way. The +alternative would be to use dynamic linking to link an Aldor shared +library into a running Axiom, which might well give the kind of +improvements that you suggest. However to do this efficiently you might +need to tweak the two garbage collectors (Axiom's and Aldor's) to work +together, so that you could handle e.g. an Aldor list of Axiom objects. +There is some work being done on this at ORCCA, except that the "host +system" is Maple not Axiom. + +> Another thing that has happened since Aldor separated from +> Axiom is that a very large part of the algegbra has been +> re-written and apparently improved. Do you think that in +> the medium to long term the Axiom and Aldor algebra libraries +> should be made compatible? How practical (and legal?) would +The new Aldor libraries aren't really drop-in replacaments for the Axiom +ones, and are designed with particular purposes in mind (namely +Polynomial arithmetic and ODE solving). There is a fundamental +difference between Aldor and Axiom which is that the former allows for +post-facto extensions of constructors, and that effects the design of +the libraries. In Axiom you have to try to design the final version of +anything because once implemented it is set in stone, while in Aldor you +can always add new exports as required. So I suspect that you might +find that the existing Aldor libraries are missing things which Axiom +re;ies on. + +> should be made compatible? How practical (and legal?) would +> it be for Axiom (at least as a option) to implement the +> same library. Is it difficult to convert to spad. Or is +> there any advantage if ALDOR can be easily linked with +> Axiom? +Its possible but non-trivial. We had a long-term goal of re-writing +parts of Axiom so that it could act as an interactive front-end to Aldor +libraries. It turned out that to build an empty Axiom interpreter was +quite hard since there were lots of hidden dependencies on algebra code. +However I don't think any of the problems would have been +insurmountable. + +> > re: SIGNEF +> > +> > The nature of that problem is that SIGNEF uses INTRVL. +> > +This is all my fault since I wrote that code :-) We had a long-standing +bug that Axiom couldn't integrate expressions with floating point +coefficients and this code fixed that. + +\start +Date: Mon, 1 Sep 2003 10:16:13 -0400 +From: root +To: axiom-developer@nongnu.org +Subject: [Axiom-developer] databases vs NRLIBs + +*, + +The databases are built from the .KAF files in the .NRLIB directories. +(.KAF files are random access files). + +INTERP.EXPOSED is a file that names all of the CDPs (Category, Domain, +and Packages) and classifies them. Only some CDPs are exposed because +most are used to implement algebra and are not intended to be user level +functions. Exposing all of the functions causes much ambiguity. + +There is a function called libcheck (see src/interp/util.lisp.pamphlet) +that will check NRLIBs vs INTERP.EXPOSED. This is only partially +functional as I see that changes were made to the system which broke +this function. + +The libcheck function requires an absolute pathname to the int directory +so call it thus: + +--> )lisp (libcheck "/axiom/int/algebra") + +The main reason this function is broken is that the system now gets +exposure information from src/algebra/exposed.lsp.pamphlet. It appears +that INTERP.EXPOSED.pamphlet is no longer used (although I made sure +that both files have the same information). I'm going to modify libcheck +to use exposed.lsp in the future and eliminate all references in the +system to INTERP.EXPOSED. + +For the moment, however, the libcheck function is quite useful. +It used to be run during system build because I frequently ran into +database problems and this function would alert me to that fact. +I'll add it back into the Makefile once I elide INTERP.EXPOSED. + +\start +Date: Mon, 1 Sep 2003 11:12:54 -0400 +From: root +To: weiss@uni-mainz.de, axiom-developer@nongnu.org +Subject: [Axiom-developer] DHMATRIX + +DHMATRIX is the domain I've chosen to use as my pamphlet example. +I'll be making most of the experimental changes in that domain. +I thought it built properly. I'll check into the problem. + +\start +Date: Mon, 1 Sep 2003 17:32:33 +0200 +From: "Weiss, Juergen" +To: , +Subject: [Axiom-developer] RE: DHMATRIX + +No, I think it will probably build ok. +It does not have lines like +<>= +so my script to extract dependency information +does not work. + +> -----Original Message----- +> From: root [mailto:daly@idsi.net] +> Sent: Monday, September 01, 2003 5:13 PM +> To: Weiss, Juergen; axiom-developer@nongnu.org +> Subject: DHMATRIX +> +> +> +> DHMATRIX is the domain I've chosen to use as my pamphlet example. +> I'll be making most of the experimental changes in that domain. +> I thought it built properly. I'll check into the problem. +> + +\start +Date: Mon, 1 Sep 2003 11:39:37 -0400 +From: root +To: weiss@uni-mainz.de +Subject: [Axiom-developer] Re: DHMATRIX + +I'll fix the <>= issue. -- t + +\start +Date: 01 Sep 2003 16:51:35 -0400 +From: Bill Page +To: daly@idsi.net +Subject: [Axiom-developer] Re: [patch #1872] [Patch #1872] No lowercase.spad files + +Tim, + +Yes, I understand about "tagging" and versions in CVS (I think). +The reason I uploaded the this as a patch was because your earlier +email implied that you might not want to eliminate those files +because you use/used? them for testing. So I thought if someone +really wanted it, they could download it and apply it to +algebra/Makefile.pamphlet themselves. + +But after uploading the file to the patches section on Savannah +(were originally I also saw several other initial patches dating +back several months), I received a message from Babar saying +that he had "closed" (what does that mean?) the patch because +it did not seem to be related to Savannah. But I thought I was +submitting it for Axiom, not the Savannah system itself. (See +attached email below.) So I tried again this morning to upload +it to the right place. + +----- + +Thank you very much for the CVS tutorial. Do you know that I +could not find any documentation about "checkin" anywhere +in the CVS help files. I saw ci but it was in the context of +"importing" which didn't sound right. I can't believe how +bad the documentation of CVS really is... Your notes were +very clear. I think we should make them available for +download on the Axiom developer web page and we should +expand it as we learn and use more features of CVS. + +----- + +About uploading and managing files in the "files section. +The basic information is at + +https://savannah.gnu.org/faq/?group_id=11&question=How_do_I_add_files_in_the_download_area.txt + +but there is an error in the example. It says: + + For example, using rsync: + cd /opt/myproject/download + scp -1 myfile developername@savannah.nongnu.org:/upload/myproject + +but the example is using scp not rsync! It is possible to use scp +but I found it rather awkward and furthermore you can't use scp +to delete files. rsyn is much better. + +rsync is rather like a simplified CVS. What it does is to keep +two directories, usually one remote and one local, in "sync" i.e. +it copies files from the "source" directory to the "target" +directory (and sub-directories if you say so) in an attempt to +make them the same with a mimimum amount of data transfer. + +rsync access to Savannah uses the same secure ssh protocol as +developer access to the CVS. You cat add + + export RSYNC_RSH=ssh + +to .bashrc or you can specify --rsh=ssh on the command line. + +I setup a directory called uploads to hold the things I want +to upload (or download) from the Savannah files section. +Then + +1) rsync --rsh=ssh --recursive +billpage1@savannah.nongnu.org:/upload/axiom ~/uploads + +will copy all the files from Savannah to your uploads directory. +Of course use your own user name instead of billpage1. + +2) rsync --rsh=ssh --recursive ~/uploads +billpage1@savannah.nongnu.org:/upload/axiom + +will transfer from your uploads directory to the axiom files +directory on Savannah. + +The naming of the directories and files in the upload directory +is very important because Savannah expects a particular naming +scheme to make things appear on the file list. For example, the +file that I uploaded has the following name + + ~/uploads/axiom/algebra_depends.pkg/1.0.0/algebra_depends-1.0.0.tar.gz + +On the Savannah file list it appears with the heading + + algebra_depends + +and sub-heading + + 1.0.0 + +(Don't forget the .pkg in the first subdirectory!) If you don't use +this naming convention, the files are still uploaded but they may +not appear in the list. + +To delete files: + +3) First make sure you have an up to date copy of all the +files in the Axiom file section in your *local* uploads +directory, including the file(s) you want to delete. If +necessary use step 1) above + +4) Then delete selected files (and/or directorys) from your +local uploads directory. + +5) Finally use a command like step 2) except include the +--delete option + + rsync --rsh=ssh --recursive --delete ~/uploads +billpage1@savannah.nongnu.org:/upload/axiom + +rsync has lots of options. Some you might want to use are + + -z to tell rsync to use compression (saves time on a slow + network link) + -v verbose mode for more information about what is going + on + +------ + +If the above instructions work for you, then maybe they should +also be added to the Axiom developer main page (or elsewhere) + +I hope this helps. + +On Mon, 2003-09-01 at 13:32, root wrote: +> Bill, +> +> We don't need to use patches for updates to the core code we control. +> When we have a stable version I need to "tag" the version so it can +> be recovered but, in general, just make changes to the source tree. +> +> Could you tell me how you managed to put files into the file section? +> I want to put a tar.gz version of the sources in the file section. +> + +On Mon, 2003-09-01 at 12:59, Bill Page wrote: +> Dear babar: +> +> This patch belongs to the group +> +> Axiom Computer Algebra System +> +> It was uploaded from page +> +> https://savannah.nongnu.org/patch/?func=addpatch&group=axiom +> +> I don't understand why you have closed it. +> +> Is there a problem with Savannah's patch upload procedure? +> +> Thanks. +> +> Bill Page. +> +> On Mon, 2003-09-01 at 02:49, noreply@savannah.gnu.org wrote: +> > Patch #1870 has been updated. +> > +> > Project: +> > Category: None +> > Status: Closed +> > Summary: No lowercase.spad files +> > +> > Follow-Ups: +> > +> > Date: lun 01.09.2003 08:49 +> > By: babar +> > +> > Comment: +> > This doesn't seems to be related to Savannah project. +> > ------------------------------------------------------- + +\start +Date: 01 Sep 2003 17:08:55 -0400 +From: Bill Page +To: daly@idsi.net +Subject: [Axiom-developer] Re: CVS tutorial for Developers + +Tim, + +I have inserted a few notes below about my experiences with +CVS so far. + +On Mon, 2003-09-01 at 01:25, root wrote: +> Bill, +> +> CVS is painful to figure out which is one reason why I haven't been +> using it. However, I've taken the plunge. Here's the whole of what +> I've learned: +> +> I maintain a directory where I work (call this WORK) +> /home/axiomgnu/new +> and a directory for CVS (call this GOLD) +> /axiom +> +> When I want to export a set of changes I do the following steps: +> +> 0) MAKE SURE THE ~/.ssh/config FILE IS CORRECT: +> +> (you should only need to do this once. +> you need to change the User= field) +> +> Host *.gnu.org +> Protocol=1 +> Compression=yes +> CompressionLevel=3 +> User=axiom +> StrictHostKeyChecking=no +> PreferredAuthentications=publickey,password +> NumberOfPasswordPrompts=2 +> + +This format of config file didn't work for me. I have +been using just + + Protocol 1 + +And this seems to work provided I specify any other +necessary options on the command line. I suppose this +sort of format might be necessary if you use different +protocols for different machines etc. Should there be +tabs before each indented line? + +> +> 1) MAKE SURE THE SHELL VARIABLES ARE OK: +> +> (normally set in .bashrc) +> +> export CVS_RSH=ssh +> export CVSROOT=:pserver:axiom@subversions.gnu.org:/cvsroot/axiom +> ^^^^^ +> change this to your id +> +> 2) MAKE SURE YOU'RE LOGGED IN: +> +> (i keep a session open all the time but it doesn't seem to care +> if you login again. i'm not sure what login does, actually) +> +> cvs login +> + +It does not seem to be necessary for me to log in when I +am using the ssh protocol. Am I missing something? + +> 3) IF YOU WANT A FRESH COPY FOR THE FIRST TIME OR AT ANY TIME: +> +> (you only need to do this the first time but you can erase +> your whole axiom subtree and refresh it again doing this. +> +> note that i work as root so i can update /. Most rational +> people are smarter than me and work as a regular user so +> you have to change the instructions for cd. But you knew that) +> +> cd / +> cvs co axiom +> +> +> 4) MAKE SURE THAT GOLD, MY LOCAL CVS COPY, IS UP TO DATE: +> +> (i maintain an exact copy of the CVS repository and only make +> changes to it when i want to export the changes. that way i +> won't export my working tree by accident. my working tree is +> normally badly broken. +> +> The update command makes sure that you have all of the changes +> other people might have made and checked in. you have to merge +> your changes carefully so you don't step on other people's work. +> So be sure to run update BEFORE you copy files to GOLD) +> +> cd /axiom +> cvs update +> +> 5) COPY THE CHANGED FILES FROM THE WORK TREE TO THE GOLD TREE: +> +> (This is an example for updating the *.daase files. +> You basically are changing your GOLD tree to reflect the +> way you want CVS to look once you check in all of the files. +> Since you want to check in your new daase files this will do it) +> +> cp /home/axiomgnu/new/src/share/algebra/*.daase /axiom/src/share/algebra +> +> 6) IF A FILE IS NEW (e.g. src/interp/foo.lisp.pamphlet) THEN: +> +> (If you create a file you need to "put it under CVS control" +> CVS only cares about files you explicitly add or delete. +> If you make a new file and copy it to GOLD you need to do this. +> +> Don't do the "cvs add" in your WORK directory. The cvs add +> command updates the files in the CVS directory and you won't +> have them in your WORK directory. +> +> Notice that you do the "cvs add" in the directory where the +> file was added (hence, the cd commands). +> +> cd /axiom/src/interp +> cvs add -m"some pithy comment" foo.lisp.pamphlet +> cd /axiom +> +> 7) IF A FILE IS DELETED (e.g. src/interp/foo.lisp.pamphlet) THEN: +> +> (you have to delete the file from the GOLD directory BEFORE you +> do a "cvs remove". The "cvs remove" will update the files in +> the CVS directory +> +> Notice that you do the "cvs remove" in the directory where the +> file was deleted (hence, the cd commands). +> +> cd /axiom/src/interp +> rm foo.lisp.pamphlet +> cvs remove foo.lisp.pamphlet +> cd /axiom +> +> 8) IF A DIRECTORY IS NEW (e.g. foodir) THEN: +> +> (this will put "foodir" under CVS control. It will also create +> foodir/CVS as a directory with a bunch of control files in the +> foodir/CVS directory. Don't mess with the control files. +> +> (there are a bunch of special rules about directories. +> empty directories are not downloaded by update.) +> +> (NOTE: THERE IS NO WAY TO DELETE A DIRECTORY) +> +> cd /axiom/src +> mkdir foodir +> cvs add -m "pithy comment" foodir +> cd /axiom +> +> 9) edit CHANGELOG: +> +> (The CHANGELOG is there so we have some clue what changed. +> CVS also keeps track of this but I haven't figured out the +> details yet so the CHANGELOG is a manual file for the moment +> +> CHANGELOG is already under CVS control so it will get uploaded +> when you do the checkin.) +> +> cd /axiom +> emacs -nw CHANGELOG +> (add a date, initials, and pithy comment, save it, and exit) +> +> 9) CHECK IN THE CHANGES +> +> (This will actually change the savannah CVS repository. +> +> The "cvs ci" command will recurse thru all of the lower +> subdirectories and look for changed files. It will change +> the host versions of those files to agree with your copy. +> If somebody else has changed a file while you were busy +> screwing around then the checkin MAY complain (if it can't +> merge the changes) +> +> cd /axiom +> cvs ci -m"pithy comment" +> + +IMPORTANT + + Check-in seems to take a VERY long time on a slow network +link. (Lots to transfer I suppose.) I am using the command + + cvs ci -m "comments" src/share/algebra + +so that (presumably) only what I want to upload will be +transferred. + + +> Congrats. You've now done your first real damage to the production +> image. Please be very careful as this is a world-readable copy and +> we don't want to ship nonsense. Test EVERYTHING, no matter how trivial +> the change, BEFORE you upload. But I didn't need to tell you that :-) +> + +\start +Date: 01 Sep 2003 17:40:35 -0400 +From: Bill Page +To: daly@idsi.net +Subject: [Axiom-developer] Re: CVS tutorial for Developers + +Well, not so important, I guess since cvs only transfers +things that have changed... + + src/share/algebra + +contains about 16 Mb. of stuff (which is about 4 Mbytes +compressed) That will take a while on a 28.8 modem. I have +very slow upload but pretty fast download (via satellite)... + +It is taking so long that I wonder if the compress option in +the .ssh/config file really does compression? I will try +again with the cvs -z option. + +Cheers, +Bill Page. + +On Mon, 2003-09-01 at 17:08, I wrote: + +> > +> > cd /axiom +> > cvs ci -m"pithy comment" +> > +> +> IMPORTANT +> +> Check-in seems to take a VERY long time on a slow network +> link. (Lots to transfer I suppose.) I am using the command +> +> cvs ci -m "comments" src/share/algebra +> +> so that (presumably) only what I want to upload will be +> transferred. + +\start +Date: Mon, 1 Sep 2003 19:13:30 -0400 +From: root +To: bill.page1@sympatico.ca +Subject: [Axiom-developer] Re: CVS tutorial for Developers + +Bill, + +I got the *.daase files. Thanks. + +re: cvs for developers + +There is a pamphlet I started called src/doc/DeveloperNotes which +is intended to keep track of the various things a developer might +find useful. It is just a collection of emails that I've sent about +various random subjects. I'll add the CVS information there. + +re: compression + +the cvs command will accept -z3 (right after the "cvs" and before +the command thus: (also works on ci, etc). + +cvs -z3 update + +This specifies "level 3" compression, a balance between time and bandwidth. + +re: checkin + +checkin is painfully slow. it took me 15 hours to checkin the original axiom +sources so I feel your pain :-) I presume checkin has to do "transactions" +so it needs to do a lot of back-and-forth traffic. I'm not sure why they +don't use rdiff under the covers but it is always easier to criticize +than to implement :-) + +\start +Date: 01 Sep 2003 20:13:53 -0400 +From: Bill Page +To: daly@idsi.net +Subject: [Axiom-developer] Re: CVS tutorial for Developers + +Tim, + +On Mon, 2003-09-01 at 19:13, you wrote: + +> re: compression +> +> the cvs command will accept -z3 (right after the "cvs" and before +> the command thus: (also works on ci, etc). +> +> cvs -z3 update +> +> This specifies "level 3" compression, a balance between time and bandwidth. +> + +I used just -z on the check-in and it seemed to speed it up +considerably. Apparently the default gzip compression level +these days is -6 (the highest) since cpu is now so much cheaper +than network bandwidth. I was actually surprized that it was +faster since already CompressionLevel=3 in the .ssh/config +file is supposed to apply at least level -3 gzip compression +anyway and the -z in the cvs command would seem to implie a +double compression (usually not a good idea). + +---- + +Running rsync at Savannah I noticed a directory in upload/axiom +called stable containing a file called axiom...tgz. but because +of the time my cvs transaction was taking I interrupted the +download. Is this work in progress? Did you notice my "warning" +about the Savannah file list naming conventions in my previous +message? It took me a while to get things straight when I first +added something to the file section and on reading the +Savannah forum messages I found that this was a very common +question. + +BTW, I am glad you did not ask me to upload my current mnt +version of Axiom from here at home (due to my apparent +upload limitations) but I coult do so from my office at work +where there is a T3 connection when or if you ever want. + +----- + +Finally, what are you plans for including the last 29 as +yet uncompiled modules? + +\start +Date: Mon, 1 Sep 2003 20:31:20 -0400 +From: root +To: bill.page1@sympatico.ca +Subject: [Axiom-developer] tgz, mnt, and file download + +Bill, + +I'll move to -z6. + +don't know about the axiom...tgz file. I tried to upload a compressed tar +of the sources but the connection died. That's probably why. + +I plan to build a new version with the *.daase files (probably tomorrow) +and then upload a tgz of the mnt directory. The mnt directory should +never come under CVS control. Camm and I need to coordinate building +an apt and an rpm package. + +Give me a tutorial on how you got files into the file download area. + +\start +Date: 01 Sep 2003 21:22:13 -0400 +From: Bill Page +To: daly@idsi.net +Subject: [Axiom-developer] Re: tgz, mnt, and file download + +Tim, + +Ok, I have got rid of the stable/axiom ... tgz directory and +file. The file was about 44 Mbytes in size. How large is the +actual tgz for Axiom mnt? And I also uploaded another file +in my "depends" set of Perl scripts to produce an input file +for vcg. + +About uploading and managing files. This is from a message that +I sent earlier today but which seems to have gone off into the +blue. I have made a couple insertions to give you exactly the +rsync commands that I just tested online. As I said,getting the +naming just right can be a little tricky so it is best to have +examples that actually worked. + + +On Mon, 2003-09-01 at 16:51, Bill Page wrote: +> Tim, +> +> ... [other things about cvs and patches] +> +> About uploading and managing files in the files section. +> The basic information is at +> https://savannah.gnu.org/faq/?group_id=11&question=How_do_I_add_files_in_the_download_area.txt +> +> but there is an error in the example. It says: +> +> For example, using rsync: +> cd /opt/myproject/download +> scp -1 myfile developername@savannah.nongnu.org:/upload/myproject +> +> but the example is using scp not rsync! It is possible to use scp +> but I found it rather awkward and furthermore you can't use scp +> to delete files. rsyn is much better. +> +> rsync is rather like a simplified CVS. What it does is to keep +> two directories, usually one remote and one local, in "sync" i.e. +> it copies files from the "source" directory to the "target" +> directory (and sub-directories if you say so) in an attempt to +> make them the same with a mimimum amount of data transfer. +> +> rsync access to Savannah uses the same secure ssh protocol as +> developer access to the CVS. You cat add +> +> export RSYNC_RSH=ssh +> +> to .bashrc or you can specify --rsh=ssh on the command line. +> +> I setup a directory called uploads to hold the things I want +> to upload (or download) from the Savannah files section. +> Then +> +> 1) rsync --rsh=ssh --recursive +> billpage1@savannah.nongnu.org:/upload/axiom ~/uploads +> +> will copy all the files from Savannah to your uploads directory. +> Of course use your own user name instead of billpage1. +> +> 2) rsync --rsh=ssh --recursive ~/uploads +> billpage1@savannah.nongnu.org:/upload/axiom +> + +The command above is slightly wrong. It results in uploading +duplicate files into a sub-directory called 'axiom' into +savannah.nongnu.org:/upload/axiom. Not good! + +Actually the correct command is + +$ cd ~/uploads/axiom +$ rsync -z -v --rsh=ssh --recursive . billpage1@savannah.nongnu.org:/upload/axiom + +Notice the cd command to the source directory and the use of +. (dot) as the source name. + +This transfers and/or updates all of the files and sub-directories +in the local ~/uploads/axiom to the right place on savannah. + +> +> will transfer from your uploads directory to the axiom files +> directory on Savannah. +> +> The naming of the directories and files in the upload directory +> is very important because Savannah expects a particular naming +> scheme to make things appear on the file list. For example, the +> file that I uploaded has the following name +> +> ~/uploads/axiom/algebra_depends.pkg/1.0.0/algebra_depends-1.0.0.tar.gz +> +> On the Savannah file list it appears with the heading +> +> algebra_depends +> +> and sub-heading +> +> 1.0.0 +> +> (Don't forget the .pkg in the first subdirectory!) If you don't use +> this naming convention, the files are still uploaded but they may +> not appear in the list. +> +> To delete files: +> +> 3) First make sure you have an up to date copy of all the +> files in the Axiom file section in your *local* uploads +> directory, including the file(s) you want to delete. If +> necessary use step 1) above +> +> 4) Then delete selected files (and/or directorys) from your +> local uploads directory. +> +> 5) Finally use a command like step 2) except include the +> --delete option +> +> rsync --rsh=ssh --recursive --delete ~/uploads +> billpage1@savannah.nongnu.org:/upload/axiom +> + +Again I made a little mistake in the naming. The right +command is + +$ cd ~/uploads/axiom +$ rsync -z -v --rsh=ssh --recursive --delete . billpage1@savannah.nongnu.org:/upload/axiom + + +> +> rsync has lots of options. Some you might want to use are +> +> -z to tell rsync to use compression (saves time on a slow +> network link) +> -v verbose mode for more information about what is going +> on +> +> ------ +> +> If the above instructions work for you, then maybe they should +> also be added to the Axiom developer main page (or elsewhere) +> +> I hope this helps. +> +> Cheers, +> Bill Page. +> + +On Mon, 2003-09-01 at 20:31, root wrote: +> Bill, +> +> I'll move to -z6. +> +> don't know about the axiom...tgz file. I tried to upload a compressed tar +> of the sources but the connection died. That's probably why. +> +> I plan to build a new version with the *.daase files (probably tomorrow) +> and then upload a tgz of the mnt directory. The mnt directory should +> never come under CVS control. Camm and I need to coordinate building +> an apt and an rpm package. +> +> Give me a tutorial on how you got files into the file download area. +> + +\start +Date: Tue, 2 Sep 2003 09:41:01 +0100 +From: "Keith Harrison" +To: +Subject: [Axiom-developer] Upper and lower case problems + +Gentlemen, + +Firstly let me say that you are doing a great job. + +I downloaded the alpha version from Savannah and tried to install it on +my laptop. (I'm running windows XP. I use Vmware to run a redhat client. +Don't ask why :-)) + +My first error was to root everything at /SPAD. There are a number of +places in the code (and makefiles) where the file names are downshifted. +Thus the compile could not find "/spad/...". The cure was to make sure +the full pathname for the root directory did not contain upshifted +characters. E.g. /axiom or /home/kah/axiom. I think the one that got me +was in lsp/ccl/src/boot/Makefile + "DEPS = (load (string-downcase (quote ${IN}/npextras.lisp))". +OK it's part of GCL but it still burnt me. + +My second error was to download the files to the windows host. I had +problems with a number of input files where there are files with the +same name (one upshifted and the other downshifted). EXPR.input.pamphlet +and expr.input.pamphlet for example. This will be a problem when you try +to compile on windows. + +My last comment is that I tried compiling as root. And crashed linux. + +Installing as myself was successful. It took nearly 4 hours - but it +worked. +Congratulations. + +Keith Harrison +HP Labs Bristol. + +\start +Date: Tue, 02 Sep 2003 21:09:29 +0200 +From: David MENTRE +To: axiom-developer@nongnu.org +Subject: [Axiom-developer] On [bug #4546] Certain spad files fail to compile: FIXED? + +Hello, + +The "[bug #4546] Certain spad files fail to compile" seems to work in +current CVS: + +)clear all +)cd int/algebra +)co xpoly )con XPR + +works properly. + +Shall I consider the bug Closed? + +\start +Date: Tue, 02 Sep 2003 21:16:09 +0200 +From: David MENTRE +To: axiom-developer@nongnu.org +Subject: [Axiom-developer] On [bug #4587] )lisp *yearweek* is broken: intended behavior or bug? + +Hello, + +The ")lisp *yearweek*" command produces the following output: + +Value = "Tuesday September 2, 2003 at 19:15:55 " + +Is quite different from the expected output in the bug report: + + YYYYMMDDxxx where YYYY is the year, MM is the month, DD is the day and + xxx is a unique number identifying a build. + +So I consider this bug still Open, right? + +\start +Date: Tue, 02 Sep 2003 21:11:09 +0200 +From: David MENTRE +To: axiom-developer@nongnu.org +Subject: [Axiom-developer] On [bug #4547] polynomials are parsed improperly: FIXED? + +Hello, + +The "[bug #4547] polynomials are parsed improperly" seems to have been +fixed: + +)clear all +x+x*x + +gives the proper result: + 2 + (1) x + x + Type: Polynomial Integer + +Shall I consider the bug Closed? + +\start +Date: Tue, 02 Sep 2003 22:11:00 +0200 +From: David MENTRE +To: axiom-developer@nongnu.org +Subject: [Axiom-developer] On [bug #4565] log10 in GCL returns a bad value for log10(1000): FIXED? + +Hello, + +For "[bug #4565] log10 in GCL returns a bad value for log10(1000)", the +expression "[1000]" returns the correct result: +(6) -> [1000] + + (6) [1000] + Type: List PositiveInteger + +However, ")lisp (log10 1000)" still returns: +Value = 2.9999999999999996 + +Should we consider the Axiom bug Closed? I think so. + +In case this is a gcl bug, we should report it to Camm & co. + +\start +Date: Tue, 02 Sep 2003 20:34:41 +0200 +From: David MENTRE +To: daly@idsi.net, Tim Daly +Subject: Re: [Axiom-developer] running? + +Hello Tim, + +root writes: + +> If anyone gets the system to compile and run please let me know. + +I have compiled it and it seems to run (not tested it a lot however). + +My system: + GNU/Linux Debian Woody 3.0 - i686 (celeron) + + +Yours, +d. + +PS : It took me about 12 hours to compile it. :) +-- + +\start +Date: Wed, 3 Sep 2003 16:19:57 +1000 +From: Jason White +To: axiom-developer@nongnu.org +Subject: Re: [Axiom-developer] Re: CVS tutorial for Developers + +http://cvsbook.red-bean.com/ may also be useful. + +Subversion (http://subversion.tigris.org/), currently under +development but already usable, is intended to overcome the +limitations of, and to supersede, cvs. + +\start +Date: Wed, 3 Sep 2003 06:43:48 -0400 +From: root +To: kah@hplb.hpl.hp.com +Subject: Re: [Axiom-developer] Upper and lower case problems + +> Keith Harrison, HP Labs Bristol wrote: + +> Gentlemen, +> +> Firstly let me say that you are doing a great job. + +Thanks, from all of us. + +> +> I downloaded the alpha version from Savannah and tried to install it on +> my laptop. (I'm running windows XP. I use Vmware to run a redhat client. +> Don't ask why :-)) + +Hey, at least you're trying for purity :-) + +Actually, I have Windows XP running at my elbow. It is one of the +planned ports. "Hello, World" compiles and runs so I'm nearly there :-) + +> +> My first error was to root everything at /SPAD. There are a number of +> places in the code (and makefiles) where the file names are downshifted. +> Thus the compile could not find "/spad/...". The cure was to make sure +> the full pathname for the root directory did not contain upshifted +> characters. E.g. /axiom or /home/kah/axiom. I think the one that got me +> was in lsp/ccl/src/boot/Makefile +> "DEPS = (load (string-downcase (quote ${IN}/npextras.lisp))". +> OK it's part of GCL but it still burnt me. + +Yeah, that code exists because DOS (remember DOS?) couldn't handle +dual case files. It's been a long time since I had it running on DOS. +I don't remember all of the places this affects but I'll find them. +I'll put this on the list as a bug and get it fixed. I thought I +wrote it up in the docs but I guess not. + +> +> My second error was to download the files to the windows host. I had +> problems with a number of input files where there are files with the +> same name (one upshifted and the other downshifted). EXPR.input.pamphlet +> and expr.input.pamphlet for example. This will be a problem when you try +> to compile on windows. + +Ah. right. I'll fix that one also. Some systems CAN handle DuAl CaSe. +I was aware (but not paying attention to the fact ) that Windows +couldn't. Send M$ a bug report and maybe they'll fix it :-) +Except for the input files (which I haven't really spent much time +on except to box them up as pamphlets there shouldn't be any case +issues. The input files will eventually be replaced by CATS (Computer +Algebra Test Suite). + +> +> My last comment is that I tried compiling as root. And crashed linux. + +Boffo job, mate! How did you manage to do that? I always work as root +and have only crashed systems where I did something deliberately wrong +(of which compiling Axiom doesn't qualify). Working as root raises +your purity level +5, strength +3, handsomeness +7, and likelihood +of getting flamed +15. I haven't actually crashed a system in years. + +> +> Installing as myself was successful. It took nearly 4 hours - but it +> worked. +> Congratulations. + +Great. Feedback is most welcome. Bitch loudly about what needs to +be fixed. No error is too small. We maintain high standards here. +We appreciate the effort you made to get it to run. + +Once I figure out how to upload files to the file download area I'm +going to post a full executable version. I'm in the process of testing +it on various platforms. So far it appears to run on RedHat Linux 9, +Debian, and the vanilla Mandrake 9.1 install (but not compile due to a +missing XFree library. I have to find and add the rpm). I'm +downloading FreeBSD at the moment. When I'm done Axiom should run (and +build) on all the unixy systems. + +I'm looking for contacts at all of the Linux distributions so we +can ship Axiom as part of Linux. That way everyone has the option +of having it on their desktop. That should save you hours of compiles. + +It's a footrace (depending on what task ends first) whether the 0th +version of the CATS, the graphics, or the windows port is the next +major event. + + +\start +Date: Wed, 3 Sep 2003 09:03:57 -0400 +From: Tim Daly +To: david.mentre@wanadoo.fr +Subject: [Axiom-developer] yearweek + +Yes, it is a bug that they don't match. +I'd lean toward the "Tuesday ..." form but leave the +decision up to you. + +Tim + +\start +Date: Wed, 03 Sep 2003 10:01:39 -0400 +From: William Sit +To: Keith Harrison +Subject: Re: [Axiom-developer] Upper and lower case problems + +Mac OS X has the same problem with file names (it treats all filenames case +insensitively), even though it keeps the case. In the same subdirectory, OS X +will overwrite say makefile with Makefile. One way to keep the case correctly is +to use tar. I used Virtual PC on the Mac, so the problem is similar to Keith's +running VMWare on Windows XP. By downloading a tar (or compressed tar) version +in the host OS, it can be imported (or mounted after tar -x) to the guest OS +with no loss of information. + +Keith Morrison wrote: +> My second error was to download the files to the windows host. I had +> problems with a number of input files where there are files with the +> same name (one upshifted and the other downshifted). EXPR.input.pamphlet +> and expr.input.pamphlet for example. This will be a problem when you try +> to compile on windows. + +One way to resolve this would be to separate the lower case and upper case files +in separate subdirectories in distribution. I noticed the same problem with +hyperdoc files in the NAG distribution. + + +\start +Date: Wed, 3 Sep 2003 16:17:31 +0200 +From: "Weiss, Juergen" +To: "David MENTRE" , +Subject: RE: [Axiom-developer] On [bug #4587] )lisp *yearweek* is broken: intended behavior or bug? + +With all the sources under cvs control we should consider +using cvs revision numbers for version management. Nevertheless +it is not clear, if using cvs revisions is sufficient. + +> -----Original Message----- +> From: David MENTRE [mailto:david.mentre@wanadoo.fr] +> Sent: Tuesday, September 02, 2003 9:16 PM +> To: axiom-developer@nongnu.org +> Subject: [Axiom-developer] On [bug #4587] )lisp *yearweek* is +> broken: intended behavior or bug? +> +> +> Hello, +> +> The ")lisp *yearweek*" command produces the following output: +> +> Value = "Tuesday September 2, 2003 at 19:15:55 " +> +> Is quite different from the expected output in the bug report: +> +> YYYYMMDDxxx where YYYY is the year, MM is the month, DD is +> the day and +> xxx is a unique number identifying a build. +> +> So I consider this bug still Open, right? + +\start +Date: Wed, 3 Sep 2003 16:07:47 -0400 +From: root +To: david.mentre@wanadoo.fr +Subject: Re: [Axiom-developer] On [bug #4546] Certain spad files fail to compile: FIXED? + +yes, the )co xpoly )con XPR bug has been fixed and is closed. -- t + +\start +Date: Wed, 3 Sep 2003 16:10:33 -0400 +From: root +To: david.mentre@wanadoo.fr +Subject: Re: [Axiom-developer] On [bug #4565] log10 in GCL returns a bad value for log10(1000): FIXED? + +I fixed the particular bug about [1000] but I think we should leave the +)lisp (log10 1000) bug open (or reopen it as another bug) since I have +to remember to construct other cases that can fail -- t + +\start +Date: Wed, 3 Sep 2003 16:09:10 -0400 +From: root +To: david.mentre@wanadoo.fr +Subject: Re: [Axiom-developer] On [bug #4547] polynomials are parsed improperly: FIXED? + +yes, the polynomial parsing bug has been fixed -- t + +\start +Date: Wed, 03 Sep 2003 22:47:39 +0200 +From: David MENTRE +To: Tim Daly +Subject: [Axiom-developer] Re: yearweek + +Tim Daly writes: + +> I'd lean toward the "Tuesday ..." form but leave the +> decision up to you. + +Ok, so the documentation should be updated. I've updated the bug report +accordingly. + +\start +Date: Wed, 03 Sep 2003 22:58:28 +0200 +From: David MENTRE +To: Bill Page +Subject: [Axiom-developer] Web site + +Hello, + +Tim: + +> "importing" which didn't sound right. I can't believe how +> bad the documentation of CVS really is... Your notes were +> very clear. I think we should make them available for +> download on the Axiom developer web page and we should +> expand it as we learn and use more features of CVS. + +About the web site: Tim, do you plan to change the current Home Page on +CVS? For example, we could user docs, developer docs (like Bill's CVS +tutorial), screenshots, etc. It would be needed to put your current TODO +list in a sub-part of this web site. + +I can add a sub-project on savannah with corresponding Tasks to remember +to do such things. + +Yours, + +\start +Date: Wed, 03 Sep 2003 23:06:28 +0200 +From: David MENTRE +To: axiom-developer@nongnu.org +Subject: [Axiom-developer] On [bug #4549] default extensions on )read is broken: REPRODUCIBLE? + +Hello, + +I tried to reporduce [bug #4549] default extensions on )read is broken +but it Works For Me(tm). + +What I have tried: + +david@oops:~$ cat /tmp/to-load.input +)lisp (pprint "running to-load.input") + +david@oops:~$ interpsys +[...] +(1) -> )cd /tmp +The current AXIOM default directory is /tmp/ +(1) -> )read to-load +)lisp (pprint "running to-load.input") + + +"running to-load.input" +Value = NIL + + +So the "to-load.input" file seems to load correctly. Tim, do you still +see this bug? Have you a failing test case? + +\start +Date: Wed, 03 Sep 2003 23:01:13 +0200 +From: David MENTRE +To: daly@idsi.net +Subject: Re: [Axiom-developer] On [bug #4565] log10 in GCL returns a bad value for log10(1000): FIXED? + +root writes: + +> I fixed the particular bug about [1000] but I think we should leave the +> )lisp (log10 1000) bug open (or reopen it as another bug) since I have +> to remember to construct other cases that can fail -- t + +Ok, I've kept it open and added a comment to propagate issue to GCL +guys. + +\start +Date: Wed, 03 Sep 2003 23:17:01 +0200 +From: David MENTRE +To: "Keith Harrison" +Subject: Re: [Axiom-developer] Upper and lower case problems + +Hello Keith, + +"Keith Harrison" writes: + +> My first error was to root everything at /SPAD. There are a number of +> places in the code (and makefiles) where the file names are downshifted. +> Thus the compile could not find "/spad/...". The cure was to make sure +> the full pathname for the root directory did not contain upshifted +> characters. E.g. /axiom or /home/kah/axiom. I think the one that got me + +Just to keep a trace, I submited your issue as bug #5059: +http://savannah.nongnu.org/bugs/?func=detailbug&bug_id=5059&group_id=2938 + +I could add that we have also been bitten buy this bug with a friend on +its machine. + +\start +Date: Wed, 3 Sep 2003 19:02:55 -0400 +From: root +To: david.mentre@wanadoo.fr +Subject: [Axiom-developer] website + +Suggestions are essentially volunteering :-) + +Clearly you see a good reason why we should change the website. +Change it any way you see fit (I believe you have permissions already). +Do a quality job. + +\start +Date: Wed, 3 Sep 2003 19:05:01 -0400 +From: root +To: axiom-developer@nongnu.org +Subject: [Axiom-developer] porting + +Work has coughed up an iMac and I'm downloading the developer software. +(I can't believe they ship OSX without gcc). So we'll eventually have +a mac port of Axiom also. Looks like GCL is going to get some free porting +work :-) + +\start +Date: Wed, 3 Sep 2003 20:49:34 -0400 +From: root +To: jasonjgw@pacific.net.au +Subject: Re: [Axiom-developer] Re: CVS tutorial for Developers + +Unfortunately subversion can't be "plug-replaced" in savannah's cvs. + +\start +Date: Thu, 4 Sep 2003 06:41:53 -0400 +From: root +To: wyscc@cunyvm.cuny.edu +Subject: Re: [Axiom-developer] Upper and lower case problems +Cc: kah@hplb.hpl.hp.com + +In that case we'll just keep the case-insensitive form and +warn people not to use upper case names in the path. The +code within Axiom already deals with the case issue properly. + +I guess we could enable or disable case based on platform. +I'll have to think about it. + +\start +Date: Thu, 4 Sep 2003 06:54:34 -0400 +From: root +To: weiss@uni-mainz.de +Subject: Re: [Axiom-developer] On [bug #4587] )lisp *yearweek* is broken: intended behavior or bug? + +Juergen, + +CVS revision numbers are not sufficient. I've seen the version number +issue attacked a dozen ways. Perhaps we could use the Godel number +generated by consing all of the sources into one number :-) The +strongest scheme I ever saw was to tag ALL of the sources with every +change. Of course this generated tags at a furious rate. One whimsical +idea was to use "colored" fonts (each character extended with a 32 bit +color RRGGBBTT) and increment the color of changed code at each change. + +I've leaned toward the *yearweek* scheme because it clearly gives a +"cutoff" date for sources and gives some meaningful idea of when and +if a change might be introduced. Plus it seems less arbitrary than +3.1.4.1.5.9 as a version number. + +In any case, it's just a number, albeit a case-sensitive one :-) + +\start +Date: Thu, 04 Sep 2003 16:04:07 +0200 +From: David MENTRE +To: Tim Daly +Subject: [Axiom-developer] On website and porting and other points + +Hello Tim, + +I have several issues with email currently. It appears that my french +ISP Wanadoo takes several hours or days to transfer emails. :( + +To respond to several posts you have made on axiom-developer: + + - website: I wanted to know if you agree to change the website. I + cannot guarantee to change it soon but I'll have a look at it as time + permits + + - MacOS X porting: there has been a lot of improvments on GCL side for + MacOS X recently. Look at gcl-devel mailing-list archive. Latest GCL + on CVS (2.5.4 and later) should have improved MacOS X support. + + - ok for the cutoff date (*yearweek*). But I still believe that the + date should depend on the _sources_ and not the compilation time. I + have not checked in current CVS however I haven't any patch to + propose. + + - regarding dependencies on Xlib.h: I think you should _not_ include in + CVS the .rpm (or .deb or whatever) package. Or then you will fill + savannah with Mandrake, SuSE, RedHat, Slackware, ... packages. The + right fix is to tell in the doc the dependency on Xlib.h (this is + already the case in the FAQ) and, for more easier compilation, tell + needed packages on a given distribution (this is already the case for + Debian in the FAQ). + + - we need to add a README in top level directory + + +I swear, next time, I'll be more constructive. :) + + +\start +To: daly@idsi.net +Subject: Re: [Axiom-developer] Axiom Availability Announcement +From: Camm Maguire +Date: 04 Sep 2003 10:54:26 -0400 + +Greetings all! + +Just a quick note to say that I've put together a preliminary +axiom.deb and uploaded it last night into unstable. It will likely +take a few days before being approved, but after that point the +autobuilders should let us know how portable we are! Doubtless many +changes will be needed to the package that now exists, so comments +most appreciated. + +A few notes: + +1) I made several changes to GCL. At a users request, GCL is now + following the linux release naming conventions -- x.y.z where y is + *even* denotes stable releases, and y odd refers to development/cvs + snapshot releases. So the latest stable GCL we're working on is + 2.6.1, which can be obtained via CVS with the flag -r + Version_2_6_1. ftp.gnu.org is *still* down, so this isn't an + "official" release. Nevertheless, I've uploaded a 2.6.1 gcl deb to + the unstable Debian distribution last night to see where we stand. + So the sources/binary can also be retrieved from + incoming.debian.org. + + Among the changes were modifications designed to enable axiom to be + built with gcl installed externally. This now works, at least for + me, with the following two minor patches to the axiom source + (currently in the Debian .diff:) + +============================================================================= + +--- axiom-0.0.0cvs.orig/lsp/Makefile.pamphlet ++++ axiom-0.0.0cvs/lsp/Makefile.pamphlet +@@ -152,17 +152,7 @@ + @echo 1 building ${LSP} ${GCLVERSION} + + gcldir: +- @echo 2 building ${GCLVERSION} +- @tar -zxf ${ZIPS}/${GCLVERSION}.tgz +-<> +-<> +-<> +-<> +-<> +-<> +-<> +-<> +-<> ++ echo "(compiler::link nil \"${OUT}/lisp\" \"\" \"${OBJ}/${SYS}/lib/cfuns-c.o ${OBJ}/${SYS}/lib/sockio-c.o ${OBJ}/${SYS}/lib/libspad.a\")" | gcl + @echo 13 finished system build on `date` | tee >gcldir + + ccldir: ${LSP}/ccl/Makefile + +--- axiom-0.0.0cvs.orig/src/interp/util.lisp.pamphlet ++++ axiom-0.0.0cvs/src/interp/util.lisp.pamphlet +@@ -68,7 +68,7 @@ + ;; perform system initializations for building a starter system + (init-memory-config) + #+:AKCL +- (let ((collectfn (concatenate 'string (string lsp) "/cmpnew/collectfn"))) ++ (let ((collectfn (concatenate 'string si::*system-directory* "../cmpnew/collectfn"))) + (unless (probe-file (concatenate 'string collectfn ".o")) + (compile-file collectfn)) + (load collectfn) +============================================================================= + + More on (compiler::link ...) below. + +2) The current axiom .deb, also available at incoming.debian.org, + basically consists of the mnt/linux and obj/linux trees copied + wholesale (with a few minor exceptions), and a shell script + wrapper called 'axiom' to set the path and execute interpsys. I + added a placeholder manpage to conform to Debian policy, but this + brought to my attention the question of (user) documentation -- is + there any? + +3) Unfortunately, there are still 5 Debian platforms on which GCL can + not natively relocate objects (mips(el), alpha, ia64, hppa). On + these boxes, one must use (compiler::link...) to build images. + This can also be used on the other platforms, but save-system is + easier to use, and we hope to make it available everywhere in the + future. + + So if we want axiom on these machines, we need to add a little + code following the example in the patch above at the image dumping + point, i.e. bootsys, depsys, and interpsys. The arguments to link + are: + a list of compiled lisp object file pathnames, preferably + complete. + a pathname for the output image + (optional) a string of lisp code to be run at the end of the + normal lisp initialization. + (optional) a string of non-lisp objects and libraries to be + placed on the command line + (optional) a flag indicating if the user module initialization + code should be run (defaults to 't) + + Lisp modules used in this call must be compiled with the :system-p + flag to compile file set to 't. This is most easily done with + (setq compiler::*default-system-p* t) before compiling. + + I can look into making some patches, but as these should be arch + specific, I wanted to consult how this could best be done in + axiom's build system. I.e. axiom has no 'configure' script. + +Take care, + + +root writes: + +> *, +> +> Axiom exists as free and open source software. +> +> The first version of the Axiom sources has been uploaded to the CVS at +> http://savannah.gnu.org/projects/axiom. Congrats to all involved. +> Many thanks to the Numerical Algorithms Group, the CAISS Institute at +> City College of New York and to the people of these mailing lists. +> +> This version contains (almost) all of the algebra, the interpreter, +> and the spad compiler. This is the heart of Axiom. The graphics, +> hyperdoc, documentation, numerical code, Axiom Journal papers, +> openmath, and CATS test suite are in my source tree but are not ready +> for distribution yet. I'll announce these parts as they become +> available. +> +> A gzipped-tar file of the sources will be available soon. +> Debian apt and Redhat rpm files are under discussion. +> +> The CVS version can be downloaded by anonymous CVS: +> +> cvs -d:pserver:anoncvs@subversions.gnu.org:/cvsroot/savannah login +> cvs -z3 -d:pserver:anoncvs@subversions.gnu.org:/cvsroot/savannah co axiom +> +> NOTE: when prompted for a password for anoncvs simply press the Enter key +> +> The primary documentation is in the Makefile.dvi file. +> +> To build the system in a directory (e.g. /SPAD) you do: +> +> cd /SPAD +> export AXIOM=/SPAD/mnt/linux +> make +> +> The executable is (currently) found by doing: +> +> export PATH=/SPAD/obj/linux/bin:/SPAD/mnt/linux/bin:$PATH +> interpsys +> +> The build takes about 2 hours and 15 minutes on a 2Ghz/1Gb machine. +> You might want to do the build in an emacs shell buffer so you can +> save the console output in case of trouble. +> +> So far the build works properly on Redhat GNU/Linux 9. If you build it +> on another system please let us know. A port to Windows is in process. +> +> This is an alpha version of the system so expect (and report) bugs. +> The savannah website has a bug reporting tool. +> +> The algebra runs but has not yet been tested. This version has been +> uploaded so we can all test from the same base. When reporting bugs +> please use this version number printed at the top of your Axiom session. +> It will look something like: +> Thursday, August 28, 2003, 2:31am +> +> This version is a complete rebuild of Axiom. Many changes have been made. +> +> First, the system has been rewritten using literate programming. +> Each file is in "pamphlet" format (which is basically Latex with +> two extra tags). The reason for this is explained in the top-level +> Makefile.dvi file. +> +> Second, the system has been ported to GCL. This is the first of many +> common lisp ports where Axiom will exist. +> +> Third, the makefile tree has been rewritten. Most of the documentation +> that exists at the moment is in the various Makefile.dvi files. +> +> Fourth, the algebra is built from scratch rather than pre-existing files. +> +> The tenkan.org website and CVS is now obsolete and will be removed. +> Please use savannah for future development. +> +> Much work needs to be done. Click on the homepage link to see some of +> the future tasks. +> +> Questions, comments, and snide remarks can be sent to me at: + +\start +Date: Thu, 4 Sep 2003 10:35:09 -0400 +From: Tim Daly +To: camm@enhanced.com +Subject: [Axiom-developer] Debian .deb file + +Camm, + +Axiom has a bunch of patches to GCL (documented in Makefile.pamphlet). +Are any of these addressed in 2.6.1? +Does the GCL CVS contain 2.6.1? I can download it and try a new build. + +I'll bite. What does compiler::link do? What does :system-p mean? +Does this change the packages of the loaded files (which will create +havoc)? + +The .deb package should ONLY contain mnt, NOT obj. The interpsys +image gets copied into mnt/linux/bin/axiom. This step is not yet +performed by the makefile but will be shortly. The whole design +of the Axiom src/int/obj/mnt partition is to ensure that only mnt +gets shipped. int and obj are pure caches and should never see the +light of day. Their only purpose is to minimize rebuild times. + +Funny you should ask about documentation. I'm in the process of +rewriting the Axiom textbook. There is work to be done but I'll +release an alpha version as soon as I can. + +I have a copy of Debian but have not yet installed it. +Let me know what needs to be fixed. + +Good job on the debian package. + +\start +Date: 04 Sep 2003 12:12:34 -0400 +From: Camm Maguire +To: Tim Daly +Subject: [Axiom-developer] Re: Debian .deb file + +Greetings! + +Tim Daly writes: + +> Camm, +> +> Axiom has a bunch of patches to GCL (documented in Makefile.pamphlet). +> Are any of these addressed in 2.6.1? + +I believe all, or equivalent. In any case, axiom cvs will build +against *externally* installed gcl-2.6.1 with the two axiom patches I +posted. + +> Does the GCL CVS contain 2.6.1? I can download it and try a new build. +> + +It does. But if you want to stay away from CVS head, you can do + +cvs co -r Version_2_6_1 -d gcl-2.6.1 gcl + +> I'll bite. What does compiler::link do? What does :system-p mean? +> Does this change the packages of the loaded files (which will create +> havoc)? + +(compiler::link...) uses the system linker, i.e. ld or gcc -o, to link +the lisp compiled .o files into the main executable, as opposed to +'fasloading' them. :system-p indicates that the code is to be +considered part of the 'system', which basically means linkable in the +above manner. The init routine is renamed uniquely from init_code to +init_, and cmpinclude.h is #included instead of being added +directly to the C source. This should not affect any package +structure. All that is really needed is a list of .o files in load +order that go into each ???sys image. + +> +> The .deb package should ONLY contain mnt, NOT obj. The interpsys +> image gets copied into mnt/linux/bin/axiom. This step is not yet +> performed by the makefile but will be shortly. The whole design +> of the Axiom src/int/obj/mnt partition is to ensure that only mnt +> gets shipped. int and obj are pure caches and should never see the +> light of day. Their only purpose is to minimize rebuild times. +> + +OK, will change. + +> Funny you should ask about documentation. I'm in the process of +> rewriting the Axiom textbook. There is work to be done but I'll +> release an alpha version as soon as I can. +> + +Great! + +> I have a copy of Debian but have not yet installed it. + +Of course I highly recommend it! + +> Let me know what needs to be fixed. + +Typically once this gets accepted we will see a flurry of bug reports +:-). A good user base is very valuable. + +Take care, + +> +> Good job on the debian package. + +\start +Date: Thu, 4 Sep 2003 11:52:31 -0400 +From: Tim Daly +To: camm@enhanced.com +Subject: [Axiom-developer] log10 + +Camm, + +I've already patched the output system to round (log10 1000). +The issue is still open because I need to remember to search +the sources for any other use of log10. I doubt we use it elsewhere +but I might as well do a quality job, yaknow? + +Tim +axiom@tenkan.org +daly@idsi.net + +p.s. it's unfair to call in the (language) lawyer :-) + +\start +Date: 04 Sep 2003 12:21:47 -0400 +From: Camm Maguire +To: David MENTRE +Subject: Re: [Axiom-developer] On [bug #4565] log10 in GCL returns a bad value for log10(1000): FIXED? +Cc: "Paul F. Dietz" + +Greetings! + +Our lisp spec expert tells me that routines returning floating point +values like (log10...) are not required to return exact integers in +cases like these. + +What you want is something like this: + +(defun logi (x y &aux i r) + (declare (longfloat x y r)) + (declare (fixnum i)) + (multiple-value-bind (i r) (round (log x y)) + i)) + + +David MENTRE writes: + +> root writes: +> +> > I fixed the particular bug about [1000] but I think we should leave the +> > )lisp (log10 1000) bug open (or reopen it as another bug) since I have +> > to remember to construct other cases that can fail -- t +> +> Ok, I've kept it open and added a comment to propagate issue to GCL +> guys. + +\start +Date: Thu, 4 Sep 2003 12:04:02 -0400 +From: Tim Daly +To: camm@enhanced.com +Subject: [Axiom-developer] sockets + +Camm, + +Last night during the rebuild I noticed that GCL appears to have +some native support for sockets. At least one of the Axiom extensions +is to add socket support to GCL. Does GCL have sockets? + +\start +Date: 04 Sep 2003 12:27:24 -0400 +From: Camm Maguire +To: daly@idsi.net +Subject: Re: [Axiom-developer] porting +Cc: Aurelien Chanudet + +Great! Aurelien has been making good progress, with a working maxima +build. Discussion has been archived on the gcl devel list. + +Take care, + +root writes: + +> Work has coughed up an iMac and I'm downloading the developer software. +> (I can't believe they ship OSX without gcc). So we'll eventually have +> a mac port of Axiom also. Looks like GCL is going to get some free porting +> work :-) + +\start +Date: Thu, 4 Sep 2003 12:02:22 -0400 +From: Tim Daly +To: gwright@comcast.net +Subject: [Axiom-developer] OpenMCL + +Greg, + +I'll check it out. Axiom is supposed to be pure ansi common lisp. +We'll get there someday if they stop changing the standard :-) +Thanks. + +\start +Date: Thu, 4 Sep 2003 20:35:01 +0200 +From: "Weiss, Juergen" +To: +Subject: [Axiom-developer] gcl on freebsd + +Actually gcl will not compile on FreeBSD. The FreeBSD support is much +too old (only a.out or coff support, not elf -- FreeBSD moved to elf +maybe +5 years ago). Mostly copying the linux setup should work, but I did +not succeed in getting a working system 'til know. So I stayed with +cmu cl (with the advantage of faster compiles). + +\start +Date: Thu, 4 Sep 2003 14:27:14 -0400 +From: Tim Daly +To: camm@enhanced.com +Subject: [Axiom-developer] Re: Debian .deb file + +Camm, + +Yes, the comments are incorrect in two items: they use uppercase +in the path (which won't work) and it should reference Axiom +rather than interpsys. I'll work to change the makefile tonight. + +\start +Date: Thu, 4 Sep 2003 15:12:01 -0400 +From: dpt@exoskeleton.math.harvard.edu (Dylan Thurston) +To: axiom-developer@nongnu.org +Subject: Re: [Axiom-developer] Axiom Availability Announcement + +--OgqxwSJOaUobr8KG +Content-Type: text/plain; charset=us-ascii +Content-Disposition: inline + +On Thu, Aug 28, 2003 at 09:49:33PM -0400, root wrote: +> This version contains (almost) all of the algebra, the interpreter, +> and the spad compiler. This is the heart of Axiom. The graphics, +> hyperdoc, documentation, numerical code, Axiom Journal papers, +> openmath, and CATS test suite are in my source tree but are not ready +> for distribution yet. I'll announce these parts as they become +> available. + +What is the current status of the graphics? Can we get it from +tenkan.org if we feel like hacking on it? + +\start +Date: 04 Sep 2003 14:59:58 -0400 +From: Camm Maguire +To: daly@idsi.net +Subject: [Axiom-developer] Re: sockets + +Greetings! Yep -- an example can be found in the gcl source in the +gcl-tk subdir in the file tkl.lisp. Check out tkconnect and +open-named-socket. + +Take care, + +Tim Daly writes: + +> Camm, +> +> Last night during the rebuild I noticed that GCL appears to have +> some native support for sockets. At least one of the Axiom extensions +> is to add socket support to GCL. Does GCL have sockets? + +\start +Date: 04 Sep 2003 14:58:27 -0400 +From: Camm Maguire +To: Tim Daly +Subject: [Axiom-developer] Re: Debian .deb file + +Hi Tim! + +Tim Daly writes: + +> Camm, +> +> Axiom has a bunch of patches to GCL (documented in Makefile.pamphlet). +> Are any of these addressed in 2.6.1? +> Does the GCL CVS contain 2.6.1? I can download it and try a new build. +> +> I'll bite. What does compiler::link do? What does :system-p mean? +> Does this change the packages of the loaded files (which will create +> havoc)? +> +> The .deb package should ONLY contain mnt, NOT obj. The interpsys +> image gets copied into mnt/linux/bin/axiom. This step is not yet +> performed by the makefile but will be shortly. The whole design +> of the Axiom src/int/obj/mnt partition is to ensure that only mnt +> gets shipped. int and obj are pure caches and should never see the +> light of day. Their only purpose is to minimize rebuild times. +> + +OK, I looked into making this change, but interpsys itself is in +obj/linux/bin. Didn't you say in your release email: + +============================================================================= +The executable is (currently) found by doing: + +export PATH=/SPAD/obj/linux/bin:/SPAD/mnt/linux/bin:$PATH +interpsys + +The build takes about 2 hours and 15 minutes on a 2Ghz/1Gb machine. +============================================================================= + +??? + +> Funny you should ask about documentation. I'm in the process of +> rewriting the Axiom textbook. There is work to be done but I'll +> release an alpha version as soon as I can. +> + +Other items which might go into the Debian package at some point are +possible elisp files for emacs support if any, regression tests if +any, or a window manager menu entry if that makes sense. + +Can axiom be used with texmacs? If so we could 'suggest' texmacs in +the axiom package. + +Some source packages of this size split the output tree into several +binary .deb packages. For maxima, for example, there is maxima, +maxima-doc, maxima-emacs, maxima-share, maxima-src, maxima-test, and +xmaxima. Don't know if that is appropriate here. The only policy +item specified by the LSB is that arch specific stuff goes under +/usr/lib, while arch independent stuff goes under /usr/share. + +Take care, + +> I have a copy of Debian but have not yet installed it. +> Let me know what needs to be fixed. +> +> Good job on the debian package. + +\start +Date: Thu, 04 Sep 2003 22:03:10 +0200 +From: David MENTRE +To: Camm Maguire +Subject: Re: [Axiom-developer] On [bug #4565] log10 in GCL returns a bad value for log10(1000): FIXED? +Cc: "Paul F. Dietz" + +Camm Maguire writes: + +> Our lisp spec expert tells me that routines returning floating point +> values like (log10...) are not required to return exact integers in +> cases like these. +> +> What you want is something like this: +> +> (defun logi (x y &aux i r) +> (declare (longfloat x y r)) +> (declare (fixnum i)) +> (multiple-value-bind (i r) (round (log x y)) +> i)) + +I've integrated your answer in the bug system. + +Thank you for the report and explanation. + +\start +Date: Thu, 4 Sep 2003 16:11:05 -0400 +From: root +To: david.mentre@wanadoo.fr +Subject: Re: [Axiom-developer] On [bug #4549] default extensions on )read is broken: REPRODUCIBLE? + +I believe the )read default extension bug is fixed. -- t + +\start +Date: Thu, 4 Sep 2003 16:13:28 -0400 +From: root +To: Aurelien Chanudet +Subject: [Axiom-developer] OSX port of GCL + +Aurelian, + +Do you have any advice about running GCL under OSX? + +\start +Date: Thu, 4 Sep 2003 16:14:52 -0400 +From: root +To: weiss@uni-mainz.de +Subject: [Axiom-developer] Re: gcl on freebsd + +Juergen, + +One reason I haven't tried CMUCL is that I don't know the equivalent +save-system command. Do you have a shell script or Makefile you can +send me? + +\start +Date: Thu, 04 Sep 2003 22:26:27 +0200 +From: David MENTRE +To: axiom-developer@nongnu.org +Subject: [Axiom-developer] On [bug #4555] export DAASE=/home/axiomgnu/new/share; This needs to default to mnt/sys in interpreter: FIXED? + +Hello, + +As well as bug #4554 (also on DAASE), I think "[bug #4555] export +DAASE=/home/axiomgnu/new/share; This needs to default to mnt/sys in +interpreter" is also fixed. Am I correct? + +Bug details: +http://savannah.nongnu.org/bugs/?func=detailbug&bug_id=4555&group_id=2938 + +\start +Date: Thu, 04 Sep 2003 22:19:10 +0200 +From: David MENTRE +To: daly@idsi.net +Subject: Re: [Axiom-developer] On [bug #4549] default extensions on )read is broken: REPRODUCIBLE? + +root writes: + +> I believe the )read default extension bug is fixed. -- t + +Ok, that is what I observed personnaly. Bug Closed. Only 25 bugs +left. :) + +\start +Date: Thu, 4 Sep 2003 16:29:28 -0400 +From: root +To: david.mentre@wanadoo.fr +Subject: [Axiom-developer] Re: On website and porting and other points + +> Hello Tim, +> +> I have several issues with email currently. It appears that my french +> ISP Wanadoo takes several hours or days to transfer emails. :( + +Email has been wierd lately. Axiom-developer posts show up 2 days late. +Or maybe I'm just a slow reader. + +> +> To respond to several posts you have made on axiom-developer: +> +> - website: I wanted to know if you agree to change the website. I +> cannot guarantee to change it soon but I'll have a look at it as time +> permits + +You have my permission to change the website as you see fit. We need +you to do a quality job and I'm sure the group will give you feedback +about what "quality" means. + +> +> - MacOS X porting: there has been a lot of improvments on GCL side for +> MacOS X recently. Look at gcl-devel mailing-list archive. Latest GCL +> on CVS (2.5.4 and later) should have improved MacOS X support. + +I sent a note to Aurelien Chanudet who is the +person doing the port to see where I should start. + +> +> - ok for the cutoff date (*yearweek*). But I still believe that the +> date should depend on the _sources_ and not the compilation time. I +> have not checked in current CVS however I haven't any patch to +> propose. + +I'm open to discussion about this. Do you know any method of getting +the current source release information (assuming we update the sources +at least once a day)? Can we do this automatically? + +> +> - regarding dependencies on Xlib.h: I think you should _not_ include in +> CVS the .rpm (or .deb or whatever) package. Or then you will fill +> savannah with Mandrake, SuSE, RedHat, Slackware, ... packages. The +> right fix is to tell in the doc the dependency on Xlib.h (this is +> already the case in the FAQ) and, for more easier compilation, tell +> needed packages on a given distribution (this is already the case for +> Debian in the FAQ). + +I agree. I'm working on the Mandrake port and have at least 8 packages +that need to be installed. I'll update the docs to explain this and +remove the rpm from Savannah. + +> +> - we need to add a README in top level directory + +Sigh. Yeah, I suppose we do. :-) I'll write something and put it +up on Savannah. + +> +> +> I swear, next time, I'll be more constructive. :) + +Criticism is constructive. Personal attacks are not. +So far everything I've heard from everyone is constructive. +Except for the moronic idiot leading this project you've +all done a great job :-) + +\start +Date: Thu, 04 Sep 2003 22:37:27 +0200 +From: David MENTRE +To: axiom-developer@nongnu.org +Subject: [Axiom-developer] On bugs #4557 and 4558, LODO1 and LODO2 fail to bootstrap + +Hello, + +It seems to me that bugs "4557 LODO1 fails to bootstrap" and "4558 LODO2 +fails to bootstrap" are now fixed. Right? + +Greping int/algebra/, I hace seen that LODO1 is defined in lodo.spad +which is compiled correctly. + +It seems also that LODO2 is used (so compiled?) correctly. + +Shall I Close both bugs? + +\start +Date: Thu, 04 Sep 2003 23:05:08 +0200 +From: David MENTRE +To: daly@idsi.net +Subject: [Axiom-developer] About CVS & date marking (was: Re: On website and porting and other points) + +Hello Tim, + +root writes: + +>> - ok for the cutoff date (*yearweek*). But I still believe that the +>> date should depend on the _sources_ and not the compilation time. I +>> have not checked in current CVS however I haven't any patch to +>> propose. +> +> I'm open to discussion about this. Do you know any method of getting +> the current source release information (assuming we update the sources +> at least once a day)? Can we do this automatically? + +CVS proposes the $Date$ Keyword[1] that can be incorporated into a file +and that will be updated automatically on each commit of the file. + +So we could have code like (excuse my common lisp): + +-- In file yearweek.lsp.pamphlet -- +(setq *yearweek* "$Date$") +-- eof -- + +The main issue is that the $Date$ Keyword is attached to the _file_ and +not the _whole source tree_. So if we modify for example a typo in +Makefile.pamphlet and commit the change, the *yearweek* variable would +not be changed. + +Another solution would be to use CVS capabilities to execute scripts on +CVS commands[2]. We would thus attach a script to 'cvs commit' that +would put the commit date into the *yearweek* variable or check that a +mandatory policy is done (like updating the ChangeLog). I can't +elaborate more on this without digging first into CVS documentation. The +main issue with this approach is that we need to edit some files on +CVSROOT and put executable scripts on server; and I'm not sure if this +is possible on savannah. + +[1] http://www.cvshome.org/docs/manual/cvs-1.11.6/cvs_12.html#SEC99 +[2] http://www.cvshome.org/docs/manual/cvs-1.11.6/cvs_18.html#SEC165 + +\start +Date: Thu, 4 Sep 2003 22:59:22 +0200 +From: "Weiss, Juergen" +To: +Subject: [Axiom-developer] RE: gcl on freebsd + +Unfortunately it's not only the save system command +(extension::save-lisp file :init-function #'fn). There are +a few minor problems (cmu cl is a bit more picky about +functional arguments, pathname-type on direcories is nil +and some gcl specific functions do not exist. Integer +and characters are not type equivalent). I have addressed +these issues, but those changes are not separate from +other changes I made (comment out unused functions, +delete unused code paths). I can try to have a look +at the changes and separate the cmu cl ones from the +others. + +> -----Original Message----- +> From: root [mailto:daly@idsi.net] +> Sent: Thursday, September 04, 2003 10:15 PM +> To: Weiss, Juergen +> Cc: axiom-developer@nongnu.org; daly@idsi.net +> Subject: Re: gcl on freebsd +> +> +> Juergen, +> +> One reason I haven't tried CMUCL is that I don't know the equivalent +> save-system command. Do you have a shell script or Makefile you can +> send me? + +\start +Date: Fri, 5 Sep 2003 00:04:22 +0200 +From: Aurelien Chanudet +To: daly@idsi.net +Subject: [Axiom-developer] Re: OSX port of GCL + +Hi, + +You might want to try the following steps to build GCL on Mac OS X. +Note that this port is premature and that I haven't tested it with +Axiom. Stratified garbage collection is not yet fully supported (need +to retrieve the page fault address). + +Please, keep me posted on how this goes ! + +Aurelien + +--- + +1- Get the latest CVS release (2.7.0). + +2- Assuming bash, configure your shell as follows : + +ulimit -n 512 + +if [ -z "$LIBRARY_PATH" ]; then + export LIBRARY_PATH=/sw/lib +else + export LIBRARY_PATH=/sw/lib:$LIBRARY_PATH +fi +export LIBRARY_PATH + +if [ -z "$C_INCLUDE_PATH" ]; then + C_INCLUDE_PATH=/sw/include +else + C_INCLUDE_PATH=/sw/include:$C_INCLUDE_PATH +fi +export C_INCLUDE_PATH + +export CPPFLAGS="-no-cpp-precomp" + +The /sw tricks are used to enable readline support (/sw is Fink's root). + +3- Apply the following patches : + +--- o/main.c 4 Sep 2003 03:09:39 -0000 1.30 ++++ o/main.c 4 Sep 2003 21:52:28 -0000 +@@ -111,6 +111,11 @@ + struct rlimit rl; + #endif + ++#if defined(DARWIN) ++ extern void init_darwin_zone_compat (); ++ init_darwin_zone_compat (); ++#endif ++ + #ifdef RECREATE_HEAP + RECREATE_HEAP + #endif + +--- o/unixfasl.c 15 Feb 2003 00:38:28 -0000 1.4 ++++ o/unixfasl.c 4 Sep 2003 21:53:16 -0000 +@@ -282,7 +282,7 @@ + static int + faslink(object faslfile, object ldargstring) + { +-#if defined(__linux__) && defined(__ELF__) ++#if (defined(__linux__) && defined(__ELF__)) || defined(DARWIN) + FEerror("faslink() not supported for ELF yet",0); + return 0; + #else + +--- unixport/makefile 4 Sep 2003 03:09:39 -0000 1.45 ++++ unixport/makefile 4 Sep 2003 21:54:00 -0000 +@@ -17,6 +17,7 @@ + + libgclp.a: $(ODIR)/gcllib.a + cp $< $@ ++ ranlib $@ + + gmpfiles: $(shell find ../$(GMPDIR) -name "*.o" |grep -v '\.lib') + rm -rf gmp +@@ -80,15 +81,15 @@ + init_%.lsp: init_%.lsp.tmp + + cat $< | sed \ +- -e "s,@LI-VERS@,(`cat ../majvers`.`cat ../minvers`) +`date`,1" \ +- -e "s,@LI-MINVERS@,`cat ../minvers`,1" \ +- -e "s,@LI-MAJVERS@,`cat ../majvers`,1" \ +- -e "s,@LI-CC@,\"$(CC) -c $(FINAL_CFLAGS)\",1" \ +- -e "s,@LI-LD@,\"$(CC) -o \",1" \ +- -e "s,@LI-LD-LIBS@,\"$(LD_LIBS_PRE) -l$* +$(LD_LIBS_POST)\",1" \ +- -e "s,@LI-OPT-THREE@,\"$(O3FLAGS)\",1" \ +- -e "s,@LI-OPT-TWO@,\"$(O2FLAGS)\",1" \ +- -e "s,@LI-INIT-LSP@,\"$@\",1" >$@ ++ -e "s,@LI-VERS@,(`cat ../majvers`.`cat ../minvers`) +`date`," \ ++ -e "s,@LI-MINVERS@,`cat ../minvers`," \ ++ -e "s,@LI-MAJVERS@,`cat ../majvers`," \ ++ -e "s,@LI-CC@,\"$(CC) -c $(FINAL_CFLAGS)\"," \ ++ -e "s,@LI-LD@,\"$(CC) -o \"," \ ++ -e "s,@LI-LD-LIBS@,\"$(LD_LIBS_PRE) -l$* +$(LD_LIBS_POST)\"," \ ++ -e "s,@LI-OPT-THREE@,\"$(O3FLAGS)\"," \ ++ -e "s,@LI-OPT-TWO@,\"$(O2FLAGS)\"," \ ++ -e "s,@LI-INIT-LSP@,\"$@\"," >$@ + + saved_%:raw_% $(RSYM) init_%.lsp \ + $(CMPDIR)/cmpmain.lsp \ +@@ -108,21 +109,21 @@ + + libgcl.a: $(FIRST_FILE) $(OBJS) sys_gcl.o $(LAST_FILE) gmpfiles +bfdfiles + rm -rf $@ +- ar rs $@ $(filter %.o,$^) $(shell find gmp bfd -name "*.o") ++ libtool -static -o $@ $(filter %.o,$^) $(shell find gmp bfd +-name "*.o") + + libxgcl.a: libgcl.a + ln -snf $< $@ + + libansi_gcl.a: $(FIRST_FILE) $(OBJS) $(ANSIOBJS) sys_ansi_gcl.o +$(LAST_FILE) gmpfiles bfdfiles + rm -rf $@ +- ar rs $@ $(filter %.o,$^) $(shell find gmp bfd -name "*.o") ++ libtool -static -o $@ $(filter %.o,$^) $(shell find gmp bfd +-name "*.o") + + libpcl_gcl.a: $(FIRST_FILE) $(OBJS) $(PCLOBJS) sys_pcl_gcl.o +$(LAST_FILE) gmpfiles bfdfiles + rm -rf $@ +- ar rs $@ $(filter %.o,$^) $(shell find gmp bfd -name "*.o") ++ libtool -static -o $@ $(filter %.o,$^) $(shell find gmp bfd +-name "*.o") + + raw_%: lib%.a libgclp.a $(SYSTEM_OBJS) $(EXTRAS) +- $(CC) -o raw_$*$(EXE) $(filter %.o,$^) \ ++ $(CC) -Wl,-headerpad,1f000 -o raw_$*$(EXE) $(filter %.o,$^) \ + -L. $(EXTRA_LD_LIBS) $(LD_LIBS_PRE) -l$* $(LD_LIBS_POST) + + clean: + +4- Configure with : + +./configure --enable-debug --enable-machine=powerpc-macosx +--disable-statsysbfd --enable-custreloc + +\start +Date: Thu, 04 Sep 2003 22:23:08 +0200 +From: David MENTRE +To: axiom-developer@nongnu.org +Subject: [Axiom-developer] On [bug #4554] export DAASE=/home/axiomgnu/new/share, FIXED? + +Hello, + +Judging from my Axiom compilation log, I think "[bug #4554] export +DAASE=/home/axiomgnu/new/share" is fixed. + +The DAASE global variable exists during build and points to the default +copy of the various .daase files which describe the algebra. + +Right? + +\start +Date: Thu, 4 Sep 2003 21:06:49 -0400 +From: Dylan Thurston +To: axiom-developer@nongnu.org +Subject: Re: [Axiom-developer] Upper and lower case problems + +--O5XBE6gyVG5Rl6Rj + +On Thu, Sep 04, 2003 at 06:41:53AM -0400, root wrote: +> In that case we'll just keep the case-insensitive form and +> warn people not to use upper case names in the path. The +> code within Axiom already deals with the case issue properly. +> +> I guess we could enable or disable case based on platform. +> I'll have to think about it. + +I'm not sure which message you're replying to (since you neither keep +the Reply-To headers in your messages nor have you quoted sufficient +context) but the current behaviour is clearly wrong: it works on neither +case-sensitive nor case-insensitive platforms. On case-sensitive +platforms, some paths are gratuitously downcased. On case-insensitive +platforms, there are filename conflicts. What reason is there ever to +downcase filenames? + +\start +Date: Thu, 4 Sep 2003 23:10:44 -0400 +From: root +To: camm@enhanced.com +Subject: [Axiom-developer] mnt/linux/bin/axiom + +Camm, + +The latest CVS change will create axiom in the mnt/linux/bin directory +instead of interpsys. There should be now be no reason why obj or int +are needed. + +\start +Date: Thu, 4 Sep 2003 23:58:39 -0400 +From: root +To: David MENTRE +Subject: [Axiom-developer] README + +Per your request I've added a README file that gives instructions on +how to build and install the system. + +\start +Date: Fri, 5 Sep 2003 00:23:21 -0400 +From: root +To: dpt@math.harvard.edu +Subject: [Axiom-developer] graphics + +Dylan, + +The graphics isn't uploaded anywhere. It is a C program that runs +as a process and communicates thru sockets. It requires another +process to manage the starting and stopping of the graphics. + +I can try to partition it out and send you the files if you're +interested in hacking on it. + +\start +Date: Fri, 5 Sep 2003 00:27:26 -0400 +From: root +To: axiom-developer@nongnu.org +Subject: [Axiom-developer] zips/XFree86-devel-4.2.0-72.i386.rpm removed from CVS + +per popular demand and rational consensus +zips/XFree86-devel-4.2.0-72.i386.rpm was removed from CVS. + +\start +Date: Fri, 5 Sep 2003 00:56:00 -0400 +From: root +To: axiom-developer@nongnu.org, axiom-mail@nongnu.org +Subject: [Axiom-developer] TeX help + +*, + +I have a very long equation that I need to break up. I can't seem to get +LaTex to break a line in math mode. Clearly this is possible but every attempt +so far has failed. The equation reads: + +\begin{displaymath} +\left( +{-{2 \ {b \sp 2} \ {x \sp 2} \ {\sqrt {3}} \ {\log +\left( +{{{{\root {3} \of {a}} \ {{\root {3} \of {{{b \ x}+a}}} \sp 2}}+{{{\root +{3} \of {a}} \sp 2} \ {\root {3} \of {{{b \ x}+a}}}}+a}} +\right)}}+ +{4 \ {b \sp 2} \ {x \sp 2} \ {\sqrt {3}} \ {\log +\left( +{{{{{\root {3} \of {a}} \sp 2} \ {\root {3} \of {{{b \ x}+a}}}} -a}} +\right)}}+{{12} +\ {b \sp 2} \ {x \sp 2} \ {\arctan +\left( +{{{{2 \ {\sqrt {3}} \ {{\root {3} \of {a}} \sp 2} \ {\root {3} \of {{{b \ +x}+a}}}}+{a \ {\sqrt {3}}}} \over {3 \ a}}} +\right)}}+{{\left( +{{12} \ b \ x} -{9 \ a} +\right)} +\ {\sqrt {3}} \ {\root {3} \of {a}} \ {{\root {3} \of {{{b \ x}+a}}} \sp +2}}} +\right) +\over {{18} \ {a \sp 2} \ {x \sp 2} \ {\sqrt {3}} \ {\root {3} \of +{a}}} +\end{displaymath} + +Suggestions are welcome. + +\start +Date: Fri, 5 Sep 2003 01:14:27 -0400 +From: root +To: david.mentre@wanadoo.fr +Subject: Re: [Axiom-developer] On [bug #4555] export DAASE=/home/axiomgnu/new/share; This needs to default to mnt/sys in interpreter: FIXED? + +yes, the DAASE variable is not used during runtime. The bug is fixed -- t + +\start +Date: Fri, 5 Sep 2003 01:40:43 -0400 +From: root +To: david.mentre@wanadoo.fr +Subject: Re: [Axiom-developer] On bugs #4557 and 4558, LODO1 and LODO2 fail to bootstrap + +yes, close both LODO bugs -- t + +\start +Date: Fri, 5 Sep 2003 11:00:58 +0200 +From: "Weiss, Juergen" +To: "Camm Maguire" , +Subject: RE: [Axiom-developer] Re: sockets + +1. Cmu cl has native socket support as well. + +2. Actually I think I had a version of scratchpad +on akcl a long time ago, where the additional objectfiles were +dynamically loaded into the lisp system. I am not sure, but +I think it was possible to save a lisp image which +contained the loaded object files. Using such a technique +would allow us to use a stock gcl distribution. + +> -----Original Message----- +> From: Camm Maguire [mailto:camm@enhanced.com] +> Sent: Thursday, September 04, 2003 9:00 PM +> To: daly@idsi.net +> Cc: axiom-developer@nongnu.org; gcl-devel@gnu.org +> Subject: [Axiom-developer] Re: sockets +> +> +> Greetings! Yep -- an example can be found in the gcl source in the +> gcl-tk subdir in the file tkl.lisp. Check out tkconnect and +> open-named-socket. +> +> Take care, +> +> Tim Daly writes: +> +> > Camm, +> > +> > Last night during the rebuild I noticed that GCL appears to have +> > some native support for sockets. At least one of the Axiom +> extensions +> > is to add socket support to GCL. Does GCL have sockets? + +\start +Date: Fri, 5 Sep 2003 06:28:49 -0400 +From: root +To: weiss@uni-mainz.de +Subject: Re: [Axiom-developer] Re: sockets +Cc: camm@enhanced.com + +Juergen, + +> 2. Actually I think I had a version of scratchpad +> on akcl a long time ago, where the additional objectfiles were +> dynamically loaded into the lisp system. I am not sure, but +> I think it was possible to save a lisp image which +> contained the loaded object files. Using such a technique +> would allow us to use a stock gcl distribution. + +This is exactly what the makefile does. Axiom needs sockets to +communicate with the hypertex and graphics subsystems. The socket +code is compiled and added to the underlying lisp. However I noticed +that GCL appears to have socket code which was clearly added after +AKCL. + +\start +Date: 05 Sep 2003 09:25:53 -0400 +From: Camm Maguire +To: daly@idsi.net +Subject: [Axiom-developer] Re: mnt/linux/bin/axiom + +Thanks Tim! Am rebuilding now, and will upload a new .deb if OK. + +Take care, + +root writes: + +> Camm, +> +> The latest CVS change will create axiom in the mnt/linux/bin directory +> instead of interpsys. There should be now be no reason why obj or int +> are needed. + +\start +Date: Fri, 5 Sep 2003 09:27:01 -0400 +From: Gregory Wright +To: daly@idsi.net +Subject: Re: [Axiom-developer] TeX help + +Tim, + +An eqnarray or eqnarrry* environment is what you want (Lamport, +_LaTeX_, 2d ed. p. 48.). +Use & to separate items in a line and \\ to break lines. + +Greg + +On Friday, September 5, 2003, at 12:56 AM, root wrote: + +> *, +> +> I have a very long equation that I need to break up. I can't seem to +> get +> LaTex to break a line in math mode. Clearly this is possible but every +> attempt +> so far has failed. The equation reads: +> +> \begin{displaymath} +> \left( +> {-{2 \ {b \sp 2} \ {x \sp 2} \ {\sqrt {3}} \ {\log +> \left( +> {{{{\root {3} \of {a}} \ {{\root {3} \of {{{b \ x}+a}}} \sp +> 2}}+{{{\root +> {3} \of {a}} \sp 2} \ {\root {3} \of {{{b \ x}+a}}}}+a}} +> \right)}}+ +> {4 \ {b \sp 2} \ {x \sp 2} \ {\sqrt {3}} \ {\log +> \left( +> {{{{{\root {3} \of {a}} \sp 2} \ {\root {3} \of {{{b \ x}+a}}}} -a}} +> \right)}}+{{12} +> \ {b \sp 2} \ {x \sp 2} \ {\arctan +> \left( +> {{{{2 \ {\sqrt {3}} \ {{\root {3} \of {a}} \sp 2} \ {\root {3} \of +> {{{b \ +> x}+a}}}}+{a \ {\sqrt {3}}}} \over {3 \ a}}} +> \right)}}+{{\left( +> {{12} \ b \ x} -{9 \ a} +> \right)} +> \ {\sqrt {3}} \ {\root {3} \of {a}} \ {{\root {3} \of {{{b \ +> x}+a}}} \sp +> 2}}} +> \right) +> \over {{18} \ {a \sp 2} \ {x \sp 2} \ {\sqrt {3}} \ {\root {3} \of +> {a}}} +> \end{displaymath} +> +> Suggestions are welcome. + +\start +Date: 05 Sep 2003 09:29:17 -0400 +From: Camm Maguire +To: daly@idsi.net +Subject: Re: [Axiom-developer] Re: sockets + +Greetings! Are we talking about the sockio-c.o file possibly not +being needed? + +Take care, + +root writes: + +> Juergen, +> +> +> > 2. Actually I think I had a version of scratchpad +> > on akcl a long time ago, where the additional objectfiles were +> > dynamically loaded into the lisp system. I am not sure, but +> > I think it was possible to save a lisp image which +> > contained the loaded object files. Using such a technique +> > would allow us to use a stock gcl distribution. +> +> This is exactly what the makefile does. Axiom needs sockets to +> communicate with the hypertex and graphics subsystems. The socket +> code is compiled and added to the underlying lisp. However I noticed +> that GCL appears to have socket code which was clearly added after +> AKCL. + +\start +Date: 05 Sep 2003 09:46:18 -0400 +From: Camm Maguire +To: daly@idsi.net +Subject: [Axiom-developer] Re: mnt/linux/bin/axiom + +Hi Tim! I'm still getting an obj problem, I think: + +Use (help) to get some basic information on how to use GCL. + +> +Compiling VECTOR.lsp. +End of Pass 1. +End of Pass 2. +OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 +Finished compiling VECTOR.o. +#p"VECTOR.o" + +BOOT>0 making /fix/g/camm/axiom/axiom-0.0.0cvs/int/algebra/AHYP.spad from /fix/g/camm/axiom/axiom-0.0.0cvs/src/algebra/trigcat.spad.pamphlet +0 making /fix/g/camm/axiom/axiom-0.0.0cvs/int/algebra/AHYP.NRLIB from /fix/g/camm/axiom/axiom-0.0.0cvs/int/algebra/AHYP.spad +/bin/sh: line 1: /fix/g/camm/axiom/axiom-0.0.0cvs/obj/linux/bin/interpsys: No such file or directory +make[4]: *** [/fix/g/camm/axiom/axiom-0.0.0cvs/int/algebra/AHYP.NRLIB] Error 127 +make[4]: Leaving directory `/fix/g/camm/axiom/axiom-0.0.0cvs/src/algebra' +make[3]: *** [algebradir] Error 2 +make[3]: Leaving directory `/fix/g/camm/axiom/axiom-0.0.0cvs/src' +make[2]: *** [srcdir] Error 2 +make[2]: Leaving directory `/fix/g/camm/axiom/axiom-0.0.0cvs' +make[1]: *** [all] Error 2 +make[1]: Leaving directory `/fix/g/camm/axiom/axiom-0.0.0cvs' +make: *** [build-stamp] Error 2 + +root writes: + +> Camm, +> +> The latest CVS change will create axiom in the mnt/linux/bin directory +> instead of interpsys. There should be now be no reason why obj or int +> are needed. + +\start +Date: Fri, 5 Sep 2003 10:10:16 -0400 +From: Tim Daly +To: A.G.Grozin@inp.nsk.su +Subject: [Axiom-developer] TeX help + +Andrey, + +I tried re-arranging the equation by hand but clearly my skills +are lacking. I was not expecting automated equation breaking as +I know that's an unsolved problem. + +The equation is automatically TeX formatted by Axiom. + +\start +Date: Fri, 5 Sep 2003 10:13:05 -0400 +From: Tim Daly +To: hemmeck@enceladus.risc.uni-linz.ac.at +Subject: [Axiom-developer] TeX help + +Ralf, + +I'll look into \multiline. Thanks. + +\start +Date: Fri, 5 Sep 2003 10:14:38 -0400 +From: Tim Daly +To: gwright@comcast.net +Subject: [Axiom-developer] TeX help + +Greg, + +I couldn't get eqnarray to work and eventually gave up. +I'll revisit it. +Thanks. + +\start +Date: Fri, 5 Sep 2003 10:17:35 -0400 +From: Tim Daly +To: camm@enhanced.com +Subject: [Axiom-developer] interpsys vs axiom + +Camm, + +Mea Culpa. I copied the wrong version of the final Makefile.pamphlet. +I broke the build. I'll fix it when I get home from work. +CVS doesn't seem to work from here. + +\start +Date: Fri, 5 Sep 2003 10:16:04 -0400 +From: Tim Daly +To: camm@enhanced.com +Subject: [Axiom-developer] GCL sockets and sockio-c.o + +Camm, + +Yes, I'm considering removing the sockio-c.o code in the future. +Most Common Lisps support sockets now although the support is +not standardized. + +\start +Date: Fri, 5 Sep 2003 18:18:14 +0200 +From: "Weiss, Juergen" +To: +Subject: RE: [Axiom-developer] Re: sockets + +I think akcl and gcl has the ability to load and dynamically +link object files into a lisp image and save that later to +a file. + +But as far as I understand, the AXIOM makefiles generate the +initial lisp executable with for example sockio-c.o linked in from all +the object files of the gcl system using the normal system linker. +That is, we have to compile gcl in the context of AXIOM and cannot +use a gcl package which is independent of AXIOM. + +> -----Original Message----- +> From: root [mailto:daly@idsi.net] +> Sent: Friday, September 05, 2003 12:29 PM +> To: Weiss, Juergen +> Cc: camm@enhanced.com; daly@idsi.net; +> axiom-developer@nongnu.org; gcl-devel@gnu.org +> Subject: Re: [Axiom-developer] Re: sockets +> +> +> Juergen, +> +> +> > 2. Actually I think I had a version of scratchpad +> > on akcl a long time ago, where the additional objectfiles were +> > dynamically loaded into the lisp system. I am not sure, but +> > I think it was possible to save a lisp image which +> > contained the loaded object files. Using such a technique +> > would allow us to use a stock gcl distribution. +> +> This is exactly what the makefile does. Axiom needs sockets to +> communicate with the hypertex and graphics subsystems. The socket +> code is compiled and added to the underlying lisp. However I noticed +> that GCL appears to have socket code which was clearly added after +> AKCL. + +\start +Date: Fri, 5 Sep 2003 18:55:04 +0200 +From: "Weiss, Juergen" +To: , +Subject: RE: [Axiom-developer] Upper and lower case problems + +I think AXIOM should not change the case of filenames. The +filenames in the distribution should be choosen in a way, +that we do not get conflicts on platforms which do not +distinguish case. If needed (I doubt it) there should be +a function to compare filenames for equality which +obeys to the convention of the operating system. Maybe +there is even a function in the common lisp standard +doing that. + +Right now the filenames are downcased in the +build process (build-interpsys), because the makefile +gives a lisp list of filenames to the lisp system +as SYMBOLS, not as STRINGS. Here case is lost. This +should be fixed. Just use $(patsubst %, "%", $(FILELIST)) +in gnu make. + +> -----Original Message----- +> From: Dylan Thurston [mailto:dpt@exoskeleton.math.harvard.edu] +> Sent: Friday, September 05, 2003 3:07 AM +> To: axiom-developer@nongnu.org +> Subject: Re: [Axiom-developer] Upper and lower case problems +> +> +> On Thu, Sep 04, 2003 at 06:41:53AM -0400, root wrote: +> > In that case we'll just keep the case-insensitive form and +> > warn people not to use upper case names in the path. The +> > code within Axiom already deals with the case issue properly. +> > +> > I guess we could enable or disable case based on platform. +> > I'll have to think about it. +> +> I'm not sure which message you're replying to (since you neither keep +> the Reply-To headers in your messages nor have you quoted sufficient +> context) but the current behaviour is clearly wrong: it works +> on neither +> case-sensitive nor case-insensitive platforms. On case-sensitive +> platforms, some paths are gratuitously downcased. On case-insensitive +> platforms, there are filename conflicts. What reason is there ever to +> downcase filenames? +> + +\start +Date: 05 Sep 2003 14:11:39 -0400 +From: Camm Maguire +To: "Weiss, Juergen" +Subject: Re: [Axiom-developer] Re: sockets + +Greetings! + +"Weiss, Juergen" writes: + +> I think akcl and gcl has the ability to load and dynamically +> link object files into a lisp image and save that later to +> a file. +> +> But as far as I understand, the AXIOM makefiles generate the +> initial lisp executable with for example sockio-c.o linked in from all +> the object files of the gcl system using the normal system linker. +> That is, we have to compile gcl in the context of AXIOM and cannot +> use a gcl package which is independent of AXIOM. +> + +This is actually not the case given GCL's (compiler::link ...) +function. Non-lisp compiled objects can be linked into a saved image +using the system linker (ld). An example is given in the small patch +I posted, which enables axiom to be built with external GCL (>=2.6.1). + +> > -----Original Message----- +> > From: root [mailto:daly@idsi.net] +> > Sent: Friday, September 05, 2003 12:29 PM +> > To: Weiss, Juergen +> > Cc: camm@enhanced.com; daly@idsi.net; +> > axiom-developer@nongnu.org; gcl-devel@gnu.org +> > Subject: Re: [Axiom-developer] Re: sockets +> > +> > +> > Juergen, +> > +> > +> > > 2. Actually I think I had a version of scratchpad +> > > on akcl a long time ago, where the additional objectfiles were +> > > dynamically loaded into the lisp system. I am not sure, but +> > > I think it was possible to save a lisp image which +> > > contained the loaded object files. Using such a technique +> > > would allow us to use a stock gcl distribution. +> > +> > This is exactly what the makefile does. Axiom needs sockets to +> > communicate with the hypertex and graphics subsystems. The socket +> > code is compiled and added to the underlying lisp. However I noticed +> > that GCL appears to have socket code which was clearly added after +> > AKCL. + +\start +Date: Fri, 05 Sep 2003 21:04:06 +0200 +From: David MENTRE +To: Gregory Wright +Subject: Re: [Axiom-mail] Re: [Axiom-developer] TeX help + +Tim, + +Gregory Wright writes: + +> An eqnarray or eqnarrry* environment is what you want (Lamport, _LaTeX_, +> 2d ed. p. 48.). +> Use & to separate items in a line and \\ to break lines. + +To add to Gregory comment, you'll find additional tips for long +equations on following web page: + + http://www.math.uiuc.edu/~hildebr/tex/displays.html + +# How to break up long formulas. Breaking up overlong lines in displays + can be very tricky, and requires a good knowledge of the underlying + mathematics as well as a feel for good mathematical typesetting. For + that reason, TeX doesn't break formulas, as it does with ordinary + text. However, there are some general guidelines. Here are possible + breaking points, in decreasing order of desirability: + + * Right before an equal sign or equivalent (e.g., a "less than" + sign). In this case, place the alignment symbol (ampersand) placed + before the equal sign, i.e., ... + x \\ &= . The equal signs (or + equivalent) should be aligned. + + * Before a plus or minus sign. In that case, the continuation line + should be shifted to the right by a \qquad. If the continuation + line is very short, two \qquad's might be better. + + * Between two large "chunks" that are multiplied. The chunks could + be large parenthesized expression, sums or integrals. This should + be used only as a last resort, and in that case the preceding line + should end with an explicit multiplication symbol (\times), the + continuation line should begin with \times symbol and be shifted + as far to the right (by preceding it with a few \qquad's after the + alignment symbol). + +\start +Date: Fri, 5 Sep 2003 16:23:07 -0400 +From: Gregory Wright +To: daly@idsi.net +Subject: Re: [Axiom-developer] TeX help + +Tim, + +This problem sounds like a nice task for a student who wants to +learn dynamic programming. Find all off the legal line breaks in an +equation (after the obvious preprocessing, like converting x/y to 1/x * +{y}) +then combine them into bigger lines with a cost function that goes up +with +the number of lines but down when the lines are balanced, i.e., almost +the +same length. + +IIRC, there are some related example (written in Haskell) in Bird's +_Algebra of Programming_. + +\start +Date: Fri, 5 Sep 2003 18:32:54 -0400 +From: root +To: camm@enhanced.com +Subject: [Axiom-developer] src/interp/Makefile.pamphlet + +The file has been corrected (and tested). +Sorry about that. +You should now be able to build the system using on mnt. + +\start +Date: 05 Sep 2003 18:50:50 -0400 +From: Camm Maguire +To: daly@idsi.net +Subject: [Axiom-developer] Re: src/interp/Makefile.pamphlet + +Great! Am building now .... Thanks! + +root writes: + +> The file has been corrected (and tested). +> Sorry about that. +> You should now be able to build the system using on mnt. + +\start +Date: Sat, 6 Sep 2003 10:40:26 -0400 +From: Dylan Thurston +To: Tim Daly +Subject: Re: [Axiom-developer] Debian .deb file + +On Thu, Sep 04, 2003 at 10:35:09AM -0400, Tim Daly wrote: +> Funny you should ask about documentation. I'm in the process of +> rewriting the Axiom textbook. There is work to be done but I'll +> release an alpha version as soon as I can. + +This is the Jenks-Sutor book, correct? Will this also be released +under a free license? How substantially has the language changed? Is +it worth picking up a copy of the old version? + +\start +Date: Sat, 6 Sep 2003 10:50:11 -0400 +From: Dylan Thurston +To: root +Subject: [Axiom-developer] Re: graphics + +On Fri, Sep 05, 2003 at 12:23:21AM -0400, root wrote: +> Dylan, +> +> The graphics isn't uploaded anywhere. It is a C program that runs +> as a process and communicates thru sockets. It requires another +> process to manage the starting and stopping of the graphics. +> +> I can try to partition it out and send you the files if you're +> interested in hacking on it. + +Sure, I'm interested in taking a crack. Alternatively, is there a way +to produce, say, PostScript files for graphics? + +\start +Date: Sat, 6 Sep 2003 17:46:23 +0200 +From: "Weiss, Juergen" +To: +Subject: [Axiom-developer] gcl and FreeBSD +Cc: Camm Maguire + +Attached you find patch to get gcl-2.5.3 compiled on FreeBSD 5.1. With +this gcl image, I was able to compile the AXIOM sources. + +Configure options are --enable-custreloc --disable-statsysbfd +--enable-machine=FreeBSD + +I was not successful with the other link options. +I was able to compile the gcl with BFD or DLOPEN and generate +a saved_gcl, but I could not load cmpnew/collectfn.o. Maybe I +made a mistake. + +------_=_NextPart_001_01C3748E.060E477B +Content-Type: application/octet-stream; + name="gcl-2.5.3.diff" +Content-Transfer-Encoding: base64 +Content-Description: gcl-2.5.3.diff +Content-Disposition: attachment; + filename="gcl-2.5.3.diff" + +ZGlmZiAtcmMgZ2NsLTIuNS4zLm9yaWcvaC9GcmVlQlNELmRlZnMgZ2NsLTIuNS4zLm1vZC9oL0Zy +ZWVCU0QuZGVmcwoqKiogZ2NsLTIuNS4zLm9yaWcvaC9GcmVlQlNELmRlZnMJRnJpIE5vdiAgMSAw +NTowOTozNCAyMDAyCi0tLSBnY2wtMi41LjMubW9kL2gvRnJlZUJTRC5kZWZzCUZyaSBTZXAgIDUg +MjM6MjE6MTcgMjAwMwoqKioqKioqKioqKioqKioKKioqIDQsMTQgKioqKgogIAogIExCSU5ESVI9 +L3Vzci9sb2NhbC9iaW4KICAKISBPRkxBRwk9IC1waXBlIC1PMiAKISBDRkxBR1MJPSAtZndyaXRh +YmxlLXN0cmluZ3MgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLURWT0w9dm9sYXRpbGUgLUkkKEdDTERJ +UikvbyAtSS91c3IvbG9jYWwvbGliL2djbC0yLjAvaCAtZnNpZ25lZC1jaGFyIC1JL3Vzci9sb2Nh +bC9saWIKISBMSUJTICAgID0gLWxtIC1ML3Vzci9sb2NhbC9saWIKISBPRElSX0RFQlVHPQohIE5V +TExGSUxFPS4uL2gvdHdlbHZlX251bGwKICAKICAjIFRoaXMgQ0Mgc3RyaW5nIHdpbGwgYmUgdXNl +ZCBmb3IgY29tcGlsYXRpb24gb2YgdGhlIHN5c3RlbSwKICAjIGFuZCBhbHNvIGluIHRoZSBjb21w +aWxlcjo6KmNjKiB2YXJpYWJsZSBmb3IgbGF0ZXIgY29tcGlsYXRpb24gb2YKLS0tIDQsMTQgLS0t +LQogIAogIExCSU5ESVI9L3Vzci9sb2NhbC9iaW4KICAKISAjT0ZMQUcJPSAtcGlwZSAtTzIgCiEg +I0NGTEFHUwk9IC1md3JpdGFibGUtc3RyaW5ncyAtZm9taXQtZnJhbWUtcG9pbnRlciAtRFZPTD12 +b2xhdGlsZSAtSSQoR0NMRElSKS9vIC1JL3Vzci9sb2NhbC9saWIvZ2NsLTIuMC9oIC1mc2lnbmVk +LWNoYXIgLUkvdXNyL2xvY2FsL2xpYgohICNMSUJTICAgID0gLWxtIC1ML3Vzci9sb2NhbC9saWIK +ISAjT0RJUl9ERUJVRz0KISAjTlVMTEZJTEU9Li4vaC90d2VsdmVfbnVsbAogIAogICMgVGhpcyBD +QyBzdHJpbmcgd2lsbCBiZSB1c2VkIGZvciBjb21waWxhdGlvbiBvZiB0aGUgc3lzdGVtLAogICMg +YW5kIGFsc28gaW4gdGhlIGNvbXBpbGVyOjoqY2MqIHZhcmlhYmxlIGZvciBsYXRlciBjb21waWxh +dGlvbiBvZgoqKioqKioqKioqKioqKioKKioqIDE5LDI2ICoqKioKICBMRENDID0gJChDQykgLXN0 +YXRpYwogIAogICMgIFVzZSB0aGUgbXAucyBmaWxlIG9uIDY4ayBtYWNoaW5lIAohIE1QRklMRVM9 +ICQoTVBESVIpL21waS0zODYubyAkKE1QRElSKS9saWJtcG9ydC5hCiEgR05VTElCMT0vdXNyL2xp +Yi9saWJnY2MuYQogIAogICMgRW5hYmxlIHRoZSBmYXN0bG9hZGluZyBtZWNoYW5pc20gd2hpY2gg +ZG9lcyBub3QgdXNlIGxkIC1BCiAgIyByZXF1aXJlcyBjL3JlbF8uLiBtYWNoaW5lIGRlcGVuZGVu +dCBjb2RlLgotLS0gMTksMjYgLS0tLQogIExEQ0MgPSAkKENDKSAtc3RhdGljCiAgCiAgIyAgVXNl +IHRoZSBtcC5zIGZpbGUgb24gNjhrIG1hY2hpbmUgCiEgI01QRklMRVM9ICQoTVBESVIpL21waS0z +ODYubyAkKE1QRElSKS9saWJtcG9ydC5hCiEgI0dOVUxJQjE9L3Vzci9saWIvbGliZ2NjLmEKICAK +ICAjIEVuYWJsZSB0aGUgZmFzdGxvYWRpbmcgbWVjaGFuaXNtIHdoaWNoIGRvZXMgbm90IHVzZSBs +ZCAtQQogICMgcmVxdWlyZXMgYy9yZWxfLi4gbWFjaGluZSBkZXBlbmRlbnQgY29kZS4KZGlmZiAt +cmMgZ2NsLTIuNS4zLm9yaWcvaC9GcmVlQlNELmggZ2NsLTIuNS4zLm1vZC9oL0ZyZWVCU0QuaAoq +KiogZ2NsLTIuNS4zLm9yaWcvaC9GcmVlQlNELmgJRnJpIE5vdiAgMSAwNTowOTozNCAyMDAyCi0t +LSBnY2wtMi41LjMubW9kL2gvRnJlZUJTRC5oCVNhdCBTZXAgIDYgMTE6MTc6MjQgMjAwMwoqKioq +KioqKioqKioqKioKKioqIDgsMTMgKioqKgotLS0gOCw0NiAtLS0tCiAgCiAgI2luY2x1ZGUgImJz +ZC5oIgogIAorICNpZm5kZWYgX19FTEZfXworICNlcnJvciBGcmVlQlNEIHN5c3RlbXMgdXNlIEVM +RgorICNlbmRpZgorIAorICN1bmRlZiBIQVZFX0FPVVQKKyAjZGVmaW5lIEhBVkVfQU9VVCA8ZWxm +Lmg+CisgI2RlZmluZSBIQVZFX0VMRgorICNkZWZpbmUgRWxmVyhhKSBFbGYzMl8gIyMgYQorIAor +IAorIC8qIFNlZWtpbmcgdG8gdGhlIGVuZCBvZiBFTEYgZGF0YSBpcyBhIGxpdHRsZSBtZXNzeS4u +LiAqLworICNpbmNsdWRlIDxsaW5rLmg+CisgI2RlZmluZSBTRUVLX1RPX0VORF9PRklMRShmcClc +CisgICBkbyB7IFwKKyAJbG9uZyBvZmZzZXQgPSAwLCBlbmRvZmVsZjsgaW50IGo7IFwKKyAJRWxm +VyhFaGRyKSBlaGVhZGVyOyBFbGZXKFNoZHIpIHNoZHI7IFwKKyAgICAgICAgIGZzZWVrKGZwLCAw +LCBTRUVLX1NFVCk7IFwKKyAgICAgICAgIGZyZWFkKCZlaGVhZGVyLCBzaXplb2YoZWhlYWRlciks +IDEsIGZwKTsgXAorICAgLyogaW4gY2FzZSB0aGUgaGVhZGVycyB0aGVtc2VsdmVzIGNvbWUgQUZU +RVIgdGhlIGFjdHVhbCBzZWN0aW9ucyAqLyBcCisgCWVuZG9mZWxmPW9mZnNldCA9IGVoZWFkZXIu +ZV9zaG9mZisgZWhlYWRlci5lX3NoZW50c2l6ZSAqZWhlYWRlci5lX3NobnVtO1wKKyAgICAgICAg +IGZzZWVrKGZwLCBlaGVhZGVyLmVfc2hvZmYsIFNFRUtfU0VUKTsgXAorIAlpZiAoIGVoZWFkZXIu +ZV9zaGVudHNpemUgIT0gc2l6ZW9mKEVsZlcoU2hkcikpICkgXAorIAkgIHsgRkVlcnJvcigiQmFk +IEVMRiBzZWN0aW9uIGhlYWRlciBzaXplIiwwKTsgfSBcCisgICAgICAgICBmb3IgKCBqID0gMDsg +aiA8IGVoZWFkZXIuZV9zaG51bTsgaisrICkgXAorIAkgIHsgZnJlYWQoJnNoZHIsZWhlYWRlci5l +X3NoZW50c2l6ZSwxLGZwKTsgXAorICAgICAgICAgICAgIGlmICggKHNoZHIuc2hfb2Zmc2V0ID4g +b2Zmc2V0KSAmJiAoc2hkci5zaF90eXBlICE9IFNIVF9OT0JJVFMpICkgXAorIAkgICAgICB7IG9m +ZnNldCA9IHNoZHIuc2hfb2Zmc2V0OyBlbmRvZmVsZiA9IG9mZnNldCtzaGRyLnNoX3NpemU7IH0g +XAorIAkgIH0gXAorIAlpZiAoIGZzZWVrKGZwLCBlbmRvZmVsZiwgU0VFS19TRVQpICkgXAorIAkg +ICAgRkVlcnJvcigiQmFkIEVMRiBmaWxlIiwwKTsgXAorICAgICAgIH0gd2hpbGUoMCkKKyAKKyAK +ICAjdW5kZWYgTERfQ09NTUFORAogICNkZWZpbmUgTERfQ09NTUFORChjb21tYW5kLG1haW4sc3Rh +cnQsaW5wdXQsbGRhcmcsb3V0cHV0KSBcCiAgICBzcHJpbnRmKGNvbW1hbmQsICJsZCAtZGMgLU4g +LXggLUEgJXMgLVQgJXggJXMgJXMgLW8gJXMiLCBcCioqKioqKioqKioqKioqKgoqKiogMzksNTUg +KioqKgogICNlbmRpZgogIAogICNkZWZpbmUgREFUQV9CRUdJTiAoY2hhciAqKSBOX0RBVEFERFIo +aGVhZGVyKTsKLSAjZGVmaW5lIEFfVEVYVF9PRkZTRVQoeCkgKHNpemVvZiAoc3RydWN0IGV4ZWMp +KQotICNkZWZpbmUgQV9URVhUX1NFRUsoaGRyKSAoTl9UWFRPRkYoaGRyKSArIEFfVEVYVF9PRkZT +RVQoaGRyKSkKLSAjZGVmaW5lIHN0YXJ0X29mX2RhdGEoKSAmZXRleHQKLSAjZGVmaW5lIHN0YXJ0 +X29mX3RleHQoKSAoKGNoYXIgKikoc2l6ZW9mKHN0cnVjdCBleGVjKSArIGdldHBhZ2VzaXplKCkp +KQotIAotICNkZWZpbmUgVU5JWFNBVkUgInVuZXhlYy5jIgotICNpZmRlZiBVTklYU0FWRSAKLSAg +ZXh0ZXJuIGNoYXIgZXRleHQ7Ci0gI2VuZGlmCiAgCiEgI2RlZmluZSBSRUxPQ19GSUxFICJyZWxf +c3VuMy5jIgkvKiBmb3IgU0ZBU0wgLSBlbmFibGVkIGluIGJzZC5oICovCiAgCiAgI2lmZGVmIENM +T0NLU19QRVJfU0VDCiAgI2RlZmluZSBIWiBDTE9DS1NfUEVSX1NFQwotLS0gNzIsODAgLS0tLQog +ICNlbmRpZgogIAogICNkZWZpbmUgREFUQV9CRUdJTiAoY2hhciAqKSBOX0RBVEFERFIoaGVhZGVy +KTsKICAKISAvKiNkZWZpbmUgVU5FWEVDX1VTRV9NQVBfUFJJVkFURSovCiEgI2RlZmluZSBVTklY +U0FWRSAidW5leGVsZi5jIgogIAogICNpZmRlZiBDTE9DS1NfUEVSX1NFQwogICNkZWZpbmUgSFog +Q0xPQ0tTX1BFUl9TRUMKKioqKioqKioqKioqKioqCioqKiA2Nyw3MyAqKioqCiAgI2RlZmluZSBT +RVRVUF9TSUdfU1RBQ0sgXAogIHsgXAogIAlzdGF0aWMgc3RydWN0IHNpZ2FsdHN0YWNrIGVzdGFj +azsgXAohIAlpZiAoKGVzdGFjay5zc19zcCA9IG1hbGxvYyhTSUdTVEtTWikpID09IE5VTEwpIFwK +ICAJICBwZXJyb3IoIm1hbGxvYyIpOyBcCiAgCWVzdGFjay5zc19zaXplID0gU0lHU1RLU1o7IFwK +ICAJZXN0YWNrLnNzX2ZsYWdzID0gMDsgXAotLS0gOTIsOTkgLS0tLQogICNkZWZpbmUgU0VUVVBf +U0lHX1NUQUNLIFwKICB7IFwKICAJc3RhdGljIHN0cnVjdCBzaWdhbHRzdGFjayBlc3RhY2s7IFwK +ISAJaWYgKGVzdGFjay5zc19zcCA9PSBOVUxMICYmIFwKISAJICAgIChlc3RhY2suc3Nfc3AgPSBt +YWxsb2MoU0lHU1RLU1opKSA9PSBOVUxMKSBcCiAgCSAgcGVycm9yKCJtYWxsb2MiKTsgXAogIAll +c3RhY2suc3Nfc2l6ZSA9IFNJR1NUS1NaOyBcCiAgCWVzdGFjay5zc19mbGFncyA9IDA7IFwKZGlm +ZiAtcmMgZ2NsLTIuNS4zLm9yaWcvby9yZWFkbGluZS5kIGdjbC0yLjUuMy5tb2Qvby9yZWFkbGlu +ZS5kCioqKiBnY2wtMi41LjMub3JpZy9vL3JlYWRsaW5lLmQJU2F0IEp1bCAyMCAwOToxMDo1NiAy +MDAyCi0tLSBnY2wtMi41LjMubW9kL28vcmVhZGxpbmUuZAlGcmkgU2VwICA1IDE5OjM5OjQwIDIw +MDMKKioqKioqKioqKioqKioqCioqKiA5NCwxMDAgKioqKgogICAgIHRoZSB3b3JkIHRvIGNvbXBs +ZXRlLiAgV2UgY2FuIHVzZSB0aGUgZW50aXJlIGNvbnRlbnRzIG9mIHJsX2xpbmVfYnVmZmVyCiAg +ICAgaW4gY2FzZSB3ZSB3YW50IHRvIGRvIHNvbWUgc2ltcGxlIHBhcnNpbmcuICBSZXR1cm4gdGhl +IGFycmF5IG9mIG1hdGNoZXMsCiAgICAgb3IgTlVMTCBpZiB0aGVyZSBhcmVuJ3QgYW55LiAqLwoh +IGV4dGVybiBjaGFyICoqY29tcGxldGlvbl9tYXRjaGVzKGNoYXIgKixjaGFyICooKikoY2hhciAq +LGludCkpOwogIHN0YXRpYyBjaGFyICoqcmxfY29tcGxldGlvbihjaGFyICp0ZXh0LCBpbnQgc3Rh +cnQsIGludCBlbmQpIHsKICAJcmV0dXJuIGNvbXBsZXRpb25fbWF0Y2hlcyh0ZXh0LCBybF9jb21w +bGV0aW9uX3dvcmRzKTsKICB9Ci0tLSA5NCwxMDAgLS0tLQogICAgIHRoZSB3b3JkIHRvIGNvbXBs +ZXRlLiAgV2UgY2FuIHVzZSB0aGUgZW50aXJlIGNvbnRlbnRzIG9mIHJsX2xpbmVfYnVmZmVyCiAg +ICAgaW4gY2FzZSB3ZSB3YW50IHRvIGRvIHNvbWUgc2ltcGxlIHBhcnNpbmcuICBSZXR1cm4gdGhl +IGFycmF5IG9mIG1hdGNoZXMsCiAgICAgb3IgTlVMTCBpZiB0aGVyZSBhcmVuJ3QgYW55LiAqLwoh +IC8qZXh0ZXJuIGNoYXIgKipjb21wbGV0aW9uX21hdGNoZXMoY2hhciAqLGNoYXIgKigqKShjaGFy +ICosaW50KSk7Ki8KICBzdGF0aWMgY2hhciAqKnJsX2NvbXBsZXRpb24oY2hhciAqdGV4dCwgaW50 +IHN0YXJ0LCBpbnQgZW5kKSB7CiAgCXJldHVybiBjb21wbGV0aW9uX21hdGNoZXModGV4dCwgcmxf +Y29tcGxldGlvbl93b3Jkcyk7CiAgfQpkaWZmIC1yYyBnY2wtMi41LjMub3JpZy9vL3NmYXNsZWxm +LmMgZ2NsLTIuNS4zLm1vZC9vL3NmYXNsZWxmLmMKKioqIGdjbC0yLjUuMy5vcmlnL28vc2Zhc2xl +bGYuYwlXZWQgSnVsIDI0IDIxOjA1OjUzIDIwMDIKLS0tIGdjbC0yLjUuMy5tb2Qvby9zZmFzbGVs +Zi5jCVNhdCBTZXAgIDYgMDA6MzY6NDEgMjAwMwoqKioqKioqKioqKioqKioKKioqIDIzLDI5ICoq +KioKICAgKi8KICAKICAKISAjaWZuZGVmIF9fbGludXhfXwogICNkZWZpbmUgRUxGX1RBUkdFVF9T +UEFSQyAxCiAgI2VuZGlmCiAgCi0tLSAyMywyOSAtLS0tCiAgICovCiAgCiAgCiEgI2lmICFkZWZp +bmVkKF9fbGludXhfXykgJiYgIWRlZmluZWQoX19GcmVlQlNEX18pCiAgI2RlZmluZSBFTEZfVEFS +R0VUX1NQQVJDIDEKICAjZW5kaWYKICAKKioqKioqKioqKioqKioqCioqKiA4Myw4OSAqKioqCiAg +IGlmICghKHN5bWluPWZvcGVuKHN5bWZpbGUsInIiKSkpCiAgICAge3BlcnJvcihzeW1maWxlKTtl +eGl0KDEpO307CiAgIGlmKCFmcmVhZCgoY2hhciAqKSZ0YWIsc2l6ZW9mKHRhYiksMSxzeW1pbikp +CiEgICAgRkVlcnJvcigiTm8gaGVhZGVyIiwwLDApOwogICBzeW1ib2xzPW1hbGxvYyh0YWIudG90 +X2xlbmcpOwogICBjX3RhYmxlLmFsbG9jX2xlbmd0aD0oIChQVEFCTEVfRVhUUkErIHRhYi5uX3N5 +bWJvbHMpKTsKICAgKGNfdGFibGUucHRhYmxlKSA9IChUQUJMICopIG1hbGxvYyhzaXplb2Yoc3Ry +dWN0IG5vZGUpICogY190YWJsZS5hbGxvY19sZW5ndGgpOwotLS0gODMsODkgLS0tLQogICBpZiAo +IShzeW1pbj1mb3BlbihzeW1maWxlLCJyIikpKQogICAgIHtwZXJyb3Ioc3ltZmlsZSk7ZXhpdCgx +KTt9OwogICBpZighZnJlYWQoKGNoYXIgKikmdGFiLHNpemVvZih0YWIpLDEsc3ltaW4pKQohICAg +IEZFZXJyb3IoIk5vIGhlYWRlciIsMCk7CiAgIHN5bWJvbHM9bWFsbG9jKHRhYi50b3RfbGVuZyk7 +CiAgIGNfdGFibGUuYWxsb2NfbGVuZ3RoPSggKFBUQUJMRV9FWFRSQSsgdGFiLm5fc3ltYm9scykp +OwogICAoY190YWJsZS5wdGFibGUpID0gKFRBQkwgKikgbWFsbG9jKHNpemVvZihzdHJ1Y3Qgbm9k +ZSkgKiBjX3RhYmxlLmFsbG9jX2xlbmd0aCk7CioqKioqKioqKioqKioqKgoqKiogMTk2LDIwMiAq +KioqCiAgICAgZmlsZSA9IGZpbGVubyhmcCk7CiAgCiAgICAgaWYgKGZzdGF0IChmaWxlLCAmc3Rh +dF9idWYpID09IC0xKQohICAgICAgRkVlcnJvciAoIkNhbid0IGZzdGF0KH5hKTogZXJybm8gJWRc +biIsIDEsZmFzbGZpbGUpOwogIAogIAogICAgIGlmICh1c2VfbW1hcCkgewotLS0gMTk2LDIwMiAt +LS0tCiAgICAgZmlsZSA9IGZpbGVubyhmcCk7CiAgCiAgICAgaWYgKGZzdGF0IChmaWxlLCAmc3Rh +dF9idWYpID09IC0xKQohICAgICAgRkVlcnJvciAoIkNhbid0IGZzdGF0KH5hKTogZXJybm8gJWRc +biIsIDIsZmFzbGZpbGUsMCk7CiAgCiAgCiAgICAgaWYgKHVzZV9tbWFwKSB7CioqKioqKioqKioq +KioqKgoqKiogMzAzLDMwOSAqKioqCiAgICAgCiAgICAgcmVsb2NhdGVfc3ltYm9scyhzeW1ib2xf +dGFibGUsbnN5bXMsZmlsZV9oLT5lX3NobnVtLCZpbml0X2FkZHJlc3MpOwogICAgIGlmIChpbml0 +X2FkZHJlc3MgPCAwKQohICAgICAgeyBGRWVycm9yKDAsIkluaXQgYWRkcmVzcyBub3QgZm91bmQg +Iik7CiAgICAgICB9CiAgCiAgICAgeyAKLS0tIDMwMywzMDkgLS0tLQogICAgIAogICAgIHJlbG9j +YXRlX3N5bWJvbHMoc3ltYm9sX3RhYmxlLG5zeW1zLGZpbGVfaC0+ZV9zaG51bSwmaW5pdF9hZGRy +ZXNzKTsKICAgICBpZiAoaW5pdF9hZGRyZXNzIDwgMCkKISAgICAgIHsgRkVlcnJvcigiSW5pdCBh +ZGRyZXNzIG5vdCBmb3VuZCAiLDApOwogICAgICAgfQogIAogICAgIHsgCioqKioqKioqKioqKioq +KgoqKiogMzE3LDMyMyAqKioqCiAgCSAgIHsKICAJICAgICBpbnQgaW5kZXhfdG9fcmVsb2NhdGUg +PSBzaHAtPnNoX2luZm87CiAgCSAgICAgaWYgKHN5bXRhYl9pbmRleCAhPSBzaHAtPnNoX2xpbmsp +CiEgCSAgICAgICBGRWVycm9yKCJ1bmV4cGVjdGVkIHN5bWJvbCB0YWJsZSB1c2VkIik7CiAgCSAg +ICAgdGhlX3N0YXJ0ID0gc3RhcnRfYWRkcmVzcyArIHNlY3Rpb25baW5kZXhfdG9fcmVsb2NhdGVd +LnN0YXJ0OwogIAkgICB9CiAgLyogIAkgZWxzZSBpZiAoc2hwLT5zaF90eXBlID09IFNIVF9SRUwg +Ki8KLS0tIDMxNywzMjMgLS0tLQogIAkgICB7CiAgCSAgICAgaW50IGluZGV4X3RvX3JlbG9jYXRl +ID0gc2hwLT5zaF9pbmZvOwogIAkgICAgIGlmIChzeW10YWJfaW5kZXggIT0gc2hwLT5zaF9saW5r +KQohIAkgICAgICAgRkVlcnJvcigidW5leHBlY3RlZCBzeW1ib2wgdGFibGUgdXNlZCIsMCk7CiAg +CSAgICAgdGhlX3N0YXJ0ID0gc3RhcnRfYWRkcmVzcyArIHNlY3Rpb25baW5kZXhfdG9fcmVsb2Nh +dGVdLnN0YXJ0OwogIAkgICB9CiAgLyogIAkgZWxzZSBpZiAoc2hwLT5zaF90eXBlID09IFNIVF9S +RUwgKi8KKioqKioqKioqKioqKioqCioqKiAzMzIsMzM4ICoqKioKICAJIGVsc2UgaWYgKCAoc2hw +LT5zaF90eXBlID09IFNIVF9SRUwpIHx8IChzaHAtPnNoX3R5cGUgPT0gU0hUX1JFTEEpICkKICAJ +ICAgeyAgaWYgKGdldF9zZWN0aW9uX251bWJlcigiLnJlbC5zdGFiIikgPT0gaikKICAJICAgICAg +ICAgY29udGludWU7CiEgCSAgICAgRkVlcnJvcigidW5rbm93biByZWwgdHlwZSIpOwogIAkgICB9 +CiAgCSBlbHNlCiAgCSAgIGNvbnRpbnVlOwotLS0gMzMyLDMzOCAtLS0tCiAgCSBlbHNlIGlmICgg +KHNocC0+c2hfdHlwZSA9PSBTSFRfUkVMKSB8fCAoc2hwLT5zaF90eXBlID09IFNIVF9SRUxBKSAp +CiAgCSAgIHsgIGlmIChnZXRfc2VjdGlvbl9udW1iZXIoIi5yZWwuc3RhYiIpID09IGopCiAgCSAg +ICAgICAgIGNvbnRpbnVlOwohIAkgICAgIEZFZXJyb3IoInVua25vd24gcmVsIHR5cGUiLDApOwog +IAkgICB9CiAgCSBlbHNlCiAgCSAgIGNvbnRpbnVlOwoqKioqKioqKioqKioqKioKKioqIDUyMCw1 +MjYgKioqKgogICAgICBlbHNlIGlmIChzaF90eXBlID09IFNIVF9SRUwpCiAgICAgICAgYSA9IDA7 +CiAgICAgIGVsc2UgewohICAgICAgIEZFZXJyb3IoInJlbG9jYXRlKCkgZXJyb3I6IHVua25vd24g +c2hfdHlwZSBpbiBFTEYgb2JqZWN0Iik7CiAgICAgICAgYT0wOwogICAgICB9CiAgICAgIGIgPSAo +dW5zaWduZWQgaW50KSB0aGVfc3RhcnQ7Ci0tLSA1MjAsNTI2IC0tLS0KICAgICAgZWxzZSBpZiAo +c2hfdHlwZSA9PSBTSFRfUkVMKQogICAgICAgIGEgPSAwOwogICAgICBlbHNlIHsKISAgICAgICBG +RWVycm9yKCJyZWxvY2F0ZSgpIGVycm9yOiB1bmtub3duIHNoX3R5cGUgaW4gRUxGIG9iamVjdCIs +MCk7CiAgICAgICAgYT0wOwogICAgICB9CiAgICAgIGIgPSAodW5zaWduZWQgaW50KSB0aGVfc3Rh +cnQ7CioqKioqKioqKioqKioqKgoqKiogNTQwLDU0OCAqKioqCiAgLyogICAgICBkb19iZmRfcmVs +b2MoRUxGMzJfUl9UWVBFKHJlbG9jX2luZm8tPnJfaW5mbykscythLCh1bnNpZ25lZCBpbnQgKil3 +aGVyZSk7ICovCiAgLyogICNlbHNlICovCiAgICAgIHN3aXRjaChFTEYzMl9SX1RZUEUocmVsb2Nf +aW5mby0+cl9pbmZvKSl7CiEgI2lmIChkZWZpbmVkKF9fc3ZyNF9fKSB8fCBkZWZpbmVkKF9fbGlu +dXhfXykpICYmIGRlZmluZWQoX19pMzg2X18pCiAgICAgIGNhc2UgICAgIFJfMzg2X05PTkU6CiEg +ICAgICAgRkVlcnJvcigiVW5zdXBwb3J0ZWQgRUxGIHR5cGUgUl8zODZfTk9ORSIpOwogICAgICAg +IGJyZWFrOwogIAogICAgICBjYXNlICAgICBSXzM4Nl8zMjoKLS0tIDU0MCw1NDggLS0tLQogIC8q +ICAgICAgZG9fYmZkX3JlbG9jKEVMRjMyX1JfVFlQRShyZWxvY19pbmZvLT5yX2luZm8pLHMrYSwo +dW5zaWduZWQgaW50ICopd2hlcmUpOyAqLwogIC8qICAjZWxzZSAqLwogICAgICBzd2l0Y2goRUxG +MzJfUl9UWVBFKHJlbG9jX2luZm8tPnJfaW5mbykpewohICNpZiAoZGVmaW5lZChfX3N2cjRfXykg +fHwgZGVmaW5lZChfX2xpbnV4X18pIHx8IGRlZmluZWQoX19GcmVlQlNEX18pKSAmJiBkZWZpbmVk +KF9faTM4Nl9fKQogICAgICBjYXNlICAgICBSXzM4Nl9OT05FOgohICAgICAgIEZFZXJyb3IoIlVu +c3VwcG9ydGVkIEVMRiB0eXBlIFJfMzg2X05PTkUiLDApOwogICAgICAgIGJyZWFrOwogIAogICAg +ICBjYXNlICAgICBSXzM4Nl8zMjoKKioqKioqKioqKioqKioqCioqKiA1NTYsNTk1ICoqKioKICAg +ICAgICBicmVhazsKICAKICAgICAgY2FzZSAgICAgUl8zODZfR09UMzI6CiEgICAgICAgRkVlcnJv +cigiVW5zdXBwb3J0ZWQgRUxGIHR5cGUgUl8zODZfR09ZMzIiKTsKICAgICAgICBicmVhazsKICAK +ICAgICAgY2FzZSAgICAgUl8zODZfUExUMzI6CiEgICAgICAgRkVlcnJvcigiVW5zdXBwb3J0ZWQg +RUxGIHR5cGUgUl8zODZfUExUMzIiKTsKICAgICAgICBicmVhazsKICAKICAgICAgY2FzZSAgICAg +Ul8zODZfQ09QWToKISAgICAgICBGRWVycm9yKCJVbnN1cHBvcnRlZCBFTEYgdHlwZSBSXzM4Nl9D +T1BZIik7CiAgICAgICAgYnJlYWs7CiAgCiAgICAgIGNhc2UgICAgIFJfMzg2X0dMT0JfREFUOgoh +ICAgICAgIEZFZXJyb3IoIlVuc3VwcG9ydGVkIEVMRiB0eXBlIFJfMzg2X0dMT0JfREFUIik7CiAg +ICAgICAgYnJlYWs7CiAgCiAgICAgIGNhc2UgICAgIFJfMzg2X0pNUF9TTE9UOgohICAgICAgIEZF +ZXJyb3IoIlVuc3VwcG9ydGVkIEVMRiB0eXBlIFJfMzg2X0pNUF9TTE9UIik7CiAgICAgICAgYnJl +YWs7CiAgCiAgICAgIGNhc2UgICAgIFJfMzg2X1JFTEFUSVZFOgohICAgICAgIEZFZXJyb3IoIlVu +c3VwcG9ydGVkIEVMRiB0eXBlIFJfMzg2X1JFTEFUSVZFIik7CiAgICAgICAgYnJlYWs7CiAgCiAg +ICAgIGNhc2UgICAgIFJfMzg2X0dPVE9GRjoKISAgICAgICBGRWVycm9yKCJVbnN1cHBvcnRlZCBF +TEYgdHlwZSBSXzM4Nl9HT1RPRkYiKTsKICAgICAgICBicmVhazsKICAKICAgICAgY2FzZSAgICAg +Ul8zODZfR09UUEM6CiEgICAgICAgRkVlcnJvcigiVW5zdXBwb3J0ZWQgRUxGIHR5cGUgUl8zODZf +R09UUEMiKTsKICAgICAgICBicmVhazsKICAKICAjaWZkZWYgUl8zODZfTlVNCiAgICAgIGNhc2Ug +ICAgIFJfMzg2X05VTToKISAgICAgICBGRWVycm9yKCJVbnN1cHBvcnRlZCBFTEYgdHlwZSBSXzM4 +Nl9OVU0iKTsKICAgICAgICBicmVhazsKICAjZW5kaWYKICAKLS0tIDU1Niw1OTUgLS0tLQogICAg +ICAgIGJyZWFrOwogIAogICAgICBjYXNlICAgICBSXzM4Nl9HT1QzMjoKISAgICAgICBGRWVycm9y +KCJVbnN1cHBvcnRlZCBFTEYgdHlwZSBSXzM4Nl9HT1kzMiIsMCk7CiAgICAgICAgYnJlYWs7CiAg +CiAgICAgIGNhc2UgICAgIFJfMzg2X1BMVDMyOgohICAgICAgIEZFZXJyb3IoIlVuc3VwcG9ydGVk +IEVMRiB0eXBlIFJfMzg2X1BMVDMyIiwwKTsKICAgICAgICBicmVhazsKICAKICAgICAgY2FzZSAg +ICAgUl8zODZfQ09QWToKISAgICAgICBGRWVycm9yKCJVbnN1cHBvcnRlZCBFTEYgdHlwZSBSXzM4 +Nl9DT1BZIiwwKTsKICAgICAgICBicmVhazsKICAKICAgICAgY2FzZSAgICAgUl8zODZfR0xPQl9E +QVQ6CiEgICAgICAgRkVlcnJvcigiVW5zdXBwb3J0ZWQgRUxGIHR5cGUgUl8zODZfR0xPQl9EQVQi +LDApOwogICAgICAgIGJyZWFrOwogIAogICAgICBjYXNlICAgICBSXzM4Nl9KTVBfU0xPVDoKISAg +ICAgICBGRWVycm9yKCJVbnN1cHBvcnRlZCBFTEYgdHlwZSBSXzM4Nl9KTVBfU0xPVCIsMCk7CiAg +ICAgICAgYnJlYWs7CiAgCiAgICAgIGNhc2UgICAgIFJfMzg2X1JFTEFUSVZFOgohICAgICAgIEZF +ZXJyb3IoIlVuc3VwcG9ydGVkIEVMRiB0eXBlIFJfMzg2X1JFTEFUSVZFIiwwKTsKICAgICAgICBi +cmVhazsKICAKICAgICAgY2FzZSAgICAgUl8zODZfR09UT0ZGOgohICAgICAgIEZFZXJyb3IoIlVu +c3VwcG9ydGVkIEVMRiB0eXBlIFJfMzg2X0dPVE9GRiIsMCk7CiAgICAgICAgYnJlYWs7CiAgCiAg +ICAgIGNhc2UgICAgIFJfMzg2X0dPVFBDOgohICAgICAgIEZFZXJyb3IoIlVuc3VwcG9ydGVkIEVM +RiB0eXBlIFJfMzg2X0dPVFBDIiwwKTsKICAgICAgICBicmVhazsKICAKICAjaWZkZWYgUl8zODZf +TlVNCiAgICAgIGNhc2UgICAgIFJfMzg2X05VTToKISAgICAgICBGRWVycm9yKCJVbnN1cHBvcnRl +ZCBFTEYgdHlwZSBSXzM4Nl9OVU0iLDApOwogICAgICAgIGJyZWFrOwogICNlbmRpZgogIAoqKioq +KioqKioqKioqKioKKioqIDY1Nyw2NjMgKioqKgogIAkgIGZmbHVzaChzdGRvdXQpOwogIAl9CiAg +ICAgIH0KISAgIGVsc2V7RkVlcnJvcigic3ltYm9sIHRhYmxlIG5vdCBsb2FkZWQiLDAsMCk7fQog +IH0KICAKICBzdGF0aWMgdm9pZAotLS0gNjU3LDY2MyAtLS0tCiAgCSAgZmZsdXNoKHN0ZG91dCk7 +CiAgCX0KICAgICAgfQohICAgZWxzZXtGRWVycm9yKCJzeW1ib2wgdGFibGUgbm90IGxvYWRlZCIs +MCk7fQogIH0KICAKICBzdGF0aWMgdm9pZApkaWZmIC1yYyBnY2wtMi41LjMub3JpZy9vL3VuaXhm +YXNsLmMgZ2NsLTIuNS4zLm1vZC9vL3VuaXhmYXNsLmMKKioqIGdjbC0yLjUuMy5vcmlnL28vdW5p +eGZhc2wuYwlTYXQgRmViIDE1IDAxOjM4OjI4IDIwMDMKLS0tIGdjbC0yLjUuMy5tb2Qvby91bml4 +ZmFzbC5jCUZyaSBTZXAgIDUgMTk6MzU6NTcgMjAwMwoqKioqKioqKioqKioqKioKKioqIDI4Miwy +ODggKioqKgogIHN0YXRpYyBpbnQKICBmYXNsaW5rKG9iamVjdCBmYXNsZmlsZSwgb2JqZWN0IGxk +YXJnc3RyaW5nKQogIHsKISAjaWYgZGVmaW5lZChfX2xpbnV4X18pICYmIGRlZmluZWQoX19FTEZf +XykKICAgIEZFZXJyb3IoImZhc2xpbmsoKSBub3Qgc3VwcG9ydGVkIGZvciBFTEYgeWV0IiwwKTsK +ICAgIHJldHVybiAwOwogICNlbHNlCi0tLSAyODIsMjg4IC0tLS0KICBzdGF0aWMgaW50CiAgZmFz +bGluayhvYmplY3QgZmFzbGZpbGUsIG9iamVjdCBsZGFyZ3N0cmluZykKICB7CiEgI2lmIChkZWZp +bmVkKF9fbGludXhfXykgfHwgZGVmaW5lZChfX0ZyZWVCU0RfXykpICYmIGRlZmluZWQoX19FTEZf +XykKICAgIEZFZXJyb3IoImZhc2xpbmsoKSBub3Qgc3VwcG9ydGVkIGZvciBFTEYgeWV0IiwwKTsK +ICAgIHJldHVybiAwOwogICNlbHNlCmRpZmYgLXJjIGdjbC0yLjUuMy5vcmlnL3VuaXhwb3J0L3Jz +eW1fZWxmLmMgZ2NsLTIuNS4zLm1vZC91bml4cG9ydC9yc3ltX2VsZi5jCioqKiBnY2wtMi41LjMu +b3JpZy91bml4cG9ydC9yc3ltX2VsZi5jCVRodSBKdWwgMjUgMjM6NDk6NDcgMjAwMgotLS0gZ2Ns +LTIuNS4zLm1vZC91bml4cG9ydC9yc3ltX2VsZi5jCUZyaSBTZXAgIDUgMjM6NTI6MTcgMjAwMwoq +KioqKioqKioqKioqKioKKioqIDM2LDQyICoqKioKICAjdW5kZWYgRVhUX2FuZF9URVhUX0JTU19E +QVQKICAjZGVmaW5lIG1qb2luKGEsYikgYSAjIyBiCiAgI2RlZmluZSBNam9pbihhLGIpIG1qb2lu +KGEsYikKISAjZGVmaW5lIEVMRlcoYSkgTWpvaW4oRUxGLE1qb2luKF9fRUxGX05BVElWRV9DTEFT +UyxNam9pbihfLGEpKSkKICAKICBpbnQgbnN5bXM7CiAgY2hhciAqbXlfc3RyaW5nX3RhYmxlOwot +LS0gMzYsNDIgLS0tLQogICN1bmRlZiBFWFRfYW5kX1RFWFRfQlNTX0RBVAogICNkZWZpbmUgbWpv +aW4oYSxiKSBhICMjIGIKICAjZGVmaW5lIE1qb2luKGEsYikgbWpvaW4oYSxiKQohICNkZWZpbmUg +RUxGVyhhKSBNam9pbihFTEYzMixNam9pbihfLGEpKQogIAogIGludCBuc3ltczsKICBjaGFyICpt +eV9zdHJpbmdfdGFibGU7CioqKioqKioqKioqKioqKgoqKiogMTM2LDE0MiAqKioqCiAgCXVuc2ln +bmVkIGludCBpOwogIAlGSUxFICpmcDsKICAJaW50IHN5bXNpemU7Ci0gCWV4dGVybiBjaGFyICpt +YWxsb2MoKTsKICAJCiAgICAgICAgICAKICAJZnAgPSBmb3BlbihmaWxlbmFtZSwgUkRPTkxZKTsK +LS0tIDEzNiwxNDEgLS0tLQo= + +\start +Date: Sat, 06 Sep 2003 15:30:10 -0400 +From: William Sit +To: daly@idsi.net +Subject: Re: [Axiom-developer] TeX help + +Tim: + +If you are not concerned with the general line break algorithm in TeX output in +Axiom, there are a number of ways to typeset the expression you gave, on several +lines. One such is given below. + +However, it in unreasonable to expect any TeX output (from Axiom or otherwise) +to include a line breaking algorithm. Even though I believe Axiom uses such an +algorithm in its text mode display of long expressions (as do Maple, and +Mathematica), this is made possible (and desirable) only because the programs +have the information on font metric and screen display dimensions. So in +principle, when the TeX expression is generated, the difficulty is not the +algorithm, but rather the parameters needed to run the algorithm because font +metric and display space or page dimensions are not available at the time. + +So the logical place to use the algorithm is at TeX compile time. But LaTeX does +not perform line break analysis in math mode as far as I know -- or at best it +performs minimal analysis so that when not in display mode, it breaks an in-line +expression at places such as the equal sign of an equation expression, or the +comma within a list. In Lamport's user's guide, p. 50, he explicitly +states:"Breaking a single formula across lines in this way is visual formatting, +and I wish LaTeX could do it for you. However, doing it well requires more +intelligence than LaTeX has, and doing it poorly can make the formula hard to +understand, so you must do it yourself." + +Unfortunately, manually editing these output is very problematical because of +the superfluous parentheses and extra/lack of spacings. Moreover, in order to +break the line, many left parentheses will be left dangling before the line +break, causing the TeX compiler to stop if the quiet flag is not set. In the +following, quiet (or batch mode) should be used. This is not a problem if the +goal is just some hardcopy or screen viewing, but may be a problem in some +automated systems. + +\begin{eqnarray*} +&\displaystyle{{1 +\over {{18} \ {a \sp 2} \ {x \sp 2} \ {\sqrt {3}} \ +{\root {3} \of {a}} }} \cdot +\biggl( +{-{2 \ {b \sp 2} \ {x \sp 2} \ {\sqrt {3}} \ {\log +\left( +{{{{\root {3} \of {a}} \ {{\root {3} \of {{{b \ x}+a}}} \sp +2}}+{{{\root +{3} \of {a}} \sp 2} \ {\root {3} \of {{{b \ x}+a}}}}+a}} +\right)}}+&\\ +&{4 \ {b \sp 2} \ {x \sp 2} \ {\sqrt {3}} \ {\log +\left( +{{{{{\root {3} \of {a}} \sp 2} \ {\root {3} \of {{{b \ x}+a}}}} -a}} +\right)}}+&\\&{{12} +\ {b \sp 2} \ {x \sp 2} \ {\arctan +\left( +{{{{2 \ {\sqrt {3}} \ {{\root {3} \of {a}} \sp 2} \ {\root {3} \of +{{{b \ +x}+a}}}}+{a \ {\sqrt {3}}}} \over {3 \ a}}} +\right)}}+&\\&{{\left( +{{12} \ b \ x} -{9 \ a} +\right)} +\ {\sqrt {3}} \ {\root {3} \of {a}} \ {{\root {3} \of {{{b \ +x}+a}}} \sp +2}}} +\biggr)&} +\end{eqnarray*} + +\start +Date: Sat, 6 Sep 2003 17:42:38 -0400 +From: root +To: dpt@math.harvard.edu +Subject: Re: [Axiom-developer] Debian .deb file + +The Jenks-Sutor book is selling for about $20 on Amazon (used). +Give me a mailing address and I'll send you one. I have several. + +\start +Date: Mon, 8 Sep 2003 10:13:48 +0100 +From: Mike Dewar +To: daly@idsi.net +Subject: Re: [Axiom-developer] TeX help + +Hi Tim, + +Since the formula came from Axiom you could always try using Bob Sutor's +texbreak program (written to make sure that all the formulae in the +Axiom book fitted onto a page). Its probably not as good as breaking +the expression by hand but a lot less work :-) You should find it in +the src/htex directory. + +Cheers, Mike. + +On Fri, Sep 05, 2003 at 10:10:16AM -0400, Tim Daly wrote: +> Andrey, +> +> I tried re-arranging the equation by hand but clearly my skills +> are lacking. I was not expecting automated equation breaking as +> I know that's an unsolved problem. +> +> The equation is automatically TeX formatted by Axiom. + +\start +Date: Mon, 8 Sep 2003 10:24:51 +0100 +From: Mike Dewar +To: dpt@math.harvard.edu +Subject: Re: [Axiom-developer] Debian .deb file + +Dylan, + +All the sources for the Jenks & Sutor book are part of the original +tarball I sent to Tim, and are thus available under the BSD license. + +Most of the book is still relevent although there we released some +errata to deal with minor language changes when 2.0 came out. The list +of categories, domains etc. in the appendices will be quite out of date +by now as well. + +Cheers, Mike. + +On Sat, Sep 06, 2003 at 10:40:26AM -0400, Dylan Thurston wrote: +> On Thu, Sep 04, 2003 at 10:35:09AM -0400, Tim Daly wrote: +> > Funny you should ask about documentation. I'm in the process of +> > rewriting the Axiom textbook. There is work to be done but I'll +> > release an alpha version as soon as I can. +> +> This is the Jenks-Sutor book, correct? Will this also be released +> under a free license? How substantially has the language changed? Is +> it worth picking up a copy of the old version? + +\start +Date: Wed, 10 Sep 2003 09:31:28 +0200 +From: michel.lavaud@univ-orleans.fr +To: axiom-developer@nongnu.org +Subject: Re: [Axiom-developer] TeX help + +Hello, + +There is also the package breqn.sty, whose aim is "automatic line breaking= + +of displayed equations". It is still tagged as experimental. It can be +useful in some (many?) cases, and is used for example by imaxima.el of J. +Harder, to display outputs of Maxima as images included in Emacs. + +It would be interesting to test with your formula, maybe? + +\start +Date: Wed, 10 Sep 2003 06:27:21 -0400 +From: root +To: michel.lavaud@univ-orleans.fr +Subject: Re: [Axiom-developer] TeX help + +Michel, + +Actually I rebuilt Sutor's code and it works as advertised. +If I get the time and still remember to do so I'll add it as +a function in the algebra so anyone can use it on the Axiom +TeX output. Axiom's TeX output uses a very old style of TeX. + +\start +Date: Wed, 10 Sep 2003 16:06:31 +0200 +From: michel.lavaud@univ-orleans.fr +To: daly@idsi.net +Subject: Re: [Axiom-developer] TeX help + +Hello Tim, + +> Actually I rebuilt Sutor's code and it works as advertised. +> If I get the time and still remember to do so I'll add it as +> a function in the algebra so anyone can use it on the Axiom +> TeX output. Axiom's TeX output uses a very old style of TeX. + +Ah excellent ! If it works, that would be the best way, of course. Just by= + +curiosity : is it optimized in the sense described by Gregory Wright, or +does it only check that all formulas fit on a page of a given size (as +explained by Mike Dewar), without worrying whether the number of lines is +minimal ? + +\start +Date: Wed, 10 Sep 2003 09:34:50 -0400 +From: Tim Daly +To: michel.lavaud@univ-orleans.fr +Subject: [Axiom-developer] TeX line breaking + +It doesn't optimize anything as far as I can see. Sutor's quite +good at TeX stuff. Essentially it works by inserting \begin{array} +which is the hack I needed. You can try it on an example by: + +1) start axiom +2) type: )set output tex on +3) type: integrate(1/(x**3 * (a+b*x)**(1/3)),x) +4) cut the tex output starting with $$ and ending with $$ +5) paste it into a buffer +6) replace the opening $$ with \[ +7) replace the closing $$ with \] +8) save it into file foo +9) run texbreak foo.tex + +The texbreak code is attached. It appears to be quite Axiom specific +and Axiom uses very old TeX syntax. + +========================================================================= +/* Released under the Modified BSD license attached to Axiom sources. + * TeX Display Math Mode Line Breaking Program + * + * Author: Robert S. Sutor + * + * Date: 1991 + * + * Change History: + * + * 01/19/92 RSS Change to use \[ \] instead of $$ $$ + * + * 09/01/92 RSS Format and fix =-. + * + * Operation: + * + * This program reads standard input and writes to standard output. Display math + * mode starts with \[ at the beginning of a line and ends with \]. All lines + * not in display math mode are simply printed on standard output. The + * expressions in display math mode are broken so that they fit on a page + * better (line breaking). + * + * The array stuff is being converted to use the array node type. + * + * Restrictions: + * + * 1. Assume \[ and \] start in column 1 and are the only things on the lines. + * + * 2. Comments in display math mode are not preserved. + * + * 3. This is meant to deal with output from the AXIOM computer algebra system. + * Unpredictable results may occur if used with hand-generated TeX code or + * TeX code generated by other programs. + */ + +/* + * Include files and #defines. + */ +#include "useproto.h" +#include +#include +#include +#include + +#define MATHBUFLEN 128*8192 +#define MAXMATHTOKEN 80 +#define MAXCHARSINLINE 60 +#define FATDELIMMULT 2 + +#ifndef max +#define max(a,b) (((a) > (b)) ? (a) : (b)) +#endif +#ifndef min +#define min(a,b) (((a) < (b)) ? (a) : (b)) +#endif + +#define TRUE 1 +#define FALSE 0 + +#define STRCHREQ(str,char) (str[0] == char) + +/* + * Type declarations. + */ + +enum nodeTypes { + N_NODE, + N_TEXT, + N_ARRAY +}; + +typedef struct listNodeStruct { + struct listNodeStruct *nextListNode; + struct listNodeStruct *prevListNode; + enum nodeTypes nodeType; + long width; + long realWidth; + union { + char *text; + struct listNodeStruct *node; + struct arrayNodeStruct *array; + } data; +} listNode; + +typedef struct arrayNodeStruct { + int cols; + listNode *argsNode; + listNode *entries; /* linked list of nodes, each pointing to a + * row */ +} arrayNode; + + +/* + * Global Variables. + */ + +char line[1024]; +char blanks[] = " "; +char lastPrinted = '\0'; +int indent = 0; +char mathBuffer[MATHBUFLEN], mathToken[MAXMATHTOKEN]; +int lineLen, mathBufferLen, mathBufferPtr, mathTokenLen; +listNode *mathList; +int charsOut, fatDelimiter; +int maxLineWidth = 4500; /* 4.5 inches * 1000 */ +int maxLineSlop = 0; /* 0.0 inches * 1000 */ +int charTable[256]; +int avgCharWidth; +int spaceWidths[5], extraOverWidth; +int arrayDepth = 0, arrayMaxDepth = 3; +int charMultNum, charMultDenom; +int sinWidth, cosWidth, tanWidth, erfWidth; +long outLineNum = 0L; + +/* + * Function Prototypes. + */ +#ifndef _NO_PROTO +void arrayTooDeep(); +int breakFracProd(listNode *, long, char *, char *, int); +int breakFunction(listNode *, long); +int breakList(listNode *, long); +int breakMathList(listNode *, long); +int breakNumber(listNode *, long); +int breakPMEB(listNode *, long); +int breakParen(listNode *, long); +int bufferMathLines(); +void buildMathList(); +int charWidth(char); +void computeNodeWidth(listNode *); +long computeWidth(listNode *); +void displaySplitMsg(char *, int); +void error(char *, char *); +void freeMathList(listNode *); +void getOptions(int, char **); +void initCharTable(); +listNode *insertStringAfter(char *, listNode *); +listNode *insertStringAtBack(char *, listNode *); +listNode *insertStringAtFront(char *, listNode *); +int newLineIfNecessary(int); +listNode *newListNode(enum nodeTypes); +int nextMathToken(); +int printChar(char); +int printMathList(listNode *, int); +int printString(char *); +void resetCharMults(); +listNode *string2NodeList(char *, listNode *); +void ttCharMults(); +#else +void arrayTooDeep(); +int breakFracProd(); +int breakFunction(); +int breakList(); +int breakMathList(); +int breakNumber(); +int breakPMEB(); +int breakParen(); +int bufferMathLines(); +void buildMathList(); +int charWidth(); +void computeNodeWidth(); +long computeWidth(); +void displaySplitMsg(); +void error(); +void freeMathList(); +void getOptions(); +void initCharTable(); +listNode *insertStringAfter(); +listNode *insertStringAtBack(); +listNode *insertStringAtFront(); +int newLineIfNecessary(); +listNode *newListNode(); +int nextMathToken(); +int printChar(); +int printMathList(); +int printString(); +void resetCharMults(); +listNode *string2NodeList(); +void ttCharMults(); +#endif + + +/* + * Function Definitions. + */ + +int +#ifndef _NO_PROTO +main(int argc, char *argv[]) +#else +main(argc,argv) +int argc; +char *argv[]; +#endif +{ + int mathLinesRead; + + getOptions(argc, argv); + initCharTable(); + + /* + * Read stdin line by line. When we come to a line that starts with \[, + * go into math mode. + */ + + while (gets(line) != NULL) { + lineLen = strlen(line); + if ((lineLen > 1) && ('\\' == line[0]) && ('[' == line[1])) { + puts("\\["); + outLineNum++; + + mathLinesRead = bufferMathLines(); + if (mathLinesRead <= 0) { + puts("\\quad"); + outLineNum++; + } + else { + fatDelimiter = 1; + arrayDepth = 0; + mathList = newListNode(N_NODE); + buildMathList(mathList); + resetCharMults(); + computeWidth(mathList); + if (mathList->width > maxLineWidth) + fprintf(stderr, "Width = %ld units, Output line = %ld.\n", mathList->width, outLineNum); + breakMathList(mathList, maxLineWidth); + charsOut = 0; + if (FALSE == printMathList(mathList->data.node, TRUE)) { + putc('\n', stdout); + outLineNum++; + } + freeMathList(mathList); + } + puts("\\]"); + } + else + puts(line); + outLineNum++; + } + return 0; +} + +/* + * breakFracProd: + * + * Arguments: + * + * n : the starting node at which we are to try to break + * + * lineWidth : the maximum width of a line + * + * match : either "\\over" or "\\ " + * + * label : either "quotient" or "product" + * + * paren : add parentheses (TRUE or FALSE) + * + * + * Returns: TRUE or FALSE, depending on whether the expression was broken + * + * + * Function: Tries to break up a quotient t1 \over t2 or a product t1 \ t2 by + * splitting and parenthesizing the numerator and/or the denominator. + */ + +int +#ifndef _NO_PROTO +breakFracProd(listNode * n, long lineWidth, char *match, char *label, int paren) +#else +breakFracProd(n,lineWidth,match,label,paren) +listNode * n; +long lineWidth; +char *match; +char *label; +int paren; +#endif +{ + + listNode *rootNode, *lastNode, *t1, *t2; + int ok; + long workWidth1, workWidth2; + + if (n->nodeType != N_NODE) + return FALSE; + + rootNode = n; + + ok = FALSE; + t1 = n = rootNode->data.node; + n = n->nextListNode; + if (n) { + if ((n->nodeType == N_TEXT) && + (0 == strcmp(n->data.text, match))) { + t2 = n->nextListNode; + if (t2 && (NULL == t2->nextListNode)) + ok = TRUE; + } + } + + displaySplitMsg(label, ok); + + if (ok) { + + /* for products, determine rough widths for the two factors */ + + if (0 == strcmp(label, "product")) { + computeNodeWidth(t1); + computeNodeWidth(t2); + workWidth1 = lineWidth - charWidth(' '); + + if (workWidth1 / 2 > t1->realWidth) { + workWidth2 = workWidth1 - t1->realWidth; + workWidth1 = t1->realWidth; + } + else if (workWidth1 / 2 > t2->realWidth) { + workWidth1 = workWidth1 - t2->realWidth; + workWidth2 = t2->realWidth; + } + else + workWidth1 = workWidth2 = workWidth1 / 2; + + if (paren) { + if (t1->realWidth > workWidth1) + workWidth1 = workWidth1 - 4 * FATDELIMMULT * charWidth('('); + if (t2->realWidth > workWidth2) + workWidth2 = workWidth2 - 4 * FATDELIMMULT * charWidth('('); + } + } + else /* "quotient" */ + workWidth1 = workWidth2 = + lineWidth - paren * 4 * FATDELIMMULT * charWidth('('); + + if ((t1->nodeType == N_NODE) && (t1->realWidth > workWidth1)) { + t1->width = t1->realWidth; + + if (breakMathList(t1, workWidth1) && paren) { + /* insert the \left( */ + lastNode = insertStringAtFront("\\left(", t1); + + while (lastNode->nextListNode) + lastNode = lastNode->nextListNode; + + /* insert the \right) */ + insertStringAtBack("\\right)", lastNode); + } + } + + if ((t2->nodeType == N_NODE) && (t2->realWidth > workWidth2)) { + t2->width = t2->realWidth; + + if (breakMathList(t2, workWidth2) && paren) { + /* insert the \left( */ + lastNode = insertStringAtFront("\\left(", t2); + + while (lastNode->nextListNode) + lastNode = lastNode->nextListNode; + + /* insert the \right) */ + insertStringAtBack("\\right)", lastNode); + } + } + + return TRUE; + } + return FALSE; +} + + +int +#ifndef _NO_PROTO +breakFunction(listNode * n, long lineWidth) +#else +breakFunction(n,lineWidth) +listNode * n; +long lineWidth; +#endif +{ + listNode *rootNode, *tmpNode, *lastNode, *t1, *t2, *t3; + int ok = FALSE; + long workWidth, maxWidth = 0; + + if (n->nodeType != N_NODE) + return FALSE; + + n = n->data.node; + + if (n->nodeType == N_NODE) + return FALSE; + + if ((0 == strcmp(n->data.text, "\\sin")) || + (0 == strcmp(n->data.text, "\\cos")) || + (0 == strcmp(n->data.text, "\\tan")) || + (0 == strcmp(n->data.text, "\\log")) || + (0 == strcmp(n->data.text, "\\arctan")) || + (0 == strcmp(n->data.text, "\\erf"))) { + computeNodeWidth(n); + ok = TRUE; + } + + displaySplitMsg("function", ok); + + if (ok) { + t2 = newListNode(N_NODE); + t2->data.node = n->nextListNode; + t2->prevListNode = n; + n->nextListNode = t2; + ok = breakMathList(t2, lineWidth - n->realWidth); + } + + return ok; +} + +/* + * breakList: + * + * Arguments: + * + * n : the starting node at which we are to try to break + * + * lineWidth : the maximum width of a line + * + * + * Returns: TRUE or FALSE, depending on whether the expression was broken + * + * + * Function: Tries to split an expression that is bracketed by \left[ and + * \right] (or \left\{ and \right\} and contains at least one comma. + */ + +int +#ifndef _NO_PROTO +breakList(listNode * n, long lineWidth) +#else +breakList(n,lineWidth) +listNode * n; +long lineWidth; +#endif +{ + listNode *rootNode, *tmpNode, *lastNode, *t1, *t2, *t3; + int ok, comma; + long workWidth, maxWidth = 0; + + if (n->nodeType != N_NODE) + return FALSE; + + rootNode = n; + + t1 = n = rootNode->data.node; + comma = ok = FALSE; + + if ((t1->nodeType == N_TEXT) && + (0 == strcmp(t1->data.text, "\\left")) && + (t1->nextListNode) && + (t1->nextListNode->nodeType == N_TEXT) && + ((0 == strcmp(t1->nextListNode->data.text, "[")) || + (0 == strcmp(t1->nextListNode->data.text, "\\{")))) { + + t1 = t1->nextListNode->nextListNode; + + /* + * Check for a special case: sometimes the whole body of the list is + * a node. Flatten this, if possible. + */ + + if ((t1->nodeType == N_NODE) && + (t1->nextListNode->nodeType == N_TEXT) && + (0 == strcmp(t1->nextListNode->data.text, "\\right"))) { + tmpNode = t1->prevListNode; + t2 = t1->nextListNode; + t3 = t1->data.node; + tmpNode->nextListNode = t3; + t3->prevListNode = tmpNode; + while (t3->nextListNode) + t3 = t3->nextListNode; + t3->nextListNode = t2; + t2->prevListNode = t3; + free(t1); + t1 = tmpNode->nextListNode; + } + + while (t1->nextListNode && !ok) { + if ((t1->nodeType == N_TEXT) && + (0 == strcmp(t1->data.text, ","))) + comma = TRUE; + else if ((t1->nodeType == N_TEXT) && + (0 == strcmp(t1->data.text, "\\right")) && + (t1->nextListNode->nodeType == N_TEXT) && + ((0 == strcmp(t1->nextListNode->data.text, "]")) || + (0 == strcmp(t1->nextListNode->data.text, "\\}"))) && + (NULL == t1->nextListNode->nextListNode)) { + ok = comma; + tmpNode = t1->nextListNode; + } + t1 = t1->nextListNode; + } + } + + displaySplitMsg("list", ok); + + if (ok) { + if (arrayDepth >= arrayMaxDepth) { + arrayTooDeep(); + return FALSE; + } + + /* + * Create array environment + */ + + lastNode = insertStringAtFront("\\begin{array}{@{}l}\\displaystyle", rootNode); + arrayDepth++; + insertStringAtBack("\\end{array}", tmpNode); + + /* + * Now break at best place short of width. Start after the + * environment begins and after the \left( + */ + + n = lastNode->nextListNode->nextListNode->nextListNode; + + /* + * try to split the first expression if too big + */ + + tmpNode = n->nextListNode; + if (breakMathList(n, lineWidth)) { + workWidth = n->width; + n = tmpNode; + } + else + workWidth = n->width; + maxWidth = workWidth; + + while (n->nextListNode) { + if ((n->nodeType == N_TEXT) && + ((0 == strcmp(n->data.text, ",")) || + (0 == strcmp(n->data.text, "\\:"))) && + (workWidth + n->nextListNode->width > lineWidth)) { + maxWidth = max(maxWidth, workWidth); + n = insertStringAfter("\\right. \\\\ \\\\ \\displaystyle \\left.", n); + + /* + * try to split the next expression if too big + */ + + tmpNode = n->nextListNode; + if (breakMathList(n, lineWidth)) { + workWidth = n->width; + n = tmpNode; + } + else + workWidth = n->width; + } + else { + workWidth += n->nextListNode->width; + n = n->nextListNode; + } + } + + rootNode->width = rootNode->realWidth = + rootNode->data.node->width = rootNode->data.node->realWidth = + maxWidth; + arrayDepth--; + + return TRUE; + } + + return FALSE; +} + +/* + * breakNumber: + * + * Arguments: + * + * rootNode : the starting node at which we are to try to break + * + * lineWidth : the maximum width of a line + * + * + * Returns: TRUE or FALSE, depending on whether the expression was broken + * + * + * Function: Tries to break an expression that contains only digits and possibly + * a decimal point. + */ + +int +#ifndef _NO_PROTO +breakNumber(listNode * rootNode, long lineWidth) +#else +breakNumber(rootNode,lineWidth) +listNode * rootNode; +long lineWidth; +#endif +{ + int ok = TRUE; + listNode *n, *arrNode, *rowNode, *colNode; + long workWidth, maxWidth = 0; + + if (rootNode->nodeType != N_NODE) + return FALSE; + + n = rootNode->data.node; + while (n && ok) { + if ((n->nodeType == N_TEXT) && + (n->data.text[1] == '\0') && + (isdigit(n->data.text[0]) || ('.' == n->data.text[0]))) { + n = n->nextListNode; + } + else + ok = FALSE; + } + + displaySplitMsg("number", ok); + + if (ok) { + if (arrayDepth >= arrayMaxDepth) { + arrayTooDeep(); + return FALSE; + } + + arrayDepth++; + arrNode = newListNode(N_ARRAY); + arrNode->data.array->entries = rowNode = newListNode(N_NODE); + arrNode->data.array->cols = 1; + arrNode->data.array->argsNode = newListNode(N_NODE); + string2NodeList("{@{}l}", arrNode->data.array->argsNode); + + n = rootNode->data.node; + computeWidth(n); + maxWidth = workWidth = n->width; + rowNode->data.node = colNode = newListNode(N_NODE); + colNode->data.node = n; + n = n->nextListNode; + + while (n) { + computeWidth(n); + + if (workWidth + n->width > lineWidth) { + maxWidth = max(maxWidth, workWidth); + + /* + * time to start a new row + */ + + n->prevListNode->nextListNode = NULL; + n->prevListNode = NULL; + workWidth = n->width; + rowNode->nextListNode = newListNode(N_NODE); + rowNode = rowNode->nextListNode; + rowNode->data.node = colNode = newListNode(N_NODE); + colNode->data.node = n; + } + else + workWidth += (n->nextListNode) ? n->nextListNode->width :0 ; + + n = n->nextListNode; + } + + rootNode->data.node = arrNode; + rootNode->width = rootNode->realWidth = + arrNode->width = arrNode->realWidth = maxWidth; + arrayDepth--; + + return TRUE; + } + + return FALSE; +} + +void +#ifndef _NO_PROTO +resetWidths(listNode * n) +#else +resetWidths(n) +listNode * n; +#endif +{ + if (n) { + n->width = -1; + n->realWidth = 0; + if (n->nodeType == N_NODE) + resetWidths(n->data.node); + resetWidths(n->nextListNode); + } +} + +/* + * breakParen: + * + * Arguments: + * + * n : the starting node at which we are to try to break + * + * lineWidth : the maximum width of a line + * + * + * Returns: TRUE or FALSE, depending on whether the expression was broken + * + * + * Function: Tries to split an expression that is bracketed by left( and \right) + * (e.g., a factor). + */ + +int +#ifndef _NO_PROTO +breakParen(listNode * n, long lineWidth) +#else +breakParen(n,lineWidth) +listNode * n; +long lineWidth; +#endif +{ + listNode *tmpNode, *workNode; + int ok = FALSE; + + if (n->nodeType != N_NODE) + goto say_msg; + + tmpNode = n->data.node; + + /* + * check for \left + */ + + if ((tmpNode == NULL) || + (tmpNode->nodeType == N_NODE) || + (0 != strcmp(tmpNode->data.text, "\\left"))) + goto say_msg; + + /* + * check for '(' + */ + + tmpNode = tmpNode->nextListNode; + + if ((tmpNode == NULL) || + (tmpNode->nodeType == N_NODE) || + ('(' != tmpNode->data.text[0])) + goto say_msg; + + /* + * now move to the end + */ + + tmpNode = tmpNode->nextListNode; + + if (tmpNode != NULL) { + while (tmpNode->nextListNode) + tmpNode = tmpNode->nextListNode; + tmpNode = tmpNode->prevListNode; + } + + /* + * check for \right + */ + + if ((tmpNode == NULL) || + (tmpNode->nodeType == N_NODE) || + (0 != strcmp(tmpNode->data.text, "\\right"))) + goto say_msg; + + /* + * check for ')' + */ + + tmpNode = tmpNode->nextListNode; + + if ((tmpNode == NULL) || + (tmpNode->nodeType == N_NODE) || + (')' != tmpNode->data.text[0])) + goto say_msg; + + ok = TRUE; + +say_msg: + displaySplitMsg("parenthesized expression", ok); + + if (ok) { + + /* + * nest the whole inside if necessary, i.e., there is more than one + * term between the ( and the \right + */ + + if (tmpNode->prevListNode->prevListNode != + n->data.node->nextListNode->nextListNode) { + workNode = newListNode(N_NODE); + workNode->data.node = n->data.node->nextListNode->nextListNode; + n->data.node->nextListNode->nextListNode = workNode; + tmpNode->prevListNode->prevListNode->nextListNode = NULL; + tmpNode->prevListNode->prevListNode = workNode; + workNode->prevListNode = n->data.node->nextListNode; + workNode->nextListNode = tmpNode->prevListNode; + resetWidths(workNode); + computeWidth(workNode); + } + + return breakMathList(n->data.node->nextListNode->nextListNode, + lineWidth - 4 * FATDELIMMULT * charWidth('(')); + } + + return FALSE; +} + +/* + * breakPMEB: + * + * Arguments: + * + * n : the starting node at which we are to try to break + * + * lineWidth : the maximum width of a line + * + * + * Returns: TRUE or FALSE, depending on whether the expression was broken + * + * + * Function: Tries to split an expression that contains only +, -, = or \ as + * operators. The split occurs after the operator. + */ + +int +#ifndef _NO_PROTO +breakPMEB(listNode * n, long lineWidth) +#else +breakPMEB(n,lineWidth) +listNode * n; +long lineWidth; +#endif +{ + char *s; + listNode *rootNode, *tmpNode, *lastNode; + int ok, op; + long workWidth, maxWidth = 0; + + if (n->nodeType != N_NODE) + return FALSE; + + if (n->width <= lineWidth + maxLineSlop) /* allow a little slop here */ + return FALSE; + + rootNode = n; + tmpNode = n = n->data.node; + ok = TRUE; + op = FALSE; + + while (n && ok) { + if (n->nodeType == N_TEXT) { + s = n->data.text; + if (STRCHREQ(s, '+') || STRCHREQ(s, '-') || STRCHREQ(s, '=') || + (0 == strcmp(s, "\\ "))) + op = TRUE; + else if ((0 == strcmp(s, "\\left")) || + (0 == strcmp(s, "\\right")) || + (0 == strcmp(s, "\\over")) || + STRCHREQ(s, ',')) { + ok = FALSE; + break; + } + } + tmpNode = n; + n = n->nextListNode; + } + ok = ok & op; + + displaySplitMsg("(+,-,=, )-expression", ok); + + + if (ok) { + if (arrayDepth >= arrayMaxDepth) { + arrayTooDeep(); + return FALSE; + } + + /* + * Create array environment + */ + + lastNode = insertStringAtFront("\\begin{array}{@{}l}\\displaystyle", rootNode); + arrayDepth++; + insertStringAtBack("\\end{array}", tmpNode); + + /* + * Now break at best place short of width. Start after the + * environment begins. + */ + + n = lastNode->nextListNode; + + /* + * try to split the first expression if too big + */ + + tmpNode = n->nextListNode; + if (breakMathList(n, lineWidth)) { + workWidth = n->width; + n = tmpNode; + } + else + workWidth = n->width; + maxWidth = workWidth; + + while (n->nextListNode) { + loop_top: + if ((n->nodeType == N_TEXT) && + (STRCHREQ(n->data.text, '+') || STRCHREQ(n->data.text, '-') || + STRCHREQ(n->data.text, '=') || + (0 == strcmp(n->data.text, "\\ "))) && + (workWidth > 24) && /* avoid - or + on their own line */ + (workWidth + n->nextListNode->width > lineWidth)) { + + if ((workWidth < lineWidth / 3) && + (breakMathList(n->nextListNode, lineWidth - workWidth))) { + n->nextListNode->width = -1; + n->nextListNode->realWidth = 0; + computeNodeWidth(n->nextListNode); + goto loop_top; + } + + /* + * \ means multiplication. Use a \cdot to make this clearer + */ + + if (0 == strcmp(n->data.text, "\\ ")) + n = insertStringAfter("\\cdot \\\\ \\\\ \\displaystyle", n); + else + n = insertStringAfter("\\\\ \\\\ \\displaystyle", n); + maxWidth = max(maxWidth, workWidth); + + /* + * try to split the next expression if too big + */ + + tmpNode = n->nextListNode; + if (breakMathList(n, lineWidth)) { + workWidth = n->width; + n = tmpNode; + } + else + workWidth = n->width; + } + else { + workWidth += n->nextListNode->width; + n = n->nextListNode; + } + } + + rootNode->width = rootNode->realWidth = + rootNode->data.node->width = rootNode->data.node->realWidth = + maxWidth; + arrayDepth--; + + return TRUE; + } + + return FALSE; +} + +/* + * breakMathList: + * + * Arguments: + * + * n : the starting node at which we are to try to break + * + * lineWidth : the maximum width of a line + * + * + * Returns: TRUE or FALSE, depending on whether the expression was broken + * + * + * Function: Tries various methods to break the expression up into multiple + * lines if the expression is too big. + */ + +int +#ifndef _NO_PROTO +breakMathList(listNode * n, long lineWidth) +#else +breakMathList(n,lineWidth) +listNode * n; +long lineWidth; +#endif +{ + int split = FALSE; + + /* + * Don't do anything if already short enough. + */ + + if (n->width <= lineWidth) + return FALSE; + + /* + * Can't split strings, so just return. + */ + + if (n->nodeType == N_TEXT) + return FALSE; + + blanks[indent] = ' '; + indent += 2; + blanks[indent] = '\0'; + + /* + * We know we have a node, so see what we can do. + */ + + /* + * Case 1: a product: t1 \ t2 + */ + + if (split = breakFracProd(n, lineWidth, "\\ ", "product", FALSE)) + goto done; + + /* + * Case 2: a sequence of tokens separated by +, - or = + */ + + if (split = breakPMEB(n, lineWidth)) + goto done; + + /* + * Case 3: a fraction of terms: t1 \over t2 + */ + + if (split = breakFracProd(n, lineWidth, "\\over", "quotient", TRUE)) + goto done; + + /* + * Case 4: a list of terms bracketed by \left[ and \right] with a comma + */ + + if (split = breakList(n, lineWidth)) + goto done; + + /* + * Case 5: a list of digits, possibly with one "." + */ + + if (split = breakNumber(n, lineWidth)) + goto done; + + /* + * Case 6: a parenthesized expression (e.g., a factor) + */ + + if (split = breakParen(n, lineWidth)) + goto done; + + /* + * Case 7: a function application + */ + + if (split = breakFunction(n, lineWidth)) + goto done; + +done: + blanks[indent] = ' '; + indent -= 2; + blanks[indent] = '\0'; + + return split; +} + +void +#ifndef _NO_PROTO +buildMathList(listNode * oldNode) +#else +buildMathList(oldNode) +listNode * oldNode; +#endif +{ + listNode *curNode, *tmpNode; + + curNode = NULL; + while (nextMathToken()) { + if (mathToken[0] == '}') + break; + if (mathToken[0] == '{') { + tmpNode = newListNode(N_NODE); + buildMathList(tmpNode); + } + else { + tmpNode = newListNode(N_TEXT); + tmpNode->data.text = strdup(mathToken); + } + if (curNode == NULL) { + oldNode->data.node = tmpNode; + } + else { + tmpNode->prevListNode = curNode; + curNode->nextListNode = tmpNode; + } + curNode = tmpNode; + } + + /* + * leave with one level of nesting, e.g., {{{x}}} --> {x} + */ + + tmpNode = oldNode->data.node; + while ( tmpNode && (tmpNode->nodeType == N_NODE) && + (tmpNode->nextListNode == NULL) ) { + oldNode->data.node = tmpNode->data.node; + free(tmpNode); + tmpNode = oldNode->data.node; + } +} + +int +bufferMathLines() +{ + + /* + * Returns number of lines read. Returns negative this number if + * end-of-file was reached before final \]. + */ + + char curChar, lastChar, *eq; + int i, linesRead = 0; + + mathBufferPtr = 0; + mathBufferLen = 0; + mathBuffer[0] = '\0'; + + while (gets(line) != NULL) { + lineLen = strlen(line); + + if (('\\' == line[0]) && (']' == line[1])) + return linesRead; + else { + linesRead++; + + /* + * Go through the line and change any unescaped % to a \0. Change + * any tab to a blank. + */ + + lastChar = ' '; + i = 0; + while ((curChar = line[i]) != '\0') { + if ((curChar == '%') && (lastChar != '\\')) { + line[i] = '\0'; + break; + } + else if (curChar == '\t') + curChar = line[i] = ' '; + i++; + lastChar = curChar; + } + lineLen = i; + + if (lineLen == 0) /* skip empty lines */ + ; + else { + + /* + * Stick the line in the math buffer. + */ + + if (mathBufferLen + 1 + lineLen >= MATHBUFLEN) + error("math buffer exceeded.", ""); + + if ((mathBufferLen > 0) && (mathBuffer[mathBufferLen - 1] != ' ')) { + strcat(mathBuffer, " "); + mathBufferLen++; + } + + if (lineLen) { + strcat(mathBuffer, line); + mathBufferLen += lineLen; + } + } + } + } + return (-linesRead); +} + +void +#ifndef _NO_PROTO +computeNodeWidth(listNode * n) +#else +computeNodeWidth(n) +listNode * n; +#endif +{ + char *s; + int i; + listNode *tmp; + + if (n->width != -1) /* only = -1 if unprocessed */ + return; + + n->realWidth = 0; + + if (n->nodeType == N_TEXT) { + s = n->data.text; + if (s[0] == '\\') { + if (s[2] == '\0') { + switch (s[1]) { + case ' ': + n->width = spaceWidths[0]; + break; + case ',': + n->width = spaceWidths[1]; + break; + case '!': + n->width = spaceWidths[2]; + break; + case ':': + n->width = spaceWidths[3]; + break; + case ';': + n->width = spaceWidths[4]; + break; + default: + n->width = avgCharWidth; + } + n->realWidth = n->width; + } + else if ((0 == strcmp(s, "\\displaystyle")) || + (0 == strcmp(s, "\\bf")) || + (0 == strcmp(s, "\\sf")) || + (0 == strcmp(s, "\\tt")) || + (0 == strcmp(s, "\\rm")) || + (0 == strcmp(s, "\\hbox")) || + (0 == strcmp(s, "\\mbox")) || + (0 == strcmp(s, "\\overline")) || + (0 == strcmp(s, "\\textstyle")) || + (0 == strcmp(s, "\\scriptstyle")) || + (0 == strcmp(s, "\\scriptscriptstyle"))) { + n->width = 0; + } + else if (0 == strcmp(s, "\\ldots")) + n->width = 3 * charWidth('.'); + else if (0 == strcmp(s, "\\left")) { + tmp = n->nextListNode; + if (tmp->nodeType != N_TEXT) + error("unusual token following \\left", ""); + n->realWidth = n->width = (tmp->data.text[0] == '.') + ? 0 + : charWidth(tmp->data.text[0]); + tmp->width = 0; + fatDelimiter = 1; + } + else if (0 == strcmp(s, "\\over")) { + + /* + * have already added in width of numerator + */ + computeNodeWidth(n->nextListNode); + n->realWidth = extraOverWidth + max(n->prevListNode->width, n->nextListNode->width); + n->width = n->realWidth - n->prevListNode->width; + n->nextListNode->width = 0; + fatDelimiter = FATDELIMMULT; + } + else if (0 == strcmp(s, "\\right")) { + tmp = n->nextListNode; + if (tmp->nodeType != N_TEXT) + error("unusual token following \\right", ""); + n->realWidth = n->width = fatDelimiter * + ((tmp->data.text[0] == '.') ? 0 : charWidth(tmp->data.text[0])); + tmp->width = 0; + fatDelimiter = 1; + } + else if (0 == strcmp(s, "\\root")) { + computeNodeWidth(n->nextListNode); /* which root */ + n->nextListNode->nextListNode->width = 0; /* \of */ + tmp = n->nextListNode->nextListNode->nextListNode; + computeNodeWidth(tmp); /* root of */ + n->realWidth = n->width = tmp->width + (avgCharWidth / 2) + + max(avgCharWidth, n->nextListNode->width); + n->nextListNode->width = 0; + tmp->width = 0; + } + else if (0 == strcmp(s, "\\sqrt")) { + computeNodeWidth(n->nextListNode); + n->realWidth = n->width = + avgCharWidth + (avgCharWidth / 2) + n->nextListNode->width; + n->nextListNode->width = 0; + } + else if (0 == strcmp(s, "\\zag")) { + computeNodeWidth(n->nextListNode); + computeNodeWidth(n->nextListNode->nextListNode); + n->realWidth = n->width = avgCharWidth + max(n->nextListNode->width, + n->nextListNode->nextListNode->width); + n->nextListNode->width = 0; + n->nextListNode->nextListNode->width = 0; + fatDelimiter = FATDELIMMULT; + } + else if ((0 == strcmp(s, "\\alpha")) || + (0 == strcmp(s, "\\beta")) || + (0 == strcmp(s, "\\pi"))) { + n->realWidth = n->width = avgCharWidth; + } + else if (0 == strcmp(s, "\\sin")) + /* should use table lookup here */ + n->realWidth = n->width = sinWidth; + else if (0 == strcmp(s, "\\cos")) + n->realWidth = n->width = cosWidth; + else if (0 == strcmp(s, "\\tan")) + n->realWidth = n->width = tanWidth; + else if (0 == strcmp(s, "\\erf")) + n->realWidth = n->width = erfWidth; + + /* + * otherwise just compute length of token after \ + */ + else { + n->width = 0; + for (i = 1; i < strlen(s); i++) + n->width += charWidth(s[i]); + n->realWidth = n->width; + } + } + else if (s[1] == '\0') + switch (s[0]) { + case '^': + case '_': + tmp = n->nextListNode; + computeNodeWidth(tmp); + n->width = n->width = tmp->width; + tmp->width = 0; + break; + default: + n->realWidth = n->width = charWidth(s[0]); + } + else { + n->width = 0; + for (i = 0; i < strlen(s); i++) + n->width += charWidth(s[i]); + n->realWidth = n->width; + } + } + else { + n->realWidth = n->width = computeWidth(n->data.node); + } +} + +long +#ifndef _NO_PROTO +computeWidth(listNode * n) +#else +computeWidth(n) +listNode * n; +#endif +{ + long w = 0; + + while (n != NULL) { + if (n->width == -1) { + computeNodeWidth(n); + w += n->width; + } + n = n->nextListNode; + } + return w; +} + +/* + * displaySplitMsg: + * + * Arguments: + * + * s : a string describing the kind of expression we are trying to split. + * + * ok : whether we can split it (TRUE or FALSE) + * + * + * Returns: nothing + * + * + * Function: Displays a message on stderr about whether a particular method of + * line breaking will be successful. + */ + +void +#ifndef _NO_PROTO +displaySplitMsg(char *s, int ok) +#else +displaySplitMsg(s,ok) +char *s; +int ok; +#endif +{ + fprintf(stderr, "%sCan split %s: %s\n", blanks, s, ok ? "TRUE" : "FALSE"); +} + +void +arrayTooDeep() +{ + fprintf(stderr, "%s->Array nesting too deep!\n", blanks); +} + +void +#ifndef _NO_PROTO +error(char *msg, char *insert) +#else +error(msg,insert) +char *msg; +char *insert; +#endif +{ + fputs("Error (texbreak): ", stderr); + fputs(msg, stderr); + fputs(insert, stderr); + fputc('\n', stderr); + + fputs("% Error (texbreak): ", stdout); + fputs(msg, stdout); + fputs(insert, stdout); + fputc('\n', stdout); + exit(1); +} + +void +#ifndef _NO_PROTO +freeMathList(listNode * n) +#else +freeMathList(n) +listNode * n; +#endif +{ + listNode *tmpNode; + + while (n != NULL) { + if (n->nodeType == N_NODE) + freeMathList(n->data.node); + else if (n->nodeType == N_TEXT) + free(n->data.text); + else { + freeMathList(n->data.array->argsNode); + freeMathList(n->data.array->entries); + free(n->data.array); + } + tmpNode = n->nextListNode; + free(n); + n = tmpNode; + } +} + +listNode * +#ifndef _NO_PROTO +insertStringAfter(char *s, listNode * n) +#else +insertStringAfter(s,n) +char *s; +listNode * n; +#endif +{ + + /* + * returns node after inserted string + */ + listNode *workNode, *lastNode; + + workNode = newListNode(N_NODE); + lastNode = string2NodeList(s, workNode); + + n->nextListNode->prevListNode = lastNode; + lastNode->nextListNode = n->nextListNode; + n->nextListNode = workNode->data.node; + workNode->data.node->prevListNode = n; + + free(workNode); + return lastNode->nextListNode; +} + +listNode * +#ifndef _NO_PROTO +insertStringAtBack(char *s, listNode * n) +#else +insertStringAtBack(s,n) +char *s; +listNode * n; +#endif +{ + + /* + * Breaks s up into a list of tokens and appends them onto the end of n. + * n must be non-NULL. + */ + + listNode *workNode, *lastNode; + + workNode = newListNode(N_NODE); + lastNode = string2NodeList(s, workNode); + n->nextListNode = workNode->data.node; + workNode->data.node->prevListNode = n; + free(workNode); + + return lastNode; +} + +listNode * +#ifndef _NO_PROTO +insertStringAtFront(char *s, listNode * n) +#else +insertStringAtFront(s,n) +char *s; +listNode * n; +#endif +{ + + /* + * Breaks s up into a list of tokens and appends them onto the front of + * n. n must be a node. + */ + + listNode *workNode, *lastNode; + + workNode = newListNode(N_NODE); + lastNode = string2NodeList(s, workNode); + lastNode->nextListNode = n->data.node; + n->data.node->prevListNode = lastNode; + n->data.node = workNode->data.node; + free(workNode); + + return lastNode; +} + +int +#ifndef _NO_PROTO +newLineIfNecessary(int lastWasNewLine) +#else +newLineIfNecessary(lastWasNewLine) +int lastWasNewLine; +#endif +{ + if (!lastWasNewLine || (charsOut > 0)) { + putc('\n', stdout); + outLineNum++; + charsOut = 0; + } + return TRUE; +} + +listNode * +#ifndef _NO_PROTO +newListNode(enum nodeTypes nt) +#else +newListNode(nt) +enum nodeTypes nt; +#endif +{ + listNode *n; + + n = (listNode *) malloc(sizeof(listNode)); + n->nextListNode = n->prevListNode = NULL; + n->nodeType = nt; + n->width = -1; + n->realWidth = -1; + if (nt == N_NODE) + n->data.node = NULL; + else if (nt == N_TEXT) + n->data.text = NULL; + else { + n->data.array = (arrayNode *) malloc(sizeof(arrayNode)); + n->data.array->argsNode = NULL; + n->data.array->entries = NULL; + n->data.array->cols = 0; + } + return n; +} + +int +nextMathToken() +{ + + + /* + * Sets mathToken. Returns 1 if ok, 0 if no more tokens. + */ + + char curChar, errChar[2]; + + errChar[1] = '\0'; + mathToken[0] = '\0'; + mathTokenLen = 0; + + /* + * Kill any blanks. + */ + + while ((mathBufferPtr < mathBufferLen) && (mathBuffer[mathBufferPtr] == ' ')) + mathBufferPtr++; + + /* + * If at end, exit saying so. + */ + + if (mathBufferPtr >= mathBufferLen) + return 0; + + mathToken[mathTokenLen++] = curChar = mathBuffer[mathBufferPtr++]; + + if (curChar == '\\') { + curChar = mathBuffer[mathBufferPtr++]; + switch (curChar) { + case '\0': /* at end of buffer */ + mathToken[mathTokenLen++] = ' '; + goto done; + case '\\': + case ' ': + case '!': + case '#': + case '$': + case '%': + case '&': + case ',': + case ':': + case ';': + case '^': + case '_': + case '{': + case '}': + mathToken[mathTokenLen++] = curChar; + goto done; + } + if (isalpha(curChar) || (curChar == '@')) { + mathToken[mathTokenLen++] = curChar; + while ((curChar = mathBuffer[mathBufferPtr]) && + (isalpha(curChar) || (curChar == '@'))) { + mathToken[mathTokenLen++] = curChar; + mathBufferPtr++; + } + } + else { + errChar[0] = curChar; + errChar[1] = '\0'; + error("strange character following \\: ", errChar); + } + } + else if (isdigit(curChar)) /* digits are individual tokens */ + ; + else if (isalpha(curChar)) { + while ((curChar = mathBuffer[mathBufferPtr]) && + (isalpha(curChar))) { + mathToken[mathTokenLen++] = curChar; + mathBufferPtr++; + } + } + else if (curChar == '"') { /* handle strings */ + while ((curChar = mathBuffer[mathBufferPtr]) && + (curChar != '"')) { + mathToken[mathTokenLen++] = curChar; + mathBufferPtr++; + } + mathToken[mathTokenLen++] = '"'; + mathBufferPtr++; + } + +done: + mathToken[mathTokenLen--] = '\0'; + + /* + * Some translations. + */ + if (0 == strcmp(mathToken, "\\sp")) { + mathToken[0] = '^'; + mathToken[1] = '\0'; + mathTokenLen = 1; + } + else if (0 == strcmp(mathToken, "\\sb")) { + mathToken[0] = '_'; + mathToken[1] = '\0'; + mathTokenLen = 1; + } + + return 1; +} + +int +#ifndef _NO_PROTO +printChar(char c) +#else +printChar(c) +char c; +#endif +{ + if ((charsOut > MAXCHARSINLINE) && + isdigit(lastPrinted) && isdigit(c)) { + putc('\n', stdout); + outLineNum++; + charsOut = 0; + } + + putc(c, stdout); + lastPrinted = c; + charsOut++; + + /* + * break lines after following characters + */ + + if ((charsOut > MAXCHARSINLINE) && strchr("+- ,_^", c)) { + putc('\n', stdout); + outLineNum++; + charsOut = 0; + lastPrinted = '\0'; + return TRUE; + } + return FALSE; +} + +int +#ifndef _NO_PROTO +printMathList(listNode * n, int lastWasNewLine) +#else +printMathList(n,lastWasNewLine) +listNode * n; +int lastWasNewLine; +#endif +{ + listNode *tmpNode, *rowNode, *colNode; + int begin, group, r, c; + + while (n != NULL) { + if (n->nodeType == N_NODE) { + lastWasNewLine = printChar('{'); + lastWasNewLine = printMathList(n->data.node, lastWasNewLine); + lastWasNewLine = printChar('}'); + } + else if (n->nodeType == N_ARRAY) { + lastWasNewLine = newLineIfNecessary(lastWasNewLine); + lastWasNewLine = printString("\\begin{array}"); + lastWasNewLine = printMathList(n->data.array->argsNode, lastWasNewLine); + lastWasNewLine = printString("\\displaystyle"); + lastWasNewLine = newLineIfNecessary(lastWasNewLine); + + rowNode = n->data.array->entries; /* node pointing to first row */ + while (rowNode) { + colNode = rowNode->data.node; + while (colNode) { + if (colNode->prevListNode) { /* if not first column */ + lastWasNewLine = printString(" & "); + lastWasNewLine = newLineIfNecessary(lastWasNewLine); + } + lastWasNewLine = printMathList(colNode->data.node, lastWasNewLine); + colNode = colNode->nextListNode; + } + if (rowNode->nextListNode) /* if not last row */ + lastWasNewLine = printString(" \\\\"); + + lastWasNewLine = newLineIfNecessary(lastWasNewLine); + rowNode = rowNode->nextListNode; + } + + lastWasNewLine = printString("\\end{array}"); + lastWasNewLine = newLineIfNecessary(lastWasNewLine); + } + else if (n->nodeType == N_TEXT) { + + /* + * handle keywords that might appear in math mode + */ + + if ((0 == strcmp(n->data.text, "by")) || + (0 == strcmp(n->data.text, "if")) || + (0 == strcmp(n->data.text, "then")) || + (0 == strcmp(n->data.text, "else"))) { + lastWasNewLine = printString(" \\hbox{ "); + lastWasNewLine = printString(n->data.text); + lastWasNewLine = printString(" } "); + } + + /* + * handle things that should be in a special font + */ + + else if ((0 == strcmp(n->data.text, "true")) || + (0 == strcmp(n->data.text, "false")) || + (0 == strcmp(n->data.text, "table")) || + (0 == strcmp(n->data.text, "Aleph")) + ) { + lastWasNewLine = printString(" \\mbox{\\rm "); + lastWasNewLine = printString(n->data.text); + lastWasNewLine = printString("} "); + } + + /* + * handle things that should always be on their own line + */ + + else if ((0 == strcmp(n->data.text, "\\\\")) || + (0 == strcmp(n->data.text, "\\displaystyle"))) { + lastWasNewLine = newLineIfNecessary(lastWasNewLine); + lastWasNewLine = printString(n->data.text); + lastWasNewLine = newLineIfNecessary(lastWasNewLine); + } + + /* + * handle phrases that should be on their own line. + */ + + else if ((0 == strcmp(n->data.text, "\\begin")) || + (0 == strcmp(n->data.text, "\\end"))) { + lastWasNewLine = newLineIfNecessary(lastWasNewLine); + lastWasNewLine = printString(n->data.text); + begin = (n->data.text[1] == 'b') ? TRUE : FALSE; + + n = n->nextListNode; /* had better be a node */ + tmpNode = n->data.node; + lastWasNewLine = printChar('{'); + lastWasNewLine = printMathList(tmpNode, lastWasNewLine); + lastWasNewLine = printChar('}'); + + if (begin) { + + /* + * if array, print the argument. + */ + + if (0 == strcmp(tmpNode->data.text, "array")) { + n = n->nextListNode; /* had better be a node */ + lastWasNewLine = printChar('{'); + lastWasNewLine = printMathList(n->data.node, lastWasNewLine); + lastWasNewLine = printChar('}'); + } + } + lastWasNewLine = newLineIfNecessary(FALSE); + } + + /* + * handle everything else, paying attention as to whether we + * should include a trailing blank. + */ + + else { + group = 0; + /* guess whether next word is part of a type */ + if ((strlen(n->data.text) > 2) && + ('A' <= n->data.text[0]) && + ('Z' >= n->data.text[0])) { + group = 1; + lastWasNewLine = printString("\\hbox{\\axiomType{"); + } + lastWasNewLine = printString(n->data.text); + if (group) { + lastWasNewLine = printString("}\\ }"); + group = 0; + } + tmpNode = n->nextListNode; + if ((n->data.text[0] == '_') || + (n->data.text[0] == '^') || + (n->data.text[0] == '.') || + (n->data.text[0] == '(') || + (0 == strcmp(n->data.text, "\\left")) || + (0 == strcmp(n->data.text, "\\right")) || + (0 == strcmp(n->data.text, "\\%"))); + else if (tmpNode && (tmpNode->nodeType == N_TEXT)) { + if (((isdigit(n->data.text[0])) && + (isdigit(tmpNode->data.text[0]))) || + ((isdigit(n->data.text[0])) && + (',' == tmpNode->data.text[0])) || + (tmpNode->data.text[0] == '\'') || + (tmpNode->data.text[0] == '_') || + (tmpNode->data.text[0] == '^') || + (tmpNode->data.text[0] == '.') || + (tmpNode->data.text[0] == ')')); + else + lastWasNewLine = printChar(' '); + } + } + } + n = n->nextListNode; + } + return lastWasNewLine; +} + +int +#ifndef _NO_PROTO +printString(char *s) +#else +printString(s) +char *s; +#endif +{ + if (s[0]) { + if (!s[1]) + return printChar(s[0]); + else { + fputs(s, stdout); + charsOut += strlen(s); + } + } + return FALSE; +} + +listNode * +#ifndef _NO_PROTO +string2NodeList(char *s, listNode * n) +#else +string2NodeList(s,n) +char *s; +listNode * n; +#endif +{ + + /* + * First argument is string to be broken up, second is a node. Return + * value is last item in list. + */ + + mathBufferPtr = 0; + strcpy(mathBuffer, s); + mathBufferLen = strlen(s); + buildMathList(n); + n = n->data.node; + while (n->nextListNode) { + + /* + * set width to 0: other funs will have to set for real + */ + n->width = 0; + n = n->nextListNode; + } + n->width = 0; + return n; +} + +void +resetCharMults() +{ + + /* + * this is a ratio by which the standard \mit should be multiplied to get + * other fonts, roughly + */ + + charMultNum = charMultDenom = 1; +} + +void +ttCharMults() +{ + + /* + * this is a ratio by which the standard \mit should be multiplied to get + * the \tt font, roughly + */ + + charMultNum = 11; + charMultDenom = 10; +} + +int +#ifndef _NO_PROTO +charWidth(char c) +#else +charWidth(c) +char c; +#endif +{ + return (charMultNum * charTable[c]) / charMultDenom; +} + +void +#ifndef _NO_PROTO +#else +#endif +initCharTable() +{ + int i; + + avgCharWidth = 95; /* where 1000 = 1 inch */ + + spaceWidths[0] = 51; /* \ */ + spaceWidths[1] = 25; /* \, */ + spaceWidths[2] = -25; /* \! */ + spaceWidths[3] = 37; /* \: */ + spaceWidths[4] = 42; /* \; */ + + extraOverWidth = 33; /* extra space in fraction bar */ + + sinWidth = 186; /* width of \sin */ + cosWidth = 203; + tanWidth = 219; + erfWidth = 185; + + for (i = 0; i < 256; i++) + charTable[i] = avgCharWidth; + + charTable['!'] = 42; + charTable['"'] = 76; + charTable['%'] = 126; + charTable['('] = 59; + charTable[')'] = 59; + charTable['+'] = 185; + charTable[','] = 42; + charTable['-'] = 185; + charTable['.'] = 42; + charTable['/'] = 76; + charTable['0'] = 76; + charTable['1'] = 76; + charTable['2'] = 76; + charTable['3'] = 76; + charTable['4'] = 76; + charTable['5'] = 76; + charTable['6'] = 76; + charTable['7'] = 76; + charTable['8'] = 76; + charTable['9'] = 76; + charTable[':'] = 42; + charTable[';'] = 42; + charTable['<'] = 202; + charTable['='] = 202; + charTable['>'] = 202; + charTable['A'] = 114; + charTable['B'] = 123; + charTable['C'] = 119; + charTable['D'] = 130; + charTable['E'] = 121; + charTable['F'] = 119; + charTable['G'] = 119; + charTable['H'] = 138; + charTable['I'] = 79; + charTable['J'] = 99; + charTable['K'] = 140; + charTable['L'] = 103; + charTable['M'] = 164; + charTable['N'] = 138; + charTable['O'] = 120; + charTable['P'] = 118; + charTable['Q'] = 120; + charTable['R'] = 116; + charTable['S'] = 102; + charTable['T'] = 110; + charTable['U'] = 120; + charTable['V'] = 122; + charTable['W'] = 164; + charTable['X'] = 137; + charTable['Y'] = 122; + charTable['Z'] = 114; + charTable['['] = 42; + charTable[']'] = 42; + charTable['a'] = 80; + charTable['b'] = 65; + charTable['c'] = 66; + charTable['d'] = 79; + charTable['e'] = 71; + charTable['f'] = 91; + charTable['g'] = 78; + charTable['h'] = 87; + charTable['i'] = 52; + charTable['j'] = 71; + charTable['k'] = 84; + charTable['l'] = 48; + charTable['m'] = 133; + charTable['n'] = 91; + charTable['o'] = 73; + charTable['p'] = 76; + charTable['q'] = 73; + charTable['r'] = 73; + charTable['s'] = 71; + charTable['t'] = 55; + charTable['u'] = 87; + charTable['v'] = 79; + charTable['w'] = 113; + charTable['x'] = 87; + charTable['y'] = 80; + charTable['z'] = 77; + charTable['{'] = 76; + charTable['|'] = 42; + charTable['}'] = 76; +} + +void +#ifndef _NO_PROTO +getOptions(int argc, char **argv) +#else +getOptions(argc,argv) +int argc; +char **argv; +#endif +{ + int i, j; + + for (i = 1; i < argc; i++) { + + if (argv[i][0] != '-') + break; + + else if (0 == strcmp(argv[i], "-help")) { + printf("No help yet.\n"); + exit(0); + } + + else if (0 == strcmp(argv[i], "-width")) { + if (++i < argc) { + j = atoi(argv[i]); + if (j < 1000) { + printf("A positive integer > 1000 is required after -width.\n"); + exit(3); + } + maxLineWidth = j; + } + else { + printf("A positive integer > 1000 is required after -width.\n"); + exit(3); + } + } + + else if (0 == strcmp(argv[i], "-slop")) { + if (++i < argc) { + j = atoi(argv[i]); + if (j < 0) { + printf("An integer >= 0 is required after -slop.\n"); + exit(3); + } + maxLineSlop = j; + } + else { + printf("An integer >= 0 is required after -slop.\n"); + exit(3); + } + } + + else if (0 == strcmp(argv[i], "-depth")) { + if (++i < argc) { + j = atoi(argv[i]); + if (j < 0) { + printf("An integer >= 0 is required after -depth.\n"); + exit(3); + } + arrayMaxDepth = j; + } + else { + printf("An integer >= 0 is required after -depth.\n"); + exit(3); + } + } + + else { + printf("Unknown option %s for command %s.\n", + argv[i], argv[0]); + exit(3); + } + } +} + +\start +Date: 10 Sep 2003 17:42:47 -0400 +From: Camm Maguire +To: Mike Dewar +Subject: Re: [Axiom-developer] Debian .deb file + +Greetings! This is great to hear! While I'm sure modifications are +required, a preliminary version if available and with the appropriate +disclaimers would be a great addition to the .deb package. What form +is the doc in? + +Take care, + +Mike Dewar writes: + +> Dylan, +> +> All the sources for the Jenks & Sutor book are part of the original +> tarball I sent to Tim, and are thus available under the BSD license. +> +> Most of the book is still relevent although there we released some +> errata to deal with minor language changes when 2.0 came out. The list +> of categories, domains etc. in the appendices will be quite out of date +> by now as well. +> +> Cheers, Mike. +> +> On Sat, Sep 06, 2003 at 10:40:26AM -0400, Dylan Thurston wrote: +> > On Thu, Sep 04, 2003 at 10:35:09AM -0400, Tim Daly wrote: +> > > Funny you should ask about documentation. I'm in the process of +> > > rewriting the Axiom textbook. There is work to be done but I'll +> > > release an alpha version as soon as I can. +> > +> > This is the Jenks-Sutor book, correct? Will this also be released +> > under a free license? How substantially has the language changed? Is +> > it worth picking up a copy of the old version? + +\start +Date: Wed, 10 Sep 2003 18:12:58 -0400 +From: root +To: camm@enhanced.com +Subject: [Axiom-developer] documentation +Cc: miked@nag.co.uk + +Camm, + +The new version of the book is in pamphlet format. I'm sure that comes +as a surprise :-). I'm working thru about a chapter a day. I've finished +the first 6 chapters and am continuing on pace. I've been rewriting +sections that have changed material and have new material to add (but +I'll probably post a version before I work on the added material). +The whole thing should be available reasonably soon. + +I'd be nice to get a contact at some place like O'Reilly to see if +we can get a paper version made. Does anybody know someone there? +Failing that perhaps a contact at Dover since they're known for +publishing affordable books. + +\start +Date: Thu, 11 Sep 2003 10:58:34 +0200 +From: michel.lavaud@univ-orleans.fr +To: daly@idsi.net +Subject: [Axiom-developer] Re: TeX line breaking + +Hello Tim, + +> It doesn't optimize anything as far as I can see. Sutor's quite +> good at TeX stuff. Essentially it works by inserting \begin{array} +> which is the hack I needed. You can try it on an example by: +> +> 1) start axiom +> 2) type: )set output tex on +> 3) type: integrate(1/(x**3 * (a+b*x)**(1/3)),x) +> 4) cut the tex output starting with $$ and ending with $$ +> 5) paste it into a buffer +> 6) replace the opening $$ with \[ +> 7) replace the closing $$ with \] +> 8) save it into file foo +> 9) run texbreak foo.tex +> +> The texbreak code is attached. It appears to be quite Axiom specific +> and Axiom uses very old TeX syntax. + +Thank you very much for the code. I misunderstood, I thought TeX +linebreaks were generated by Axiom from its internal knowledge of the tree= + +of the formula, not from an external program. I suppose Texbreak is an +ancestor of Techexplorer? As far as I remember, Techexplorer was able to +reformat formulas viewed in a web browser when changing the width of the +window. So, some kind of optimization of linebreaks in TeX formulas seems +to have been implemented in Techexplorer. Maybe Bob Sutor could provide a +newer, optimized version of Texbreak for Axiom, extracted from +Techexplorer perhaps ? + +\start +Date: Thu, 11 Sep 2003 06:47:32 -0400 +From: root +To: michel.lavaud@univ-orleans.fr +Subject: [Axiom-developer] Re: TeX line breaking + +Techexplorer was written after Axiom was sent to NAG. We were not +allowed to work on Axiom after it left the building and basically were +told to wander in circles around our chairs until we came up with some +other task. Sutor eventually got into Windows development and wrote +something that was completely unrelated to Axiom, namely +Techexplorer. I believe that it was intended to be a plugin for +browsers. Of course, Techexplorer handles math and it is only natural +that one should choose a commercial math product such as, say, Axiom +for testing. It is unlikely that he will provide a new algorithm +because (a) he's in management and (b) Techexplorer was spun off to +another company. I've never seen it run so I can't comment on what it does. + +Jenks and Dooley did interactive books (a math book, natch), etc. +I set off to invent rewriteable paper. + +\start +Date: 11 Sep 2003 12:55:01 -0400 +From: Camm Maguire +To: daly@idsi.net +Subject: Re: [Axiom-developer] Debian .deb file + +Greetings! Just a heads up that the .deb file has just been accepted +into the Debian distribution. Still have a bit or work to do on the +portability, but more on that later. Axiom will likely ship with the +'sarge' release currently slated for December of this year. Congrats! + +I also added a pointer in the manpage to the Jenks-Sutor book at +amazon. + +\start +Date: Thu, 11 Sep 2003 18:41:16 +0200 +From: David MENTRE +To: daly@idsi.net +Subject: Re: [Axiom-developer] documentation + +Hello Tim, + +root writes: + +> we can get a paper version made. + +If you publish it, it would be nice (and useful for Axiom fame) if you +can negotiate some kind of "Free Publication", i.e. anybody would be +able to reprint the book or modify it. From the previous email of Mike +Dewar, there is apparently no issue from the original authors (great!). +I know that O'Reilly has done that is the past (for a Linux book). I +don't know if they are still open to such idea. + +Otherwise, we could envision to publish the book ourselves, by an Axiom +Fondation for example. It could provide some cash to sustain further +Axiom development, conference, dedicated web site, or journal. However I +don't know the risk or cost of such an option. + +Personally, I would be ready to pay some dollars or euros to have a +printed version. + +You could ask to the ACL2 people, they are selling two ACL2 books (25$ +each) that were previously sold by a classical editor. + +\start +Date: Thu, 11 Sep 2003 13:46:59 -0400 +From: Tim Daly +To: Peter.Paule@risc.uni-linz.ac.at +Subject: [Axiom-developer] Axiom and Symbolic Summation + +Dr Paule, + +I'm Tim Daly, lead developer of Axiom. Axiom has become available +as open source and I'm looking at future directions of algorithm +development. I understand from the article at: +www.ercim.org/publication/Ercim_News/enw50/paule.html +that Dr Schneider has a Ph.D. thesis on the subject. I'm interested +in making these algorithms available in Axiom. Can you give me a +recent email address for Dr. Schneider? Is his thesis available online? + +\start +Date: Thu, 11 Sep 2003 13:56:41 -0400 +From: Tim Daly +To: Carsten.Schneider@risc.uni-linz.ac.at +Subject: [Axiom-developer] Axiom and Symbolic Summation +Cc: Peter.Paule@risc.uni-linz.ac.at + +Dr Schneider, + +I'm Tim Daly, lead developer of Axiom. Axiom has become available +as open source and I'm looking at future directions of algorithm +development. I understand from the article at: +www.ercim.org/publication/Ercim_News/enw50/paule.html +that you have a Ph.D. thesis on the subject. I'm interested +in making these algorithms available in Axiom. Is your thesis +available online? + +\start +From: Jason White +Date: Fri, 12 Sep 2003 13:33:35 +1000 +To: Camm Maguire +Subject: Re: [Axiom-developer] Debian .deb file + +Camm Maguire writes: + > Greetings! Just a heads up that the .deb file has just been accepted + > into the Debian distribution. Still have a bit or work to do on the + > portability, but more on that later. + +Congratulations, and thank you for preparing the Debian package. The +version which was uploaded, however, contains the following bug: + +[jason@jdc]$ axiom +GCL (GNU Common Lisp) (2.6.1) Tue Sep 9 17:14:40 UTC 2003 +Licensed under GNU Library General Public License +Dedicated to the memory of W. Schelter + +Use (help) to get some basic information on how to use GCL. + +(AXIOM Sockets) The AXIOM server number is undefined. +----------------------------------------------------------------------------- + Issue )copyright to view copyright notices. + Issue )summary for a summary of useful system commands. + Issue )quit to leave AXIOM and return to shell. +Thursday September 11, 2003 at 15:27:44 +----------------------------------------------------------------------------- + + +Error: Cannot open the file /fix/g/camm/axiom/axiom-0.0.0cvs/mnt/linux/algebra/compress.daase. +Fast links are on: do (si::use-fast-links nil) for debugging +Error signalled by SYSTEM:TOP-LEVEL. +Broken at APPLY. Type :H for Help. +BOOT>> + +\start +Date: Fri, 12 Sep 2003 11:11:35 +0100 +From: Mike Dewar +To: David MENTRE +Subject: Re: [Axiom-developer] documentation + +Hi Guys, + +The statement that "there is apparently no issue from the original +authors" is true but slightly misleading. NAG owns the copyright on the +book, not the original authors (principally Dick Jenks and Bob Sutor +along with about a dozen other contributors including Tim and I), so the +original authors don't formally have any say in the matter. Personally +I would hope that any revision would still be Jenks & Sutor (& Daly or +whoever) but I'm not sure whether that is morally or legally acceptable +without consulting them. If there are plans to substantially revise the +book, whether as an electronic or print edition, I hope that somebody +will give this question some thought. + +Cheers, Mike. + +On Thu, Sep 11, 2003 at 06:41:16PM +0200, David MENTRE wrote: +> Hello Tim, +> +> root writes: +> +> > we can get a paper version made. +> +> If you publish it, it would be nice (and useful for Axiom fame) if you +> can negotiate some kind of "Free Publication", i.e. anybody would be +> able to reprint the book or modify it. From the previous email of Mike +> Dewar, there is apparently no issue from the original authors (great!). +> I know that O'Reilly has done that is the past (for a Linux book). I +> don't know if they are still open to such idea. +> +> Otherwise, we could envision to publish the book ourselves, by an Axiom +> Fondation for example. It could provide some cash to sustain further +> Axiom development, conference, dedicated web site, or journal. However I +> don't know the risk or cost of such an option. +> +> Personally, I would be ready to pay some dollars or euros to have a +> printed version. +> +> You could ask to the ACL2 people, they are selling two ACL2 books (25$ +> each) that were previously sold by a classical editor. + +\start +Date: Sun, 14 Sep 2003 09:57:13 +0200 +From: David MENTRE +To: axiom-developer@nongnu.org +Subject: [Axiom-developer] Axiom on french news site + +Hello, + +For info, free Axiom has been seen on a french news site specialized on +free software : + + http://linuxfr.org/2003/09/13/13923.html + Axiom outragé, Axiom martyrisé mais Axiom libéré ! + +For those who wonder, the french title of the article is a parody of a +very well known (in france) sentence pronounced by Charles de Gaulle, an +also very well known french president. + +The article speaks about the size of Axiom, both for libraries and +documentation. The author is also asking for a TeXmacs interface. The +soon to be realeased Axiom book would also help. I'll do another post on +linuxfr.org site at that time. :) + +Yours, +d. + +PS : Tim, we have a micro-community. What do you think about finishing + your work on Axiom book (BTW, I'll try to give a strong look at + it. I'm still a newbie in Spad) and then focusing our work to have + a usable version (2.90 or whatever). With a first release + (.tar.gz), we could build a wider community. +-- + +\start +Date: 14 Sep 2003 18:49:58 -0400 +From: Camm Maguire +To: Jason White +Subject: Re: [Axiom-developer] Debian .deb file + +Greetings, and thanks! I think this has been resolved in the latest +upload, -5. + +I've discussed briefly before the compiler::link image building +option in GCL. It is a hopefully temporary means to get GCL images +with compiled objects included on ia64, mips(el), hppa, and alpha. +Anyway, in the latest deb package release, I've included the following +mechanism to apply small patches against the Makefile.pamphlets to get +things to work. + +Hopefully this can be made more transparent n the GCL end. But I've +tested the compiler::link options on i386 and it works just fine +apparently. I have one question -- the si::*system-directory* is +reset by the interpsys building process (somewhere in makeint.lsp I +think) -- is this necessary? When setting the system-p compile flag +(required for compiler::link usage), the compiler needs to be able to +find the system include file cmpinclude.h in the h/ directory, which +is done conventially via reference to the si::*system-directory* +path. The patch below sets it back to its original value. Can this +pose a problem? + +Lastly, it would be nice to turn off compiler::*default-system-p* in +the final image. It is needed in the intermediary interpsys for +algebra compilation/linking purposes. Don't know exactly where to put +(setq compiler::*default-system-p* nil). + +Take care, + +============================================================================= +debian/rules +============================================================================= +ARCHT:=$(dpkg --print-architecture) +ifeq ($(ARCHT),ia64) +NO_SAVE_SYS=t +endif +ifeq ($(ARCHT),mips) +NO_SAVE_SYS=t +endif +ifeq ($(ARCHT),mipsel) +NO_SAVE_SYS=t +endif +ifeq ($(ARCHT),hppa) +NO_SAVE_SYS=t +endif +ifeq ($(ARCHT),alpha) +NO_SAVE_SYS=t +endif + +debian/patches_applied: + ! [ -e debian/patches_unapplied ] || patch -p0 > +-<> +-<> +-<> +-<> +-<> +-<> +-<> +-<> ++ echo "(compiler::link nil \"${OUT}/lisp\" \"(setq compiler::*default-system-p* t)\" \"${OBJ}/${SYS}/lib/cfuns-c.o ${OBJ}/${SYS}/lib/sockio-c.o ${OBJ}/${SYS}/lib/libspad.a\")" | gcl + @echo 13 finished system build on `date` | tee >gcldir + + ccldir: ${LSP}/ccl/Makefile +--- src/interp/util.lisp.pamphlet 28 Aug 2003 14:23:40 -0000 1.1 ++++ src/interp/util.lisp.pamphlet 13 Sep 2003 18:59:49 -0000 +@@ -68,10 +68,14 @@ + ;; perform system initializations for building a starter system + (init-memory-config) + #+:AKCL +- (let ((collectfn (concatenate 'string (string lsp) "/cmpnew/collectfn"))) +- (unless (probe-file (concatenate 'string collectfn ".o")) +- (compile-file collectfn)) +- (load collectfn) ++ (let ((collectfn (concatenate 'string si::*system-directory* "../cmpnew/gcl_collectfn.lsp")) ++ (collectfn1 (concatenate 'string obj "/" sys "/interp/collectfn"))) ++ (with-open-file (st collectfn :direction :input) ++ (with-open-file (st1 (concatenate 'string collectfn1 ".lsp") :direction :output) ++ (si::copy-stream st st1))) ++ (unless (probe-file (concatenate 'string collectfn1 ".o")) ++ (compile-file collectfn1)) ++ (load collectfn1) + (compiler::emit-fn t) + (mapcar + #'load +============================================================================= +patch.save +============================================================================= +--- src/boot/Makefile.pamphlet 28 Aug 2003 12:15:28 -0000 1.1 ++++ src/boot/Makefile.pamphlet 13 Sep 2003 18:59:46 -0000 +@@ -1101,7 +1101,8 @@ + expansion. Adding a single quote symbol will break this expansion. + + <>= +-CMD0= (progn (mapcar (function (lambda (x) (load x))) (quote (${OBJS1}))) (system::save-system "${SAVESYS}")) ++CMD0= (compiler::link (quote (${OBJS1})) "${SAVESYS}" "(setq compiler::*default-system-p* t)") ++#CMD0= (progn (mapcar (function (lambda (x) (load x))) (quote (${OBJS1}))) (system::save-system "${SAVESYS}")) + + @ + \subsection{boothdr.lisp \cite{1}} +--- src/interp/Makefile.pamphlet 5 Sep 2003 22:14:19 -0000 1.3 ++++ src/interp/Makefile.pamphlet 13 Sep 2003 18:59:49 -0000 +@@ -558,8 +558,10 @@ + @ echo '(load "${OUT}/c-util")' >> ${OUT}/makedep.lisp + @ echo '(unless (probe-file "${OUT}/g-util.${O}") (compile-file "${OUT}/g-util.${LISP}" :output-file "${OUT}/g-util.${O}"))' >> ${OUT}/makedep.lisp + @ echo '(load "${OUT}/g-util")' >> ${OUT}/makedep.lisp +- @ (cd ${MNT}/${SYS}/bin ; \ +- echo '(progn (load "${OUT}/makedep.lisp") (spad-save "${DEPSYS}"))' | ${LISPSYS}) ++# @ (cd ${MNT}/${SYS}/bin ; \ ++# echo '(progn (load "${OUT}/makedep.lisp") (spad-save "${DEPSYS}"))' | ${LISPSYS}) ++ @ ( cd ${OBJ}/${SYS}/bin && \ ++ echo '(setq si::*collect-binary-modules* t)(load "${OUT}/makedep.lisp")(compiler::link (remove-duplicates si::*binary-modules* :test (quote equal)) "$(DEPSYS)" "(setq si::*collect-binary-modules* t)(load \"$(OUT)/makedep.lisp\")(gbc t)(when si::*binary-modules* (error si::*binary-modules*))(setq si::collect-binary-modules* nil si::*binary-modules* nil)(gbc t)(setq compiler::*default-system-p* t)" "" nil)' | ${LISPSYS}) + @ echo 4 ${DEPSYS} created + + @ +@@ -611,8 +613,10 @@ + @ echo '#+:akcl (setq compiler::*suppress-compiler-notes* t)' >> ${OUT}/makeint.lisp + @ echo '#+:akcl (si::gbc-time 0)' >> ${OUT}/makeint.lisp + @ echo '#+:akcl (setq si::*system-directory* "${SPAD}/bin/")' >> ${OUT}/makeint.lisp +- @ (cd ${OBJ}/${SYS}/bin ; \ +- echo '(progn (gbc t) (load "${OUT}/makeint.lisp") (gbc t) (user::spad-save "${SAVESYS}"))' | ${LISPSYS} ) ++# @ (cd ${OBJ}/${SYS}/bin ; \ ++# echo '(progn (gbc t) (load "${OUT}/makeint.lisp") (gbc t) (user::spad-save "${SAVESYS}"))' | ${LISPSYS} ) ++ @ (cd ${MNT}/${SYS}/bin && \ ++ echo '(setq si::*collect-binary-modules* t)(setq x si::*system-directory*)(load "${OUT}/makeint.lisp")(setq si::*system-directory* x)(compiler::link (remove-duplicates si::*binary-modules* :test (quote equal)) "$(SAVESYS)" "(setq si::*collect-binary-modules* t)(load \"$(OUT)/makeint.lisp\")(when si::*binary-modules* (error si::*binary-modules*)(setq si::collect-binary-modules* nil si::*binary-modules* nil)(setq compiler::*default-system-p* t)(gbc t))" "$(OBJ)/$(SYS)/lib/sockio-c.o $(OBJ)/$(SYS)/lib/cfuns-c.o $(OBJ)/$(SYS)/lib/libspad.a" nil)' | ${LISPSYS}) + @ echo 6 ${SAVESYS} created + @ cp ${SAVESYS} ${AXIOMSYS} + @ echo 6a ${AXIOMSYS} created +============================================================================= +patch.nosave +============================================================================= +--- src/interp/Makefile.pamphlet 5 Sep 2003 22:14:19 -0000 1.3 ++++ src/interp/Makefile.pamphlet 13 Sep 2003 18:59:49 -0000 +@@ -611,8 +613,10 @@ + @ echo '#+:akcl (setq compiler::*suppress-compiler-notes* t)' >> ${OUT}/makeint.lisp + @ echo '#+:akcl (si::gbc-time 0)' >> ${OUT}/makeint.lisp + @ echo '#+:akcl (setq si::*system-directory* "${SPAD}/bin/")' >> ${OUT}/makeint.lisp +- @ (cd ${OBJ}/${SYS}/bin ; \ +- echo '(progn (gbc t) (load "${OUT}/makeint.lisp") (gbc t) (user::spad-save "${SAVESYS}"))' | ${LISPSYS} ) ++# @ (cd ${OBJ}/${SYS}/bin ; \ ++# echo '(progn (gbc t) (load "${OUT}/makeint.lisp") (gbc t) (user::spad-save "${SAVESYS}"))' | ${LISPSYS} ) ++ @ (cd ${OBJ}/${SYS}/bin ; \ ++ echo '(progn (gbc t) (setq x si::*system-directory*)(load "${OUT}/makeint.lisp") (setq si::*system-directory* x)(gbc t) (user::spad-save "${SAVESYS}"))' | ${LISPSYS} ) + @ echo 6 ${SAVESYS} created + @ cp ${SAVESYS} ${AXIOMSYS} + @ echo 6a ${AXIOMSYS} created +============================================================================= + + +Jason White writes: + +> Camm Maguire writes: +> > Greetings! Just a heads up that the .deb file has just been accepted +> > into the Debian distribution. Still have a bit or work to do on the +> > portability, but more on that later. +> +> Congratulations, and thank you for preparing the Debian package. The +> version which was uploaded, however, contains the following bug: +> +> [jason@jdc]$ axiom +> GCL (GNU Common Lisp) (2.6.1) Tue Sep 9 17:14:40 UTC 2003 +> Licensed under GNU Library General Public License +> Dedicated to the memory of W. Schelter +> +> Use (help) to get some basic information on how to use GCL. +> +> (AXIOM Sockets) The AXIOM server number is undefined. +> ----------------------------------------------------------------------------- +> Issue )copyright to view copyright notices. +> Issue )summary for a summary of useful system commands. +> Issue )quit to leave AXIOM and return to shell. +> Thursday September 11, 2003 at 15:27:44 +> ----------------------------------------------------------------------------- +> +> +> Error: Cannot open the file /fix/g/camm/axiom/axiom-0.0.0cvs/mnt/linux/algebra/compress.daase. +> Fast links are on: do (si::use-fast-links nil) for debugging +> Error signalled by SYSTEM:TOP-LEVEL. +> Broken at APPLY. Type :H for Help. +> BOOT>> +> +> +> +> + +\start +Date: Sun, 14 Sep 2003 21:55:07 -0400 +From: root +To: miked@nag.co.uk +Subject: Re: [Axiom-developer] documentation + +Mike, + +As I undertand the book & authors issue it appears that the words +from the text have been released under the Modified BSD license +which allows anyone to use and modify them at will. However, as a +point of courtesy each of the dozen or so authors should be told. +I only have contact with a few of them as the rest seem to have +fled into the woodwork. Did you maintain reasonably current email +addresses? I have no idea how to find some of these people. + +\start +Date: Sun, 14 Sep 2003 21:55:59 -0400 +From: root +To: jasonjgw@pacific.net.au +Subject: Re: [Axiom-developer] Debian .deb file +Cc: camm@enhanced.com + +Jason, + +It appears that you have not set the AXIOM variable to the correct +path. It should be AXIOM=your/install/path/mnt/linux + +\start +Date: Mon, 15 Sep 2003 13:38:52 +1000 +From: Jason White +To: daly@idsi.net +Subject: Re: [Axiom-developer] Debian .deb file +Cc: camm@enhanced.com + +root writes: + > Jason, + > + > It appears that you have not set the AXIOM variable to the correct + > path. It should be AXIOM=your/install/path/mnt/linux + +My reason for reporting the problem was that a packaged version of +Axiom should not rely on the user to set environment variables simply +in order for the software to run from its default installation +location. + +Camm's latest package circumvents the problem by installing a shell +script (/usr/bin/axiom) which sets up the PATH and AXIOM environment +variables before calling the axiom executable. + +An alternative, cleaner solution would be to enable the correct path +to be stored in the axiom executable during the build process. + +The existing shell script could be improved slightly, for example by +setting the variables as follows: + +export AXIOM=/usr/lib/axiom-0.0.0cvs/mnt/linux +export PATH=${AXIOM}/bin:$PATH + + +\start +Date: Sun, 14 Sep 2003 23:59:10 -0400 +From: root +To: jasonjgw@pacific.net.au +Subject: Re: [Axiom-developer] Debian .deb file +Cc: camm@enhanced.com + +seems reasonable that Axiom should run from the default installation +without setting a shell variable. -- t + +\start +Date: Tue, 16 Sep 2003 7:51:48 -0400 +From: Bill Page +To: David MENTRE , +Subject: Re: [Axiom-developer] Axiom on french news site + +Hello, + +I am in France (Paris) this week. [Oh how I hate what the keyboard +at this Internet Cafe does to my touch typing!!!!] + +Anyway, there is already a Texmacs interface for Axiom that works +quite well - all that is needed is one small change to the C +program which is included with the standard Texmacs distribution +due to a difference in how the current open version of Axiom +starts up. The Texmacs program looks for two input prompts but +Axiom only provides one. I have a working version at home which +I can upload to Savannah when I get back (10 days). + +How should this modification be distributed: by Axiom or by Texmacs? +Or should we plan to change Axiom so it works like the previous +commercial version? Tim said earlier that the difference had +something to do with "frames". Viv l'difference?? Tim, perhaps +you can explain? + +Cheers, +Bill Page + +> = + +> From: David MENTRE +> Date: Sun, 14 Sep 2003 09:57:13 +0200 +> To: axiom-developer@nongnu.org +> Subject: [Axiom-developer] Axiom on french news site +> = + +> Hello, +> = + +> For info, free Axiom has been seen on a french news site specialized on= + +> free software : +> = + +> http://linuxfr.org/2003/09/13/13923.html +> Axiom outrag=E9, Axiom martyris=E9 mais Axiom lib=E9r=E9 ! = + +> = + +> For those who wonder, the french title of the article is a parody of a +> very well known (in france) sentence pronounced by Charles de Gaulle, a= +n +> also very well known french president. +> = + +> The article speaks about the size of Axiom, both for libraries and +> documentation. The author is also asking for a TeXmacs interface. The +> soon to be realeased Axiom book would also help. I'll do another post o= +n +> linuxfr.org site at that time. :) +> = + +> Yours, +> d. +> = + +> PS : Tim, we have a micro-community. What do you think about finishing +> your work on Axiom book (BTW, I'll try to give a strong look at +> it. I'm still a newbie in Spad) and then focusing our work to have= + +> a usable version (2.90 or whatever). With a first release +> (.tar.gz), we could build a wider community. +> -- = + +\start +Date: Tue, 16 Sep 2003 10:10:51 -0500 +From: +To: bill.page1@sympatico.ca, axiom-developer@nongnu.org +Subject: [Axiom-developer] TeXmacs and Axiom prompt + +Bill, + +France, eh? Beware the heat. I was unable to send email from france +due to the keyboard, windows, and lack of emacs. I spent the weekend +getting my ADSL up and running. I had to use a Windows XP box to do +the initial registration but it now runs under Linux just fine. (It +was really amusing because the windows box got a worm hit within 1 +minute of coming online and I had to reinstall windows to recover). I +should be able to use CVS much more effectively now. + +Axiom normally runs as a subprocess of "sman" (aka superman). The +axiom command actually starts sman which forks off clef (command line +editor facility (our version of GNU readline)), interpsys, hypertex, +graphics, etc. When that happens "Axiom" puts up a second prompt using +a new frame (frames are axiom namespaces). The dual prompt is actually +a bug that was never fixed and hardened into the final code. + +TeXmacs is the proper place to put any fixes for running Axim as a +subprocess. You might ask Joris if he agrees. If not we can "host" +the TeXmacs C code. + +\start +Date: Tue, 16 Sep 2003 18:40:34 +0200 +From: David MENTRE +To: Bill Page +Subject: Re: [Axiom-developer] Axiom on french news site + +Bill Page writes: + +> How should this modification be distributed: by Axiom or by Texmacs? + +by Texmacs. Eventually, in the interim, we can keep a patch against +Texmacs somewhere (for example on the mailing list archive if the patch +is small enough). + +> Or should we plan to change Axiom so it works like the previous +> commercial version? + +We should change Axiom to suit our needs. And propose necessary changes +to other software if necessary. I don't see why Joris would not accept +such change in Texmacs. + +\start +Date: 16 Sep 2003 16:22:38 -0400 +From: Camm Maguire +To: +Subject: [Axiom-developer] A few bug reports from Debian users + +Tim, what say ye? + +1) + +When attempting to evaluate an expression such as "0.0 + sqrt(pi)", +Axiom loads a number of packages, then aborts with + +,---- +| Loading /usr/lib/axiom-0.0.0cvs/mnt/linux/algebra/FACTFUNC.o for +| package FactoredFunctions +| Loading /usr/lib/axiom-0.0.0cvs/mnt/linux/algebra/COMBF.o for +| package CombinatorialFunction +| +| >> System error: +| Cannot open the file /usr/lib/axiom-0.0.0cvs/mnt/linux/algebra/COMBF.o. +| +| protected-symbol-warn called with (NIL) +`---- + +I am using libc6 version 2.3.2-7 on an x86 running Linux kernel 2.5.60. + +-- +Eric Marsden + + +2) + +Package: axiom +Version: 0.0.0cvs-4 +Severity: wishlist + +When programming in Axiom it is extremely useful to be able to access +at any time the sources of the mathematical libraries (and the +implementation of domains and categories). Therefore the axiom package +should install or at least recommend the installation of these library +sources. + +\start +Date: Tue, 16 Sep 2003 16:00:38 -0500 +From: +To: camm@enhanced.com +Subject: [Axiom-developer] COMBF + +It appears that COMBF (from combfunc.spad) is missing. It's a bug. +I'll figure it out and fix the CVS. + +I don't have an address for Eric Marsden and Frederic has no +last name attached. Please send me email addresses for them. + +As to the issue of having sources I believe they were part of the +package. They can get the .spad sources for COMBF and family by +typing: + +cd (yourpath)/src/algebra +notangle combfunc.spad.pamphlet >combfunc.spad +axiom +-> )co combfunc.spad + +Of course, this will not put the COMBF.o file in the right place +but should allow them to continue for the moment. + +\start +Date: Wed, 17 Sep 2003 00:07:35 +0200 +From: +To: axiom-developer@nongnu.org +Subject: Re: [Axiom-developer] COMBF + +Dear all, + +> I don't have an address for Eric Marsden and Frederic has no +> last name attached. Please send me email addresses for them. + + Frédéric is Frédéric Lehobey (me). The bug report is only about the +Debian axiom package (thanks Camm for your great job!) that does not +include by default the « .spad » files. Maybe should they find their +way (in the same time as the output of pamphlet files) into some +Debian axiom-doc package or could be related to some specific use of +the axiom-src package. All this is related to the Debian packaging. + +> As to the issue of having sources I believe they were part of the +> package. They can get the .spad sources for COMBF and family by +> typing: +> +> cd (yourpath)/src/algebra +> notangle combfunc.spad.pamphlet >combfunc.spad +> axiom +> -> )co combfunc.spad +> +> Of course, this will not put the COMBF.o file in the right place +> but should allow them to continue for the moment. + + This could not yet work with the axiom_0.0.0cvs-4 Debian (only!) +package. + +\start +Date: Tue, 16 Sep 2003 21:17:36 -0400 +From: Camm Maguire +To: gerhardtonn@swol.de +Subject: [Axiom-developer] axiom s390 +Cc: debian-s390@lists.debian.org + +Greetings! Gerhard, axiom has recently been released (preliminary +CVS), and a Debian package uploaded to unstable. GCL is used to +compile the source for Debian. As you may remember, you've helped me +in the past with getting mprotect working on s390 in order to enable +efficient garbage collection in gcl-compiled programs on this +platform. And now, GCL compiles itself, maxima, and acl2 with full +optimization on s390 passing all tests. + +With axiom, however, there is a gcc 3.3 bug which causes the build to +fail unless -O0 is used. I've tried isolating it, but to no avail +thus far. I'd hate to remove optimization across the board for GCL, +maxima and acl2 to work around this bug for axiom, but it may be worth +it if nothing else can be done. Axiom is a very sophisticated +computer algebra system. + +Do you or others have interest in axiom for s390? If so, would you or +one of your colleagues be willing to help me spot the gcc optimization +bug? I have all the necessary files currently on trex. + +\start +Date: Tue, 16 Sep 2003 21:23:46 -0400 +From: Camm Maguire +To: debian-powerpc@lists.debian.org +Subject: [Axiom-developer] strip erratically corrupts unexeced executables on ppc + +Greetings! Does this ring a bell with anyone? Is there a work +around (short of not stripping the binaries)? + +\start +Date: Wed, 17 Sep 2003 15:40:38 +0200 +From: Gerhard Tonn +To: Camm Maguire +Cc: debian-s390@lists.debian.org +Subject: [Axiom-developer] Re: axiom s390 + +Camm Maguire wrote: +> +> Do you or others have interest in axiom for s390? If so, would you or +> one of your colleagues be willing to help me spot the gcc optimization +> bug? I have all the necessary files currently on trex. +> + +I will look into it. Thanks. + +\start +Date: 17 Sep 2003 10:20:54 -0400 +From: Camm Maguire +To: axiom@tenkan.org +Subject: [Axiom-developer] Re: COMBF + +Greetings, and thanks as always. + + writes: + +> It appears that COMBF (from combfunc.spad) is missing. It's a bug. +> I'll figure it out and fix the CVS. +> +> I don't have an address for Eric Marsden and Frederic has no +> last name attached. Please send me email addresses for them. +> + +BTW, you can follow shout you desire Debian bug reports on axiom at +http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=axiom + +Their addresses are +emarsden@laas.fr and frederic.lehobey@free.fr + +(The latter as already posted here.) + +> As to the issue of having sources I believe they were part of the +> package. They can get the .spad sources for COMBF and family by +> typing: +> +> cd (yourpath)/src/algebra +> notangle combfunc.spad.pamphlet >combfunc.spad +> axiom +> -> )co combfunc.spad +> + +Please forgive my original terse presentation. Right now, the package +just clips off mnt/linux and installs a shell script wrapper +(basically). Do you have a suggestion about which directories or +files might belong in a package wishing to install source of interest +to the typical user? + +> Of course, this will not put the COMBF.o file in the right place +> but should allow them to continue for the moment. +> + +\start +Date: Wed, 17 Sep 2003 20:17:11 +0200 +From: David MENTRE +To: Camm Maguire +Subject: Re: [Axiom-developer] Re: COMBF + +Hello Camm, + +Camm Maguire writes: + +> Do you have a suggestion about which directories or +> files might belong in a package wishing to install source of interest +> to the typical user? + +I'm not a mathematician as Frédéric but I would say "int/algrebra/*.spad". + +\start +Date: 17 Sep 2003 16:41:51 -0400 +From: Camm Maguire +To: Gerhard Tonn +Subject: [Axiom-developer] Re: axiom s390 +Cc: debian-s390@lists.debian.org + +Great! Please let me know if you need me to explain anything. + +Briefly, you can go into my gcl-2.6.1 tree, change the CFLAGS, O3FLAGS +and O2FLAGS, do a 'make clean' in the o lsp cmpnew and unixport dirs, +then do make in the base dir. +export PATH=/home/camm/gcl-2.6.1/bin:$PATH, +go into the axiom tree, fakeroot debian/rules clean and debian/rules +build. + +You should see the failures with anything above -O0 shortly after +'depsys' is created. The O3FLAGS and O2FLAGS govern the optimization +of GCL compiled lisp modules -- I did verify that simply setting these +to -O0 (as opposed to the GCL opt flags themselves) does not fix the +problem. + +Take care, + +Gerhard Tonn writes: + +> Camm Maguire wrote: +> > Do you or others have interest in axiom for s390? If so, would you +> > or +> > one of your colleagues be willing to help me spot the gcc optimization +> > bug? I have all the necessary files currently on trex. +> > +> +> +> I will look into it. Thanks. + +\start +Date: Wed, 17 Sep 2003 16:54:02 -0400 +From: root +To: david.mentre@wanadoo.fr +Subject: Re: [Axiom-developer] Re: COMBF +Cc: camm@enhanced.com + +I'll update the build to include the sources in the mnt directory. +I'll let you know when this and the COMBF change is done. --t + +\start +Date: Thu, 18 Sep 2003 11:32:06 +0100 +From: Mike Dewar +To: root +Subject: Re: [Axiom-developer] documentation + +Tim, + +I think the main thing is to inform Bob and Dick (the latter might be +difficult I suppose). Of the others, I am still in touch with +Bronstein, Giani, Grabmeier, Trager, Watt and Williamson (and Daly of +course :-)). + +Mike. +On Sun, Sep 14, 2003 at 09:55:07PM -0400, Tim Daly wrote: +> Mike, +> +> As I undertand the book & authors issue it appears that the words +> from the text have been released under the Modified BSD license +> which allows anyone to use and modify them at will. However, as a +> point of courtesy each of the dozen or so authors should be told. +> I only have contact with a few of them as the rest seem to have +> fled into the woodwork. Did you maintain reasonably current email +> addresses? I have no idea how to find some of these people. + +\start +Date: Thu, 18 Sep 2003 21:31:34 -0400 +From: root +To: axiom-math@nongnu.org, axiom-developer@nongnu.org, axiom-mail@nongnu.org +Subject: [Axiom-developer] feedback +Cc: fateman@cs.berkeley.edu, gilbert@sci.ccny.cuny.edu, kabdali@nsf.gov + +*, + +MIT has a lot of courses online. In particular, it has a fair number +of math and science courses online. (http://ocw.mit.edu) + +The discussion at work today (I'm at City College of NY) is a proposal +to develop a common-format targeted front-end to Axiom which would +match and support the MIT math and science online courses. Of course +we don't have the man-power or expertise to develop such a large range +of courses in-house. Nevertheless, I think the idea has a lot of merit +for the education community and, in particular, the Axiom community. + +Clearly the MIT math courses are reasonable for implementation in +Axiom (for example, Strang's Linear Algebra). And the Linear Algebra +course is clearly the basis for the Mechanical Engineering +course. Both of these are probably well addressed by the 3 Ms +(Mathematica, Maple, Matlab). I don't believe, however, that there is +a coordinated body of code for the range of available courses in any +of these systems although pieces exist for some of them. Axiom is in +a "come from behind" position at the moment. + +I believe that Axiom's new open source nature gives it a major +advantage over the 3Ms since both professors and students can read, +modify, and create new algebra which could be freely shared worldwide. +Since we're trying to get Axiom shipped with all of the available +operating systems (Linux, Windows, Macs, etc.) it will be available on +all university and student desktops worldwide. This will give Axiom a +common foothold in the education market. A common front-end approach +would lower the learning curve for students so less class time would +be spent teaching students to use a computer algebra system. A +connection to the online courseware would make it very useful. And it +would give widely available tutorials for Axiom so everyone benefits. + +Is it reasonable for an amorphous, worldwide community to try to do +coordinated development of software around a single MIT target? Would it +be reasonable to convince, or hope to convince, MIT to host the same +courses in multiple languages? Could we figure out a way to develop a +grant/subgrant structure that would attract developers for particular +courses? Is it possible that any granting organization would fund +developers worldwide? Is it politically possible within Universities +to expect that MIT's presentation of Linear Algebra would supercede +locally developed courses? If not, is it reasonable to design the +software to allow selective order of topic introduction? Can we design +courseware that would handle, say, the top 10 selling Linear Algebra +books? Will professors allow students to use Axiom on tests (my math +professors would not let us bring calculators to class, including my +Advanced Calculus class :-) ). Can we arrange the issues and try to +address each of them in some coordinated fashion? + +It is clear that free and open source development can have as large +an impact on education as Linux has had on the operating system area +if we can build a community around the effort. One of the major issues +is that building software gets little or no academic credit and even +less grant funding. Perhaps a coordinated effort can change both of +these mindsets. + +If you have a few minutes I'd like some feedback on this idea. +Please reply on the axiom-math@nongnu.org mailing list. + +\start +Date: Fri, 19 Sep 2003 11:18:15 +0200 +From: Daniel AUGOT +To: axiom-developer@nongnu.org +Subject: [Axiom-developer] Axiom and the scientific commnunauty + + Dear Axiom developpers, + + I think there is an issue for the future life of Axiom, which involves + researchers in computer algebra. From some email exchanges with + friends, I do not feel that the revival of Axiom as free software will + motivate them to go back to Axiom. + + In the French commnunauty, which I know a bit, because I was involved + during my PHD thesis, 10 years ago, many people got very involved with + Axiom. Many wrote domains, packages etc... for implementing the + algorithms they were introducing in their research work. + + But at his time, Axiom was a very closed software, and the French + communauty was on its own, for documentation, help, contacting gurus, + etc... Axiom also had its load of defaults~: a cumbersome system of + categories, poor speed of code, compiler and interpreter bizareness, + no way to use Unix pipes and redirection etc. Furthermore NAG did not + show any clear sign about the future of Axiom. Even more, there was + the promising A#/axiomxl/aldor project, with Basicmath, but it was + immature, so the choice between Axiom and aldor was unclear. + + As a consequence many were confused and discouraged, and switched to + other computer algebra systems, for instance Magma, which offers a + large library and is very fast (although it does not offer the rich + mechanism of Axiom for contructing domains and categories). + + Consequently, I think there must be a thinking about the state of + Axiom, and clear signs concerning its future, beyond the point of + making it publicly available. Will the compiler will be fixed ? Will + it be documented ? Will compiled code be faster ? Will researchers in + computer algebra be able to incorporate easily their software ? Will + they be able to redesign the system of categories ? Will it be + possible to link against efficient C code ? etc, etc... + + May be the benefits of the free software will show up, but, after + discussion with friends, it will not be enough for switching back to + Axiom. + + Kind regards, and felicitations for the work done. I have been able to + download and compile all Axiom, and I am very glad for that. + + + Daniel Augot, tel. : +33 0 1 39 63 58 71 + INRIA-Rocquencourt, Bat. 10 fax. : +33 0 1 39 63 50 51 + Domaine de Voluceau, B.P. 105 mel. : Daniel.Augot@inria.fr + F-78153 Le Chesnay Cedex http://www-rocq.inria.fr/~augot + +\start +Date: Fri, 19 Sep 2003 10:42:42 -0400 +From: root +To: Daniel AUGOT +Subject: Axiom and the scientific commnunauty] + +------- Start of forwarded message ------- +Daniel, + +Thanks for your note. + +I have had both face-to-face and direct email discussions that the +issues you raise are real and need to be addressed. I'll try to give +you my current thinking on the subject. + +> Dear Axiom developpers, +> +> I think there is an issue for the future life of Axiom, which involves +> researchers in computer algebra. From some email exchanges with +> friends, I do not feel that the revival of Axiom as free software will +> motivate them to go back to Axiom. + +I don't expect that Axiom will gain a great deal of use simply because +it is free. I have collected about 100 free "computer algebra" systems +which I distribute on my Rosetta CD collection. Free CA systems are +"a dime a dozen" quite literally. Indeed many of these systems were +built by researchers as part of their research work. + +My experience shows that most of these free systems start with the insight +that math "types" and programming "types" are similar. Starting with this +idea it becomes clear that you can build a nice, clean system from scratch. +It takes about a semester to build up a full, general purpose, polynomial +manipulation library in C++ and, indeed, you find that the math and computer +types interact very well. Then the insight occurs that the library isn't +useful to anyone but the researcher so the second semester of work involves +writing a front-end interpreter on the library. Subsequent effort involves +trying to convince others that this could be a very useful system given +sufficient effort. + +This is very seductive since it looks like great progress. It has several +problems. + +First, a local problem is that the research work that is "reduced to +practice" using a newly implemented system cannot be effectively used by +others (e.g. library systems rarely do simplification and almost never +document their algorithms). + +Second, a local problem is that reduction to practice, that is, "programming" +is generally not "valorized". The research is recognized but the year or +two spent building a working system is either ignored or considered to +be of little worth during tenure discussions. + +Third, a global problem is that the algorithmic work, while free, is +generally useless to others. Either the system is so specialized that +it only does one thing well which makes it into a single-purpose, once-only +use tool or it tries to be general purpose and has such a limited range of +algorithms that it quickly reaches a point of frustration for the user. +Thus the one great algorithm at the center of the system is buried and lost. + +Fourth is the "rule of 3". It takes 1 unit of work to get something for +yourself. It takes 3x1 units of work to make is so your office neighbor +can use it. It takes 3x3x1 units of work so you can use it "in the +department" and in courses. It takes 3x3x3x1 units of work to give it +to the world for free without support. It takes 3x3x3x3x1 units of work +to make it into a commercial product with support, a hotline, lawyers, etc. +Most "computer algebra" systems stop at the 3x1 level as there is no +interesting new research work beyond the first unit and the 3x1 units +are expended as a matter of trying to get the work out to the world. + +Building your research on top of Axiom or the 3Ms (Mathematica, Maple, +Matlab) immediately gives you the benefit of the 81 units of work already +done. + +Systems like the 3Ms get purchased because they are general purpose +enough to do virtually anything and hold out the hope that research +done with these systems will be picked up and made useful to others. +However you tend to lose control of your work. If it is badly implemented +in the 3M world and has your name attached to it you have little choice +but to suffer the hit on your reputation. In a free system like Axiom +your reputation is yours to make or break. + +Detailed discussions with researchers highlights another subtle fact. +The 3Ms are built on weak theory ground. Practically speaking this has +the effect of "limits of scale". You'll find that the more complex the +package you build the more difficult these systems become, for reasons +not related to your package. The difficulty is compounded if you need +to use other "non-core" packages. In some sense, these systems are like +Perl which is easy to use, fast to write, hard to scale to large projects, +and impossible to maintain (yes, I know this is a religious debate). + +> +> In the French commnunauty, which I know a bit, because I was involved +> during my PHD thesis, 10 years ago, many people got very involved with +> Axiom. Many wrote domains, packages etc... for implementing the +> algorithms they were introducing in their research work. + +Axiom started out like any other home-grown system, called Scratchpad. +However it was started at a time that major funding was available +(computer algebra was considered to be a branch of artificial intelligence). +It was heavily funded by both the U.S. government and IBM Research for about +23 years. Many researchers came to visit, many people worked on the system, +many algorithms were created in a broad range of areas. This is the +"dream realized" for the authors of the many free "library" systems. +Fortunately Axiom started out as a "theory" system and not a "library". +(See the footnote). + +IBM ran into financial trouble and sold Scratchpad (as Axiom) to raise cash. +As a business decision this made sense but as a global decisions it was +pointless. Scratchpad is a great system for doing research work and had +the support and attention of about 400 researchers worldwide. If you're +going to do real math research Scratchpad was definitely the place to work. +It required at least a master's degree to learn but was easy to extend if +you understood the underlying math. Your work could be integrated and used +by the research community. As a "product" (Axiom) it had a very limited +market with cash-poor clients who could not support Axiom as a commercial +product. Axiom could never generate sufficient cash flow to cover the cost +of a development team in the commercial, closed source world. And open-source +generates no cash. So Axiom is the best place to do research and the worst +place to make money. + +> +> But at his time, Axiom was a very closed software, and the French +> communauty was on its own, for documentation, help, contacting gurus, +> etc... Axiom also had its load of defaults~: a cumbersome system of +> categories, poor speed of code, compiler and interpreter bizareness, +> no way to use Unix pipes and redirection etc. Furthermore NAG did not +> show any clear sign about the future of Axiom. Even more, there was +> the promising A#/axiomxl/aldor project, with Basicmath, but it was +> immature, so the choice between Axiom and aldor was unclear. + +Scratchpad was "open source" before the term existed. People who asked me +(while I was at IBM) could get a free copy of the source code. Axiom +when it was released followed the standard commercial path of closed +source software. This depends on a staff of people to maintain, which +depends on a good cash flow, and clearly Axiom couldn't generate the +cash flow. So Axiom was cut off from the customers who made it useful +and could never survive in a closed source model. + +Scratchpad was ported onto AKCL, a compiled, hand-optimized version of +common lisp specifically developed under contract. I worked closely +with Bill Schelter on several detailed features like second-compile +optimization of function calling, tail recursive optimizations, memory +management, etc. to make Scratchpad perform well. When Axiom became a +commercial product it was ported to run on CCL, a byte-code interpreted +partial common lisp. This solved the portability problem (AKCL was +very hard to port as it compiles to optimized machine code) but +basically broke Scratchpad. Function calling and garbage collection +optimizations disappeared. Axiom is now back to running on GCL, the +open-source version of AKCL. Camm, the GCL lead developer, is on the +Axiom maintainer list. + +As to contacting gurus we on the scratchpad team were told to "circle +our chairs" until we came up with something other than computer algebra +to work on (they even brought in an industrial psych. to "reprogram" us +which I found to be a very painful experience both professionally and +emotionally). NAG was in a very difficult situation guru-wise as they +lost the help of the guys who wrote it. + +Aldor has great promise but people insist on trying to build the world +"from scratch". It may be several years and several failed experiments +before it becomes clear that the "library" approach is flawed. In the +mean time Axiom and Aldor have committed to supporting cross-compiled +compatibility. + +As to the other issues like "cumbersome categories", hey, it's now +open-source and I'm open to ways of improving it. Scratchpad/Axiom +evolved to the system it is now because hundreds of people worked on +it and improved it. Someone needs to "unify" the Axiom type tree with +the mathematics in a much more systematic way. This is about a whole +Ph.D-thesis level of effort. The benefits of such thesis work would +be enormous as it would clarify how to correctly build these systems. +Axiom's types grew with knowledge of the theory but without benefit +of the detailed analysis. + +> +> As a consequence many were confused and discouraged, and switched to +> other computer algebra systems, for instance Magma, which offers a +> large library and is very fast (although it does not offer the rich +> mechanism of Axiom for contructing domains and categories). + +Now Axiom is back as open source. That is a necessary condition but not +sufficient. We need two things to survive. We need a community and we +need a funding model. + +> +> Consequently, I think there must be a thinking about the state of +> Axiom, and clear signs concerning its future, beyond the point of +> making it publicly available. Will the compiler will be fixed ? Will +> it be documented ? Will compiled code be faster ? Will researchers in +> computer algebra be able to incorporate easily their software ? Will +> they be able to redesign the system of categories ? Will it be +> possible to link against efficient C code ? etc, etc... + +For signs about its future visit savannah.nongnu.org/projects/axiom and +click on the "homepage" link. There are long range plans to unify with +theorem proving (ACL2 or MetaPRL), group theory (GAP and Magnus), +numerical work (Octave, etc). These are evolving as discussions proceed +and the webpage has not kept pace. In addition there is the CATS (computer +algebra test suite) effort to unify the test cases from the many systems +and put them on a better mathematical footing. + +The documentation is in process. Virtually all of Axiom is now written +in a literate programming style and examples of literate programs which +combine a Ph.D thesis (Richard Paul's Robotics work) with a domain +(DHMATRIX) exist in the distribution. More work needs to be done both +on this domain and on recovering the research papers behind the other +domains. I've contacted several researchers and gotten their permission +to use their research papers and integrate them into the documentation. +This work continues but it is tedious because I need to find the research +and secure the permissions. + +In addition I'm rewriting the Axiom book as we speak. The current work +is rebuilding the book but the later steps involve much rewriting +as well as exploiting the power of Active DVI. The online book will +likely be the "next announcement" so documentation is being given a +priority. + +Community can only occur if people feel there efforts will bring reward. +In most cases, especially open source, this involves recognition. This +is a particularly thorny problem as computer algebra systems tend to be +the child of mathematicians. Math departments seems to feel that the +reduction to practice of math theory is uninteresting. Until the cross +breeding of the Computer Science and the Mathematics department yields +a "Computational Mathematics" department I suspect the problem will +continue. In the long run, of course, this has to occur as some of the +mathematics can no longer be done without a computer and some of the +mathematics only exists BECAUSE computers exist. + +Beyond University issues Axiom needs to build a wider community of +users who are not researchers. This involves reaching out to the teaching +community. It involves finding ways to make Axiom easier to use and reducing +the learning curve. It involves developing a focusing agenda for coordinating +and developing teaching materials for the sciences (see footnote2). The MIT +suggestion is motivated by the question of who is the Axiom community and +how to reach/motivate/support it. + +As to the funding issue I believe that this will also be a struggle. I've +been mulling the idea of creating an Axiom company which would be chartered +to work with schools to construct grant requests and administer grants for +researchers. This is an outgrowth of the way Scratchpad worked during the +IBM days. Researchers would come and spend time on site writing new domains, +learning Axiom, and returning back to their schools. Unfortunately I'm not +sufficiently skilled at grant writing to figure out how to make this work. +The Axiom company wouldn't own anything and would only be a paper agency +with a grant number and financial tracking. + +An alternative approach is to "side-effect" the grants. That is, encourage +and support researchers who are applying for grants that involve Axiom +(such as classroom development of courses) in their efforts. This is much +harder as the researcher has to decide to make it part of the grant. + +Clearly I have no creative new ideas about how to get money. However +if you take the "30 year view" of computer algebra it is clear that +we need to build on the current systems rather than start from scratch. +For one thing there is already 30 years of funding investment in Axiom +which shows just how expensive it can be to develop a "real" system. +For another it is clear that no-one is going to support another 30 +years of funding just to achieve the same level as Axiom has reached. + +So either we expend a great deal of energy creating small, special purpose +library systems or we contribute to the larger systems like the 3Ms and +Axiom. I would argue that Axiom is better designed to scale to higher +mathematics and also better able to support the amplification of the +teaching and research work because of the "open source" effect (that is, +freely downloadable packages widely available with multiple authors +as with Linux). + +> +> May be the benefits of the free software will show up, but, after +> discussion with friends, it will not be enough for switching back to +> Axiom. + +I don't expect people to switch back to Axiom because it is free. I +hope they will switch back because it is better, both technically and +socially, than the alternatives. + +In addition I believe that "Computational Mathematics" will eventually +arrive as a discipline in its own right just as the Computer Science +departments eventually arose. As an undergrad 35 years ago I had to +convince my math profs to create courses in "computer science" as it +was "just a fad". We need to begin to collect the widespread +research (enshrined in libraries and journals) and use it to document +the algorithms. There needs to be a whole tower of computer algebra +theory that can be taught as a field of research combining work in +math, computer science, complexity, types, simplification, etc. +There needs to be support work for the sciences that need computer algebra. + +Switching to Axiom isn't really the point (pretend I never said that) +but Axiom provides a kernel for the field of developing theory. In 30 years +this will be perfectly obvious. Computer algebra both stimulates fields +of research and provides answers that can't be arrived at by any non-computer +means. + +> +> Kind regards, and felicitations for the work done. I have been able to +> download and compile all Axiom, and I am very glad for that. + +Anyway, that's my current thinking on the subject. +There is more to come as work on Axiom continues. + +Tim Daly +axiom@tenkan.org +daly@idsi.net + +Footnote: My survey of the computer algebra field shows that systems can +be classified in one of three ways. + +"Library systems" start out with the realization that math types and +computer types are similar. A C++ (usually but not always) library +gets created. An interpreter is grafted on top of the library. The +focus of these systems is "speed". + +"Engineering systems", like Mathematica, Maple, and Matlab, are systems +that try to get "an answer". They seem to ignore math types and sometimes +specialize in one general purpose programming type (e.g. lists). You can +recognize these systems because operations like subtracting two equal +matricies will yield the zero integer. They are general purpose, easy to +use, and hard to scale (i.e. build on the work of other non-core packages). + +"Theory systems" like Axiom or Docon. These systems start with the math +types and build up a language based on them. The programming representations +are flexible. Subtracting two matricies yields the zero matrix. They are +general purpose, hard to learn, but scale very cleanly. + + +Footnote2: There is a game called Pontifex which simulates bridge building. +It includes a construction set. Bridges are built and simulated loads (such +as trains) are applied to the bridges. Learning occurs. See +(http://www.bridgebuilder-game.com) + +Axiom could be very useful when packaged with games of this type in a +classroom setting. Consider a mechanical engineering course where you +have software that can compute virtual work loads on beam members (which +are basically delta-displacements). You could explain the theory, show +how to compute loads of 2 and 3 dimensional lattices, how to apply them +to bridges, how to predict bridge successes and failures, and use the +game to build the simulated bridges. Game playing and mathematics in the +same course. + +You could do the same in other sciences such as biology. If you look +at the forces involved in protein folding you could create models +using Axiom, define the forces, and compute results. The challenge +would be to create a game that accurately simulates the models. Perhaps +in chemistry you could model glue-binding forces for various types of +glues (like post-it notes) and construct things with glue. Game playing +is a fast growing (and profitable) field. We should bring games into the +classroom along with the theory. + +\start +Date: Fri, 19 Sep 2003 14:36:49 -0400 +From: root +To: Daniel.Augot@inria.fr +Subject: [Axiom-developer] correction + +*, + +A correction on the footnote in the last reply... +I used the example of matrix subtraction and made the claim that +engineering systems would give an integer zero as the result. +This is not correct. The point of the incorrect example was +that type information is not carried in these system. +Please ignore the example. + +\start +Date: 20 Sep 2003 00:20:39 +0200 +From: Antoine Hersen +To: axiom-developer@nongnu.org +Subject: [Axiom-developer] Creating a website + +Hello + +I was looking at axiom foolowing a news in a french linux news site, and +I first saw the "Dec 2, 2002" and was a litle bit scary that it was a +lost project. + +I checkout the cvs try to build it( fail while building gcl but I have a +working version on my box so I will try to drop it instead), and then +see the mailing list who seem to be much more alive. + +I have a lot of interest in this project as a student in computer +science, and I think to create a comunity its very important to have a +descent up-to-date web site, has its the main image and first source of +information. + +IMHO wiki will be very well suited to such a project a least in the +first time because they are easy to use, easy to keep up-to-date and a +good cooperating medium. + +You can have look at project like : http://twiki.org/ very powerfull, +the big gun http://tikiwiki.org/ and in php +http://phpwiki.sourceforge.net/phpwiki/ but there are many more have a +look at http://c2.com/cgi/wiki?WikiEngines + +I will be glade to help if needed. + +Antoine Hersen + +\start +Date: Fri, 19 Sep 2003 18:28:18 -0400 +From: root +To: antoine.hersen@aiesec.net, david.mentre@wanadoo.fr +Subject: Re: [Axiom-developer] Creating a website + +Antoine, + +The Axiom project is very much alive and growing. I'm not sure if we +can run a wiki from the free software foundation site. And, yes, the +homepage is WAY out of date. David Mentre has web access to the +current page. He's copied on this note. + +David, + +Can you and Antoine cooperate on updating the webpage? + +\start +Date: Sat, 20 Sep 2003 11:16:50 -0400 +From: William Sit +To: daly@idsi.net +Subject: [Axiom-developer] Re: [Axiom-math] correction + +root wrote: +> +> *, +> +> A correction on the footnote in the last reply... +> I used the example of matrix subtraction and made the claim that +> engineering systems would give an integer zero as the result. +> This is not correct. The point of the incorrect example was +> that type information is not carried in these system. +> Please ignore the example. + + In the 3M's, the difference of two equal matrices is the zero matrix. However, +a brief investigation seems to indicate that type information in Maple or +Mathematica is carried only to a limited extent, and not as formally or robustly +as in Axiom. Matlab has types (classes), apparently based on C++ or Java +constructs. + +In Mathematica: Head[ ] does not always give types; and there are only a few +specific routines to test types. + +In[1]:= +a := x^2 + 1 + +In[2]:= +b := x^2 + +In[3]:= +c := a - b + +In[4]:= +PolynomialQ[c] + +Out[4]= +True + +In[5]:= +IntegerQ[c] + +Out[5]= +True + +In[6]:= +Head[c] + +Out[6]= +Integer + +Maple has a type function with two arguments to test the type of a variable, but +only if you already know what type to test against. Similar to Mathematica, the +difference of two similarly typed objects may have multiple other types and need +not have the type of the operands. + +> a:=x^2+1; + + 2 + a := x + 1 + +> b:=x^2; + + 2 + b := x + +> c:=a-b; + + 1 + +> type(c,integer); + + true + +> type(c,polynom); + + true + +> a:=1/2; + a := 1/2 + +> type(a,fraction); + + true + +> b:=1/2; + + b := 1/2 + +> c:=a-b; + + c := 0 + +> type(c,fraction); + + false + +> type(c,integer); + + true + + + + +In Matlab, the type is called class and seems to be retained. +>> sym x + +ans = + +x + +>> a = x^2 + 1 + +a = + +x^2+1 + +>> b = x^2+1 + + +b = + +x^2 + +>> c = a-b + +c = + +1 + +>> class(c) + +ans = + +sym + +\start +Date: Mon, 22 Sep 2003 19:19:10 +0200 +From: David MENTRE +To: Daniel AUGOT +Subject: Re: [Axiom-developer] Axiom and the scientific commnunauty + +Hello Daniel, + +While Tim has sent a lengthy reply, I would like to add a few words. + + +Daniel AUGOT writes: + +> Consequently, I think there must be a thinking about the state of +> Axiom, and clear signs concerning its future, beyond the point of +> making it publicly available. Will the compiler will be fixed ? + +The (Aldor, A#, ...) compiler has never been released as free software. + +> Will it be documented ? + +Short answer: yes. + +Long answer: Tim (and other people like me) believe that the long term +viability of Axiom relies on its internal documentation. So all Axiom +source code is available in a pamphlet form, which is essentially latex ++ source code. Currently, only the build process is documented. + +For internal documentation, look for .dvi files in a compiled Axiom +tree. + +For long term design, see for example: +http://mail.nongnu.org/archive/html/axiom-developer/2003-08/msg00071.html + +> Will compiled code be faster ? + +I can't say. Right now, Axiom speed relies on GCL (Gnu Common Lisp) +speed. If you are thinking of a native Axiom compiler, i.e. from Spad to +assembly, it needs to be designed and implemented from scratch. + +> Will researchers in computer algebra be able to incorporate easily +> their software ? + +This is a goal. Tim wants people to be able to do a drag&drop of new +Axiom packages, with automatic dependency handling, automatic internal +and user documentation generation, etc. + +> Will they be able to redesign the system of categories ? + +I can't say. + +> Will it be possible to link against efficient C code ? + +Why not? Axiom's Spad compiles to common lisp which compiles to C. It +should be possible to insert some proper linking at the right stage with +foreign C code. Of course, obvious issues like interaction with lisp's +garbage collector should be handled correctly. + +If this is a requirement, please fill a bug report as "feature request" +in Bug group on savannah web site, with the maximum information you can +provide: expected user interface, expected behavior, example of syntax, +expected interaction with Axiom typing, etc. + +http://savannah.nongnu.org/bugs/?func=addbug&group=axiom + +> May be the benefits of the free software will show up, but, after +> discussion with friends, it will not be enough for switching back to +> Axiom. + + +Contrary to what Tim thinks, I personally think that free software in +itself is enough to switch to Axiom (or any free CAS). Because the +future of any free software is in the hands of its users. If you want a +feature, do not wait for it, just design and implement it. You have the +right to do it. Axiom is a bit old on certain aspects but it has some +well designed grounds. + +The future of Axiom is in _your_ hands. If you want a certain feature, +code it or find a another colleague, friend, student, ... to do it. + +Free software is much more viable in the long term that any commercialy +supported and closed software. Of course, it remains to us to show that +Axiom will be there in 30 years. There's no such thing as a simple +job. ;) + + +\start +Date: Mon, 22 Sep 2003 19:21:04 +0200 +From: David MENTRE +To: daly@idsi.net +Subject: Re: [Axiom-developer] Creating a website +Cc: antoine.hersen@aiesec.net + +root writes: + +> Can you and Antoine cooperate on updating the webpage? + +Of course. I'll make a first try and then cooperate with Antoine and +other Axiom guys to improve it. + +\start +Date: Mon, 22 Sep 2003 20:31:21 +0200 +From: David MENTRE +To: Antoine Hersen +Subject: Re: [Axiom-developer] Creating a website + +Hello Antoine, + +Antoine Hersen writes: + +> I will be glade to help if needed. + +And, as Tim said, we are glad to accept your help. :) + +I have put a new basic web page on savannah. It should be online in less +than 6 hours (the delay is not mine but savannah). + + http://www.nongnu.org/axiom/ + +My english is very poor, so if you or anybody else see typos or other +missing part, just tell me. + + +This page provides you basic content so you won't start from scratch. +I'm sure you'll be able to put a much more fancy web site that the job I +have done. + +The first thing that could be helpful would be a kind of menu. + + + +Regarding tools, as far as I know we can only put static web pages on +Savannah. So you are free to use any tool, as long at it is free +software and can generate static web pages. Of course, a standard tool, +easy to install and easy to use would be a plus. Defining what is +"standard" is left as an exercise to the reader. :) + +I would consider it a big plus to follow W3C standard. + + +Regarding Wiki, I'm not very fond of it and, moreover, we can't put it +on savannah. But if you want to start a Axiom Wiki elsewhere, please +feel free. We will had a link to it. + + +If you have any question, please to not hesitate to ask, in english on +the mailing list or in french directly to me. + +\start +Date: Tue, 23 Sep 2003 11:38:47 +0200 +From: Daniel Augot +To: David MENTRE +Subject: Re: [Axiom-developer] Axiom and the scientific commnunauty + +David MENTRE wrote: + +> Long answer: Tim (and other people like me) believe that the long term +> viability of Axiom relies on its internal documentation. So all Axiom +> source code is available in a pamphlet form, which is essentially latex +> + source code. Currently, only the build process is documented. + +I completly agree with that. Document, document, document. Eventually +this will atract people who may become gurus with the +interpreter/compiler, and who will improve it. + +I see that hyperdoc is missing. Wouldn't it be possible to ship it with +axiom. This kind of hypertex browser is ideal to cope with the huge +axiom mathematical library. + +> For internal documentation, look for .dvi files in a compiled Axiom +> tree. + +Ok I have notably found the DeveloperNotes.dvi, which seems quite +valubale. + +Afterthoughts after my message. In fact I am big axiom fan, and the +first time I sat in front of a computer, it was for learning Scratchpad +II in front of a VM/CMS computer. My previous mail was to reflect the +septicism of some french researchers, after the failure of axiom from +NAG. This septicism is a bit mine, althought I heartly hope that axiom +will at last gain the communauty it merits. Thus the need for +documentation. + +\start +Date: Tue, 23 Sep 2003 06:55:42 -0400 +From: root +To: daniel.augot@inria.fr +Subject: Re: [Axiom-developer] Axiom and the scientific commnunauty + +Daniel, + +The hyperdoc section of Axiom is coming. Hyperdoc was written before +browsers existed and thus is lacking some of the more modern features. +In particular it does not support .dvi file formats which appears to +be the likely Axiom documentation format. Active DVI (ADVI) supports +several interesting features including animated gifs (which will allow +the graphics to move in a .dvi file) and inline command prompts (which +will allow the user to type live Axiom commands into a document). It +probably supports hyperlinks also but I haven't checked into it yet. +I have Active DVI in my local source tree but have not yet got it +integrated properly. + +Pamphlet files are intended as the primary document format. They are +little more than TeX files with a few additional tags, namely: + +A code chunk definition for "any string" looks like: +<>= +... define code here ... +@ + +A code chunk reference to the "any string" definition looks like: +<> + +The "default" code definition block is: +<<*>> +... default block ... +@ + +You can extract the documentation from a pamphlet file by typing: +noweave foo.pamphlet >foo.tex + +You can extract the code from a pamphlet file by typing: +notangle foo.pamphlet >foo.lang + +You can extract a particular code chunk from a pamphlet file by typing: +notangle -R"any string" foo.pamphlet >foo.lang + +And you have an inline quoting mechanism to skip TeX format +[[ $foo\crufty!filename.nonsense ]] + +(The literate programming package we use is by Norman Ramsey called noweb +with changes by me). + +Everything else is TeX. Which produces .dvi files. Which needs +hyperlinks. Which needs a .dvi browser. Which is coming. + +Virtually every source file (including Makefiles) is now a pamphlet. +Look at src/algebra/dhmatrix.spad.pamphlet which is a first attempt +at documenting the algebra. All of these documents are based on the +primary research papers. The algebra documentation will eventually +show up where the DeveloperNotes.dvi file lives. + +The Makefile.pamphlet files are where the most documentation exists +so far. We've been documenting the build process as we write it so +other people can understand and modify it. + +Now we're trying to bring the book back to life. We've added one +chapter by Martin Dunstan for programmers and I'm writing a second +new chapter with a tutorial on how to use the compiler. + +VM/CMS! Wow, a blast from the past. I started at IBM working as a +VM systems programmer. Gerry Bozman and I wrote the free storage +mechanism that VM uses. VM was a beautiful operating system. The +complete definition of its behavior was contained in the hardware +reference manual which made it really easy to understand exactly +what it should do. + +If you understand an area of math try finding the research papers +that support the Axiom algorithms. Hunt down the authors and get +permission to use their research paper. Rewrite it into the pamphlet +files that use the results and upload it to the CVS. You learn. The +research lives. Axiom get documented. We all benefit. + +Or find a recent paper that contains research that Axiom needs. +There is some beautiful work on symbolic summation that Axiom needs. +Not only would this be new documentation but also new algebra. +Carstan Schneider and Burkhard Zimmerman at RISC-LINZ appear to +have done very interesting work in this area. + +\start +Date: Tue, 23 Sep 2003 19:19:59 +0200 +From: David MENTRE +To: axiom-developer@nongnu.org +Subject: [Axiom-developer] Is package SIGNEF missing? + +Hello, + +While preparing screenshots for Axiom web page, I tried Tim's +integral-longer-than-the-screen but it failed on my home compiled Axiom: + +(1) -> integrate(1/(x**3 * (a+b*x)**(1/3)),x) + + >> System error: + Cannot open the file /home/david/pub/axiom-libre/axiom-dm/axiom-i386/mnt/linux/algebra/SIGNEF.o. + +protected-symbol-warn called with (NIL) + +However, it seems to work for a more simpler integral: + + +(1) -> integrate(1/(x**2),x) + + 1 + (1) - - + x + Type: Union(Expression Integer,...) + +Or even more complicated one: + +(1) -> integrate(x**(1/3),x) + + 3+-+ + 3x\|x + (1) ------ + 4 + Type: Union(Expression Integer,...) +(2) -> integrate(1/(x**(1/3)),x) + + 3+-+2 + 3\|x + (2) ------ + 2 + Type: Union(Expression Integer,...) + + +Is the failure only in my version or is it a new axiom bug? + +\start +Date: Tue, 23 Sep 2003 13:36:51 -0400 +From: Tim Daly +To: axiom-developer@nongnu.org +Subject: [Axiom-developer] graphing the lattice + +The Free Code Graphing Project +may succeed in graphing the lattice. I'm not sure if the kernel is +circular but it wouldn't surprise me. + +\start +Date: Fri, 26 Sep 2003 23:30:59 +0200 +From: David MENTRE +To: axiom-developer@nongnu.org +Subject: [Axiom-developer] Current status on TeXmacs for Axiom? + +Hello, + +What is the current status of TeXmacs related to Axiom? + +Bill, you said previously[1] that you had a patch for TeXmacs to use the +latest version of Axiom prompt? Could you send it to me. I would like to +make some fancy screen shots for the new Axiom web site. + +If I remember correctly, you get back from your trip today. :) + +[1] http://mail.nongnu.org/archive/html/axiom-developer/2003-09/msg00118.html +-- + +\start +Date: Fri, 26 Sep 2003 18:09:53 -0400 +From: root +To: david.mentre@wanadoo.fr +Subject: Re: [Axiom-developer] Current status on TeXmacs for Axiom? + +David, + +The issue is that TeXmacs expects 2 prompts (the NAG version gives 2 +prompts at startup) and the current version give one. It should be +a simple change in the startup script somewhere. Given that the NAG +version has been off the market for 2 years come Oct 1 I suppose it +is time to drop it from TeXmacs. + +\start +Date: Sat, 27 Sep 2003 01:12:41 +0200 +From: David MENTRE +To: daly@idsi.net +Subject: Re: [Axiom-developer] Current status on TeXmacs for Axiom? + +root writes: + +> The issue is that TeXmacs expects 2 prompts (the NAG version gives 2 +> prompts at startup) and the current version give one. It should be +> a simple change in the startup script somewhere. + +It was not so simple to understand the code but I found the issue. Here +is the patch. + +The prompt patch is a one liner: +- else if (code==PROMPT) { if ((++prompts)==2) break; } ++ else if (code==PROMPT) break; +but I have taken the liberty to fix warning issued by gcc when compiling +with -Wall. + +One remaining warning is left. +tm_axiom.c: In function `session': +tm_axiom.c:231: warning: suggest explicit braces to avoid ambiguous `else' +I have not touched it. To late for me, I would risk introducing new bugs. + +> Given that the NAG version has been off the market for 2 years come +> Oct 1 I suppose it is time to drop it from TeXmacs. + +Yes, sure. I take care of forwarding this patch to the TeXmacs +developers. + +Yours, +d. + + +--- tm_axiom.c.orig Sat Sep 27 01:06:27 2003 ++++ tm_axiom.c Sat Sep 27 01:06:40 2003 +@@ -9,7 +9,7 @@ + #define TYPE 5 + + #define LEN 128 +-/*#define LOG "/home/grozin/tmax/log"*/ ++/* #define LOG "/tmp/tm_axiom.log" */ + + char buf[LEN]; + int len,code,writing=1,wait_type=0; +@@ -78,7 +78,7 @@ + { for (k=0;kLEN-4) { code=LONG; break; } +- else if (c==EOF) { code==END; break; } ++ else if (c==EOF) { code=END; break; } + else if (c=='\n') { buf[i++]='\n'; code=NORMAL; break; } + else buf[i++]=c; + } +@@ -177,7 +177,7 @@ + } + + void session(void) +-{ int c,i,mmode,delims=0,prompts=0; ++{ int c,mmode,delims=0; + #ifdef LOG + log=fopen(LOG,"w"); + #endif +@@ -188,7 +188,7 @@ + while (1) + { iline(); + if (code==TYPE) { if ((++delims)==2) writing=0; } +- else if (code==PROMPT) { if ((++prompts)==2) break; } ++ else if (code==PROMPT) break; + } + /* force-feeding */ + fputs(")set messages prompt plain\n",axin); fflush(axin); +@@ -258,4 +258,5 @@ + axin=fdopen(p2[1],"w"); axout=fdopen(p1[0],"r"); + session(); + } ++ return 0; + } + +\start +Date: Sat, 27 Sep 2003 01:14:22 +0200 +From: David MENTRE +To: axiom-developer@nongnu.org +Subject: Re: [Axiom-developer] Is package SIGNEF missing? + +David MENTRE writes: + +> (1) -> integrate(1/(x**3 * (a+b*x)**(1/3)),x) +> +> >> System error: +> Cannot open the file /home/david/pub/axiom-libre/axiom-dm/axiom-i386/mnt/linux/algebra/SIGNEF.o. + +I have found a simpler error case: + +(1) -> integrate(1/x,x) + + >> System error: + Cannot open the file /home/david/pub/axiom-libre/axiom-dm/axiom-i386/mnt/linux/algebra/SIGNEF.o. + +\start +Date: Fri, 26 Sep 2003 19:22:21 -0400 +From: root +To: David MENTRE +Subject: [Axiom-developer] broken files, SIGNEF + +David, + +In the src/algebra/Makefile.pamphlet there is a section called +"Broken Files" which did not compile. I've been working on making +these compile. SIGNEF is one of them. + +I have a patch so that the spad sources show up under mnt also. +I have not uploaded it yet as I need to test it from scratch. + +I've been meaning to reply to your email of last week but I was +involved in a local conference on group theory and have been busy +with hosting duties all week. This is the first time I've been able +to touch Axiom again. Sorry for the delay. + +Also of interest: I appear to have a contact at Red Flag linux +who is considering what it would take to ship it with that system. +This would make 2 distributions that include Axiom: Debian (thanks +to Camm) and Red Flag. I'm still searching for contacts at the +other distributions. + +\start +Date: Fri, 26 Sep 2003 16:29:28 -0700 +From: Jaap Weel +To: axiom-developer@nongnu.org +Subject: [Axiom-developer] New to this list + +I have a bunch of things to say, but haven't typed everything up yet, +so let me start with what I have: + +First of all, congratulations on getting the Axiom project up and +running. Clearly the design philosophy that Tim is proposing for Axiom +is do the Right Thing even if it takes time. A very rare perspective +indeed, these days. I appreciate that much. At the moment I'm compiling +Axiom on an x86 Linux box downstairs from me. Seeing how things are +going, it seems I should soon be able to run it on my own Mac and/or +DEC. + +- Mac OS X, case issues: this goes wrong right when I get the CVS. When +I check out the files, it just refuses to check out both +FOO.input.pamphlet and foo.input.pamphlet. It seems that the +.input.pamphlet files are the only files that cause this problem. Is it +possible to just rename these file, like foo.* and big-foo.* or so? Or +stick them in a different directory? + +- Mac OS X, build issues: as the only build instructions in README +involved /spad/mnt/linux, I just literally copied them to see what +would happen. I know GCL hasn't been ported yet, but I thought I'd see +how far I'd get. + +[japie:/spad] weel% sudo bash +Password: +bash-2.05b# export AXIOM=/spad/mnt/linux +bash-2.05b# export PATH=$AXIOM/bin:$PATH +bash-2.05b# make + +/spad/int/lib/fnct_key.c: In function `handle_function_key': +/spad/int/lib/fnct_key.c:308: `SIGCLD' undeclared (first use in this +function) +/spad/int/lib/fnct_key.c:308: (Each undeclared identifier is reported +only once +/spad/int/lib/fnct_key.c:308: for each function it appears in.) +make[3]: *** [/spad/obj/linux/lib/fnct_key.o] Error 1 + +In BSD-based systems such as OS X, SIGCLD is called SIGCHLD. I would +gladly start patching the code to deal with this kind of stuff, but I'd +like to know if there is any policy about conditionalizing code. Can I +just use a couple of #ifdef c.q. #+'s? + +- Common Lisp implementation. There was concern from the French side +about the speed of the underlying Lisp. The fastest free Lisps are +probably CMUCL/SBCL. I am specifically mentioning SBCL here. It is very +similar to CMUCL, but it is easier to port. This is because CMUCL needs +CMUCL to build, whereas SBCL will build with another base lisp -- +thanks to Christophe Rhode-- such as dreadfully slow but hyper-portable +CLISP. There is, among others, a port to OS X. I just installed the +binary and it's blazing (almost 2x OpenMCL on a simple test case). + +For benchmarks, see http://lispm.dyndns.org:8000/ , +http://www.cliki.net/Performance%20Benchmarks , +http://www.cliki.net/Performance%20Benchmarks , +http://www.bagley.org/~doug/shootout/craps.shtml . + +I like the idea of compiling against more than one lisp. Various +implementations each have their advantages, that the advanced Axiom +user should be able to choose from. Also, it will eliminate non-ANSI +code, as has been seen already with ONEP. More about ONEP later. At any +rate, I think SBCL may be a little cleaner and more portable to use +than CMUCL. + +Jaap Weel Campus address: | dorm (626) 795-9748 + +\start +Date: Fri, 26 Sep 2003 16:50:55 -0700 +From: Jaap Weel +To: axiom-developer@nongnu.org +Subject: [Axiom-developer] The lisp function ONEP + +ONEP is a common predicate in some older Lisps, but not in Common Lisp. +It appears in McCarthy's Lisp 1.5 +(http://green.iis.nsk.su/~vp/doc/lisp1.5/mccarthy.html). It's supposed +to test if it's argument is equal to 1. Problem is that in the Lisp +world, there are various interpretations of "equal" and "1". Let the +show begin. + +McCarthy in the mentioned reference writes: + + onep[x] is true if |x-1| <= 3*10^6 + +So far so good. + + From simp.lisp in the Maxima sources, which probably reflects Maclisp: +";; The following definitions of ONEP and ONEP1 are bummed for speed, +and should +;; be moved to a special place for implementation dependent code. +;; ONEP is the same as (EQUAL A 1), but does the check inline rather +than +;; calling EQUAL (uses more instructions, so this isn't done by +default). ONEP +;; seems to be used very rarely, so it seems hardly worth the effort. +On the +;; Lisp Machine, this is probably more efficient as simply (EQUAL A 1). + +#+(and cl (not cmu)) +(defmacro onep (a) `(eql ,a 1)) + +#+cl +(DEFMFUN ONEP1 (A) (OR (and (numberp a) (= A 1)) (EQUAL A BIGFLOATONE))) + +#-cl +(progn 'compile +(DEFMFUN ONEP (A) + #-NIL (AND (EQ (ml-typep A) 'fixnum) (= A 1)) + #+NIL (eql a 1)) + +#-(or Franz cl) +(DEFMFUN ONEP1 (A) (OR (EQUAL A 1) (EQUAL A 1.0) (EQUAL A +BIGFLOATONE)))" + +However, in the Standard Lisp Report (an early standardization effort): + +" +ONEP(U:any):boolean eval, spread. + Returns T if U is a number and has the value 1 or 1.0. Returns NIL + otherwise. + + EXPR PROCEDURE ONEP(U); + OR(EQN(U, 1), EQN(U, 1.0)); + +[The definition in the published report is incorrect as it does not +return T for U of 1.0.] +" + +There's clearly a lot of confusion about what ONEP should do. I think, +however, that you can easily check experimentally in a GCL interpreter +which interpretation GCL uses. I don't have a GCL here, but it +shouldn't be hard. Keep in mind the difference between the functions =, +eq, eql, and equal. For that, see sections 6.3 and 12.3 in CLtL2 +(Common Lisp the Language 2, available online). + +With SBCL: + +* (= 1 1.0) +T +* (eq 1 1.0) +NIL +* (eql 1 1.0) +NIL +* (equal 1 1.0) +NIL +* (= 1 1) +T +* (eq 1 1) +T +* (eql 1 1) +T +* (equal 1 1) +T + +At any rate, it seems likely that either of the following is the right +thing: + +(defun onep (x) (= x 1)) +(defun onep (x) (eq x 1)) + +I don't think McCarthy's definition is relevant. + +\start +Date: Fri, 26 Sep 2003 20:26:01 -0400 +From: root +To: Jaap Weel +Subject: [Axiom-developer] CaSe, Mac, etc + +Jaap, + +re: congrats. +Thanks. Many people have worked hard to make it happen. + +re: Mac OS X and Case +I'll rename or delete the uppercase files. The whole input file +scheme is going to change and the upper case files aren't necessary +anyway. + +re: build issues +I borrowed a Mac running OS X and found somebody who had a gcc for it. +If you know how to port it to the Mac go for it. I ran into the fnct_key +issue also last week. Unfortunately I've been helping to host a group +theory conference and haven't touched it all week. Use #ifdef and #+ +whenever you make a porting change. The general philosophy is that +Axiom should run everywhere on everything. You might want to check +with Camm about the Mac OS X GCL port. + +re: common lisp +I have CMUCL, CLISP, and GCL running here but haven't had the chance +to look at ports. Axiom used to run on all of these as well as symbolics, +golden common, IBUKI, Franz, Lucid, CCL, and VMLISP. It should be the +case that Axiom is pure common lisp but you'll find idioms from all of +these other lisps laying around (e.g. KAF file format is the internal +file format for VMLISP). Each one has their special contribution. +CMUCL has a great (disassemble) function that I used heavily to +optimize function calling. + +\start +Date: 26 Sep 2003 23:19:35 -0400 +From: Bill Page +To: David MENTRE +Subject: Re: [Axiom-developer] Current status on TeXmacs for Axiom? + +David, + +I am sorry that I was so slow in replying - jet lag ... + +Your patch below is nearly the same as the changes I made +in my version of texmacs. + +You will probably also have noticed that there is a bug +that sometimes causes Axiom ouput to be improperly formatted. +For example, if you start a new TeXmacs session and then +select Text/Session/Axiom from the menu and enter + + integrate(sin(x),x) + +The ouput appears as + +... UNISEG.o for domain UniversalSegment -cos(x) + +with the result appended to the loading messages. But +subsequent commands work properly. The autoload message +is getting confused with the LaTex code that is generated +for the result. Issuing the command + + )set message autoload off + +eliminates the problem by eliminating the Loading messages. + +Maybe the patch to tm_axiom.c should also include this +command in the startup phase + +-------- + /* force-feeding */ ++ fputs(")set messages autoload off\n",axin); fflush(axin); ++#ifdef LOG ++ fputs("SENT )set messages autoload off\n",log); fflush(log); ++#endif + fputs(")set messages prompt plain\n",axin); fflush(axin); +-------- + +Looking more closely, it seems that Axiom sometimes embeds +the autoload messages in the output stream in what seems a +strange order. + +-------- +)set output tex +integrate(sin(x),x) + + Loading ... + +$$ + Loading /home/wspage/projects/axiom2/mnt/linux/algebra/UNISEG.o for + domain UniversalSegment +-{\cos +\left( +{x} +\right)} +\leqno(1) +$$ +-------- + +It is not yet clear to me at this time how to get TeXmacs to handle +such messages properly in all cases (look for "Loading ..." embedded +in the tex?), or whether perhaps a change can be /should be made to +axiom to avoid generating these messages inside the tex $$ ... $$ +section. + +Maybe the Loading ... messages should be sent to stderr rather +than stdout? + +Cheers, +Bill Page. + + +On Fri, 2003-09-26 at 19:12, David MENTRE wrote: +> root writes: +> +> > The issue is that TeXmacs expects 2 prompts (the NAG version gives 2 +> > prompts at startup) and the current version give one. It should be +> > a simple change in the startup script somewhere. +> +> It was not so simple to understand the code but I found the issue. Here +> is the patch. +> +> The prompt patch is a one liner: +> - else if (code==PROMPT) { if ((++prompts)==2) break; } +> + else if (code==PROMPT) break; +> but I have taken the liberty to fix warning issued by gcc when compiling +> with -Wall. +> +> One remaining warning is left. +> tm_axiom.c: In function `session': +> tm_axiom.c:231: warning: suggest explicit braces to avoid ambiguous `else' +> I have not touched it. To late for me, I would risk introducing new bugs. +> +> > Given that the NAG version has been off the market for 2 years come +> > Oct 1 I suppose it is time to drop it from TeXmacs. +> +> Yes, sure. I take care of forwarding this patch to the TeXmacs +> developers. +> +> Yours, +> d. +> +> +> --- tm_axiom.c.orig Sat Sep 27 01:06:27 2003 +> +++ tm_axiom.c Sat Sep 27 01:06:40 2003 +> @@ -9,7 +9,7 @@ +> #define TYPE 5 +> +> #define LEN 128 +> -/*#define LOG "/home/grozin/tmax/log"*/ +> +/* #define LOG "/tmp/tm_axiom.log" */ +> +> char buf[LEN]; +> int len,code,writing=1,wait_type=0; +> @@ -78,7 +78,7 @@ +> { for (k=0;k j=0; +> if (i>LEN-4) { code=LONG; break; } +> - else if (c==EOF) { code==END; break; } +> + else if (c==EOF) { code=END; break; } +> else if (c=='\n') { buf[i++]='\n'; code=NORMAL; break; } +> else buf[i++]=c; +> } +> @@ -177,7 +177,7 @@ +> } +> +> void session(void) +> -{ int c,i,mmode,delims=0,prompts=0; +> +{ int c,mmode,delims=0; +> #ifdef LOG +> log=fopen(LOG,"w"); +> #endif +> @@ -188,7 +188,7 @@ +> while (1) +> { iline(); +> if (code==TYPE) { if ((++delims)==2) writing=0; } +> - else if (code==PROMPT) { if ((++prompts)==2) break; } +> + else if (code==PROMPT) break; +> } +> /* force-feeding */ +> fputs(")set messages prompt plain\n",axin); fflush(axin); +> @@ -258,4 +258,5 @@ +> axin=fdopen(p2[1],"w"); axout=fdopen(p1[0],"r"); +> session(); +> } +> + return 0; +> } + + +\start +Date: Sat, 27 Sep 2003 10:00:19 +0200 +From: David MENTRE +To: axiom-developer@nongnu.org +Subject: [Axiom-developer] New design for Axiom web site + +Hello, + +Thanks to the hard work made by Antoine Hersen, the redesigned Axiom web +site will be available in less 6 hours from the date of this email. + +Web design is always subjective by I like a lot Antoine's work. I hope I +won't be alone. + +I have put my email address as Webmaster hyperlink for the interim. In +the long term, we will probably need to setup a sort of email +aliase. Should we use a private savannah mailing list (axiom-website, +open to anybody)? + +Antoine, I have made few modifications to the file you sent to me: + - replacement of script.sh by a Makefile + + - menu update + + - rewrote the README + + - some other details I have probably forgotten. + +All source .pre files and generated .html files are now in the CVS. + + +Let me know if you see issues, typos, information to add, ... + +\start +Date: Sat, 27 Sep 2003 10:57:05 +0200 +From: David MENTRE +To: Bill Page +Subject: Handling of autoload messages in TeXmacs (was: Re: [Axiom-developer] Current status on TeXmacs for Axiom?) + +Bill Page writes: + +> Maybe the patch to tm_axiom.c should also include this +> command in the startup phase +> +> -------- +> /* force-feeding */ +> + fputs(")set messages autoload off\n",axin); fflush(axin); +> +#ifdef LOG +> + fputs("SENT )set messages autoload off\n",log); fflush(log); +> +#endif +> fputs(")set messages prompt plain\n",axin); fflush(axin); +> -------- + +I tried this but it does not work. The Axiom prompt never appears in +TeXmacs. By putting the ")set messages autoload off" later (after ")set +output algebra off"), it partially works. One need to type two +to obtain Axiom result. + +> Looking more closely, it seems that Axiom sometimes embeds +> the autoload messages in the output stream in what seems a +> strange order. + +Would it be possible to delay the autoload message before or after the +output stream? + +> It is not yet clear to me at this time how to get TeXmacs to handle +> such messages properly in all cases (look for "Loading ..." embedded +> in the tex?), or whether perhaps a change can be /should be made to +> axiom to avoid generating these messages inside the tex $$ ... $$ +> section. + +I think it would be the best solution: outside $$ ... $$. + +I've not look at Axiom internals but maybe is it possible to use two +buffers to prepare Axiom output? + + +> Maybe the Loading ... messages should be sent to stderr rather +> than stdout? + +This approach would raise other issues. It would complicate the build +process if you want all messages output by Axiom. + +Moreover, it might be necessary to have autoload messages (and other +information messages) under TeXmacs if it becomes the default Axiom user +interface. The more I think about it, the more I think we should keep +Axiom output as much unaltered as possible: keep all Axiom prompt, just +remove prompt number and typeset mathematical output. + + +By the way, I also noticed that there is some display glitches in +TeXmacs with following command: + + integrate(x**(1/3),x) + +I have asked on texmacs-dev on the best way to fix this issue. + +\start +Date: Sat, 27 Sep 2003 11:02:37 +0200 +From: David MENTRE +To: axiom@tenkan.org +Subject: [Axiom-developer] Re: broken files, SIGNEF + +Hello Tim, + +root writes: + +> In the src/algebra/Makefile.pamphlet there is a section called +> "Broken Files" which did not compile. I've been working on making +> these compile. SIGNEF is one of them. + +Oops. My fault. I should have checked that. Thanks for the remainder. + +> I have a patch so that the spad sources show up under mnt also. + +Cool. It will fix the debian bug. + +Just an idea: it might be useful to implement in TeXmacs facilities to +lookup into spad files and display relevant part. Or maybe Emacs is just +better for this. + +> I've been meaning to reply to your email of last week but I was +> involved in a local conference on group theory and have been busy +> with hosting duties all week. This is the first time I've been able +> to touch Axiom again. Sorry for the delay. + +No issue. It is just that the axiom-developer mailing list was so quite +recently... :) + +> Also of interest: I appear to have a contact at Red Flag linux +> who is considering what it would take to ship it with that system. +> This would make 2 distributions that include Axiom: Debian (thanks +> to Camm) and Red Flag. I'm still searching for contacts at the +> other distributions. + +I'll try to see what I can do locally. + +\start +Date: Sat, 27 Sep 2003 12:34:30 +0200 +From: David MENTRE +To: Jaap Weel +Subject: Re: [Axiom-developer] The lisp function ONEP + +Hello Jaap, + +Thank you for the pointer on Lisp performances. I have an iBook lying +around (under Linux), so I should probably have a look to SBCL. + +Jaap Weel writes: + +> With SBCL: +> +> * (= 1 1.0) +> T +> * (eq 1 1.0) +> NIL +> * (eql 1 1.0) +> NIL +> * (equal 1 1.0) +> NIL +> * (= 1 1) +> T +> * (eq 1 1) +> T +> * (eql 1 1) +> T +> * (equal 1 1) +> T + +Same results with GCL 2.5.2: + +GCL (GNU Common Lisp) (2.5.2) Thu Mar 20 10:36:35 EST 2003 +[...] + +>(= 1 1.0) +T +>(eq 1 1.0) +NIL +>(eql 1 1.0) +NIL +>(equal 1 1.0) +NIL +>(= 1 1) +T +>(eq 1 1) +T +>(eql 1 1) +T +>(equal 1 1) +T + +\start +Date: Sat, 27 Sep 2003 12:31:29 +0200 +From: David MENTRE +To: Jaap Weel +Subject: Re: [Axiom-developer] New to this list + +Hello Japp, + +Jaap Weel writes: + +> - Mac OS X, build issues: as the only build instructions in README +> involved /spad/mnt/linux, I just literally copied them to see what would +> happen. I know GCL hasn't been ported yet, but I thought I'd see how far +> I'd get. + +As tim said, GCL is now ported on MacOS X. Just grab latest GCL stable +release (should be 2.6.1). + +> [japie:/spad] weel% sudo bash + +No need to be root to compile axiom. :) + +\start +Date: Sat, 27 Sep 2003 13:12:06 +0200 +From: David MENTRE +To: axiom-developer@nongnu.org +Subject: [Axiom-developer] Nice formula wanted & Axiom birth + +Hello, + +The redesigned web site is now online. You'll notice that the +mathematics used in the screenshots section is not very difficult. :) + http://www.nongnu.org/axiom/screenshots.html + +I would gladly accept any axiom input that would either show some pretty +formula or some nice Axiom capabilities, especially compared to Axiom +proprietary "competitors". + + +Otherwise, I have a question related to Axiom birthday. Tim, on savannah +web page you say that Axiom development started in 1973. However, in +Makefile.dvi, it is said that Scratchpad started in 1971. What is Axiom +birthdate? 1971 or 1973? + +\start +Date: Sat, 27 Sep 2003 09:10:01 -0400 +From: root +To: david.mentre@wanadoo.fr, Antoine Hersen +Subject: [Axiom-developer] New design for Axiom web site + +Good job, guys. Congrats. + +David, the mailing lists are rather permanent objects. Since I expect +that the volume of mail for the website will be rather low I'd prefer +to use the developer list at the moment. If the volume becomes an +issue we can certainly fork off a new list. + +On the "mailing list page" (axiom/community.html) the phrase +"All right reserved" appears. Perhaps we should remove that. + +Can you make the mailing list names on the mailing list page +links to the list archives? + +The pages all have the word "about" in the top right corner. + +On the download.html page we should have a link to +http://axiom.tenkan.org +Better yet, if somebody can figure out how to upload files to the +download area we should move the whole tenkan file and page to the +Axiom savannah site. I think Bill Page figured out how to do this. + +re: Axiom birthday. Nobody knows. The project traces back to a +prior project called MODLISP which gradually morphed into Scratchpad, +which morphed into Scratchpad II, which officially became Axiom. +MODLISP was a late 60s project (around 1967 I believe). I chose +1971 because "30 years" is a good time frame and I started the +campaign to release Axiom in August of 2001. + +\start +Date: Sat, 27 Sep 2003 09:18:50 -0400 +From: root +To: david.mentre@wanadoo.fr +Subject: Re: [Axiom-developer] Re: broken files, SIGNEF + +re: TeXmacs and Axiom sources. Certainly whatever tool we use +should know a bit about the structure of algebra files. The +pamphlet files have \sections for each domain. We need to +generate a bibtex file that gives references for each domain +to its source file. That will allow both TeXmacs and an Active +DVI based browser to find the sources for a domain. Axiom knows +which file contains the sources and you can do: + +asq -so Integer + +and it will tell you the source file that contains it. + +re: quiet list +yeah, I'm rewriting the book and it is a lot harder than it would seem. +Bill has been off wasting his time travelling. You've been working on +another project (gasp!). Never fear. Progress is happening. + +\start +Date: Sat, 27 Sep 2003 09:20:32 -0400 +From: root +To: axiom-developer@nongnu.org +Subject: [Axiom-developer] 2.6.1 + +Ah, so I don't have to port GCL to Mac OS X. Great news. I'll download +the 2.6.1 release and also do a linux build on it. + +Tim + +\start +Date: Sat, 27 Sep 2003 12:42:38 -0400 +From: dpt@exoskeleton.math.harvard.edu (Dylan Thurston) +To: axiom-developer@nongnu.org +Subject: [Axiom-developer] Handling of autoload messages in TeXmacs + +On Sat, Sep 27, 2003 at 10:57:05AM +0200, David MENTRE wrote: +> > Maybe the Loading ... messages should be sent to stderr rather +> > than stdout? +> +> This approach would raise other issues. It would complicate the build +> process if you want all messages output by Axiom. + +I don't understand this objection. The build process for what? + +> Moreover, it might be necessary to have autoload messages (and other +> information messages) under TeXmacs if it becomes the default Axiom user +> interface. The more I think about it, the more I think we should keep +> Axiom output as much unaltered as possible: keep all Axiom prompt, just +> remove prompt number and typeset mathematical output. + +I agree that autoload messages should be made available to the user. +Can't TeXmacs grap the stderr output as well? They could go in another +buffer, for instance. + +The intended use of stderr is for adminstrative messages like this. +It's easy to either (a) combine the two streams or (b) do something +special with the stderr output. + +\start +Date: Sat, 27 Sep 2003 15:23:42 -0400 +From: "Bill Page" +To: +Subject: [Axiom-developer] RE: Handling of autoload messages in TeXmacs + +David, + +I am sorry that I did not take the time last night to +provide a complete working patch, I just keyed those +commands from memory. But there is a little more that +needs to be done to synchronize axiom's output with the +texmacs interface. I have attached a full patch file +from diff -Naur which includes both your and my changes +to the tm_axiom.c file. This sets the default for the +autoload messages to off just as it was for the older +"commercial" version of Axiom. It also fixes the -Wall +warnings. + +I don't see any problem (in principle) with sending +Loading ... messages to stderr. These are essentially +"debugging" messages. It is common practice that they +should go to stderr. I think it might help to "tidy-up" +the output of the Axiom build output if stderr output +were not included unless some option was specified. But +this is not so important. + +In the commercial version of Axiom these messages were +not displayed by default. But in this "developer" version +of Axiom, maybe it makes sense that the default should be +to display them. In any case the display can be control +by the )set messages command. + +If I get time, I will see if I can understand Axiom's tex +output generation code enough to change it so that all +Loading... messages preceed any tex output. I agree that +this would probably be the best option. And as you note, +there may be other things we may want to change to bring +the generated tex up to modern "standards". + +Cheers, +Bill Page. + +> -----Original Message----- +> From: David Mentr=E9 [mailto:david.mentre@wanadoo.fr] +> Sent: Saturday, September 27, 2003 4:57 AM +> To: Bill Page +> Cc: daly@idsi.net; axiom-developer@nongnu.org +> Subject: Handling of autoload messages in TeXmacs (was: Re: +> [Axiom-developer] Current status on TeXmacs for Axiom?) +> +> +> Bill Page writes: +> +> > Maybe the patch to tm_axiom.c should also include this +> command in the +> > startup phase +> > +> > -------- +> > /* force-feeding */ +> > + fputs(")set messages autoload off\n",axin); fflush(axin); #ifdef +> > +LOG +> > + fputs("SENT )set messages autoload off\n",log); +> fflush(log); #endif +> > fputs(")set messages prompt plain\n",axin); fflush(axin); +> > -------- +> +> I tried this but it does not work. The Axiom prompt never +> appears in TeXmacs. By putting the ")set messages autoload +> off" later (after ")set output algebra off"), it partially +> works. One need to type two to obtain Axiom result. +> +> > Looking more closely, it seems that Axiom sometimes embeds the +> > autoload messages in the output stream in what seems a +> strange order. +> +> Would it be possible to delay the autoload message before or +> after the output stream? +> +> > It is not yet clear to me at this time how to get TeXmacs to handle +> > such messages properly in all cases (look for "Loading ..." +> embedded +> > in the tex?), or whether perhaps a change can be /should be made to +> > axiom to avoid generating these messages inside the tex $$ ... $$ +> > section. +> +> I think it would be the best solution: outside $$ ... $$. +> +> I've not look at Axiom internals but maybe is it possible to +> use two buffers to prepare Axiom output? +> +> +> > Maybe the Loading ... messages should be sent to stderr rather than +> > stdout? +> +> This approach would raise other issues. It would complicate +> the build process if you want all messages output by Axiom. +> +> Moreover, it might be necessary to have autoload messages +> (and other information messages) under TeXmacs if it becomes +> the default Axiom user interface. The more I think about it, +> the more I think we should keep Axiom output as much +> unaltered as possible: keep all Axiom prompt, just remove +> prompt number and typeset mathematical output. +> +> +> By the way, I also noticed that there is some display +> glitches in TeXmacs with following command: +> +> integrate(x**(1/3),x) +> +> I have asked on texmacs-dev on the best way to fix this issue. + + +------=_NextPart_000_0001_01C3850B.58CB0360 +Content-Type: application/octet-stream; + name="tm_axiom.patch" +Content-Transfer-Encoding: quoted-printable +Content-Disposition: attachment; + filename="tm_axiom.patch" + +diff -Naur plugins/axiom/oldsrc/tm_axiom.c plugins/axiom/src/tm_axiom.c=0A= +--- plugins/axiom/oldsrc/tm_axiom.c 2003-04-18 09:42:59.000000000 -0400=0A= ++++ plugins/axiom/src/tm_axiom.c 2003-09-27 14:53:51.000000000 -0400=0A= +@@ -11,6 +11,7 @@=0A= + = +*************************************************************************= +*****/=0A= + =0A= + #include =0A= ++#include =0A= + #include =0A= + =0A= + #define NORMAL 0=0A= +@@ -21,7 +22,7 @@=0A= + #define TYPE 5=0A= + =0A= + #define LEN 128=0A= +-/*#define LOG "/home/grozin/tmax/log"*/=0A= ++/* #define LOG "/tmp/tm_axiom.log" */=0A= + =0A= + char buf[LEN];=0A= + int len,code,writing=1,wait_type=0;=0A= +@@ -90,7 +91,7 @@=0A= + { for (k=0;kLEN-4) { code=LONG; break; }=0A= +- else if (c==EOF) { code==END; break; }=0A= ++ else if (c==EOF) { code=END; break; }=0A= + else if (c=='\n') { buf[i++]='\n'; code=NORMAL; break; }=0A= + else buf[i++]=c;=0A= + }=0A= +@@ -189,7 +190,7 @@=0A= + }=0A= + =0A= + void session(void)=0A= +-{ int c,i,mmode,delims=0,prompts=0;=0A= ++{ int c,mmode,delims=0;=0A= + #ifdef LOG=0A= + log=fopen(LOG,"w");=0A= + #endif=0A= +@@ -200,7 +201,7 @@=0A= + while (1)=0A= + { iline();=0A= + if (code==TYPE) { if ((++delims)==2) writing=0; }=0A= +- else if (code==PROMPT) { if ((++prompts)==2) break; }=0A= ++ else if (code==PROMPT) break;=0A= + }=0A= + /* force-feeding */=0A= + fputs(")set messages prompt plain\n",axin); fflush(axin);=0A= +@@ -208,21 +209,26 @@=0A= + fputs("SENT )set messages prompt plain\n",log); fflush(log);=0A= + #endif=0A= + must_be_prompt("1");=0A= ++ fputs(")set messages autoload off\n",axin); fflush(axin);=0A= ++#ifdef LOG=0A= ++ fputs("SENT )set messages autoload off\n",log); fflush(log);=0A= ++#endif=0A= ++ must_be_prompt("2");=0A= + fputs(")set quit unprotected\n",axin); fflush(axin);=0A= + #ifdef LOG=0A= + fputs("SENT )set quit unprotected\n",log); fflush(log);=0A= + #endif=0A= +- must_be_prompt("2");=0A= ++ must_be_prompt("3");=0A= + fputs(")set output tex on\n",axin); fflush(axin);=0A= + #ifdef LOG=0A= + fputs("SENT )set output tex on\n",log); fflush(log);=0A= + #endif=0A= +- must_be_prompt("3");=0A= ++ must_be_prompt("4");=0A= + fputs(")set output algebra off\n",axin); fflush(axin);=0A= + #ifdef LOG=0A= + fputs("SENT )set output algebra off\n",log); fflush(log);=0A= + #endif=0A= +- must_be_prompt("4");=0A= ++ must_be_prompt("5");=0A= + /* Main prompt-read-write loop */=0A= + while (1)=0A= + { fputs("\2channel:prompt\5\2latex:\\red$\\rightarrow$\\ = +\5\5",stdout);=0A= +@@ -240,9 +246,10 @@=0A= + while (1)=0A= + { line();=0A= + if ((code==PROMPT)||(code==END)) break;=0A= +- if (code==MATH)=0A= +- if (mmode) { mmode=0; wait_type=1; fputs("$\5\n",stdout); }=0A= +- else { mmode=1; fputs("\2latex:$\\displaystyle\n",stdout); }=0A= ++ if (code==MATH) {=0A= ++ if (mmode) { mmode=0; wait_type=1; fputs("$\5\n",stdout); }=0A= ++ else { mmode=1; fputs("\2latex:$\\displaystyle\n",stdout); }=0A= ++ }=0A= + }=0A= + if (code==END) break;=0A= + }=0A= +@@ -270,4 +277,5 @@=0A= + axin=fdopen(p2[1],"w"); axout=fdopen(p1[0],"r");=0A= + session();=0A= + }=0A= ++ return 0;=0A= + }=0A= + +\start +Date: Sun, 28 Sep 2003 09:34:30 +0200 +From: David MENTRE +To: daly@idsi.net +Subject: [Axiom-developer] Re: New design for Axiom web site +Cc: Antoine Hersen + +Hello Tim, + +root writes: + +> David, the mailing lists are rather permanent objects. Since I expect +> that the volume of mail for the website will be rather low I'd prefer +> to use the developer list at the moment. If the volume becomes an +> issue we can certainly fork off a new list. + +Ok. I'm not sure to have express my issue very clearly. At the bottom of +each page, there is an hyperlink Webmaster that currently points to my +email address. The pointed Webmaster email needs to be open to +anybody. In other words, it can't be the current mailing lists (like +axiom-developer) that need subscription, confirmation, etc. That's why I +was looking for an alternative, like using a non-public mailing-list +open to anybody. + +Of course, I can put anybody else as webmaster, I don't mind. + +> On the "mailing list page" (axiom/community.html) the phrase +> "All right reserved" appears. Perhaps we should remove that. + +done. + +> Can you make the mailing list names on the mailing list page +> links to the list archives? + +I have added an Archive link for each mailing list. Moreover, the +mailing list name points to the corresponding subscription web page. + +> The pages all have the word "about" in the top right corner. + +removed (more exactly commented out). It was in the original design of +Antoine. I don't know what was his intent. + +> On the download.html page we should have a link to +> http://axiom.tenkan.org + +done. + +> Better yet, if somebody can figure out how to upload files to the +> download area we should move the whole tenkan file and page to the +> Axiom savannah site. I think Bill Page figured out how to do this. + +I was wondering if it is very useful to put this version of Axiom (the +tenkan one) to be downloadable. If people use this version (that, if I +remember correctly, contains free code but was built with a non-free +Axiom), they won't find issues in the CVS version. The behavior of Axiom +might also be different. In other words, two code base to maintain. + +\start +Date: Sun, 28 Sep 2003 09:43:36 +0200 +From: David MENTRE +To: dpt@math.harvard.edu +Subject: Re: [Axiom-developer] Handling of autoload messages in TeXmacs + +Hello Dylan, + +dpt@exoskeleton.math.harvard.edu (Dylan Thurston) writes: + +[ about redirecting error messages to stderr & build process ] +> I don't understand this objection. The build process for what? + +I was thinking of logging the compilation of Axiom in a file to then do +analysis on what might have failed during compilation. But as Tim +pointed out earlier, compiling Axiom in an Emacs shell solve this +issue. So I withdraw my objection. + +> I agree that autoload messages should be made available to the user. +> Can't TeXmacs grap the stderr output as well? They could go in another +> buffer, for instance. + +I don't know. I'll ask to TeXmacs people. + +> The intended use of stderr is for adminstrative messages like this. +> It's easy to either (a) combine the two streams or (b) do something +> special with the stderr output. + +Your right. It's just I'm too lazy to use shell facilities to redirect +shell outputs. + +\start +Date: Sun, 28 Sep 2003 10:03:40 +0200 +From: David MENTRE +To: "Bill Page" +Subject: [Axiom-developer] Re: Handling of autoload messages in TeXmacs + +"Bill Page" writes: + +> texmacs interface. I have attached a full patch file +> from diff -Naur which includes both your and my changes +> to the tm_axiom.c file. This sets the default for the +> autoload messages to off just as it was for the older +> "commercial" version of Axiom. It also fixes the -Wall +> warnings. + +Ok, thanks. I'll forward this version to texmacs people. + +Unfortunatly, there is another bug: Frédéric Lehobey and myself noticed +yesterday that the )show command blocks the interaction between TeXmacs +and Axiom. Try for example ')show Integer' under TeXmacs. + + +> I don't see any problem (in principle) with sending +> Loading ... messages to stderr. + +As I previously answered to Dylan, you are both right. So we need to +have a look at Axiom output to redirect error messages to stderr. + +\start +Date: Sun, 28 Sep 2003 19:06:07 +1000 +From: Jason White +To: axiom-developer@nongnu.org +Subject: Re: [Axiom-developer] Handling of autoload messages in TeXmacs + +What are the strongest reasons for not making +)set message autoload off +the default? I am sure there must be good reasons, otherwise it would +have been done. + +A more generalized solution would be to allow for a system-wide +configuration file as well as a local .axiom.inputs file under each +user's home directory, with the local configuration overriding +settings in the system-wide file (e.g., /etc/axiom.input) under Unix; +suitable locations under other operating systems. + +With apologies in advance if this has all been discussed and settled +long ago, or if there is a relevant feature of the software that I am +missing. + +\start +Date: Sun, 28 Sep 2003 09:19:22 -0400 +From: dpt@exoskeleton.math.harvard.edu (Dylan Thurston) +To: David MENTRE +Subject: Re: [Axiom-developer] Handling of autoload messages in TeXmacs + +On Sun, Sep 28, 2003 at 09:43:36AM +0200, David MENTRE wrote: +> Hello Dylan, +> +> dpt@exoskeleton.math.harvard.edu (Dylan Thurston) writes: +> +> [ about redirecting error messages to stderr & build process ] +> > I don't understand this objection. The build process for what? +> +> I was thinking of logging the compilation of Axiom in a file to then do +> analysis on what might have failed during compilation. But as Tim +> pointed out earlier, compiling Axiom in an Emacs shell solve this +> issue. So I withdraw my objection. + +The other alternative is + + make > make.log 2>&1 + +\start +Date: Sun, 28 Sep 2003 09:57:01 -0400 +From: root +To: jasonjgw@pacific.net.au +Subject: Re: [Axiom-developer] Handling of autoload messages in TeXmacs + +Axiom has system defaults built in. These can be set in the code +so there is no need for a system-wide default file. + +User defaults exist in .axiom.input in the user's home directory. + +\start +Date: Sun, 28 Sep 2003 10:00:38 -0400 +From: root +To: david.mentre@wanadoo.fr +Subject: Re: [Axiom-developer] Re: Handling of autoload messages in TeXmacs +Cc: bill.page1@sympatico.ca + +*, + +Redirecting messages to stderr can be done by changes to the messaging code. +Since a few options need to be changed for TeXmacs perhaps we should consider +a new command line option like: + +)set interface texmacs + +so we can collect all of the changes in one place. + +\start +Date: Sun, 28 Sep 2003 10:15:33 -0400 +From: root +To: david.mentre@wanadoo.fr +Subject: Re: [Axiom-developer] Re: Handling of autoload messages in TeXmacs +Cc: bill.page1@sympatico.ca + +David, + +re: tenkan version. + +I agree that we probably should not copy it. A better strategy would be to +have each of us responsible for a different distribution and upload our +builds. I have been trying to get Axiom to build on Mandrake 9.1, Suse 6.4, +BSD 4.8, Debiab 30R1, Mac OS X 10.1 and Windows XP, so far with little +success due mostly to the socket libraries (these are the distribs I have +laying around or tried in the past). Clearly we need a #define cleanup +effort in the C code. + +I do think we need binary distribs as not everyone will have the time and +patience to build Axiom from scratch. I use binary distribs for large +projects like Mozilla (the source is about 40M!). + +\start +Date: Sun, 28 Sep 2003 16:49:23 +0200 +From: David MENTRE +To: daly@idsi.net +Subject: binary releases and packaging (was: Re: [Axiom-developer] Re: Handling of autoload messages in TeXmacs) +Cc: bill.page1@sympatico.ca + +root writes: + +> builds. I have been trying to get Axiom to build on Mandrake 9.1, Suse 6.4, +> BSD 4.8, Debiab 30R1, Mac OS X 10.1 and Windows XP, so far with little + +Oh, it reminds me that I asked our local Mandrake packaging guru if he +could package Axiom. He told me that the +directory-path-should-not-be-uppercase bug is a show stopper: the +default build directory for Mandrake packages is RPMS (or something like +that). + + +> I do think we need binary distribs as not everyone will have the time and + +Of course. The question is: at which step do we do our binary releases? + +If you judge that the current CVS version should have a binary release, +then I'll upload to savannah my own build with instructions to setup +$AXIOM and launch it. + +\start +Date: Sun, 28 Sep 2003 16:43:03 +0200 +From: David MENTRE +To: daly@idsi.net +Subject: Re: [Axiom-developer] Re: Handling of autoload messages in TeXmacs +Cc: bill.page1@sympatico.ca + +root writes: + +> )set interface texmacs +> +> so we can collect all of the changes in one place. + +So evident I wonder why we haven't think of it before. + +> Comments? + +Have you an idea of where is the "messaging" code? I have tried some +greps in src/interp/ directory but failed to find it. In the +src/interp/i-* files? + +By the way, it reminds me that we also need a kind of map to navigate +into the code. The very first step would be an index where it is say +what is the purpose of each file, or at least to what sub-system it +pertains. + +\start +Date: Sun, 28 Sep 2003 17:16:10 +0200 +From: David MENTRE +To: axiom-developer@nongnu.org +Subject: [Axiom-developer] A perl script to create an index of boot function definitions + +Hello, + +Here is a small perl script that creates an index of all Boot function +definitions. + +This script can be used in a 'M-x grep' of Emacs. + +#!/usr/bin/perl -w + +# This small script that the name of boot functions definition, with +# corresponding source file where it is defined. + + +# usage: THIS-SCRIPT *.boot.pamphlet + +while ($target = shift) { + open(IN,"<$target") or die "No files $target\n"; # for each file + $line = 1; + while () { # for each line of $target file + if ($_ =~ /^([^-\s;]+.*==)/ ) { # match a line that don't have a whitespace, + # a '-' or a ';' as first character and that + # contains a '==' + print "$target:$line: $1\n"; + } + $line++; + } + close(IN); +} + +# script end + +\start +Date: Sun, 28 Sep 2003 19:46:23 +0200 +From: David MENTRE +To: dpt@math.harvard.edu +Subject: Re: [Axiom-developer] Handling of autoload messages in TeXmacs + +Hello, + +David MENTRE writes: + +>> Can't TeXmacs grap the stderr output as well? They could go in another +>> buffer, for instance. +> +> I don't know. I'll ask to TeXmacs people. + +It is possible to redirect stderr to a special TeXmacs buffer according +to Joris. He pointed me to: + + examples/plugins/handler + +in TeXmacs sources. + +\start +Date: Sun, 28 Sep 2003 21:08:47 +0200 +From: David MENTRE +To: axiom-developer@nongnu.org +Subject: [Axiom-developer] Binary release of Axiom now available on Savannah + +Hello, + +I have uploaded a binary version of Axiom for linux/i386 into savannah +download zone: + http://savannah.nongnu.org/files/?group=axiom + +Tim, is it ok like this? If yes, I'll announced it on savannah news and +axiom-mail. + + +For future version, I'll probably rename axiom-i386-cvs-(release).tar.gz +into axiom-linux-i386-cvs-(release).tar.gz so that we could upload +version for *BSD systems. + +\start +Date: Sun, 28 Sep 2003 21:11:06 +0200 +From: David MENTRE +To: axiom-developer@nongnu.org +Subject: [Axiom-developer] Re: Binary release of Axiom now available on Savannah + +David MENTRE writes: + +> I have uploaded a binary version of Axiom for linux/i386 into savannah +> download zone: +> http://savannah.nongnu.org/files/?group=axiom + +And I forgotten: many thanks to Bill for his detailed explanations on +uploading, they were very very useful. + +http://mail.gnu.org/archive/html/axiom-developer/2003-09/msg00014.html + +\start +Date: Sun, 28 Sep 2003 15:21:51 -0400 +From: root +To: david.mentre@wanadoo.fr +Subject: Re: [Axiom-developer] A perl script to create an index of boot function definitions + +David, + +Emacs has a "tags" facility which can select out function names. I haven't used +it in years. It is called "etags" (run man etags). You might find it more useful +and general than building Perl scripts. + +\start +Date: Sun, 28 Sep 2003 21:28:52 +0200 +From: David MENTRE +To: daly@idsi.net +Subject: Re: [Axiom-developer] A perl script to create an index of boot function definitions + +root writes: + +> Emacs has a "tags" facility which can select out function names. I haven't used +> it in years. It is called "etags" (run man etags). You might find it more useful +> and general than building Perl scripts. + +Oh yes, good idea. Do you know if TAGS file format is documented +somewhere? It does not seem very complicated but I would prefer not +reverse engineered it. + +\start +Date: Sun, 28 Sep 2003 15:32:58 -0400 +From: root +To: david.mentre@wanadoo.fr +Subject: Re: [Axiom-developer] A perl script to create an index of boot function definitions + +David, + +Run M-x info in emacs +Search for emacs +In the emacs entry search for tags +In the tags entry you'll see the tags syntax documented + +\start +Date: Sun, 28 Sep 2003 15:23:25 -0400 +From: root +To: david.mentre@wanadoo.fr +Subject: [Axiom-developer] Re: upper/lower case issue +Cc: bill.page1@sympatico.ca + +I see I'm going to have to be system specific with that issue. +The top level makefile builds a custom makefile for each target platform. +I'll add a CASE= tag so we can pass the information into the build. + +\start +Date: Sun, 28 Sep 2003 15:20:15 -0400 +From: root +To: david.mentre@wanadoo.fr +Subject: Re: [Axiom-developer] Binary release of Axiom now available on Savannah + +David, + +The upload is fine but you need to tag it with the linux version you used +to build it, or at least a statement about which systems it runs. I have +found thru the Rosetta effort that a RedHat 9 linux build will not run on +all other linux distributions. If you tag it with your distribution and +others have different versions (for instance I have both Redhat 9 and 7.3 +running here) we all can add to the tags. + +Other than that item,... great work. + +\start +Date: Sun, 28 Sep 2003 21:33:49 +0200 +From: David MENTRE +To: daly@idsi.net +Subject: Re: [Axiom-developer] Binary release of Axiom now available on Savannah + +root writes: + +> David, +> +> The upload is fine but you need to tag it with the linux version you used +> to build it, or at least a statement about which systems it runs. I have +> found thru the Rosetta effort that a RedHat 9 linux build will not run on +> all other linux distributions. If you tag it with your distribution and +> others have different versions (for instance I have both Redhat 9 and 7.3 +> running here) we all can add to the tags. +> +> Other than that item,... great work. +> +> Tim +> + +\start +Date: Sun, 28 Sep 2003 21:34:48 +0200 +From: David MENTRE +To: daly@idsi.net +Subject: Re: [Axiom-developer] Binary release of Axiom now available on Savannah + +root writes: + +> all other linux distributions. If you tag it with your distribution and +> others have different versions (for instance I have both Redhat 9 and 7.3 +> running here) we all can add to the tags. + +Ok, I'm uploading a new version named: +axiom-debian-3.0-linux-i386-cvs-2003-09-28.tar.gz + +\start +Date: Sun, 28 Sep 2003 21:48:31 +0200 +From: David MENTRE +To: daly@idsi.net +Subject: [Axiom-developer] Re: upper/lower case issue +Cc: bill.page1@sympatico.ca + +root writes: + +> The top level makefile builds a custom makefile for each target platform. +> I'll add a CASE= tag so we can pass the information into the build. + +Hmmm. I don't like the idea of being system specific. Is it really +necessary? + +If I remember correctly: + + - any Unix system (linux, *bsd, solaris, MacOS X with UFS,...): case + sensitive path and filename + + - MacOS X with HFS: no distinction between lower/uppercase, case + sensitive path + => no distinct file with filenames different only on lower/upper + case + + - Windows: no distinction between lower/uppercase, case insensitive + path + => as previous MacOS X case + + + +So for me, we have the following requirements: + + 1. each source file should have a distinct filename if converted to + lowercase; + + 2. the build process should not modify lower/uppercase of paths. + + +With those requirements, I think we could build Axiom on any current +system. You opinion? + +\start +Date: Sun, 28 Sep 2003 21:58:46 +0200 +From: David MENTRE +To: daly@idsi.net +Subject: Re: [Axiom-developer] Re: upper/lower case issue +Cc: bill.page1@sympatico.ca + +David MENTRE writes: + +> 1. each source file should have a distinct filename if converted to +> lowercase; +> +> 2. the build process should not modify lower/uppercase of paths. + +More exactly, the requirements are: + + 1. each source file should have a distinct path and filename filename + if path and filename are converted to lowercase; + + 2. the build process should not modify lower/uppercase of paths. + +\start +Date: Sun, 28 Sep 2003 16:11:23 -0400 +From: root +To: david.mentre@wanadoo.fr +Subject: Re: [Axiom-developer] Re: upper/lower case issue +Cc: bill.page1@sympatico.ca + +David, + +The issue is more complex than that. There is an interaction with common lisp +which is not, by default, case sensitive. Some of the filenames are passed as +strings and some are passed as symbols (for historic reasons as some of the +old lisps required symbols and ignored case). We can't set the common lisp to +be case sensitive as Axiom uses both upper and lower case functions of the +same name (due to the use of Boot, which IS case sensitive). + +There is no such thing as a simple job. + +\start +Date: Sun, 28 Sep 2003 16:13:24 -0400 +From: root +To: weiss@uni-mainz.de +Subject: Re: [Axiom-developer] Re: upper/lower case issue +Cc: bill.page1@sympatico.ca + +I'll put case on the list of bugs to fix. + +I'll also upload the update for the current input filenames which are dual-case. + +\start +Date: Sun, 28 Sep 2003 16:18:25 -0400 +From: root +To: david.mentre@wanadoo.fr +Subject: Re: [Axiom-developer] Re: upper/lower case issue +Cc: bill.page1@sympatico.ca + +David, + +Could you also update the Axiom webpages to show the systems where Axiom is +known to build? + +\start +Date: Sun, 28 Sep 2003 22:05:39 +0200 +From: "Weiss, Juergen" +To: "David MENTRE" , +Cc: bill.page1@sympatico.ca + +As I already wrote in a previous mail, the axiom system should +preserve case. The case mangling is done, because the makefile +hands a list of lisp symbols and not a list of lisp strings +to the build-interpsys function. This is easily solvable +with gnu make as indicated in my mail. + +> -----Original Message----- +> From: David MENTRE [mailto:david.mentre@wanadoo.fr] +> Sent: Sunday, September 28, 2003 9:49 PM +> To: daly@idsi.net +> Cc: axiom-developer@nongnu.org; bill.page1@sympatico.ca +> Subject: [Axiom-developer] Re: upper/lower case issue +> +> +> root writes: +> +> > The top level makefile builds a custom makefile for each +> target platform. +> > I'll add a CASE= tag so we can pass the information into the = +build. +> +> Hmmm. I don't like the idea of being system specific. Is it really +> necessary? +> +> If I remember correctly: +> +> - any Unix system (linux, *bsd, solaris, MacOS X with UFS,...): case +> sensitive path and filename +> +> - MacOS X with HFS: no distinction between lower/uppercase, case +> sensitive path +> => no distinct file with filenames different only on lower/upper +> case +> +> - Windows: no distinction between lower/uppercase, case insensitive +> path +> => as previous MacOS X case +> +> +> +> So for me, we have the following requirements: +> +> 1. each source file should have a distinct filename if converted to +> lowercase; +> +> 2. the build process should not modify lower/uppercase of paths. +> +> +> With those requirements, I think we could build Axiom on any current +> system. You opinion? + +\start +Date: Sun, 28 Sep 2003 22:27:47 +0200 +From: "Weiss, Juergen" +To: "David MENTRE" +Subject: RE: [Axiom-developer] Re: upper/lower case issue +Cc: bill.page1@sympatico.ca + +Yes. With that little change to the makefile and the elimination +of the case folding, things should work out. + + +> -----Original Message----- +> From: David MENTRE [mailto:david.mentre@wanadoo.fr] +> Sent: Sunday, September 28, 2003 10:16 PM +> To: Weiss, Juergen +> Cc: daly@idsi.net; axiom-developer@nongnu.org; bill.page1@sympatico.ca +> Subject: Re: [Axiom-developer] Re: upper/lower case issue +> +> +> Hello Juergen, +> +> "Weiss, Juergen" writes: +> +> > to the build-interpsys function. This is easily solvable +> > with gnu make as indicated in my mail. +> +> Is it this email? +> +http://mail.nongnu.org/archive/html/axiom-developer/2003-09/msg00085.htm +l + +\start +Date: Sun, 28 Sep 2003 22:26:39 +0200 +From: David MENTRE +To: axiom-developer@nongnu.org +Subject: [Axiom-developer] TeXmacs interface and backward compatibility + +Hello, + +Here is a remark of Joris about the TeXmacs interface: + + "This does not withhold that you really should make the interface + backward compatible. As Andrey Grozin remarked to me this weekend, + there are still quite a few people around with the old version of + Axiom." + + +I haven't the willing neither the possibility to support this. + +\start +Date: Sun, 28 Sep 2003 22:16:12 +0200 +From: David MENTRE +To: "Weiss, Juergen" +Subject: Re: [Axiom-developer] Re: upper/lower case issue +Cc: bill.page1@sympatico.ca + +Hello Juergen, + +"Weiss, Juergen" writes: + +> to the build-interpsys function. This is easily solvable +> with gnu make as indicated in my mail. + +Is it this email? + +http://mail.nongnu.org/archive/html/axiom-developer/2003-09/msg00085.html + +\start +Date: Sun, 28 Sep 2003 22:37:51 +0200 +From: David MENTRE +To: daly@idsi.net +Subject: Info on where axiom build (was: Re: [Axiom-developer] Re: upper/lower case issue) + +root writes: + +> Could you also update the Axiom webpages to show the systems where Axiom is +> known to build? + +Sure. I have uploaded following information I know of (in the FAQ page): + +
On which system is known to run Axiom?
+
+ + People have compiled and run Axiom on: +
    +
  • Debian GNU/Linux 3.0 and sid, on i386, Sparc64 and PowerPC
  • +
  • RedHat Linux 7.3 and 9.0 on i386
  • +
+ +
+ +Let me know for other systems (*bsd, MacOS X, ...). + +\start +Date: Sun, 28 Sep 2003 13:43:53 -0700 +From: Jaap Weel +To: axiom-developer@nongnu.org +Subject: [Axiom-developer] OS X + +I don't know how for Tim has got on Mac OS X, but I thought I'd just +mention what I had so no-one has to repeat it all. If you got much +further, please just ignore this. + +Added Makefile.mac section to Makefile.pamphlet: +" +@ +\subsection{Makefile.mac} +<>= +# System dependent Makefile for the Mac/PPC platform +# Platform variable +PLF:=MACplatform +# C compiler flags +CCF:="-O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -D${PLF} +-I/usr/X11R6/include" +#CCF:=-g -fno-strength-reduce -Wall -D_GNU_SOURCE -D${PLF} +-I/usr/X11/include +# Loader flags +LDF:= -L/usr/X11R6/lib +# C compiler to use +CC:=gcc +AWK=awk +RANLIB=ranlib +TOUCH=touch +TAR=tar +AXIOMXLROOT=${AXIOM}/compiler +O=o +BYE=bye +LISP=lisp +DAASE=${SRC}/share + +ENV=PLF=${PLF} CCF=${CCF} LDF=${LDF} CC=${CC} AWK=${AWK} +RANLIB=${RANLIB} \ + TOUCH=${TOUCH} TAR=${TAR} AXIOMXLROOT=${AXIOMXLROOT} O=${O} +BYE=${BYE} \ + LISP=${LISP} DAASE=${DAASE} + +all: rootdirs noweb srcsetup lspdir srcdir + @echo 45 Makefile.linux called + @echo 46 Environment : ${ENV} + @echo 47 finished system build on `date` | tee >lastBuildDate + +<> +<> +<> +<> +<> +<> +<> +<> +" + + +Added +" +/** On some systems, such as the Mac, SIGCLD is called SIGCHLD **/ +#if defined(MACplatform) +#define SIGCLD SIGCHLD +#endif +" +to src/lib/fnct_key.c.pamphlet + +Added /usr/X11R6/include to INC path in src/lib/Makefile.pamphlet + +Question: is this necessary? Without this, the C preprocessor fails to +find X11/Xlib.h, but how on earth does it find it on Linux? + +Made scripts in src/scripts executable + +Question: is this necessary? Without this, make barfs, but how on earth +does it do this on Linux? + +awk and gawk: +noweb, in its current configuration, explicitly calls gawk. Macs ship +with awk. If I symlink gawk --> awk on my system, it gets rid off the +errors. I see some mechanism in noweb to deal with this, but don't +quite understand it. Any thoughts? + +\start +Date: Sun, 28 Sep 2003 16:53:24 -0400 +From: root +To: david.mentre@wanadoo.fr +Subject: Re: [Axiom-developer] TeXmacs interface and backward compatibility +Cc: bmt@us.ibm.com, miked@nag.co.uk, vdhoeven@texmacs.org + +Clearly we don't have the ability to support NAG's version of Axiom because +we don't have the whole distribution. I'd be willing to but can't because +of licensing reasons (Mike, could I become a "support licensee" of NAG? +Can you sublicense support?). + +(Barry, your question is related to the support sublicense issue) + +I don't see why texmacs doesn't just let both prompts show up just like +they do in the normal console. + +Joris, does letting both prompts show up cause an issue for TeXmacs (not +the NAG users, just TeXmacs)? + +\start +Date: Sun, 28 Sep 2003 13:50:10 -0700 +To: David MENTRE +From: Jaap Weel +Subject: Re: [Axiom-developer] TeXmacs interface and backward compatibility + +Are there reasons why people with the old version would not be able to +upgrade? NAG numerical stuff, maybe? + +> I haven't the willing neither the possibility to support this. +Well, it seems that TeXmacs wants specific control characters, right? +And that means you patched Axiom to have a TeXmacs mode where it emits +those, right? So without patching the source, you can't really do this, +right? It seems like an iffy business, and I would tend to agree it's +not worth the trouble. + +\start +Date: Sun, 28 Sep 2003 17:00:39 -0400 +From: root +To: weel@caltech.edu +Subject: Re: [Axiom-developer] TeXmacs interface and backward compatibility + +Jaap, + +The NAG version has a pretty user interface which we need to replace, +the graphics which is coming, the hyperdoc which is coming, the NAG libraries +which will be supported (I believe you only have to have the license to use +them and they are a separate package) but will be available using open source +replacements. The NAG version also runs on a few more platforms but work is +underway to fix this also. + +I believe the TeXmacs interface is of very recent origin so backward +compatibility is probably a non-issue. + +\start +Date: Sun, 28 Sep 2003 17:11:34 -0400 +From: "Bill Page" +To: , +Subject: RE: [Axiom-developer] TeXmacs interface and backward compatibility +Cc: bmt@us.ibm.com, miked@nag.co.uk, vdhoeven@texmacs.org + +Tim, + +The problem is with the synchronization of the +input/output between Axiom and TeXmacs. There is +a small "filter" program called tm_axiom which fits +between Axiom and TeXmacs. The filter needs to know +when it can send a buffer originating from TeXmacs +to Axiom. It does this by waiting for the Axiom +prompt -> to be output by Axiom. The original version +of tm_axiom expected two such prompts before it +would begin to send the TeXmacs buffer to Axiom. +The change that David and I have made to tm_axiom +causes it to wait for only one Axiom prompt. + +I am not sure, but I suspect that this change will +not break the interface between the older versions +of Axiom which do generate two prompts. The result of +our change is that tm_axiom will send the buffer +immediately after receiving the first prompt. Axiom +should simply issue one more prompt and then read the +buffer from it's input anyway. Unfortunately, I am +not able to test this since I do not have access to +any earlier versions of Axiom. + +> -----Original Message----- +> From: +> axiom-developer-bounces+bill.page1=sympatico.ca@nongnu.org +> [mailto:axiom-developer-bounces+bill.page1=sympatico.ca@nongnu +> .org] On Behalf Of root +> Sent: Sunday, September 28, 2003 4:53 PM +> To: david.mentre@wanadoo.fr +> Cc: bmt@us.ibm.com; miked@nag.co.uk; +> axiom-developer@nongnu.org; vdhoeven@texmacs.org +> Subject: Re: [Axiom-developer] TeXmacs interface and backward +> compatibility +> +> +> Ah, another simple job, eh? :-) +> +> Clearly we don't have the ability to support NAG's version of +> Axiom because we don't have the whole distribution. I'd be +> willing to but can't because of licensing reasons (Mike, +> could I become a "support licensee" of NAG? Can you +> sublicense support?). +> +> (Barry, your question is related to the support sublicense issue) +> +> I don't see why texmacs doesn't just let both prompts show up +> just like they do in the normal console. +> +> Joris, does letting both prompts show up cause an issue for +> TeXmacs (not the NAG users, just TeXmacs)? + +\start +Date: Sun, 28 Sep 2003 17:21:56 -0400 +From: root +To: weel@caltech.edu +Subject: Re: [Axiom-developer] OS X + +Jaap, + +Thanks for the Makefile.mac stanza. I'll add it to the Makefile.pamphlet + +\start +Date: Sun, 28 Sep 2003 23:27:06 +0200 (CEST) +From: Joris van der Hoeven +To: root +Subject: Re: [Axiom-developer] TeXmacs interface and backward compatibility +Cc: bmt@us.ibm.com, miked@nag.co.uk + +> Joris, does letting both prompts show up cause an issue for TeXmacs (not +> the NAG users, just TeXmacs)? + +It does for the glue between Axiom and TeXmacs. + +\start +Date: Sun, 28 Sep 2003 23:26:11 +0200 (CEST) +From: Joris van der Hoeven +To: Bill Page +Subject: RE: [Axiom-developer] TeXmacs interface and backward compatibility +Cc: miked@nag.co.uk, bmt@us.ibm.com + +> I am not sure, but I suspect that this change will +> not break the interface between the older versions +> of Axiom which do generate two prompts. The result of +> our change is that tm_axiom will send the buffer +> immediately after receiving the first prompt. Axiom +> should simply issue one more prompt and then read the +> buffer from it's input anyway. Unfortunately, I am +> not able to test this since I do not have access to +> any earlier versions of Axiom. + +No, the change definitely breaks the old interface. +Would it be very incomfortable for you guys to stick +to the old prompt for a while? That would definitely +solve the problem... + +\start +Date: Sun, 28 Sep 2003 17:32:23 -0400 +From: root +To: vdhoeven@texmacs.org +Subject: Re: [Axiom-developer] TeXmacs interface and backward compatibility +Cc: bill.page1@sympatico.ca + +Joris, + +The old prompt is actually issued by a separate process. +The key difference is the first prompt has a (1) line number +whereas the second prompt has a gensym that represents the +namespace of the current session. + +Who is axiom@texmacs.org? + +\start +Date: Sun, 28 Sep 2003 23:40:39 +0200 (CEST) +From: Joris van der Hoeven +To: root +Subject: Re: [Axiom-developer] TeXmacs interface and backward compatibility +Cc: bill.page1@sympatico.ca, vdhoeven@texmacs.org + +> The old prompt is actually issued by a separate process. +> The key difference is the first prompt has a (1) line number +> whereas the second prompt has a gensym that represents the +> namespace of the current session. + +I see two solutions to this prompt problem: + + * [Best] check the version of the axiom system and + do something specific for each version. + + * [Hack] let axiom behave as before for TeXmacs as + far as the prompt is concerned. + +> Who is axiom@texmacs.org? + +Me, Andrey, god, and a few others. +You want to be there too? + +\start +Date: Sun, 28 Sep 2003 17:53:10 -0400 +From: root +To: bill.page1@sympatico.ca +Subject: [Axiom-developer] Re: book + +Bill, + +There are four paths that seem possible for republishing the book: + +(1) O'Reilly press, which is very open source friendly. + + You might try contacting them to see if they might publish a new + volume (changed from the current version, lacking color plates, + adding a CD). + +(2) Dover, which republishes old books cheaply. + + We really can't afford to have the book be expensive anymore. + +(3) Self-publish + + I believe it is possible to get a run of about 1000 books published + by a regular publisher for a flat fee. That is an optimistic estimate + of the number of axiom books sold or given away in the next 30 years. + (I twice tried to write textbooks and was told that >3k is a bestseller) + I'm not sure what the minimum number would be. It would be helpful to know. + +(4) Pamphlet form + + If we carefully structure the book properly you may be able to print + the book locally, hole punch it, and ring-binder it yourself. This + would allow for incremental updates. I've played with this a little + bit with the current version but am ambivalent about it. This would + allow us to issue chapter updates and give a "standard" for pamphlet + and booklet files. + +The key issue is that we want the book to continue to be modified BSD +rather than copyright anybody. I have heard rumors that O'Reilly has +done such a thing. Dover might but I don't know. I'd like the CD to +accompany the book to contain the source text of the book and various +other useful things including Axiom sources. + +The new version of the book is going to end up significantly different +from the NAG version. It is starting out with the source text (well, +the hyperdoc language version) but I'm adding and deleting chapters, +rewriting and adding examples, rewriting paragraphs, fixing problems, +etc. I've formatted the book into pamphlet form, rewritten the tags, +regenerated the pictures, etc. In spirit they will be similar but in +practice the book is a complete rewrite. I'm trying to maintain the +"look and feel". Shortly it will fracture into booklet form but I have +to debug some of the machinery I'm trying to use first. + +\start +Date: Sun, 28 Sep 2003 17:55:20 -0400 +From: root +To: vdhoeven@texmacs.org +Subject: Re: [Axiom-developer] TeXmacs interface and backward compatibility +Cc: vdhoeven@texmacs.org, bill.page1@sympatico.ca + +re: axiom@texmacs.org + +if it is a texmacs mailing list about axiom issues, sure. + +\start +Date: Sun, 28 Sep 2003 18:34:44 -0400 +From: dpt@exoskeleton.math.harvard.edu (Dylan Thurston) +To: root +Subject: Re: [Axiom-developer] Re: book +Cc: bill.page1@sympatico.ca + +On Sun, Sep 28, 2003 at 05:53:10PM -0400, root wrote: +> ... I've formatted the book into pamphlet form, rewritten the tags, +> regenerated the pictures, etc. + +How do we generate pictures? (I know the GUI is not here yet, but I'd +love to be able to generate a picture by hand.) + +\start +Date: Sun, 28 Sep 2003 18:40:31 -0400 +From: root +To: dpt@math.harvard.edu +Subject: Re: [Axiom-developer] Re: book +Cc: bill.page1@sympatico.ca + +ummm, you can't at the moment. +I'm using the NAG version. +I haven't forgotten your request for the graphics. +Soon, real soon.... + +\start +Date: 28 Sep 2003 21:04:03 -0400 +From: Bill Page +To: David MENTRE +Subject: [Axiom-developer] patch to tex.spad.pamphlet + +David, + +The following patch to src/algebra/tex.spad.pamphlet +generates \sqrt[n]{x} instead of \root{n} \of {x}. +This form is converted properly by texmacs and corrects +the problem with the display of + + integrate(x**(1/3),x) + +that you mentioned in a previous email. Since TEX is +in layer15 of the algebra Makefile, re-building Axiom +doesn't take very long and you can simply patch +tex.spad.pamphlet and re-run make from your AXIOM root +directory. + +--- oldsrc/algebra/tex.spad.pamphlet 2003-09-28 20:11:16.000000000 +-0400 ++++ src/algebra/tex.spad.pamphlet 2003-09-28 20:53:47.000000000 +-0400 +@@ -27,6 +27,7 @@ + ++ 03/09/92 RSS Handle explicit blank appearing in the input. + ++ 11/28/93 JHD Added code for the VCONCAT and TAG operations. + ++ 06/27/95 RSS Change back to $$ and \leqno for Saturn ++++ 09/28/03 WSP Changed \root{n} \of {x} to \sqrt[n]{x} + ++ Basic Operations: coerce, convert, display, epilogue, + ++ tex, new, prologue, setEpilogue!, setTex!, setPrologue! + ++ Related Constructors: TexFormat1 +@@ -374,7 +375,7 @@ + tmp : S := group formatTex(first args, minPrec) + null rest args => group concat ["\sqrt ",tmp] + group concat +- ["\root ",group formatTex(first rest args, minPrec)," \of +",tmp] ++ ["\sqrt[",formatTex(first rest args, minPrec),"]",tmp] + op = "SEGMENT" => + tmp : S := concat [formatTex(first args, minPrec),".."] + group + +\start +Date: Sun, 28 Sep 2003 21:05:13 -0400 +From: root +To: daly@idsi.net +Subject: Re: [Axiom-developer] Re: book +Cc: bill.page1@sympatico.ca + +Bill, + +Another possible distribution path for the book is to construct a KNOPPIX CD +rather than a paper book. This would be bootable without disturbing someones +opsys. Of course, I don't know how to go about making an Axiom-Knoppix CD but +it is almost certainly possible. + +\start +Date: Sun, 28 Sep 2003 21:13:42 -0400 +From: root +To: bill.page1@sympatico.ca +Subject: [Axiom-developer] Re: patch to tex.spad.pamphlet + +Bill, + +These are not equivalent. Put the following lines in t.tex: + +$\sqrt[n]{x}$ + +$\root{n} \of {x}$ + +\bye + +Then type: + +tex t.tex +xdvi t.dvi + +The results are nowhere near the same. The \root... form generates the correct +result. The problem must reside on the TeXmacs side. + +\start +Date: Sun, 28 Sep 2003 09:11:18 -0700 +From: Jaap Weel +To: David MENTRE +Subject: Re: [Axiom-developer] New design for Axiom web site + +> Thanks to the hard work made by Antoine Hersen, the redesigned Axiom +> web +> site will be available in less 6 hours from the date of this email. +> [...] +> Let me know if you see issues, typos, information to add, ... +> + +I include PDFs of what the site looks like viewed on my computer. + +The first (Picture 1) is in Safari: + +--Apple-Mail-4-558933040 +Content-Disposition: inline; + filename="Picture 1.pdf" +Content-Transfer-Encoding: base64 +Content-Type: application/pdf; x-mac-hide-extension=yes; + x-mac-creator=3F3F3F3F; x-unix-mode=0644; x-mac-type=50444620; + name="Picture 1.pdf" + +JVBERi0xLjMKJcTl8uXrp/Og0MTGCjIgMCBvYmoKPDwgL0xlbmd0aCAxIDAgUiAvRmlsdGVyIC9G +bGF0ZURlY29kZSA+PgpzdHJlYW0KeJwrVAhUKFTQD0gtSk4tKClNzFEoygQKWJiZKRgAoaGpJZhO +zlXQ98w1VHDJB6oPBACWNg4CCmVuZHN0cmVhbQplbmRvYmoKMSAwIG9iago1NAplbmRvYmoKMyAw +IG9iago8PCAvVHlwZSAvUGFnZSAvUGFyZW50IDQgMCBSIC9SZXNvdXJjZXMgNSAwIFIgL0NvbnRl +bnRzIDIgMCBSIC9NZWRpYUJveApbIDAgMCA4NjYgMTU5IF0gPj4KZW5kb2JqCjUgMCBvYmoKPDwg +L1Byb2NTZXQgWyAvUERGIC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJIF0gL1hPYmplY3QgPDwgL0lt +MSA2IDAgUgo+PiA+PgplbmRvYmoKNiAwIG9iago8PCAvTGVuZ3RoIDcgMCBSIC9UeXBlIC9YT2Jq +ZWN0IC9TdWJ0eXBlIC9JbWFnZSAvV2lkdGggODY2IC9IZWlnaHQKMTU5IC9Db2xvclNwYWNlIDgg +MCBSIC9CaXRzUGVyQ29tcG9uZW50IDggL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCnic +7Z0HmNTE+8eX4yhHL0c7epciIL0qovQO0ntRBOlIU5Deq/TepYOAUgSkHZ0D5E44lGIBEfCPgPxA +VJD/y74yDMluks0mu3vH9/Pkuec2mbzzTsnMN5PM5MkTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AADAS8RPTq5fv+5vR0Bs48GDB1y77t6968t479y5w/E+fPjQl/ECAAAAgcmaNWvGe8itW7f+/vtv +h5MKFSr4OwVP+eeffyIiImbOnNm6desSJUpUqVKlVatWgwcPPnPmjL9dA0q2b9/+0UcfaQTYsmUL +165Ro0b5zCuCvOJ4v/76a1/Ga4Lw8PC+ffvWrFmzePHi9LdDhw5U+f/3v//52y8AAACxirfeesvh +IefPnw8olXj58uVXX33VnbdNmjTxt4PgBSpXrhwSEnLv3j13AaASNbh7926bNm3ixImjruqpUqXy +8egrACDWIzcy/vYF+IGYrhJ37dpFnaPwLSgoKHfu3OnSpaN/eM/UqVP966GPiYqK6tWrV8OGDf3t +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 +IgUHCwoKEvu7desWN27cEiVKUKQNGjSIFy8eHSXppZ3wTp06jR49mpIphhMPHz4sjg4fPjw0NFTE +xa8djh07Nn78+CEhIf379//pp59KliwpzqXw4lzSqGFhYYkTJ6bwn376acqUKVOlSkWSj8U2SUdh +mVK9efPm5MmTCztk+YcffihatKjYQ/L18ePHav+vXbsmJG716tW1EwsAAAAA4Ck3b94kicViY8WK +FbTn559/zpkzJ/1Tt25d3t+uXTsO3L1790GDBolzhUok7dSvX7/Lly9PnjyZ9+TJk0cEq127Nu/k +AUCeF0OQYhRhChQowDsPHDig4W1ERIRCJYp3C7ds2cJ7SHfRT3l2tpq7d++SNvv1119JueXOnZst +tGnTRg5D4lZM4l68ePET55Sf9OnTywOhtWrVUqjEtWvX8p5Ro0bxHqHDhXI+evSoEIHNmzeniMi+ +2EPic+/evceOHROvhoaHhyv8HzFihNDwxJdffqmRWAAAAOBl4/8BZ4PCMAplbmRzdHJlYW0KZW5k +b2JqCjcgMCBvYmoKMTgxMTQKZW5kb2JqCjEwIDAgb2JqCjw8IC9MZW5ndGggOSAwIFIgL04gMyAv +QWx0ZXJuYXRlIC9EZXZpY2VSR0IgL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCnicjdYJ +NJTrHwfw3zszZox9l31sZY0oS0ohwkWSsib7EsY0RuSvtIlbihtJXa6EylJpIaHFVknLtaRCohsp +kuVGZZn/8864df7nnvO/9zlnzvt9n3nPOzOf3+953gEQEPBjMCIIABBJZzFd1lvS3D08aZR2IAM/ +CIA0aPgFRDMsnJ0d0CVAj6IHwd/GVCdg+LFdF7/X39//v0OQiT4QAKOhLBHCzcvx7M/NtniOZTFY +KHvjOSDULxBlBso6TFcXK5RzUBYK4eYyPPtzcy2eA4OiA1B+hHJGAIOJ7kPwRVl3Z0AIntMBiGL0 +wDA6AE8hANk8MjIK3Z//LbpGA7fgfk2mDoDVFQCq5I85r3iArGCAxbt/zGnqoXMiQEHGj7nJDRwf +TOpOdLChAWcKE7BEn9fLZk9qAFAyAObS2OyZs2z2XAH6Pt0Ad2MDYpg7F4ww7DHAP51zfydniFv5 +RYT5M/1YQYE0Z2ZUcFjE96qJgxX4QQSEgT8wUWJBEAQCDZzRWRQEo/kICPqHe/z7wQqKY+FHqyjG +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 +Y3XXGrW10RYtVobrrthYrX9m52p/x0HBMdbpmbPZxnObRF13be53s3ev8VzudXWrvk+pr7pffoB6 +4JVgm4Ua36MzGKo7+qMvxETHroybja9JiN9jlsje13QgLckrWStl9nBratmx9PS9x+Mz47IY2b6n +1+XI5nbnJeUrnC0vtC36dL6kOK7U5aLhZYnyiast1wsqE6u2VZvXStzqvXOqzr5+qrHwnvcDtWZ2 +y+Dj1qc3Wn9p934m0Vn9wvlld/fWnq7eTa8f9K9+c+Wt6kDm4NyQx/viDyMjih8tR30+hY/tGKdP ++Eza/qn659fPd6b2TBtPv/6S/FX1a+U3u28dM1tmXs56zbbP2c/VzZvMl7Dl2Efx+nP/z3KeHyIA +OZp4qnJk/u2/2n8BT3aOpAplbmRzdHJlYW0KZW5kb2JqCjkgMCBvYmoKMjUyOQplbmRvYmoKOCAw +IG9iagpbIC9JQ0NCYXNlZCAxMCAwIFIgXQplbmRvYmoKNCAwIG9iago8PCAvVHlwZSAvUGFnZXMg +L0NvdW50IDEgL0tpZHMgWyAzIDAgUiBdID4+CmVuZG9iagoxMSAwIG9iago8PCAvVHlwZSAvQ2F0 +YWxvZyAvUGFnZXMgNCAwIFIgPj4KZW5kb2JqCjEyIDAgb2JqCjw8IC9Qcm9kdWNlciAoTWFjIE9T +IFggMTAuMi44IFF1YXJ0eiBQREZDb250ZXh0KSAvQ3JlYXRpb25EYXRlIChEOjIwMDMwOTI4MTYw +NjI5WjAwJzAwJykKL01vZERhdGUgKEQ6MjAwMzA5MjgxNjA2MjlaMDAnMDAnKSA+PgplbmRvYmoK +MTMgMCBvYmoKWyA8YTZlYzk2ZjI0ODViNTgzOWU5Yzc2MTY5Yjg5YmNmM2Y+IDxhNmVjOTZmMjQ4 +NWI1ODM5ZTljNzYxNjliODliY2YzZj4KXQplbmRvYmoKeHJlZgowIDE0CjAwMDAwMDAwMDAgNjU1 +MzUgZiAKMDAwMDAwMDE1MCAwMDAwMCBuIAowMDAwMDAwMDIyIDAwMDAwIG4gCjAwMDAwMDAxNjgg +MDAwMDAgbiAKMDAwMDAyMTM1MSAwMDAwMCBuIAowMDAwMDAwMjc0IDAwMDAwIG4gCjAwMDAwMDAz +NjMgMDAwMDAgbiAKMDAwMDAxODY0MyAwMDAwMCBuIAowMDAwMDIxMzE1IDAwMDAwIG4gCjAwMDAw +MjEyOTUgMDAwMDAgbiAKMDAwMDAxODY2NCAwMDAwMCBuIAowMDAwMDIxNDEwIDAwMDAwIG4gCjAw +MDAwMjE0NjAgMDAwMDAgbiAKMDAwMDAyMTYwMyAwMDAwMCBuIAp0cmFpbGVyCjw8IC9TaXplIDE0 +IC9Sb290IDExIDAgUiAvSW5mbyAxMiAwIFIgL0lEIDEzIDAgUiA+PgpzdGFydHhyZWYKMjE2OTMK +JSVFT0YK + +--Apple-Mail-4-558933040 + +The second one (Picture 2) is also in Safari: + + +--Apple-Mail-4-558933040 +Content-Disposition: inline; + filename="Picture 2.pdf" +Content-Transfer-Encoding: base64 +Content-Type: application/pdf; x-mac-hide-extension=yes; + x-mac-creator=3F3F3F3F; x-unix-mode=0644; x-mac-type=50444620; + name="Picture 2.pdf" + +JVBERi0xLjMKJcTl8uXrp/Og0MTGCjIgMCBvYmoKPDwgL0xlbmd0aCAxIDAgUiAvRmlsdGVyIC9G +bGF0ZURlY29kZSA+PgpzdHJlYW0KeJwrVAhUKFTQD0gtSk4tKClNzFEoygQKWFiYKxgAoZG5JZhO +zlXQ98w1VHDJB6oPBACWzA4ICmVuZHN0cmVhbQplbmRvYmoKMSAwIG9iago1NAplbmRvYmoKMyAw +IG9iago8PCAvVHlwZSAvUGFnZSAvUGFyZW50IDQgMCBSIC9SZXNvdXJjZXMgNSAwIFIgL0NvbnRl +bnRzIDIgMCBSIC9NZWRpYUJveApbIDAgMCA4ODcgMjc5IF0gPj4KZW5kb2JqCjUgMCBvYmoKPDwg +L1Byb2NTZXQgWyAvUERGIC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJIF0gL1hPYmplY3QgPDwgL0lt +MSA2IDAgUgo+PiA+PgplbmRvYmoKNiAwIG9iago8PCAvTGVuZ3RoIDcgMCBSIC9UeXBlIC9YT2Jq +ZWN0IC9TdWJ0eXBlIC9JbWFnZSAvV2lkdGggODg3IC9IZWlnaHQKMjc5IC9Db2xvclNwYWNlIDgg +MCBSIC9CaXRzUGVyQ29tcG9uZW50IDggL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCnic +7J0JXBTl/8c9yAtFkUsxzzzSzLs880pFUdHEmyJMzSPNvBUlyQtYjljuINQWEcKj5NiUhVCzpILk +r3ghwRLuTrsQYOSJ8Py/7IzjNsMuC6y72O/7fvHiNcezz/N9vs93nvnMzDPzEIIgCIIgCIIgNXP8 ++PEmoxO2inKDUii/ZLmXmLL3L3AWlWxMJO4XiN9VEpZPAq+Td999F1KOGPHGqFGjx417a+Jbk+pU +yqJFi1xdXdnVBw8eBAYGKhQKfdcGqTONvC04kaMXrl+/zi7fu3dvx44dEydO/Oijj2D15s2bVVVV +dcqtkTuwITTc+f9h5+gFQ/pHPexrpB7Bz8HNzc3R0bEhOWjiefQDBiYlJUUqleqS0ohHTXl5ua+v +b0ZGhuGL5vA8WrxWx06YMCEgIEC/hWqCc+oxPM/vaOVAi8xtR3KFEsr3LLU3QWHnV+B0pGR9AnE7 +R7yzSGg+8b/KiMyptrb2XV6e07WbY7fudSpl4MCBixcvZlcvXbrUpEmT8PBwerWoqMjT0xPCW4/1 +en7Z/sfgtIVh0L1pOJHTcOLi4pYuXcqurlq1ytLS8tNPP4XwJqrDQX2vLujuQAMHZMOLa7jzjRJd +LxAG8w8n7GukHsHPAU4Tr776akNy0ITe+wHDM27cuD179uiS0ohHzZ07d6BoHx8fwxfN4Xm0eK3C +w8zMbNu2bfotVBOcU4/heX5HKwdGZB7K9T8r90yUu5+WTxbkL4goWnOywjWNeGSQwBzilcmIzFlN +m85t2nRB06ZLmjSpUyn8gMnMzHz8+DG9HBISAk1fUlKit1o9z2z/e6i3hWHQvWn029X89ddfFhYW +586do1crKyttbGxCQ0PZBBUVFV26dIEzcp2y1dGBBg7IhhenF+cbPrpeLAzgH07Ya6J+wa8OikxN +XLt2DQ7Gnj176pjeWEfNf1tkktqEh8FEJv/UY3gMLDJ3HsoViGWeSfLdp+QTBFLHiJIVJyq3pJC9 +6cT3JjmYwYjM6U2bzjIxmWti4mhiUqdS1AMmNzf3KxUURdGrzs7O0NbQ4rDx999/p5P9888/sbGx +Bw4ciI6OLi0tZbOKj4+/cOFCcXHxkSNHPDw87t69++jRo2+++QZSQg7sI6G6ZlsrMTExEJ8pKSkH +Dx6MiopSKpVaTIKNUDsoF1ZhL/Te6ln99NNPXl5eX3/9dV5enpOTE333Xsd60Zbcu3fv8uXLAoEA +igBLqqqqxGKxr69vTk5OnZJx2oL+FRR948aNgICAwMDAP/74o1bLa+X+/fuJiYlQbnp6OriC3zSn +T5/mnAHBTolEQmrqaurdgsDWrVshQ3r5//7v/yATMGPv3r3qJ1ZYhXOBjs8NdXdgPQKyIXGil/jn +O79OUc13DvDw4cOEhARIGR4eDil1cTLBo0+z5bqgHvbas6pT8NM8ePDg1KlTUC84oCAr9dNWjcF2 +8uTJb7/9Vj0HqPX333+v5SekLqGoJVRqRUuja2kXXdiwYUP37t3heGQ7ut9++w3sZ2+j/f3337AK +PqzxqNFSWV2iUXf4IrPGokEjwcbs7Gw2WWpq6nfffUcv848mLQ7U5PM6iUyIQOhV2NXbt29D6exq +UlLSmTNndBEetMiEK4LPP/88LCxMPZNaqbEjqjGeNZ16dNc8WhJr36XlaH1+0CJze0SOj1i2L0G2 +66RsrIfUIbTIJfbRRgnZk068rhH39Kci08SEFpnzmjevUynqAQP5gIYHD9MdCwiMrl27wuqgQYOG +DRsGaoSorvteeeWVZs2avf76602bNoX00CuyWU2ZMqVfv359+/YdOnQobLGzs4OfW1lZvfTSS82b +N4eGqEe2tQLhZ2FhAR3Fyy+/TBf3ww8/aDIJqgaJwYDBgwdD4pEjR7Lhunv3btgCia2trWHhjTfe +oHfpWC/akunTp3fs2BF+AgmglFmzZtna2nbp0gVWt2/frnsyTlvQv1q4cCEYD5aDi8zNzdkOQZPl +2oF+qUePHm3btgWfw6/8/f35TfPxxx9DNdkLTOhvW7VqtX//fsLrahrSgtD9Qt1XrlxJr4IlUCiY +AZnQDqcBcQsb2cbVju4OrGtANjBO9BL/HOfXNar5zoGz0oABA9q0aQO/haho0aKFjjoTj776HX2E +F/bas6pT8ANyuXzEiBHgouHDh0PtwFHsaUtTsEHdod3ZEkF4QIlHjx7V8hNSl1DUEiq1oqXRNbWL +LsCZHX4C4gqCf9myZfTGgoICyJYdjwdn/M6dO4Pa50eF9srqEo26wxGZmoqGvhpWQdmyP7S3tx8z +Zgy9zD+atDhQk8/rJDLXr19vamp6//591pn06YOobnG0a9cOrjh0ER5g52uvvQb/YSPsghCCttPR +Bn6tNcVzjaeeOmkeLYm17NJytD5XmMflkbk+Z+ReYvme09REgXReePHKExXbUsi+TOJ/m3hkMSLT +rlmzmSYmc0xM3mnAnUyiuo5WP4g4d61BloAnwRtwGMJqfn7+kCFDevfuTV9f00fTl19+SVT9J/y/ +ePFicnLykydPioqK4FedOnWqR7a1AoG3YMECuIKD9OfPn+/Tpw/0GFAo3ySIaojesWPHPnz4ELak +paWZmJjAlSxRDa2Hdl+3bh0kg+gFA958803WRTrWCyyBipSVlcHy4cOH4VeLFi2Cn0DKpUuXQvTS +VumYjNMW9K+gRFjOysqCOHRzc9NuuXZOnDjB5g8a488//+Q3DVxVwSpcYdGrcMaBsuhB8uqR08AW +TE9Ph1LUh0WBe2HLL7/8op6MfrC1adMmXfIkOjuQX2st1dFLnDQ8/tWdX7+oVncOGABdN3SAhYWF +rKt1dDIeffU7+ggv7LVnVdfgnzt3LiicK1euENU9ahAhcCokWoMNjms4AwqFQjqHrVu3gm9BtNTa +7esSitpDpVa0N3qNB7UuiEQi+AkISPgVCB5WCx06dAja4sKFC6CswCdsGKhHRa2V1SXMdEddZGop +ulaRyTmatDhQk8/rJDLpwZb0GQRkcMuWLcFyuu5xcXGwC8KJ1CY8aDtBcNJ2Qn1hb3x8vI42cGqt +PZ45p546aR4tibXno+lofd6oj8kUJMn3JlCTvfMXRxavPVW5K5V4ZlaPyfS98vTFnyZNZpiYzDYx +cXieIpNu3C+++KLgKXv37oUtrOqA6wvOmRFiHvpS0DMrVqxgs6pTtrXCGa0RFhYGv6XPkhyTEhIS +YFdwcDCbGBodrlKJ6q6++o2CTz/9FPqWe/fu1ale6pbIZDLYHhkZSa9Wt2aTJvS7gTom45/m1KsJ +XTT9LoAWy7VDH/4uLi7qiflH9xtvvAHX4PTy7Nmz33rrLXpZPXIa2IJRUVH0z9ktNYrM0tJS2Ag2 +6JIn0dmB/FprqY5e4qTh8a/u/PpFtbpzUlJSYNnd3V1Hx6qDR1/9jj7CC3vtWdUp+EGvQuIPP/yQ +3cKO8tIebA4ODnDuI6pzq42NDR0StXb7uoQi34fqoaILtTY6+fdBrQvjxo2zs7ODhcuXL0Oe0CLs +LnB1z54927Ztq37xqx4VuldWS5jpjrrI1FJ0rSKTczRpd2CNPq/rmExwI52nt7e3tbV169atac35 +zjvvjB49mk6ji8hUt7N79+5gko4GcGqtPZ45p546aR4tibXs0nK0Pm+Yx+WiPKGE8ql+u5yyE95x +EpWuj69yO08El1Vvl2c/FZnNm083MZmpemhep1LqJDKDgoJgtTWPGzdu0FktXLhQPfNz58716tUL +Lgmh47K1tWUvW+qUba1wwo8+Y9L32Dkm+fn5wS71bOHqD7Y8ePAgLy9P/dicMWMGiCvWRTrWS90S +uVwO2+GKmF4Fl8IqfXtcx2TaT3PDhw+fM2cOLGixvFbA89CLWlhYsGc6/tENu+AymaIoOM299NJL +7AuA6pHTwBb08vKCn58+fZrdUqPIBFq0aAEV17F2OjqQX2st1dFLnDQ8/tWdX7+oVndOQEAALGdm +ZuroWHXw6Kv30ccJ+1qz0j34aRlz5swZdgt72tIebGfPnoW9WVlZ3377LRRHP92otdvXJRT5PlQP +lVrRpdHJvw/qWqFvDn/11Vf0KuQ/ZcoUdi/0eNDdDR06tLKykt2oHhW6V1ZLmOlOYWEhKzK1FF2r +yOQcTVocqMnndRWZrq6uUArYBgoWLltAHL799ttlZWUtW7YMDAyk09RVZL755ptwQaSjAZxaa49n +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 +It4is6JnxCzF+sQTJBZJVElukxKRapZOXmQrwy/TLntGjilvp6CiMKf4QukaLU05SsVN1VZtvbr3 +4qQlNzXeafFqq+qY6W5cGoRWdtqyMoPfDWdW6Bj5Gp80aVspbOa8KmN11xq1tdEWLVaG667YWK1/ +Zudqf8dBwTHW6Zmz2cZzm0Rdd23ud7N3r/Fc7nV1q75Pqa+6X36AeuCVYJuFGt+jMxiqO/qjL8RE +x66Mm42vSYjfY5bI3td0IC3JK1krZfZwa2rZsfT0vcfjM+OyGNm+p9flyOZ25yXlK5wtL7Qt+nS+ +pDiu1OWi4WWJ8omrLdcLKhOrtlWb10rc6r1zqs6+fqqx8J73A7Vmdsvg49anN1p/afd+JtFZ/cL5 +ZXf31p6u3k2vH/SvfnPlrepA5uDckMf74g8jI4ofLUd9PoWP7RinT/hM2v6p+ufXz3em9kwbT7/+ +kvxV9WvlN7tvHTNbZl7Oes22z9nP1c2bzJew5dhH8fpz/89ynh8iADmaeKpyZP7tv9p/AU92jqQK +ZW5kc3RyZWFtCmVuZG9iago5IDAgb2JqCjI1MjkKZW5kb2JqCjggMCBvYmoKWyAvSUNDQmFzZWQg +MTAgMCBSIF0KZW5kb2JqCjQgMCBvYmoKPDwgL1R5cGUgL1BhZ2VzIC9Db3VudCAxIC9LaWRzIFsg +MyAwIFIgXSA+PgplbmRvYmoKMTEgMCBvYmoKPDwgL1R5cGUgL0NhdGFsb2cgL1BhZ2VzIDQgMCBS +ID4+CmVuZG9iagoxMiAwIG9iago8PCAvUHJvZHVjZXIgKE1hYyBPUyBYIDEwLjIuOCBRdWFydHog +UERGQ29udGV4dCkgL0NyZWF0aW9uRGF0ZSAoRDoyMDAzMDkyODE2MDgxOFowMCcwMCcpCi9Nb2RE +YXRlIChEOjIwMDMwOTI4MTYwODE4WjAwJzAwJykgPj4KZW5kb2JqCjEzIDAgb2JqClsgPGFlNjMz +NjJjOTkxNjEwYjEyNzUzZjk3Yzc0OGIwM2MxPiA8YWU2MzM2MmM5OTE2MTBiMTI3NTNmOTdjNzQ4 +YjAzYzE+Cl0KZW5kb2JqCnhyZWYKMCAxNAowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAxNTAg +MDAwMDAgbiAKMDAwMDAwMDAyMiAwMDAwMCBuIAowMDAwMDAwMTY4IDAwMDAwIG4gCjAwMDAwMzY5 +NTIgMDAwMDAgbiAKMDAwMDAwMDI3NCAwMDAwMCBuIAowMDAwMDAwMzYzIDAwMDAwIG4gCjAwMDAw +MzQyNDQgMDAwMDAgbiAKMDAwMDAzNjkxNiAwMDAwMCBuIAowMDAwMDM2ODk2IDAwMDAwIG4gCjAw +MDAwMzQyNjUgMDAwMDAgbiAKMDAwMDAzNzAxMSAwMDAwMCBuIAowMDAwMDM3MDYxIDAwMDAwIG4g +CjAwMDAwMzcyMDQgMDAwMDAgbiAKdHJhaWxlcgo8PCAvU2l6ZSAxNCAvUm9vdCAxMSAwIFIgL0lu +Zm8gMTIgMCBSIC9JRCAxMyAwIFIgPj4Kc3RhcnR4cmVmCjM3Mjk0CiUlRU9GCg== + +--Apple-Mail-4-558933040 + +The third one is in Mozilla. + + +--Apple-Mail-4-558933040 +Content-Disposition: inline; + filename="Picture 3.pdf" +Content-Transfer-Encoding: base64 +Content-Type: application/pdf; x-mac-hide-extension=yes; + x-mac-creator=3F3F3F3F; x-unix-mode=0644; x-mac-type=50444620; + name="Picture 3.pdf" + +JVBERi0xLjMKJcTl8uXrp/Og0MTGCjIgMCBvYmoKPDwgL0xlbmd0aCAxIDAgUiAvRmlsdGVyIC9G +bGF0ZURlY29kZSA+PgpzdHJlYW0KeJwrVAhUKFTQD0gtSk4tKClNzFEoygQKWFgaKhgAoZGpMZhO +zlXQ98w1VHDJB6oPBACVnw37CmVuZHN0cmVhbQplbmRvYmoKMSAwIG9iago1NAplbmRvYmoKMyAw +IG9iago8PCAvVHlwZSAvUGFnZSAvUGFyZW50IDQgMCBSIC9SZXNvdXJjZXMgNSAwIFIgL0NvbnRl +bnRzIDIgMCBSIC9NZWRpYUJveApbIDAgMCA4OTEgMjUzIF0gPj4KZW5kb2JqCjUgMCBvYmoKPDwg +L1Byb2NTZXQgWyAvUERGIC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJIF0gL1hPYmplY3QgPDwgL0lt +MSA2IDAgUgo+PiA+PgplbmRvYmoKNiAwIG9iago8PCAvTGVuZ3RoIDcgMCBSIC9UeXBlIC9YT2Jq +ZWN0IC9TdWJ0eXBlIC9JbWFnZSAvV2lkdGggODkxIC9IZWlnaHQKMjUzIC9Db2xvclNwYWNlIDgg +MCBSIC9CaXRzUGVyQ29tcG9uZW50IDggL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCnic +7J0FeBXH9/cXCxDcITiU4O4ltLRFi7YU92JtoXgLFGtxl+AOxaV4cUlxDRLcS3GHAMHCfc/vzr/z +TldmZ+3em+R8nn3y5M7OnDnj33WXC0EQBEEQBEFMIknSzQfP9xw+xdm87SOCIAiCIAgShaGCc+22 +fVqbt31EEARBEARBojAoOBEkevC3m7t373rbESRacefOHehXN27c8HC+2J8RJJqBghNBfIply5aN +NMijR4/evn0ruSlfvrx3/X/37t3Ro0cnT57cvHnzkiVLVq5cuVmzZv369Tt58qR3HUOUbNq06Zdf +fuHHKVasGPSrePHiecYlgu/0Z1327Nnz008/Va9evUSJEvC3devW0PlfvHjhbb8QxOdAwYkgPsUX +X3whGeT8+fM+skBfvXq1YMGCWn42aNDAi74hSipVqpQwYcLw8HBOHBScWjx79qxFixaxYsVSdvWU +KVPCXm87iCC+BQpOX4OdtbztC+IFoq7g3LZtG6yz1KvYsWPnypUrXbp08A8JGT9+vLd88wphYWFd +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 +dYIgCIIgBhSuCk5Cx/F/+SQIgiAIghjskODsG0hwEgRBEATxr4UEZ99QWlp67Nix/vaCIAiCIAii +HyDBSRAEQRAEQbgKCU6CIAiCIAjCVUhwEgRBEARBEK6iIjj/C0VKkZEKZW5kc3RyZWFtCmVuZG9i +ago3IDAgb2JqCjMwNTk1CmVuZG9iagoxMCAwIG9iago8PCAvTGVuZ3RoIDkgMCBSIC9OIDMgL0Fs +dGVybmF0ZSAvRGV2aWNlUkdCIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4nI3WCTSU +6x8H8N87M2aMfZd9bGWNKEtKIcJFkrIm+xLGNEbkr7SJW4obSV2uhMpSaSGhxVZJy7WkQqIbKZLl +RmWZ//POuHX+557zv/c5Z877fZ95zzszn9/ved4BEBDwYzAiCAAQSWcxXdZb0tw9PGmUdiADPwiA +NGj4BUQzLJydHdAlQI+iB8HfxlQnYPixXRe/19/f/79DkIk+EACjoSwRws3L8ezPzbZ4jmUxWCh7 +4zkg1C8QZQbKOkxXFyuUc1AWCuHmMjz7c3MtngODogNQfoRyRgCDie5D8EVZd2dACJ7TAYhi9MAw +OgBPIQDZPDIyCt2f/y26RgO34H5Npg6A1RUAquSPOa94gKxggMW7f8xp6qFzIkBBxo+5yQ0cH0zq +TnSwoQFnChOwRJ/Xy2ZPagBQMgDm0tjsmbNs9lwB+j7dAHdjA2KYOxeMMOwxwD+dc38nZ4hb+UWE ++TP9WEGBNGdmVHBYxPeqiYMV+EEEhIE/MFFiQRAEAg2c0VkUBKP5CAj6h3v8+8EKimPhR6soxi5m +WEgoi2aBOiSIZhUVyYhhBTF1aHb0gKU6NAN9fX38Om5NFgYRoWFAIlMFhMUkpGUVaCpqizW0tHWX +6i8zXL7CyMR0pdmq1WvWWlhaWdust7Wz/8nBaYPzRpdNrpu3uCF8Ty/vrT7bfP38AwKDgoNDQsO2 +h0dERNKjGDuY0dGsmJ2xcXG74v+TsHv3nsS9+/btP3AwKelQcsrPPx8+knr02LG09F+OZ2Rknsg6 +mZ196vSvOTm5v+Xlnck/W1BQWHTu3PkLxcUlpWVlFy9dvlx+5erVa9crKipvVFXdrK6uqb116/ad +O3fr6usbGpua7t1/8KD5YUvLo8dPnjz9vbW1rb2j41ln5/MXL192dXf3vOrtfd3X3//mj7cDA4Pv +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 +eKpyZP7tv9p/AU92jqQKZW5kc3RyZWFtCmVuZG9iago5IDAgb2JqCjI1MjkKZW5kb2JqCjggMCBv +YmoKWyAvSUNDQmFzZWQgMTAgMCBSIF0KZW5kb2JqCjQgMCBvYmoKPDwgL1R5cGUgL1BhZ2VzIC9D +b3VudCAxIC9LaWRzIFsgMyAwIFIgXSA+PgplbmRvYmoKMTEgMCBvYmoKPDwgL1R5cGUgL0NhdGFs +b2cgL1BhZ2VzIDQgMCBSID4+CmVuZG9iagoxMiAwIG9iago8PCAvUHJvZHVjZXIgKE1hYyBPUyBY +IDEwLjIuOCBRdWFydHogUERGQ29udGV4dCkgL0NyZWF0aW9uRGF0ZSAoRDoyMDAzMDkyODE2MDYx +NlowMCcwMCcpCi9Nb2REYXRlIChEOjIwMDMwOTI4MTYwNjE2WjAwJzAwJykgPj4KZW5kb2JqCjEz +IDAgb2JqClsgPDc3OTUwNzczNmM3MGJlNTY5NzU5YTNhNjgzN2RjYTU2PiA8Nzc5NTA3NzM2Yzcw +YmU1Njk3NTlhM2E2ODM3ZGNhNTY+Cl0KZW5kb2JqCnhyZWYKMCAxNAowMDAwMDAwMDAwIDY1NTM1 +IGYgCjAwMDAwMDAxNTAgMDAwMDAgbiAKMDAwMDAwMDAyMiAwMDAwMCBuIAowMDAwMDAwMTY4IDAw +MDAwIG4gCjAwMDAwMzM4MzIgMDAwMDAgbiAKMDAwMDAwMDI3NCAwMDAwMCBuIAowMDAwMDAwMzYz +IDAwMDAwIG4gCjAwMDAwMzExMjQgMDAwMDAgbiAKMDAwMDAzMzc5NiAwMDAwMCBuIAowMDAwMDMz +Nzc2IDAwMDAwIG4gCjAwMDAwMzExNDUgMDAwMDAgbiAKMDAwMDAzMzg5MSAwMDAwMCBuIAowMDAw +MDMzOTQxIDAwMDAwIG4gCjAwMDAwMzQwODQgMDAwMDAgbiAKdHJhaWxlcgo8PCAvU2l6ZSAxNCAv +Um9vdCAxMSAwIFIgL0luZm8gMTIgMCBSIC9JRCAxMyAwIFIgPj4Kc3RhcnR4cmVmCjM0MTc0CiUl +RU9GCg== + +--Apple-Mail-4-558933040 + +\start +Date: Sun, 28 Sep 2003 09:13:42 -0700 +From: Jaap Weel +To: David MENTRE +Subject: Re: [Axiom-developer] New design for Axiom web site + +--Apple-Mail-6-559076412 + +Here's yet another PDF + + +--Apple-Mail-6-559076412 +Content-Disposition: inline; + filename="Picture 1.pdf" +Content-Transfer-Encoding: base64 +Content-Type: application/pdf; x-mac-hide-extension=yes; + x-mac-creator=3F3F3F3F; x-unix-mode=0644; x-mac-type=50444620; + name="Picture 1.pdf" + +JVBERi0xLjMKJcTl8uXrp/Og0MTGCjIgMCBvYmoKPDwgL0xlbmd0aCAxIDAgUiAvRmlsdGVyIC9G +bGF0ZURlY29kZSA+PgpzdHJlYW0KeJwrVAhUKFTQD0gtSk4tKClNzFEoygQKWFiYKBgAoZGpEZhO +zlXQ98w1VHDJB6oPBACVwg38CmVuZHN0cmVhbQplbmRvYmoKMSAwIG9iago1NAplbmRvYmoKMyAw +IG9iago8PCAvVHlwZSAvUGFnZSAvUGFyZW50IDQgMCBSIC9SZXNvdXJjZXMgNSAwIFIgL0NvbnRl +bnRzIDIgMCBSIC9NZWRpYUJveApbIDAgMCA4ODQgMjUyIF0gPj4KZW5kb2JqCjUgMCBvYmoKPDwg +L1Byb2NTZXQgWyAvUERGIC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJIF0gL1hPYmplY3QgPDwgL0lt +MSA2IDAgUgo+PiA+PgplbmRvYmoKNiAwIG9iago8PCAvTGVuZ3RoIDcgMCBSIC9UeXBlIC9YT2Jq +ZWN0IC9TdWJ0eXBlIC9JbWFnZSAvV2lkdGggODg0IC9IZWlnaHQKMjUyIC9Db2xvclNwYWNlIDgg +MCBSIC9CaXRzUGVyQ29tcG9uZW50IDggL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCnic +7J0JvE3V+/9vZheZ55mQWZlSiiZURJklSVKGSBQNhkrIPGYImUrmKbPMyjxWJKREJJkyZTj/T+f5 +Wf/93dPZe5997rlXn/frvO7rnrXXftaz1rOGzx5PIEAIIYQQQggh5D/EL0FOnDgRbUfI7calS5ek +d507dy4uyz179qyUe+XKlbgslxBCCLmdmD59ej+XnD59+p9//okJ8uCDD0a7Bv9y7dq1bdu2jRw5 +slmzZuXLl69Wrdrzzz/frVu33bt3R9s1omfJkiXvvPOOTYYFCxZI7/roo4/izCsAr6Tcr7/+Oi7L +9cD69evffPPNp556qly5cvj70ksvofP//fff0faLEEIICTz66KMxLtm/f3+80paHDx8uWbKklbcN +GzaMtoPkf3j88cdTpkx54cIFqwzUljacO3fuhRdeuOOOO4xdPUOGDHF8ppcQQkzRTk3R9oVEgYSu +LVesWIElVfmWKFGiQoUKZc2aFf9IypAhQ6LrYRyzd+/ejh071q1bN9qOmHPo0CHRRePGjbPKQ21p +A46VxMnEiROXL1/+iSeeyJs3rzQpvka69Hjeuwgh8QGjbIi2RySuOXz48B4DSq3t2LHDuPXq1avx +RFsuXLgQK6x4ct999y1ZskSdt7l27dr69esbN258+vTpKHoYxyA00hoPPfRQtH0xp2vXriF7DrWl +FXPmzBEPs2fPvnPnTpV+8uTJHj16fPrppxEtPf73LkJIdLE/MRVt70iUyZo1q/QEKDTTDPFBW8K3 +woULixvVq1fnzWaBeL/6o9tkyZJFPLzjjjtwXGOajdrSitatW4uHkyZNivvS43nvIoREF3thSXlJ +EoS2HDVqlPhQrFgx+BMtN+IV8Xz1nzlzprgndyx0797dNJtnbTl27NgzZ854di/+a8v7779fPNy/ +f3/clx7PexchJFo4UZUUmcSttoQYaNGixd13340dq1WrNmLEiJs3b1oZ/+2337p27fr4449nzpw5 +X758TzzxRKdOnX799VdXHl68eDFbtmziw2effeZqX7B8+fI2bdpUqlQpXbp0ZcqUef7558eMGXPj +xg1dtuvXr9euXbtJkyaiXadOnVqnTh3UETVt0KDBsGHDZJcLFy4MHjz42WefzZ49e/78+WvWrLls +2TKdqSlTptQOsmfPnjVr1jzzzDPICVOPPfZYx44dkWh0sl+/frLLqVOnjFs//PBD2Xr+/HlJadu2 +ba1ataRNMmbMWFuD8aSu8yi88cYbsCC32J0+fXrgwIHInD59+oIFC7q9CIvKwrd7771XNBJawDRb +SG159OhRhK9ixYpp06bNkydP1apVJ02aBGewS+nSpU+ePOmtslptOW3aNMQ6R44cBQoUQN179+5t ++pjMli1bpIUhm/F15cqViEKRIkUyZcqE3nX58mXJtnv37vbt28NPOACblStXbt68+fbt2121XkBz +d/SKFStsssFb8erYsWOmGdavXy8ZvvzyS0m5cuUKhi0cg3sZMmQoX758hw4dvvnmGzWQXfUuAMvN +mjUrUaIEhli5cuUwxDAEjNOCjIvZs2fjf3iLQtE90HpVqlRBi+3du1c5jE3wCh2vQoUK6JN8aomQ +eIIHYUlt+d/EubbEAop53thtsHxfunTJuCPkGVYHY/7UqVMPGjTIqO6swNoqO+bMmdPVSUtkhpYz +fcwWyxlEi2k1R48ejb2Muzz99NPff/895I1xk+41O0q3PPLII8bSkydPPmDAAN3KW69ePdlqKvme +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 +8CAsqS0JIYQQQogp1JaEEEIIIcQvqC0JIYQQQoi/UFUSQgghhBAfobAkJIpcunRp3759W7duXbVq +1YIFCxYvXhxtjwghhBAfoKokvvPXX3999dVXAwYMGDZs2NKlS//+++/r168fOnQo2n7FL7777rta +tWolS5ZMRlyhQoWi7REhhBDiDxSWxEcGDx6cLl262NjYRo0affDBB1WqVLnzzjsrVKhQvHjxaLsW +H5kwYQK1JSGEkNsVqkoSJkopzZw5UyV269YNKUWKFImiY/GW7du3U1sSQgghhJgCgQSZlChRorNn +z6rEmzdvVqpUqWDBglF0LN5CbUkIIYSQ25g9e/ZMmDBhwIABY8eO3bZtm6t9r1+/njRpUlFK77// +PiSl2rR8+fK8efNqM1+8eHHjxo3jxo0bM2bM2rVrz507pzb98ccfBw4cQOmrV6/evHkzUv7++++f +f/559+7d69evX7x48dWrV5F4/vz5w4cP79q1a926dcuWLZOU+fPn7927V1sQMsMUKvXFF18cPXpU +5zMsw+bIkSOnTp26detWrc9W2Bu0qZfi1KlTX331FQpdsGABnLfSlj/99NOMGTOGDx++ZMmSkydP +hnSMEEIIIST+sH///rJly0Lk9OrVa/LkyRkzZsT/1apVu3z5snMjVapUUXftlilTBoINek82LV26 +VGWDKsuRI0eqVKn69u07dOjQ9OnTZ8iQ4ZNPPhFp17p16+TJk4uRRx55BCkzZ84sVaqUsvzrr78i +EfotU6ZMkoL8K1asSJs2rXwdP368FLRq1aq77roLihdquXv37thUtGhRyFTZOn36dFjImjUrZF7l +ypWxFf6LcSvsDdrXS4DbqVOnxo716tV74403kMeoLaGusRWJjRo1GjRoUKJEiWATTjoPBCGEEEJI +dKlVq5aInCVLluBrp06d5Ct0pnMjn376qe65sBQpUtStW/fHH39UeWbMmCGbPvroI0kZNWqUpAwb +NkxSBg4cqNWWgeD5QHVSVMm/zZs3S8odd9zxwgsv9OjRQ77WqVMHW1evXo10fO3SpQu+jh07Vra2 +bdsWX2fPni1fRfR+++238vWxxx6zqp29QSf1gviUlMaNG0uK8Vmea9eu3XPPPUi57777JKV69epS +x/Xr1zuPBSGEEEJIFBkyZEjKlCnTp0+/b98+fO3Tp49ontdff92VnenTp8t5OS2xsbFjxozB1n/+ ++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 +cmVhbQplbmRvYmoKNyAwIG9iagoyNjg0MwplbmRvYmoKMTAgMCBvYmoKPDwgL0xlbmd0aCA5IDAg +UiAvTiAzIC9BbHRlcm5hdGUgL0RldmljZVJHQiAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJl +YW0KeJyN1gk0lOsfB/DfOzNmjH2XfWxljShLSiHCRZKyJvsSxjRG5K+0iVuKG0ldroTKUmkhocVW +Scu1pEKiGymS5UZlmf/zzrh1/uee87/3OWfO+32fec87M5/f73neARAQ8GMwIggAEElnMV3WW9Lc +PTxplHYgAz8IgDRo+AVEMyycnR3QJUCPogfB38ZUJ2D4sV0Xv9ff3/+/Q5CJPhAAo6EsEcLNy/Hs +z822eI5lMVgoe+M5INQvEGUGyjpMVxcrlHNQFgrh5jI8+3NzLZ4Dg6IDUH6EckYAg4nuQ/BFWXdn +QAie0wGIYvTAMDoATyEA2TwyMgrdn/8tukYDt+B+TaYOgNUVAKrkjzmveICsYIDFu3/MaeqhcyJA +QcaPuckNHB9M6k50sKEBZwoTsESf18tmT2oAUDIA5tLY7JmzbPZcAfo+3QB3YwNimDsXjDDsMcA/ +nXN/J2eIW/lFhPkz/VhBgTRnZlRwWMT3qomDFfhBBISBPzBRYkEQBAINnNFZFASj+QgI+od7/PvB +Copj4UerKMYuZlhIKItmgTokiGYVFcmIYQUxdWh29IClOjQDfX19/DpuTRYGEaFhQCJTBYTFJKRl +FWgqaos1tLR1l+ovM1y+wsjEdKXZqtVr1lpYWlnbrLe1s//JwWmD80aXTa6bt7ghfE8v760+23z9 +/AMCg4KDQ0LDtodHRETSoxg7mNHRrJidsXFxu+L/k7B7957Evfv27T9wMCnpUHLKzz8fPpJ69Nix +tPRfjmdkZJ7IOpmdfer0rzk5ub/l5Z3JP1tQUFh07tz5C8XFJaVlZRcvXb5cfuXq1WvXKyoqb1RV +3ayurqm9dev2nTt36+rrGxqbmu7df/Cg+WFLy6PHT548/b21ta29o+NZZ+fzFy9fdnV397zq7X3d +19//5o+3AwOD74befxgeHvk4+mlsfGLyz6kv32bZQOChcAFk5BU5ApraOkv1uATGJqaIwJxjsM6a +a+DIQfiu4OW9oMBhCOEwhHMYcAfWD4cE5IAg9h9AEIdwiMM/II7jEEjiFC6RiyTO/HuJu0iiobER +Qdz/C+Ipgmhrb19w4DK87uvjKHAQEMHY+OTnafz3YwQSLiAkKi4pLSOnoERTUVVTX6KhqaWto4s7 +GPzoBQTBlcDb4bsFtyO4GJyW4PQE0ljgQG0RyWmLvzxikQcXBHXGXyLJ/yOCeiMT7w1EcnqBBG+O +s4ikCJFcQCSliOTS5XJkgkgqb9xAIjW1tThIHQ6CN0bzw4ccDlwDYeAWuET/m7cD794Pj45NTs+w +0Z7L2ZvwQTYHOIH2YY/PAI7bAQ6hvUfjOoCKDICzIICrKRAMDb+/8PVD4O4P6EgCCvCBIIiCJMiC +EqiDNhiAKawFW7T43dFWsB2iYTckw3HIhQtwHergCfTAMMxg/JgitgyzxrwwFnYUK8buYYMECkGL +sJGwi1BIaCUC0YAYQswldpLESBtI6aQ2HmmerTxFPKNkY/J+8lOKAiWScptXnDect4mqRk2iDvLZ +8pXyC/Iz+V8KrBOoENQSLBRSESoQ1hSuELETGRBNEVsq1ibOlBCSuCBpKflaKlFaXbpj0VEZJ1lx +2edyOfIBCnqKoNihVESLVl6rIq4yqtqqdlO9cHH6kn0aMZoRWoHaPjreur5Lt+vt0k9dlm9Qbfhs ++YSRuLGRiZfp/pUlZq2rpszl1litZVjkWT5dB9YrbOjri20H7FV/CnK45Di/wdW53EV8U6Lr2BZ/ +t1YPc89L3upbi7bp+tb4OwT0B8WFiIeWb3cOn4jMjrJgjDBPs36KYcdW7GL8Ry9hek/L3uL9Rw6G +H3JIMThMSxU9Opf2xy9NGedPpJ6MPrX1V7tc0zztfKUC6SLR80LFgqUiFyUvK1zRuWZVEXoj++aj +mvnbendD6s81Dt1Xb/ZoSXlc+fRNG7VDo9PyhXtXWA+zN6ov8I3nW8/BwCH6h6gR/1HbMeXx95On +Pi+eSp5u/DL0tf9b60zh7M65ZXMj83nsDWw2p/4E4AFeTu2lQR5UQBP0wBjMwQacwA18UeVZsAd+ +hhOQDxehBh7AcxiEaYyCyWK6mAXmhtGxZCwfu4X1YLMEJYI1IYKQRWggTBLViR7EdOJDEplkQ0oh +PeaR4PFGdf9ENiMfIb+iLKekUT7yOvFepgpT6dTHfDp8R/nG+T34mwSMBS4KagieF9IVqhbeIDws +clhUQ7ROzF3so3iShIrEfckYKW2pt9K/LXKXkZB5Jpsrt13eRIGq8EqxSimbtls5UMVBdYWagjqP ++sTigSW9Gt2aPVp92u90xnXn9AT0FZcZGjga0pdnrWgwGjNRMLVbGWtWtmrIXHNN+NpSi/dWS9aF +WpfajNma2B2wb3VQdox2anZW3pjg8srVenOFm5b7GU9xr4PeX31Y2774JQVIB5YFW4f0hyWGK0c0 +0SMYUjsaopkxaju74o7HOyTw7X6YeGzfpgPyB4cO3Ug5cjgs1eWYTfrq4/qZ8lmkk8OnWn+9lpue +F5ZvXaBZJHWeemGm5H1Z26Xq8sKr6dd3V0ZW+VZvqXW67Xh3c31I4557aQ8yHx57dOBJ/O8721gd +OzrpL+hdO3qien36Vr7h+aN+gPVObqjig+Vww0fT0aIx3nHvibOTXZ+xKdFpmS+kLyNfa7+lztjO +Emcr5/znheYr2B6c+hOBiiovC6qgA0ZovduDK/igBz0L9kIqZEMRXIN6aIV+mMBImDSmg1liHhgT +rfQSrBn7QBAmGBH8COmEOsJnojbRn5hDfE6SInmQzpImeRx4SshUcii5gSJPiaY08yrxxvK2UvWp +mdR5PgbfB/5I/imB/YJCgllCCkKFwvrC9SLeIrOiZ8QsxfrEEyQWSVRJbpMSkWqWTl5kK8Mv0y57 +Ro4pb6egojCn+ELpGi1NOUrFTdVWbb269+KkJTc13mnxaqvqmOluXBqEVnbasjKD3w1nVugY+Rqf +NGlbKWzmvCpjddcatbXRFi1Whuuu2Fitf2bnan/HQcEx1umZs9nGc5tEXXdt7nezd6/xXO51dau+ +T6mvul9+gHrglWCbhRrfozMYqjv6oy/ERMeujJuNr0mI32OWyN7XdCAtyStZK2X2cGtq2bH09L3H +4zPjshjZvqfX5cjmducl5SucLS+0Lfp0vqQ4rtTlouFlifKJqy3XCyoTq7ZVm9dK3Oq9c6rOvn6q +sfCe9wO1ZnbL4OPWpzdaf2n3fibRWf3C+WV399aert5Nrx/0r35z5a3qQObg3JDH++IPIyOKHy1H +fT6Fj+0Yp0/4TNr+qfrn1893pvZMG0+//pL8VfVr5Te7bx0zW2ZeznrNts/Zz9XNm8yXsOXYR/H6 +c//Pcp4fIgA5mniqcmT+7b/afwFPdo6kCmVuZHN0cmVhbQplbmRvYmoKOSAwIG9iagoyNTI5CmVu +ZG9iago4IDAgb2JqClsgL0lDQ0Jhc2VkIDEwIDAgUiBdCmVuZG9iago0IDAgb2JqCjw8IC9UeXBl +IC9QYWdlcyAvQ291bnQgMSAvS2lkcyBbIDMgMCBSIF0gPj4KZW5kb2JqCjExIDAgb2JqCjw8IC9U +eXBlIC9DYXRhbG9nIC9QYWdlcyA0IDAgUiA+PgplbmRvYmoKMTIgMCBvYmoKPDwgL1Byb2R1Y2Vy +IChNYWMgT1MgWCAxMC4yLjggUXVhcnR6IFBERkNvbnRleHQpIC9DcmVhdGlvbkRhdGUgKEQ6MjAw +MzA5MjgxNjEzMTVaMDAnMDAnKQovTW9kRGF0ZSAoRDoyMDAzMDkyODE2MTMxNVowMCcwMCcpID4+ +CmVuZG9iagoxMyAwIG9iagpbIDxkNGExOTNlODQ3M2ZmZTllNzViZWJjY2NlMzRhMTQ1Nz4gPGQ0 +YTE5M2U4NDczZmZlOWU3NWJlYmNjY2UzNGExNDU3PgpdCmVuZG9iagp4cmVmCjAgMTQKMDAwMDAw +MDAwMCA2NTUzNSBmIAowMDAwMDAwMTUwIDAwMDAwIG4gCjAwMDAwMDAwMjIgMDAwMDAgbiAKMDAw +MDAwMDE2OCAwMDAwMCBuIAowMDAwMDMwMDgwIDAwMDAwIG4gCjAwMDAwMDAyNzQgMDAwMDAgbiAK +MDAwMDAwMDM2MyAwMDAwMCBuIAowMDAwMDI3MzcyIDAwMDAwIG4gCjAwMDAwMzAwNDQgMDAwMDAg +biAKMDAwMDAzMDAyNCAwMDAwMCBuIAowMDAwMDI3MzkzIDAwMDAwIG4gCjAwMDAwMzAxMzkgMDAw +MDAgbiAKMDAwMDAzMDE4OSAwMDAwMCBuIAowMDAwMDMwMzMyIDAwMDAwIG4gCnRyYWlsZXIKPDwg +L1NpemUgMTQgL1Jvb3QgMTEgMCBSIC9JbmZvIDEyIDAgUiAvSUQgMTMgMCBSID4+CnN0YXJ0eHJl +ZgozMDQyMgolJUVPRgo= + +--Apple-Mail-6-559076412-- + +\start +Date: Sun, 28 Sep 2003 16:54:30 -0400 +From: "Bill Page" +To: +Subject: [Axiom-developer] )show command blocks the interaction between TeXmacs and Axiom (was: Handling of autoload messages in TeXmacs) + +------=_NextPart_000_0001_01C385E1.31D31A00 +Content-Type: text/plain; + charset="iso-8859-1" +Content-Transfer-Encoding: quoted-printable + +David, + +I do not have any problem with the )show Integer command +with my version of TeXmacs (most recent stable version +1.0.2) under RedHat 9.0. See attached PDF file. + +The PDF file shows the problem with TeXmacs incorrect +interpretation of + + \root{3} \of {x} + +Although this notation might be somewhat deprecated, +vis. + + \sqrt[3]{x} + +I think it is acceptible to most current LaTex +implementations, so in my opinion this is best seen +as a limitation of TeXmacs. + +If we do invent a new interface option such as Tim +suggested + + )set interface texmacs + +then maybe rather than using the existing Tex +generation in Axiom, we should go to TeXmacs' +"scheme" notation which in some respects is more +general that LaTeX. Maybe this is too ambitious? + +Also, you can see the error message generated by +AXIOM when it starts up + + "AXIOM Sockets The AXIOM server number is undefined" + +I think we should try to get rid of this. Also, I think +we should review the text that Axiom outputs at startup: + +------------------------------------------------------- +Issue )copyright to view copyright notices. +Issue )summary for a summary of useful system commands. +Issue )quit to leave AXIOM and return to shell. +Sunday August 31,2003 at 7:30:21 +------------------------------------------------------- + +This is not very relevant to users who access Axiom +from TeXmacs and boring to the experienced Axiom users +Maybe it would be better just to display a standard +banner with version information. + + +> -----Original Message----- +> From: David Mentr=E9 [mailto:david.mentre@wanadoo.fr] +> Sent: Sunday, September 28, 2003 4:04 AM +> To: Bill Page +> Cc: daly@idsi.net; axiom-developer@nongnu.org +> Subject: Re: Handling of autoload messages in TeXmacs +> +> +> "Bill Page" writes: +> +> > texmacs interface. I have attached a full patch file +> > from diff -Naur which includes both your and my changes +> > to the tm_axiom.c file. This sets the default for the autoload +> > messages to off just as it was for the older "commercial" +> version of +> > Axiom. It also fixes the -Wall warnings. +> +> Ok, thanks. I'll forward this version to texmacs people. +> +> Unfortunatly, there is another bug: Fr=E9d=E9ric Lehobey and +> myself noticed yesterday that the )show command blocks the +> interaction between TeXmacs and Axiom. Try for example ')show +> Integer' under TeXmacs. +> +> +> > I don't see any problem (in principle) with sending +> > Loading ... messages to stderr. +> +> As I previously answered to Dylan, you are both right. So we +> need to have a look at Axiom output to redirect error +> messages to stderr. + +------=_NextPart_000_0001_01C385E1.31D31A00 +Content-Type: application/pdf; + name="tm_axiom_test_1.pdf" +Content-Transfer-Encoding: base64 +Content-Disposition: attachment; + filename="tm_axiom_test_1.pdf" + +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 +C8sMdKv8CdM/uORSBJNc/WOPZOVvo4huY7mx3PSWnRzCfUHRSCmPE/S0nV+Ot13OqLVkCh5nda0c +8R3dskvtvmPKgSEmfzmANwyD01tJzWALSq682uO7fI+ju7ZBINI6ASNtG+UlvOfz9yw9cA3THU5a +L25V8th/d+SVsbdcQ4f/mXSOMhEywNVBeabpVwhpLxwXTwuI3SFDAjRUxXMqs83bhio+BqhopGQR +efXDdtOe7NE8bw83+Aj/+PqmtxZ0/ew5RGyIF/kGSYQEH5tF23fv0JP5vQVWc+7eHpNHCJZIP0sH +6BHT1o3qB5CWhHVHNyoMC4wf6RhlBsORpHXy8wnRVNpk+jqkPZKcpecSTdjsM8CyS9G2HphiWFSc +y0WsC8Rn/SnxC9G9koeqg61zHQxwJfjg+GyxcawDzlueywa3yryO9/pliq+S53TwerZM8Aw29MDu +7q+pyscAGxfkGdDy+6U8m8uzAVB/wasxyCOB7sKpjAGG64HpOVYZ9PJ5NXg86kw78GAXMfzGhLlG +vnEhMwPj/4VsRyFjv3FRFLL9WEKtExdIAodxqQO4IUblbcIF/jb4L1W1m8llbmRzdHJlYW0KZW5k +b2JqCjc2IDAgb2JqCjIzMjcKZW5kb2JqCjQgMCBvYmoKPDwvVHlwZS9QYWdlL01lZGlhQm94IFsw +IDAgNjEyIDc5Ml0KL1JvdGF0ZSAwL1BhcmVudCAzIDAgUgovUmVzb3VyY2VzPDwvUHJvY1NldFsv +UERGIC9UZXh0XQovRm9udCA3MyAwIFIKPj4KL0NvbnRlbnRzIDUgMCBSCj4+CmVuZG9iago3NCAw +IG9iago8PC9UeXBlL1BhZ2UvTWVkaWFCb3ggWzAgMCA2MTIgNzkyXQovUm90YXRlIDAvUGFyZW50 +IDMgMCBSCi9SZXNvdXJjZXM8PC9Qcm9jU2V0Wy9QREYgL1RleHRdCi9Gb250IDEwMyAwIFIKPj4K +L0NvbnRlbnRzIDc1IDAgUgo+PgplbmRvYmoKMyAwIG9iago8PCAvVHlwZSAvUGFnZXMgL0tpZHMg +Wwo0IDAgUgo3NCAwIFIKXSAvQ291bnQgMgo+PgplbmRvYmoKMSAwIG9iago8PC9UeXBlIC9DYXRh +bG9nIC9QYWdlcyAzIDAgUgo+PgplbmRvYmoKNzMgMCBvYmoKPDwvUjcxCjcxIDAgUi9SNDkKNDkg +MCBSL1I3CjcgMCBSPj4KZW5kb2JqCjEwMyAwIG9iago8PC9SODgKODggMCBSL1I4Ngo4NiAwIFIv +UjcxCjcxIDAgUi9SNDkKNDkgMCBSL1I3CjcgMCBSPj4KZW5kb2JqCjcwIDAgb2JqCjw8L0ZpbHRl +ci9GbGF0ZURlY29kZS9MZW5ndGggMTc0Pj5zdHJlYW0KeJwzMVEwUDBXMDJVMDZSMDVQSDHkKuQC +83OBFFAghwsiAaaBwjlcGVzhCnlchSCOARACKXM9QwUjEz1LheRcLidPLn1PX4WSotJULv1woCyX +vgeYdApwVjDk0neJNuQyiOXSd9N3dnYDcgNsbPS9FXSBMs75OaW5ecVAxXZ2XJ4uCmo7NzhskfCz +/v/PN2z/////XwLx/3v7/y+/t4CJQYHL1VMhkCuQCwD+XjU6CmVuZHN0cmVhbQplbmRvYmoKNjcg +MCBvYmoKPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAxNzM+PnN0cmVhbQp4nDMxUTBQMFTQ +NVIwtlAwsVRIMeQq5ALzc4EUUCCHCyIBpoHCOVwZXOEKeVyFCsbmQK0GCqaGCoZ6IB1AIjmXy8mT +S9/TV6GkqDSVSz8cqIhL3wOohkvfKcBZAUi5RBtyGcRy6bvpOzu7AbkBNjb63gq6QBnn/JzS3Lxi +oBY7Oy5PFwW1FcuZWP/MWjrp/X9U8ElK/zKYbnWfHLKAiUGBy9VTIZArkAsAQ7k/fgplbmRzdHJl +YW0KZW5kb2JqCjY0IDAgb2JqCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMTk5Pj5zdHJl +YW0KeJwzMVEwAEJdIwVjCwUTS4UUQ65CLjA/F0gBBXK4IBJgGiicw5XBFa6Qx1UI0gDSamqoYKBn +CJQCEsm5XE6eXPqevgolRaWpXPrhQEVc+h5ANVz6TgHOCkDKJdqQyyCWS99N39nZDcgNsLHR91bQ +Bco45+eU5uYVA7XY2XF5uiiorWhhF3h4Z9byyY/E5kl/+/t3f/7/+v1A+P//7f8QcOn///j1f+v2 +1urHe1/6MC1AJNRpcogIgwMLl6unQiBXIBcAzHNGdgplbmRzdHJlYW0KZW5kb2JqCjYxIDAgb2Jq +Cjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMjA0Pj5zdHJlYW0KeJwzMVEwUDBWMFIwNlMw +MVFIMeQq5AJxc4EkkJ/DBREH00ZAKoMrXCGPq1DB2Bioz0DBBKhRz1DBUM9SITmXy8mTS9/TV6Gk +qDSVSz8cqIZL3wOohEvfKcBZwZBL3yXakMsglkvfTd/Z2Q3IDbCx0fdW0AXKOOfnlObmFQO12Nlx +ebooqC24ICZQ2rpGYcO0pkNR3By6OgpbNoBYnBkarbEn18kdPlzNz/uwfXub3D0JIOuNjXmb7MP3 +PBoMDRxcrp4KgVyBXAAKYzkoCmVuZHN0cmVhbQplbmRvYmoKNTggMCBvYmoKPDwvRmlsdGVyL0Zs +YXRlRGVjb2RlL0xlbmd0aCAyMDY+PnN0cmVhbQp4nDMxUTBQMFYwUjA2UzAxUUgx5CrkAnFzgSSQ +n8MFEQfTRkAqgytcIY+rUMHYGKjPQMEEqFHPUMFQz1IhOZfLyZNL39NXoaSoNJVLPxyohkvfA6iE +S98pwFnBkEvfJdqQyyCWS99N39nZDcgNsLHR91bQBco45+eU5uYVA7XY2XF5uiio7ZSRYrFuL8pu +3/Dh3uHDFYlvH7Zvb5M7fLian/dhe32EY6Iua8sWMYGoCMfMRBBL6EIg18KQWQ8dWBgcuFw9FQK5 +ArkAplI6uQplbmRzdHJlYW0KZW5kb2JqCjU1IDAgb2JqCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9M +ZW5ndGggMjA3Pj5zdHJlYW0KeJwzMVEwUDBW0DVSMDZTMLFUSDHkKuQC83OBFFAghwsiAaaBwjlc +GVzhCnlchQrGxkCtBgqmhgrGeoZAKSCRnMvl5Mml7+mrUFJUmsqlHw5UxKXvAVTDpe8U4KwApFyi +DbkMYrn03fSdnd2A3AAbG31vBV2gjHN+TmluXjFQi50dl6eLgtpCjkSVlkT2BV+++Al+cPjouO3/ +lVlLpl16JHQoKorb2zEzs3R91Nf///9v7f//k71H4b///+wPhxo4GBq4XD0VArkCuQAyjkE2CmVu +ZHN0cmVhbQplbmRvYmoKNTIgMCBvYmoKPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAyMDU+ +PnN0cmVhbQp4nDMxUTAAQl0jBWNLBWMThRRDrkIuMD8XSAEFcrggEmAaKJzDlcEVrpDHVQjSANJq +bKZgoGcIlAISyblcTp5c+p6+CiVFpalc+uFARVz6HkA1XPpOAc4Khlz6LtGGXAaxXPpu+s7ObkBu +gI2NvreCLlDGOT+nNDevGKjFzo7L00VBbeeFxszl/3/7psSxVcRNuxVdum0fiNz4tnTrvnl7Xzyq +Cl/95d7kqnuTv9yb+upe2IK+1dmyk0PXzWNQYOJy9VQI5ArkAgBULkSpCmVuZHN0cmVhbQplbmRv +YmoKNDggMCBvYmoKPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAyMTM+PnN0cmVhbQp4nDMx +UTBQ0DVU0DVSMLZQMLFUSDHkKuSCCOSCaKBQDhdECkwDxXO4MrjCFfK4ChWMLYG6DRRMgcoN9CyB +cnqGCsm5XE6eXPqevgolRaWpXPrhQFVc+h5ARVz6TgHOCkDKJdqQyyCWS99N39nZDcgNsLHR9wa6 +gkvfOT+nNDevGKjFzo7L00VBbcUCo6N/Zq1zv/8fCJ4sf9D8ofnR7yfGNQL5C+77fv1da/+/FiTz +P/b6v+nZt+L2Lj3MWRhbfLIiMZeNi0GBicvVUyGQK5ALAOfqScsKZW5kc3RyZWFtCmVuZG9iago0 +NSAwIG9iago8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDIwMz4+c3RyZWFtCnicMzFRMFAw +NFLQNTRQMDZRMDVTSDHkKuSCiuSCGECxHC6IHJgGSeRwZXCFK+RxFSoYGQENMFAwMwOaomcIkgSS +yblcTp5c+p6+CiVFpalc+uFAZVz6HkBVXPpOAc4Khlz6LtGGXAaxXPpu+s7ObkBugI2NvjdQO5e+ +c35OaW5eMVCLnR2Xp4uC2gKnQ6VrdXVZl4LAtb3Z16a/vv76+p/S////nlz1//v+7/vfft9f/X07 +CGz49u19RRaDAhOXq6dCIFcgFwBiMUdECmVuZHN0cmVhbQplbmRvYmoKNDIgMCBvYmoKPDwvRmls +dGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAyMjA+PnN0cmVhbQp4nDMxUTBQMFLQNVYwNlcwNVBIMeQq +5ALzc4EUUCCHCyIBpoHCOVwZXOEKeVyFCsamQK0GCqbGCkZ6hkApIJGcy+XkyaXv6atQUlSayqUf +DlTEpe8BVMOl7xTgrGDIpe8SbchlEMul76bv7OwG5AbY2Oh7K+gCZZzzc0pz84qBWuzsuDxdFNQW +PD/4kL1Fbt68nrMvFO5NrrWbXP/S/N/k+i+/7v//8vH+/////640jfr//9ul/3+37L/tvfXe7tgt +2yS8k7Zt23DoMBeDAhOXq6dCIFcgFwAEDUyWCmVuZHN0cmVhbQplbmRvYmoKMzkgMCBvYmoKPDwv +RmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAxODA+PnN0cmVhbQp4nDMxUTBQMFfQNVIwNlUwNVBI +MeQq5ALzc4EUUCCHCyIBpoHCOVwZXOEKeVyFCkYWQK0GCqZGCuZ6hkApIJGcy+XkyaXv6atQUlSa +yqUfDlTEpe8BVMOl7xTgrGDIpe8SbchlEMul76bv7OwG5AbY2Oh7K+gCZZzzc0pz84qBWuzsuDxd +FNQWtDFf/lsfW3qde2pIUek63wB9+f+o4FPn0SdXNRgaOLhcPRUCuQK5ACwXPjIKZW5kc3RyZWFt +CmVuZG9iagozNiAwIG9iago8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDIwNz4+c3RyZWFt +CnicMzFRMABCXSMFY0sFE0uFFEOuQi4wPxdIAQVyuCASYBoonMOVwRWukMdVCNIA0mpqqGCgZwiU +AhLJuVxOnlz6nr4KJUWlqVz64UBFXPoeQDVc+k4BzgpAyiXakMsglkvfTd/Z2Q3IDbCx0fdW0AXK +OOfnlObmFQO12NlxebooqK2YIxGY+W3J1Wz2pufCbtf/A0Gu/v///67///saQv6O//99/X8I+eN/ +9v//3/Znf/wPBX8EDBweXf4za8kVBgcWLldPhUCuQC4AanhalAplbmRzdHJlYW0KZW5kb2JqCjMz +IDAgb2JqCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMjA2Pj5zdHJlYW0KeJwzMVEwAEJd +IwVjSwVTA4UUQ65CLjA/F0gBBXK4IBJgGiicw5XBFa6Qx1UI0gDSamqkYKBnCJQCEsm5XE6eXPqe +vgolRaWpXPrhQEVc+h5ANVz6TgHOCoZc+i7RhlwGsVz6bvrOzm5AboCNjb63gi5Qxjk/pzQ3rxio +xc6Oy9NFQW3Bzg9x8/+//G+x//Xf/5f/r/3/f9/U////vzSH4P9L7sv/m//5wPz/l/L//7/2q2Yt +x6yyjTdNo14+YGJQ4HL1VAjkCuQCAGaxTfAKZW5kc3RyZWFtCmVuZG9iagozMCAwIG9iago8PC9G +aWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDE2OT4+c3RyZWFtCnicMzFRMFAwVtA1UjA2VzCxVEgx +5CrkAvNzgRRQIIcLIgGmgcI5XBlc4Qp5XIUKxiCtBgqmhgrGeoZAKSCRnMvl5Mml7+mrUFJUmsql +Hw5UxKXvAVTDpe8U4KwApFyiDbkMYrn03fSdnd2A3AAbG31vBV2gjHN+TmluXjFQi50dl6eLgtqK +5TzcP01jmr//xwT/Au7E+QY1cDA0cLl6KgRyBXIBAGrRPYwKZW5kc3RyZWFtCmVuZG9iagoyNyAw +IG9iago8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDIwMz4+c3RyZWFtCnicMzFRMFDQNVbQ +NVIwMVIwNlFIMeQq5III5IJooFAOF0QKTAPFc7gyuMIV8rgKFUxMgboNFIzNgMJ6liDCUCE5l8vJ +k0vf01ehpKg0lUs/HKiKS98DqIhL3ynAWcGQS98l2pDLIJZL303f2dkNyA2wsdH3VtAFyjjn55Tm +5hUDtdjZcXm6KKitOHOeo0LtEI/CY19LU2fuo0/ORXGfW/Ur89f6Vf///1r/HwNoGHRJOr3aWJ5y +VWt9eQMHQwOXq6dCIFcgFwBLokzxCmVuZHN0cmVhbQplbmRvYmoKMjQgMCBvYmoKPDwvRmlsdGVy +L0ZsYXRlRGVjb2RlL0xlbmd0aCAyMDg+PnN0cmVhbQp4nDMxUTBQ0DVU0DVSMDFQMDZRSDHkKuSC +COSCaKBQDhdECkwDxXO4MrjCFfK4ChVMDIG6gXJmCroGepZAOT1DheRcLidPLn1PX4WSotJULv1w +oCoufQ+gIi59pwBnBSDHJdqQyyCWS99N39nZDcgNsLHR9wa6gkvfOT+nNDevGKjFzo7L00VBbcUr +pbfJm7K2Xn7yoe3MfyDI1f//yeav/f9878v//+XW/7/299/u5fH/rwGl7s3b8fj/8v9Vt7IYFJi4 +XD0VArkCuQA8E0rYCmVuZHN0cmVhbQplbmRvYmoKMjEgMCBvYmoKPDwvRmlsdGVyL0ZsYXRlRGVj +b2RlL0xlbmd0aCAxOTg+PnN0cmVhbQp4nDMxUTBQ0DVU0DVSMDFQMLFUSDHkKuSCCOSCaKBQDhdE +CkwDxXO4MrjCFfK4ChVMDIG6DRRMgcoN9CyBcnqGCsm5XE6eXPqevgolRaWpXPrhQFVc+h5ARVz6 +TgHOCkDKJdqQyyCWS99N39nZDcgNsLHR9wa6gkvfOT+nNDevGKjFzo7L00VBbcUCY9c/s9a53/8P +BE+WP2T+MH/58RMpP/yvfvlbW//1PzL4F1RU6rr8p6nnCoYGDi5XT4VArkAuAFeQSxoKZW5kc3Ry +ZWFtCmVuZG9iagoxOCAwIG9iago8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDE4NT4+c3Ry +ZWFtCnicMzFRMABCXSMFYwsFYxOFFEOuQi4wPxdIAQVyuCASYBoonMOVwRWukMdVCNIA0mpspmCg +ZwiUAhLJuVxOnlz6nr4KJUWlqVz64UBFXPoeQDVc+k4BzgqGXPou0YZcBrFc+m76zs5uQG6AjY2+ +t4IuUMY5P6c0N68YqMXOjsvTRUFtxQuRs90scsKHUq6GORWp1zhW+JZcd77+9fr/+P9g8NPl0T/f +oAYOhgYuV0+FQK5ALgCwuTopCmVuZHN0cmVhbQplbmRvYmoKMTUgMCBvYmoKPDwvRmlsdGVyL0Zs +YXRlRGVjb2RlL0xlbmd0aCAyMDY+PnN0cmVhbQp4nDMxUTBQMFLQNVIwNlcwNlFIMeQq5ALzc4EU +UCCHCyIBpoHCOVwZXOEKeVyFCsamQK0GCsZmCkZ6hkApIJGcy+XkyaXv6atQUlSayqUfDlTEpe8B +VMOl7xTgrGDIpe8SbchlEMul76bv7OwG5AbY2Oh7K+gCZZzzc0pz84qBWuzsuDxdFNQWtDVMaD7E +z2FrK8X7QuHe5BqFX/f9l9z/f9T8//+taqvjv+2+nr1teva2aYc5c8KuSUQkJrYyCDByuXoqBHIF +cgEAN4M87QplbmRzdHJlYW0KZW5kb2JqCjEyIDAgb2JqCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9M +ZW5ndGggMjA4Pj5zdHJlYW0KeJwzMVEwUDBS0DVSMDZXMDZRSDHkKuQC83OBFFAghwsiAaaBwjlc +GVzhCnlchQrGpkCtBgrGZgpGeoZAKSCRnMvl5Mml7+mrUFJUmsqlHw5UxKXvAVTDpe8U4KxgyKXv +Em3IZRDLpe+m7+zsBuQG2NjoeyvoAmWc83NKc/OKgVrs7Lg8XRTUFjxrfND4kL3lyxc/8wXNVRzm +15fc919/9bto/8oHZ4uy9t97In0/8/Yb021CDw497Lp1mJtHR0KDoYGDy9VTIZArkAsAQYVAbQpl +bmRzdHJlYW0KZW5kb2JqCjkgMCBvYmoKPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAxNjQ+ +PnN0cmVhbQp4nDMxUTBQMFXQNVIwNlUwsVRIMeQq5ALzc7nAAjlcxggaKJzDlcEVrpDHVahgbKAA +gqaGCqZ6hkApIJGcy+XkyaXv6atQUlSayqUfDlTEpe8BVMOl7xTgrACkXKINuQxiufTd9J2d3YDc +ABsbfW8FXaCMc35OaW5eMVCLnR2Xp4uC2krXJ1d12t//xwR/FgtWmnoxKDBxuXoqBHIFcgEA0ik7 +/AplbmRzdHJlYW0KZW5kb2JqCjEwMSAwIG9iago8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3Ro +IDIxOT4+c3RyZWFtCnicMzFSMFAwUtA1UjA2VTA1Vkgx5CrkAvNzgRRQIIcLIgGmgcI5XBlc4Qp5 +XIUKxsZArQYKpqYKRnqGQCkgkZzL5eTJpe/pq1BSVJrKpR8OVMSl7wFUw6XvFOCsYMil7xJtyGUQ +y6Xvpu/s7AbkBtjY6Hsr6AJlnPNzSnPzioFa7Oy4PF0U1Bb6MioyH+J3Z5NrZPsikO/1ZfbVX/v4 +O/Jv/1dbWd8mLvW36q/e1tfe3mt1dXX1tohNA4IJUbH6nplVcdOX7JLbFfiHwYGFy9VTIZArkAsA +SrdAPgplbmRzdHJlYW0KZW5kb2JqCjk4IDAgb2JqCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5n +dGggMTg5Pj5zdHJlYW0KeJwzNlIwUDBS0DUyUjAyVDAzUEgx5CrkggjkAmmgSA4XRAZMg8RzuDK4 +whXyuAoVDC2Bug0ULICa9cByQDI5l8vJk0vf01ehpKg0lUs/HKiKS98DqIhL3ynAWcGQS98l2pDL +IJZL303f2dkNyA2wsdH3VtAFyjjn55Tm5hUDtdjZcXm6KKit2KGn99M07n/d//zv779BKCTG/7X1 +a+u9f13/sh+JAaR+9a809WJQYOJy9VQI5ArkAgAmI02JCmVuZHN0cmVhbQplbmRvYmoKOTUgMCBv +YmoKPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAyMDY+PnN0cmVhbQp4nDMxUjAAQl1jBWNz +BWMzhRRDrkIuMD8XSAEFcrggEmAaKJzDlcEVrpDHVQjSANJqbKlgoGcIlAISyblcTp5c+p6+CiVF +palc+uFARVz6HkA1XPpOAc4Khlz6LtGGXAaxXPpu+s7ObkBugI2NvreCLlDGOT+nNDevGKjFzo7L +00VBbcGzhg/NhywMPjTx2Kp9mX0p33Nv/vJr/y/l///f9////5Orrv9d9/Xfrejr2dum3YrIZd1w +KCJJjEeEwYGFy9VTIZArkAsAM1RECQplbmRzdHJlYW0KZW5kb2JqCjkyIDAgb2JqCjw8L0ZpbHRl +ci9GbGF0ZURlY29kZS9MZW5ndGggMjI5Pj5zdHJlYW0KeJwzMVIwUDBU0DVWMDZTMDVWSDHkKuQC +83OBFFAghwsiAaZ1QXQGV7hCHlehgrEpUKuBgqmZgqEeSAeQSM7lcvLk0vf0VSgpKk3l0g8HKuLS +9wCq4dJ3CnBWMOTSd4k25DKI5dJ303d2dgNyA2xs9L0VdIEyzvk5pbl5xUAtdnZcni4KagvaEj44 +fGi+eDCuke3L7Gs/ypf9r/+//3rbnuyvr9fqbdmywVsx8OATkzrpG9W17+9X/6+refno/1dvtZXh +cYe8d932Tly6+dEaQ27ehIMOLAwOXK6eCoFcgVwAQ55OmQplbmRzdHJlYW0KZW5kb2JqCjg5IDAg +b2JqCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMjIxPj5zdHJlYW0KeJwzsVAwAEJdYwUT +QwVjU4UUQ65CLjA/F0gBBXK4IBJgGiicw5XBFa6Qx1UI0gDSagw0QQ8kBSSSc7mcPLn0PX0VSopK +U7n0w4GKuPQ9gGq49J0CnBWAHJdoQy6DWC59N31nZzcgN8DGRt9bQRco45yfU5qbVwzUYmfH5emi +oLagvXmOhWOLnOBmXgmDL8KZetMmlcxYelW3bmp4dNzabOfr/7T/1u2//vqvQPn/0LO1mdeXr18V ++NVrS0+upqmnrt6kHNU2DUNuHoVDDRwMDVyungqBXIFcAOiRRPkKZW5kc3RyZWFtCmVuZG9iago4 +NCAwIG9iago8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDIwNj4+c3RyZWFtCnicMzFSMABC +XWMFY3MFYzOFFEOuQi4wPxdIAQVyuCASYBoonMOVwRWukMdVCNIA0mpsqWCgZwiUAhLJuVxOnlz6 +nr4KJUWlqVz64UBFXPoeQDVc+k4BzgqGXPou0YZcBrFc+m76zs5uQG6AjY2+t4IuUMY5P6c0N68Y +qMXOjsvTRUFtwbOGD82HLAw+NPHYqn2ZfSnfc2/+8mv/L+X//9/3////k6uu/1339d+t6OvZ26bd +ishl3XAoIkmMR4TBgYXL1VMhkCuQCwAzVEQJCmVuZHN0cmVhbQplbmRvYmoKODEgMCBvYmoKPDwv +RmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAxODk+PnN0cmVhbQp4nDMxUTAAQl0jBWNLBRNLhRRD +rkIuMD8XSAEFcrggEmAaKJzDlcEVrpDHVQjSANJqaqhgoGcIlAISyblcTp5c+p6+CiVFpalc+uFA +RVz6HkA1XPpOAc4KQMol2pDLIJZL303f2dkNyA2wsdH3VtAFyjjn55Tm5hUDtdjZcXm6KKitEIk/ +uerJjra6/yCQffz/n9b9/v//P/7//3lTPVjg/wlzkMj//6fE5XyDGjgYGrhcPRUCuQK5ADlCRZwK +ZW5kc3RyZWFtCmVuZG9iago3OCAwIG9iago8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDIx +OD4+c3RyZWFtCnicMzFRMFAwVNA1VjC2UDA1UEgx5CrkAvNzgRRQIIcLIgGmgcI5XBlc4Qp5XIUK +xuZArQYKpsYKhnogHUAiOZfLyZNL39NXoaSoNJVLPxyoiEvfA6iGS98pwFnBkEvfJdqQyyCWS99N +39nZDcgNsLHR91bQBco45+eU5uYVA7XY2XF5uiioLdg5o5uF14o30a7drXVB8yV+R/uquHnT703/ +9Sv7+OP1///vNI3/d0J87+W/+79dL922P5pH71Y0j9CNtWtMN2xIWMDEoMDl6qkQyBXIBQB5r0R4 +CmVuZHN0cmVhbQplbmRvYmoKNzIgMCBvYmoKPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAx +Njk+PnN0cmVhbQp4nDMxUjBQMFXQNVIwNlYwNVZIMeQq5ALzc4EUUCCHCyIBpoHCOVwZXOEKeVyF +CkYWQK1AzUBleoZAKSCRnMvl5Mml7+mrUFJUmsqlHw5UxKXvAVTDpe8U4KxgyKXvEm3IZRDLpe+m +7+zsBuQG2NjoeyvoAmWc83NKc/OKgVrs7Lg8XRTUFjYzaq8TZ+2fedOU+z82cPmU5w+GBg4uV0+F +QK5ALgCjHj6uCmVuZHN0cmVhbQplbmRvYmoKNjggMCBvYmoKPDwvRmlsdGVyL0ZsYXRlRGVjb2Rl +L0xlbmd0aCAyMTE+PnN0cmVhbQp4nDMxUTAAQl1jBRNDBRNLhRRDrkIuMD8XSAEFcrggEmAaKJzD +lcEVrpDHVQjSANJqaqRgoAeSAhLJuVxOnlz6nr4KJUWlqVz64UBFXPoeQDVc+k4BzgpAjku0IZdB +LJe+m76zsxuQG2Bjo++toAuUcc7PKc3NKwZqsbPj8nRRUFsxnecRn4ylqb/6EcU/9m1/99f/3f// +//+/+n9r9Tkr4rTXidd+Pijf9hco8R8EPr3/AiT/hfWu2LH21+SQWUcMFjAxKHC5eioEcgVyAQBW +JkxeCmVuZHN0cmVhbQplbmRvYmoKNjUgMCBvYmoKPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0 +aCAxNzg+PnN0cmVhbQp4nCWLPQrCQBhEtVKm8gAiY2NnNutuCkGEuCoGEWJlIVYqWCQR/8A+AT2D +VY7glbyJH1oNb96MtfRpaQxNQBtwp3HCj1MJKRL8xS+lTnDAihlONFquPnWP1tM0Pa/PbYpRBBUt +eD3f9lArGUHNZAM1ih0FxmsNfwM1Vc5NBePBQM3ZFeOOyS3NLnIZDhGN2Skf1XataDXu4adWuPwZ +vvOi+SrzdT2oNKqYRFxiiS9VNCv7CmVuZHN0cmVhbQplbmRvYmoKNjIgMCBvYmoKPDwvRmlsdGVy +L0ZsYXRlRGVjb2RlL0xlbmd0aCAyMTc+PnN0cmVhbQp4nDMxUTBQ0DVU0DVSMLZQMLFUSDHkKuSC +COSCaKBQDhdECkwDxXO4MrjCFfK4ChWMLYG6DRRMgcoN9CyBcnqGCsm5XE6eXPqevgolRaWpXPrh +QFVc+h5ARVz6TgHOCkDKJdqQyyCWS99N39nZDcgNsLHR9wa6gkvfOT+nNDevGKjFzo7L00VBbcVk +/naBJ1ft5Lw7bP6Yv/39/+1/IHhZ//plVRxnYWzp4YefD7Y/3J9///b/9/uBMuvXx3sf+uGt4b9i +paljQQAjgwCXq6dCIFcgFwBWU0qhCmVuZHN0cmVhbQplbmRvYmoKNTkgMCBvYmoKPDwvRmlsdGVy +L0ZsYXRlRGVjb2RlL0xlbmd0aCAxOTY+PnN0cmVhbQp4nDMxUTAAQl0jBWNzBRNLhRRDrkIuMD8X +SAEFcrggEmAaKJzDlcEVrpDHVQjSANJqaqhgoGcIlAISyblcTp5c+p6+CiVFpalc+uFARVz6HkA1 +XPpOAc4KQMol2pDLIJZL303f2dkNyA2wsdH3VtAFyjjn55Tm5hUDtdjZcXm6KKitWM2l8E5m1vJJ +j2T+yR+uu//vf+3/////1lb9f1nhfehjbMGuBzsfGP6HgE+run+aejEoMHG5eioEcgVyAQBH1EVM +CmVuZHN0cmVhbQplbmRvYmoKNTYgMCBvYmoKPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAy +MDY+PnN0cmVhbQp4nDMxUTBQMFEwVTA2VTAxVEgx5CrkAnFzgSSQn8MFEQfTpkAqgytcIY+rUMHY +EKjPQMHYTMFEzxCILRWSc7mcPLn0PX0VSopKU7n0w4FquPQ9gEq49J0CnBWAHJdoQy6DWC59N31n +ZzcgN8DGRt9bQRco45yfU5qbVwzUYmfH5emioLbgGePL////FX5wdLFROHxor/OhvZ7rlMQkIhJz +E1t/OL58yN4i42s8I7tgw+uCDU+uc/PoFP7//3cFQwMHl6unQiBXIBcA0rs/PwplbmRzdHJlYW0K +ZW5kb2JqCjUzIDAgb2JqCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMTczPj5zdHJlYW0K +eJxVS70KglAUbmj63iE4U5tdL1eFQCTUpEsEOglFNFQQoYaWb9LU1hO49GouQdBBl4LD938si0xS +ZExJOWQ7dJAo0fmciYMMfdExxxlOSKlASUrxq0mOTWoiuWLY5/A1hF7RraqPECmPIBa8gfDjgCRE +uJEwtxCRCIKIbey6YkkGN8Elq/Piyi+eBx3S+Pl4fepm3b5bhv5+ZLP7l6PqfB/MhphrSpDgCzhJ +QzYKZW5kc3RyZWFtCmVuZG9iago1MCAwIG9iago8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3Ro +IDE5Nj4+c3RyZWFtCnicszBWMFAwVtA1VjA3VTAxVEgx5CrkAvNzgRRQIIcLIgGmgcI5XBlc4Qp5 +XIUK5kZArQYKJiYKxnqGQCkgkZzL5eTJpe/pq1BSVJrKpR8OVMSl7wFUw6XvFOCsYMil7xJtyGUQ +y6Xvpu/s7AbkBtjY6Hsr6AJlnPNzSnPzioFa7Oy4PF0U1BYsy5H4//f93/f37r99+307EGz4tH0i +n29AJOv6C1FAEJuZWTc96uuvr/8/MDIIcLl6KgRyBXIBAFcaPmwKZW5kc3RyZWFtCmVuZG9iago0 +NiAwIG9iago8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDIwNj4+c3RyZWFtCnicMzFRMABC +XSMFY0sFE0uFFEOuQi4wPxdIAQVyuCASYBoonMOVwRWukMdVCNIA0mpqqGCgZwiUAhLJuVxOnlz6 +nr4KJUWlqVz64UBFXPoeQDVc+k4BzgpAyiXakMsglkvfTd/Z2Q3IDbCx0fdW0AXKOOfnlObmFQO1 +2NlxebooqK2YY8z6Z9Y69/n/geBJ6a/6/28r+f9NX/qyKg5CrF9+9L/6fd+vtfa+X+7f37/97d/f +T8M4XrQu/2nquYKhgYPL1VMhkCuQCwCX9Ur8CmVuZHN0cmVhbQplbmRvYmoKNDMgMCBvYmoKPDwv +RmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAxOTM+PnN0cmVhbQp4nDMxUTBQMFLQNVYwNlcwNVBI +MeQq5ALzc4EUUCCHCyIBpoHCOVwZXOEKeVyFCsamQK0GCqbGCkZ6hkApIJGcy+XkyaXv6atQUlSa +yqUfDlTEpe8BVMOl7xTgrGDIpe8SbchlEMul76bv7OwG5AbY2Oh7K+gCZZzzc0pz84qBWuzsuDxd +FNRW3DDhFPIPPrgwM9NzVWjXy8zS9VFRX9cDUfzSX1//L/3/K/4/kAaC3wGMDAJcrp4KgVyBXADP +8j5tCmVuZHN0cmVhbQplbmRvYmoKNDAgMCBvYmoKPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0 +aCAxNzc+PnN0cmVhbQp4nDMxUTBQMDRW0DU0UTAyV7BUSDHkKuSCCuSCGJYKOVxgGTAFEs7hyuAK +V8jjKlQwBOk2UDAyBhqhZwiSBJLJuVxOnlz6nr4KJUWlqVz64UBlXPoeQFVc+k4BzgqGXPou0YZc +BrFc+m76zs5uQG6AjY2+N1A7l75zfk5pbl4xUIudHZeni4LamocXqqrq73/f+yTu+uul64QOBYZy ++QYEMDIIcLl6KgRyBXIBANXyMCsKZW5kc3RyZWFtCmVuZG9iagozNyAwIG9iago8PC9GaWx0ZXIv +RmxhdGVEZWNvZGUvTGVuZ3RoIDIzND4+c3RyZWFtCnicMzFRMFAwUtA1VjA2VzA1UEgx5CrkAvNz +gRRQIIcLIgGmgcI5XBlc4Qp5XIUKxqZArQYKpsYKRnqGQCkgkZzL5eTJpe/pq1BSVJrKpR8OVMSl +7wFUw6XvFOCsYMil7xJtyGUQy6Xvpu/s7AbkBtjY6Hsr6AJlnPNzSnPzioFa7Oy4PF0U1BZ6HmVt +YpvX/KF9XS/7BYe/dpO/fNxb/f/vVrVVtt83fOOf69iteVBxIlNERb7C1CcSlxU3Spi33/67X+tO +/P+3+lvWJi616u5aeUZHIihrgsECJgYFLldPhUCuQC4A9BVKpgplbmRzdHJlYW0KZW5kb2JqCjM0 +IDAgb2JqCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMjAzPj5zdHJlYW0KeJwzMVEwAEJd +IwVjSwUTS4UUQ65CLjA/F0gBBXK4IBJgGiicw5XBFa6Qx1UI0gDSamqoYKBnCJQCEsm5XE6eXPqe +vgolRaWpXPrhQEVc+h5ANVz6TgHOCkDKJdqQyyCWS99N39nZDcgNsLHR91bQBco45+eU5uYVA7XY +2XF5uiio7bzQkbfy+9d319wPzheve1n+Pnbd11sg4vjW3/FAtPxX/fJ7/fV741df/YUg9tesZZQV +u2attjrWhsGBhcvVUyGQK5ALAApmTHAKZW5kc3RyZWFtCmVuZG9iagozMSAwIG9iago8PC9GaWx0 +ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDIxMz4+c3RyZWFtCnicMzFRMFAwVNA1UjAxUDCxVEgx5Crk +AvNzgRRQIIcLIgGmgcI5XBlc4Qp5XIUKxpZArQYKpoYKhnogHUAiOZfLyZNL39NXoaSoNJVLPxyo +iEvfA6iGS98pwFkBSLlEG3IZxHLpu+k7O7sBuQE2NvreCrpAGef8nNLcvGKgFjs7Lk8XBbWFCxZE +1f9+YrT7PxB84rRnkW+RX/h6sdMLhV/+l1/ax03+Lx8PlLmvtmr/t9316269Mb2RWKaStGmudYzB +jkRTBgFGLldPhUCuQC4APfFGlgplbmRzdHJlYW0KZW5kb2JqCjI4IDAgb2JqCjw8L0ZpbHRlci9G +bGF0ZURlY29kZS9MZW5ndGggMjE0Pj5zdHJlYW0KeJwzMVEwUDBS0DVSMDFUMDZRSDHkKuQC83OB +FFAghwsiAaaBwjlcGVzhCnlchQrGlkCtBgrGZgpGeiApIJGcy+XkyaXv6atQUlSayqUfDlTEpe8B +VMOl7xTgrGDIpe8SbchlEMul76bv7OwG5AbY2Oh7K+gCZZzzc0pz84qBWuzsuDxdFNQWK7ZVOHxo +fvjys6F8+4d7lx+2Vuz/51hbJOLG3XroxQt9V8ZfrB92rNv/f59vcNyhNwaxnRJrbwpsOFRh4LiC +oYGDy9VTIZArkAsA8f1DKAplbmRzdHJlYW0KZW5kb2JqCjI1IDAgb2JqCjw8L0ZpbHRlci9GbGF0 +ZURlY29kZS9MZW5ndGggMTkxPj5zdHJlYW0KeJwzMVEwUNA1VNA1UjAxUDA2UUgx5Crkggjkgmig +UA4XRApMA8VzuDK4whXyuAoVTAyBuoFyZgq6BnqWQDk9Q4XkXC4nTy59T1+FkqLSVC79cKAqLn0P +oCIufacAZwUgxyXakMsglkvfTd/Z2Q3IDbCx0fcGuoJL3zk/pzQ3rxioxc6Oy9NFQW3FgrSER4fY +W748ucqvzDP9w/zVL3/9+v/6PzL4s+TJq27/T1mTAxgZBLhcPRUCuQK5ALf3ROAKZW5kc3RyZWFt +CmVuZG9iagoyMiAwIG9iago8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDE4Nj4+c3RyZWFt +CnicMzFRMABCXSMFY1MFExOFFEOuQi4wPxdIAQVyuCASYBoonMOVwRWukMdVCNIA0mpipmCgZwiU +AhLJuVxOnlz6nr4KJUWlqVz64UBFXPoeQDVc+k4BzgqGXPou0YZcBrFc+m76zs5uQG6AjY2+t4Iu +UMY5P6c0N68YqMXOjsvTRUFtoW9bV/3///9/OgfWq61MUQexQeAn+37///+/bfduE0/adTiam02E +wYGFy9VTIZArkAsAlBM7jAplbmRzdHJlYW0KZW5kb2JqCjE5IDAgb2JqCjw8L0ZpbHRlci9GbGF0 +ZURlY29kZS9MZW5ndGggMTgxPj5zdHJlYW0KeJwzMVEwUDBV0DVSMDZTMDVQSDHkKuQC83OBFFAg +hwsiAaaBwjlcGVzhCnlchQrGhkCtQM1GCqZ6hkApIJGcy+XkyaXv6atQUlSayqUfDlTEpe8BVMOl +7xTgrADkuEQbchnEcum76Ts7uwG5ATY2+t4KukAZ5/yc0ty8YqAWOzsuTxcFtQVtzALNf+3/rj/M +Lf//1PodT67WK8z9jwR+OgRWmnoxKDBxuXoqBHIFcgEA4vI8OgplbmRzdHJlYW0KZW5kb2JqCjE2 +IDAgb2JqCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMjIwPj5zdHJlYW0KeJwzMVEwUNA1 +VNA1MlAwtlAwNlFIMeQq5IKK5IIYQLEcLogcmAZJ5HBlcIUr5HEVKhhbAg0wUDA1UdA10LMESeoZ +KiTncjl5cul7+iqUFJWmcumHA5Vx6XsAVXHpOwU4Kxhy6btEG3IZxHLpu+k7O7sBuQE2NvreQJdw +6Tvn55Tm5hUDtdjZcXm6KKitWJCWeLSJn8Nip6m/Ms9cC4X7jvtmv/72q/7f7/9A8G/3+r9617fs +rfZuE3q06/mkD4c+HKz4DwZP1bt/mnoxKDBxuXoqBHIFcgEA6ORMoQplbmRzdHJlYW0KZW5kb2Jq +CjEzIDAgb2JqCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMjAyPj5zdHJlYW0KeJwzMVEw +UDBV0DU0UDAyVzA1U0gx5CrkggjkAmmgSA4XRAZMg8RzuDK4whXyuAoVjIyAug0UzMwUTPUMQXJA +MjmXy8mTS9/TV6GkqDSVSz8cqIpL3wOoiEvfKcBZwZBL3yXakMsglkvfTd/Z2Q3IDbCx0fcGaufS +d87PKc3NKwZqsbPj8nRRUFtxQEDx7slV1RX5YFD3/X3t/vf17+v/vf8PBOv2f3399fWXra/jtl4C +gUNRgaFBWU0NHAwNXK6eCoFcgVwA1vJHlQplbmRzdHJlYW0KZW5kb2JqCjEwIDAgb2JqCjw8L0Zp +bHRlci9GbGF0ZURlY29kZS9MZW5ndGggMjExPj5zdHJlYW0KeJwzMVEwUDBR0DVSMDZTMDZRSDHk +KuQC83OBFFAghwsiAaaBwjlcGVzhCnlchQrGRkCtBiB9JnqGQCkgkZzL5eTJpe/pq1BSVJrKpR8O +VMSl7wFUw6XvFOCsYMil7xJtyGUQy6Xvpu/s7AbkBtjY6Hsr6AJlnPNzSnPzioFa7Oy4PF0U1BYJ +Sbaz6HOv22XC+aD5qG39tyuzFhyfwtZtynxTQLW9TY7Hps30RM4y3qfRSffev42NiEiYUspVxOUb +xMbFoMDE5eqpEMgVyAUAYn86hAplbmRzdHJlYW0KZW5kb2JqCjEwMiAwIG9iago8PC9GaWx0ZXIv +RmxhdGVEZWNvZGUvTGVuZ3RoIDIyMD4+c3RyZWFtCnicMzFSMFAwUtA1UjA2VTA1Vkgx5CrkAvNz +gRRQIIcLIgGmgcI5XBlc4Qp5XIUKxsZArQYKpqYKRnqGQCkgkZzL5eTJpe/pq1BSVJrKpR8OVMSl +7wFUw6XvFOCsYMil7xJtyGUQy6Xvpu/s7AbkBtjY6Hsr6AJlnPNzSnPzioFa7Oy4PF0U1BaeOajQ ++JB9cTM/h0C+577Zl/K9v/16VCFxO///p6zpPHq2+q/jtr729l6rCwR6YtOmTZsQFas36dJafe+X +Jball/ofMDEocLl6KgRyBXIBAN9dQi0KZW5kc3RyZWFtCmVuZG9iago5OSAwIG9iago8PC9GaWx0 +ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDE5MT4+c3RyZWFtCnicMzJVMFDQNVTQNVIwMlcwNVdIMeQq +5III5IJooFAOF0QKTAPFc7gyuMIV8rgKFYwsgLoNFEwtFXQN9ICEkZ6hQnIul5Mnl76nr0JJUWkq +l344UBWXvgdQEZe+U4CzgiGXvku0IZdBLJe+m76zsxuQG2Bjo+8NdAWXvnN+TmluXjFQi50dl6eL +gtqCg4+b+N15XyjMm3o1s/R3rOmK/2Bw5FWcr1uF4X8U4K/h/ofBgYXL1VMhkCuQCwBZQkVJCmVu +ZHN0cmVhbQplbmRvYmoKOTYgMCBvYmoKPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAxOTM+ +PnN0cmVhbQp4nDM2UjBQ0DVU0DVWMDJVMLFUSDHkKuSCCOSCaKBQDhdECkwDxXO4MrjCFfK4ChWM +zIC6DRRMjRR0DfQsgXJ6hgrJuVxOnlz6nr4KJUWlqVz64UBVXPoeQEVc+k4BzgqGXPou0YZcBrFc ++m76zs5uQG6AjY2+N9AVXPrO+TmluXnFQC12dlyeLgpqC72b6v9f/x//t/R6jFK8vNpiG87/UPBH +H0T+vfT+/m3vXN2ugysYGji4XD0VArkCuQDpGkEhCmVuZHN0cmVhbQplbmRvYmoKOTMgMCBvYmoK +PDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAxOTE+PnN0cmVhbQp4nDM2UjBQMFPQNTJSMDJV +MDNQSDHkKuSCCOQCaaBIDhdEBkyDxHO4MrjCFfK4ChUMLYG6DRQsjBTM9AxBckAyOZfLyZNL39NX +oaSoNJVLPxyoikvfA6iIS98pwFnBkEvfJdqQyyCWS99N39nZDcgNsLHR91bQBco45+eU5uYVA7XY +2XF5uiioLdh1ef21/df2L/2b/SseTCEY7n9mra/fX7/99/ffQArOAFHf32cxKDBxuXoqBHIFcgEA +p89NlwplbmRzdHJlYW0KZW5kb2JqCjkwIDAgb2JqCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5n +dGggMjEwPj5zdHJlYW0KeJwzNlIwUDBW0DUyUjAyVDAzUEgx5CrkggjkAmmgSA4XRAZMg8RzuDK4 +whXyuAoVDC2Aug0ULIwUjPXAckAyOZfLyZNL39NXoaSoNJVLPxyoikvfA6iIS98pwFnBkEvfJdqQ +yyCWS99N39nZDcgNsLHR91bQBco45+eU5uYVA7XY2XF5uigoN/M96Ordu3ff99vv6779z/+f//v+ +77//9///+/s/CPzb+v//66//9sft9/7v/WXX9bW6VZcuXepa1cDB0MDl6qkQyBXIBQBmLE6KCmVu +ZHN0cmVhbQplbmRvYmoKODUgMCBvYmoKPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAyMTE+ +PnN0cmVhbQp4nDM2VjBQMFTQNVYwMlcwNlNIMeQq5ALzc4EUUCCHCyIBpoHCOVwZXOEKeVyFCkZm +QK0GCsaWCoZ6IB1AIjmXy8mTS9/TV6GkqDSVSz8cqIhL3wOohkvfKcBZwZBL3yXakMsglkvfTd/Z +2Q3IDbCx0fdW0AXKOOfnlObmFQO12NlxebooqC2aOSHC4TrHg+MLml/aTf7y8f/e/zWGk0P45zpF +2LZvb/twz5HjhKGNjdn72//+Rt1fyqu5x2CqIVdjUwMHQwOXq6dCIFcgFwAQ90CfCmVuZHN0cmVh +bQplbmRvYmoKODIgMCBvYmoKPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAxNDk+PnN0cmVh +bQp4nEWLMQ6CUBiDde3kETq5yc9vfBgTwsAD4osxgYnBOKmJA2BQOZTexFv5ZDEdmn5tI8OQhrqm +MVwqz4oeY24xggbm7x43uKJmh54m5E8rmkCpUbDhqUXqIG7P5324QGq/gWy5gqSlpUKygyI8Qgqx +tvCxjGPZceEbe2uGtnv4R5LAZZy/8s+7nE5myB0rVPgCfc4kdgplbmRzdHJlYW0KZW5kb2JqCjc5 +IDAgb2JqCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMTc1Pj5zdHJlYW0KeJwzMVEwUDBR +MLZUMDZVMLFUSDHkKuQC83OBFFAghwsiAaaNQXQGV7hCHlehgrEhUKuBgiFQv56hgrGFnqVCci6X +kyeXvqevQklRaSqXfjhQEZe+B1ANl75TgLMCkOMSbchlEMul76bv7OwG5AbY2Oh7K+gCZZzzc0pz +84qBWuzsuDxdFNQW2/BtaPZrjsp2bNmS3tXhuCqrOShrQqIDC4MDl6unQiBXIBcADYIs3QplbmRz +dHJlYW0KZW5kb2JqCjY5IDAgb2JqCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMTkzPj5z +dHJlYW0KeJwzMVEwUNA1UtA1VjAxVDCxVEgx5CrkggjkgmigUA4XRApMA8VzuDK4whXyuAoVTIyB +ug0UTIHKDfUsgXJ6hgrJuVxOnlz6nr4KJUWlqVz64UBVXPoeQEVc+k4BzgqGXPou0YZcBrFc+m76 +zs5uQG6AjY2+N9AILn3n/JzS3LxioBY7Oy5PFwW1FVeUuv0/ZU2O1FOcv/8/dvA79vW/61Vvyy7d +9m4TT9q24dCtg00NHAwNXK6eCoFcgVwAhdBOQwplbmRzdHJlYW0KZW5kb2JqCjY2IDAgb2JqCjw8 +L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMTg5Pj5zdHJlYW0KeJwzMVEwAEJdIwVjCwUTS4UU +Q65CLjA/F0gBBXK4IBJgGiicw5XBFa6Qx1UI0gDSamqoYKBnCJQCEsm5XE6eXPqevgolRaWpXPrh +QEVc+h5ANVz6TgHOCkDKJdqQyyCWS99N39nZDcgNsLHR91bQBco45+eU5uYVA7XY2XF5uiiorXR9 +cjVlR1vffyDY+vj//ye2v+r//5f//99G/P//33H2IPH/Pz0f75oc2sDB0MDl6qkQyBXIBQDMSULa +CmVuZHN0cmVhbQplbmRvYmoKNjMgMCBvYmoKPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAx +NjU+PnN0cmVhbQp4nDMxUTBQMFQwNFEwtlAwNlJIMeQq5ALzc4EUUCCHCyIBpoHCOVwZXOEKeVyF +CsbmQK1AzUBhPaAOYz1LheRcLidPLn1PX4WSotJULv1woCIufQ+gGi59pwBnBUMufZdoQy6DWC59 +N31nZzcgN8DGRt9bQRco45yfU5qbVwzUYmfH5emioLbS9clVnfr/p0S6T64KYGQQ4HL1VAjkCuQC +ACLCKaUKZW5kc3RyZWFtCmVuZG9iago2MCAwIG9iago8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVu +Z3RoIDE3MD4+c3RyZWFtCnicMzFRMFAwVDBRMLZQMDFSSDHkKuQCcXNBpJFCDhdEHEIDqQyucIU8 +rkIFY3OgPgOQLkM9QwVjPUuF5FwuJ08ufU9fhZKi0lQu/XCgGi59D6ASLn2nAGcFQy59l2hDLoNY +Ln03fWdnNyA3wMZG31tBFyjjnJ9TmptXDNRiZ8fl6aKgtuBgQ9L8/2Dwr1Cj/eQKvQJxCPf/7wBG +BgEuV0+FQK5ALgA6VDbPCmVuZHN0cmVhbQplbmRvYmoKNTcgMCBvYmoKPDwvRmlsdGVyL0ZsYXRl +RGVjb2RlL0xlbmd0aCAyMzQ+PnN0cmVhbQp4nDMxUTBQMFTQtVQwtlAwNVNIMeQq5ALzc4EUUCCH +CyIBpoHCOVwZXOEKeVyFCsbmQK0GCmamCoZ6IB1AIjmXy8mTS9/TV6GkqDSVSz8cqIhL3wOohkvf +KcBZwZBL3yXakMsglkvfTd/Z2Q3IDbCx0fdW0AXKOOfnlObmFQO12NlxebooqC3LMZGwcFz+evnL +9dctr1mvqr/++vrr/9FRk0PX99Ztm561/zBn4dqqv1XX1wMhmLFI7I/CV//1Ib/m/P+19tX8v/Xx +8dd/R+0t/XX8cvy7axcSHVgYHLhcPRUCuQK5AA7RVoMKZW5kc3RyZWFtCmVuZG9iago1NCAwIG9i +ago8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDE5MD4+c3RyZWFtCnicMzFRMFAwUtA1ApIW +CqYGCimGXIVcEIFcIA0UyeGCyIBpkHgOVwZXuEIeV6GCkRlQt4GCOVCzniFIDkgm53I5eXLpe/oq +lBSVpnLphwNVcel7ABVx6TsFOCsYcum7RBtyGcRy6bvpOzu7AbkBNjb63gq6QBnn/JzS3LxioBY7 +Oy5PFwW1hQvEBOqX/11/mFv+/4nLL/9X8sr+Rwb/Nt/NXBOb3bJoyVW9DdckNBgaOLhcPRUCuQK5 +ABOpQ3MKZW5kc3RyZWFtCmVuZG9iago1MSAwIG9iago8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVu +Z3RoIDE5OD4+c3RyZWFtCnicMzFRMABCXSMFY0sFE0uFFEOuQi4wPxdIAQVyuCASYBoonMOVwRWu +kMdVCNIA0mpqqGCgZwiUAhLJuVxOnlz6nr4KJUWlqVz64UBFXPoeQDVc+k4BzgpAyiXakMsglkvf +Td/Z2Q3IDbCx0fdW0AXKOOfnlObmFQO12NlxebooqK1YIOi6/J5v6JqZJ+yKu////ff///33f/// ++3//P5R6+///PzgHQr0Hqzs+Rfro7z+zllxhcGDhcvVUCOQK5AIAUi9bQwplbmRzdHJlYW0KZW5k +b2JqCjQ3IDAgb2JqCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMTcxPj5zdHJlYW0KeJwz +MVEwAEJdIwVjSwUTS4UUQ65CLjA/F0gBBXK4IBJgGiicw5XBFa6Qx1UI0gDSamqoYKBnCJQCEsm5 +XE6eXPqevgolRaWpXPrhQEVc+h5ANVz6TgHOCkDKJdqQyyCWS99N39nZDcgNsLHR91bQBco45+eU +5uYVA7XY2XF5uiiorXT9fNCf5f////98g24dl/+PCv60CP6qjmcQYORy9VQI5ArkAgCj3z3FCmVu +ZHN0cmVhbQplbmRvYmoKNDQgMCBvYmoKPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAxNjg+ +PnN0cmVhbQp4nC2MMQ6CQBRELazmFL+iw2VhNRZICIvEjTGBioJYoYkFi0HlUHbewBN4Da+BX7H5 +k3kz85Uij6Qi1yd/ToGig0SHEdivMmowRj9l3uCEklp0JCWvPQoW/GImOeNTWyQGwuzodumPECW3 +IDZcgkhyTWzSSsLbQ2RC64xtHoZiSy4n+tz0tr3yJIpgUnIe7mr5dO7W1sMwvF9/E08nMdaGChT4 +AHB9LtgKZW5kc3RyZWFtCmVuZG9iago0MSAwIG9iago8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVu +Z3RoIDIxOT4+c3RyZWFtCnicMzFRMFAwUtA1UjA2VzA1UEgx5CrkAvNzgRRQIIcLIgGmgcI5XBlc +4Qp5XIUKxqZArQYKpkYKRnqGQCkgkZzL5eTJpe/pq1BSVJrKpR8OVMSl7wFUw6XvFOCsYMil7xJt +yGUQy6Xvpu/s7AbkBtjY6Hsr6AJlnPNzSnPzioFa7Oy4PF0U1BaeZXzQ66jI3vJFrvPYFwHzQ/xL +7vvLvi+vP7kqdp39uq2v47ZeunTdGwg4M3R1dXVUF2zZsqVDv8rzEPfSC8cnhyxgYlDgcvVUCOQK +5AIAoj9B7wplbmRzdHJlYW0KZW5kb2JqCjM4IDAgb2JqCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9M +ZW5ndGggMjI2Pj5zdHJlYW0KeJwzMVEwUDBS0DVWMDZXMDVQSDHkKuQC83OBFFAghwsiAaaBwjlc +GVzhCnlchQrGpkCtBgqmxgpGeoZAKSCRnMvl5Mml7+mrUFJUmsqlHw5UxKXvAVTDpe8U4KxgyKXv +Em3IZRDLpe+m7+zsBuQG2NjoeyvoAmWc83NKc/OKgVrs7Lg8XRTUFp48qND4kL1Fbl7n0RoBu8m1 +++/v/x13vX991MvspU2R3HHTP3z7JM3fXP327fu/98/X2sTH1urMWjY9M3fdwaZo0a0bNiQmHHRg +YXDgcvVUCOQK5AIA01FIxQplbmRzdHJlYW0KZW5kb2JqCjM1IDAgb2JqCjw8L0ZpbHRlci9GbGF0 +ZURlY29kZS9MZW5ndGggMTk1Pj5zdHJlYW0KeJwzMVEwUDBW0DVWMDZTMDVQSDHkKuQC83OBFFAg +hwsiAaaBwjlcGVzhCnlchQrGxkCtBgqmQK16hkApIJGcy+XkyaXv6atQUlSayqUfDlTEpe8BVMOl +7xTgrGDIpe8SbchlEMul76bv7OwG5AbY2Oh7K+gCZZzzc0pz84qBWuzsuDxdFNQWybo0sbfIzZtv +wv2Q/VL+v/n/H2/5DwN/16utjv9/6/+26Wzcx7dubRPjEWFwYOFy9VQI5ArkAgD2wj8wCmVuZHN0 +cmVhbQplbmRvYmoKMzIgMCBvYmoKPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAyMTY+PnN0 +cmVhbQp4nDMxUTBQMFTQNTJQMDFSMDZRSDHkKuSCCOQCaaBIDhdEBkyDxHO4MrjCFfK4ChVMDIG6 +DRRMTRQM9cB6gGRyLpeTJ5e+p69CSVFpKpd+OFAVl74HUBGXvlOAswKQ4xJtyGUQy6Xvpu/s7Abk +BtjY6Hsr6AJlnPNzSnPzioFa7Oy4PF0U1BY8SzbTEch8yP7Q3vmiZQmH3eQvv/yvr/76+2j9//// +a2at+r9t7+/sW29bbySW2U7kbhPf+uBgxX8w+Mn28sv/rQwCjFyungqBXIFcAHN0TGgKZW5kc3Ry +ZWFtCmVuZG9iagoyOSAwIG9iago8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDE4NT4+c3Ry +ZWFtCnicMzFRMFAwVNA1UjA2UTCxVEgx5CrkAvNzgRRQIIcLIgGmgcI5XBlc4Qp5XIUKxsZArQYK +poYKhnogHUAiOZfLyZNL39NXoaSoNJVLPxyoiEvfA6iGS98pwFkBSLlEG3IZxHLpu+k7O7sBuQE2 +NvreCrpAGef8nNLcvGKgFjs7Lk8XBbWFCy4e4ud8ea1XT9xz3X75//9PMXf/NPVW/P0fCXyefPn/ +rQYOhgYuV0+FQK5ALgDq90BdCmVuZHN0cmVhbQplbmRvYmoKMjYgMCBvYmoKPDwvRmlsdGVyL0Zs +YXRlRGVjb2RlL0xlbmd0aCAxMzA+PnN0cmVhbQp4nDMxUTBQMDRR0DVSMDJVsFRIMeQq5ILwc0G0 +pUIOF1gCTAFFc7gyuMIV8rgKFQwNgVoNQJShiZ4hUA5IJOdyOXly6Xv6KpQUlaZy6YcDpbn0PcCk +U4CzApByiTbkMojl8nRRkGewb6g/8P8BDNYfsG+QZ+By9VQI5ArkAgDSTCeyCmVuZHN0cmVhbQpl +bmRvYmoKMjMgMCBvYmoKPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAxODE+PnN0cmVhbQp4 +nDMxUTAAQl0jBWNLBWMThRRDrkIuMD8XSAEFcrggEmAaKJzDlcEVrpDHVQjSANJqbKZgoGcIlAIS +yblcTp5c+p6+CiVFpalc+uFARVz6HkA1XPpOAc4Khlz6LtGGXAaxXPpu+s7ObkBugI2NvreCLlDG +OT+nNDevGKjFzo7L00VBbcUrU9mtfr5hmyIce/5vvbf/bfn637Gv/12vQuX0Z3/btoCJQYHL1VMh +kCuQCwAw4T+3CmVuZHN0cmVhbQplbmRvYmoKMjAgMCBvYmoKPDwvRmlsdGVyL0ZsYXRlRGVjb2Rl +L0xlbmd0aCAyNDA+PnN0cmVhbQp4nDMxUTAAQl0jQwUTAwVjU4UUQ65CLohALhdYJIfLBEGDxHO4 +MrjCFfK4CkFaQNDUTMFAzxAkBySTc7mcPLn0PX0VSopKU7n0w4GquPQ9gIq49J0CnBUMufRdog25 +DGK59N30nZ3dgNwAGxt9bwVdoIxzfk5pbl4xUIudHZeni4LaggvcCpM5H7IJHxLndo0/c0Kvie/a +5NySx2u//AeCb7uvZ2+bdpgzozZDr5j7MPfx/3v3ObFvqOJ3fPnijEQVh/QLe3/Zy///rpm1bDqP +3mHOHAnVjRGJuQkHEw46sDA4cLl6KgRyBXIBABELT8wKZW5kc3RyZWFtCmVuZG9iagoxNyAwIG9i +ago8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDIxNj4+c3RyZWFtCnicMzFRMABCXSMDBWNL +BWMThRRDrkIuiEAukAaK5HBBZMA0SDyHK4MrXCGPqxCkBaTbFGiIniFIDkgm53I5eXLpe/oqlBSV +pnLphwNVcel7ABVx6TsFOCsYcum7RBtyGcRy6bvpOzu7AbkBNjb63gq6QBnn/JzS3LxioBY7Oy5P +FwW1Fa9MxUt3mnptinDsuf23eu3/uNf1W+/tf1u+/tv113/3X/qf/2X773/b7F/X3/pb9bfqz/YY +hde+tXpCv2LCrl27dtCBhcGBy9VTIZArkAsAvNVMZwplbmRzdHJlYW0KZW5kb2JqCjE0IDAgb2Jq +Cjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMjAxPj5zdHJlYW0KeJwzMVEwUDBR0DVSMDZX +MDZRSDHkKuQC83OBFFAghwsiAaaBwjlcGVzhCnlchQrGxkCtBgrGZgomeoZAKSCRnMvl5Mml7+mr +UFJUmsqlHw5UxKXvAVTDpe8U4KxgyKXvEm3IZRDLpe+m7+zsBuQG2NjoeyvoAmWc83NKc/OKgVrs +7Lg8XRTUFjwxauLnsNGb13nkhfjSL9cmJJZYff0Y///kqvp7T0ziM29/23bphkFs163DEYkJBx1Y +GBy4XD0VArkCuQByyTzjCmVuZHN0cmVhbQplbmRvYmoKMTEgMCBvYmoKPDwvRmlsdGVyL0ZsYXRl +RGVjb2RlL0xlbmd0aCAxODc+PnN0cmVhbQp4nDMxUTBQ0DVU0DVSMDFQMDZRSDHkKuSCCOSCaKBQ +DhdECkwDxXO4MrjCFfK4ChVMDIG6gXJmCroGepZAOT1DheRcLidPLn1PX4WSotJULv1woCoufQ+g +Ii59pwBnBSDHJdqQyyCWS99N39nZDcgNsLHR9wa6gkvfOT+nNDevGKjFzo7L00VBbcUCRYdFl/9P +Dq3p70je/x8F/K3/+rbsYMWUV3ffvH5w0JRBgJHL1VMhkCuQCwD63ENnCmVuZHN0cmVhbQplbmRv +YmoKOCAwIG9iago8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDEyND4+c3RyZWFtCnicNYux +CsJAEET7+Yr5gmzW7BXXxgheIZgqhVipYGGEBK39ZUu79c5gMTyGmWfGmoFqbIwaeVZM+PWxIPKG +ZVhomVcMvGPiKma1yKFSalNFnka0CZJ2fMzPC2TIH8iWAdLu11RId1DUR6SOL/e3u3/+KR2bxB49 +vq8KLIAKZW5kc3RyZWFtCmVuZG9iagoxMDAgMCBvYmoKPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xl +bmd0aCAyMDM+PnN0cmVhbQp4nDMxUjAAQl0jBWNzBVMThRRDrkIuMD8XSAEFcrggEmAaKJzDlcEV +rpDHVQjSANJqaqZgoGcIlAISyblcTp5c+p6+CiVFpalc+uFARVz6HkA1XPpOAc4Khlz6LtGGXAax +XPpu+s7ObkBugI2NvreCLlDGOT+nNDevGKjFzo7L00VBbUHCgfmx9UBYWXrp65d9e2v118d7v75+ +6ReIox+/3vv660tff33Z8WOuc82s5uJD9f+B4PIJC/sfDA0cXK6eCoFcgVwALPlI+AplbmRzdHJl +YW0KZW5kb2JqCjk3IDAgb2JqCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMTU1Pj5zdHJl +YW0KeJw9izEOgkAQRY3lP8Wv7HB2gYgFoWCBuDEmkJhYGCs1sQAMKifxAraeUldInGJ+/nszfkDF +iJ4fUGsuFE8aHUbQuHSkxmiG/PEaF+zYomPonhWXAaP5oNw+NkgtxG74uPVnyI4hZOVuIGlpqCHZ +XkMdIIUYU7haxrGs6TljrnXftHeGSQKbcfbOP/95bl/TCZFbVqjwBdeWLrAKZW5kc3RyZWFtCmVu +ZG9iago5NCAwIG9iago8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDE4MD4+c3RyZWFtCnic +MzZWMABCXSMFIwsFY1OFFEOuQi4wPxdIAQVyuCASYBoonMOVwRWukMdVCNIA0mpsrmCgZwiUAhLJ +uVxOnlz6nr4KJUWlqVz64UBFXPoeQDVc+k4BzgqGXPou0YZcBrFc+m76zs5uQG6AjY2+t4IuUMY5 +P6c0N68YqMXOjsvTRUFtWUVwTyL7YuELYb6xqu3e/y9lfzj0qP3/+v8w8NdirusHRgYBLldPhUCu +QC4AbSs68AplbmRzdHJlYW0KZW5kb2JqCjkxIDAgb2JqCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9M +ZW5ndGggMTczPj5zdHJlYW0KeJwzMVIwUDBV0DVSMDZSMDVWSDHkKuQC83OBFFAghwsiAaaBwjlc +GVzhCnlchQpG5kCtQM1AZXqGQCkgkZzL5eTJpe/pq1BSVJrKpR8OVMSl7wFUw6XvFOCsYMil7xJt +yGUQy6Xvpu/s7AbkBtjY6Hsr6AJlnPNzSnPzioFa7Oy4PF0U1BY2PVQsPfRg48lr3JMD9v/HAv7a +LKpv4GBo4HL1VAjkCuQCAH90QYMKZW5kc3RyZWFtCmVuZG9iago4NyAwIG9iago8PC9GaWx0ZXIv +RmxhdGVEZWNvZGUvTGVuZ3RoIDIwNT4+c3RyZWFtCnicJYs/DgFhFMRFOad4lY633yc2JKKwiI1I +qBRCg0SxS/yr9wiu4AYaSq0DaBQKB5DQEWR93jLFm7z5zaQ1WWRTUmvSGbIt6itM8A98cUk8/MnP +o9zDEC0aYUIqJ2uLsprslIqY3J6Pogt26zSfLgbglrTAVSmBiw2HFLjUVrA64Ao7TkXeRj7PNUoK +ccbewh/NZFIowC1RYrXfRNpeat3tIeSQj+vjKwzMa2mMeWa6xjw+JrgFJ3MKd+/zeHePdI1RHGWX +mmjiC+NKTfIKZW5kc3RyZWFtCmVuZG9iago4MyAwIG9iago8PC9GaWx0ZXIvRmxhdGVEZWNvZGUv +TGVuZ3RoIDIwMj4+c3RyZWFtCnicMzZXMFAwVNA1VjA2UjA2U0gx5CrkAvNzgRRQIIcLIgGmgcI5 +XBlc4Qp5XIUKxoZArQYKxpYKhnogHUAiOZfLyZNL39NXoaSoNJVLPxyoiEvfA6iGS98pwFkByHGJ +NuQyiOXSd9N3dnYDcgNsbPS9FXSBMs75OaW5ecVALXZ2XJ4uCmoLniU5Mh+yMfjQxPZl8iV/z/pL +X39lh+2pX/H//0/TuP8Fu9/tXns9V3fLtkuHE6ZJtLZxMSgwcbl6KgRyBXIBAA3OPlIKZW5kc3Ry +ZWFtCmVuZG9iago4MCAwIG9iago8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDE4ND4+c3Ry +ZWFtCnicMzFRMABCXWMFY0sFE0uFFEOuQi4wPxdIAQVyuCASYBoonMOVwRWukMdVCNIA0mpqpGCg +ZwiUAhLJuVxOnlz6nr4KJUWlqVz64UBFXPoeQDVc+k4BzgqGXPou0YZcBrFc+m76zs5uQG6AjY2+ +t4IuUMY5P6c0N68YqMXOjsvTRUFtRZuo6/Kfpp5rJB+c4956b/9/ZPx3CxJ+vRWI/10HYvtb//+u +YGjg4HL1VAjkCuQCAJudTk4KZW5kc3RyZWFtCmVuZG9iago3NyAwIG9iago8PC9GaWx0ZXIvRmxh +dGVEZWNvZGUvTGVuZ3RoIDE4ND4+c3RyZWFtCnicMzFRMFAwVNA1UjA2VzA2UUgx5CrkAvNzgRRQ +IIcLIgGmgcI5XBlc4Qp5XIUKxmZArQYgylAPpANIJOdyOXly6Xv6KpQUlaZy6YcDZbn0PcCkU4Cz +giGXvku0IZdBLJe+m76zsxuQG2Bjo++toAuUcc7PKc3NKwYqtrPj8nRRUNt1+f/zZqcve/W9L93y +FtkCBmLThC6BgMLel+reSy+9LNkor7bSgYXBgcvVUyGQK5ALAHT9OqUKZW5kc3RyZWFtCmVuZG9i +ago4OCAwIG9iago8PC9UeXBlL0ZvbnQKL0VuY29kaW5nIDEwNCAwIFIvQ2hhclByb2NzIDw8L3gg +ODkgMCBSCj4+L0ZvbnRNYXRyaXhbMSAwIDAgLTEgMCAwXS9Gb250QkJveFswIDAgMTAwMCAxMDAw +XS9GaXJzdENoYXIgMC9MYXN0Q2hhciAxMjAvV2lkdGhzWwowIDAgMCAwIDAgMCAwIDAgMCAwIDAg +MCAwIDAgMCAwCjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAKMCAwIDAgMCAwIDAgMCAw +IDAgMCAwIDAgMCAwIDAgMAowIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwCjAgMCAwIDAg +MCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAKMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMAow +IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwCjAgMCAwIDAgMCAwIDAgMCA0OF0KL1N1YnR5 +cGUvVHlwZTM+PgplbmRvYmoKMTA0IDAgb2JqCjw8L1R5cGUvRW5jb2RpbmcvQmFzZUVuY29kaW5n +L1dpbkFuc2lFbmNvZGluZy9EaWZmZXJlbmNlc1sKMTIwL3hdPj4KZW5kb2JqCjEwNSAwIG9iago8 +PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDEwNiAwIFI+PnN0cmVhbQp4nF1PMQ7DIAzceQU/ +CImidEEs6ZKhVaX2AwRMxBBAhAz9fY2TduhwJ518Z5+bcbpOwRfePHI0Tyjc+WAzbHHPBvgMiw+s +7bj1ppyK2Kw6sWa86fR6J+BoAMfaw2GihS1pA1mHBZgUQknnFINg/0b9EZjd6RwGRRACGaVTBJQY +l5dOEYRARtkrAsqeln/X1Du1Xm131ytws+cModAP1Lm29QF+b6aYaooj2AeO+leSCmVuZHN0cmVh +bQplbmRvYmoKMTA2IDAgb2JqCjE3NQplbmRvYmoKODYgMCBvYmoKPDwvVG9Vbmljb2RlIDEwNSAw +IFIvVHlwZS9Gb250Ci9FbmNvZGluZyAxMDcgMCBSL0NoYXJQcm9jcyA8PC8yIDEwMSAwIFIKLzQg +MTAwIDAgUgovZiA5OSAwIFIKL3QgOTYgMCBSCi9vIDk1IDAgUgovciA5NCAwIFIKLzMgOTIgMCBS +Ci8xIDkxIDAgUgovIzI5IDkwIDAgUgovIzI4IDg3IDAgUgo+Pi9Gb250TWF0cml4WzEgMCAwIC0x +IDAgMF0vRm9udEJCb3hbMCAwIDEwMDAgMTAwMF0vRmlyc3RDaGFyIDAvTGFzdENoYXIgMTE2L1dp +ZHRoc1sKMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMAowIDAgMCAwIDAgMCAwIDAgMCAw +IDAgMCAwIDAgMCAwCjAgMCAwIDAgMCAwIDAgMCAzMiAzMiAwIDAgMCAwIDAgMAowIDQyIDQyIDQy +IDQyIDAgMCAwIDAgMCAwIDAgMCAwIDAgMAowIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAw +CjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAKMCAwIDAgMCAwIDAgMjUgMCAwIDAgMCAw +IDAgMCAwIDQyCjAgMCAzMyAwIDMyXQovU3VidHlwZS9UeXBlMz4+CmVuZG9iagoxMDcgMCBvYmoK +PDwvVHlwZS9FbmNvZGluZy9CYXNlRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nL0RpZmZlcmVuY2Vz +Wwo0MC8jMjgvIzI5CjQ5LzEvMi8zLzQKMTAyL2YKMTExL28KMTE0L3IKMTE2L3RdPj4KZW5kb2Jq +CjEwOCAwIG9iago8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDEwOSAwIFI+PnN0cmVhbQp4 +nF1PMQ7CMBDb84r7QVOQ6FJlKUsHEBJ8IL1cqgxNojQd+D2XtDAw2JJl++RrhvE6epeheaSAT8pg +nTeJ1rAlJJhodl60JzAO86Eq46KjaIabjq93JOAAWdHuCQyG1qiRkvYziV5K1VurBHnzZ533wmSP +5OWsKqRkZmlVBUuu9x07XXWZy7Vvrxwue8qcu14IcEuJfK6j68gyz3n6/RVDLC1giA8mxFRyCmVu +ZHN0cmVhbQplbmRvYmoKMTA5IDAgb2JqCjE2OQplbmRvYmoKNzEgMCBvYmoKPDwvVG9Vbmljb2Rl +IDEwOCAwIFIvVHlwZS9Gb250Ci9FbmNvZGluZyAxMTAgMCBSL0NoYXJQcm9jcyA8PC8yIDEwMiAw +IFIKL3MgODUgMCBSCi9vIDg0IDAgUgovYyA4MyAwIFIKLzEgNzIgMCBSCj4+L0ZvbnRNYXRyaXhb +MSAwIDAgLTEgMCAwXS9Gb250QkJveFswIDAgMTAwMCAxMDAwXS9GaXJzdENoYXIgMC9MYXN0Q2hh +ciAxMTUvV2lkdGhzWwowIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwCjAgMCAwIDAgMCAw +IDAgMCAwIDAgMCAwIDAgMCAwIDAKMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMAowIDQy +IDQyIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAKMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAw +IDAgMAowIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwCjAgMCAwIDM3IDAgMCAwIDAgMCAw +IDAgMCAwIDAgMCA0MgowIDAgMCAzM10KL1N1YnR5cGUvVHlwZTM+PgplbmRvYmoKMTEwIDAgb2Jq +Cjw8L1R5cGUvRW5jb2RpbmcvQmFzZUVuY29kaW5nL1dpbkFuc2lFbmNvZGluZy9EaWZmZXJlbmNl +c1sKNDkvMS8yCjk5L2MKMTExL28KMTE1L3NdPj4KZW5kb2JqCjExMSAwIG9iago8PC9GaWx0ZXIv +RmxhdGVEZWNvZGUvTGVuZ3RoIDExMiAwIFI+PnN0cmVhbQp4nF2OMQ7DIAxFd07hGyTpEHVALOmS +oVWl9gLEmIghBhEy9PYFSjt0sGXrv6//u2m+zOwSdPfo8UEJrGMTafdHRIKFVsdiOIFxmNpXN246 +iG666vB8BYIMkBXDh0BvaA8aKWpeSci+V9JaJYjNn9QMi23keFZy1Co78lX4r1KsJbEE3vRGgEeM +xKnWqjVKAcf0ax58KC7II97VFE3mCmVuZHN0cmVhbQplbmRvYmoKMTEyIDAgb2JqCjE1NwplbmRv +YmoKNDkgMCBvYmoKPDwvVG9Vbmljb2RlIDExMSAwIFIvVHlwZS9Gb250Ci9FbmNvZGluZyAxMTMg +MCBSL0NoYXJQcm9jcyA8PC9pIDk4IDAgUgovaiA5NyAwIFIKL2ggOTMgMCBSCi8/IDgyIDAgUgov +ISA1MCAwIFIKPj4vRm9udE1hdHJpeFsxIDAgMCAtMSAwIDBdL0ZvbnRCQm94WzAgMCAxMDAwIDEw +MDBdL0ZpcnN0Q2hhciAwL0xhc3RDaGFyIDEwNi9XaWR0aHNbCjY1IDAgMCAwIDAgMCAwIDAgMCAw +IDAgMCAwIDAgMCAwCjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAKMCA4MyAwIDAgMCAw +IDAgMCAwIDAgMCAwIDAgMCAwIDAKMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMAowIDAg +MCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwCjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAw +IDAKMCAwIDAgMCAwIDAgMCAwIDMyIDMyIDIzXQovU3VidHlwZS9UeXBlMz4+CmVuZG9iagoxMTMg +MCBvYmoKPDwvVHlwZS9FbmNvZGluZy9CYXNlRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nL0RpZmZl +cmVuY2VzWwowLz8KMzMvIQoxMDQvaC9pL2pdPj4KZW5kb2JqCjExNCAwIG9iago8PC9GaWx0ZXIv +RmxhdGVEZWNvZGUvTGVuZ3RoIDExNSAwIFI+PnN0cmVhbQp4nF2QTQ6DIBCF95yCG/gTtZoQNnbj +ok2T9gI4DIaFSFAXvX0HtF10MeR94T1mhqwfroOzG88eYYEnbtxYpwOuyx4A+YiTdawoubawnZRO +mJVnWX9T/vX2yMmAhhWHAxaNq1eAQbkJmchzKYyRDJ3+u2qOwGhOZ1VIUTWSEqQIO5mKsIsIUtR5 +QiCsS8JkJkXYylSELWFDT11URFKx9bdJnCIOH2e/qxk57CGg29KGaaO4i3X4+wS/+JjiVOwDw4Rd +pAplbmRzdHJlYW0KZW5kb2JqCjExNSAwIG9iagoxOTQKZW5kb2JqCjcgMCBvYmoKPDwvVG9Vbmlj +b2RlIDExNCAwIFIvVHlwZS9Gb250Ci9FbmNvZGluZyAxMTYgMCBSL0NoYXJQcm9jcyA8PC9FIDgx +IDAgUgovViA4MCAwIFIKL34gNzkgMCBSCi9DIDc4IDAgUgoveiA3NyAwIFIKLyIgNzAgMCBSCi9V +IDY5IDAgUgovUiA2OCAwIFIKL0wgNjcgMCBSCi9GIDY2IDAgUgovXiA2NSAwIFIKL0QgNjQgMCBS +Ci89IDYzIDAgUgovQiA2MiAwIFIKLyMzYyA2MSAwIFIKLysgNjAgMCBSCi9QIDU5IDAgUgovIzNl +IDU4IDAgUgovIzI1IDU3IDAgUgovKiA1NiAwIFIKLz8gNTUgMCBSCi9qIDU0IDAgUgovIzJmIDUz +IDAgUgoveCA1MiAwIFIKL04gNTEgMCBSCi9iIDQ4IDAgUgovVCA0NyAwIFIKL2sgNDYgMCBSCi8j +MjggNDUgMCBSCi86IDQ0IDAgUgovNyA0MyAwIFIKLzAgNDIgMCBSCi8yIDQxIDAgUgovLCA0MCAw +IFIKLzEgMzkgMCBSCi8zIDM4IDAgUgovUyAzNyAwIFIKL00gMzYgMCBSCi9PIDM1IDAgUgovWCAz +NCAwIFIKL0EgMzMgMCBSCi9xIDMyIDAgUgovZCAzMSAwIFIKL2wgMzAgMCBSCi9mIDI5IDAgUgov +YSAyOCAwIFIKL20gMjcgMCBSCi8uIDI2IDAgUgovbiAyNSAwIFIKL3cgMjQgMCBSCi92IDIzIDAg +UgovdCAyMiAwIFIKL2ggMjEgMCBSCi9nIDIwIDAgUgovaSAxOSAwIFIKL3IgMTggMCBSCi95IDE3 +IDAgUgovcCAxNiAwIFIKL28gMTUgMCBSCi9jIDE0IDAgUgovIzI5IDEzIDAgUgovZSAxMiAwIFIK +L3UgMTEgMCBSCi9zIDEwIDAgUgovSSA5IDAgUgovLSA4IDAgUgo+Pi9Gb250TWF0cml4WzEgMCAw +IC0xIDAgMF0vRm9udEJCb3hbMCAwIDEwMDAgMTAwMF0vRmlyc3RDaGFyIDAvTGFzdENoYXIgMTIy +L1dpZHRoc1sKMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMAowIDAgMCAwIDAgMCAwIDAg +MCAwIDAgMCAwIDAgMCAwCjAgMCA0NCAwIDAgNDQgMCAwIDQ0IDQ0IDQ0IDQ0IDQ0IDQ0IDQ0IDQ0 +CjQ0IDQ0IDQ0IDQ0IDAgMCAwIDQ0IDAgMCA0NCAwIDQ0IDQ0IDQ0IDQ0CjAgNDQgNDQgNDQgNDQg +NDQgNDQgMCAwIDQ0IDAgMCA0NCA0NCA0NCA0NAo0NCAwIDQ0IDQ0IDQ0IDQ0IDQ0IDAgNDQgMCAw +IDAgMCAwIDQ0IDAKMCA0NCA0NCA0NCA0NCA0NCA0NCA0NCA0NCA0NCA0NCA0NCA0NCA0NCA0NCA0 +NAo0NCA0NCA0NCA0NCA0NCA0NCA0NCA0NCA0NCA0NCA0NF0KL1N1YnR5cGUvVHlwZTM+PgplbmRv +YmoKMTE2IDAgb2JqCjw8L1R5cGUvRW5jb2RpbmcvQmFzZUVuY29kaW5nL1dpbkFuc2lFbmNvZGlu +Zy9EaWZmZXJlbmNlc1sKMzQvIgozNy8jMjUKNDAvIzI4LyMyOS8qLysvLC8tLy4vIzJmLzAvMS8y +LzMKNTUvNwo1OC86CjYwLyMzYy89LyMzZS8/CjY1L0EvQi9DL0QvRS9GCjczL0kKNzYvTC9NL04v +Ty9QCjgyL1IvUy9UL1UvVgo4OC9YCjk0L14KOTcvYS9iL2MvZC9lL2YvZy9oL2kvai9rL2wvbS9u +L28vcC9xL3Ivcy90L3Uvdi93L3gveS96CjEyNi9+XT4+CmVuZG9iagoyIDAgb2JqCjw8L1Byb2R1 +Y2VyKEFGUEwgR2hvc3RzY3JpcHQgOC4xMSkKL0NyZWF0aW9uRGF0ZShEOjIwMDMwOTI4MTUzNzM0 +KQovTW9kRGF0ZShEOjIwMDMwOTI4MTUzNzM0KQovQ3JlYXRvcihUZVhtYWNzLTEuMC4yKQovVGl0 +bGUoL2hvbWUvd3NwYWdlL3RtX2F4aW9tX3Rlc3RfMS5wcyk+PmVuZG9iagp4cmVmCjAgMTE3CjAw +MDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwNTM5NCAwMDAwMCBuIAowMDAwMDMzMjcyIDAwMDAwIG4g +CjAwMDAwMDUzMjggMDAwMDAgbiAKMDAwMDAwNTA0MSAwMDAwMCBuIAowMDAwMDAwMDE1IDAwMDAw +IG4gCjAwMDAwMDI2MDEgMDAwMDAgbiAKMDAwMDAzMTg0NiAwMDAwMCBuIAowMDAwMDI2MjgwIDAw +MDAwIG4gCjAwMDAwMTA5MDMgMDAwMDAgbiAKMDAwMDAxODY4MiAwMDAwMCBuIAowMDAwMDI2MDI1 +IDAwMDAwIG4gCjAwMDAwMTA2MjcgMDAwMDAgbiAKMDAwMDAxODQxMiAwMDAwMCBuIAowMDAwMDI1 +NzU2IDAwMDAwIG4gCjAwMDAwMTAzNTMgMDAwMDAgbiAKMDAwMDAxODEyNCAwMDAwMCBuIAowMDAw +MDI1NDcyIDAwMDAwIG4gCjAwMDAwMTAxMDAgMDAwMDAgbiAKMDAwMDAxNzg3NSAwMDAwMCBuIAow +MDAwMDI1MTY0IDAwMDAwIG4gCjAwMDAwMDk4MzQgMDAwMDAgbiAKMDAwMDAxNzYyMSAwMDAwMCBu +IAowMDAwMDI0OTE1IDAwMDAwIG4gCjAwMDAwMDk1NTggMDAwMDAgbiAKMDAwMDAxNzM2MiAwMDAw +MCBuIAowMDAwMDI0NzE3IDAwMDAwIG4gCjAwMDAwMDkyODcgMDAwMDAgbiAKMDAwMDAxNzA4MCAw +MDAwMCBuIAowMDAwMDI0NDY0IDAwMDAwIG4gCjAwMDAwMDkwNTAgMDAwMDAgbiAKMDAwMDAxNjc5 +OSAwMDAwMCBuIAowMDAwMDI0MTgwIDAwMDAwIG4gCjAwMDAwMDg3NzYgMDAwMDAgbiAKMDAwMDAx +NjUyOCAwMDAwMCBuIAowMDAwMDIzOTE3IDAwMDAwIG4gCjAwMDAwMDg1MDEgMDAwMDAgbiAKMDAw +MDAxNjIyNiAwMDAwMCBuIAowMDAwMDIzNjIzIDAwMDAwIG4gCjAwMDAwMDgyNTMgMDAwMDAgbiAK +MDAwMDAxNTk4MSAwMDAwMCBuIAowMDAwMDIzMzM2IDAwMDAwIG4gCjAwMDAwMDc5NjUgMDAwMDAg +biAKMDAwMDAxNTcyMCAwMDAwMCBuIAowMDAwMDIzMTAwIDAwMDAwIG4gCjAwMDAwMDc2OTQgMDAw +MDAgbiAKMDAwMDAxNTQ0NiAwMDAwMCBuIAowMDAwMDIyODYxIDAwMDAwIG4gCjAwMDAwMDc0MTMg +MDAwMDAgbiAKMDAwMDAzMTAxMSAwMDAwMCBuIAowMDAwMDE1MTgyIDAwMDAwIG4gCjAwMDAwMjI1 +OTUgMDAwMDAgbiAKMDAwMDAwNzE0MCAwMDAwMCBuIAowMDAwMDE0OTQxIDAwMDAwIG4gCjAwMDAw +MjIzMzcgMDAwMDAgbiAKMDAwMDAwNjg2NSAwMDAwMCBuIAowMDAwMDE0NjY3IDAwMDAwIG4gCjAw +MDAwMjIwMzUgMDAwMDAgbiAKMDAwMDAwNjU5MSAwMDAwMCBuIAowMDAwMDE0NDAzIDAwMDAwIG4g +CjAwMDAwMjE3OTcgMDAwMDAgbiAKMDAwMDAwNjMxOSAwMDAwMCBuIAowMDAwMDE0MTE4IDAwMDAw +IG4gCjAwMDAwMjE1NjQgMDAwMDAgbiAKMDAwMDAwNjA1MiAwMDAwMCBuIAowMDAwMDEzODcyIDAw +MDAwIG4gCjAwMDAwMjEzMDcgMDAwMDAgbiAKMDAwMDAwNTgxMSAwMDAwMCBuIAowMDAwMDEzNTkz +IDAwMDAwIG4gCjAwMDAwMjEwNDYgMDAwMDAgbiAKMDAwMDAwNTU2OSAwMDAwMCBuIAowMDAwMDMw +MTg5IDAwMDAwIG4gCjAwMDAwMTMzNTYgMDAwMDAgbiAKMDAwMDAwNTQ0MiAwMDAwMCBuIAowMDAw +MDA1MTgzIDAwMDAwIG4gCjAwMDAwMDI2MjEgMDAwMDAgbiAKMDAwMDAwNTAyMCAwMDAwMCBuIAow +MDAwMDI4MjUwIDAwMDAwIG4gCjAwMDAwMTMwNzAgMDAwMDAgbiAKMDAwMDAyMDgwMyAwMDAwMCBu +IAowMDAwMDI3OTk4IDAwMDAwIG4gCjAwMDAwMTI4MTMgMDAwMDAgbiAKMDAwMDAyMDU4NiAwMDAw +MCBuIAowMDAwMDI3NzI4IDAwMDAwIG4gCjAwMDAwMTI1MzkgMDAwMDAgbiAKMDAwMDAyMDMwNyAw +MDAwMCBuIAowMDAwMDI5MjcxIDAwMDAwIG4gCjAwMDAwMjc0NTUgMDAwMDAgbiAKMDAwMDAyODUw +MiAwMDAwMCBuIAowMDAwMDEyMjUwIDAwMDAwIG4gCjAwMDAwMjAwMjkgMDAwMDAgbiAKMDAwMDAy +NzIxNCAwMDAwMCBuIAowMDAwMDExOTUzIDAwMDAwIG4gCjAwMDAwMTk3NzAgMDAwMDAgbiAKMDAw +MDAyNjk2NiAwMDAwMCBuIAowMDAwMDExNjc5IDAwMDAwIG4gCjAwMDAwMTk1MDkgMDAwMDAgbiAK +MDAwMDAyNjc0MyAwMDAwMCBuIAowMDAwMDExNDIyIDAwMDAwIG4gCjAwMDAwMTkyNTAgMDAwMDAg +biAKMDAwMDAyNjQ3MSAwMDAwMCBuIAowMDAwMDExMTM0IDAwMDAwIG4gCjAwMDAwMTg5NjEgMDAw +MDAgbiAKMDAwMDAwNTQ5NCAwMDAwMCBuIAowMDAwMDI4OTE3IDAwMDAwIG4gCjAwMDAwMjkwMDIg +MDAwMDAgbiAKMDAwMDAyOTI1MCAwMDAwMCBuIAowMDAwMDI5ODAxIDAwMDAwIG4gCjAwMDAwMjk5 +MjYgMDAwMDAgbiAKMDAwMDAzMDE2OCAwMDAwMCBuIAowMDAwMDMwNjU3IDAwMDAwIG4gCjAwMDAw +MzA3NjAgMDAwMDAgbiAKMDAwMDAzMDk5MCAwMDAwMCBuIAowMDAwMDMxNDYwIDAwMDAwIG4gCjAw +MDAwMzE1NTggMDAwMDAgbiAKMDAwMDAzMTgyNSAwMDAwMCBuIAowMDAwMDMzMDA2IDAwMDAwIG4g +CnRyYWlsZXIKPDwgL1NpemUgMTE3IC9Sb290IDEgMCBSIC9JbmZvIDIgMCBSCj4+CnN0YXJ0eHJl +ZgozMzQ0NgolJUVPRgo= + +------=_NextPart_000_0001_01C385E1.31D31A00-- + +\start +Date: Sun, 28 Sep 2003 21:32:14 -0400 +From: root +To: bill.page1@sympatico.ca +Subject: Re: [Axiom-developer] )show command blocks the interaction between TeXmacs and Axiom (was: Handling of autoload messages in TeXmacs) + +Bill, + +The mechanism for generating tex code (via )set output tex on) is the same +mechanism for generating fortran code (via )set output fortran on). We could, +in a very general way, implement scheme code (via )set output texmacs on). +You can't change the meaning of the generated tex code as the previous +interface relied on it and we may yet get a chance to use it again. +(It appears that the Techexplorer code has been sold to another company). +Look at the algebra files and you'll see how this works. Making a scheme +code generator is basically just cloning the methods for Tex generation and +generating your own scheme code. + +The AXIOM Sockets message is generated because sman is not running. +sman (superman) is the process that is really supposed to start when you +type axiom. It runs interpsys as a subprocess (as well as graphics, hypertex, +clef, etc). I have to get sman running to get the rest of it to run. + +The code for this is coming but I need an alpha version of the book first +as the documentation is more important. + +We can easily get rid of all the headers. We could even create a +)set headers off command that could be either the default or put in +your .axiom.input file. I'll put this on the TODO list. + +\start +Date: 28 Sep 2003 21:33:32 -0400 +From: Bill Page +To: daly@idsi.net +Subject: Re: [Axiom-developer] Re: patch to tex.spad.pamphlet + +Tim, + +TeX does not understand \sqrt[n]{} but LaTex does. Try + +------- t.tex --- + +\documentclass{article} +\begin{document} +$$ +\sqrt[n]{x} +$$ +$$ +\root{n} \of {x} +$$ +\end{document} + +---------------- + +latex t.tex +xdvi t.dvi + +Texmacs seems to prefer LaTex style input not the old +TeX style. + +Cheers, +Bill Page. + +On Sun, 2003-09-28 at 21:13, root wrote: +> Bill, +> +> These are not equivalent. Put the following lines in t.tex: +> +> $\sqrt[n]{x}$ +> +> $\root{n} \of {x}$ +> +> \bye +> +> Then type: +> +> tex t.tex +> xdvi t.dvi +> +> The results are nowhere near the same. The \root... form generates the correct +> result. The problem must reside on the TeXmacs side. + +\start +Subject: Re: [Axiom-developer] Re: patch to tex.spad.pamphlet +From: Bill Page +To: daly@idsi.net +Date: 28 Sep 2003 21:51:55 -0400 + +Tim, + +Ok, Cloning tex.spad to texmacs.spad (or latex.spad) seems +fairly easy to me. But how do you implement a new command +like + + )set output texmacs on + +?? + +Also, I am quite interested in this line-breaker program. +Texmacs does not seem to apply any line-break algorithm +to what Axiom generates so the output can look +quite unreasonable. For example I tried the first example +in the book: + + integrate(1/(x**3 * (a+b*x)**(1/3)),x) + +and the result is not much like the output as shown in +the book. It is all on one line. + +I recall that the line break program was in C. Perhaps +it wouldn't be too hard to incorporate it into the +tm_axiom filter program. + +This also brings to mind another option here. I could +modify the tm_axiom program to convert \root{n} \of {x} +to the LaTex form before passing it to TeXmacs. That way +we could continue to use Axiom's tex output. + +Could you send me the line-break program? Then I will +give this a try. + +On Sun, 2003-09-28 at 21:38, root wrote: +> Yes, I understand that TeXmacs wants LaTex. +> Axiom doesn't generate LaTex anywhere. +> The TeX code is used in various places (including generating the book) +> and tools depend on it (e.g. the line-breaker used to generate the book). +> We can't change Axiom's TeX generation. +> +> We could implement a TeXmacs code generator in parallel. (You'll get that +> message in a few seconds. The net is rather fast tonight :-) ) +> + +\start +Date: Sun, 28 Sep 2003 21:38:40 -0400 +From: root +To: bill.page1@sympatico.ca +Subject: Re: [Axiom-developer] Re: patch to tex.spad.pamphlet + +Yes, I understand that TeXmacs wants LaTex. +Axiom doesn't generate LaTex anywhere. +The TeX code is used in various places (including generating the book) +and tools depend on it (e.g. the line-breaker used to generate the book). +We can't change Axiom's TeX generation. + +We could implement a TeXmacs code generator in parallel. (You'll get that +message in a few seconds. The net is rather fast tonight :-) ) + +\start +Date: 28 Sep 2003 22:07:01 -0400 +From: Bill Page +To: daly@idsi.net +Subject: [Axiom-developer] tex output + +Tim, + +Try the last example on page 2 + + )set output tex on + radix(10**100,32) + +That doesn't look like proper TeX or LaTex to me... + +\start +Date: 28 Sep 2003 22:21:09 -0400 +From: Bill Page +To: daly@idsi.net +Subject: [Axiom-developer] line-breaker.c (was: patch to tex.spad.pamphlet) + +Tim, + +I seem to be missing the header file + +#include "useproto.h" + +Could you please send it also? + +\start +Date: Sun, 28 Sep 2003 22:25:12 -0400 +From: root +To: bill.page1@sympatico.ca +Subject: [Axiom-developer] Re: line-breaker.c (was: patch to tex.spad.pamphlet) + +/* released under the Modified BSD License */ + +#ifndef _USEPROTO_H_ +#define _USEPROTO_H_ 1 + +#if defined(SGIplatform)||defined(LINUXplatform)||defined(HPplatform) ||defined(RIOSplatform) ||defined(RIOS4platform) || defined(SUN4OS5platform) +#ifdef _NO_PROTO +#undef _NO_PROTO +#endif +#ifndef NeedFunctionPrototypes +#define NeedFunctionPrototypes 1 +#endif +#endif /*SGIplatform ... */ + + +#if defined(ALPHAplatform) +#ifdef __STDC__ + +#ifdef _NO_PROTO +#undef _NO_PROTO +#endif +#ifndef NeedFunctionPrototypes +#define NeedFunctionPrototypes 1 +#endif + +#else + +#define _NO_PROTO +#undef NeedFunctionPrototypes + +#endif +#endif /* ALPHA */ + + + +#ifdef SUNplatform +#define _NO_PROTO +#define const +#endif + +#endif /* _USEPROTO_H_ */ + +\start +Date: Sun, 28 Sep 2003 22:20:20 -0400 +From: root +To: bill.page1@sympatico.ca +Subject: [Axiom-developer] Re: tex output + +The TeX generation depends on each domain to figure out the proper way +to format the output from that domain. (In Java terms each class has to +know how to Tex format its output). + +One of the hassles of creating the book is that various domains need work. +I could stop and fix them or I can continue work on the book. In this +particular case it is prettier to generate \verbatim tags around the +original output rather than $$ .. $$ tags. However, the result is technically +correct as this IS math output. TeX doesn't usually deal in base 32 and any +author wouldn't normally rely on TeX to properly format strange base numbers. + +The \leqno tag puts the equation number at the left. The $$ specifies a math +out-of-line format. The number is a proper base32 number. If I clip it and +tex it I get proper (albeit slanty) output. + +\start +Date: 28 Sep 2003 22:32:06 -0400 +From: Bill Page +To: daly@idsi.net +Subject: [Axiom-developer] Re: tex output + +Tim, + +You wrote: + +> If I clip it and tex it I get proper (albeit slanty) output. + +>From the stuff I clipped from the output of Axiom: + +[wspage@asus wspage]$ cat t2.tex +$4#\I9#\L#\K#\I#\P9#\G#\R#\S#\T#\C5#\I#\F164#\P#\O5#\V72#\M#\E827226#\J#\S#\L#\A#\P462585#\Q7#\H00000000000000000000$ + +\bye + +I get: + +[wspage@asus wspage]$ tex t2.tex +This is TeX, Version 3.14159 (Web2C 7.3.1) +(t2.tex +! You can't use `macro parameter character #' in horizontal mode. +l.1 4# + +\I9#\L#\K#\I#\P9#\G#\R#\S#\T#\C5#\I#\F164#\P#\O5#\V72#\M#\E827226#\J#\... + +? + +---------- + +What am I doing wrong? The use of # seems incorrect to me. +But then I have never really used pure TeX. + +On Sun, 2003-09-28 at 22:20, root wrote: +> The TeX generation depends on each domain to figure out the proper way +> to format the output from that domain. (In Java terms each class has to +> know how to Tex format its output). +> +> One of the hassles of creating the book is that various domains need work. +> I could stop and fix them or I can continue work on the book. In this +> particular case it is prettier to generate \verbatim tags around the +> original output rather than $$ .. $$ tags. However, the result is technically +> correct as this IS math output. TeX doesn't usually deal in base 32 and any +> author wouldn't normally rely on TeX to properly format strange base numbers. +> +> The \leqno tag puts the equation number at the left. The $$ specifies a math +> out-of-line format. The number is a proper base32 number. If I clip it and +> tex it I get proper (albeit slanty) output. +> +> Tim + +\start +Date: Sun, 28 Sep 2003 22:08:59 -0400 +From: root +To: bill.page1@sympatico.ca +Subject: Re: [Axiom-developer] Re: patch to tex.spad.pamphlet + +Re: cloning. you need to look at the algebra code also. The tex is +generated as a result of the algebra code output calls. + +The file src/interp/setq.lisp.pamphlet contains the top level command list. +Search for the logic using the $systemCommands variable and you'll see how +these get processed. See src/interp/spad.lisp.pamphlet and follow the +$texFormat variable and you'll see how TeX gets generated. +In src/interp/setvars.boot.pamphlet you'll see the )set output tex command. +(beware that setvars.boot is a bootstrap file so you have to regen and reinsert +the generated .clisp file) + +In the src/algebra/tex.spad.pamphlet file you'll find the domain that implements +TeX at the algebra level (TexFormat aka TEX). You could copy this domain and +make a TeXmacs domain which would implement the same interface. That way the +Tex and TeXmacs domains can be freely interchanged. + +The source for the linebreak code is appended. This tool knows the form of +Axiom's TeX output code. To try it do: + +(1) compile it +(2) start Axiom +(3) )set output tex on +(4) clip the tex output +(5) change the $$ ... $$ to \[ .. \] +(6) run this program +(7) tex the output + +Tim + +========================================================================= +/* Released under the Modified BSD license attached to Axiom sources. + * TeX Display Math Mode Line Breaking Program + * + * Author: Robert S. Sutor + * + * Date: 1991 + * + * Change History: + * + * 01/19/92 RSS Change to use \[ \] instead of $$ $$ + * + * 09/01/92 RSS Format and fix =-. + * + * Operation: + * + * This program reads standard input and writes to standard output. Display math + * mode starts with \[ at the beginning of a line and ends with \]. All lines + * not in display math mode are simply printed on standard output. The + * expressions in display math mode are broken so that they fit on a page + * better (line breaking). + * + * The array stuff is being converted to use the array node type. + * + * Restrictions: + * + * 1. Assume \[ and \] start in column 1 and are the only things on the lines. + * + * 2. Comments in display math mode are not preserved. + * + * 3. This is meant to deal with output from the AXIOM computer algebra system. + * Unpredictable results may occur if used with hand-generated TeX code or + * TeX code generated by other programs. + */ + +/* + * Include files and #defines. + */ +#include "useproto.h" +#include +#include +#include +#include + +#define MATHBUFLEN 128*8192 +#define MAXMATHTOKEN 80 +#define MAXCHARSINLINE 60 +#define FATDELIMMULT 2 + +#ifndef max +#define max(a,b) (((a) > (b)) ? (a) : (b)) +#endif +#ifndef min +#define min(a,b) (((a) < (b)) ? (a) : (b)) +#endif + +#define TRUE 1 +#define FALSE 0 + +#define STRCHREQ(str,char) (str[0] == char) + +/* + * Type declarations. + */ + +enum nodeTypes { + N_NODE, + N_TEXT, + N_ARRAY +}; + +typedef struct listNodeStruct { + struct listNodeStruct *nextListNode; + struct listNodeStruct *prevListNode; + enum nodeTypes nodeType; + long width; + long realWidth; + union { + char *text; + struct listNodeStruct *node; + struct arrayNodeStruct *array; + } data; +} listNode; + +typedef struct arrayNodeStruct { + int cols; + listNode *argsNode; + listNode *entries; /* linked list of nodes, each pointing to a + * row */ +} arrayNode; + + +/* + * Global Variables. + */ + +char line[1024]; +char blanks[] = " "; +char lastPrinted = '\0'; +int indent = 0; +char mathBuffer[MATHBUFLEN], mathToken[MAXMATHTOKEN]; +int lineLen, mathBufferLen, mathBufferPtr, mathTokenLen; +listNode *mathList; +int charsOut, fatDelimiter; +int maxLineWidth = 4500; /* 4.5 inches * 1000 */ +int maxLineSlop = 0; /* 0.0 inches * 1000 */ +int charTable[256]; +int avgCharWidth; +int spaceWidths[5], extraOverWidth; +int arrayDepth = 0, arrayMaxDepth = 3; +int charMultNum, charMultDenom; +int sinWidth, cosWidth, tanWidth, erfWidth; +long outLineNum = 0L; + +/* + * Function Prototypes. + */ +#ifndef _NO_PROTO +void arrayTooDeep(); +int breakFracProd(listNode *, long, char *, char *, int); +int breakFunction(listNode *, long); +int breakList(listNode *, long); +int breakMathList(listNode *, long); +int breakNumber(listNode *, long); +int breakPMEB(listNode *, long); +int breakParen(listNode *, long); +int bufferMathLines(); +void buildMathList(); +int charWidth(char); +void computeNodeWidth(listNode *); +long computeWidth(listNode *); +void displaySplitMsg(char *, int); +void error(char *, char *); +void freeMathList(listNode *); +void getOptions(int, char **); +void initCharTable(); +listNode *insertStringAfter(char *, listNode *); +listNode *insertStringAtBack(char *, listNode *); +listNode *insertStringAtFront(char *, listNode *); +int newLineIfNecessary(int); +listNode *newListNode(enum nodeTypes); +int nextMathToken(); +int printChar(char); +int printMathList(listNode *, int); +int printString(char *); +void resetCharMults(); +listNode *string2NodeList(char *, listNode *); +void ttCharMults(); +#else +void arrayTooDeep(); +int breakFracProd(); +int breakFunction(); +int breakList(); +int breakMathList(); +int breakNumber(); +int breakPMEB(); +int breakParen(); +int bufferMathLines(); +void buildMathList(); +int charWidth(); +void computeNodeWidth(); +long computeWidth(); +void displaySplitMsg(); +void error(); +void freeMathList(); +void getOptions(); +void initCharTable(); +listNode *insertStringAfter(); +listNode *insertStringAtBack(); +listNode *insertStringAtFront(); +int newLineIfNecessary(); +listNode *newListNode(); +int nextMathToken(); +int printChar(); +int printMathList(); +int printString(); +void resetCharMults(); +listNode *string2NodeList(); +void ttCharMults(); +#endif + + +/* + * Function Definitions. + */ + +int +#ifndef _NO_PROTO +main(int argc, char *argv[]) +#else +main(argc,argv) +int argc; +char *argv[]; +#endif +{ + int mathLinesRead; + + getOptions(argc, argv); + initCharTable(); + + /* + * Read stdin line by line. When we come to a line that starts with \[, + * go into math mode. + */ + + while (gets(line) != NULL) { + lineLen = strlen(line); + if ((lineLen > 1) && ('\\' == line[0]) && ('[' == line[1])) { + puts("\\["); + outLineNum++; + + mathLinesRead = bufferMathLines(); + if (mathLinesRead <= 0) { + puts("\\quad"); + outLineNum++; + } + else { + fatDelimiter = 1; + arrayDepth = 0; + mathList = newListNode(N_NODE); + buildMathList(mathList); + resetCharMults(); + computeWidth(mathList); + if (mathList->width > maxLineWidth) + fprintf(stderr, "Width = %ld units, Output line = %ld.\n", mathList->width, outLineNum); + breakMathList(mathList, maxLineWidth); + charsOut = 0; + if (FALSE == printMathList(mathList->data.node, TRUE)) { + putc('\n', stdout); + outLineNum++; + } + freeMathList(mathList); + } + puts("\\]"); + } + else + puts(line); + outLineNum++; + } + return 0; +} + +/* + * breakFracProd: + * + * Arguments: + * + * n : the starting node at which we are to try to break + * + * lineWidth : the maximum width of a line + * + * match : either "\\over" or "\\ " + * + * label : either "quotient" or "product" + * + * paren : add parentheses (TRUE or FALSE) + * + * + * Returns: TRUE or FALSE, depending on whether the expression was broken + * + * + * Function: Tries to break up a quotient t1 \over t2 or a product t1 \ t2 by + * splitting and parenthesizing the numerator and/or the denominator. + */ + +int +#ifndef _NO_PROTO +breakFracProd(listNode * n, long lineWidth, char *match, char *label, int paren) +#else +breakFracProd(n,lineWidth,match,label,paren) +listNode * n; +long lineWidth; +char *match; +char *label; +int paren; +#endif +{ + + listNode *rootNode, *lastNode, *t1, *t2; + int ok; + long workWidth1, workWidth2; + + if (n->nodeType != N_NODE) + return FALSE; + + rootNode = n; + + ok = FALSE; + t1 = n = rootNode->data.node; + n = n->nextListNode; + if (n) { + if ((n->nodeType == N_TEXT) && + (0 == strcmp(n->data.text, match))) { + t2 = n->nextListNode; + if (t2 && (NULL == t2->nextListNode)) + ok = TRUE; + } + } + + displaySplitMsg(label, ok); + + if (ok) { + + /* for products, determine rough widths for the two factors */ + + if (0 == strcmp(label, "product")) { + computeNodeWidth(t1); + computeNodeWidth(t2); + workWidth1 = lineWidth - charWidth(' '); + + if (workWidth1 / 2 > t1->realWidth) { + workWidth2 = workWidth1 - t1->realWidth; + workWidth1 = t1->realWidth; + } + else if (workWidth1 / 2 > t2->realWidth) { + workWidth1 = workWidth1 - t2->realWidth; + workWidth2 = t2->realWidth; + } + else + workWidth1 = workWidth2 = workWidth1 / 2; + + if (paren) { + if (t1->realWidth > workWidth1) + workWidth1 = workWidth1 - 4 * FATDELIMMULT * charWidth('('); + if (t2->realWidth > workWidth2) + workWidth2 = workWidth2 - 4 * FATDELIMMULT * charWidth('('); + } + } + else /* "quotient" */ + workWidth1 = workWidth2 = + lineWidth - paren * 4 * FATDELIMMULT * charWidth('('); + + if ((t1->nodeType == N_NODE) && (t1->realWidth > workWidth1)) { + t1->width = t1->realWidth; + + if (breakMathList(t1, workWidth1) && paren) { + /* insert the \left( */ + lastNode = insertStringAtFront("\\left(", t1); + + while (lastNode->nextListNode) + lastNode = lastNode->nextListNode; + + /* insert the \right) */ + insertStringAtBack("\\right)", lastNode); + } + } + + if ((t2->nodeType == N_NODE) && (t2->realWidth > workWidth2)) { + t2->width = t2->realWidth; + + if (breakMathList(t2, workWidth2) && paren) { + /* insert the \left( */ + lastNode = insertStringAtFront("\\left(", t2); + + while (lastNode->nextListNode) + lastNode = lastNode->nextListNode; + + /* insert the \right) */ + insertStringAtBack("\\right)", lastNode); + } + } + + return TRUE; + } + return FALSE; +} + + +int +#ifndef _NO_PROTO +breakFunction(listNode * n, long lineWidth) +#else +breakFunction(n,lineWidth) +listNode * n; +long lineWidth; +#endif +{ + listNode *rootNode, *tmpNode, *lastNode, *t1, *t2, *t3; + int ok = FALSE; + long workWidth, maxWidth = 0; + + if (n->nodeType != N_NODE) + return FALSE; + + n = n->data.node; + + if (n->nodeType == N_NODE) + return FALSE; + + if ((0 == strcmp(n->data.text, "\\sin")) || + (0 == strcmp(n->data.text, "\\cos")) || + (0 == strcmp(n->data.text, "\\tan")) || + (0 == strcmp(n->data.text, "\\log")) || + (0 == strcmp(n->data.text, "\\arctan")) || + (0 == strcmp(n->data.text, "\\erf"))) { + computeNodeWidth(n); + ok = TRUE; + } + + displaySplitMsg("function", ok); + + if (ok) { + t2 = newListNode(N_NODE); + t2->data.node = n->nextListNode; + t2->prevListNode = n; + n->nextListNode = t2; + ok = breakMathList(t2, lineWidth - n->realWidth); + } + + return ok; +} + +/* + * breakList: + * + * Arguments: + * + * n : the starting node at which we are to try to break + * + * lineWidth : the maximum width of a line + * + * + * Returns: TRUE or FALSE, depending on whether the expression was broken + * + * + * Function: Tries to split an expression that is bracketed by \left[ and + * \right] (or \left\{ and \right\} and contains at least one comma. + */ + +int +#ifndef _NO_PROTO +breakList(listNode * n, long lineWidth) +#else +breakList(n,lineWidth) +listNode * n; +long lineWidth; +#endif +{ + listNode *rootNode, *tmpNode, *lastNode, *t1, *t2, *t3; + int ok, comma; + long workWidth, maxWidth = 0; + + if (n->nodeType != N_NODE) + return FALSE; + + rootNode = n; + + t1 = n = rootNode->data.node; + comma = ok = FALSE; + + if ((t1->nodeType == N_TEXT) && + (0 == strcmp(t1->data.text, "\\left")) && + (t1->nextListNode) && + (t1->nextListNode->nodeType == N_TEXT) && + ((0 == strcmp(t1->nextListNode->data.text, "[")) || + (0 == strcmp(t1->nextListNode->data.text, "\\{")))) { + + t1 = t1->nextListNode->nextListNode; + + /* + * Check for a special case: sometimes the whole body of the list is + * a node. Flatten this, if possible. + */ + + if ((t1->nodeType == N_NODE) && + (t1->nextListNode->nodeType == N_TEXT) && + (0 == strcmp(t1->nextListNode->data.text, "\\right"))) { + tmpNode = t1->prevListNode; + t2 = t1->nextListNode; + t3 = t1->data.node; + tmpNode->nextListNode = t3; + t3->prevListNode = tmpNode; + while (t3->nextListNode) + t3 = t3->nextListNode; + t3->nextListNode = t2; + t2->prevListNode = t3; + free(t1); + t1 = tmpNode->nextListNode; + } + + while (t1->nextListNode && !ok) { + if ((t1->nodeType == N_TEXT) && + (0 == strcmp(t1->data.text, ","))) + comma = TRUE; + else if ((t1->nodeType == N_TEXT) && + (0 == strcmp(t1->data.text, "\\right")) && + (t1->nextListNode->nodeType == N_TEXT) && + ((0 == strcmp(t1->nextListNode->data.text, "]")) || + (0 == strcmp(t1->nextListNode->data.text, "\\}"))) && + (NULL == t1->nextListNode->nextListNode)) { + ok = comma; + tmpNode = t1->nextListNode; + } + t1 = t1->nextListNode; + } + } + + displaySplitMsg("list", ok); + + if (ok) { + if (arrayDepth >= arrayMaxDepth) { + arrayTooDeep(); + return FALSE; + } + + /* + * Create array environment + */ + + lastNode = insertStringAtFront("\\begin{array}{@{}l}\\displaystyle", rootNode); + arrayDepth++; + insertStringAtBack("\\end{array}", tmpNode); + + /* + * Now break at best place short of width. Start after the + * environment begins and after the \left( + */ + + n = lastNode->nextListNode->nextListNode->nextListNode; + + /* + * try to split the first expression if too big + */ + + tmpNode = n->nextListNode; + if (breakMathList(n, lineWidth)) { + workWidth = n->width; + n = tmpNode; + } + else + workWidth = n->width; + maxWidth = workWidth; + + while (n->nextListNode) { + if ((n->nodeType == N_TEXT) && + ((0 == strcmp(n->data.text, ",")) || + (0 == strcmp(n->data.text, "\\:"))) && + (workWidth + n->nextListNode->width > lineWidth)) { + maxWidth = max(maxWidth, workWidth); + n = insertStringAfter("\\right. \\\\ \\\\ \\displaystyle \\left.", n); + + /* + * try to split the next expression if too big + */ + + tmpNode = n->nextListNode; + if (breakMathList(n, lineWidth)) { + workWidth = n->width; + n = tmpNode; + } + else + workWidth = n->width; + } + else { + workWidth += n->nextListNode->width; + n = n->nextListNode; + } + } + + rootNode->width = rootNode->realWidth = + rootNode->data.node->width = rootNode->data.node->realWidth = + maxWidth; + arrayDepth--; + + return TRUE; + } + + return FALSE; +} + +/* + * breakNumber: + * + * Arguments: + * + * rootNode : the starting node at which we are to try to break + * + * lineWidth : the maximum width of a line + * + * + * Returns: TRUE or FALSE, depending on whether the expression was broken + * + * + * Function: Tries to break an expression that contains only digits and possibly + * a decimal point. + */ + +int +#ifndef _NO_PROTO +breakNumber(listNode * rootNode, long lineWidth) +#else +breakNumber(rootNode,lineWidth) +listNode * rootNode; +long lineWidth; +#endif +{ + int ok = TRUE; + listNode *n, *arrNode, *rowNode, *colNode; + long workWidth, maxWidth = 0; + + if (rootNode->nodeType != N_NODE) + return FALSE; + + n = rootNode->data.node; + while (n && ok) { + if ((n->nodeType == N_TEXT) && + (n->data.text[1] == '\0') && + (isdigit(n->data.text[0]) || ('.' == n->data.text[0]))) { + n = n->nextListNode; + } + else + ok = FALSE; + } + + displaySplitMsg("number", ok); + + if (ok) { + if (arrayDepth >= arrayMaxDepth) { + arrayTooDeep(); + return FALSE; + } + + arrayDepth++; + arrNode = newListNode(N_ARRAY); + arrNode->data.array->entries = rowNode = newListNode(N_NODE); + arrNode->data.array->cols = 1; + arrNode->data.array->argsNode = newListNode(N_NODE); + string2NodeList("{@{}l}", arrNode->data.array->argsNode); + + n = rootNode->data.node; + computeWidth(n); + maxWidth = workWidth = n->width; + rowNode->data.node = colNode = newListNode(N_NODE); + colNode->data.node = n; + n = n->nextListNode; + + while (n) { + computeWidth(n); + + if (workWidth + n->width > lineWidth) { + maxWidth = max(maxWidth, workWidth); + + /* + * time to start a new row + */ + + n->prevListNode->nextListNode = NULL; + n->prevListNode = NULL; + workWidth = n->width; + rowNode->nextListNode = newListNode(N_NODE); + rowNode = rowNode->nextListNode; + rowNode->data.node = colNode = newListNode(N_NODE); + colNode->data.node = n; + } + else + workWidth += (n->nextListNode) ? n->nextListNode->width :0 ; + + n = n->nextListNode; + } + + rootNode->data.node = arrNode; + rootNode->width = rootNode->realWidth = + arrNode->width = arrNode->realWidth = maxWidth; + arrayDepth--; + + return TRUE; + } + + return FALSE; +} + +void +#ifndef _NO_PROTO +resetWidths(listNode * n) +#else +resetWidths(n) +listNode * n; +#endif +{ + if (n) { + n->width = -1; + n->realWidth = 0; + if (n->nodeType == N_NODE) + resetWidths(n->data.node); + resetWidths(n->nextListNode); + } +} + +/* + * breakParen: + * + * Arguments: + * + * n : the starting node at which we are to try to break + * + * lineWidth : the maximum width of a line + * + * + * Returns: TRUE or FALSE, depending on whether the expression was broken + * + * + * Function: Tries to split an expression that is bracketed by left( and \right) + * (e.g., a factor). + */ + +int +#ifndef _NO_PROTO +breakParen(listNode * n, long lineWidth) +#else +breakParen(n,lineWidth) +listNode * n; +long lineWidth; +#endif +{ + listNode *tmpNode, *workNode; + int ok = FALSE; + + if (n->nodeType != N_NODE) + goto say_msg; + + tmpNode = n->data.node; + + /* + * check for \left + */ + + if ((tmpNode == NULL) || + (tmpNode->nodeType == N_NODE) || + (0 != strcmp(tmpNode->data.text, "\\left"))) + goto say_msg; + + /* + * check for '(' + */ + + tmpNode = tmpNode->nextListNode; + + if ((tmpNode == NULL) || + (tmpNode->nodeType == N_NODE) || + ('(' != tmpNode->data.text[0])) + goto say_msg; + + /* + * now move to the end + */ + + tmpNode = tmpNode->nextListNode; + + if (tmpNode != NULL) { + while (tmpNode->nextListNode) + tmpNode = tmpNode->nextListNode; + tmpNode = tmpNode->prevListNode; + } + + /* + * check for \right + */ + + if ((tmpNode == NULL) || + (tmpNode->nodeType == N_NODE) || + (0 != strcmp(tmpNode->data.text, "\\right"))) + goto say_msg; + + /* + * check for ')' + */ + + tmpNode = tmpNode->nextListNode; + + if ((tmpNode == NULL) || + (tmpNode->nodeType == N_NODE) || + (')' != tmpNode->data.text[0])) + goto say_msg; + + ok = TRUE; + +say_msg: + displaySplitMsg("parenthesized expression", ok); + + if (ok) { + + /* + * nest the whole inside if necessary, i.e., there is more than one + * term between the ( and the \right + */ + + if (tmpNode->prevListNode->prevListNode != + n->data.node->nextListNode->nextListNode) { + workNode = newListNode(N_NODE); + workNode->data.node = n->data.node->nextListNode->nextListNode; + n->data.node->nextListNode->nextListNode = workNode; + tmpNode->prevListNode->prevListNode->nextListNode = NULL; + tmpNode->prevListNode->prevListNode = workNode; + workNode->prevListNode = n->data.node->nextListNode; + workNode->nextListNode = tmpNode->prevListNode; + resetWidths(workNode); + computeWidth(workNode); + } + + return breakMathList(n->data.node->nextListNode->nextListNode, + lineWidth - 4 * FATDELIMMULT * charWidth('(')); + } + + return FALSE; +} + +/* + * breakPMEB: + * + * Arguments: + * + * n : the starting node at which we are to try to break + * + * lineWidth : the maximum width of a line + * + * + * Returns: TRUE or FALSE, depending on whether the expression was broken + * + * + * Function: Tries to split an expression that contains only +, -, = or \ as + * operators. The split occurs after the operator. + */ + +int +#ifndef _NO_PROTO +breakPMEB(listNode * n, long lineWidth) +#else +breakPMEB(n,lineWidth) +listNode * n; +long lineWidth; +#endif +{ + char *s; + listNode *rootNode, *tmpNode, *lastNode; + int ok, op; + long workWidth, maxWidth = 0; + + if (n->nodeType != N_NODE) + return FALSE; + + if (n->width <= lineWidth + maxLineSlop) /* allow a little slop here */ + return FALSE; + + rootNode = n; + tmpNode = n = n->data.node; + ok = TRUE; + op = FALSE; + + while (n && ok) { + if (n->nodeType == N_TEXT) { + s = n->data.text; + if (STRCHREQ(s, '+') || STRCHREQ(s, '-') || STRCHREQ(s, '=') || + (0 == strcmp(s, "\\ "))) + op = TRUE; + else if ((0 == strcmp(s, "\\left")) || + (0 == strcmp(s, "\\right")) || + (0 == strcmp(s, "\\over")) || + STRCHREQ(s, ',')) { + ok = FALSE; + break; + } + } + tmpNode = n; + n = n->nextListNode; + } + ok = ok & op; + + displaySplitMsg("(+,-,=, )-expression", ok); + + + if (ok) { + if (arrayDepth >= arrayMaxDepth) { + arrayTooDeep(); + return FALSE; + } + + /* + * Create array environment + */ + + lastNode = insertStringAtFront("\\begin{array}{@{}l}\\displaystyle", rootNode); + arrayDepth++; + insertStringAtBack("\\end{array}", tmpNode); + + /* + * Now break at best place short of width. Start after the + * environment begins. + */ + + n = lastNode->nextListNode; + + /* + * try to split the first expression if too big + */ + + tmpNode = n->nextListNode; + if (breakMathList(n, lineWidth)) { + workWidth = n->width; + n = tmpNode; + } + else + workWidth = n->width; + maxWidth = workWidth; + + while (n->nextListNode) { + loop_top: + if ((n->nodeType == N_TEXT) && + (STRCHREQ(n->data.text, '+') || STRCHREQ(n->data.text, '-') || + STRCHREQ(n->data.text, '=') || + (0 == strcmp(n->data.text, "\\ "))) && + (workWidth > 24) && /* avoid - or + on their own line */ + (workWidth + n->nextListNode->width > lineWidth)) { + + if ((workWidth < lineWidth / 3) && + (breakMathList(n->nextListNode, lineWidth - workWidth))) { + n->nextListNode->width = -1; + n->nextListNode->realWidth = 0; + computeNodeWidth(n->nextListNode); + goto loop_top; + } + + /* + * \ means multiplication. Use a \cdot to make this clearer + */ + + if (0 == strcmp(n->data.text, "\\ ")) + n = insertStringAfter("\\cdot \\\\ \\\\ \\displaystyle", n); + else + n = insertStringAfter("\\\\ \\\\ \\displaystyle", n); + maxWidth = max(maxWidth, workWidth); + + /* + * try to split the next expression if too big + */ + + tmpNode = n->nextListNode; + if (breakMathList(n, lineWidth)) { + workWidth = n->width; + n = tmpNode; + } + else + workWidth = n->width; + } + else { + workWidth += n->nextListNode->width; + n = n->nextListNode; + } + } + + rootNode->width = rootNode->realWidth = + rootNode->data.node->width = rootNode->data.node->realWidth = + maxWidth; + arrayDepth--; + + return TRUE; + } + + return FALSE; +} + +/* + * breakMathList: + * + * Arguments: + * + * n : the starting node at which we are to try to break + * + * lineWidth : the maximum width of a line + * + * + * Returns: TRUE or FALSE, depending on whether the expression was broken + * + * + * Function: Tries various methods to break the expression up into multiple + * lines if the expression is too big. + */ + +int +#ifndef _NO_PROTO +breakMathList(listNode * n, long lineWidth) +#else +breakMathList(n,lineWidth) +listNode * n; +long lineWidth; +#endif +{ + int split = FALSE; + + /* + * Don't do anything if already short enough. + */ + + if (n->width <= lineWidth) + return FALSE; + + /* + * Can't split strings, so just return. + */ + + if (n->nodeType == N_TEXT) + return FALSE; + + blanks[indent] = ' '; + indent += 2; + blanks[indent] = '\0'; + + /* + * We know we have a node, so see what we can do. + */ + + /* + * Case 1: a product: t1 \ t2 + */ + + if (split = breakFracProd(n, lineWidth, "\\ ", "product", FALSE)) + goto done; + + /* + * Case 2: a sequence of tokens separated by +, - or = + */ + + if (split = breakPMEB(n, lineWidth)) + goto done; + + /* + * Case 3: a fraction of terms: t1 \over t2 + */ + + if (split = breakFracProd(n, lineWidth, "\\over", "quotient", TRUE)) + goto done; + + /* + * Case 4: a list of terms bracketed by \left[ and \right] with a comma + */ + + if (split = breakList(n, lineWidth)) + goto done; + + /* + * Case 5: a list of digits, possibly with one "." + */ + + if (split = breakNumber(n, lineWidth)) + goto done; + + /* + * Case 6: a parenthesized expression (e.g., a factor) + */ + + if (split = breakParen(n, lineWidth)) + goto done; + + /* + * Case 7: a function application + */ + + if (split = breakFunction(n, lineWidth)) + goto done; + +done: + blanks[indent] = ' '; + indent -= 2; + blanks[indent] = '\0'; + + return split; +} + +void +#ifndef _NO_PROTO +buildMathList(listNode * oldNode) +#else +buildMathList(oldNode) +listNode * oldNode; +#endif +{ + listNode *curNode, *tmpNode; + + curNode = NULL; + while (nextMathToken()) { + if (mathToken[0] == '}') + break; + if (mathToken[0] == '{') { + tmpNode = newListNode(N_NODE); + buildMathList(tmpNode); + } + else { + tmpNode = newListNode(N_TEXT); + tmpNode->data.text = strdup(mathToken); + } + if (curNode == NULL) { + oldNode->data.node = tmpNode; + } + else { + tmpNode->prevListNode = curNode; + curNode->nextListNode = tmpNode; + } + curNode = tmpNode; + } + + /* + * leave with one level of nesting, e.g., {{{x}}} --> {x} + */ + + tmpNode = oldNode->data.node; + while ( tmpNode && (tmpNode->nodeType == N_NODE) && + (tmpNode->nextListNode == NULL) ) { + oldNode->data.node = tmpNode->data.node; + free(tmpNode); + tmpNode = oldNode->data.node; + } +} + +int +bufferMathLines() +{ + + /* + * Returns number of lines read. Returns negative this number if + * end-of-file was reached before final \]. + */ + + char curChar, lastChar, *eq; + int i, linesRead = 0; + + mathBufferPtr = 0; + mathBufferLen = 0; + mathBuffer[0] = '\0'; + + while (gets(line) != NULL) { + lineLen = strlen(line); + + if (('\\' == line[0]) && (']' == line[1])) + return linesRead; + else { + linesRead++; + + /* + * Go through the line and change any unescaped % to a \0. Change + * any tab to a blank. + */ + + lastChar = ' '; + i = 0; + while ((curChar = line[i]) != '\0') { + if ((curChar == '%') && (lastChar != '\\')) { + line[i] = '\0'; + break; + } + else if (curChar == '\t') + curChar = line[i] = ' '; + i++; + lastChar = curChar; + } + lineLen = i; + + if (lineLen == 0) /* skip empty lines */ + ; + else { + + /* + * Stick the line in the math buffer. + */ + + if (mathBufferLen + 1 + lineLen >= MATHBUFLEN) + error("math buffer exceeded.", ""); + + if ((mathBufferLen > 0) && (mathBuffer[mathBufferLen - 1] != ' ')) { + strcat(mathBuffer, " "); + mathBufferLen++; + } + + if (lineLen) { + strcat(mathBuffer, line); + mathBufferLen += lineLen; + } + } + } + } + return (-linesRead); +} + +void +#ifndef _NO_PROTO +computeNodeWidth(listNode * n) +#else +computeNodeWidth(n) +listNode * n; +#endif +{ + char *s; + int i; + listNode *tmp; + + if (n->width != -1) /* only = -1 if unprocessed */ + return; + + n->realWidth = 0; + + if (n->nodeType == N_TEXT) { + s = n->data.text; + if (s[0] == '\\') { + if (s[2] == '\0') { + switch (s[1]) { + case ' ': + n->width = spaceWidths[0]; + break; + case ',': + n->width = spaceWidths[1]; + break; + case '!': + n->width = spaceWidths[2]; + break; + case ':': + n->width = spaceWidths[3]; + break; + case ';': + n->width = spaceWidths[4]; + break; + default: + n->width = avgCharWidth; + } + n->realWidth = n->width; + } + else if ((0 == strcmp(s, "\\displaystyle")) || + (0 == strcmp(s, "\\bf")) || + (0 == strcmp(s, "\\sf")) || + (0 == strcmp(s, "\\tt")) || + (0 == strcmp(s, "\\rm")) || + (0 == strcmp(s, "\\hbox")) || + (0 == strcmp(s, "\\mbox")) || + (0 == strcmp(s, "\\overline")) || + (0 == strcmp(s, "\\textstyle")) || + (0 == strcmp(s, "\\scriptstyle")) || + (0 == strcmp(s, "\\scriptscriptstyle"))) { + n->width = 0; + } + else if (0 == strcmp(s, "\\ldots")) + n->width = 3 * charWidth('.'); + else if (0 == strcmp(s, "\\left")) { + tmp = n->nextListNode; + if (tmp->nodeType != N_TEXT) + error("unusual token following \\left", ""); + n->realWidth = n->width = (tmp->data.text[0] == '.') + ? 0 + : charWidth(tmp->data.text[0]); + tmp->width = 0; + fatDelimiter = 1; + } + else if (0 == strcmp(s, "\\over")) { + + /* + * have already added in width of numerator + */ + computeNodeWidth(n->nextListNode); + n->realWidth = extraOverWidth + max(n->prevListNode->width, n->nextListNode->width); + n->width = n->realWidth - n->prevListNode->width; + n->nextListNode->width = 0; + fatDelimiter = FATDELIMMULT; + } + else if (0 == strcmp(s, "\\right")) { + tmp = n->nextListNode; + if (tmp->nodeType != N_TEXT) + error("unusual token following \\right", ""); + n->realWidth = n->width = fatDelimiter * + ((tmp->data.text[0] == '.') ? 0 : charWidth(tmp->data.text[0])); + tmp->width = 0; + fatDelimiter = 1; + } + else if (0 == strcmp(s, "\\root")) { + computeNodeWidth(n->nextListNode); /* which root */ + n->nextListNode->nextListNode->width = 0; /* \of */ + tmp = n->nextListNode->nextListNode->nextListNode; + computeNodeWidth(tmp); /* root of */ + n->realWidth = n->width = tmp->width + (avgCharWidth / 2) + + max(avgCharWidth, n->nextListNode->width); + n->nextListNode->width = 0; + tmp->width = 0; + } + else if (0 == strcmp(s, "\\sqrt")) { + computeNodeWidth(n->nextListNode); + n->realWidth = n->width = + avgCharWidth + (avgCharWidth / 2) + n->nextListNode->width; + n->nextListNode->width = 0; + } + else if (0 == strcmp(s, "\\zag")) { + computeNodeWidth(n->nextListNode); + computeNodeWidth(n->nextListNode->nextListNode); + n->realWidth = n->width = avgCharWidth + max(n->nextListNode->width, + n->nextListNode->nextListNode->width); + n->nextListNode->width = 0; + n->nextListNode->nextListNode->width = 0; + fatDelimiter = FATDELIMMULT; + } + else if ((0 == strcmp(s, "\\alpha")) || + (0 == strcmp(s, "\\beta")) || + (0 == strcmp(s, "\\pi"))) { + n->realWidth = n->width = avgCharWidth; + } + else if (0 == strcmp(s, "\\sin")) + /* should use table lookup here */ + n->realWidth = n->width = sinWidth; + else if (0 == strcmp(s, "\\cos")) + n->realWidth = n->width = cosWidth; + else if (0 == strcmp(s, "\\tan")) + n->realWidth = n->width = tanWidth; + else if (0 == strcmp(s, "\\erf")) + n->realWidth = n->width = erfWidth; + + /* + * otherwise just compute length of token after \ + */ + else { + n->width = 0; + for (i = 1; i < strlen(s); i++) + n->width += charWidth(s[i]); + n->realWidth = n->width; + } + } + else if (s[1] == '\0') + switch (s[0]) { + case '^': + case '_': + tmp = n->nextListNode; + computeNodeWidth(tmp); + n->width = n->width = tmp->width; + tmp->width = 0; + break; + default: + n->realWidth = n->width = charWidth(s[0]); + } + else { + n->width = 0; + for (i = 0; i < strlen(s); i++) + n->width += charWidth(s[i]); + n->realWidth = n->width; + } + } + else { + n->realWidth = n->width = computeWidth(n->data.node); + } +} + +long +#ifndef _NO_PROTO +computeWidth(listNode * n) +#else +computeWidth(n) +listNode * n; +#endif +{ + long w = 0; + + while (n != NULL) { + if (n->width == -1) { + computeNodeWidth(n); + w += n->width; + } + n = n->nextListNode; + } + return w; +} + +/* + * displaySplitMsg: + * + * Arguments: + * + * s : a string describing the kind of expression we are trying to split. + * + * ok : whether we can split it (TRUE or FALSE) + * + * + * Returns: nothing + * + * + * Function: Displays a message on stderr about whether a particular method of + * line breaking will be successful. + */ + +void +#ifndef _NO_PROTO +displaySplitMsg(char *s, int ok) +#else +displaySplitMsg(s,ok) +char *s; +int ok; +#endif +{ + fprintf(stderr, "%sCan split %s: %s\n", blanks, s, ok ? "TRUE" : "FALSE"); +} + +void +arrayTooDeep() +{ + fprintf(stderr, "%s->Array nesting too deep!\n", blanks); +} + +void +#ifndef _NO_PROTO +error(char *msg, char *insert) +#else +error(msg,insert) +char *msg; +char *insert; +#endif +{ + fputs("Error (texbreak): ", stderr); + fputs(msg, stderr); + fputs(insert, stderr); + fputc('\n', stderr); + + fputs("% Error (texbreak): ", stdout); + fputs(msg, stdout); + fputs(insert, stdout); + fputc('\n', stdout); + exit(1); +} + +void +#ifndef _NO_PROTO +freeMathList(listNode * n) +#else +freeMathList(n) +listNode * n; +#endif +{ + listNode *tmpNode; + + while (n != NULL) { + if (n->nodeType == N_NODE) + freeMathList(n->data.node); + else if (n->nodeType == N_TEXT) + free(n->data.text); + else { + freeMathList(n->data.array->argsNode); + freeMathList(n->data.array->entries); + free(n->data.array); + } + tmpNode = n->nextListNode; + free(n); + n = tmpNode; + } +} + +listNode * +#ifndef _NO_PROTO +insertStringAfter(char *s, listNode * n) +#else +insertStringAfter(s,n) +char *s; +listNode * n; +#endif +{ + + /* + * returns node after inserted string + */ + listNode *workNode, *lastNode; + + workNode = newListNode(N_NODE); + lastNode = string2NodeList(s, workNode); + + n->nextListNode->prevListNode = lastNode; + lastNode->nextListNode = n->nextListNode; + n->nextListNode = workNode->data.node; + workNode->data.node->prevListNode = n; + + free(workNode); + return lastNode->nextListNode; +} + +listNode * +#ifndef _NO_PROTO +insertStringAtBack(char *s, listNode * n) +#else +insertStringAtBack(s,n) +char *s; +listNode * n; +#endif +{ + + /* + * Breaks s up into a list of tokens and appends them onto the end of n. + * n must be non-NULL. + */ + + listNode *workNode, *lastNode; + + workNode = newListNode(N_NODE); + lastNode = string2NodeList(s, workNode); + n->nextListNode = workNode->data.node; + workNode->data.node->prevListNode = n; + free(workNode); + + return lastNode; +} + +listNode * +#ifndef _NO_PROTO +insertStringAtFront(char *s, listNode * n) +#else +insertStringAtFront(s,n) +char *s; +listNode * n; +#endif +{ + + /* + * Breaks s up into a list of tokens and appends them onto the front of + * n. n must be a node. + */ + + listNode *workNode, *lastNode; + + workNode = newListNode(N_NODE); + lastNode = string2NodeList(s, workNode); + lastNode->nextListNode = n->data.node; + n->data.node->prevListNode = lastNode; + n->data.node = workNode->data.node; + free(workNode); + + return lastNode; +} + +int +#ifndef _NO_PROTO +newLineIfNecessary(int lastWasNewLine) +#else +newLineIfNecessary(lastWasNewLine) +int lastWasNewLine; +#endif +{ + if (!lastWasNewLine || (charsOut > 0)) { + putc('\n', stdout); + outLineNum++; + charsOut = 0; + } + return TRUE; +} + +listNode * +#ifndef _NO_PROTO +newListNode(enum nodeTypes nt) +#else +newListNode(nt) +enum nodeTypes nt; +#endif +{ + listNode *n; + + n = (listNode *) malloc(sizeof(listNode)); + n->nextListNode = n->prevListNode = NULL; + n->nodeType = nt; + n->width = -1; + n->realWidth = -1; + if (nt == N_NODE) + n->data.node = NULL; + else if (nt == N_TEXT) + n->data.text = NULL; + else { + n->data.array = (arrayNode *) malloc(sizeof(arrayNode)); + n->data.array->argsNode = NULL; + n->data.array->entries = NULL; + n->data.array->cols = 0; + } + return n; +} + +int +nextMathToken() +{ + + + /* + * Sets mathToken. Returns 1 if ok, 0 if no more tokens. + */ + + char curChar, errChar[2]; + + errChar[1] = '\0'; + mathToken[0] = '\0'; + mathTokenLen = 0; + + /* + * Kill any blanks. + */ + + while ((mathBufferPtr < mathBufferLen) && (mathBuffer[mathBufferPtr] == ' ')) + mathBufferPtr++; + + /* + * If at end, exit saying so. + */ + + if (mathBufferPtr >= mathBufferLen) + return 0; + + mathToken[mathTokenLen++] = curChar = mathBuffer[mathBufferPtr++]; + + if (curChar == '\\') { + curChar = mathBuffer[mathBufferPtr++]; + switch (curChar) { + case '\0': /* at end of buffer */ + mathToken[mathTokenLen++] = ' '; + goto done; + case '\\': + case ' ': + case '!': + case '#': + case '$': + case '%': + case '&': + case ',': + case ':': + case ';': + case '^': + case '_': + case '{': + case '}': + mathToken[mathTokenLen++] = curChar; + goto done; + } + if (isalpha(curChar) || (curChar == '@')) { + mathToken[mathTokenLen++] = curChar; + while ((curChar = mathBuffer[mathBufferPtr]) && + (isalpha(curChar) || (curChar == '@'))) { + mathToken[mathTokenLen++] = curChar; + mathBufferPtr++; + } + } + else { + errChar[0] = curChar; + errChar[1] = '\0'; + error("strange character following \\: ", errChar); + } + } + else if (isdigit(curChar)) /* digits are individual tokens */ + ; + else if (isalpha(curChar)) { + while ((curChar = mathBuffer[mathBufferPtr]) && + (isalpha(curChar))) { + mathToken[mathTokenLen++] = curChar; + mathBufferPtr++; + } + } + else if (curChar == '"') { /* handle strings */ + while ((curChar = mathBuffer[mathBufferPtr]) && + (curChar != '"')) { + mathToken[mathTokenLen++] = curChar; + mathBufferPtr++; + } + mathToken[mathTokenLen++] = '"'; + mathBufferPtr++; + } + +done: + mathToken[mathTokenLen--] = '\0'; + + /* + * Some translations. + */ + if (0 == strcmp(mathToken, "\\sp")) { + mathToken[0] = '^'; + mathToken[1] = '\0'; + mathTokenLen = 1; + } + else if (0 == strcmp(mathToken, "\\sb")) { + mathToken[0] = '_'; + mathToken[1] = '\0'; + mathTokenLen = 1; + } + + return 1; +} + +int +#ifndef _NO_PROTO +printChar(char c) +#else +printChar(c) +char c; +#endif +{ + if ((charsOut > MAXCHARSINLINE) && + isdigit(lastPrinted) && isdigit(c)) { + putc('\n', stdout); + outLineNum++; + charsOut = 0; + } + + putc(c, stdout); + lastPrinted = c; + charsOut++; + + /* + * break lines after following characters + */ + + if ((charsOut > MAXCHARSINLINE) && strchr("+- ,_^", c)) { + putc('\n', stdout); + outLineNum++; + charsOut = 0; + lastPrinted = '\0'; + return TRUE; + } + return FALSE; +} + +int +#ifndef _NO_PROTO +printMathList(listNode * n, int lastWasNewLine) +#else +printMathList(n,lastWasNewLine) +listNode * n; +int lastWasNewLine; +#endif +{ + listNode *tmpNode, *rowNode, *colNode; + int begin, group, r, c; + + while (n != NULL) { + if (n->nodeType == N_NODE) { + lastWasNewLine = printChar('{'); + lastWasNewLine = printMathList(n->data.node, lastWasNewLine); + lastWasNewLine = printChar('}'); + } + else if (n->nodeType == N_ARRAY) { + lastWasNewLine = newLineIfNecessary(lastWasNewLine); + lastWasNewLine = printString("\\begin{array}"); + lastWasNewLine = printMathList(n->data.array->argsNode, lastWasNewLine); + lastWasNewLine = printString("\\displaystyle"); + lastWasNewLine = newLineIfNecessary(lastWasNewLine); + + rowNode = n->data.array->entries; /* node pointing to first row */ + while (rowNode) { + colNode = rowNode->data.node; + while (colNode) { + if (colNode->prevListNode) { /* if not first column */ + lastWasNewLine = printString(" & "); + lastWasNewLine = newLineIfNecessary(lastWasNewLine); + } + lastWasNewLine = printMathList(colNode->data.node, lastWasNewLine); + colNode = colNode->nextListNode; + } + if (rowNode->nextListNode) /* if not last row */ + lastWasNewLine = printString(" \\\\"); + + lastWasNewLine = newLineIfNecessary(lastWasNewLine); + rowNode = rowNode->nextListNode; + } + + lastWasNewLine = printString("\\end{array}"); + lastWasNewLine = newLineIfNecessary(lastWasNewLine); + } + else if (n->nodeType == N_TEXT) { + + /* + * handle keywords that might appear in math mode + */ + + if ((0 == strcmp(n->data.text, "by")) || + (0 == strcmp(n->data.text, "if")) || + (0 == strcmp(n->data.text, "then")) || + (0 == strcmp(n->data.text, "else"))) { + lastWasNewLine = printString(" \\hbox{ "); + lastWasNewLine = printString(n->data.text); + lastWasNewLine = printString(" } "); + } + + /* + * handle things that should be in a special font + */ + + else if ((0 == strcmp(n->data.text, "true")) || + (0 == strcmp(n->data.text, "false")) || + (0 == strcmp(n->data.text, "table")) || + (0 == strcmp(n->data.text, "Aleph")) + ) { + lastWasNewLine = printString(" \\mbox{\\rm "); + lastWasNewLine = printString(n->data.text); + lastWasNewLine = printString("} "); + } + + /* + * handle things that should always be on their own line + */ + + else if ((0 == strcmp(n->data.text, "\\\\")) || + (0 == strcmp(n->data.text, "\\displaystyle"))) { + lastWasNewLine = newLineIfNecessary(lastWasNewLine); + lastWasNewLine = printString(n->data.text); + lastWasNewLine = newLineIfNecessary(lastWasNewLine); + } + + /* + * handle phrases that should be on their own line. + */ + + else if ((0 == strcmp(n->data.text, "\\begin")) || + (0 == strcmp(n->data.text, "\\end"))) { + lastWasNewLine = newLineIfNecessary(lastWasNewLine); + lastWasNewLine = printString(n->data.text); + begin = (n->data.text[1] == 'b') ? TRUE : FALSE; + + n = n->nextListNode; /* had better be a node */ + tmpNode = n->data.node; + lastWasNewLine = printChar('{'); + lastWasNewLine = printMathList(tmpNode, lastWasNewLine); + lastWasNewLine = printChar('}'); + + if (begin) { + + /* + * if array, print the argument. + */ + + if (0 == strcmp(tmpNode->data.text, "array")) { + n = n->nextListNode; /* had better be a node */ + lastWasNewLine = printChar('{'); + lastWasNewLine = printMathList(n->data.node, lastWasNewLine); + lastWasNewLine = printChar('}'); + } + } + lastWasNewLine = newLineIfNecessary(FALSE); + } + + /* + * handle everything else, paying attention as to whether we + * should include a trailing blank. + */ + + else { + group = 0; + /* guess whether next word is part of a type */ + if ((strlen(n->data.text) > 2) && + ('A' <= n->data.text[0]) && + ('Z' >= n->data.text[0])) { + group = 1; + lastWasNewLine = printString("\\hbox{\\axiomType{"); + } + lastWasNewLine = printString(n->data.text); + if (group) { + lastWasNewLine = printString("}\\ }"); + group = 0; + } + tmpNode = n->nextListNode; + if ((n->data.text[0] == '_') || + (n->data.text[0] == '^') || + (n->data.text[0] == '.') || + (n->data.text[0] == '(') || + (0 == strcmp(n->data.text, "\\left")) || + (0 == strcmp(n->data.text, "\\right")) || + (0 == strcmp(n->data.text, "\\%"))); + else if (tmpNode && (tmpNode->nodeType == N_TEXT)) { + if (((isdigit(n->data.text[0])) && + (isdigit(tmpNode->data.text[0]))) || + ((isdigit(n->data.text[0])) && + (',' == tmpNode->data.text[0])) || + (tmpNode->data.text[0] == '\'') || + (tmpNode->data.text[0] == '_') || + (tmpNode->data.text[0] == '^') || + (tmpNode->data.text[0] == '.') || + (tmpNode->data.text[0] == ')')); + else + lastWasNewLine = printChar(' '); + } + } + } + n = n->nextListNode; + } + return lastWasNewLine; +} + +int +#ifndef _NO_PROTO +printString(char *s) +#else +printString(s) +char *s; +#endif +{ + if (s[0]) { + if (!s[1]) + return printChar(s[0]); + else { + fputs(s, stdout); + charsOut += strlen(s); + } + } + return FALSE; +} + +listNode * +#ifndef _NO_PROTO +string2NodeList(char *s, listNode * n) +#else +string2NodeList(s,n) +char *s; +listNode * n; +#endif +{ + + /* + * First argument is string to be broken up, second is a node. Return + * value is last item in list. + */ + + mathBufferPtr = 0; + strcpy(mathBuffer, s); + mathBufferLen = strlen(s); + buildMathList(n); + n = n->data.node; + while (n->nextListNode) { + + /* + * set width to 0: other funs will have to set for real + */ + n->width = 0; + n = n->nextListNode; + } + n->width = 0; + return n; +} + +void +resetCharMults() +{ + + /* + * this is a ratio by which the standard \mit should be multiplied to get + * other fonts, roughly + */ + + charMultNum = charMultDenom = 1; +} + +void +ttCharMults() +{ + + /* + * this is a ratio by which the standard \mit should be multiplied to get + * the \tt font, roughly + */ + + charMultNum = 11; + charMultDenom = 10; +} + +int +#ifndef _NO_PROTO +charWidth(char c) +#else +charWidth(c) +char c; +#endif +{ + return (charMultNum * charTable[c]) / charMultDenom; +} + +void +#ifndef _NO_PROTO +#else +#endif +initCharTable() +{ + int i; + + avgCharWidth = 95; /* where 1000 = 1 inch */ + + spaceWidths[0] = 51; /* \ */ + spaceWidths[1] = 25; /* \, */ + spaceWidths[2] = -25; /* \! */ + spaceWidths[3] = 37; /* \: */ + spaceWidths[4] = 42; /* \; */ + + extraOverWidth = 33; /* extra space in fraction bar */ + + sinWidth = 186; /* width of \sin */ + cosWidth = 203; + tanWidth = 219; + erfWidth = 185; + + for (i = 0; i < 256; i++) + charTable[i] = avgCharWidth; + + charTable['!'] = 42; + charTable['"'] = 76; + charTable['%'] = 126; + charTable['('] = 59; + charTable[')'] = 59; + charTable['+'] = 185; + charTable[','] = 42; + charTable['-'] = 185; + charTable['.'] = 42; + charTable['/'] = 76; + charTable['0'] = 76; + charTable['1'] = 76; + charTable['2'] = 76; + charTable['3'] = 76; + charTable['4'] = 76; + charTable['5'] = 76; + charTable['6'] = 76; + charTable['7'] = 76; + charTable['8'] = 76; + charTable['9'] = 76; + charTable[':'] = 42; + charTable[';'] = 42; + charTable['<'] = 202; + charTable['='] = 202; + charTable['>'] = 202; + charTable['A'] = 114; + charTable['B'] = 123; + charTable['C'] = 119; + charTable['D'] = 130; + charTable['E'] = 121; + charTable['F'] = 119; + charTable['G'] = 119; + charTable['H'] = 138; + charTable['I'] = 79; + charTable['J'] = 99; + charTable['K'] = 140; + charTable['L'] = 103; + charTable['M'] = 164; + charTable['N'] = 138; + charTable['O'] = 120; + charTable['P'] = 118; + charTable['Q'] = 120; + charTable['R'] = 116; + charTable['S'] = 102; + charTable['T'] = 110; + charTable['U'] = 120; + charTable['V'] = 122; + charTable['W'] = 164; + charTable['X'] = 137; + charTable['Y'] = 122; + charTable['Z'] = 114; + charTable['['] = 42; + charTable[']'] = 42; + charTable['a'] = 80; + charTable['b'] = 65; + charTable['c'] = 66; + charTable['d'] = 79; + charTable['e'] = 71; + charTable['f'] = 91; + charTable['g'] = 78; + charTable['h'] = 87; + charTable['i'] = 52; + charTable['j'] = 71; + charTable['k'] = 84; + charTable['l'] = 48; + charTable['m'] = 133; + charTable['n'] = 91; + charTable['o'] = 73; + charTable['p'] = 76; + charTable['q'] = 73; + charTable['r'] = 73; + charTable['s'] = 71; + charTable['t'] = 55; + charTable['u'] = 87; + charTable['v'] = 79; + charTable['w'] = 113; + charTable['x'] = 87; + charTable['y'] = 80; + charTable['z'] = 77; + charTable['{'] = 76; + charTable['|'] = 42; + charTable['}'] = 76; +} + +void +#ifndef _NO_PROTO +getOptions(int argc, char **argv) +#else +getOptions(argc,argv) +int argc; +char **argv; +#endif +{ + int i, j; + + for (i = 1; i < argc; i++) { + + if (argv[i][0] != '-') + break; + + else if (0 == strcmp(argv[i], "-help")) { + printf("No help yet.\n"); + exit(0); + } + + else if (0 == strcmp(argv[i], "-width")) { + if (++i < argc) { + j = atoi(argv[i]); + if (j < 1000) { + printf("A positive integer > 1000 is required after -width.\n"); + exit(3); + } + maxLineWidth = j; + } + else { + printf("A positive integer > 1000 is required after -width.\n"); + exit(3); + } + } + + else if (0 == strcmp(argv[i], "-slop")) { + if (++i < argc) { + j = atoi(argv[i]); + if (j < 0) { + printf("An integer >= 0 is required after -slop.\n"); + exit(3); + } + maxLineSlop = j; + } + else { + printf("An integer >= 0 is required after -slop.\n"); + exit(3); + } + } + + else if (0 == strcmp(argv[i], "-depth")) { + if (++i < argc) { + j = atoi(argv[i]); + if (j < 0) { + printf("An integer >= 0 is required after -depth.\n"); + exit(3); + } + arrayMaxDepth = j; + } + else { + printf("An integer >= 0 is required after -depth.\n"); + exit(3); + } + } + + else { + printf("Unknown option %s for command %s.\n", + argv[i], argv[0]); + exit(3); + } + } +} + +\start +Date: Sun, 28 Sep 2003 22:37:09 -0400 +From: root +To: bill.page1@sympatico.ca +Subject: [Axiom-developer] Re: tex output + +Bill, + +Where are you getting all of the #\ characters? I get: + +$$ +4I9LKIP9GRSTC5IF164PO5V72ME827226JSLAP462585Q7H00000000000000000000 +\leqno(1) +$$ + +What version are you running? + +\start +Date: Sun, 28 Sep 2003 22:49:47 -0400 +From: root +To: bill.page1@sympatico.ca +Subject: Re: [Axiom-developer] Re: tex output + +Bill, + +I've reproduced the problem and it is a bug. +Please add it to the bug list and I'll chase it. +It looks like a problem in the common lisp code somewhere. + +\start +Date: 28 Sep 2003 22:58:18 -0400 +From: Bill Page +To: daly@idsi.net +Subject: Re: [Axiom-developer] Re: tex output + +Tim, + +Ok, done. Thanks. + +That's it for me tonight... + +Cheers, +Bill Page. + +On Sun, 2003-09-28 at 22:49, root wrote: +> Bill, +> +> I've reproduced the problem and it is a bug. +> Please add it to the bug list and I'll chase it. +> It looks like a problem in the common lisp code somewhere. + +\start +Date: 28 Sep 2003 22:48:45 -0400 +From: Bill Page +To: daly@idsi.net +Subject: [Axiom-developer] Re: tex output + +Tim, + +I am running a version that I compiled from the CVS downloaded +to my machine on September 1. The following is the full output +of axiom + +[wspage@asus axiom2]$ axiom + +(AXIOM Sockets) The AXIOM server number is undefined. +----------------------------------------------------------------------------- + Issue )copyright to view copyright notices. + Issue )summary for a summary of useful system commands. + Issue )quit to leave AXIOM and return to shell. +Sunday September 28, 2003 at 20:17:13 +----------------------------------------------------------------------------- + + Re-reading compress.daase Re-reading interp.daase + Re-reading operation.daase + Re-reading category.daase + Re-reading browse.daase +(1) -> )set output tex on +(1) -> radix(10^100,32) + Loading /home/wspage/projects/axiom2/mnt/linux/algebra/RADUTIL.o for + package RadixUtilities + Loading /home/wspage/projects/axiom2/mnt/linux/algebra/RADIX.o for + domain RadixExpansion + Loading /home/wspage/projects/axiom2/mnt/linux/algebra/ANY1.o for + package AnyFunctions1 + Loading /home/wspage/projects/axiom2/mnt/linux/algebra/NONE1.o for + package NoneFunctions1 + Loading /home/wspage/projects/axiom2/mnt/linux/algebra/ANY.o for + domain Any + Loading /home/wspage/projects/axiom2/mnt/linux/algebra/SEX.o for + domain SExpression + + (1) +4I9LKIP9GRSTC5IF164PO5V72ME827226JSLAP462585Q7H00000000000000000000 + Loading /home/wspage/projects/axiom2/mnt/linux/algebra/TEX.o for + domain TexFormat + Loading /home/wspage/projects/axiom2/mnt/linux/algebra/CCLASS.o for + domain CharacterClass + Loading /home/wspage/projects/axiom2/mnt/linux/algebra/IBITS.o for + domain IndexedBits + Loading /home/wspage/projects/axiom2/mnt/linux/algebra/UNISEG.o for + domain UniversalSegment +$$ +4#\I9#\L#\K#\I#\P9#\G#\R#\S#\T#\C5#\I#\F164#\P#\O5#\V72#\M#\E827226#\J#\S#\L#\A#\P462585#\Q7#\H00000000000000000000 +\leqno(1) +$$ + Loading /home/wspage/projects/axiom2/mnt/linux/algebra/VOID.o for + domain Void + + Type: +RadixExpansion 32 +(2) -> + +-------- + +I don't know where the #\ come from but of course TeX doesn't +like it. + +Cheers, +Bill Page. + + +On Sun, 2003-09-28 at 22:37, root wrote: +> Bill, +> +> Where are you getting all of the #\ characters? I get: +> +> $$ +> 4I9LKIP9GRSTC5IF164PO5V72ME827226JSLAP462585Q7H00000000000000000000 +> \leqno(1) +> $$ +> +> What version are you running? + +\start +Date: Sun, 28 Sep 2003 23:24:44 -0400 +From: root +To: david.mentre@wanadoo.fr +Subject: [Axiom-developer] website kudos list + +David, + +Perhaps you might look in the latest Makefile.pamphlet file and extract +the list of people who worked on Axiom and post it on the website. + +\start +Date: Sun, 28 Sep 2003 23:26:19 -0400 +From: root +To: david.mentre@wanadoo.fr +Subject: [Axiom-developer] website kudos list + +David, + +It is probably sufficient to leave your userid as the webmaster. +If you don't want to use your userid send the webmaster mail to +axiom@tenkan.org and I'll see that website changes get sent to you. + +\start +Date: Mon, 29 Sep 2003 10:28:19 +0100 +From: Mike Dewar +To: Jason White +Subject: Re: [Axiom-developer] Handling of autoload messages in TeXmacs + +Hi, + +The reason that the autoload messages were originally on by default is +historical - the AKCL version of Axiom was painfully slow at loading +code and this provided users with reassurance that something was +actually happening. When we moved to CCL the loading speed was +significantly increased and we could also pre-load frequently used code +with minimal impact on the image size, so we switched the messages off +by default. + +There is a system-wide configuration file: src/inputs/axiom.input which +behaves as you suggest. The argument against having it in /etc is that +users might have AXIOM on an NFS mounted filesystem so its better to +keep everything together. This is also why we created the share +directory to avoid having duplicate versions of things. + +Cheers, Mike. + +On Sun, Sep 28, 2003 at 07:06:07PM +1000, Jason White wrote: +> What are the strongest reasons for not making +> )set message autoload off +> the default? I am sure there must be good reasons, otherwise it would +> have been done. +> +> A more generalized solution would be to allow for a system-wide +> configuration file as well as a local .axiom.inputs file under each +> user's home directory, with the local configuration overriding +> settings in the system-wide file (e.g., /etc/axiom.input) under Unix; +> suitable locations under other operating systems. +> +> With apologies in advance if this has all been discussed and settled +> long ago, or if there is a relevant feature of the software that I am +> missing. + +\start +Date: Mon, 29 Sep 2003 10:43:30 +0100 +From: Mike Dewar +To: David MENTRE +Subject: Re: [Axiom-developer] Re: Handling of autoload messages in TeXmacs +Cc: Bill Page + +If you are using a TeX-based interface then you might want to consider +wiring in some of the code that exists for the TechExplorer interface +under Windows. In particular we had a TeX-based browser interface which +you could wire in in place of )show, )what etc. + +The code for this lived in the file br-saturn.boot ("saturn" was the +codename for TechExplorer before IBM released it) and was not included +by default in the Unix build. It modified the Lisp commands kSearch, +cSearch, dSearch etc. to produce TeX output with embeded hyperlinks. + +We also had code to untangle the various message/output streams but +that was probably part of the code we were unable to release (since it +was modified TechExplorer sources). + +Cheers, Mike. + +On Sun, Sep 28, 2003 at 10:03:40AM +0200, David MENTRE wrote: +> "Bill Page" writes: +> +> > texmacs interface. I have attached a full patch file +> > from diff -Naur which includes both your and my changes +> > to the tm_axiom.c file. This sets the default for the +> > autoload messages to off just as it was for the older +> > "commercial" version of Axiom. It also fixes the -Wall +> > warnings. +> +> Ok, thanks. I'll forward this version to texmacs people. +> +> Unfortunatly, there is another bug: Frédéric Lehobey and myself noticed +> yesterday that the )show command blocks the interaction between TeXmacs +> and Axiom. Try for example ')show Integer' under TeXmacs. +> +> +> > I don't see any problem (in principle) with sending +> > Loading ... messages to stderr. +> +> As I previously answered to Dylan, you are both right. So we need to +> have a look at Axiom output to redirect error messages to stderr. + +\start +Date: Mon, 29 Sep 2003 06:42:21 -0400 +From: root +To: miked@nag.co.uk +Subject: [Axiom-developer] support license +Cc: bmt@us.ibm.com, vdhoeven@texmacs.org + +Mike, + +Perhaps you misunderstood my intent. I was not suggesting distributing +NAG Axiom under a support license. I was suggesting setting up some +sort of support for the current users (perhaps telneting into NAG hardware). +I hate to abandon users and would rather give them support until the full +version of Axiom lives again. + +\start +Date: Mon, 29 Sep 2003 11:07:09 +0100 +From: Mike Dewar +To: Jaap Weel +Subject: Re: [Axiom-developer] The lisp function ONEP + +Hi Jaap, + +Axiom expects the definition of onep to be "=" rather than eq. + +On Fri, Sep 26, 2003 at 04:50:55PM -0700, Jaap Weel wrote: +> ONEP is a common predicate in some older Lisps, but not in Common Lisp. +> It appears in McCarthy's Lisp 1.5 +> (http://green.iis.nsk.su/~vp/doc/lisp1.5/mccarthy.html). It's supposed +> to test if it's argument is equal to 1. Problem is that in the Lisp +> world, there are various interpretations of "equal" and "1". Let the +> show begin. +> +> McCarthy in the mentioned reference writes: +> +> onep[x] is true if |x-1| <= 3*10^6 +> +> So far so good. +> +> From simp.lisp in the Maxima sources, which probably reflects Maclisp: +> ";; The following definitions of ONEP and ONEP1 are bummed for speed, +> and should +> ;; be moved to a special place for implementation dependent code. +> ;; ONEP is the same as (EQUAL A 1), but does the check inline rather +> than +> ;; calling EQUAL (uses more instructions, so this isn't done by +> default). ONEP +> ;; seems to be used very rarely, so it seems hardly worth the effort. +> On the +> ;; Lisp Machine, this is probably more efficient as simply (EQUAL A 1). +> +> #+(and cl (not cmu)) +> (defmacro onep (a) `(eql ,a 1)) +> +> #+cl +> (DEFMFUN ONEP1 (A) (OR (and (numberp a) (= A 1)) (EQUAL A BIGFLOATONE))) +> +> #-cl +> (progn 'compile +> (DEFMFUN ONEP (A) +> #-NIL (AND (EQ (ml-typep A) 'fixnum) (= A 1)) +> #+NIL (eql a 1)) +> +> #-(or Franz cl) +> (DEFMFUN ONEP1 (A) (OR (EQUAL A 1) (EQUAL A 1.0) (EQUAL A +> BIGFLOATONE)))" +> +> However, in the Standard Lisp Report (an early standardization effort): +> +> " +> ONEP(U:any):boolean eval, spread. +> Returns T if U is a number and has the value 1 or 1.0. Returns NIL +> otherwise. +> +> EXPR PROCEDURE ONEP(U); +> OR(EQN(U, 1), EQN(U, 1.0)); +> +> [The definition in the published report is incorrect as it does not +> return T for U of 1.0.] +> " +> +> There's clearly a lot of confusion about what ONEP should do. I think, +> however, that you can easily check experimentally in a GCL interpreter +> which interpretation GCL uses. I don't have a GCL here, but it +> shouldn't be hard. Keep in mind the difference between the functions =, +> eq, eql, and equal. For that, see sections 6.3 and 12.3 in CLtL2 +> (Common Lisp the Language 2, available online). +> +> With SBCL: +> +> * (= 1 1.0) +> T +> * (eq 1 1.0) +> NIL +> * (eql 1 1.0) +> NIL +> * (equal 1 1.0) +> NIL +> * (= 1 1) +> T +> * (eq 1 1) +> T +> * (eql 1 1) +> T +> * (equal 1 1) +> T +> +> At any rate, it seems likely that either of the following is the right +> thing: +> +> (defun onep (x) (= x 1)) +> (defun onep (x) (eq x 1)) +> +> I don't think McCarthy's definition is relevant. + +\start +Date: Mon, 29 Sep 2003 11:23:34 +0100 +From: Mike Dewar +To: root +Subject: Re: [Axiom-developer] TeXmacs interface and backward compatibility +Cc: bmt@us.ibm.com, vdhoeven@texmacs.org + +Hi Tim, + +We don't officially support Axiom any more, although from time to time I +help people out with minor problems. Unfortunately we can't give out +parts of the code without IBM's agreement, which isn't going to happen. + +I know there are people using Axiom 2.3 still but I've no idea if they +use TeXmacs. Also, if you get sman running aren't you going to revert +to the old behaviour? + +Mike. + +On Sun, Sep 28, 2003 at 04:53:24PM -0400, Tim Daly wrote: +> Ah, another simple job, eh? :-) +> +> Clearly we don't have the ability to support NAG's version of Axiom because +> we don't have the whole distribution. I'd be willing to but can't because +> of licensing reasons (Mike, could I become a "support licensee" of NAG? +> Can you sublicense support?). +> +> (Barry, your question is related to the support sublicense issue) +> +> I don't see why texmacs doesn't just let both prompts show up just like +> they do in the normal console. +> +> Joris, does letting both prompts show up cause an issue for TeXmacs (not +> the NAG users, just TeXmacs)? +> + +\start +Date: 29 Sep 2003 09:41:37 -0400 +From: Camm Maguire +To: daly@idsi.net +Subject: Re: [Axiom-developer] New design for Axiom web site +Cc: Antoine Hersen + +Greetings, all! Just saw the wonderful work on the new website, and +am still digesting.... + +As there is a section on supported systems, I just wanted to report +that axiom is currently compiled on the following Debian GNU/Linux +platforms: + +mipsel, ia64, i386, ppc, alpha, and sparc + +At the current moment, the remaining 6 are expected straightforwardly, +as GCL already carries maxima and acl2 to all these machines, and the +absence of these builds thus far is apparently due to an autobuilder +backlog. + +You can follow the progress at + +http://buildd.debian.org/build.php?pkg=axiom + +Another nice page to check is + +http://packages.qa.debian.org/a/axiom.html + +One note in case anyone wants to use axiom on the Itanium -- there is +a known and unique function calling issue on ia64 due to its +dynamically generated function descriptors. What this means is that +upgrading the dynamic libraries on which axiom depends requires a +rebuild of axiom at present. We may have a work around shortly, but +it seems there is not much demand for this fix. + +Take care, + +root writes: + +> Good job, guys. Congrats. +> +> David, the mailing lists are rather permanent objects. Since I expect +> that the volume of mail for the website will be rather low I'd prefer +> to use the developer list at the moment. If the volume becomes an +> issue we can certainly fork off a new list. +> +> On the "mailing list page" (axiom/community.html) the phrase +> "All right reserved" appears. Perhaps we should remove that. +> +> Can you make the mailing list names on the mailing list page +> links to the list archives? +> +> The pages all have the word "about" in the top right corner. +> +> On the download.html page we should have a link to +> http://axiom.tenkan.org +> Better yet, if somebody can figure out how to upload files to the +> download area we should move the whole tenkan file and page to the +> Axiom savannah site. I think Bill Page figured out how to do this. +> +> re: Axiom birthday. Nobody knows. The project traces back to a +> prior project called MODLISP which gradually morphed into Scratchpad, +> which morphed into Scratchpad II, which officially became Axiom. +> MODLISP was a late 60s project (around 1967 I believe). I chose +> 1971 because "30 years" is a good time frame and I started the +> campaign to release Axiom in August of 2001. + +\start +Date: Mon, 29 Sep 2003 13:32:07 +0100 +From: Mike Dewar +To: root +Subject: Re: [Axiom-developer] support license +Cc: bmt@us.ibm.com, vdhoeven@texmacs.org + +Hi Tim, + +I understood what you meant but this still involves giving you access to +the IBM code which we aren't allowed to do. + +Sorry, Mike. + +On Mon, Sep 29, 2003 at 06:42:21AM -0400, Tim Daly wrote: +> Mike, +> +> Perhaps you misunderstood my intent. I was not suggesting distributing +> NAG Axiom under a support license. I was suggesting setting up some +> sort of support for the current users (perhaps telneting into NAG hardware). +> I hate to abandon users and would rather give them support until the full +> version of Axiom lives again. + +\start +Date: Mon, 29 Sep 2003 18:50:22 +0200 +From: David MENTRE +To: Camm Maguire +Subject: Re: [Axiom-developer] New design for Axiom web site +Cc: Antoine Hersen , + +Camm Maguire writes: + +> As there is a section on supported systems, I just wanted to report +> that axiom is currently compiled on the following Debian GNU/Linux +> platforms: +> +> mipsel, ia64, i386, ppc, alpha, and sparc + +Thanks Camm, I have updated the web page. + +\start +Date: Mon, 29 Sep 2003 19:08:41 +0200 +From: David MENTRE +To: daly@idsi.net +Subject: [Axiom-developer] Re: website kudos list + +Hello Tim, + +root writes: + +> Perhaps you might look in the latest Makefile.pamphlet file and extract +> the list of people who worked on Axiom and post it on the website. + +Done (on the Community page). + +I have also removed the Webmaster link at the bottom of each page. + +\start +Date: 26 Sep 2003 23:19:35 -0400 +From: Bill Page +To: David MENTRE +Subject: Re: [Axiom-developer] Current status on TeXmacs for Axiom? + +David, + +I am sorry that I was so slow in replying - jet lag ... + +Your patch below is nearly the same as the changes I made +in my version of texmacs. + +You will probably also have noticed that there is a bug +that sometimes causes Axiom ouput to be improperly formatted. +For example, if you start a new TeXmacs session and then +select Text/Session/Axiom from the menu and enter + + integrate(sin(x),x) + +The ouput appears as + +... UNISEG.o for domain UniversalSegment -cos(x) + +with the result appended to the loading messages. But +subsequent commands work properly. The autoload message +is getting confused with the LaTex code that is generated +for the result. Issuing the command + + )set message autoload off + +eliminates the problem by eliminating the Loading messages. + +Maybe the patch to tm_axiom.c should also include this +command in the startup phase + +-------- + /* force-feeding */ ++ fputs(")set messages autoload off\n",axin); fflush(axin); ++#ifdef LOG ++ fputs("SENT )set messages autoload off\n",log); fflush(log); ++#endif + fputs(")set messages prompt plain\n",axin); fflush(axin); +-------- + +Looking more closely, it seems that Axiom sometimes embeds +the autoload messages in the output stream in what seems a +strange order. + +-------- +)set output tex +integrate(sin(x),x) + + Loading ... + +$$ + Loading /home/wspage/projects/axiom2/mnt/linux/algebra/UNISEG.o for + domain UniversalSegment +-{\cos +\left( +{x} +\right)} +\leqno(1) +$$ +-------- + +It is not yet clear to me at this time how to get TeXmacs to handle +such messages properly in all cases (look for "Loading ..." embedded +in the tex?), or whether perhaps a change can be /should be made to +axiom to avoid generating these messages inside the tex $$ ... $$ +section. + +Maybe the Loading ... messages should be sent to stderr rather +than stdout? + +On Fri, 2003-09-26 at 19:12, David MENTRE wrote: +> root writes: +> +> > The issue is that TeXmacs expects 2 prompts (the NAG version gives 2 +> > prompts at startup) and the current version give one. It should be +> > a simple change in the startup script somewhere. +> +> It was not so simple to understand the code but I found the issue. Here +> is the patch. +> +> The prompt patch is a one liner: +> - else if (code==PROMPT) { if ((++prompts)==2) break; } +> + else if (code==PROMPT) break; +> but I have taken the liberty to fix warning issued by gcc when compiling +> with -Wall. +> +> One remaining warning is left. +> tm_axiom.c: In function `session': +> tm_axiom.c:231: warning: suggest explicit braces to avoid ambiguous `else' +> I have not touched it. To late for me, I would risk introducing new bugs. +> +> > Given that the NAG version has been off the market for 2 years come +> > Oct 1 I suppose it is time to drop it from TeXmacs. +> +> Yes, sure. I take care of forwarding this patch to the TeXmacs +> developers. +> +> Yours, +> d. +> +> +> --- tm_axiom.c.orig Sat Sep 27 01:06:27 2003 +> +++ tm_axiom.c Sat Sep 27 01:06:40 2003 +> @@ -9,7 +9,7 @@ +> #define TYPE 5 +> +> #define LEN 128 +> -/*#define LOG "/home/grozin/tmax/log"*/ +> +/* #define LOG "/tmp/tm_axiom.log" */ +> +> char buf[LEN]; +> int len,code,writing=1,wait_type=0; +> @@ -78,7 +78,7 @@ +> { for (k=0;k j=0; +> if (i>LEN-4) { code=LONG; break; } +> - else if (c==EOF) { code==END; break; } +> + else if (c==EOF) { code=END; break; } +> else if (c=='\n') { buf[i++]='\n'; code=NORMAL; break; } +> else buf[i++]=c; +> } +> @@ -177,7 +177,7 @@ +> } +> +> void session(void) +> -{ int c,i,mmode,delims=0,prompts=0; +> +{ int c,mmode,delims=0; +> #ifdef LOG +> log=fopen(LOG,"w"); +> #endif +> @@ -188,7 +188,7 @@ +> while (1) +> { iline(); +> if (code==TYPE) { if ((++delims)==2) writing=0; } +> - else if (code==PROMPT) { if ((++prompts)==2) break; } +> + else if (code==PROMPT) break; +> } +> /* force-feeding */ +> fputs(")set messages prompt plain\n",axin); fflush(axin); +> @@ -258,4 +258,5 @@ +> axin=fdopen(p2[1],"w"); axout=fdopen(p1[0],"r"); +> session(); +> } +> + return 0; +> } + +\start +Date: Mon, 29 Sep 2003 19:50:03 +0200 +From: David MENTRE +To: "Bill Page" +Subject: [Axiom-developer] Re: )show command blocks the interaction between TeXmacs and Axiom + +"Bill Page" writes: + +> I do not have any problem with the )show Integer command +> with my version of TeXmacs (most recent stable version +> 1.0.2) under RedHat 9.0. See attached PDF file. + +I don't understand. I've just recompiled TeXmacs 1.0.2 and I can't get +the Axiom prompt after a ")show Integer". + +Could you send me your tm_axiom.c? Maybe I have missed something there. + +\start +Date: Mon, 29 Sep 2003 21:16:41 +0200 +From: David MENTRE +To: Tim Daly +Subject: [Axiom-developer] Axiom book (partially) available? + +Hello Tim, + +Is the Axiom book available (even partially) on CVS? Maybe people can +start reading the first chapters while you finish it? + +\start +Date: Mon, 29 Sep 2003 17:03:47 -0400 +From: "Page, Bill" +To: "'daly@idsi.net'" +Subject: RE: [Axiom-developer] Handling of autoload messages in TeXmacs + +Tim, + +I have been playing with the line-breaker program +that you sent me last night. My goal is to incorporate +it into the tm_axiom program so that TeXmacs will +display Axiom output nicely. + +By "nicely" I was expecting essientially what I see in +the Jenks & Sutor "axiom" book. So my first experiment +was with the example on page 1 + + )set output tex on + integrate(1/(x**3 * (a+b*x)**(1/3)),x) + +I clipped the output between $$ $$ from Axiom into a file +named t1.tex. I added the \[ \] tokens and the other +usual LaTex decorations. Then I ran t1.tex through +line-breaker to get t2.tex. On stderr I got messages +like: + + Can split product: FALSE + Can split (+,-,=, )-expression: FALSE + +In fact everything came out false. + +And as a result t2 looks almost like t1 except for some +spaces removed/added. When I LaTex it, the dvi does not +look anything like what I see on page 1 of the book. + +Am I doing something wrong? + +\start +Date: Mon, 29 Sep 2003 23:12:28 +0100 +From: Mark Murray +To: David MENTRE +Subject: Re: [Gcl-devel] Re: [Axiom-developer] New design for Axiom web site +Cc: Camm Maguire , Antoine Hersen + +David MENTRE writes: +> Camm Maguire writes: +> +> > As there is a section on supported systems, I just wanted to report +> > that axiom is currently compiled on the following Debian GNU/Linux +> > platforms: +> > +> > mipsel, ia64, i386, ppc, alpha, and sparc +> +> Thanks Camm, I have updated the web page. + +I'm currently working on a FreeBSD build of Axiom, using GCL. I've +done the hard stuff, and I'm now waiting for the compile to finish. + +I've taken a machete to the build; the FreeBSD ports system already +has noweb and GCL, so I diked those out of the build. Also, I've +replaced all " make foo" with " ${MAKE} foo", as freebsd calls +gnu make "gmake", and gnu make knows to pass this name on. There +are a few other glitches. + +I'll contribute diffs when its working :-) + +M +-- +Mark Murray + +\start +Date: Mon, 29 Sep 2003 18:21:48 -0400 +From: root +To: mark@grondar.org +Subject: Re: [Gcl-devel] Re: [Axiom-developer] New design for Axiom web site +Cc: camm@enhanced.com, antoine.hersen@aiesec.net + +Mark, + +There are patches to noweb and GCL which are applied in the build process. +I'll look for the make vs ${MAKE}. Mea Culpa. + +I'm happy to hear that it might build on FreeBSD. I have a BSD 4.8 port in +the queue of work to do but that won't happen anytime soon. It'll be great +if you do the "heavy lifting" :-) + +\start +Date: Mon, 29 Sep 2003 19:43:48 -0400 +From: "Page, Bill" +To: "'David MENTRE'" , Bill Page +Subject: [Axiom-developer] RE: )show command blocks the interaction between TeXmacs and Axio m + +David, + +I have uploaded two versions of tm_axiom.c to + + http://savannah.nongnu.org/files/?group=axiom + +See especially + +http://savannah.nongnu.org/download/axiom/axiom_texmacs.pkg/1.0.1/tm_axiom.c + +Both of these versions work for me. I am running +TeXmacs 1.0.2 under RedHat 9.0 at home and TeXmacs +1.0.1.14 under RedHat 8.0 here at work. Both versions +of TeXmacs together with Axiom as compiled from CVS +as of 13 August, 2003 are able to execute the command + + )show Integer + +and then continue to execute additional commands. + +tm_axiom.c from Axiom_Texmacs 1.0.1 includes code +to convert \root{n}{x} to \sqrt[n]{x} to fix the +display problem you mentioned in a previous email. + +Let me know if you have any problem with these. + +Cheers, +Bill Page. + +> -----Original Message----- +> From: David MENTRE [mailto:david.mentre@wanadoo.fr] +> Sent: Monday, September 29, 2003 1:50 PM +> To: Bill Page +> Cc: axiom-developer@nongnu.org +> Subject: Re: )show command blocks the interaction between TeXmacs and +> Axiom +> +> +> "Bill Page" writes: +> +> > I do not have any problem with the )show Integer command +> > with my version of TeXmacs (most recent stable version +> > 1.0.2) under RedHat 9.0. See attached PDF file. +> +> I don't understand. I've just recompiled TeXmacs 1.0.2 and I can't get +> the Axiom prompt after a ")show Integer". +> +> Could you send me your tm_axiom.c? Maybe I have missed +> something there. + +\start +Date: Mon, 29 Sep 2003 22:58:36 -0400 +From: root +To: bill.page1@sympatico.ca +Subject: Re: [Axiom-developer] Handling of autoload messages in TeXmacs + +Bill, + +You probably are not doing anything wrong. I suspect the bug you've +encountered is causing the problem. I'm still chasing it. + +\start +Date: Mon, 29 Sep 2003 23:19:06 -0400 +From: "Page, Bill" +To: "'daly@idsi.net'" +Subject: RE: [Axiom-developer] Handling of autoload messages in TeXmacs + +Hmmm.... + +I'm still working with the line-breaker program. Does +this program actually work for you? For example, I +try to run the following through the program + +\documentclass{article} +\begin{document} +\[ +{1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+16+18}\ {40+41+42+43+44+45+46+47} +\] +\end{document} + +It seems to split everything ok, inserting \begin{array} +\end{array}, but then right at the end the program +gives a + + Segmentation fault + +I suspect something wrong with the memory allocation +but so far I don't see what it could be. + +Please let me know if the above example works for you. + +Cheers, +Bill Page. + +> -----Original Message----- +> From: root [mailto:daly@idsi.net] +> Sent: Monday, September 29, 2003 10:59 PM +> To: bill.page1@sympatico.ca +> Cc: daly@idsi.net; axiom-developer@nongnu.org +> Subject: Re: [Axiom-developer] Handling of autoload messages +> in TeXmacs +> +> +> Bill, +> +> You probably are not doing anything wrong. I suspect the bug you've +> encountered is causing the problem. I'm still chasing it. +> + +\start +Date: Mon, 29 Sep 2003 23:29:46 -0400 +From: root +To: bill.page1@sympatico.ca +Subject: Re: [Axiom-developer] Handling of autoload messages in TeXmacs + +Bill, + +Try losing the \documentclass, \begin, and \end lines. +Given this input: + +\[ +{1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+16+18}\ {40+41+42+43+44+45+46+47} +\] + +and the command + +./linebreak t.break + +I get the output: + +Width = 7759 units, Output line = 1. + Can split product: TRUE + Can split product: FALSE + Can split (+,-,=, )-expression: TRUE + Can split product: FALSE + Can split (+,-,=, )-expression: TRUE + +the t.break file contains: + +\[ +{ +\begin{array}{@{}l} +\displaystyle +1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + +\\ +\\ +\displaystyle +10 + 11 + 12 + 13 + 14 + 15 + 16 + +\\ +\\ +\displaystyle +16 + 18 +\end{array} +}\ { +\begin{array}{@{}l} +\displaystyle +40 + 41 + 42 + 43 + 44 + 45 + 46 + +\\ +\\ +\displaystyle +47 +\end{array} +} +\] + +with no segfaults. + +\start +Date: Tue, 30 Sep 2003 00:02:53 -0400 +From: "Page, Bill" +To: "'daly@idsi.net'" +Subject: RE: [Axiom-developer] Handling of autoload messages in TeXmacs + +Tim, + +Ok, thanks. I've got it. The seg fault problem was +introduced when I clipped the text of the program from +your email. For no good reason that I can think of, +multiple blanks were replaced with single blanks. As +a result the char array 'blanks' which is supposed to +be about 60 blanks or so, was not properly initialized. + +Jeez! + +It's a kind of a "nice" old fashioned "C" program, +though ain't it? + +Now back to what I really wanted to do. + +Cheers, +Bill Page. + +> -----Original Message----- +> From: root [mailto:daly@idsi.net] +> Sent: Monday, September 29, 2003 11:30 PM +> To: bill.page1@sympatico.ca +> Cc: daly@idsi.net; axiom-developer@nongnu.org +> Subject: Re: [Axiom-developer] Handling of autoload messages +> in TeXmacs +> +> +> Bill, +> +> Try losing the \documentclass, \begin, and \end lines. +> Given this input: +> +> \[ +> {1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+16+18}\ +> {40+41+42+43+44+45+46+47} +> \] +> +> and the command +> +> ./linebreak t.break +> +> I get the output: +> +> Width = 7759 units, Output line = 1. +> Can split product: TRUE +> Can split product: FALSE +> Can split (+,-,=, )-expression: TRUE +> Can split product: FALSE +> Can split (+,-,=, )-expression: TRUE +> +> the t.break file contains: +> +> \[ +> { +> \begin{array}{@{}l} +> \displaystyle +> 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + +> \\ +> \\ +> \displaystyle +> 10 + 11 + 12 + 13 + 14 + 15 + 16 + +> \\ +> \\ +> \displaystyle +> 16 + 18 +> \end{array} +> }\ { +> \begin{array}{@{}l} +> \displaystyle +> 40 + 41 + 42 + 43 + 44 + 45 + 46 + +> \\ +> \\ +> \displaystyle +> 47 +> \end{array} +> } +> \] +> +> with no segfaults. +> + +\start +Date: Tue, 30 Sep 2003 00:09:06 -0400 +From: root +To: bill.page1@sympatico.ca +Subject: Re: [Axiom-developer] Handling of autoload messages in TeXmacs + +even a simple C program can be a pain, eh? +there is no such thing as a simple job. --t + +\start +Date: Tue, 30 Sep 2003 08:00:29 +0100 +From: Mark Murray +To: daly@idsi.net +Subject: Re: [Gcl-devel] Re: [Axiom-developer] New design for Axiom web site +Cc: camm@enhanced.com, antoine.hersen@aiesec.net + +root writes: +> There are patches to noweb and GCL which are applied in the build process. + +I saw those, and I'm trying to see how far I can get without them. Otherwise, +if they look general purpose enough, I'd rather apply them to the FreeBSD +ports of noweb and GCL. Make sense? + +The latest build error is an inability to find vmlisp.o when building +interpsys. + +> I'll look for the make vs ${MAKE}. Mea Culpa. + +Thanks! No problem. + +> I'm happy to hear that it might build on FreeBSD. I have a BSD 4.8 port in +> the queue of work to do but that won't happen anytime soon. It'll be great +> if you do the "heavy lifting" :-) + +Mostly done :-) (I hope!) + +\start +Date: Tue, 30 Sep 2003 07:13:48 -0400 +From: root +To: bill.page1@sympatico.ca +Subject: [Axiom-developer] kudos + +Bill, + +I've cornered the TeX bug but haven't had time to develop a fix. +I suspect that ELTing into a string produces #\A rather than A. +I'll check it later today. As a side-effect I've been writing up +the techniques used for finding this bug as a section in the +DevelopersNotes pamphlet. + +\start +Date: Tue, 30 Sep 2003 07:09:59 -0400 +From: root +To: koenhillewaert@tiscali.be +Subject: [Axiom-developer] Re: [Axiom-mail] problem using axiom in texmacs + +Koen, + +There is a known problem running the latest version of Axiom under TeXmacs. +There is a posted fix but I was not involved in it and don't know how to +apply it to TeXmacs. + +Joris, David, Bill, +Could you help this person with the details of the TeXmacs fix? + +\start +Date: Tue, 30 Sep 2003 07:11:09 -0400 +From: root +To: david.mentre@wanadoo.fr +Subject: [Axiom-developer] kudos + +Please add Jinzhong Niu to the kudos list on the webpage. -- t + +\start +Date: Tue, 30 Sep 2003 08:42:21 -0400 +From: "Page, Bill" +To: "'Koen Hillewaert'" +Subject: [Axiom-developer] RE: [Axiom-mail] problem using axiom in texmacs + +Koen, + +The new open source version of Axiom is a little +different than the older commercial (NAG) version. +As a result, you must install an updated version +of the TeXmacs - Axiom interface program. Go to + + http://savannah.nongnu.org/files/?group=axiom + +and take a look at + + Axiom_Texmacs 1.0.2 + +Simple instructions are included in the README.txt +file. + +and also the files under + + Axiom_Book + +So far, this new interface for TeXmacs has not been +tested very much. Also TeXmacs 1.0.2 is a new version +of TeXmacs. I am beginning to think that this combination +shows a lot of promise, but I would have to say that the +behaviour is still a little "fagile". I was however able +to get through almost all of the computations in the +introduction section of the Axiom book and some initial +formatting of the contents in just a few hours last +night. + +If you have any problems, I would be glad to try +to help. + +> -----Original Message----- +> From: Koen Hillewaert [mailto:koenhillewaert@tiscali.be] +> Sent: Tuesday, September 30, 2003 6:20 AM +> To: axiom-mail@nongnu.org +> Subject: [Axiom-mail] problem using axiom in texmacs +> +> +> Hi, +> +> I have a problem running axiom (latest version) under texmacs +> (version +> 1.0.2), both installed on a pc running RH8. Inserting an +> axiom session +> in a first buffer only gives me the "(AXIOM Sockets) The AXIOM server +> number is undefined." warning. Inserting a session in a next buffer +> gives me a prompt that does not seem to respond. +> +> Do I need to configure anything ? +> +> Thanks in advance, + +\start +Date: Tue, 30 Sep 2003 08:54:58 -0400 +From: "Page, Bill" +To: "'daly@idsi.net'" , bill.page1@sympatico.ca +Subject: [Axiom-developer] RE: kudos + +Tim, + +Yes, something as simple as + + )set output tex on + elt("A",1) + +shows the problem. I am very interested in your +debugging notes. I took a look again at the +tex.spad.pamphlet code, but I is as clear as "mud" +to me how this thing as a whole actually generates +TeX code! (Though I can of course relate to some +parts of it. ) + +So, do you still think that this is a LISP problem +or something else? + +Cheers, +Bill Page. + +> -----Original Message----- +> From: root [mailto:daly@idsi.net] +> Sent: Tuesday, September 30, 2003 7:14 AM +> To: bill.page1@sympatico.ca +> Cc: axiom-developer@nongnu.org +> Subject: kudos +> +> +> Bill, +> +> I've cornered the TeX bug but haven't had time to develop a fix. +> I suspect that ELTing into a string produces #\A rather than A. +> I'll check it later today. As a side-effect I've been writing up +> the techniques used for finding this bug as a section in the +> DevelopersNotes pamphlet. + +\start +Date: 30 Sep 2003 10:39:54 -0400 +From: Camm Maguire +To: Mark Murray +Subject: Re: [Gcl-devel] Re: [Axiom-developer] New design for Axiom web site +Cc: antoine.hersen@aiesec.net, gcl-devel@gnu.org + +Greetings, and good to hear of everyone's work! + +May I please suggest that we collectively move toward an axiom build +with an externally installed GCL? To my knowledge, all of Tim's +patches are in 2.6.1 and higher but two (compiler noise and banner +removal), and I'd like to put in functionality to address these latter +two shortly (separate post forthcoming). Mark, my intention is to +also merge in your BSD patches as well -- hopefully I'll find time to +get to it today. I just feel it will be much harder to support GCL +with miscellaneous patches scattered about, not to mention that if the +patch author every should become unavailable, their effective +contribution to GCL may get lost. Of course, this is lisp, and the +user can and should feel free to redefine/shadow whatever lisp +functions they desire and save local images. The core files needed to +build GCL from C are my primary concern here. I feel they should +follow the model which works well in the C world, namely read-only +code accessible through a well defined API. It would be some world if +people patched gcc for each software project :-). + +Mark, you might want to take a look at the way Debian does this as +outlined in the debian/rules file of the Debian package. You can +likely follow the smaller 'patch.nosave' route if your platforms are +confined to amd64,i386,sparc,s390,arm,m68k,ppc. Tim, would it be +possible to put in some configure like option to the build which could +select the GCL's alternate image creation mechanism as I've outlined +in an earlier email? That way the Debian package can dispense with +all patches. + +To refresh our memory, here is the patch application code from +debian/rules: + +============================================================================= +ARCHT:=$(shell dpkg --print-architecture) +ifeq ($(ARCHT),ia64) +NO_SAVE_SYS:=t +endif +ifeq ($(ARCHT),mips) +NO_SAVE_SYS:=t +endif +ifeq ($(ARCHT),mipsel) +NO_SAVE_SYS:=t +endif +ifeq ($(ARCHT),hppa) +NO_SAVE_SYS:=t +endif +ifeq ($(ARCHT),alpha) +NO_SAVE_SYS:=t +endif + +ifeq ($(ARCHT),powerpc) +NO_STRIP:=--exclude=axiom +endif + +debian/patches_applied: + ! [ -e debian/patches_unapplied ] || patch -p0 > +-<> +-<> +-<> +-<> +-<> +-<> +-<> +-<> ++ echo "(compiler::link nil \"${OUT}/lisp\" \"(setq compiler::*default-system-p* t)\" \"${OBJ}/${SYS}/lib/cfuns-c.o ${OBJ}/${SYS}/lib/sockio-c.o ${OBJ}/${SYS}/lib/libspad.a\")" | gcl + @echo 13 finished system build on `date` | tee >gcldir + + ccldir: ${LSP}/ccl/Makefile +--- src/interp/util.lisp.pamphlet 28 Aug 2003 14:23:40 -0000 1.1 ++++ src/interp/util.lisp.pamphlet 13 Sep 2003 18:59:49 -0000 +@@ -68,10 +68,14 @@ + ;; perform system initializations for building a starter system + (init-memory-config) + #+:AKCL +- (let ((collectfn (concatenate 'string (string lsp) "/cmpnew/collectfn"))) +- (unless (probe-file (concatenate 'string collectfn ".o")) +- (compile-file collectfn)) +- (load collectfn) ++ (let ((collectfn (concatenate 'string si::*system-directory* "../cmpnew/gcl_collectfn.lsp")) ++ (collectfn1 (concatenate 'string obj "/" sys "/interp/collectfn"))) ++ (with-open-file (st collectfn :direction :input) ++ (with-open-file (st1 (concatenate 'string collectfn1 ".lsp") :direction :output) ++ (si::copy-stream st st1))) ++ (unless (probe-file (concatenate 'string collectfn1 ".o")) ++ (compile-file collectfn1)) ++ (load collectfn1) + (compiler::emit-fn t) + (mapcar + #'load +============================================================================= +patch.save +============================================================================= +--- src/boot/Makefile.pamphlet 28 Aug 2003 12:15:28 -0000 1.1 ++++ src/boot/Makefile.pamphlet 13 Sep 2003 18:59:46 -0000 +@@ -1101,7 +1101,8 @@ + expansion. Adding a single quote symbol will break this expansion. + + <>= +-CMD0= (progn (mapcar (function (lambda (x) (load x))) (quote (${OBJS1}))) (system::save-system "${SAVESYS}")) ++CMD0= (compiler::link (quote (${OBJS1})) "${SAVESYS}" "(setq compiler::*default-system-p* t)") ++#CMD0= (progn (mapcar (function (lambda (x) (load x))) (quote (${OBJS1}))) (system::save-system "${SAVESYS}")) + + @ + \subsection{boothdr.lisp \cite{1}} +--- src/interp/Makefile.pamphlet 5 Sep 2003 22:14:19 -0000 1.3 ++++ src/interp/Makefile.pamphlet 13 Sep 2003 18:59:49 -0000 +@@ -558,8 +558,10 @@ + @ echo '(load "${OUT}/c-util")' >> ${OUT}/makedep.lisp + @ echo '(unless (probe-file "${OUT}/g-util.${O}") (compile-file "${OUT}/g-util.${LISP}" :output-file "${OUT}/g-util.${O}"))' >> ${OUT}/makedep.lisp + @ echo '(load "${OUT}/g-util")' >> ${OUT}/makedep.lisp +- @ (cd ${MNT}/${SYS}/bin ; \ +- echo '(progn (load "${OUT}/makedep.lisp") (spad-save "${DEPSYS}"))' | ${LISPSYS}) ++# @ (cd ${MNT}/${SYS}/bin ; \ ++# echo '(progn (load "${OUT}/makedep.lisp") (spad-save "${DEPSYS}"))' | ${LISPSYS}) ++ @ ( cd ${OBJ}/${SYS}/bin && \ ++ echo '(setq si::*collect-binary-modules* t)(load "${OUT}/makedep.lisp")(compiler::link (remove-duplicates si::*binary-modules* :test (quote equal)) "$(DEPSYS)" "(setq si::*collect-binary-modules* t)(load \"$(OUT)/makedep.lisp\")(gbc t)(when si::*binary-modules* (error si::*binary-modules*))(setq si::collect-binary-modules* nil si::*binary-modules* nil)(gbc t)(setq compiler::*default-system-p* t)" "" nil)' | ${LISPSYS}) + @ echo 4 ${DEPSYS} created + + @ +@@ -611,8 +613,10 @@ + @ echo '#+:akcl (setq compiler::*suppress-compiler-notes* t)' >> ${OUT}/makeint.lisp + @ echo '#+:akcl (si::gbc-time 0)' >> ${OUT}/makeint.lisp + @ echo '#+:akcl (setq si::*system-directory* "${SPAD}/bin/")' >> ${OUT}/makeint.lisp +- @ (cd ${OBJ}/${SYS}/bin ; \ +- echo '(progn (gbc t) (load "${OUT}/makeint.lisp") (gbc t) (user::spad-save "${SAVESYS}"))' | ${LISPSYS} ) ++# @ (cd ${OBJ}/${SYS}/bin ; \ ++# echo '(progn (gbc t) (load "${OUT}/makeint.lisp") (gbc t) (user::spad-save "${SAVESYS}"))' | ${LISPSYS} ) ++ @ (cd ${MNT}/${SYS}/bin && \ ++ echo '(setq si::*collect-binary-modules* t)(setq x si::*system-directory*)(load "${OUT}/makeint.lisp")(setq si::*system-directory* x)(compiler::link (remove-duplicates si::*binary-modules* :test (quote equal)) "$(SAVESYS)" "(setq si::*collect-binary-modules* t)(load \"$(OUT)/makeint.lisp\")(when si::*binary-modules* (error si::*binary-modules*)(setq si::collect-binary-modules* nil si::*binary-modules* nil)(setq compiler::*default-system-p* t)(gbc t))" "$(OBJ)/$(SYS)/lib/sockio-c.o $(OBJ)/$(SYS)/lib/cfuns-c.o $(OBJ)/$(SYS)/lib/libspad.a" nil)' | ${LISPSYS}) + @ echo 6 ${SAVESYS} created + @ cp ${SAVESYS} ${AXIOMSYS} + @ echo 6a ${AXIOMSYS} created +============================================================================= +patch.nosave +============================================================================= +--- src/interp/Makefile.pamphlet 5 Sep 2003 22:14:19 -0000 1.3 ++++ src/interp/Makefile.pamphlet 13 Sep 2003 18:59:49 -0000 +@@ -611,8 +613,10 @@ + @ echo '#+:akcl (setq compiler::*suppress-compiler-notes* t)' >> ${OUT}/makeint.lisp + @ echo '#+:akcl (si::gbc-time 0)' >> ${OUT}/makeint.lisp + @ echo '#+:akcl (setq si::*system-directory* "${SPAD}/bin/")' >> ${OUT}/makeint.lisp +- @ (cd ${OBJ}/${SYS}/bin ; \ +- echo '(progn (gbc t) (load "${OUT}/makeint.lisp") (gbc t) (user::spad-save "${SAVESYS}"))' | ${LISPSYS} ) ++# @ (cd ${OBJ}/${SYS}/bin ; \ ++# echo '(progn (gbc t) (load "${OUT}/makeint.lisp") (gbc t) (user::spad-save "${SAVESYS}"))' | ${LISPSYS} ) ++ @ (cd ${OBJ}/${SYS}/bin ; \ ++ echo '(progn (gbc t) (setq x si::*system-directory*)(load "${OUT}/makeint.lisp") (setq si::*system-directory* x)(gbc t) (user::spad-save "${SAVESYS}"))' | ${LISPSYS} ) + @ echo 6 ${SAVESYS} created + @ cp ${SAVESYS} ${AXIOMSYS} + @ echo 6a ${AXIOMSYS} created +============================================================================= + +Tim, if you'd like me to propose an axiom configure script, I'd be +happy to do so. + +Take care, + +Mark Murray writes: + +> root writes: +> > There are patches to noweb and GCL which are applied in the build process. +> +> I saw those, and I'm trying to see how far I can get without them. Otherwise, +> if they look general purpose enough, I'd rather apply them to the FreeBSD +> ports of noweb and GCL. Make sense? +> +> The latest build error is an inability to find vmlisp.o when building +> interpsys. +> +> > I'll look for the make vs ${MAKE}. Mea Culpa. +> +> Thanks! No problem. +> +> > I'm happy to hear that it might build on FreeBSD. I have a BSD 4.8 port in +> > the queue of work to do but that won't happen anytime soon. It'll be great +> > if you do the "heavy lifting" :-) +> +> Mostly done :-) (I hope!) +> + +\start +Date: Tue, 30 Sep 2003 10:20:20 -0400 +From: Tim Daly +To: camm@enhanced.com, mark@grondar.org +Subject: [Axiom-developer] confusion over patch suggestion + +Camm, Mark, + +I'm sure the patch issue is clear to both of you but I'm feeling +a bit lost over what the issues are, what flaws you are trying to +correct, what your suggestions are and what the options you +are suggesting imply. Camm, could you explain it at a more +3rd grade level? (I guess the coffee isn't strong enough this +morning). I'm not familiar with Debian. I'm not clear how Axiom's +socket code is supposed to get put into GCL without change. I'm +fairly certain (but willing to be convinced) that "configure" is +not going to work with the Axiom build (I read the docs, wrote an +example, and abandoned the approach last year). + +\start +Date: Tue, 30 Sep 2003 19:10:42 +0200 +From: David MENTRE +To: daly@idsi.net +Subject: [Axiom-developer] Re: kudos + +root writes: + +> Please add Jinzhong Niu to the kudos list on the webpage. -- t + +Done. + +\start +Date: Tue, 30 Sep 2003 19:22:45 +0200 +From: David MENTRE +To: Mark Murray +Subject: Re: [Gcl-devel] Re: [Axiom-developer] New design for Axiom web site +Cc: camm@enhanced.com, antoine.hersen@aiesec.net + +Hello, + +Mark Murray writes: + +[ about Axiom patches on noweb and gcl ] +> I saw those, and I'm trying to see how far I can get without them. Otherwise, +> if they look general purpose enough, I'd rather apply them to the FreeBSD +> ports of noweb and GCL. Make sense? + +I think, at least for gcl 2.5.2, you should keep as much patches as +possible: + +The following aren't system specific: + +gcl-2.5.2.cmpnew.cmpcall.lsp.patch +gcl-2.5.2.cmpnew.cmpflet.lsp.patch +gcl-2.5.2.o.cmpaux.c.patch +gcl-2.5.2.o.main.c.patch +gcl-2.5.2.o.package.d.patch +gcl-2.5.2.unixport.init_gcl.lsp.in.patch +gcl-2.5.2.unixport.makefile.patch + +Those two are linux specific, you should write the equivalent for +FreeBSD: + +gcl-2.5.2.h.linux.defs.patch +gcl-2.5.2.h.linux.h.patch + +That's said, GCL 2.6.1 integrates all necessary changes, so it might be +wise to start from this release. + +For noweb, the patches are system independent and should be kept. + +I hope it helps, + +\start +Date: Tue, 30 Sep 2003 13:27:23 -0400 +From: Tim Daly +To: david.mentre@wanadoo.fr +Subject: Re: About configure (was: Re: [Axiom-developer] confusion over patch suggestion) +Cc: camm@enhanced.com, mark@grondar.org + +Actually, I've been muttering to myself about that. +There is no longer a reason why we need to set the AXIOM variable first. +If you just incanted something like: +make SYS=linux +then the makefile could construct the correct system. I'll test this +as soon as I can and consider making the change. + +\start +Date: Tue, 30 Sep 2003 20:14:10 +0200 +From: David MENTRE +To: texmacs-dev@gnu.org +Subject: [Axiom-developer] Latest tm_axiom.c for TeXmacs + +Hello TeXmacs hackers, + +You'll find latest tm_axiom.c at +http://savannah.nongnu.org/files/?group=axiom (Axiom_texmacs section). + +Latest release (1.0.2) fixes some typing issues. From Readme.txt: + +1) Change default )set messages autoload off +2) eliminate the display of the initial output from Axiom up + to the first prompt. See writing=0 in source. Change + writing=1 to display Axiom startup messages. +3) TeX to LaTex conversions. Axiom generates TeX, texmacs + accepts only a limited subset of LaTex. The following + changes correct errors in texmacs display of Axiom output. +3a) convert \root{n} \of {x} to \sqrt[n]{x} + e.g. fixes display of x**(1/3) +3b) Sutor's linebreaker code has been incorporated + + + +Regarding backward compatibility with old proprietary NAG Axiom, I +attempt a summary: + + - some people (like me) are not willing, neither have the access to a + NAG Axiom, in order to support it + + - other people (like Tim) would like to support it but can't for + licensing issues + + - other people have suggested that NAG Axiom has already an interface + + +>From other contributions, it seems that the most simple solution is +probably to duplicate TeXmacs/Axiom interface: + + - keep old, NAG Axiom compatible, tm_axiom.c in a separate directory + and duplicate necesary launch script (with a menu entry "Session>NAG + Axiom") + + - use latest tm_axiom.c as default Axiom session. + + +If you don't agree with this solution, then it seems that only latest, +free, Axiom will be supported in TeXmacs by Axiom people. + +\start +Date: Tue, 30 Sep 2003 18:51:16 +0100 +From: Mark Murray +To: David MENTRE +Subject: Re: [Gcl-devel] Re: [Axiom-developer] New design for Axiom web site +Cc: camm@enhanced.com, antoine.hersen@aiesec.net + +David MENTRE writes: +> I think, at least for gcl 2.5.2, you should keep as much patches as +> possible: + +I'm trying to use GCL-2.5.3, and re-engineering the patches into there +as needed. + +> The following aren't system specific: +> +> gcl-2.5.2.cmpnew.cmpcall.lsp.patch +> gcl-2.5.2.cmpnew.cmpflet.lsp.patch +> gcl-2.5.2.o.cmpaux.c.patch +> gcl-2.5.2.o.main.c.patch +> gcl-2.5.2.o.package.d.patch +> gcl-2.5.2.unixport.init_gcl.lsp.in.patch +> gcl-2.5.2.unixport.makefile.patch +> +> Those two are linux specific, you should write the equivalent for +> FreeBSD: +> +> gcl-2.5.2.h.linux.defs.patch +> gcl-2.5.2.h.linux.h.patch + +There are some additional files added ("EXTRAS= ...."). How general +to GCL are those files, or are they AXIOM-only? Could a general GCL +distribution have those files with no untoward side effects? + +> That's said, GCL 2.6.1 integrates all necessary changes, so it might be +> wise to start from this release. + +Does GCL 2.6.1 have the EXTRA= files? + +> For noweb, the patches are system independent and should be kept. + +I've added the patches to FreeBSD's noweb port, so the AXIOM port +can depend on that rather than carrying its own. Will the noweb +maintainers accept the patches for future releases? + +\start +Date: Tue, 30 Sep 2003 19:45:22 +0200 +From: David MENTRE +To: Tim Daly +Subject: About configure (was: Re: [Axiom-developer] confusion over patch suggestion) +Cc: camm@enhanced.com, mark@grondar.org + +Tim Daly writes: + +> I'm fairly certain (but willing to be convinced) that "configure" is +> not going to work with the Axiom build (I read the docs, wrote an +> example, and abandoned the approach last year). + +Having a "configure" script does not mean using autoconf and the like. + +We could just have a _hand written_ configure.pamphlet that just setup +necessary environment en print a nice message: + +"Please type: + export AXIOM=/.../mnt/linux +and then type: + make +You can now have a loooong coffee. :)" + +\start +Date: Tue, 30 Sep 2003 19:55:58 +0200 +From: David MENTRE +To: "Page, Bill" +Subject: TeXmacs and )show Integer issue: solved! (was: Re: [Axiom-developer] RE: [Axiom-mail] problem using axiom in texmacs) + +"Page, Bill" writes: + +> Axiom_Texmacs 1.0.2 + +Bill, with your latest patch (and my home compiled TeXmacs 1.0.2, I have +no longer the ')show Integer' issue. Many thanks! + +\start +Date: Tue, 30 Sep 2003 20:02:29 +0100 +From: Mark Murray +To: Tim Daly +Subject: Re: About configure (was: Re: [Axiom-developer] confusion over patch suggestion) +Cc: camm@enhanced.com + +Tim Daly writes: +> Actually, I've been muttering to myself about that. +> There is no longer a reason why we need to set the AXIOM variable first. +> If you just incanted something like: +> make SYS=linux +> then the makefile could construct the correct system. I'll test this +> as soon as I can and consider making the change. + +That would be excellent, thank you! It would also be nice if there was +a way to tell the build where the final install point of the code was, +so you could do a "make SYS=FreeBSD PREFIX=/usr/local" to get the a build +that is ready for /usr/local/*. Or something :-). + +\start +Date: Tue, 30 Sep 2003 20:17:07 +0100 +From: Mark Murray +To: daly@idsi.net +Subject: [Axiom-developer] Re: GCL-2.5.3 + +Tim Daly writes: +> If you go to line 1116 or so in the root Makefile.pamphlet +> there is a GCLVERSION variable. In theory you should only +> have to set this variable to GCL-2.5.3, put the gcl-2.5.3.tar.gz +> file in the zips subdirectory, set the AXIOM variable and type make. + +I found that :-). + +I already have a working port of GCL-2.5.3 for FreeBSD, and I'm trying +hard to make _that_ do the job, by bringing over patches from AXIOM +as they prove necessary. + +I think I'm going to proceed further by making a GCL-CURRENT(2.7.1?) +port, and trying to use that. + +I'm being bull-headed; I'm trying to make these packages with as little +"baggage" as possible, so I want GCL to use the existing GMP port, +rather than bringing its own (nearly there), using existing (fixed) +noweb, GCL, binutils etc. The more I get this right, the more I can +unencumber the build, and potentially speed it up for the FreeBSD +ports-building cluster. + +Am I making sense? :-) + +\start +Date: Tue, 30 Sep 2003 13:58:52 -0400 +From: Tim Daly +To: Mark@grondar.org +Subject: [Axiom-developer] GCL-2.5.3 + +Mark, + +If you go to line 1116 or so in the root Makefile.pamphlet +there is a GCLVERSION variable. In theory you should only +have to set this variable to GCL-2.5.3, put the gcl-2.5.3.tar.gz +file in the zips subdirectory, set the AXIOM variable and type make. + +\start +Date: Tue, 30 Sep 2003 20:56:55 +0100 +From: Mark Murray +To: David MENTRE +Subject: Re: [Gcl-devel] Re: [Axiom-developer] New design for Axiom web site +Cc: Camm Maguire + +David MENTRE writes: +> > May I please suggest that we collectively move toward an axiom build +> > with an externally installed GCL? +> +> I totally agree with Camm proposal. And keeping the current +> configuration would be a nobrainer, just put a gcl-2.6.1.tgz in the +> zips/ directory. + +I'd like to see the situation where the lisp compiler is completely +external to the AXIOM build, so that the AXIOM build does not build +its own lisp, rather it uses one athat is already present. Likewise +for tools such as noweb. + +> The only "issue" I see is that Tim is opposed to any kind of configure +> script. We could add a 'make external-gcl' target. + +I like the .pamphlet files, in that they give the same sort of flexibility +as a configure script. It would be _great_ if the build system had +a way fo doing some configuring on the command line (or ENVvars, or +whatever). + +> Camm, apparently ftp.gnu.org is back. Could you put a copy of latest +> stable GCL there? + +I'm playing with checked out sources right now from the CVS repo. I'm +assuming that those are 2.7.1? + +\start +Date: Tue, 30 Sep 2003 16:05:13 -0400 +From: root +To: mark@grondar.org +Subject: Re: About configure (was: Re: [Axiom-developer] confusion over patch suggestion) +Cc: camm@enhanced.com + +Mark, + +Axiom actually doesn't know anything about its location but I can +"hardcode" the path in the startup from the makefile. This would +eliminate the AXIOM variable completely. I'll look into it. + +\start +Date: Tue, 30 Sep 2003 19:30:06 +0200 +From: David MENTRE +To: Camm Maguire +Subject: Re: [Gcl-devel] Re: [Axiom-developer] New design for Axiom web site + +Hello, + +Camm Maguire writes: + +> May I please suggest that we collectively move toward an axiom build +> with an externally installed GCL? + +I totally agree with Camm proposal. And keeping the current +configuration would be a nobrainer, just put a gcl-2.6.1.tgz in the +zips/ directory. + +The only "issue" I see is that Tim is opposed to any kind of configure +script. We could add a 'make external-gcl' target. + +Camm, apparently ftp.gnu.org is back. Could you put a copy of latest +stable GCL there? + +\start +Date: Tue, 30 Sep 2003 21:28:14 +0100 +From: Mark Murray +To: daly@idsi.net +Subject: Re: About configure (was: Re: [Axiom-developer] confusion over patch suggestion) +Cc: camm@enhanced.com + +root writes: +> Mark, +> +> Axiom actually doesn't know anything about its location but I can +> "hardcode" the path in the startup from the makefile. This would +> eliminate the AXIOM variable completely. I'll look into it. + +Would that mean that it could compile anywhere and subequently run +anywhere? + +\start +Date: 30 Sep 2003 16:25:14 -0400 +From: Camm Maguire +To: Tim Daly +Subject: [Axiom-developer] Re: confusion over patch suggestion +Cc: mark@grondar.org + +Greetings! + +First of all, Tim, none of this pertains to 'flaws' in axiom IMHO, but +rather current weaknesses in GCL, which can nevertheless thankfully be +overcome without too much work. + +There are two issues: + +1) To use an externally installed GCL: + a) One has no access to unixport/makefile for the purposes of + patching the link command line generating raw_gcl and + adding the EXTRAS of sockio-c.o and cfuns-c.o. Instead, + one can make use of GCL's compiler::link function to do the + same within lisp from an externally installed GCL. This + happens at the 'lisp' image creation stage, and the syntax + is: + (compiler::link + nil + ;;; + ;;; an empty list of compiled lisp module pathnames + ;;; + "${OUT}/lisp" + ;;; + ;;; the output image pathname + ;;; + "(setq compiler::*default-system-p* t)" + ;;; + ;;; init code to run after the lisp modules' init; + ;;; *default-system-p* is explained below + ;;; + "${OBJ}/${SYS}/lib/cfuns-c.o ${OBJ}/${SYS}/lib/sockio-c.o ${OBJ}/${SYS}/lib/libspad.a") + ;;; + ;;; extra objects and libs to link in via ld + ;;; + + b) One wants to be able to save a local image (lisp, bootsys, + depsys, interpsys) and still be able to access pertinent files + in the GCL tree, e.g. collectfn (now renamed to + gcl_collectfn), and cmpinclude.h if compiling with :system-p + t, as is required at present on 5 GCL architectures. GCL now + keeps a persistent *system-directory* variable to enable + finding these files. Hence these two patches, with comments + interspersed: + +--- src/interp/util.lisp.pamphlet 28 Aug 2003 14:23:40 -0000 1.1 ++++ src/interp/util.lisp.pamphlet 13 Sep 2003 18:59:49 -0000 +@@ -68,10 +68,14 @@ + ;; perform system initializations for building a starter system + (init-memory-config) + #+:AKCL + + ;;; when building GCL from source, the final image has + ;;; *system-directory*, *lib-directory*, *load-path* and a + ;;; few others set to find files in the built source tree. + ;;; When GCL is installed, *system-directory* refers to the + ;;; newly installed location. Currently we still rely on the + ;;; shell script wrapper to set *lib-directory* and + ;;; *load-path*, but this should be cleaned up at some point + ;;; soon. As axiom calls the images without the wrapper + ;;; (which invokes the image with command line args setting + ;;; these variables), this patch uses *system-directory* to + ;;; find the gcl_collectfn.lsp source file, copy it into the + ;;; image's destination directory, and compiles it there + ;;; so it will be found in the image's default *load-path*. + ;;; This could be improved when we get a persistent + ;;; *lib-directory*, in which case the copy and recompile + ;;; can be avoided. + +- (let ((collectfn (concatenate 'string (string lsp) "/cmpnew/collectfn"))) +- (unless (probe-file (concatenate 'string collectfn ".o")) +- (compile-file collectfn)) +- (load collectfn) ++ (let ((collectfn (concatenate 'string si::*system-directory* "../cmpnew/gcl_collectfn.lsp")) ++ (collectfn1 (concatenate 'string obj "/" sys "/interp/collectfn"))) ++ (with-open-file (st collectfn :direction :input) ++ (with-open-file (st1 (concatenate 'string collectfn1 ".lsp") :direction :output) ++ (si::copy-stream st st1))) ++ (unless (probe-file (concatenate 'string collectfn1 ".o")) ++ (compile-file collectfn1)) ++ (load collectfn1) + (compiler::emit-fn t) + (mapcar + #'load + + +--- src/interp/Makefile.pamphlet 5 Sep 2003 22:14:19 -0000 1.3 ++++ src/interp/Makefile.pamphlet 13 Sep 2003 18:59:49 -0000 +@@ -611,8 +613,10 @@ + @ echo '#+:akcl (setq compiler::*suppress-compiler-notes* t)' >> ${OUT}/makeint.lisp + @ echo '#+:akcl (si::gbc-time 0)' >> ${OUT}/makeint.lisp + @ echo '#+:akcl (setq si::*system-directory* "${SPAD}/bin/")' >> ${OUT}/makeint.lisp +- @ (cd ${OBJ}/${SYS}/bin ; \ +- echo '(progn (gbc t) (load "${OUT}/makeint.lisp") (gbc t) (user::spad-save "${SAVESYS}"))' | ${LISPSYS} ) ++# @ (cd ${OBJ}/${SYS}/bin ; \ ++# echo '(progn (gbc t) (load "${OUT}/makeint.lisp") (gbc t) (user::spad-save "${SAVESYS}"))' | ${LISPSYS} ) + + ++ @ (cd ${OBJ}/${SYS}/bin ; \ ++ echo '(progn (gbc t) + + ;;; Something in makeint.lisp is resetting the + ;;; *system-directory* variable, and this patch just restores + ;;; it in the final image. + + (setq x si::*system-directory*) + (load "${OUT}/makeint.lisp") + (setq si::*system-directory* x) + (gbc t) (user::spad-save "${SAVESYS}"))' | ${LISPSYS} ) + + @ echo 6 ${SAVESYS} created + @ cp ${SAVESYS} ${AXIOMSYS} + @ echo 6a ${AXIOMSYS} created + + +2) Currently on ia64, mips(el), alpha, and hppa, GCL cannot save + system images with loaded compiled lisp object files (.o files). + On these systems, GCL must use compiler::link to make images + containing compiled lisp object files. One can also use this + method on other systems including i386, but it is not necessary. + Eventually we hope the necessity for this step will go away. To + achieve this will require modifications to the BFD library for + these platforms, either upstream, or via a GCL patch. + + Luckily the alternate image creation method is almost transparent + to the user. In fact, perhaps with your help, it can be made + completely transparent, and these separate arch-dependent image + building steps can be avoided. The idea is that one has a normal + GCL session, compiling files, processing other input, etc., and + instead of executing save-system to dump the image, passes a list + of the compiled lisp object modules to compiler::link together with + whatever other interpreted initialization code was run in the + session. compiler::link will then build a 'raw' image by linking + the lisp objects to the gcl objects with ld, and then feed this + image as input the interpreted code already run in the current + session. Any invocations of 'load' in this second run + automatically bypasses the actual load step, and instead merely + initializes the compiled lisp object which is already linked into + the running executable. At the end of this input, the image is + saved with save-system. + + We made an improvement in this procedure for axiom, and that was + the si::*collect-binary-modules* setup. Basically, one sets this + variable to t at the beginning of a session, and the variable + si::*binary-modules* will contain a list of all loaded binary + compiled lisp modules at the session's end, ready to pass as is to + compiler::link. If in addition I could figure out a reliable way + of saving the input stream for rerunning later, then I could simply + redirect save-system on these troublesome architectures to a call + to compiler::link and all would be transparent. + + For compiled lisp object modules to be ld linkable, they must be + compiled with the :system-p flag set to t. This can most easily be + achieved by setting compiler::*default-system-p* to t. + + As it is now, the following is needed on ia64, mips(el), alpha, and + hppa, with comments interspersed: + +--- src/boot/Makefile.pamphlet 28 Aug 2003 12:15:28 -0000 1.1 ++++ src/boot/Makefile.pamphlet 13 Sep 2003 18:59:46 -0000 + +### +### object list output name post init code +### ++CMD0= (compiler::link (quote (${OBJS1})) "${SAVESYS}" "(setq compiler::*default-system-p* t)") + + +-CMD0= (progn (mapcar (function (lambda (x) (load x))) (quote (${OBJS1}))) (system::save-system "${SAVESYS}")) ++#CMD0= (progn (mapcar (function (lambda (x) (load x))) (quote (${OBJS1}))) (system::save-system "${SAVESYS}")) + + + +--- src/interp/Makefile.pamphlet 5 Sep 2003 22:14:19 -0000 1.3 ++++ src/interp/Makefile.pamphlet 13 Sep 2003 18:59:49 -0000 +@@ -558,8 +558,10 @@ + @ echo '(load "${OUT}/c-util")' >> ${OUT}/makedep.lisp + @ echo '(unless (probe-file "${OUT}/g-util.${O}") (compile-file "${OUT}/g-util.${LISP}" :output-file "${OUT}/g-util.${O}"))' >> ${OUT}/makedep.lisp + @ echo '(load "${OUT}/g-util")' >> ${OUT}/makedep.lisp +- @ (cd ${MNT}/${SYS}/bin ; \ +- echo '(progn (load "${OUT}/makedep.lisp") (spad-save "${DEPSYS}"))' | ${LISPSYS}) ++# @ (cd ${MNT}/${SYS}/bin ; \ ++# echo '(progn (load "${OUT}/makedep.lisp") (spad-save "${DEPSYS}"))' | ${LISPSYS}) ++ @ ( cd ${OBJ}/${SYS}/bin && \ + + + ;;; I've spread out the code in this patch and + ;;; interspersed comments + + ++ echo '(setq si::*collect-binary-modules* t) + ;; + ;; keep track or all loaded .o files + ;; + (load "${OUT}/makedep.lisp") + ;; + ;; run the code generating the depsys image + ;; + (compiler::link + ;; + ;; make a new image with compiler::link + ;; + (remove-duplicates + si::*binary-modules* :test (quote equal)) + ;; + ;; remove duplicates from the list of .o files + ;; + "$(DEPSYS)" + ;; + ;; output image name + ;; + "(setq si::*collect-binary-modules* t) + ;; + ;; feed the following to the image + ;; linked with ld -- first make sure + ;; we don't actually load any more .o files + ;; + (load \"$(OUT)/makedep.lisp\") + ;; + ;; then run the image generation code + ;; again, on this pass, all attempts + ;; to load .o files should instead + ;; merely initialize files already + ;; linked in + ;; + (gbc t) + ;; + ;; collect garbage + ;; + (when si::*binary-modules* + (error si::*binary-modules*)) + ;; + ;; Bail if we loaded a module on this run + ;; + (setq si::collect-binary-modules* nil + si::*binary-modules* nil) + ;; + ;; stop collecting loaded modules + ;; + (gbc t)(setq compiler::*default-system-p* t)" + ;; + ;; set the system-p flag on all + ;; future compiles with this image + ;; + "" + ;; + ;; no extra libs needed + ;; + nil + ;; + ;; don't run the init code + ;; for the linked in modules + ;; explicitly via the function + ;; si::user-init, but rather + ;; tranparently redirect load + ;; requests to initialization + ;; requests in order as they + ;; occur when processing the + ;; standard input + ;; + )' | ${LISPSYS}) + @ echo 4 ${DEPSYS} created + + @ +@@ -611,8 +613,10 @@ + @ echo '#+:akcl (setq compiler::*suppress-compiler-notes* t)' >> ${OUT}/makeint.lisp + @ echo '#+:akcl (si::gbc-time 0)' >> ${OUT}/makeint.lisp + @ echo '#+:akcl (setq si::*system-directory* "${SPAD}/bin/")' >> ${OUT}/makeint.lisp +- @ (cd ${OBJ}/${SYS}/bin ; \ +- echo '(progn (gbc t) (load "${OUT}/makeint.lisp") (gbc t) (user::spad-save "${SAVESYS}"))' | ${LISPSYS} ) ++# @ (cd ${OBJ}/${SYS}/bin ; \ ++# echo '(progn (gbc t) (load "${OUT}/makeint.lisp") (gbc t) (user::spad-save "${SAVESYS}"))' | ${LISPSYS} ) ++ @ (cd ${MNT}/${SYS}/bin && \ ++ echo '(setq si::*collect-binary-modules* t) + ;; + ;; collect a list of loaded binaries + ;; + (setq x si::*system-directory*) + ;; + ;; save the *system-directory* setting + ;; as makeint is changing it + ;; + (load "${OUT}/makeint.lisp") + ;; + ;; run the image generation code + ;; + (setq si::*system-directory* x) + ;; + ;; restore *system-directory* + ;; + (compiler::link + ;; + ;; link a new image + ;; + (remove-duplicates si::*binary-modules* :test + (quote equal)) + ;; + ;; including unique .o files loaded this session + ;; + "$(SAVESYS)" + ;; + ;; output to this image + ;; + "(setq si::*collect-binary-modules* t) + ;; + ;; and fed input of, checking for erroneous loads + ;; + (load \"$(OUT)/makeint.lisp\") + ;; + ;; run the image generation code again + ;; + (when si::*binary-modules* + (error si::*binary-modules*) + ;; + ;; Bail if we loaded instead of init'ed + ;; + (setq si::collect-binary-modules* nil + si::*binary-modules* nil) + ;; + ;; stop collecting loaded pathnames + ;; + (setq compiler::*default-system-p* t) + ;; + ;; don't forget to use :system-p + ;; + (gbc t) + ;; + ;; collect garbage + ;; + )" + "$(OBJ)/$(SYS)/lib/sockio-c.o + $(OBJ)/$(SYS)/lib/cfuns-c.o $(OBJ)/$(SYS)/lib/libspad.a" + ;; + ;; here we need extra C libraries + ;; + nil + ;; + ;; initialize via redirecting load commands + ;; when proicessing the input, not + ;; explicitly via a si::user-init function + ;; + )' | ${LISPSYS}) + @ echo 6 ${SAVESYS} created + @ cp ${SAVESYS} ${AXIOMSYS} + @ echo 6a ${AXIOMSYS} created + + +With this setup, axiom can compile with externally installed GCL on +(with a slight bit of anticipation) all 11 Debian architectures and +amd64. A case can clearly be made that GCL should handle all this +arch specific stuff itself, but this is the reality at present. I'm +certainly open to suggestions. I could provide a lisp variable +indicating that the current arch cannot save loaded .o files if +desired -- this would obviate the need for a separate determination of +the architecture in a configure script. Or, since all your image +generation code is nicely packaged into an external file, I could +write a superset function to save-system and compiler::link for use +in all cases. The only tricky part in complete transparency is saving +input fed in not from a file, but via a terminal, and presering the +modules list across multiple invocations of load, save, rerun. Things +can definitely be improved, but so far there has been slight demand, +and the existing per application work-arounds have proved adequate. +And GCL has more pressing ANSI issues to attend to. + +Anyway, the more important patches from axiom's point of view are, +IMHO, the 1) issues. With these applied, axiom no longer need +maintain a subbuild of GCL, at least on i386 and the like. Possibly +going further, the 2) issues could either be applied in all cases, +only the needed cases, or not at all, leaving it up to debian/rules to +do for Debian distros only. Whatever you feel is best. + +Take care, + +Tim Daly writes: + +> Camm, Mark, +> +> I'm sure the patch issue is clear to both of you but I'm feeling +> a bit lost over what the issues are, what flaws you are trying to +> correct, what your suggestions are and what the options you +> are suggesting imply. Camm, could you explain it at a more +> 3rd grade level? (I guess the coffee isn't strong enough this +> morning). I'm not familiar with Debian. I'm not clear how Axiom's +> socket code is supposed to get put into GCL without change. I'm +> fairly certain (but willing to be convinced) that "configure" is +> not going to work with the Axiom build (I read the docs, wrote an +> example, and abandoned the approach last year). + +\start +Date: Tue, 30 Sep 2003 22:04:08 +0100 +From: Mark Murray +To: daly@idsi.net +Subject: [Axiom-developer] Re: GCL-2.5.3 + +root writes: +> It would be nice if Axiom ran on any common lisp without changes but +> there is no common lisp spec for sockets so every lisp will have to be +> rebuilt with socket support. + +Camm has come up with a proposal that looks as though it does this +generically. + +> Furthermore the lisp build is actually just a few minutes of the whole +> build so the "overhead" of rebuilding is low. And, in fact, the lisp +> will never be rebuilt if you don't change versions so it is a one-time +> event. + +In theory, every FreeBSD build will be a one-time build, as that is the +way the ports system works. + +> Still further, having Axiom do a custom build of the lisp ensures that +> we have a working version that is known to be correct. Running on +> random lisp images can be problematic since Axiom sets up things like +> memory layouts (see the src/interp/Makefile.pamphlet). These are +> needed because otherwise Axiom will run inefficiently due to consing. +> Other lisps will require similar tuning. + +That is fair enough. I can make sure that the FreeBSD GCL is built +properly for AXIOM, etc. + +> Axiom also runs faster after the "second compile". That is, if you do +> a build and then rebuild the src/interp directory Axiom will run +> faster. There are .fn files in the INT directory and these contain +> type information which GCL can use to "fast path" the system +> calls. They are generated at the first compile and used during the +> second. It is "in plan" to force a rebuild of src/interp in order to +> build the fastest possible image. + +Hmmm. + +> The noweb image is changed from the original and is "in plan" to +> have much deeper changes to support new pamphlet/booklet features. I +> talked to Norman Ramsey, the author of noweb, and he wants to keep his +> distribution as simple as possible so changes aren't going to migrate +> back to the noweb distribution. It probably won't be named noweb in +> the future so we don't collide with Norman's work. + +Hmm. Then it makes sense to check it into your tree and fork it properly, +no? + +> Upcoming but not yet part of the build is a deeper use of other packages +> like ADVI. These packages will have modifications that are almost +> certainly not going to get picked up by the general distribution. In +> particular, with ADVI, we need to build a "browser-like" hyperlink +> ability and a front-end that can handle table-of-contents and outline +> forms. Axiom will have thousands of pamphlet files that are cross-referencing +> . +> ADVI is going to have to know what a pamphlet file is, how to build one, +> how to walk one, and how to move among them. Thus there is an Axiom-ADVI +> in the future plan. + +So you are going to check them into the axiom tree and essentially borg +them, right? :-) + +> However, it is good to review the patches and see if they can be back-ported. +> I've only patched the lisp as a last resort. Perhaps you can figure out ways +> to eliminate the need to patch (e.g. how to add EXTRAS). + +Camm did this :-) + +> I downloaded GCL-2.5.3 last night (the last tar.gz) and I also downloaded +> the CVS. Where did you find 2.7.1? + +I checked it out of the CVS repo (HEAD). + +\start +Date: Tue, 30 Sep 2003 16:35:57 -0400 +From: root +To: mark@grondar.org +Subject: [Axiom-developer] Re: GCL-2.5.3 + +re: making sense. + +Yes and no. + +It would be nice if Axiom ran on any common lisp without changes but +there is no common lisp spec for sockets so every lisp will have to be +rebuilt with socket support. + +Furthermore the lisp build is actually just a few minutes of the whole +build so the "overhead" of rebuilding is low. And, in fact, the lisp +will never be rebuilt if you don't change versions so it is a one-time +event. + +Still further, having Axiom do a custom build of the lisp ensures that +we have a working version that is known to be correct. Running on +random lisp images can be problematic since Axiom sets up things like +memory layouts (see the src/interp/Makefile.pamphlet). These are +needed because otherwise Axiom will run inefficiently due to consing. +Other lisps will require similar tuning. + +Axiom also runs faster after the "second compile". That is, if you do +a build and then rebuild the src/interp directory Axiom will run +faster. There are .fn files in the INT directory and these contain +type information which GCL can use to "fast path" the system +calls. They are generated at the first compile and used during the +second. It is "in plan" to force a rebuild of src/interp in order to +build the fastest possible image. + +The noweb image is changed from the original and is "in plan" to +have much deeper changes to support new pamphlet/booklet features. I +talked to Norman Ramsey, the author of noweb, and he wants to keep his +distribution as simple as possible so changes aren't going to migrate +back to the noweb distribution. It probably won't be named noweb in +the future so we don't collide with Norman's work. + +Upcoming but not yet part of the build is a deeper use of other packages +like ADVI. These packages will have modifications that are almost +certainly not going to get picked up by the general distribution. In +particular, with ADVI, we need to build a "browser-like" hyperlink +ability and a front-end that can handle table-of-contents and outline +forms. Axiom will have thousands of pamphlet files that are cross-referencing. +ADVI is going to have to know what a pamphlet file is, how to build one, +how to walk one, and how to move among them. Thus there is an Axiom-ADVI +in the future plan. + +It would be great if you could just fire up a common lisp, load Axiom and go. +We could do that now with the current subset if some careful planning and +rewriting were done. But the current system is only about 1/3 the size of +what it will be next year and future plans call for even more complexity. + +However, it is good to review the patches and see if they can be back-ported. +I've only patched the lisp as a last resort. Perhaps you can figure out ways +to eliminate the need to patch (e.g. how to add EXTRAS). + +I downloaded GCL-2.5.3 last night (the last tar.gz) and I also downloaded +the CVS. Where did you find 2.7.1? + +\start +Date: Tue, 30 Sep 2003 16:54:02 -0400 +From: root +To: mark@grondar.org +Subject: Re: About configure (was: Re: [Axiom-developer] confusion over patch suggestion) +Cc: camm@enhanced.com + +Axiom can be compiled in any directory. Once the compile completes you +copy the mnt subdirectory to (yourpath) and then set AXIOM=(yourpath)/mnt/linux +(or (yourpath)/mnt/freebsd). Everything else can be erased. + +The src directory is untouched during the build. The INT directory +contains system-independent, machine-built files (e.g. lisp code), the +OBJ directory contains system-dependent, machine-built files (e.g. the +.o files) and MNT contains the "shipped system"). You can erase int +and obj at any time. They exist to speed up rebuilding and to hold +optimization information (e.g. the .fn files). After the system build +you can erase everything except MNT anywhere and MNT can move anywhere. + +Also You can clip off SRC and ZIPS, reset the Axiom variable, and +build for a new system. You can copy external packages into ZIPS, make +minor mods to the top level Makefile.pamphlet (e.g. the GCLVERSION +variable), type make, and use the new code. + +Originally this scheme came about because I built Axiom for about a dozen +different systems. In the first build you set it up as: + + src int obj/sys1 mnt/sys1 +------------------------------------------------- +| | | | | +| | | | | + +The make fills in the INT subdirectory (as well as OBJ and MNT for sys1). +For the second and subsequent systems you NFS mount empty file systems over +SRC and INT on sys2 thus: + + NFS NFS + src int obj/sys2 mnt/sys2 +------------------------------------------------- +| | | | | +| | | | | + +Now you can type make and it will rebuild OBJ and MNT for sys2 using the +system-independent work done for sys1. + +Axiom used to take about 3 weeks of continuous build time to build from +scratch (well, not scratch. you needed a running Axiom). INT and OBJ +reduced the cost of making changes down to a couple hours at most. +Even now on a 2Ghz, 1GB system it takes a couple hours. This scheme +reduces minor rebuilds to a couple minutes. If I had the hardware +available and NFS running I could significantly reduce build times for +ports. + +\start +Date: Tue, 30 Sep 2003 13:24:02 -0700 (PDT) +From: C Y +To: Mark Murray , David MENTRE +Subject: Re: [Gcl-devel] Re: [Axiom-developer] New design for Axiom web site +Cc: Camm Maguire + +--- Mark Murray wrote: +> David MENTRE writes: +> > > May I please suggest that we collectively move toward an axiom +> build +> > > with an externally installed GCL? +> > +> > I totally agree with Camm proposal. And keeping the current +> > configuration would be a nobrainer, just put a gcl-2.6.1.tgz in the +> > zips/ directory. +> +> I'd like to see the situation where the lisp compiler is completely +> external to the AXIOM build, so that the AXIOM build does not build +> its own lisp, rather it uses one athat is already present. Likewise +> for tools such as noweb. + +I agree. In the case of Gentoo Linux, some special configure options +are needed to build gcl. So to do an axiom ebuild, it would be +necessary to make changes and maintain them across Axiom releases. + +> > The only "issue" I see is that Tim is opposed to any kind of +> > configure script. We could add a 'make external-gcl' target. + +Out of curiosity, what are the objections to a configure/make style +arrangement like Maxima's? Perhaps something other than autoconf could +be used, a simpler system that just handled checking for the right +tools? Failing that, a make external-gcl would be very nice. + +One of these days I'll work on an Axiom ebuild for gentoo, but the +initial build attempt failed when I tried it a while back and my +machine is down now. Maybe it would work, but IIRC it failed on the +gcl build, which has always been a headache on Gentoo. + +\start +Date: Tue, 30 Sep 2003 21:29:51 -0400 +From: root +To: smustudent1@yahoo.com +Subject: Re: [Gcl-devel] Re: [Axiom-developer] New design for Axiom web site +Cc: camm@enhanced.com, mark@grondar.org + +Ok, I'm a little confused again. Must be my day for it. Lets see if I +can explain my confusion and then someone can clear it up for me. + +It appears that there is a goal to have an "external build" of gcl. +The motivation seems to be that if someone already has gcl installed +then they could use the already installed gcl rather than build a new one. + +I don't understand why this is important. After all the point of the gcl +build isn't to have an installed lisp but to build an axiom image. When +the axiom build finishes the lisp image is erased. Axiom will build on +many common lisps. + +Axiom uses some functions which are not standard common lisp. The socket +code is custom code for Axiom. Every lisp we use will have to include that +socket code. The code isn't useful to anyone else so it should not be part +of any standard lisp distribution. + +Axiom has to know details of each common lisp it is built upon. It is +important that we study each lisp in detail in order to optimize axiom +for the best performance. This means that makefiles are going to be +sensitive to lisp we build. For instance, in the GCL build we explicitly +set memory parameters to avoid consing. CMUCL, CLISP, Franz, etc are going +to have different issues. + +The current design uses a "standard distribution" unpacked from tar.gz +files that are easily replaced and are exact copies distributed by the +external projects. The tar.gz files allow us to ensure that we have a +"verified version" of each lisp. If we use an installed lisp we won't +have any way to guarantee which version of lisp we used. The user could +have strange intermediate versions and the "version number" doesn't +capture all the necessary information. + +I don't understand why it is important to use an already installed +lisp image. It seems likely to be yet-another-source-of-trouble +like the X library issues. What am I missing? + +Tim + + + diff --git a/changelog b/changelog index 34ccd6e..bb969ed 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,6 @@ +20140418 tpd src/axiom-website/patches.html 20140419.01.tpd.patch +20140418 tpd book/2003-09.txt regularize +20140418 tpd remove, reorder CC lines 20140418 tpd src/axiom-website/patches.html 20140418.04.tpd.patch 20140418 tpd book/2003-08.txt regularize 20140418 tpd src/axiom-website/patches.html 20140418.03.tpd.patch diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 330b1b9..0b50025 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -4268,6 +4268,18 @@ books/tangle.lisp make gcl code read-time conditional zips/axiom.vim.tgz vim syntax file added 20131129.01.tpd.patch Makefile change TESTSET default to regresstests +20140417.01.tpd.patch +add AxiomConference.pdf +20140418.01.tpd.patch +book/* all of the axiom emails to date +20140418.02.tpd.patch +book/2002*.txt, 2003-01..06.txt modified +20140418.03.tpd.patch +book/2003-07.txt regularize +20140418.04.tpd.patch +book/2003-08.txt regularize +20140419.01.tpd.patch +book/2003-09.txt regularize, remove, reorder CC lines