From MAILER-DAEMON Mon Nov 01 09:12:28 2010
Received: from mailman by lists.gnu.org with archive (Exim 4.43)
	id 1PCuBX-0002zW-SJ
	for mharc-axiom-developer@gnu.org; Mon, 01 Nov 2010 09:12:27 -0400
Received: from [140.186.70.92] (port=45578 helo=eggs.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.43) id 1PCuBV-0002y3-3B
	for axiom-developer@nongnu.org; Mon, 01 Nov 2010 09:12:25 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <camm@maguirefamily.org>) id 1PCuBT-0005QF-T0
	for axiom-developer@nongnu.org; Mon, 01 Nov 2010 09:12:25 -0400
Received: from tvwna-ip-c-172.princeton.org ([66.180.187.89]:52148
	helo=localhost.m.enhanced.com) by eggs.gnu.org with esmtp (Exim 4.71)
	(envelope-from <camm@maguirefamily.org>)
	id 1PCuBR-0005P8-Fq; Mon, 01 Nov 2010 09:12:21 -0400
Received: from camm by localhost.m.enhanced.com with local (Exim 4.69)
	(envelope-from <camm@maguirefamily.org>)
	id 1PCjeE-0007ZY-Rz; Sun, 31 Oct 2010 21:57:22 -0400
To: Gabriel Dos Reis <gdr@integrable-solutions.net>
References: <201007022035.o62KZpFP008531@sundance.cs.utexas.edu>
	<4C4E20B0.7060604@pacbell.net> <871vapnhwr.fsf@maguirefamily.org>
	<201007271406.o6RE6C8p017915@sundance.cs.utexas.edu>
	<87sk34ki04.fsf@maguirefamily.org>
	<201007271716.o6RHG3hv019550@sundance.cs.utexas.edu>
	<87eieohlex.fsf@maguirefamily.org> <874ofk8ubg.fsf@maguirefamily.org>
	<201007272202.o6RM227m021889@sundance.cs.utexas.edu>
	<87iq404iky.fsf@maguirefamily.org>
	<201007280655.o6S6tJph025883@sundance.cs.utexas.edu>
	<87vd7zjnb6.fsf_-_@maguirefamily.org>
	<87bp9rp7zx.fsf@gauss.cs.tamu.edu> <87aalxgj6g.fsf@maguirefamily.org>
	<8739rou5l1.fsf@gauss.cs.tamu.edu> <87d3qsr8ub.fsf@maguirefamily.org>
	<87vd4k629d.fsf@gauss.cs.tamu.edu>
	<87tyk47cji.fsf_-_@maguirefamily.org>
	<87r5f8wlmm.fsf_-_@gauss.cs.tamu.edu>
	<8739ro4gmt.fsf@maguirefamily.org>
	<AANLkTikUEAJU-9ik5M6spR5VH9jtA-oaOtSmm9KAxnLF@mail.gmail.com>
From: Camm Maguire <camm@maguirefamily.org>
Date: Sun, 31 Oct 2010 21:57:22 -0400
In-Reply-To: <AANLkTikUEAJU-9ik5M6spR5VH9jtA-oaOtSmm9KAxnLF@mail.gmail.com>
	(Gabriel Dos Reis's message of "Fri\,
	29 Oct 2010 20\:38\:48 -0500")
Message-ID: <87aaltst4t.fsf@maguirefamily.org>
User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2)
Cc: Gabriel Dos Reis <gdr@cs.tamu.edu>,
	Donald Winiecki <dwiniecki@boisestate.edu>, gcl-devel@gnu.org,
	open-axiom-devel@lists.sf.net, axiom-developer@nongnu.org
Subject: [Axiom-developer] Re: [Gcl-devel] Re: open-axiom builds on mingw32
X-BeenThere: axiom-developer@nongnu.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Axiom Developers <axiom-developer.nongnu.org>
List-Unsubscribe: <http://lists.nongnu.org/mailman/listinfo/axiom-developer>, 
	<mailto:axiom-developer-request@nongnu.org?subject=unsubscribe>
