Difference between revisions of "Scheme"

From WikEmacs
Jump to: navigation, search
m (Reverted edits by 37.59.80.67 (talk) to last revision by 149.156.119.184)
 
(10 intermediate revisions by 6 users not shown)
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.
+
Scheme is a programming language of the [[:Category:Lisp|Lisp]] family. Praised for its minimalist design, Scheme is [[lexical scope|lexcially scoped]], requires tail-call optimization and pioneered first class continuations.
  
== Implementation ==
+
using color schemes to hint at ctxneot is usefulAgreed.  beyond that: you are totally crazyCorey?  Crazy?  Agreed.  It should always be black on whiteBah.  Green on black.  White as a background is just more strain on the eyes.
 
 
=== 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 ==  
 
== 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:
+
* [[Scheme-mode]]
<syntaxhighlight lang="lisp">
+
* [[Geiser]]
(defun turn-on-parenthesis-goodies () (rainbow-delimiters-mode 1) (paredit-mode 1))
+
* [[Quack]]
(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)
 
</syntaxhighlight>
 
  
 
== Minor Mode for editing Scheme ==
 
== Minor Mode for editing Scheme ==
  
* [http://mumble.net/~campbell/emacs/paredit.el ParEdit] is a mode for structured editing of [[S-expression]]s. Useful with any Lisp.
+
* [[Paredit]] is a mode for structured editing of [[S-expression]]s. Useful with any Lisp.
* [https://github.com/jlr/rainbow-delimiters RainbowDelimiters] highlights parentheses, brackets, and braces according to their depth, each level in a different colour. Also available in [[ELPA]].
+
* [[Rainbow_delimiters]] highlights parentheses, brackets, and braces according to their depth, each level in a different colour. Also available in [[ELPA]].
 
 
  
 
== Useful Links ==
 
== Useful Links ==

Latest revision as of 14:40, 24 June 2012

Scheme is a programming language of the Lisp family. Praised for its minimalist design, Scheme is lexcially scoped, requires tail-call optimization and pioneered first class continuations.

using color schemes to hint at ctxneot is usefulAgreed. beyond that: you are totally crazyCorey? Crazy? Agreed. It should always be black on whiteBah. Green on black. White as a background is just more strain on the eyes.

Major Mode for editing Scheme[edit]

Minor Mode for editing Scheme[edit]

  • Paredit is a mode for structured editing of S-expressions. Useful with any Lisp.
  • Rainbow_delimiters highlights parentheses, brackets, and braces according to their depth, each level in a different colour. Also available in ELPA.

Useful Links[edit]