Languages Features Creators Calendar CSV Resources Blog About Pricing Add Language
GitHub icon

Scheme

Scheme - Programming language

< >

Scheme is a programming language created in 1970 by Guy Steele and Gerald Jay Sussman.

#50on PLDB 53Years Old 3.8kUsers
24Books 23Papers 17kRepos

Try now: Riju · Replit

Scheme is a functional programming language and one of the two main dialects of the programming language Lisp. Unlike Common Lisp, the other main dialect, Scheme follows a minimalist design philosophy specifying a small standard core with powerful tools for language extension. Scheme was created during the 1970s at the MIT AI Lab and released by its developers, Guy L. Read more on Wikipedia...


Example from Riju:
(display "Hello, world!") (newline)
Example from hello-world:
(display "Hello World") (newline)
; Hello World in Scheme (display "Hello, world!") (newline)
Example from Linguist:
(define-library (libs basic) (export list2 x) (begin (define (list2 . objs) objs) (define x 'libs-basic) (define not-exported 'should-not-be-exported) ))
Example from Wikipedia:
(set! + (let ((original+ +)) (lambda args (if (and (not (null? args)) (string? (car args))) (apply string-append args) (apply original+ args))))) (+ 1 2 3) ===> 6 (+ "1" "2" "3") ===> "123"

Keywords in Scheme

case do let loop if else when cons car cdr cond lambda lambda* syntax-rules format set! quote eval append list list? member? load

Language features

Feature Supported Token Example
Conditionals ✓
Strings ✓ "
"Hello world"
MultiLine Comments ✓ #| |#
#| A comment
|#
Print() Debugging ✓ display
Homoiconicity ✓
Prefix Notation ✓
(+ 1 2 3)
Macros ✓
(define-syntax backwards
 (syntax-rules ()
   ((_) (syntax-error "(backwards) not allowed"))
   ((_ e) e)
   ((_ e1 ... e2)
    (begin e2 (backwards e1 ...)))))
Line Comments ✓ ;
; A comment
Comments ✓
Lispy ✓
Case Insensitive Identifiers X
Semantic Indentation X

Books about Scheme from ISBNdb

title authors year publisher
Programming And Meta-programming In Scheme Jon Pearce and D. Gries and F. B. Schneider 1997 Springer-verlag New York Inc.
Scheme and the Art of Programming Springer, George and Friedman, Daniel P. 1989 Mit Pr
The Scheme Programming Language Dybvig, R. Kent 2003 The MIT Press
INTRODUCTION TO PROGRAMMING LANGUAGES: PRINCIPLES, C, C++, SCHEME AND PROLOG Yinong Chen 2003 Kendall Hunt Publishing
The Scheme Programming Language, ANSI Scheme Dybvig, R. Kent 1996 Prentice Hall
SCHEME PROGRAMMING LANGUAGE, THE, 4TH ED. [Paperback] DYBVIG DYBVIG 2022 PHI Publisher
An Introduction to Scheme Smith, Jerry D. 1988 Prentice Hall
Scheme And The Art Of Programming Springer and George 1989 The Mit Press 1989-09-13
An Introduction to Functional Programming with Scheme 2021 Linus Publications, Inc.
Chaos-based Encryption: A highly preferable Encryption Scheme Sohail, Shahab Saquib and Ahmad, Musheer 2012 LAP LAMBERT Academic Publishing
Introduction to Programming Languages: Programming in C C++ Scheme Prolog C# and Python Chen, Yinong 2019-11-15T00:00:01Z Kendall Hunt Pub Co
The Scheme Programming Language, fourth edition Dybvig, R. Kent 2009 The MIT Press
The Scheme Programming Language, fourth edition (The MIT Press) Dybvig, R. Kent 2009 The MIT Press
Simply Scheme - 2nd Edition: Introducing Computer Science Harvey, Brian and Wright, Matthew 1999 The MIT Press
Programming in Scheme (The MIT Press) Eisenberg, Michael 1990 The MIT Press
Programming and Meta-Programming in Scheme (Undergraduate Texts in Computer Science) Pearce, Jon 2012 Springer
Concrete Abstractions: An Introduction to Computer Science Using Scheme Hailperin, Max and Kaiser, Barbara and Knight, Karl 1998 Course Technology
INTRODUCTION TO PROGRAMMING LANGUAGES: PRINCIPLES, C, C++, SCHEME AND PROLOG CHEN YINONG and TSAI WEI-TEK 2012-01-26T00:00:01Z Kendall Hunt Publishing
Scheme and the Art of Programming George Springer and Daniel P. Friedman 1983-05-01T00:00:01Z Mcgraw Hill
Exploring Computer Science with Scheme (Undergraduate Texts in Computer Science) Grillmeyer, Oliver 2013 Springer
Programming and Meta-Programming in Scheme (Undergraduate Texts in Computer Science) Pearce, Jon 2012 Springer
The Scheme Programming Language Dybvig, R. Kent 1995 Prentice Hall
IEEE Standard for the Scheme Programming Language/Std 1178-1990 1991-05-01T00:00:01Z Inst of Elect & Electronic
Subcarrier/Power allocation Scheme for OFDMA Networks: Load Adaptive, Decentralized and Time Efficient Shahzad, Muhammad Adil and Hasan Ali, Aamir 2015 LAP LAMBERT Academic Publishing

