Questions tagged [lisp]

Lisp is a family of general purpose programming languages, influenced by the lambda calculus, and with the ability to manipulate source code as a data structure.

Introduction

The name Lisp derives from "LISt Processor". It was originally created as a practical mathematical notation for computer programs. See Wikipedia for more information.

Hello World Program in Lisp

;;; Hello World in Common Lisp

(defun helloworld ()
  (print "Hello World!"))

Popular dialects

Free Lisp Programming Books

There is also a Stack Overflow chat room on Lisp.

6922 questions
114
votes
2 answers

What is the difference between Lisp-1 and Lisp-2?

I have tried to understand the difference between Lisp-1 and Lisp-2 and how this relates to Clojure but I still do not understand properly. Can anyone enlighten me?
yazz.com
  • 57,320
  • 66
  • 234
  • 385
111
votes
7 answers

What's so great about Lisp?

I don't know enough Lisp to say whether it's good or bad. It seems like everyone who has used Lisp loves it, yet the most popular languages these days are descended from C. So what is it about Lisp that is so great and why isn't it used more? Is…
Darrell Brogdon
  • 6,843
  • 9
  • 47
  • 62
110
votes
4 answers

In Emacs Lisp, how do I check if a variable is defined?

In Emacs Lisp, how do I check if a variable is defined?
mike
  • 46,876
  • 44
  • 102
  • 112
104
votes
8 answers

Haskell, Lisp, and verbosity

For those of you experienced in both Haskell and some flavor of Lisp, I'm curious how "pleasant" (to use a horrid term) it is to write code in Haskell vs. Lisp. Some background: I'm learning Haskell now, having earlier worked with Scheme and CL (and…
J Cooper
  • 16,891
  • 12
  • 65
  • 110
103
votes
4 answers

Clojure vs other Lisps

The intent of my question is not to start a flame war, but rather to determine in what circumstances each language is "the best tool for the job." I have read several books on Clojure (Programming Clojure, Practical Clojure, The Joy of Clojure, and…
Ralph
  • 31,584
  • 38
  • 145
  • 282
103
votes
4 answers

What are the actual differences between Scheme and Common Lisp? (Or any other two dialects of Lisp)

Note: I am not asking which to learn, which is better, or anything like that. I picked up the free version of SICP because I felt it would be nice to read (I've heard good stuff about it, and I'm interested in that sort of side of programming). I…
PrettyPrincessKitty FS
  • 6,117
  • 5
  • 36
  • 51
102
votes
9 answers

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…
Humphrey Bogart
  • 7,423
  • 14
  • 52
  • 59
101
votes
11 answers

Is it feasible to do (serious) web development in Lisp?

It obviously is possible to write almost any kind of application in almost any programming language, especially in such a powerful one as Lisp (be it Scheme or Common Lisp). But is it practical to use it for web development? If so, what should be a…
Leonardo
  • 2,439
  • 6
  • 26
  • 27
96
votes
5 answers

How do I configure emacs for editing HTML files that contain Javascript?

I have started the painful first steps of using emacs to edit an HTML file with both HTML tags and javascript content. I have installed nxhtml and tried using it - i.e set up to use nxhtml-mumamo-mode for .html files. But I am not loving it. …
MakeDummy
  • 1,091
  • 2
  • 8
  • 5
95
votes
11 answers

Using Vim for Lisp development

I've been using Lisp on and off for a while but I'm starting to get more serious about doing some "real" work in Lisp. I'm a huge Vim fan and was wondering how I can be most productive using Vim as my editor for Lisp development. Plugins, work flow…
Drew Olson
  • 3,709
  • 3
  • 23
  • 14
92
votes
3 answers

What does "my other car is a cdr" mean?

Can anyone well versed in lisp explain this joke to me? I've done some reading on functional programming languages and know that CAR/CDR mean Contents of Address/Decrement Register but I still don't really understand the humour.
CaptainCasey
  • 1,361
  • 1
  • 14
  • 21
90
votes
31 answers

Python vs. Ruby for metaprogramming

I'm currently primarily a D programmer and am looking to add another language to my toolbox, preferably one that supports the metaprogramming hacks that just can't be done in a statically compiled language like D. I've read up on Lisp a little and I…
dsimcha
  • 67,514
  • 53
  • 213
  • 334
89
votes
5 answers

How to make a Clojure function take a variable number of parameters?

I'm learning Clojure and I'm trying to define a function that take a variable number of parameters (a variadic function) and sum them up (yep, just like the + procedure). However, I don´t know how to implement such function Everything I can do…
rodrigoalvesvieira
  • 7,895
  • 15
  • 63
  • 84
89
votes
16 answers

LET versus LET* in Common Lisp

I understand the difference between LET and LET* (parallel versus sequential binding), and as a theoretical matter it makes perfect sense. But is there any case where you've ever actually needed LET? In all of my Lisp code that I've looked at…
Ken
  • 5,074
  • 6
  • 30
  • 26
89
votes
12 answers

Function pointers, Closures, and Lambda

I am just now learning about function pointers and, as I was reading the K&R chapter on the subject, the first thing that hit me was, "Hey, this is kinda like a closure." I knew this assumption is fundamentally wrong somehow and after a search…
None
  • 2,927
  • 3
  • 29
  • 42