All Questions
20 questions
1
vote
2
answers
300
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 ...
4
votes
3
answers
620
views
Can Lisp keywords be protected?
Why aren't lisp keywords protected?
For example,
(define a 3)
(define define +) #makes define useless
(define a 1) #outputs 4, instead of assigning 1 to a.
Is this flexibility so important?
Or even ...
1
vote
1
answer
503
views
Scheme : Lambda inside quoted list is unbound
I'm programming a small lisp/scheme interpreter and I came across the following situation :
When a quoted list contains lambdas, they are not parsed as lambdas.
Here is a sample code (live on repl....
22
votes
4
answers
4k
views
What about LISP, if anything, makes it easier to implement macro systems?
I'm learning Scheme from the SICP and I'm getting the impression that a big part of what makes Scheme and, even more so, LISP special is the macro system. But, since macros are expanded at compile-...
5
votes
1
answer
2k
views
What features does MIT-Scheme have that make it ideal for SICP?
I've been thinking about trying to get through the SICP again, this time well-armed with a better idea of what the SICP is meant to accomplish, and being older and wiser than my first attempt back in ...
7
votes
1
answer
3k
views
What's the difference between lists constructed by quote and those constructed by cons in Scheme?
(define ls1 '((1 . 2) 1 . 2))
(set-car! (car ls1) 6)
ls1
(define ls2 (cons '(1 . 2) '(1 . 2)))
(set-car! (car ls2) 6)
ls2
After set-car!ing, ls1 will be ((6 . 2) 1 . 2) and ls2 ((6 . 2) 6 . 2). It ...
4
votes
3
answers
566
views
Obscurity of Lisp in collaborative projects [closed]
I'm playing with the idea of learning Scheme but I have a few misgivings.
From what I understand Lisp makes heavy use of macros that allow programmers to drastically change the language itself. I ...
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 ...
4
votes
3
answers
389
views
Is Reading the Spec Enough? [closed]
This question is centered around Scheme but really could be applied to any LISP or programming language in general.
Background
So I recently picked up Scheme again having toyed with it once or twice ...
2
votes
2
answers
830
views
Why does Scheme r5rs have no module system [closed]
With all the controversy surrounding scheme r6rs, I stuck with r5rs and I am wondering why the designers decided to not implement a module system. How does one organize code in this?
5
votes
2
answers
2k
views
What is a dotted pair's analogy in other Lisp implementations?
What is Scheme's dotted pair construct analogous to in other Lisp implementations? I can make a vector or list quite easily, and understand those in Clojure, even though the syntax is a little ...
23
votes
6
answers
6k
views
How useful are Lisp macros?
Common Lisp allows you to write macros that do whatever source transformation you want.
Scheme gives you a hygienic pattern-matching system that lets you perform transformations as well. How useful ...
7
votes
1
answer
503
views
Process arbitrarily large lists without explicit recursion or abstract list functions?
This is one of the bonus questions in my assignment.
The specific questions is to see the input list as a set and output all subsets of it in a list. We can only use cons, first, rest, empty?, empty, ...
26
votes
3
answers
11k
views
On the path to Enlightenment: Scheme, Common Lisp, Clojure? [closed]
A lot of people smarter than me keep writing about when you learn Lisp it makes you a better programmer because you "get it".
Maybe all I hear about Lisp(s) changing your life is just a big practical ...
18
votes
2
answers
3k
views
Is IronScheme complete enough or stable enough to be worth learning?
IronScheme is mentioned on Wikipedia as a successor to a failed project called IronLisp, bringing Lisp to CLR and .NET, the way Clojure does for the JVM.
Does anyone have experience with this language?...