Actions

Difference between revisions of "Scheme"

From Gambit wiki

m
 
(5 intermediate revisions by one other user not shown)
Line 1: Line 1:
 
==Scheme in a nutshell==
 
==Scheme in a nutshell==
  
* Scheme is a dialect of the Lisp programming language developed in the 70s, that inherently supports ''functional programming'' but is easily ''multi-paradigm''.
+
* Scheme is a dialect of the [http://en.wikipedia.org/wiki/Lisp_(programming_language) Lisp] programming language developed in the 70s, that inherently supports ''[http://en.wikipedia.org/wiki/Functional_programming functional programming]'' but is easily ''[http://en.wikipedia.org/wiki/Multi-paradigm multi-paradigm]''.
  
* Scheme is one of the two most major Lisp dialects, the other one being [http://en.wikipedia.org/wiki/Common_Lisp Common Lisp].
+
* Scheme is one of the two major Lisp dialects used for general-purpose programming, the other one being [http://en.wikipedia.org/wiki/Common_Lisp Common Lisp].
  
 
* Scheme provides very few primitives defined in its core (known as the "RnRS standard" where "n" is an integer) as the rest is defined in extensions or libraries.
 
* Scheme provides very few primitives defined in its core (known as the "RnRS standard" where "n" is an integer) as the rest is defined in extensions or libraries.
Line 9: Line 9:
 
* Scheme can be used for any kind of software development and can be learned in a single day thanks to its minimalist yet powerful design.
 
* Scheme can be used for any kind of software development and can be learned in a single day thanks to its minimalist yet powerful design.
  
* ''High order'' programming and ''macros'' allow the developers using Scheme to write efficient and easily maintainable code, hence Scheme's label as the programming language of choice for many industries as well as academics.
+
* ''[http://en.wikipedia.org/wiki/Higher-order_programming High order]'' programming and ''[http://people.csail.mit.edu/gregs/info-dylan-archive-html-2002/msg00070.html macros]'' allow the developers using Scheme to write efficient and easily maintainable code, hence Scheme's label as the programming language of choice for many industries as well as academics.
 +
 
 +
* Among programming languages, Scheme is quite unique about natively supporting [http://community.schemewiki.org/?call-with-current-continuation continuations], a very powerful language construct using which for instance exception handling, [http://en.wikipedia.org/wiki/Coroutine coroutines], and [http://common-lisp.net/project/cl-weblocks/ weblocks] behaviour can be implemented.
  
  
Line 39: Line 41:
 
==Other resources==
 
==Other resources==
 
*[http://www.iro.umontreal.ca/~boucherd/mslug/meetings/20041020/minutes-en.html The 90 minutes Scheme to C compiler]
 
*[http://www.iro.umontreal.ca/~boucherd/mslug/meetings/20041020/minutes-en.html The 90 minutes Scheme to C compiler]
 +
*[http://www.artima.com/weblogs/index.jsp?blogger=micheles The adventures of a Pythonista in Schemeland]
 +
 +
 +
[[Category: Language]]

Latest revision as of 04:11, 28 October 2008

Scheme in a nutshell

  • Scheme is one of the two major Lisp dialects used for general-purpose programming, the other one being Common Lisp.
  • Scheme provides very few primitives defined in its core (known as the "RnRS standard" where "n" is an integer) as the rest is defined in extensions or libraries.
  • Scheme can be used for any kind of software development and can be learned in a single day thanks to its minimalist yet powerful design.
  • High order programming and macros allow the developers using Scheme to write efficient and easily maintainable code, hence Scheme's label as the programming language of choice for many industries as well as academics.
  • Among programming languages, Scheme is quite unique about natively supporting continuations, a very powerful language construct using which for instance exception handling, coroutines, and weblocks behaviour can be implemented.


Scheme is a solid way to state of the art software development.

Literature

  • The Revised5 Report on the Algorithmic Language Scheme here and more in particular here.

Web sites

Forums and Chat

Other resources