Publications about Scheme from Semantic Scholar

title authors year citations influentialCitations
Revised5 Report on the Algorithmic Language Scheme H. Abelson and R. K. Dybvig and C. T. Haynes and G. Rozas and IV N.I.Adams and D. Friedman and E. Kohlbecker and G. Steele and D. H. Bartley and R. Halstead and D. Oxley and G. Sussman and G. Brooks and C. Hanson and K. Pitman and M. Wand 1986 570 60
Revised4 report on the algorithmic language scheme H. Abelson and R. K. Dybvig and C. T. Haynes and G. Rozas and N. Adams and D. Friedman and E. Kohlbecker and G. Steele and D. H. Bartley and R. Halstead and D. Oxley and G. Sussman and G. Brooks and C. Hanson and K. Pitman and M. Wand and W. Clinger and J. Rees 1991 440 24
DrScheme: a programming environment for Scheme R. Findler and John Clements and C. Flanagan and M. Flatt and S. Krishnamurthi and P. Steckler and M. Felleisen 2002 328 19
The design and implementation of typed scheme Sam Tobin-Hochstadt and M. Felleisen 2008 297 35
Revised3 report on the algorithmic language scheme J. Rees and W. Clinger 1986 209 20
Revised6 Report on the Algorithmic Language Scheme Michael Sperber and R. K. Dybvig and M. Flatt and A. V. Straaten and R. Findler and Jacob Matthews 2009 151 14
IEEE standard for the Scheme programming language Microcomputer Standards Subcommittee 1991 117 6
Adaptive Protection Coordination Scheme Using Numerical Directional Overcurrent Relays M. Alam 2019 84 1
inGAP-sv: a novel scheme to identify and visualize structural variation from paired end mapping data J. Qi and F. Zhao 2011 79 4
Partitioned EDF scheduling for multiprocessors using a C=D task splitting scheme A. Burns and Robert I. Davis and P. Wang and Fengxiang Zhang 2011 76 8
An automatic grading scheme for simple programming exercises J. Hext and J. W. Winings 1969 56 3
Object-oriented programming in scheme N. Adams and J. Rees 1988 52 1
Concurrency oriented programming in termite scheme G. Germain 2006 45 3
A Modular Scheme for Deadlock Prevention in an Object-Oriented Programming Model Scott West and Sebastian Nanz and B. Meyer 2010 22 0
An Equational Specification for the Scheme Language Marcelo d’Amorim and G. Rosu 2005 19 2
Programming World Wide Web pages in scheme K. Nørmark 1999 17 2
An adaptive, agent-based protection scheme for radial distribution networks based on IEC 61850 and IEC 61499 D. Pala and C. Tornelli and G. Proserpio 2012 15 0
Bee: an integrated development environment for the Scheme programming language M. Serrano 2000 14 0
Towards Compatible and Interderivable Semantic Specifications for the Scheme Programming Language, Part II: Reduction Semantics and Abstract Machines Malgorzata Biernacka and O. Danvy 2009 11 0
Compiling a Functional Logic Language: The Basic Scheme S. Antoy and Arthur Peters 2012 8 0
Bringing Scheme programming to the iPhone—Experience Engineer Bainomugisha and Jorge Vallejos and E. G. Boix and Pascal Costanza and T. D'Hondt and W. Meuter 2012 4 0
Programming graphical user interfaces with Scheme Erick Gallesio and M. Serrano 2003 3 0
The Scheme Programming Language J. Franco and D. Friedman and O. Danvy 1992 1 0
cuda.html · scheme.html · dart.html

View source

- Build the next great programming language · Search · v2023 · Day 205 · Docs · Acknowledgements · Traffic · Traffic Today · Mirrors · GitHub · feedback@pldb.com