Questions tagged [scheme]

Scheme is a functional programming language in the Lisp family, closely modeled on lambda calculus with eager (applicative order) evaluation. FOR questions about URL schemes PLEASE use the tag "URL-scheme".

Scheme is a functional programming language. It is designed to provide a mathematically well-founded language based on lambda calculus (with eager evaluation).

It follows a minimalist design philosophy specifying a small standard core with powerful tools for language extension. Its compactness and elegance have made it popular with educators, language designers, programmers, implementors, and hobbyists.

The Scheme language belongs to the Family. Since Scheme uses a single namespace for naming functions and other values, it is called a lisp-1.

Over the years, attempts at standardizing Scheme have been made including the R5RS standard, the somewhat controversial R6RS, and the most recent standard R7RS which is attempting to split the language into small and large (ongoing) standards.

Free Scheme Programming Books

Implementations

Community Websites

8110 questions
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
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
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
7 answers

What is "point free" style (in Functional Programming)?

A phrase that I've noticed recently is the concept of "point free" style... First, there was this question, and also this one. Then, I discovered here they mention "Another topic that may be worth discussing is the authors' dislike of point free…
Paul Hollingsworth
  • 13,124
  • 12
  • 51
  • 68
108
votes
7 answers

What is the difference between eq?, eqv?, equal?, and = in Scheme?

I wonder what the difference is between those operations in Scheme. I have seen similar questions in Stack Overflow but they are about Lisp, and there is not a comparison between three of those operators. I am writing the different types of commands…
yrazlik
  • 10,411
  • 33
  • 99
  • 165
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
87
votes
15 answers

What is the best Scheme or LISP implementation for OS X?

I am looking for a version of Scheme or even LISP that I can use to recover some lost Lisp development skills. Some web capabilities would be nice but not essential. I've looked at Plt and MIT scheme and, while both look pretty good, the Plt seems…
Mark Brittingham
  • 28,545
  • 12
  • 80
  • 110
84
votes
6 answers

How many primitives does it take to build a LISP machine? Ten, seven or five?

On this site they say there are 10 LISP primitives. The primitives are: atom, quote, eq, car, cdr, cons, cond, lambda, label, apply. http://hyperpolyglot.wikidot.com/lisp#ten-primitives Stevey reckons there are seven (or five): Its part of the…
hawkeye
  • 34,745
  • 30
  • 150
  • 304
78
votes
15 answers

How can I do web programming with Lisp or Scheme?

I usually write web apps in PHP, Ruby or Perl. I am starting the study of Scheme and I want to try some web project with this language. But I can't find what is the best environment for this. I am looking for the following features: A simple way of…
Castro
  • 1,436
  • 2
  • 15
  • 19
74
votes
17 answers

Which Lisp should I learn?

Which Lisp (dialect) should I learn, and why? The fragmentation between CL and Scheme slows uptake (at least for me!). So, give me the "true answer", please! I have tried to read feature comparisons, and they seem to get bogged down in esoterica…
Gregg Lind
  • 20,690
  • 15
  • 67
  • 81
1
2 3
99 100