Scheme Now!
From Wikipedia, the free encyclopedia
This article or section needs sources or references that appear in reliable, third-party publications. Primary sources and sources affiliated with the subject of the article are generally not sufficient for a Wikipedia article. Please include more appropriate citations from reliable sources, or discuss the issue on the talk page. This article has been tagged since May 2008. |
This article may not meet the general notability guideline or one of the following specific guidelines for inclusion on Wikipedia: Biographies, Books, Companies, Fiction, Music, Neologisms, Numbers, Web content, or several proposals for new guidelines. If you are familiar with the subject matter, please expand or rewrite the article to establish its notability. The best way to address this concern is to reference published, third-party sources about the subject. If notability cannot be established, the article is more likely to be considered for redirection, merge or ultimately deletion, per Wikipedia:Guide to deletion. This article has been tagged since May 2008. |
Scheme Now! (also known as Snow) is a Free initiative to produce a portable API for the production of portable modular Scheme code.
Though Scheme has well defined semantics, it does not explain how modules should or could be written, and thus, many different implementations use different module or package systems. However, programs and libraries written with an implementation-specific system are often not portable.
Scheme Now! (a.k.a Snow) attempts to solve this issue by defining an API that allows the writing of portable packages that can then be run on top of virtually any Scheme implementation that supports (or is supported by) Snow.
It is possible to use snow in most R4RS-compatible Scheme systems. and this eases the task for the programmer to port his/her software.
As of August 2007, the Snow framework supports a dozen host Schemes, including Chicken, Gambit, Gauche, GNU Guile, Scheme 48 and MzScheme.
[edit] Snowfort
The Snow framework is basically a web site (Snowfort) that hosts packages (programs and libraries) written in Scheme following a precise API. A user can fetch and install automatically such software by using the snow command line tool, as well as upload his own pieces of code. Packages can provide a certificate to guarantee their authenticity.
A package can consist either of pure portable code, written according to the R4RS specification, or make use of some implementation specific code. However, though not compulsory, it is suggested that the given code can run on various Scheme hosts, and therefore, the developer might have to write implementation specific code for at least two different Scheme dialects. This is encouraged so that as many Schemes as possible can share a common interface to low-level operations that are not normally available in portable Scheme.
Depending on the chosen host Scheme implementation, it is possible to interpret and/or to compile snow packages and programs.