Casting SPELs in Lisp

A short and sweet Lisp tutorial that has the courage to introduce macros to absolute beginners.

The reader is shown how to build a simple text adventure game using Lisp. The code is available for download.

What is Universal about the Representation of Color Experience?

A study in the importance of language. We've had posts before that discuss whether and how language shapes experience, but I don't think this paper has appeared.

Only vaguely related to programming, I know, but there is a tradition here for this kind of thing (I hope!). From painquale on mefi.

An Algebraic Theory of Polymorphic Temporal Media

Paul Hudak, An Algebraic Theory of Polymorphic Temporal Media

Temporal media is information that is directly consumed by a user, and that varies with time. Examples include music, digital sound files, computer animations,and video clips. In this paper we present a polymorphic data type that captures a broad range of temporal media. We study its syntactic, temporal, and semantic properties, leading to an algebraic theory of polymorphic temporal media that is valid for underlying media types that satisfy specific constraints. The key technical result is an axiomatic semantics for polymorphic temporal media that is shown to be both sound and complete.

The theoretical incarnation of Haskore.

Completeness is proved by establishing the existence of a normal form for polymorphic temporal media values.

Logix: Multi-Language Programming

Also advertized as Lisp-in-Python, Logix seems like an interesting project.

Logix provides syntax extension mechanisms (i.e., macros) that support language extension and encourage the use of embedded DSLs.

Languages can be encapsulated as objects, users can switch between them dynamically, etc.

Some call this sort of thing "language oriented programming"...

CLR Generics and code sharing

I don't have the time at the moment to read it carefully, but this blog post looks promising.

Scheme on the CLR

Common Larceny (alpha release) is a CLI-targeted implementation of the Scheme programming language. The compiler generates MSIL and is interoperable with other .NET languages.
(spotter: Brad)

Grady Booch: Microsoft and Domain Specific Languages

Grady Booch's contribution to the discussion on UML vs. DSLs.

Along the way we learn about UML specialization mechanisms, UML profiles, and Grady's opinions as regards tool vs. language issues.

Cool Python "spreadsheet"

Use eval() to drive spreadsheet style logic. The sleeper feature of Py2.4 is the ability to use any object with a mapping interface as the locals argument to eval().

Cute Python language hack.

Languages that allow you to hook into their variable lookup logic open the door to many cool hacks.

Lazy K

Lazy K is a garbage-collected, referentially transparent functional programming language, with a simple stream-based I/O system. What distinguishes Lazy K from other such languages is its almost total lack of other features.

It's SKI combinators all the way down...

Thanks, Pont!

RDF Elevator Pitch

Eureka, the perfect RDF introduction with thanks to A.M. Kuchling (amk). Nothing beats crayon-colored diagrams. It is short, sweet, and hits the main points precisely, including 'political' issues at the end. Much W3C advocacy makes the Semantic Web sound too futuristic....The RDF Core spec is hard to read and really boring....Introductory tutorials are few....Simple things can be done without much effort, and can still be useful.

On one island are the semantic web folks. On another island are semantic filesystem folks. A summit seems in order. I don't hear much about the two working together, but then I live on yet another island. RDF+ReiserFS looks like a match made in heaven, for example, Reiser4 uses dancing trees, which obsolete the balanced tree algorithms used in databases...Do you want a million files in a directory, and want to create them fast? No problem.

From the article,

Reiser has "substantial plans" for adding new kinds of semantics to ReiserFS to help it challenge Microsoft's efforts. "We're planning on competing with the Longhorn filesystem," he says.

The new ReiserFS will eschew the relational algebra approach and work with semistructured data. "The person entering data can employ [the] structure inherent in the data rather than forcing a structure," Reiser said, adding, "Flexibility in querying and creating data is our target. [This] will stand in contrast to Microsoft's SQL-based approach, which does not have that flexibility."