Re: which LISP implementation (goal explained)
- From: "david.tolpin@xxxxxxxxx" <david.tolpin@xxxxxxxxx>
- Date: 30 Apr 2006 06:04:01 -0700
i mentioned oracle and weblogic only to say that sbcl is as production
ready as those products (for some reason those two products are my
stereotypes of 'production ready'). i was not attempting to say that
sbcl is as large as oracle, my comment was on the quality of the code,
not the feature set.
Both Oracle and WebLogic can be a bit shaky at obscure edges, because
they are huge and complex. SBCL is a much simpler program. And no, the
level of problems is not in threads or something like that.
The problems are in basic features of the compiler and the runtime.
I've quickly reproduced one of problems I met during my last
intercourse. Here it is.
There is a package PURI, developed by Franz, which is a URI parser. The
package contains function encode-escaped-encoding, and the functions
indirectly calls sb-kernel:shrink-vector (a public SBCL function). If
you look at the session below, you'll see that if the third argument to
encode-escaped-encoding is non-nil, shrink-vector (you can consult the
sources of PURI) does not work properly.
Please note that the third argument is NOT USED AT ALL with the other
arguments supplied, because "a" is not escaped. It just triggers
something in the compiler and spoils things.
* (puri::encode-escaped-encoding "a" puri::*reserved-path-characters*
'(#\Space))
"a
debugger invoked on a SIMPLE-CONDITION: interrupted at #X280E20B3
Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
0: [CONTINUE] Return from SB-UNIX:SIGINT.
1: [ABORT ] Exit debugger, returning to top level.
(SB-UNIX::SIGINT-HANDLER
#<unavailable argument>
#<unavailable argument>
#.(SB-SYS:INT-SAP #X28378660))
0] :a
* (puri::encode-escaped-encoding "a" puri::*reserved-path-characters*
nil)
"a"
And this is not the only problem of this kind. I went through half a
dozen of them with 0.9.11, and then decided that it is not something I
can rely in an application I am going to charge money for.
David
.
- Follow-Ups:
- Re: which LISP implementation (goal explained)
- From: Andras Simon
- Re: which LISP implementation (goal explained)
- References:
- which LISP implementation (goal explained)
- From: arnuld
- Re: which LISP implementation (goal explained)
- From: david.tolpin@xxxxxxxxx
- Re: which LISP implementation (goal explained)
- From: Marco Baringer
- Re: which LISP implementation (goal explained)
- From: david.tolpin@xxxxxxxxx
- Re: which LISP implementation (goal explained)
- From: Marco Baringer
- Re: which LISP implementation (goal explained)
- From: david.tolpin@xxxxxxxxx
- Re: which LISP implementation (goal explained)
- From: Marco Baringer
- which LISP implementation (goal explained)
- Prev by Date: Re: which LISP implementation (goal explained)
- Next by Date: Re: which LISP implementation (goal explained)
- Previous by thread: Re: which LISP implementation (goal explained)
- Next by thread: Re: which LISP implementation (goal explained)
- Index(es):
Relevant Pages
|