Daniel Barlow writes:
> Marco Antoniotti <marcoxa@...> writes:
> > On Friday, Apr 11, 2003, at 05:12 America/New_York, Peter Van Eynde
> > wrote:
> >> Have people looked at the posix stuff from franz?
> >> See:
> >> http://www.franz.com/support/documentation/6.2/doc/os-interface.htm
> >> http://www.franz.com/support/tech_corner/osi111102.lhtml
> The OSI package? That was one of the interfaces I looked at
> originally, yes.
> What I like: signals errors when errno set, instead of leqaving the
> user to check sentinel values. In fact, I proposed a SYSCALL-ERROR
> which turns out coincidentally to be the same as theirs.
> What I don't like: the Lisp function name is not consistently the same
> as the C function name (fair enough to prefix OS- to symbols also in
> COMMON-LISP, but would you have guessed OS-FTRUNCATE?)
> What I'm not sure about: the file descriptor functions (open, isatty,
> etc) use streams instead of fds. I _think_ I'd rather have file
I know that I definately want file descriptors. If I understand your
intent correctly, it's to make an SB-POSIX package that allows you to
do normal POSIX programming from within SBCL -- in that case, the less
we mess with the POSIX functions, the better. I think translating
high-level Lisp concepts down to the POSIX level makes sense (eg,
allowing pathname objects where pathname-strings are expected; maybe
allowing streams to be passed *in* to SB-POSIX functions). But
translating POSIX concepts to higher-level Lisp ones should IMO be
limited to a very few cases where it saves the Lisp user from a lot of
problems -- and where it's fairly easily undoable. errno -> signaling
an error, is one such case. But I think streams are simply a
convenience issue, not a bugginess issue -- and if I want convenience,
I'll use functions from the COMMON-LISP package, not SB-POSIX.
> > I think it looks pretty good. CMUCL/SBCL already have *a lot* of
> > these available through the UNIX package.
> I think you mean "CMUCL" there.
I've been using CMUCL almost exclusively for general Unix programming
recently, and it will be nice to be able to use SBCL for this, too.
,' .\ / | No to Imperialist war |
,--' _,' | Wage class war! |
/ / `-----------------------'
( -. |
| ) |