Halyard 2D/3D multimedia engine

[Dartmouth’s] Interactive Media Lab (IML) builds shrink-wrapped educational software for medical professionals and first responders. [They] have teams focusing on media production, script-level authoring, and low-level engine development.

They have released their engine, along with their object system, as open source.

Their system is pretty interesting in that they tackled a lot of problems on their own; and even after solving problems they still had to figure how to get the users to use the new code! Read about it in the write-up on CUFP 07.

Working with DrScheme 372

DrScheme is a delightful environment for working with Scheme. It is has the right balance between power and ease-of-use that makes it perfect for just about anyone. Its goal is to be an excellent vehicle for both working with Scheme and facilitating learning via its teach-pack facilities. While DrScheme works pretty really well “out of the box”, you ought to dig deeper into the documentation and configuration options. Over the past year or so I’ve used DrScheme exclusively for editing Scheme and found that there are a few key-bindings, settings, tools, and ideas that were very helpful to me.
Continue reading “Working with DrScheme 372”

Anaphoric Macros

Does the convenience that anaphoric macros provide justify breaking hygiene? In that chapter of On Lisp, the author stated that:

This chapter will show that variable capture can also be used constructively. There are some useful macros which couldn’t be written without it.

My evaluation of that claim is that while the former is true, anaphoric macros are not evidence of such a case as they only save you a variable binding. The latter claim is interesting because it begs the question of whether or not they should be written as macros at all. It made me wonder how anaphoric macros might look in Scheme, how they might look as functions, and whether one is clearly superior to the other.
Continue reading “Anaphoric Macros”

Stalin Scheme

Stalin Scheme

is an aggressive optimizing batch whole-program Scheme compiler written by Jeffrey Mark Siskind. It uses advanced flow analysis and type inference and a variety of other optimization techniques to produce code (using C as an intermediate language) that is extremely fast, particularly for numeric codes. In a number of tests it has outperformed hand-written C, sometimes by a considerable margin. Stalin is intended for production use in generating an optimized executable.

(via Wikipedia)

Scheme in One Defun

Scheme in One Defun

is a small-footprint implementation of the Scheme programming language that is provided with some database, unix programming and cgi scripting extensions.

The motivation behind SIOD remains a small footprint, in every sense of the word, at runtime, at compile time, and in cognitive attention required to understand how the system works enough to be able to extend it as well as the author would have done the work himself.

R6RS is an experiment

R6RS is an experiment to address programming language features that people need “in the large”. The keyword in there is “experiment”.

It could fail miserably. It could succeed beyond anyone’s wildest expectations. Whatever the case, one of the creative sparks that makes Scheme great is the spirit of innovation. R6RS is trying something very new and innovative in the Scheme community. If it is not the right fit, it will be corrected in R7RS; no harm, no foul.

Live Coding with Fluxus

Fluxus is a live coding system built on PLT Scheme.

Fluxus reads live audio or OSC network messages which can be used as a source of animation data for realtime performances or installations. Keyboard or mouse input can also be read for games development, and a physics engine is included for realtime simulations of rigid body dynamics.

Fluxus is a very cool system and the maintainer Dave is a very nice guy. Be sure to check it out!
Addendum: 8/14/8
Dave posted some links to videos of fluxus and the no copy paste jam.
(via PLT)