Implicitly Concurrent Scheme

Aubrey Jaffer, author of SCM and SLIB, wrote that:

There has been a lot of concern over how to harness the speed potential of multi-core processors without a disrupting reinvention of software engineering. Implicit concurrency is a solution.

His proposal for implementing this solution is a simple addition to the standard:

Implicitly-Concurrent-Scheme is a minor modification to Scheme Report semantics which allows, but does not require, both interpreters and compilers to simply parallelize the execution of programs. No new primitives are introduced. In order to write ICS programs which produce the same output irrespective of concurrent evaluation order requires a regime very similar to the that required of RnRS programs to produce the same output irrespective of serial evaluation order.

It has a pretty good selling point: no new language constructs. Everything works the way you already expect (unspecified order of evaluation == concurrent evaluation of arguments). Read everything in-between those quotes here

Nausicaa for R6RS Scheme

#+BEGIN_QUOTE

Nausicaa is a distribution of Scheme language libraries for R6RS Scheme implementations. Currently it attempts to support Ikarus, Larceny, Mosh and Ypsilon.

Nausicaa/Scheme is the core package; it provides foundation libraries and implements the infrastructure of the foreign functions interface. It comes in two flavors:

The full distribution, with documentation and foreign functions interface included. Its installation infrastructure requires a GNU+Linux system (for details see the “README.build” file).

The pure Scheme distribution, includes only the sources of the libraries, ready to be unpacked in their installation destination.

The latest release of the Nausicaa/Scheme package is available at:

<http://github.com/marcomaggi/nausicaa/downloads>

the home page of the Nausicaa project is at:

<http://marcomaggi.github.com/nausicaa.html>

development takes place at:

<http://github.com/marcomaggi/nausicaa/tree/master>

the documentation is available on line:

<http://marcomaggi.github.com/docs/nausicaa.html>

#+END_QUOTE

Read more from the original post here.

Scratch Programming

Scratch is a new programming language that makes it easy to create your own interactive stories, animations, games, music, and art — and share your creations on the web.
Scratch is designed to help young people (ages 8 and up) develop 21st century learning skills. As they create and share Scratch projects, young people learn important mathematical and computational ideas, while also learning to think creatively, reason systematically, and work collaboratively.

I wonder how this compared to PLT Worlds.
(via plt)