[Top][All Lists]

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

[Axiom-developer] Re: Debian ports

From: Tim Daly
Subject: [Axiom-developer] Re: Debian ports
Date: Wed, 13 Jan 2010 02:08:45 -0500
User-agent: Thunderbird (Windows/20090302)


Good to hear from you. Sorry for the delay. I was off at a conference all
of last week.

1) I've apparently fixed the issue with the non-native-reloc ports, at
least temporarily, by loading bookvol5 in makeint.lisp as a .lsp the
first time.  I provide more detail later if desired.

1) The bookvol5 file is eventually going to be the full interpreter. I am
moving all of the code (slowly and carefully) into that file. At the moment
only some of the macros have been moved. These macros need to be
in the compile environment so bookvol5 has to be loaded to pick up the
moved macros. This file also needs to be compiled and loaded later
since there are some functions that are currently defined in other files.

This is a temporary situation. I am "tree-shaking" the whole interpreter
so that I only pick up functions that are actually used. I have thrown away
piles of code that can never be referenced. There are still well over 100
files to process so the tree-shaking will probably take the rest of the year.
However, once the interpreter is isolated there will only be one literate
file that contains everything.

2) I've just committed to the 2.6.8pre branch socket code which I hope
will obviate the need for your recent read.d patch regarding
read-char-no-hang.  I really think the current behavior is correct,
though I could of course be overlooking something.  Newlines are read
and returned.  The old implementation, among other things, returned
'eof for (read-char-no-hang *standard-input* nil 'eof)<Return>.
I think you are rolling your own socket code, but I've been testing
briefly with this:

I don't want my own socket code but I was unable to get the behavior I needed to implement using Axiom as a web server. I will pick up your latest release and do a
build and test using it. I'm more than happy to use an unpatched lisp.

3) I don't really know how to test or use )browse at the moment.  And
I have forgotten how to escape to the lisp propmt, (as opposed to one
command at a time )lisp)

From the top level you can drop into lisp using ")fin" and you can return to Axiom from lisp using "(restart)" You can also do ")lisp (setq $dalymode t)" which will cause Axiom to interpret any expression that starts with an open-paren as lisp thus:

 )lisp (setq $dalymode t)
 (+ 1 1) => 2

From the top level you type ")browse" and Axiom will now function as a web server on the port (8085). At the moment you need to give a full path to the root page thus:

Try Topics -> Numbers -> Integers -> x:=factorial(200) as an example.
You should see the result of the computation pasted inline in the webpage.

This should be easier and automatic but I have to write that code and I have not.

4) It would be great to integrate the compiler::link patches for now
at least.  At some point I hope to have native object relocation
everywhere, but this is likely a ways off.

Note I'm turning off sgc for now, but this should not be permanent.

I have not used the compiler::link patch because I didn't understand it and could not get it to work.. I will rewrite the makefile to use your changes and see if I can get it to work.

Do you know if GCL will build on a MAC? I used to have a MAC port working but
something broke and I cannot figure out what.


reply via email to

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