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
48
votes
10 answers

Why isn't there a good scheme/lisp on llvm?

There is Gambit Scheme, MIT Scheme, PLT Scheme, Chicken Scheme, Bigloo, Larceny, ...; then there are all the lisps. Yet, there's not (to my knowledge) a single popular scheme/lisp on LLVM, even though LLVM provides lots of nice things like: easier…
anon
  • 41,035
  • 53
  • 197
  • 293
48
votes
9 answers

Are there any Common Lisp implementations for .Net?

Are there any Common Lisp implementations for .Net?
TraumaPony
  • 10,742
  • 12
  • 54
  • 74
47
votes
6 answers

Why code-as-data?

What is code-as-data? I've heard it's superior to "code-as-ascii-characters" but why? I personally find the code-as-data philosophy a bit confusing actually. I've dabbled in Scheme, but I never really got the whole code-as-data thing and wondered…
Peter C
  • 6,219
  • 1
  • 25
  • 37
47
votes
2 answers

Best practices in building and deploying Clojure applications: good tutorials?

I am new to Clojure, and am beginning to experiment with building an application. So far, everything I've seen about tutorials on compiling Clojure programs involves interactivity. For example, "load up the REPL and type (load-file…
kes
  • 5,983
  • 8
  • 41
  • 69
47
votes
2 answers

What is the convention for Lisp filename extension?

".el" is the convention for filename ending with Emacs Lisp programs. What is the convention when writing Common Lisp programs, please?
yves Baumes
  • 8,836
  • 7
  • 45
  • 74
45
votes
9 answers

F# vs Haskell vs Lisp - which language to learn?

I've heard a lot about functional programming languages and I'm willing to learn one. I guess it will be mostly for fun, however, I hope it will improve my programming skills. I have mostly C#/.NET background, so my first choice is to learn F#…
empi
  • 15,755
  • 8
  • 62
  • 78
45
votes
3 answers

When should Emacs #'function syntax be used?

Basically, when should I use Emacs Lisp's function procedure? I haven't found any examples in which there's a difference in behavior if you pass functions as arguments 'like-this or #'like-this. In fact, if I evaluate (eq 'goto-char #'goto-char) it…
Josh Tilles
  • 1,281
  • 11
  • 19
45
votes
9 answers

What is the closest thing to Slime for Scheme?

I do most of my development in Common Lisp, but there are some moments when I want to switch to Scheme (while reading Lisp in Small Pieces, when I want to play with continuations, or when I want to do some scripting in Gauche, for example). In such…
Ryszard Szopa
  • 5,431
  • 8
  • 33
  • 43
44
votes
9 answers

Good resources on using functional programming in game development?

I'm quite new to that functional programming paradigm, but so far I like it. Since I'm into game development, I want to try it out in writing some games in purely functional programming style. I don't mind the language - be it Erlang, Haskell, Lisp,…
Mikka
  • 2,113
  • 2
  • 16
  • 12
43
votes
7 answers

Homoiconicity, How does it work?

Can someone suggest articles that explain the concept of Homoiconicity, especially using Clojure. Why is it that Clojure is homoiconic but its hard to do that in other languages such as Java ?
Arun R
  • 8,372
  • 6
  • 37
  • 46
43
votes
2 answers

Help understanding Continuations in Scheme

I have been working alongside The Little Schemer to learn Scheme and using PLT-Scheme for my environment. The Little Schemer has helped me tremendously with recursion (it is straightforward for me now) but I'm stuck on a portion of the book that…
Ixmatus
  • 1,051
  • 9
  • 15
42
votes
7 answers

lisp filter out results from list not matching predicate

I am trying to learn lisp, using emacs dialect and I have a question. let us say list has some members, for which predicate evaluates to false. how do I create a new list without those members? something like { A in L: p(A) is true }. in python…
Anycorn
  • 50,217
  • 42
  • 167
  • 261
41
votes
5 answers

In Emacs, what does this error mean? "Warning: cl package required at runtime"

I am byte-compiling a module. It gives me this warning: Warning: cl package required at runtime Why is this a warning? I am well aware that I am using the cl package. In fact there is a (require 'cl) statement in the module. Is there something…
Cheeso
  • 189,189
  • 101
  • 473
  • 713
40
votes
6 answers

let vs def in clojure

I want to make a local instance of a Java Scanner class in a clojure program. Why does this not work: ; gives me: count not supported on this type: Symbol (let s (new Scanner "a b c")) but it will let me create a global instance like this: (def…
Jason Baker
  • 192,085
  • 135
  • 376
  • 510
40
votes
8 answers

Why is it customary to put many closing parentheses on one line in Lisp-based languages?

Usually code looks like this: (one-thing (another-thing arg1 (f arg5 r)) (another-thing arg1 (f arg5 r))) Why doesn't it like this?: (one-thing (another-thing arg1 (f arg5 r)) (another-thing arg1 (f arg5 r)) ) It allows adding and…
Vi.
  • 37,014
  • 18
  • 93
  • 148