Late-binding with Erlang

Tony Garnock-Jones wrote “Upon browsing the source to the excellent MochiWeb, I came across a call to a function that, when I looked, wasn’t defined anywhere. This, it turns out, was a clue: Erlang has undocumented syntactic support for late-bound method dispatch, i.e. lightweight object-oriented programming! The following example, myclass.erl, is a parameterized module, a feature that arrived…”

JONESFORTH ported to PowerPC and Mac OS X

Tony Garnock-Jones wrote “A couple of weeks ago, Richard W. M. Jones released JONESFORTH, which I thought was pretty exciting. Today I spent a few hours porting the assembly-language part to PowerPC on Mac OS X 10.3.9. It ended up being 600 non-comment lines of code in total, and took me about eleven hours in total to write…”

Ambient authority and Sleepycat Java Edition and stateful services

David Ireland wrote “I’ve recently written an RMI service which has state – transactions. The service is implemented using Sleepycat Java Edition collections, and the transactions map to sleepycat transactions. The StoredMap class depends on ambient authority: it determines the current transaction from the thread. The methods will all be invoked in on separate threads, so we need…”

Folds and continuation-passing-style

Tony Garnock-Jones wrote “In normal, direct-style programming in (mostly-)functional languages such as scheme and ML, folding is an operation that crops up all the time in various guises. Most list-manipulation libraries for such languages include implementations of left-fold and right-fold as standard. But what about the situation when you’re programming in continuation-passing style (CPS), such as when you’re…”

Only two things are infinite

Tom Berger wrote “YAHOO has announced that it will soon be offering unlimited storage to users of its free web-mail product. What does it really mean, and what can we learn from this about the marriage between engineering and marketing.”

Maude I/O

Matthias Radestock wrote “In my [continued experiments](/blog/2006/06/05/language-design-in-maude) with [Maude]( I have been investigating its I/O system and, more generally, how to integrate Maude with other systems and extend its built-in capabilities. Libraries are arguably Maude's weakest point. The standard libraries are very rudimentary. Furthermore, there is no FFI, so there is no easy way to hook in third party libraries. As we shall see, this is actually less of a problem than it may seem.”

Language Design in Maude

Matthias Radestock wrote “I have been intrigued by Maude for a few years. Recently I finally found the time to play with it.”

Traits, Monads, and language design

Tony Garnock-Jones wrote “I’ve been amusing myself recently by designing a programming language. Over the past few weeks, to explore some design ideas for it, I implemented a small traits system and a runtime-checked overloaded monad implementation in Scheme. For those interested in learning more about what I’ve been doing, I’ve just written up an article covering some…”


Michael Bridgen wrote “Subtext is a demonstration of a novel model of computer programming, with interactive program modification and prototypes.”

Io – Prototypes for ordinary people

Tom Berger wrote “Some programming languages look like they were designed especially to secure their authors a place on LtU - sort of 15 minutes of fame for language mavens. That's not the case with Io, although it does sport some neat features that are not common enough in today's language universe (and it did make it to LtU, which is how i found out about it).”

Spoon and the Object Visualiser

Tony Garnock-Jones wrote “Take a look at this part of NetJam.ORG, in which Craig Latta builds a visual display of a running Smalltalk Image. Be sure to check out the movie of the first 50ms or so of a running image. Smalltalk gets all the cool toys.”

The Design of a Pretty-printing Library

Tony Garnock-Jones wrote “This paper is hard going, but very rewarding. The author concentrates on two ways of transforming a formal, algebraic specification into an implementation, starting with very simple examples and working up to a pretty-printing library. The reason this paper is worthwhile is that, by moving very slowly and by demonstrating the same theme over and…”