Re: which LISP implementation (goal explained)



"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
.



Relevant Pages

  • Re: How Common Lisp sucks
    ... compare any of those to the effort required to write a web server ... This is SBCL 0.9.7, an implementation of ANSI Common Lisp. ... Type HELP for debugger help, or to exit from SBCL. ...
    (comp.lang.lisp)
  • Re: N00b question on let
    ... Type HELP for debugger help, or to exit from SBCL. ... Exit debugger, returning to top level. ...
    (comp.lang.lisp)
  • xmls 1.2 resolve-entity problem with unicode enabled SBCL
    ... I've tried to compile & use xmls 1.2 in unicode-enabled SBCL, ... Type HELP for debugger help, or to exit from SBCL. ...
    (comp.lang.lisp)
  • ASDF-install with SBCL on Windows
    ... I'm trying to use ASDF-install on the Windows XP version of SBCL like ... Type HELP for debugger help, or to exit from SBCL. ... Exit debugger, returning to top level. ...
    (comp.lang.lisp)
  • Re: Arithmetics in alist
    ... Type HELP for debugger help, or to exit from SBCL. ... Exit debugger, returning to top level. ...
    (comp.lang.lisp)