Difference between revisions of "Scheme"
Jump to navigation
Jump to search
(→Racket) |
|||
Line 1: | Line 1: | ||
− | + | Scheme is a functional programming language of the [[lisp]] family. Praised for its minimalist design, Scheme also pioneers the [[lexical scope]], tail-calll optimization and first class continuation. | |
== Implementation == | == Implementation == | ||
Line 10: | Line 10: | ||
== Major Mode for editing Scheme == | == Major Mode for editing Scheme == | ||
+ | === Scheme mode === | ||
+ | Emacs has built-in Scheme Mode. It provides basic features, such as syntax highlighting etc. | ||
=== Geiser === | === Geiser === |
Revision as of 03:31, 1 April 2012
Scheme is a functional programming language of the lisp family. Praised for its minimalist design, Scheme also pioneers the lexical scope, tail-calll optimization and first class continuation.
Implementation
Guile
Guile is the GNU Ubiquitous Intelligent Language for Extensions, the official extension language for the GNU operating system.
Racket
Formerly known as PLT Scheme
Major Mode for editing Scheme
Scheme mode
Emacs has built-in Scheme Mode. It provides basic features, such as syntax highlighting etc.
Geiser
Geiser is a collection of Emacs major and minor mode, that can help Emacs to communicate to a foreign Scheme interpreter. It provides SLIME-like support for Racket and Guile.
Example config may look like this:
(defun turn-on-parenthesis-goodies () (rainbow-delimiters-mode 1) (paredit-mode 1))
(add-hook 'scheme-mode-hook 'turn-on-parenthesis-goodies)
(load-file "C:/path-to-geiser/elisp/geiser.el")
(setq geiser-active-implementations '(racket))
(setq geiser-racket-binary "C:/path-to-racket/racket.exe")
(require 'quack)
Minor Mode for editing Scheme
- ParEdit is a mode for structured editing of S-expressions. Useful with any Lisp.
- RainbowDelimiters highlights parentheses, brackets, and braces according to their depth, each level in a different colour. Also available in ELPA.