What is Kali-Scheme?

Kali Scheme is currently an abandoned project started by Nec Research Institute. It is based upon scheme48.

Revival Status

At this time it is recommended for you to use the stable version in the tarball. If you would like to contribute contact either r2q2 or Rotty. Both of us hang out on #scheme-on-freenode.

The plan is to port Kali to the current scheme48 (1.2). First we need to come up with at least one example application written in Kali that can serve as a validation test for the porting efforts. For doing the actual porting we decided to port Kali 0.52.2 to Scheme48 1.2 . Currently the VM now builds on s48 1.2.

What is Kali Scheme (from http://c2.com/cgi/wiki?KaliScheme)

Kali Scheme is a distributed implementation of the Scheme that permits efficient transmission of higher-order objects such as closures and continuations. The integration of distributed communication facilities within a higher-order programming language engenders a number of new abstractions and paradigms for distributed computing. Among these are user-specified load-balancing and migration policies for threads, incrementally-linked distributed computations, and parameterized client-server applications. Kali Scheme supports concurrency and communication using first-class procedures and continuations. It integrates procedures and continuations into a message-based distributed framework that allows any Scheme object (including code vectors) to be sent and received in a message.

Related papers

Kali Scheme is described in Higher-Order Distributed Objects, ACM Transactions on Programming Languages and Systems, September 1995 . This seems to be the only Kali-related paper that can be found.


Kali can be downloaded via http at http://community.schemewiki.org/kali-scheme/releases/kali-0.52.2.tar.gz

Development up through 2007 can be seen at the Mercurial repository http://s48.org/cgi-bin/hgwebdir.cgi/kali

Also an development tarball is (was???) at http://1946875.tripod.com/lisp/kali-1.2.1.tar.gz

(The above link to the 1.2.1 development tarball seems to be dead. I have created http://github.com/tonyg/kali-scheme/ as a mirror of versions I find and as a potential base for future work. -- TonyGarnockJones).



A depiction of the goddess Kali



Alan Bawden's work


Nice to see this being documented: it's been on by to do list for some time to find out how this work ticked. Richard Kelsey was influenced by the ideas of Alan Bawden on what he then called connection graphs, which were a rather exotic programming language for the Connection Machine. Alan used to work at Brandeis on his ideas for a successor, but he's moved onto pastures new, without anyone really getting involved with his work. I should maybe write something up here about it.