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
355
votes
15 answers

What makes Lisp macros so special?

Reading Paul Graham's essays on programming languages one would think that Lisp macros are the only way to go. As a busy developer, working on other platforms, I have not had the privilege of using Lisp macros. As someone who wants to understand the…
minty
  • 22,235
  • 40
  • 89
  • 106
213
votes
6 answers

How is Racket different from Scheme?

Racket is a descendant of Scheme. How is Racket different than R6RS? What did it add, or take away, or is just different? I understand that Racket is more than a language, it's a platform for languages. But I'm referring to the main Racket dialect.
mudgen
  • 7,213
  • 11
  • 46
  • 46
205
votes
13 answers

Is there a software-engineering methodology for functional programming?

Software Engineering as it is taught today is entirely focused on object-oriented programming and the 'natural' object-oriented view of the world. There is a detailed methodology that describes how to transform a domain model into a class model with…
Thorsten
  • 3,451
  • 3
  • 20
  • 25
196
votes
10 answers

Why is Lisp used for AI?

I've been learning Lisp to expand my horizons because I have heard that it is used in AI programming. After doing some exploring, I have yet to find AI examples or anything in the language that would make it more inclined towards it. Was Lisp used…
Cristián Romo
  • 9,814
  • 12
  • 50
  • 50
178
votes
22 answers

What's the best way to learn LISP?

I have been programming in Python, PHP, Java and C for a couple or years now, and I just finished reading Hackers and Painters, so I would love to give LISP a try! I understand its totally diferent from what i know and that it won't be easy. Also I…
DFectuoso
  • 4,877
  • 13
  • 39
  • 55
155
votes
17 answers

What is the best way to do GUIs in Clojure?

What is the best way to do GUIs in Clojure? Is there an example of some functional Swing or SWT wrapper? Or some integration with JavaFX declarative GUI description which could be easily wrapped to s-expressions using some macrology? Any tutorials?
Marko
  • 30,263
  • 18
  • 74
  • 108
150
votes
4 answers

Please explain some of Paul Graham's points on Lisp

I need some help understanding some of the points from Paul Graham’s What Made Lisp Different. A new concept of variables. In Lisp, all variables are effectively pointers. Values are what have types, not variables, and assigning or binding…
unj2
  • 52,135
  • 87
  • 247
  • 375
149
votes
4 answers

What are the differences between Clojure, Scheme/Racket and Common Lisp?

I know they are dialects of the same family of language called lisp, but what exactly are the differences? Could you give an overview, if possible, covering topics such as syntax, characteristics, features and resources.
MaiaVictor
  • 51,090
  • 44
  • 144
  • 286
148
votes
38 answers

Lisp in the real world

I have experimented with Lisp (actually Scheme) and found it to be a very beautiful language that I am interested in learning more about. However, it appears that Lisp is never used in serious projects, and I haven't seen it listed as a desired…
titaniumdecoy
  • 18,900
  • 17
  • 96
  • 133
144
votes
12 answers

Why exactly is eval evil?

I know that Lisp and Scheme programmers usually say that eval should be avoided unless strictly necessary. I’ve seen the same recommendation for several programming languages, but I’ve not yet seen a list of clear arguments against the use of eval.…
Jay
  • 9,585
  • 6
  • 49
  • 72
141
votes
6 answers

Why does Clojure have "keywords" in addition to "symbols"?

I have a passing knowledge of other Lisps (particularly Scheme) from way back. Recently I've been reading about Clojure. I see that it has both "symbols" and "keywords". Symbols I'm familiar with, but not with keywords. Do other Lisps have keywords?…
Laurence Gonsalves
  • 137,896
  • 35
  • 246
  • 299
133
votes
10 answers

Are Databases and Functional Programming at odds?

I've been a web developer for some time now, and have recently started learning some functional programming. Like others, I've had some significant trouble apply many of these concepts to my professional work. For me, the primary reason for this…
Tristan Havelick
  • 67,400
  • 20
  • 54
  • 64
133
votes
10 answers

When to use ' (or quote) in Lisp?

After making it through the major parts of an introductory Lisp book, I still couldn't understand what the special operator (quote) (or equivalent ') function does, yet this has been all over Lisp code that I've seen. What does it do?
Cristián Romo
  • 9,814
  • 12
  • 50
  • 50
132
votes
29 answers

Why should I learn Lisp?

I really feel that I should learn Lisp and there are plenty of good resources out there to help me do it. I'm not put off by the complicated syntax, but where in "traditional commercial programming" would I find places it would make sense to use it…
David
  • 14,047
  • 24
  • 80
  • 101
120
votes
4 answers

Is a statically-typed full Lisp variant possible?

Is a statically-typed full Lisp variant possible? Does it even make sense for something like this to exist? I believe one of a Lisp language's virtues is the simplicity of its definition. Would static typing compromise this core principle?
1
2 3
99 100