Monthly Archives: September 2007

Simplifying Code

In the course of trying to adapt an ANTLR lexer to be used in an Intellij IDEA language plugin, I found that I’d written this:

token = lexer.nextToken(); if (token != null) { tokenStart = findCharPos(token.getLine(), token.getColumn());

if (token.getText() == null) { [...]

CAL and the Tapestry 5 Tutorial

The technique described in my previous post can be used to create Tapestry 5 pages which call CAL functions. Tapestry also uses Javassist to enhance pages, so adding CAL integration requires that Tapestry is reconfigured to apply the CAL transformations in addition to its own — I wasn’t able to find a way to transparently [...]

Javassist and Annotations for Interfacing Java to CAL

In order for CAL to interoperate with Java frameworks we need to provide a Java class which delegates method calls to CAL functions. The framework sees only the Java class, and is unaware of the delegation which is taking place.

How we do this depends on a number of factors:

How easy it is to hook into [...]

Quote of the day, Tyler Cowen on Google

“Everyone is smart and beautiful, and I didn’t want to leave.”

Interfacing CAL to Java Frameworks — Part 1

This article discusses the differences between CAL as a client of Java libraries and CAL modules as clients of Java frameworks.

CAL is a functional programming language which runs on the JVM. One of the advantages of a language which compiles to Java bytecode is that it is simple to call any of the many available [...]

I’ll miss you, SCO

Perhaps not many people will miss SCO, given their desperate intellectual property shenanigans, but I only remember the good times.

My second job out of university was at an investment bank, Dominguez Barry Samuel Montagu, as the co-developer of an equities options trading system. We had a brand new Compaq 80386, running at 16MHz. I don’t [...]

Not what you expect from Apple

While the new iPods look fine, I was surprised to see the mess that was Apple’s Australian web site at 7:25 AM this morning.

Broken images everywhere and copy which refers to the old iPod nano. Surely the updates should have been ready for weeks, and deploying them should be a press of a button!

Escape from Zurg

This Lambda the Ultimate post links to a paper which compares writing a search algorithm in Prolog and Haskell, and notes that Haskell’s strong typing makes the task easier. While the paper mentions several embeddings of logic programming into functional languages it doesn’t mention Mercury.

I was able to easily create successor and goal predicates for [...]