axiom-developer
[Top][All Lists]
Advanced

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

Re: [Axiom-developer] Axiom under Windows


From: Waldek Hebisch
Subject: Re: [Axiom-developer] Axiom under Windows
Date: Sun, 24 Jun 2007 14:03:35 +0200 (CEST)

Greg, thanks for your comments, they are very helpful.
Gregory Vanuxem wrote:
> Le mardi 12 juin 2007 ? 14:54 +0200, Waldek Hebisch a écrit : 
> > Could you be more specific about file handling in Windows SBCL?  AFAIK
> > makedir is problematic (but I hoped that it would work if you have mkdir
> > program in correct place) also chdir does not do much (but IIRC it is
> > taken verbatim from your Windows version).
> 
> No, I was speaking about SBCL wh-sandbox built on Linux, sorry I was not
> clear. Your version misses writablep and consort (try to read the
> fname.input file). Attached is the file that I use (I think you already
> have it), it's a literal translation of the C code in
> Build-improvements. This code is not satisfactory and file/directory
> handling should be reworked I think. For Windows it's a real pain to
> work on file or directory, as a matter of fact the code here returns
> always true (readablep, writablep etc..). I quickly looked at your code
> and you seem to assume a unix environment, why not using obey.bat ? That
> gives you a "shell" which provides some file related functions (after
> all this is Windows...).
>

Concerning writablep: I looked at your code.  But AFAICS we would
need a separate version for each Lisp system.  And the code is
actually more complicated than C version.  So I think it is better
to call C version.  I still have to work out some details, but
for writablep it seem to work.  To say the truth I would like
to limit use writablep/readable just to (rare) sitations when
one really needs them and eliminate them from other places.

Attached you will find a little Lisp file "ffi-tst.lisp" and a
patch.  After applying the patch compiling Axiom will build
a shared library "libspad.so" in the src subdirectory.  ATM one
has to copy it by hand to "target/x86_64-unknown-linux/lib/" directory.
Before installing "libspad.so" one has to compile "ffi-tst.lisp"
(for Axiom, as it uses "BOOT" package) and copy resulting fasl
to "target/x86_64-unknown-linux/lib/".  Once both are installed
writablep should work OK.  Also some socket functions will work
(but I have to work out "sock_get_string_buf" and fix various
portablity problems including console handling before socket
code will have any visible effect).

readble? had a bug which should be fixed in revision 635.


Concerning 'obey.bat':  I did not notice that it is included
in your version.
 
> > 
> > Do you have problems with
> > other functions?
> 
> (Do not take me wrong, consider what I'm saying with the tonality of a
> joke). Yes a lot! I would like to be able to (Windows and Linux):
> 
>   )cd Something (a namestring is missing apparently)
> 

I just wrongly copied your version: I did not notice that 'sb-ext:chdir'
only changes directory at C level and one still have to change
*default-pathname-defaults*... Fixed now.

>   )fin (a problem here, some Lisp implementations do not fall in a
> read-eval-print loop when a "main" function is provided)
> 

Yes, one has to figure out how to get repl in sbcl.  I have found
some functions that should help, but there are still details to work
out.

>   )trace INT )op + )break after
> 

That should be fixed by a patch that I commited shorty before
your message :)

>   have better error message (using (format nil "%a" ...) ?)
> 

Yes, using "~a" in 'error-format' (in 'spaderror.lisp.pamphlet')
seem to give better message.

>   Suppress the warnings, particularly when you compile a Spad file
>   since it's a pain to find the Spad error (even if the error is
>   NoValueMode is an Unknown mode  :-)
>

Just suppressing warnings is easy, but during build they point out
to real problems.  So ATM I am trying to find out a good compromise.
 

-- 
                              Waldek Hebisch
address@hidden 




reply via email to

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