Borys Bradel's Blog

The pain of using lisp

Tags: lisp May 30, 2008    

I like lisp. However, I disagree with it's proponents who say there's nothing wrong with it. The usual claim is that any deficiencies of the language are fixed with libraries. There's one big problem. The library system is very difficult to use.

For example, trying to get the cl-sdl-demos to work easily.

I installed clisp, sbcl, and many cl related packages (cl-sdl-demos, cl-sdl, uffi, et cetera) on ubuntu.

There is a README file with the cl-sdl-demos in /usr/share/doc/cl-sdl-demos that says to use

(clc:clc-require :sdl-demos) (sdl-test:start) (nehe:run-tutorial #)

Okay, great.

I run the first command in clisp and get output that ends with

*** - component ASDF::UFFI not found, required by #

I run the first command in sbcl and get

debugger invoked on a SB-KERNEL:READER-PACKAGE-ERROR in thread #<THREAD "initial thread" {A68D771}>:

READER-ERROR on #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {90D5A29}>: package "CLC" not found

I go on the internet and find a forum thread. The advice is to use (require :sdl-demos) (sdl-test:start)

In clisp the output after the first line is

*** - LOAD: A file with name SDL-DEMOS does not exist

In clisp the output after the first line is

debugger invoked on a SB-INT:EXTENSION-FAILURE in thread #<THREAD "initial thread" {A68D771}>: Don't know how to REQUIRE SDL-DEMOS.

I'm sure there's a way to load these libraries and I'm doing something wrong. However, I don't see what it is.

I tried something similar on windows with cygwin and clisp, and that didn't work out too well. Looking at a lot of webpages, the problem is probably caused by lists of paths to libraries being set up incorrectly. Nothing very clear about how to fix that. Which translates to a lot of trial and error for me. My best guess is that some parameters need to be changed to include all paths that have lisp libraries in them.

People have addressed this problem by adding yet another program on top of everything to set everything up for the user. However, the only solution is to fix the underlying problem, which requires a combination of very good documentation and easier ways of loading libraries properly.

The one positive note is that ltk worked perfectly under windows (with cygwin) and ubuntu once tk was installed on both systems. However, I loaded the appropriate library file directly for it.

Once I figure things out, I'll post some hopefully useful information.

Copyright © 2008 Borys Bradel. All rights reserved. This post is only my possibly incorrect opinion.

Previous Next