Questions tagged [common-lisp]
Common Lisp, or ANSI Common Lisp, is a standardized version of the Lisp programming language intended for production-strength power and libraries.
27 questions
1
vote
2
answers
356
views
Scheme's define in Common Lisp
In Common Lisp, we have to use the let form to declare a new lexically-scoped variable. This means that the code either looks like that written in C89 (all variables declared on top of scope), or ...
2
votes
2
answers
854
views
Are multiple dynamic dispatch methods possible?
C++ only supports single dynamic dispatch methods. Indeed, the following program:
#include <iostream>
struct Shape {
virtual void overlap(Shape* y) { std::cout << "Shape, Shape\n&...
4
votes
1
answer
553
views
Best Practice - Where to declare variables in Common Lisp?
Generally in procedural/imperative languages, it's best practice to place variable declarations as close to usage as possible.
This seems a little hazy in lisp, considering more code is used if there ...
4
votes
1
answer
356
views
Use `labels` or nested `flet`?
I have a hierarchy of functions, many functions are called by a single function.
There are three options:
Use defun: i.e. all functions are global even the ones that are only intended for internal ...
8
votes
2
answers
3k
views
In which order should lisp functions be defined?
In which order should code in a single lisp file be organised? Is there any common style guideline that allows other lisp programmers to easily understand code?
Googling for lisp style guideline ...
4
votes
0
answers
581
views
Test-first iterative development in Common Lisp environment
Given: I want to practice proper test-first, continuous delivery-style software development in Common Lisp environment.
Problem: How each red-green-refactor iteration of the process should look like?...
6
votes
1
answer
3k
views
`values` vs `list` for returning multiple values from Lisp form
What's the difference between using (values …) versus (list …) (or literally '(one two three …)) to return multiple values from a lambda (or other implicit progn)? Does it create some special glue to ...
5
votes
2
answers
1k
views
Is there any practical use for the empty type in Common Lisp?
The Common Lisp spec states that nil is the name of the empty type, but I've never found any situation in Common Lisp where I felt like the empty type was useful/necessary. Is it there just for ...
34
votes
2
answers
3k
views
Which of these old criticisms of common lisp still apply today?
In A Critique of Common Lisp written by Rodney A. Brooks and Richard P. Gabriel from Stanford in 1984, some design decisions retained by the normalizing committee of Common Lisp are discussed. While ...
3
votes
2
answers
1k
views
SBCL development on Windows, including CFFI
I have been asked to automate the operation of a Windows (WinForms) application, performing some fairly complicated statistical analysis along the way.
My first thought was the usual suspects: .NET, ...
8
votes
4
answers
3k
views
What makes Common Lisp "big"? [closed]
I've been learning both Common Lisp and Racket, and one thing that I consistently hear is that Racket is a much "smaller" language than Common Lisp. I was wondering what this really meant. As far as I ...
10
votes
2
answers
2k
views
Types in Lisp and Scheme
I see now that Racket has types. At first glance it seems to be almost identical to Haskell typing. But is Lisp's CLOS covering some of the space Haskell types cover? Creating a very strict Haskell ...
6
votes
1
answer
4k
views
Common Lisp Implementations - threading and multiplatform?
I'm learning Common Lisp, mostly as a "mind gym" hobby thing, but I want to end up with a set of skills that would also be usable "in real life", because when you learn a language you also accumulate ...
116
votes
15
answers
150k
views
Is LISP still useful in today's world? Which version is most used?
I try to teach myself a new programming language in regular intervals of time. Recently, I've read how Lisp and its dialects are at the complete opposite end of the spectrum from languages like C/C++, ...