Read on and leave a comment
or return to our portfolio.

Archive for September, 2008

27 Sep 2008

by Noel

Commercial use articles in the Journal of Functional Programming

Further evidence of the increasing commercial relevance of functional programming (and just as important, the desire of the academic community for said relevance) is the announcement that the Journal of Functional Programming is now accepting Commercial Use articles.

The software engineering (SE) community and the programming language theory (PLT) community have traditionally been quite separate. This has led to much duplication of work. For example, it is well known that patterns are language features, indicating that the two communities have essentially been solving the same problems from different angles. The SE field assumes the language is fixed, and so develops abstractions (i.e. patterns) that exist above the level of code. The PLT researcher changes the language to directly express the abstraction. The SE approach is pragmatic but inelegant. The promise of the PLT approach has been retaining elegance (with associated reduction in development and maintenance cost), but the cost of adopting a new language is often seen as too high. (Incidentally, solving this problem is why you want a language with macros. I.e. Scheme.)

That the JFP is looking to publish essentially SE articles is definitely a good thing. It will, however, be interesting to see how the community adapts to members with quite different aims and values to the typical PLT researcher. For example, the PLT researcher is very focused on formality, and in particular giving precise semantics to language constructs. This leads to a style that deals with concepts in a very abstract mathematical manner. While powerful this is certainly not the best presentation for a working programmer to learn from. Consider, for example, Comprehending monads, which aims to be an easy introduction to monads. Given that this paper was published in 1992, we can see its ineffectiveness as a tutorial by considering the zillions of monad tutorials that have been written since. The problem is the abstract style of presentation. While presenting in an abstract style allows you to generalise to many different situations, people work best going from the specific to the general. Better tutorials start with a concrete example, and abstract from there. The question for the PLT community is how they will accommodate the desire for less formality and abstraction from the working programmer when one of the key differentiating factors between SE and PLT is the use of formalisms. If the right balance can be found this will be a great thing for both researchers and practitioners.

Posted in Code | No Comments »

10 Sep 2008

by Noel

The Spectacular Scribular

Scribular is a website and iPhone app that takes the idea offolksonomy, adds in GPS data from the iPhone, and gives you access to user contributed notes about the place where you currently are. The best part about Scribular if, like me, you don’t have an iPhone, is that it is written in PLT Scheme. It uses the LeftParen framework and you know LeftParen has to be awesome because it in turn uses lots of libraries from Untyped! Woo! Congratulations to Rob on launching. It is great to see another entrepreneur using PLT Scheme in a commercial setting.

Did I really just write Folksonomy?

Posted in General | No Comments »

9 Sep 2008

by Noel

Of Interest 09/09/2008

  • Vroom! Vroom! (read if you know some Haskell)
  • The user interface documentation for Chrome, Google’s browser, goes into some detail justifying the design choices, and so makes for interesting reading. The design claims to gain inspiration from the games WipEout and WipEout 2097.

Posted in General | No Comments »

6 Sep 2008

by Noel

Codeswarm

Codeswarm is a repository visualisation tool. It produces movies that show who is working on what throughout the lifetime of the repository. Although I find the movies quite pretty, to be honest I don’t get much useful information from them. Judge for yourself from movies of the PLT repository and the Untyped repository. Compare tothe Linux kernel for a more psychedelic experience.

Posted in Fun | No Comments »

2 Sep 2008

by Noel

Google’s Chrome Browser

Google is releasing a browser, called Chrome and based on the WebKit engine (same engine as Safari). To introduce the browser Google has published a series of photographs of the Chrome developers at work, and got them to explain in their own words what went into the browser. This does a good job of showing that working at Google really is one sun-shine filled cartoon day after another, but good gracious does it make for tedious reading. Next time just give the technical details as a bunch of text, ok?

Anyway, here are my thoughts on Chrome:

  • First, it has to be said: WE DON’T NEED ANOTHER BROWSER! Working around bugs in existing browsers takes enough time as it is. Google would have to create a truly exceptional product to gain enough market share to make developing from Chrome worthwhile. The only hope for Chrome, at least in the short term, is that it is attractive enough to developers that they use it as their main browser, and so are motivated to make their web apps support it.
  • Perhaps Chrome is going to be Google’s development platform forAndroid, it’s mobile phone platform. As we’ve said before there are squillions of web developers and harnessing them is the easiest way to get developers for your platform. Offer extended APIs (e.g. saving data to the local machine) using this familiar technology and you might be onto a winner.
  • If Google’s follows the route suggested above I could see Chrome getting some use for developing client-side applications. In theory Firefox is a compelling environment for cross-platform development. In practice the horrors of XUL and friends mean you have to be slighlty insane to go down that route. If Chrome does a better job of enabling client-side development I can it gaining some traction.

Posted in Web development | No Comments »