lisp

AllegroServe on SBCL 1.0.28 failing with `accept invalid keyword argument: :AUTO-CLOSE`

New version of SBCL 1.0.28 running on debian breaks AllegroServe 1.2.47 on incoming connection with following error: aserve-accept-6: 05/26/09 - 21:11:01 - accept: error 0 on accept invalid keyword argument: :AUTO-CLOSE (valid keys are :INPUT, :OUTPUT, :ELEMENT-TYPE, :EXTERNAL-FORMAT, ...

Allegro Webactions not serving on SBCL. Methods to debug or possible solutions?

I am trying to get Portable Allegro Serve and Webactions up and running on SBCL. I have so far managed to make paserve properly serve pages. But webactions chunks out with the following warning in the console: 1-aserve-worker: 05/27/09 - 21:28:43 - processing clp file "/home/user/pages/index.html" got error The value NIL ...

Designing SQL alternative?

I'm thinking of designing & implementing my own SQL-equivalent (DDL+DML) that is... a pure relational algebraic language, and has an elegant Lisp-/Scheme-like syntax Assuming an RDBMS such as MySQL, where exactly would I need to start my language design work? On top of the storage engine layer such as InnoDB? I don't know what all R...

What is implicit recursion?

What is implicit recursion? How is it different from explicit recursion? ...

Using Let in Scheme

I want to write a program to find the roots of the quadratic equation in Scheme. I used LET for certain bindings. (define roots-with-let (λ (a b c) (let ((4ac (* 4 a c)) (2a (* 2 a)) (discriminant (sqrt ( - (* b b) (4ac))))) (cons ( / ( + (- b) discriminant) 2a) ( / ( - (- b) discriminant) 2a)...

Learn Macros in Scheme from On Lisp

I really want to learn Scheme macros. I glanced over the content of "On Lisp" and a lot of the chapters have been devoted to Lisp macros. However I do not know common lisp. Can I use it to learn Scheme Macros? ...

Fast Prime Number Generation in Clojure

I've been working on solving Project Euler problems in Clojure to get better, and I've already run into prime number generation a couple of times. My problem is that it is just taking way too long. I was hoping someone could help me find an efficient way to do this in a Clojure-y way. When I fist did this, I brute-forced it. That was ea...

how do I get CLSQL to look for mysql.h in non-standard directory?

in the error log: CLSQL is doing: gcc -I /usr/local/include/mysql -I /usr/include/mysql -I /sw/include/mysql -I /opt/local/include/mysql -I /usr/local/mysql/include -fPIC -c clsql_mysql.c -o clsql_mysql.o and gets error: clsql_mysql.c:34:19: mysql.h: No such file or directory and a bunch of C errors because it doesn't include a heade...

Name of this function in built-in Emacs Lisp library?

The following Emacs Lisp function takes a list of lists and returns a list in which the items of the inner lists have been concatenated to one big list. It is pretty straight-forward and I am convinced something like this must already be part of the standard function library. (defun flatten (LIST) (if LIST (append (car LIST) (fl...

Lisp style: setq vs. setf

Peter Norvig mentions in Paradigms of Artificial Intelligence Programming, on page 50, the trade off between specificity and consistency and when choosing to use setq or setf to update a variable to a value. What do you recommend? Have you ever run into a situation where it mattered much beyond readability? ...

What is the clojure equivalent of the Python idiom "if __name__ == '__main__'"?

I'm dabbling in clojure and am having a little trouble trying to determine the clojure (and / or Lisp) equivalent of this common python idiom. The idiom is that at the bottom of a python module there is often a bit of test code, and then a statement which runs the code, for example: # mymodule.py class MyClass(object): """Main logi...

Help me write a Clojure macro which automatically adds metadata to a function definition

Hi. I realize that the first rule of Macro Club is Don't Use Macros, so the following question is intended more as an exercise in learning Clojure than anything else (I realize this isn't necessarily the best use of macros). I want to write a simple macro which acts as a wrapper around a regular (defn) macro and winds up adding some me...

How to force emacs not to display buffer in a specific window?

My windows configuration looks like this: +----------+-----------+ | | | | | | | | | | | | | | | | +-----------+ | | | +----------+-----------+ And I use the lower right window...

Protect.exe for AutoLISP code protection

I am developing an architectural LISP-based package for a member of the IntelliCAD consortium. Per recommendations I have found on websites, I have used the Kelvinator to deformat and disguise some of the code. Now I am attempting to use Protect.exe to encrypt the code. The exe seemed to work until I tried to put use a folder name in ...

Which dialect of Lisp should I learn?

I know there are a few different dialects of Lisp. Having decided that learning Lisp would be a new intellectual experience, I would like to know which Lisp dialect to learn, and why. Is there one which is more popular than the others? Is any one of them more "complete", as in, better documented and supported? What are the pros and cons...

Apache Integration with Lisp like web language

I've been playing a little bit with Arc/Anarki and Clojure lately. But what I really miss is something like mod_arc or mod_clojure for Apache. What I really miss is good Apache integration for a Lispy web language. Both Arc and Clojure use their own built in webserver that you launch within your code. I want all the functionality, re...

Is INTERPRETER an anti-pattern?

To me, the Interpreter patten sounds very much like an anti-pattern known as Greenspun's tenth rule: Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp. That is, if you need to use Interpreter, you're likely to create something that's sl...

Separate Namespaces for Functions and Variables in Common Lisp versus Scheme

Scheme uses a single namespace for all variables, regardless of whether they are bound to functions or other types of values. Common Lisp separates the two, such that the identifier "hello" may refer to a function in one context, and a string in another. (Note 1: This question needs an example of the above; feel free to edit it and add ...

Emacs-Lisp: make newly created buffer visible before the function returns?

In the following function in emacs Lisp, (defun show-life () (interactive) (switch-to-buffer "*Life-Window*") ; show how life goes on while living (live)) ; it takes 70 years to finish and return! I'd like to create the buffer "Life-Window", and have the life event generated by (live) displayed continuously while live goes on. ...

Getting command line arguments in Common Lisp

How can I get the command line arguments in (specifically in GNU, if there are any differences) Common Lisp? ...