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
26
votes
2 answers

As of 2016, is there a Scheme implementation which supports 100% of R7RS (small) with no deviations?

I am willing to learn Scheme. I want to stick to R7RS since it's the last standard. However, it seems that there is a lot of fragmentation on the Scheme current implementations, and most of them staying at R5RS or part of R6RS. The only one I have…
25
votes
3 answers

Why are most S-Expression languages dynamically typed?

How come most Lisps and Schemes are dynamically typed? Does static typing not mix with some of their common features?
keiter
  • 3,534
  • 28
  • 38
24
votes
9 answers

Benefits of learning scheme?

I've just started one of my courses, as classes just began 2 weeks ago, and we are learning Scheme right now in one for I assume some reason later on, but so far from what he is teaching is basically how to write in scheme. As I sit here trying to…
chicken
  • 1,618
  • 5
  • 24
  • 35
24
votes
1 answer

Scheme console printing

Just started with Scheme. I'm having problem with printing on console. A simple list printing example: (define factorial (lambda (n) (cond ((= 0 n) 1) (#t (* n (factorial (- n 1))))))) I want to print n, every time the…
eric17859
  • 418
  • 1
  • 5
  • 17
24
votes
1 answer

Differences between #lang scheme and #lang racket

I'm guessing that #lang racket is a dialect of scheme with much more out of the box structures and common functions and perhaps would be more pedagogic. What are the perks a #lang racket against #lang scheme? Is it best (or even possible) to use…
orlybg
  • 599
  • 1
  • 5
  • 15
24
votes
5 answers

Is there a lint for Common Lisp or Chicken Scheme?

Is there a lint for Common Lisp or Chicken Scheme? Possibly something akin to C's splint, Haskell's HLint, Perl's B::Lint, etc.?
mcandre
  • 22,868
  • 20
  • 88
  • 147
24
votes
5 answers

Are pair and list different in Scheme?

I wonder whether '(1 . 2) and '(1 2) mean the same data (equal to each other) in Scheme or not? I think they are the same thing, is this correct?
Thomson
  • 20,586
  • 28
  • 90
  • 134
24
votes
17 answers

SICP Exercise 1.3 request for comments

I'm trying to learn scheme via SICP. Exercise 1.3 reads as follow: Define a procedure that takes three numbers as arguments and returns the sum of the squares of the two larger numbers. Please comment on how I can improve my solution. (define (big x…
ashitaka
  • 3,928
  • 7
  • 38
  • 43
24
votes
3 answers

Racket vs Scheme macros

Do racket macros have more advanced functionality than those found in Scheme or Common Lisp? I suspect so, especially regarding modules, namespaces and scoping, etc, but I'd appreciate a simple rundown of what Racket macros can do, if anything,…
Scott Klarenbach
  • 37,171
  • 15
  • 62
  • 91
23
votes
3 answers

How to run scheme with Emacs?

I followed this tutorial and successfully installed Emacs, STk, Quack. The question is how can I load my program like I do in Racket? In Racket I can edit my code in the upper window, type some codes, save and run. Then the lower window will…
Juanito Fatas
  • 9,419
  • 9
  • 46
  • 70
23
votes
6 answers

What is scheme's equivalent of tuple unpacking?

In Python, I can do something like this: t = (1, 2) a, b = t ...and a will be 1 and b will be 2. Suppose I have a list '(1 2) in Scheme. Is there any way to do something similar with let? If it makes a difference, I'm using Racket.
Jason Baker
  • 192,085
  • 135
  • 376
  • 510
23
votes
3 answers

Is it possible to implement Common Lisp's macro system in scheme?

Hopefully this is not a redundant question. As a newcomer to scheme I am aware that syntax-case macros are more powerful than the syntax-rules alternative, at the cost of unwanted complexity. Is it possible, however, to implement Common Lisp's…
category
  • 2,113
  • 2
  • 22
  • 46
23
votes
2 answers

Converting String to integer in Scheme

How can I convert a string of digits to an integer ? I want "365" to be converted to 365. What I have tried, string->list then char->integer, but this returns ASCII value of that integer, how can I get that integer ? Please help.
Hari Chaudhary
  • 630
  • 1
  • 7
  • 20
22
votes
1 answer

Other references to how the Stalin compiler brutally optimizes?

J.M. Siskind's research statement states: Stalin is an optimizing compiler for Scheme that performs whole-program static analysis and uses the results of that analysis to generate extremely efficient code. Stalin utilizes a large collection of…
Jules
  • 6,318
  • 2
  • 29
  • 40
22
votes
4 answers

is SICP still recommended?

I have some experience with python, I asked for a new language, and said that i am having a hard time implementing what I have learned. they suggested I learn SICP. Saying it uses a great language and teaches great programming fundamentals. But I…
charliePH
  • 371
  • 1
  • 3
  • 5