List-Archive: <http://lists.nongnu.org/archive/html/axiom-developer>
List-Post: <mailto:axiom-developer@nongnu.org>
List-Help: <mailto:axiom-developer-request@nongnu.org?subject=help>
List-Subscribe: <http://lists.nongnu.org/mailman/listinfo/axiom-developer>,
	<mailto:axiom-developer-request@nongnu.org?subject=subscribe>
X-List-Received-Date: Mon, 01 Nov 2010 13:12:26 -0000

Greetings!

My apologies -- one small change required in the open axiom
src/lisp/Makefile -- comment out the cp of rsym.exe, which is now
obsolete.  (Perhaps make it conditional on the file being present, to
interwork with earlier versions.)

fricas builds too, but with the above change, and a manual replacing
of all the /c/ paths in src/lisp/Makefile with c:/.  Tried alias
pwd=3D"pwd -W", but this did not seem to do the trick.

I wish I could figure out a clean resolution to these path issues, as
they also arise with the hol88 I've tried to build.  But I'm taking
your advice and leaving the GCL path system alone in this.  Strangely,
acl2 and maxima don't seem to be affected.

Take care,

Gabriel Dos Reis <gdr@integrable-solutions.net> writes:

> On Fri, Oct 29, 2010 at 8:24 PM, Camm Maguire <camm@maguirefamily.org> wr=
ote:
>> Greetings! =C2=A0P.S. =C2=A0Would be great if someone else could confirm=
 before
