Category:Scheme
This programming language may be used to instruct a computer to perform a task.
Garbage collected: | Yes |
---|---|
Parameter passing methods: | By value |
Type safety: | Safe |
Type strength: | Strong |
Type expression: | Implicit |
Type checking: | Dynamic |
See Also: |
Scheme is a multi-paradigm programming language. It is one of the two main dialects of Lisp and supports a number of programming paradigms; however it is best known for its support of functional programming. It was developed by Guy L. Steele and Gerald Jay Sussman in the 1970s. Scheme was introduced to the academic world via a series of papers, now referred to as Sussman and Steele's Lambda Papers. There are two standards that define the Scheme language: the official IEEE standard, and a de facto standard called the Revisedn Report on the Algorithmic Language Scheme, nearly always abbreviated RnRS, where n is the number of the revision. The current standard is R7RS, with R5RS and, less common, R6RS still in use.
Scheme's philosophy is minimalist. Scheme provides as few primitive notions as possible, and, where practical, lets everything else be provided by programming libraries.
Scheme was the first dialect of Lisp to choose static (a.k.a. lexical) over dynamic variable scope. It was also one of the first programming languages to support first-class continuations.
Running Examples
Some examples from this site require particular versions of Scheme, or libraries, to run.
- R7RS programs typically begin with a line such as (import (scheme base) ...)
- R6RS programs with a line such as (import (rnrs) ...)
- R5RS programs don't require any preamble.
A semi-standard set of libraries for Scheme is the collection SRFIs (from Scheme Requests For Implementation). These libraries provide additional functions operating on core data structures, such as SRFI-1 for lists and SRFI-13 for strings; additional data structures, such as SRFI-69 or SRFI-125 for hash tables; or additional functionality, such as SRFI-42 providing eager comprehensions. Example programs which require one or more SRFIs must be run on implementations which support that SRFI.
Scheme does not directly support a GUI library: some examples use PsTk.
Citations
- Wikipedia:Scheme (programming language)
- R7RS Scheme home page
- R6RS Scheme home page
- R5RS Scheme documentation
Pages in category "Scheme"
The following 200 pages are in this category, out of 429 total.
(previous page) (next page)A
- A+B
- ABC problem
- Abelian sandpile model
- Abundant, deficient and perfect number classifications
- Accumulator factory
- Ackermann function
- AKS test for primes
- Align columns
- Amb
- Amicable pairs
- Anagrams
- Anagrams/Deranged anagrams
- Angle difference between two bearings
- Animate a pendulum
- Anonymous recursion
- Append a record to the end of a text file
- Append numbers at same position in strings
- Apply a callback to an array
- Arbitrary-precision integers (included)
- Archimedean spiral
- Arithmetic evaluation
- Arithmetic-geometric mean
- Arithmetic/Complex
- Arithmetic/Integer
- Arithmetic/Rational
- Array concatenation
- Array length
- Arrays
- Assertions
- Associative array/Creation
- Associative array/Iteration
- Associative array/Merging
- Average loop length
- Averages/Arithmetic mean
- Averages/Mean angle
- Averages/Mean time of day
- Averages/Median
- Averages/Mode
- Averages/Pythagorean means
- Averages/Root mean square
- Averages/Simple moving average
- AVL tree
B
C
- Caesar cipher
- Calculating the value of e
- Calkin-Wilf sequence
- Cartesian product of two or more lists
- Case-sensitivity of identifiers
- Catalan numbers
- Catamorphism
- Character codes
- Check that file exists
- Circles of given radius through two points
- Classes
- Closures/Value capture
- Collections
- Combinations
- Combinations and permutations
- Combinations with repetitions
- Comma quibbling
- Command-line arguments
- Comments
- Compare a list of strings
- Compiler/AST interpreter
- Compiler/code generator
- Compiler/lexical analyzer
- Compiler/syntax analyzer
- Compiler/virtual machine interpreter
- Compound data type
- Concurrent computing
- Conditional structures
- Continued fraction
- Continued fraction/Arithmetic/Construct from rational number
- Continued fraction/Arithmetic/G(matrix ng, continued fraction n)
- Continued fraction/Arithmetic/G(matrix ng, continued fraction n1, continued fraction n2)
- Convert seconds to compound duration
- Convex hull
- Conway's Game of Life
- Copy a string
- Copy stdin to stdout
- Count in factors
- Count in octal
- Count occurrences of a substring
- Count the coins
- Create a file
- Create a two-dimensional array at runtime
- Create an HTML table
- Cumulative standard deviation
D
E
- Echo server
- Elementary cellular automaton
- Elementary cellular automaton/Random number generator
- Emirp primes
- Empty program
- Empty string
- Enforced immutability
- Entropy
- Enumerations
- Ethiopian multiplication
- Euler method
- Euler's constant 0.5772...
- Euler's identity
- Evaluate binomial coefficients
- Even or odd
- Evolutionary algorithm
- Exceptions
- Execute a Markov algorithm
- Execute a system command
- Execute Brain****
- Exponentiation operator
- Extend your language
- Extreme floating point values
F
- Factorial
- Factors of a Mersenne number
- Factors of an integer
- Farey sequence
- Fast Fourier transform
- FASTA format
- Faulhaber's triangle
- Fibonacci n-step number sequences
- Fibonacci sequence
- Fibonacci word
- File input/output
- File size
- Filter
- Find limit of recursion
- Find palindromic numbers in both binary and ternary bases
- Find the missing permutation
- First-class functions
- First-class functions/Use numbers analogously
- FizzBuzz
- Flatten a list
- Floyd-Warshall algorithm
- Formal power series
- Formatted numeric output
- Forward difference
- Four bit adder
- Fractal tree
- Fractran
- Function composition
- Function definition
G
- Gamma function
- Gapful numbers
- Generate Chess960 starting position
- Generate lower case ASCII alphabet
- Generator/Exponential
- Generic swap
- Golden ratio/Convergence
- Greatest common divisor
- Greatest element of a list
- Greatest subsequential sum
- Guess the number
- Guess the number/With feedback
- Guess the number/With feedback (player)