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."


The main purpose of this project is to provide an extension of Microsoft Visual Studio .NET development environment with support for the Haskell functional programming language, improve user experience and productivity related to implementation tasks.

Download and play, I say.

SciPy 2004 Papers

...are online. The PyTables (PDF) work is intriguing. It offers high-speed, high-volume access to HDF. Somewhere along the way came a comparison of HDF to PDB from the (old?) PACT project at LLNL.

Erlang REPOS 1.0

REPOS stands for Repository of Erlang-Projects.Org Software selection. It is a collection of major ready-to-work Erlang software. REPOS is distributed as a CDROM image (ISO). You can use every software included in the REPOS environment either directly from CDROM from your hard-drive or from a USB key.

Seems like a nice distribution technique for non-mainstream languages.

The distribution includes several software packages along with erlang, among them Xmerl, Yaws and Wings 3D.

Bitsavers' Archive

Via Dusty Decks we find which contains scanned copies of manuals as well as historic source code and software.

Some of the manuals are for programming languages like Algol and Fortran, of course.

Seems like a good site to bookmark.

Practical Common Lisp

Practical Common Lisp by Peter Seibel was mentioned here in the past, but not on the home page if I am not mistaken.

You can download all but three chapters from the website, and seeing as Lisp is an important and somewhat unique language, you might want to do just that.

The chapters I read were well written and funny at times. What's not to like?

The OO chapters offer a nice intro to CLOS, which might interest those with OO experience seeing as CLOS doesn't resemble your average OOPL.

I must say that it's nice to see "practical" how-to books written for non-mainstream languages.

OO Programming Styles in ML

OO Programming Styles in ML, Bernard Berthomieu.

It is shown that the essential OO concepts and idioms, including inheritance and dynamic dispatch, can be encoded in this well understood framework, without requiring any operational or typing extensions of ML...

[The encodings] do not rely on subtyping and subsumption, but on an encoding of inheritance polymorphism into paramteric polymorphism.

This isn't new (it is dated March 2000), but seems interesting.

The ML module language put to good use!

Thanks Henry!

The IDE Divide

(via Keith)

Oliver Steele:

The developer world is divided into two camps. Language mavens wax rhapsodic about the power of higher-level programming — first-class functions, staged programming, AOP, MOPs, and reflection. Tool mavens are skilled at the use of integrated build and debug tools, integrated documentation, code completion, refactoring, and code comprehension....

You can be the only one on a team to use Eclipse. If you’re the only one on your team using Haskell, something is probably wrong.

It has been awhile sine we had a good IDE war er.. discussion...

The distinction between language mavens and tool mavens rings true. It shouldn't be too hard to guess to which camp I belong... I rarely spend time thinking about IDE issues if I can only help it.