>> release ....
>
> Hi Camm,
>
>  I did the following:
>
>   1. `make clean' in the local tree
>   2. update local copy of CVS gcl-2.6.8pre
>   3. build GCL
>   4. install GCL
>   5. make clean (GCL directory)
>   6. configure OpenAxiom for build with gcl
>   7. make
>      This step fails (at base-lisp.exe construction) with
>
> Failed to open c:/Docume~1/gdr/Desktop/gcl-2.6.8.cvs/unixport/raw_gcl.exe=
 (2)...
> bailing.
>
>
> I suspect this must be related to GCL trying to figure out what
> si::system-directory
> should be.
>
> I think GCL should be looking to the install directory, but somehow it do=
es not.
> Does that sounds plausible?
>
> -- Gaby
>
>
>
>
>>
>> Gabriel Dos Reis <gdr@cs.tamu.edu> writes:
>>
>>> Camm Maguire <camm@maguirefamily.org> writes:
>>>
>>> | Guess I should try fricas.
>>>
>>> Hi Camm,
>>>
>>> That is great news!
>>> Did you have to patch locally GCL or is current trunk (2.6.8pre) all it
>>> takes?
>>>
>>> In principle, you should be able to build FriCAS natively on Windows
>>> because it derives from axiom.build-improvements, but I cannot guarantee
>>> it.
>>>
>>> -- Gaby
>>>
>>>
>>>
>>
>> --
>> Camm Maguire =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0camm@maguirefamily.org
>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>> "The earth is but one country, and mankind its citizens." =C2=A0-- =C2=
=A0Baha'u'llah
>>
>> _______________________________________________
>> Gcl-devel mailing list
>> Gcl-devel@gnu.org
>> http://lists.gnu.org/mailman/listinfo/gcl-devel
>>
>
>
>
>

--=20
Camm Maguire			     		    camm@maguirefamily.org
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah


From MAILER-DAEMON Mon Nov 01 10:15:05 2010
Received: from mailman by lists.gnu.org with archive (Exim 4.43)
	id 1PCvA9-00086A-KK
	for mharc-axiom-developer@gnu.org; Mon, 01 Nov 2010 10:15:05 -0400
Received: from [140.186.70.92] (port=50567 helo=eggs.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.43) id 1PCvA6-00085p-C9
	for axiom-developer@nongnu.org; Mon, 01 Nov 2010 10:15:03 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <gdr@cs.tamu.edu>) id 1PCvA4-0008PN-NN
	for axiom-developer@nongnu.org; Mon, 01 Nov 2010 10:15:02 -0400
Received: from smtp.cs.tamu.edu ([128.194.138.107]:35214)
	by eggs.gnu.org with esmtp (Exim 4.71)
	(envelope-from <gdr@cs.tamu.edu>) id 1PCvA4-0008Oi-Gz
	for axiom-developer@nongnu.org; Mon, 01 Nov 2010 10:15:00 -0400
Received: from gauss.cs.tamu.edu (gauss.cs.tamu.edu [128.194.136.74])
	by smtp.cs.tamu.edu (Postfix) with ESMTP id 260C6190C99;
	Mon,  1 Nov 2010 09:14:57 -0500 (CDT)
Received: by gauss.cs.tamu.edu (Postfix, from userid 1000)
	id 0B30A14C727; Mon,  1 Nov 2010 09:14:57 -0500 (CDT)
From: Gabriel Dos Reis <gdr@cs.tamu.edu>
To: Camm Maguire <camm@maguirefamily.org>
In-Reply-To: <87aaltst4t.fsf@maguirefamily.org> (Camm Maguire's message of
	"Sun, 31 Oct 2010 21:57:22 -0400")
Organization: Texas A&M University
References: <201007022035.o62KZpFP008531@sundance.cs.utexas.edu>
	<871vapnhwr.fsf@maguirefamily.org>
	<201007271406.o6RE6C8p017915@sundance.cs.utexas.edu>
	<87sk34ki04.fsf@maguirefamily.org>
	<201007271716.o6RHG3hv019550@sundance.cs.utexas.edu>
	<87eieohlex.fsf@maguirefamily.org> <874ofk8ubg.fsf@maguirefamily.org>
	<201007272202.o6RM227m021889@sundance.cs.utexas.edu>
	<87iq404iky.fsf@maguirefamily.org>
	<201007280655.o6S6tJph025883@sundance.cs.utexas.edu>
	<87vd7zjnb6.fsf_-_@maguirefamily.org>
	<87bp9rp7zx.fsf@gauss.cs.tamu.edu> <87aalxgj6g.fsf@maguirefamily.org>
	<8739rou5l1.fsf@gauss.cs.tamu.edu> <87d3qsr8ub.fsf@maguirefamily.org>
	<87vd4k629d.fsf@gauss.cs.tamu.edu>
	<87tyk47cji.fsf_-_@maguirefamily.org>
	<87r5f8wlmm.fsf_-_@gauss.cs.tamu.edu>
	<8739ro4gmt.fsf@maguirefamily.org>
	<AANLkTikUEAJU-9ik5M6spR5VH9jtA-oaOtSmm9KAxnLF@mail.gmail.com>
	<87aaltst4t.fsf@maguirefamily.org>
Sender: gdr@cs.tamu.edu
Date: Mon, 01 Nov 2010 09:14:56 -0500
Message-ID: <87hbg1uo4f.fsf@gauss.cs.tamu.edu>
Lines: 44
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-detected-operating-system: by eggs.gnu.org: Solaris 10 (beta)
Cc: Donald Winiecki <dwiniecki@boisestate.edu>, open-axiom-devel@lists.sf.net,
	axiom-developer@nongnu.org, gcl-devel@gnu.org
Subject: [Axiom-developer] Re: [Gcl-devel] Re: open-axiom builds on mingw32
X-BeenThere: axiom-developer@nongnu.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Axiom Developers <axiom-developer.nongnu.org>
List-Unsubscribe: <http://lists.nongnu.org/mailman/listinfo/axiom-developer>, 
	<mailto:axiom-developer-request@nongnu.org?subject=unsubscribe>
List-Archive: <http://lists.nongnu.org/archive/html/axiom-developer>
List-Post: <mailto:axiom-developer@nongnu.org>
List-Help: <mailto:axiom-developer-request@nongnu.org?subject=help>
List-Subscribe: <http://lists.nongnu.org/mailman/listinfo/axiom-developer>,
	<mailto:axiom-developer-request@nongnu.org?subject=subscribe>
X-List-Received-Date: Mon, 01 Nov 2010 14:15:04 -0000

--=-=-=

Camm Maguire <camm@maguirefamily.org> writes:

| Greetings!
| 
| My apologies -- one small change required in the open axiom
| src/lisp/Makefile -- comment out the cp of rsym.exe, which is now
| obsolete.  (Perhaps make it conditional on the file being present, to
| interwork with earlier versions.)

Hi Camm,

Thanks for the tip.  I applied the patch below.  I'm not planning on
releasing OpenAxiom-1.4.0 without GCL-2.6.8 fixed so I'm just removing
the rsym hack altogether as implied by the comments :-)

The only issue that remains is for GCL to find its system-directory when
it is installed  Did you get a chance to look at the report?

| fricas builds too, but with the above change, and a manual replacing
| of all the /c/ paths in src/lisp/Makefile with c:/.  Tried alias
| pwd="pwd -W", but this did not seem to do the trick.

Native Windows applications (even when built with msys) should not
hardcode the path with Unix-style pathname.  So, I consider the /c/
issue as a bug in FriCAS's Makefile.

[...]

| >   7. make
| >      This step fails (at base-lisp.exe construction) with
| >
| > Failed to open c:/Docume~1/gdr/Desktop/gcl-2.6.8.cvs/unixport/raw_gcl.exe (2)...
| > bailing.
| >
| >
| > I suspect this must be related to GCL trying to figure out what
| > si::system-directory
| > should be.


-- Gaby


--=-=-=
Content-Type: text/x-patch
Content-Disposition: inline; filename=gcl.diff

*** config/open-axiom.m4	(revision 3828)
--- config/open-axiom.m4	(local)
*************** AC_PROG_CPP
*** 226,252 ****
  OPENAXIOM_CPPFLAGS_FOR_VENDOR_LOCK_INS
  ])
  
- dnl -------------------------
- dnl -- OPENAXIOM_GCL_HACKS --
- dnl -------------------------
- dnl Some auxiliary programs generated by GCL need to be at the
- dnl right place when compiling under mingw32.
- AC_DEFUN([OPENAXIOM_GCL_HACKS],[
- ## The following is a horrible hack to arrange for GCL to successfully
- ## rebuild symbol tables with "rsym" on Windows platform.  It should
- ## go away as soon as GCL upstream is fixed.
- AC_SUBST(axiom_gcl_rsym_hack)
- case $axiom_lisp_flavor,$target in
-     gcl,*mingw*)
-         axiom_gcl_rsym_hack='d=`echo "(format nil \"~a\" si::*system-directory*)" | $(AXIOM_LISP) | grep "/gcl.*/" | sed -e "s,\",,g"`; cp $$d/rsym$(EXEEXT) .'
- 	;;
-     *) 
-         ## Breath.
-         axiom_gcl_rsym_hack=':'
- 	;;
- esac
- ])
- 
  dnl ---------------------------------
  dnl -- OPENAXIOM_SATISFY_GCL_NEEDS --
  dnl ---------------------------------
--- 226,231 ----
*** configure.ac	(revision 3828)
--- configure.ac	(local)
*************** oa_all_prerequisites=
*** 83,89 ****
  AC_SUBST(oa_all_prerequisites)
  
  OPENAXIOM_HOST_COMPILERS
- OPENAXIOM_GCL_HACKS
  OPENAXIOM_HOST_DATA_PROPERTIES
  
  OPENAXIOM_DYNAMIC_MODULE_SUPPORT
--- 83,88 ----
*** src/lisp/Makefile.in	(revision 3828)
--- src/lisp/Makefile.in	(local)
*************** lisp_c_objects = \
*** 92,98 ****
  
  $(OUT)/lisp$(EXEEXT): base-lisp$(EXEEXT)
  ifeq (@axiom_lisp_flavor@,gcl)
- 	@axiom_gcl_rsym_hack@
  	echo '(let* ((sys-cc compiler::*cc*) ' \
  	     '      (sys-ld compiler::*ld*) ' \
  	     '      (compiler::*cc* (concatenate (quote string) ' \
--- 92,97 ----

--=-=-=--


From MAILER-DAEMON Sat Nov 13 11:28:29 2010
Received: from mailman by lists.gnu.org with archive (Exim 4.43)
	id 1PHIxp-0006ZF-TK
	for mharc-axiom-developer@gnu.org; Sat, 13 Nov 2010 11:28:29 -0500
Received: from [140.186.70.92] (port=39732 helo=eggs.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.43) id 1PHIxl-0006Yq-A3
	for axiom-developer@nongnu.org; Sat, 13 Nov 2010 11:28:28 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <ax87438@martinb.com>) id 1PHIxf-0001ea-B3
	for axiom-developer@nongnu.org; Sat, 13 Nov 2010 11:28:25 -0500
Received: from moutng.kundenserver.de ([212.227.17.8]:54560)
	by eggs.gnu.org with esmtp (Exim 4.71)
	(envelope-from <ax87438@martinb.com>) id 1PHIxe-0001dg-Ty
	for axiom-developer@nongnu.org; Sat, 13 Nov 2010 11:28:19 -0500
Received: from suse113.localnet (188-223-141-163.zone14.bethere.co.uk
	[188.223.141.163])
	by mrelayeu.kundenserver.de (node=mreu0) with ESMTP (Nemesis)
	id 0LrXFh-1OWASY3apR-013REG; Sat, 13 Nov 2010 17:28:16 +0100
From: Martin Baker <ax87438@martinb.com>
To: Tim Daly <daly@axiom-developer.org>,
 axiom-developer@nongnu.org
Date: Sat, 13 Nov 2010 16:28:30 +0000
User-Agent: KMail/1.13.5 (Linux/2.6.34.7-0.5-desktop; KDE/4.4.4; x86_64; ; )
References: <4CDEB4DC.5020207@axiom-developer.org>
In-Reply-To: <4CDEB4DC.5020207@axiom-developer.org>
MIME-Version: 1.0
Content-Type: Text/Plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Message-Id: <201011131628.30868.ax87438@martinb.com>
X-Provags-ID: V02:K0:K+JBe5OfYEQzTpMHu46jeAf09bMuk4yGrQPsE4d6PKU
	k8wWpP7gX8+gQrmwIjQFgECuGUJVL57EWgUc3sCG7LsPGOyGDK
	dUMjcC0+z36BqmPcStXv/DDzpEBZH1AeuBt9HSdbTYtltXwybH
	5lfd7pTzBwpMp26j3F5R1zMOMazXxXKPSKXSd1U3PP9wtd52z5
	S2QWls2pZfnsx+yHKwecg==
X-detected-operating-system: by eggs.gnu.org: Genre and OS details not
	recognized.
Cc: 
Subject: [Axiom-developer] Re: Two stage compiler
X-BeenThere: axiom-developer@nongnu.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Axiom Developers <axiom-developer.nongnu.org>
List-Unsubscribe: <http://lists.nongnu.org/mailman/listinfo/axiom-developer>, 
	<mailto:axiom-developer-request@nongnu.org?subject=unsubscribe>
List-Archive: <http://lists.nongnu.org/archive/html/axiom-developer>
List-Post: <mailto:axiom-developer@nongnu.org>
List-Help: <mailto:axiom-developer-request@nongnu.org?subject=help>
List-Subscribe: <http://lists.nongnu.org/mailman/listinfo/axiom-developer>,
	<mailto:axiom-developer-request@nongnu.org?subject=subscribe>
X-List-Received-Date: Sat, 13 Nov 2010 16:28:28 -0000

On Saturday 13 Nov 2010 15:55:08 you wrote:
>   Martin,
> 
> The Spad language is converted into an intermediate lisp
> representations of the form (DEF ... ) and then turned
> into optimized lisp programs and then turned into C and
> then compiled.
> 
> Tim

Tim,

Thanks very much for the reply.

I somehow got the impression (possibly from daase.lisp.pamphlet I can't 
remember now) that the SPAD compiler and the interpreter were both driven from 
the database files: (interp.daase, operation.daase, category.daase, 
compress.daase, browse.daase) and that this involved a lot of custom code 
(different for the compiler and interpreter) written in a mixture of Lisp and 
'boot' code. Have I got this wrong?

It just seemed to me that if, the pattern matching could be separated out 
(still driven from the tables), then the rest (Lex, Parse, Semantic Analysis 
and so on) could be done by standard tools like ANTLR.

As I have mentioned before I would really like better error messages and 
programming environment and it seemed to me that this might help with this? I 
also thought thought it might help you if it made the code more maintainable? 
But, of course, I don't understand all the practical issues that might stop 
this working.

Martin Baker


From MAILER-DAEMON Sat Nov 13 12:56:20 2010
Received: from mailman by lists.gnu.org with archive (Exim 4.43)
	id 1PHKKq-0006rk-G3
	for mharc-axiom-developer@gnu.org; Sat, 13 Nov 2010 12:56:20 -0500
Received: from [140.186.70.92] (port=46604 helo=eggs.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.43) id 1PHKKo-0006pN-Pk
	for axiom-developer@nongnu.org; Sat, 13 Nov 2010 12:56:19 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <daly@axiom-developer.org>) id 1PHKKn-0001no-5j
	for axiom-developer@nongnu.org; Sat, 13 Nov 2010 12:56:18 -0500
Received: from vs338.rosehosting.com ([209.135.140.38]:33288
	helo=axiom-developer.org) by eggs.gnu.org with esmtp (Exim 4.71)
	(envelope-from <daly@axiom-developer.org>) id 1PHKKn-0001nV-0x
	for axiom-developer@nongnu.org; Sat, 13 Nov 2010 12:56:17 -0500
Received: from [192.168.1.4] (dynamic-acs-72-23-235-203.zoominternet.net
	[72.23.235.203])
	by axiom-developer.org (8.12.8/8.12.8) with ESMTP id oADHuC75002783;
	Sat, 13 Nov 2010 11:56:12 -0600
Message-ID: <4CDED140.3040606@axiom-developer.org>
Date: Sat, 13 Nov 2010 12:56:16 -0500
From: Tim Daly <daly@axiom-developer.org>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
	rv:1.9.2.9) Gecko/20100825 Thunderbird/3.1.3
MIME-Version: 1.0
To: Martin Baker <ax87438@martinb.com>
References: <4CDEB4DC.5020207@axiom-developer.org>
	<201011131628.30868.ax87438@martinb.com>
In-Reply-To: <201011131628.30868.ax87438@martinb.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-detected-operating-system: by eggs.gnu.org: Linux 2.6? (barebone, rare!)
Cc: axiom-developer@nongnu.org
Subject: [Axiom-developer] Re: Two stage compiler
X-BeenThere: axiom-developer@nongnu.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Axiom Developers <axiom-developer.nongnu.org>
List-Unsubscribe: <http://lists.nongnu.org/mailman/listinfo/axiom-developer>, 
	<mailto:axiom-developer-request@nongnu.org?subject=unsubscribe>
List-Archive: <http://lists.nongnu.org/archive/html/axiom-developer>
List-Post: <mailto:axiom-developer@nongnu.org>
List-Help: <mailto:axiom-developer-request@nongnu.org?subject=help>
List-Subscribe: <http://lists.nongnu.org/mailman/listinfo/axiom-developer>,
	<mailto:axiom-developer-request@nongnu.org?subject=subscribe>
X-List-Received-Date: Sat, 13 Nov 2010 17:56:19 -0000

  Martin,

I am in the process of tree-shaking (copying only code
that gets referenced) the compiler into literate form
in volume 9.

On 11/13/2010 11:28 AM, Martin Baker wrote:
> On Saturday 13 Nov 2010 15:55:08 you wrote:
>>    Martin,
>>
>> The Spad language is converted into an intermediate lisp
>> representations of the form (DEF ... ) and then turned
>> into optimized lisp programs and then turned into C and
>> then compiled.
>>
>> Tim
> Tim,
>
> Thanks very much for the reply.
>
> I somehow got the impression (possibly from daase.lisp.pamphlet I can't
> remember now) that the SPAD compiler and the interpreter were both driven from
> the database files: (interp.daase, operation.daase, category.daase,
> compress.daase, browse.daase) and that this involved a lot of custom code
> (different for the compiler and interpreter) written in a mixture of Lisp and
> 'boot' code. Have I got this wrong?
The compiler was a mixture of boot and lisp (although boot is just syntactic
sugar over lisp and gets translated to lisp). There is no boot code
in Axiom anymore, it is all common lisp.

Axiom is using a Pratt parser which is very efficient technology.
The Spad compiler parses the top level Spad syntax into a prefix internal
language using "(DEF ...", "(IN ...", "(LEAVE ..." and other forms that
tend to mirror Spad language constructs. These are lisp s-expressions.
 From there these are translated to common lisp. When using GCL, the
common lisp gets translated to C and the C is compiled using GCC.

> It just seemed to me that if, the pattern matching could be separated out
> (still driven from the tables), then the rest (Lex, Parse, Semantic Analysis
> and so on) could be done by standard tools like ANTLR.
ANTLR is a java tool. Lisp is so much better suited for doing compiler work
than Java. Once the Spad syntax is translated into s-expressions, these are
the same as AST forms in a compiler. Lisp can easily manipulate these forms
and a lot of optimizations are applied before they get compiled.

Many of these forms can be written as macros and executed directly. Boot 
code
could not exploit the full power of lisp macros. It limited you to a 
Python-like
syntax which is somewhat pointless. Boot code also could not use the 
structuring
functions (like defstruct, CLOS) properly so a lot of the code relies on 
global
variables. This will eventually get fixed.
> As I have mentioned before I would really like better error messages and
> programming environment and it seemed to me that this might help with this? I
> also thought thought it might help you if it made the code more maintainable?
> But, of course, I don't understand all the practical issues that might stop
> this working.
The issue of better error messages is a question of keeping context
around. Axiom does tell you exactly what the problem is. It prints the
failed expression in <<...>>, the type of expression it was expecting and
the expression it found. If you understand the internal compiler 
s-expressions
it is all perfectly obvious :-)

Good error messages require that you keep a trail of where you are in the
original code and how each sub-expression in the original code relates to
the compiled form. This is a matter of careful book-keeping. It also 
requires
that you related the failure to the intention of the compiler, a more subtle
issue. Even more subtle is the nuance of the language details. Good error
messages are hard.

The Spad compiler was written as a research effort to explore ideas like
encapsulation and dispatching not only on the types of the arguments but
also on the type of the returned value (something very few languages STILL
do not allow). The people who wrote it were also the only users of it.
So the error messages were perfectly obvious to us.

One of the eventual goals of the rewrite will be to include this 
book-keeping
and error messages.

Tim Daly
> Martin Baker
>


From MAILER-DAEMON Fri Nov 19 17:05:28 2010
Received: from mailman by lists.gnu.org with archive (Exim 4.43)
	id 1PJZ5E-0003gG-4B
	for mharc-axiom-developer@gnu.org; Fri, 19 Nov 2010 17:05:28 -0500
Received: from [140.186.70.92] (port=34962 helo=eggs.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.43) id 1PJPQN-0001jE-1C
	for axiom-developer@nongnu.org; Fri, 19 Nov 2010 06:46:50 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <dch24@hermes.cam.ac.uk>) id 1PJPQA-0008VK-5V
	for axiom-developer@nongnu.org; Fri, 19 Nov 2010 06:46:38 -0500
Received: from ppsw-50.csi.cam.ac.uk ([131.111.8.150]:49902)
	by eggs.gnu.org with esmtp (Exim 4.71)
	(envelope-from <dch24@hermes.cam.ac.uk>)
	id 1PJPPk-0008Oe-Il; Fri, 19 Nov 2010 06:46:00 -0500
X-Cam-AntiVirus: no malware found
X-Cam-SpamDetails: not scanned
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from lapc-br1-482.maths.private.cam.ac.uk ([172.16.219.226]:32865)
	by ppsw-50.csi.cam.ac.uk (smtp.hermes.cam.ac.uk [131.111.8.157]:25)
	with esmtpsa (LOGIN:dch24) (TLSv1:DHE-RSA-AES256-SHA:256)
	id 1PJPPi-00055N-qC (Exim 4.72)
	(return-path <dch24@hermes.cam.ac.uk>); Fri, 19 Nov 2010 11:45:58 +0000
Date: Fri, 19 Nov 2010 11:45:16 +0000 (GMT)
From: Dan <vi5u0-maxima@yahoo.co.uk>
X-X-Sender: dan@hydrographer.hatton.btinternet.co.uk
To: gcl-devel@gnu.org, Maxima mailing list <maxima@math.utexas.edu>, 
	Axiom-Developer <axiom-developer@nongnu.org>
In-Reply-To: <E1PBD98-0003Y5-6B@localhost.m.enhanced.com>
Message-ID: <alpine.LNX.2.00.1011191137440.22399@hydrographer.hatton.btinternet.co.uk>
References: <E1PBD98-0003Y5-6B@localhost.m.enhanced.com>
User-Agent: Alpine 2.00 (LNX 1167 2008-08-23)
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
Sender: Dan Hatton <dch24@hermes.cam.ac.uk>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6, seldom 2.4 (older,
	4)
X-Mailman-Approved-At: Fri, 19 Nov 2010 17:05:26 -0500
Cc: 
Subject: [Axiom-developer] Re: [Maxima] 2.6.8 licensing
X-BeenThere: axiom-developer@nongnu.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Axiom Developers <axiom-developer.nongnu.org>
List-Unsubscribe: <http://lists.nongnu.org/mailman/listinfo/axiom-developer>, 
	<mailto:axiom-developer-request@nongnu.org?subject=unsubscribe>
List-Archive: <http://lists.nongnu.org/archive/html/axiom-developer>
List-Post: <mailto:axiom-developer@nongnu.org>
List-Help: <mailto:axiom-developer-request@nongnu.org?subject=help>
List-Subscribe: <http://lists.nongnu.org/mailman/listinfo/axiom-developer>,
	<mailto:axiom-developer-request@nongnu.org?subject=subscribe>
X-List-Received-Date: Fri, 19 Nov 2010 11:46:50 -0000

On Wed, 27 Oct 2010, Camm Maguire wrote:

> Greetings!  The FSF has requested that we "change the software license
> to GPLv3 or later, and the documentation license FDLv1.3 or later".

(First an assertion of non-authority:  I'm not a copyright holder on
any of the software at issue.  I think I'm listed among the authors of
Axiom, but my contribution really was minimal, and I certainly don't
feel like it gives me any particular right to control the licensing
scheme.  What follows is just a suggestion.)

When I release my own code, I always shy away from using those "or
later" clauses.  We have no idea what might be in a future version of
the GPL or FDL, and therefore no idea what we're signing up to if we
include those clauses.

-- 

Regards,

Dan


