           SPELL=nickle
         VERSION=2014-08-29
          SOURCE="$SPELL-$VERSION.tar.bz2"
        WEB_SITE="http://nickle.org"
   SOURCE_URL[0]="$WEB_SITE/snapshots/$SOURCE"
     SOURCE_HASH=sha512:48ca4175a1229a36f983d78fac23d4259120bddf27c8e3c31a1429703e3b4732dba0a8bf8d74e10475ac2a490c19c5bd4a71f6a8293dd65aa76dc6967a5de552
SOURCE_DIRECTORY="$BUILD_DIRECTORY/$SPELL-$VERSION"
      LICENSE[0]="MIT"
         ENTERED=20150107
        KEYWORDS=""
           SHORT="Nickle prototyping environment"
cat << EOF
Nickle is a programming language based prototyping environment with powerful
programming and scripting capabilities. Nickle supports a variety of datatypes,
especially arbitrary precision numbers. The programming language vaguely
resembles C. Some things in C which do not translate easily are different,
some design choices have been made differently, and a very few features are
simply missing.

Nickle provides the functionality of UNIX bc, dc and expr in
much-improved form. It is also an ideal environment for prototyping complex
algorithms. Nickle's scripting capabilities make it a nice replacement for
spreadsheets in some applications, and its numeric features nicely complement
the limited numeric functionality of text-oriented languages such as AWK
and PERL.  Nickle encourages (but does not require) the developer to use
type declarations in programming and on the command line, to allow static
type checking. Nickle backs this up with full run-time type checking.

The numeric datatypes within Nickle make it a good choice for the design
and implementation of numeric algorithms. Nickle provides three numeric
data types: arbitrary precision integers, arbitrary-precision rationals and
unbounded floating-point "reals" with specifiable precision. These datatypes
permit computations which would be difficult or impossible using fixed format
numeric datatypes.

Along with the basic numeric datatypes, Nickle includes multi-dimensional
arrays, strings, structures, tagged unions and pointers.

Nickle provides support for parallel computation via a simple thread model,
along with ancilary datatypes like semaphores and mutexes. These provide an
excellent environment for parallel algorithm development.

Nickle also has features inspired by modern languages like Modula 3, ML and
Java, such as typed exceptions, first class functions and aggregate values,
tagged unions and continuations. In particular, functional programming
is reasonably well supported by the language. Still to be implemented is
parametric polymorphism and more ADT support.
EOF
