Re: How Common Lisp sucks



In article <877j5nuzx4.fsf@xxxxxxx>, Bill Atkins <NOatkinwSPAM@xxxxxxx>
wrote:

Ron Garret <rNOSPAMon@xxxxxxxxxxx> writes:

In article <87d5ffcuqk.fsf@xxxxxxx>, Bill Atkins <NOatkinwSPAM@xxxxxxx>
wrote:

Ron Garret <rNOSPAMon@xxxxxxxxxxx> writes:

In article <0T333hfsIo3nNv8%stesch@xxxxxxxxxxxxxxxxxx>,
Stefan Scholl <stesch@xxxxxxxxxxx> wrote:

Ron Garret <rNOSPAMon@xxxxxxxxxxx> wrote:
trying to use Lisp for e.g. writing a Web server is an incredibly
painful experience compared to doing the same thing in e.g. Python.

I could list some web servers written in Common Lisp.

Yes, and it's probably a very long list. (And one of the items on that
list would be http://www.cliki.net/HTTP%20dot%20LSP.)

Now, compare any of those to the effort required to write a web server
in Python, where you can do:

import BaseHTTPServer

rg

That has nothing to do with the flaws or merits of Common Lisp,

Of course it does.

In CL there are a lot of web servers because CL doesn't come with one
and none of the ones people have written are sufficient, otherwise
people would not keep writing new ones.

and by
no stretch of the imagination can that be considered "writing" a web
server.

What difference does it make? The indisputable point is that to get a
web server up and running using Python takes substantially less effort
than to get one up and running using CL.

Your example does not set up a running web server.

I never said it did. But it is a good first step.


For what it's worth, this is not so hard in Common Lisp:

(require :araneida)

or if you're not into the whole brevity thing:

(asdf:oos 'asdf:load-op :araneida)

Except it doesn't work:



[ron@Mini:~]$ sbcl
This is SBCL 0.9.7, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
* (require :araneida)

debugger invoked on a SB-INT:EXTENSION-FAILURE:
Don't know how to REQUIRE ARANEIDA.
See also:
The SBCL Manual, Variable *MODULE-PROVIDER-FUNCTIONS*
The SBCL Manual, Function REQUIRE

Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
0: [ABORT] Exit debugger, returning to top level.

(SB-IMPL::REQUIRE-ERROR "Don't know how to ~S ~A.")
0] ^D
* (asdf:oos 'asdf:load-op :araneida)

debugger invoked on a SB-KERNEL:READER-PACKAGE-ERROR:
READER-ERROR at 609 on #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN*
{8015F41}>:
package "ASDF" not found

Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
0: [ABORT] Exit debugger, returning to top level.

(SB-IMPL::READ-TOKEN #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {8015F41}>
#\a)
0]



It gets worse. When you try to exit the debugger at this point you get:



debugger invoked on a SB-KERNEL:READER-PACKAGE-ERROR:
READER-ERROR at 783 on #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN*
{8015F41}>:
package "ASDF" not found

Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
0: [ABORT] Exit debugger, returning to top level.

(SB-IMPL::READ-TOKEN #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {8015F41}>
#\a)
0] ^D
*
:ARANEIDA
*
debugger invoked on a READER-ERROR:
READER-ERROR at 967 on #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN*
{8015F41}>:
unmatched close parenthesis

Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
0: [ABORT] Exit debugger, returning to top level.

(SB-IMPL::%READER-ERROR
#<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {8015F41}>
"unmatched close parenthesis")
0] ^D
*


Try to look at the above from the point of view of a newcomer, and
compare the experience the corresponding one in Python.

rg
.



Relevant Pages

  • Re: How Common Lisp sucks
    ... painful experience compared to doing the same thing in e.g. Python. ... compare any of those to the effort required to write a web server ... Type HELP for debugger help, or to exit from SBCL. ...
    (comp.lang.lisp)
  • Re: Why is Lisp attacked on Reddit almost as often as Republicans?
    ... It parses exit as a variable name, which refers to a funcallable object ... Type HELP for debugger help, or to exit from SBCL. ... Why do you expect this from Python but not from Lisp? ...
    (comp.lang.lisp)
  • Re: Symbol/Motorola Developer Community
    ... no instrument no spam DOT com> wrote: ... to notify the thread that it's time to exit. ... If you run this program in the debugger, ... scanner, separate from its state within your code. ...
    (microsoft.public.dotnet.framework.compactframework)
  • Re: Unable to start debugging on the webserver
    ... IIS as the debugger. ... "Unable to start debugging on the web server. ... Running the web page outside of the debugger may provide further information." ... I have not changed any of the authentication methods for the website in IIS. ...
    (microsoft.public.dotnet.framework.aspnet)
  • asdf-install sbcl windows
    ... Type HELP for debugger help, or to exit from SBCL. ... Exit debugger, returning to top level. ... Can anybody deduce from the output above where actually it fails? ...
    (comp.lang.lisp)

Loading