Schemik is a high-level lexically-scoped implicitly-parallel dialect of Scheme and Common LISP. It means that the parallel execution of programs is done independently of the programmer and each program written in Schemik always produces the same results no matter which parts of the program are executed simultaneously.
The most preferable way to build Schemik is to use Scons. To build it use scons without any argument, i.e., type in your shell: scons
To install Schemik use: scons install (optionally, you may use: scons install prefix=/foo/bar).
To uninstall Schemik use: scons -c install.
Optionally, you can build Schemik using traditional make but it may be necessary to adjust configuration settings in the config.h.
./schemik -t 0 -- starts Schemik in a sequential mode, i.e., using only one CPU core
./schemik -t 5 -- starts Schemik running in 5 threads
./schemik -t 10 -s scm/fib30.scm -- computes 30th fibonacci number using 10 threads and quits
./schemik -t 10 -c "(define (fib x) (if (< x 3) 1 (+ (fib (- x 1)) (fib (- x 2))))) (display (fib 33))" -- computes 33th fibonacci number using 10 threads and quits
Here are some key features of "Schemik":
· implicitly parallel evaluation (including side effects, mutations and continuations)
· first-class macros and continuations
· (experimental) support for software transactional memory (STM)
· REPL with history and completion
What's New in This Release: [ read full changelog ]
· This release fixes several minor bugs causing potential memory corruption.