Content deleted Content added
mNo edit summary |
mNo edit summary |
||
Line 10:
Scheme has very little syntax compared to many other programming languages. It has no operator precedence rules because they are explicit in the notation.
Thanks to its macro facilities, Scheme can be
Scheme encourages [[functional programming]]. Pure functional programs need no global variables and don't have side-effects, and are therefore automatically thread-safe, automatically verifyable and have more of these nice properties. However, Scheme can also do [[variable assignment]] for those who want it.
Line 17:
== Disadvantages of Scheme ==
Unlike scripting languages such as [[Perl programming language|Perl]] or [[Python programming language|Python]], Scheme is not standardized beyond its core. Functions that exist in one Scheme implementation do not need to exist in another or may have a completely different name and/or interface. The ''Scheme Requests for Implementation'' (SRFI) process tries to remedy this.
== Standards ==
Line 29:
== Implementations ==
* [http://www.scheme.com/ Chez Scheme], a proprietary freeware Scheme interpreter and commercial Scheme compiler for [[Microsoft Windows]] and several [[UNIX]] systems
* [[Guile]] is the [[GNU|GNU project]]'s official extension language. The Scheme interpreter is packaged as a library to
* [http://www.plt-scheme.org/ The PLT Scheme suite], a suite of Scheme programs for Windows, Mac, and Unix platforms including an interpreter (MzScheme), a graphical toolkit (MrEd), a pedagogically-oriented graphical editor (DrScheme), and various other components including [[COM]] and [[ODBC]] libraries.
|