Scheme is like a ball of snow. You can add any amount of snow to it and it still looks like a ball of snow.
Moreover, snow is cleaner than mud.
, Marc Feeley

Welcome to Scheme Now!

Scheme Now!, also know as Snow, is a repository of Scheme packages that are portable to several popular implementations of Scheme.

Snow is a general framework for developing and distributing portable Scheme packages. Snow comes with a set of core packages that provide portable APIs for practical programming features such as networking, cryptography, data compression, file system access, etc. Snow packages can export procedures, macros and records.

Snow is not dedicated to a single Scheme system, in contrast to other Scheme package repositories such as Eggs and PLaneT. While Snow depends on non-standard features of the host Scheme system, the APIs Snow provides can be used in most R4RS Scheme systems. The Snow framework is a specification of a package structure and a package distribution protocol. The framework is not biased toward an existing Scheme module system, but can be mapped fairly directly to many existing module systems allowing Snow packages to be used from code that is Scheme system specific as well as from other Snow packages.

The Snow framework can be implemented in various ways and in fact we foresee the creation of implementations tailored to each Scheme system that take advantage of that system's features and module system. Such specialized Snow framework implementations have already been written for some of the popular Scheme systems and efforts are underway to implement more. We have also written a generic Snow framework implementation that works on most Scheme systems but that does not achieve the same level of integration with the host Scheme system. It provides features which are helpful for testing portability of newly written packages and it is useful when a specialized implementation of Snow is not yet available for the host Scheme system. The generic Snow framework implementation currently supports a dozen host Scheme systems.

Snow's package distribution and installation procedures are simple and secure, because digital signatures are used to sign and verify the files in the packages. New packages can be submitted to the package repository by anyone and without prior registration.

Here are some central concepts of the Snow framework: