Next: , Previous: , Up: Top   [Contents][Index]


1 Overview of the package

This document describes version 0.6.0-devel.1 of MMCK Fectors, a CHICKEN language library implementing a functional vectors. CHICKEN is a Scheme-to-C compiler supporting the language features as defined in the “Revised^5 Report on Scheme”.

This package supports POSIX platforms. The code depends on the extension coops. To run the tests: this package depends upon the package MMCK Checks.

Functional programming needs functional data structures. This is an implementation of “vectors” (also called arrays), a finite map keyed by consecutive integers between 0 and n-1, n being the length of the vector. Being functional, the structure is not observably mutable, and so access to any version will always give the correct answer.

There are many possible implementations of the vector interface with different efficiency characteristics, the one contained prioritises “single threaded” use of vectors, that is, one in which access is most frequently to the last created version of the vector. Access to previously stored versions works correctly, though it will not be quite as efficient.

The original code base is the fectors project by Ian Price; it was ported first to Vicare Scheme by Marco Maggi; then ported to CHICKEN by Marco Maggi.

The package installs the library (mmck fectors) along with its import library. To require the library and import its syntactic bindings in a module we can do:

(declare (unit my-module)
         (emit-import-library my-module))

(require-library (mmck fectors))

(module (my-module)
    ()
  (import (scheme)
    (mmck fectors))

  ...

  #| end of module |# )

Next: , Previous: , Up: Top   [Contents][Index]

This document describes version 0.6.0-devel.1 of MMCK Fectors.