archives

The Killer Application for Concatenative Languages

I have long had a gut feel that the ability to algebraic
refactor / rewrite / simplify programs is a killer feature of
Joy / concatenative languages.

See Manfred von Thun's Rewriting System for Joy paper for more info on this.

I have just noted an practical application for this...

Out here in the embedded computing world there is a vast body of Legacy
assembler applications which cannot be ported to new CPU's as the old
parts go obselete.

So how about this for a solution....

Write in a concatenative language of your choice fragments that exactly
duplicate the behaviour of each machine instruction.

"assemble" the assembler source code into the concatenative language.

Algebraically simplify as much as possible. (Quite likely to something
even simpler than the original source!)

Compile the concatenative language to new CPU.

eWeek: Sun Digging Deep for Dynamic Language Support

A report on Gilad Bracha's presentation at Lang.NET 2006 entitled "Dynamically Typed Languages on the Java Platform".

We discussed several of the ideas mentioned, but I think we should continue to follow this story.