Re: which LISP implementation (goal explained)
- From: Andras Simon <asimon@xxxxxxxxxxx>
- Date: 30 Apr 2006 18:53:44 +0200
"david.tolpin@xxxxxxxxx" <david.tolpin@xxxxxxxxx> writes:
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
Not quite. It's a portable version of net.uri developed by Kevin
Rosenberg.
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.
What do you mean by "not used at all"? If the third arg is nil,
encode-escaped-encoding returns immediately; no wonder there's no
problem then.
* (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
I can't reproduce it on 0.9.11.8. I do get strange results though,
unless I change puri:shrink-vector to return the result of the call to
sb-kernel:shrink-vector. Perhaps the latter wasn't meant to be called
for side effects?
Maybe the only bug is that sb-kernel:shrink-vector is exported but
undocumented.
Andras
.
- Follow-Ups:
- Re: which LISP implementation (goal explained)
- From: david.tolpin@xxxxxxxxx
- 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
- Re: which LISP implementation (goal explained)
- From: david.tolpin@xxxxxxxxx
- which LISP implementation (goal explained)
- Prev by Date: Re: time to bring back the Lisp machines?
- Next by Date: Installing a Lisp webserver and creating a web application with TBNL in 5 minutes
- Previous by thread: Re: which LISP implementation (goal explained)
- Next by thread: Re: which LISP implementation (goal explained)
- Index(es):
Relevant Pages
|