Croquet Project Releases Initial Developer Release

(via Slashdot). The initial developer release of Croquet, the Smalltalk-based distributed computing environment, is now available.

It's different enought that I don't really know what to make of it - is this the future? Or a testbed for ideas that will find more durable expression in another context?

LL4 Call for Presentations

LL4 will be held at MIT on Saturday, Dec. 4. The due date for presentation proposals is Nov. 12.

We solicit abstracts of talks to be given at the workshop. Go for it -- convince us. Talks will be 30 minutes long, including time for questions and answers. Presenters are not expected to submit papers, but slides will be published on the workshop web site. We will also consider proposals for talks of different lengths.

JotSpot

A more remrkable example of a Wiki backed by a Wiki specific DSL.

The guided tours on Jotspot's website aren't very useful. I recommend viewing Jon Udell's discussion cum demo with the Jotspot guys.

The most important point for PL types is the notion of programmability. The world is going in that direction, and this should work to our advantage guys... Language design is becoming more mainstream, but it's still hard work that requires good linguistic intuition.

It seems that the Jotspot guys are aware of this trend, seeing as they talk about "part time programmers".

Google Print (and Computable Functions)

LtU-ers should be aware of google's new Google Print initiative to digitize books and support full text searches.

To get a feel for the new service, and for the sake of the subject matter itself, you might want to take a look at the book Computable Functions by Nikolai Konstantinovich Vereshchagin, Neal Noah Madras.

Updated LtU Archive Index

Been a while since I've updated my archive index - specifically since the demise of manilla back in late June. This site is easier to index, but still I like to have access to all the thread titles on a single page. Index includes both the original archive index, as well as the new site.

In the process of doing this, I've cleared off all the original archive pages from my website. Our host has them available on the this website via the Archive. Makes more sense to have all the pages on our main site, rather than multiple copies floating around (even though I put norobot meta tags in them).

For some reason, it seems like we've been moved longer than the 3-4 months that have actually elapsed. Thanks to Anton again for the home.

Laszlo - So good, I had to change my underwear

Lazlo does was Java was supposed to do -- let you run desktop-app-like applications within a browser window. But Lazlo doesn't require any plugin on its own, or flaky, slow Java. Instead, the Lazlo compiler turns Lazlo code (which is written in very fast, flexible, human-readable XML) into Flash apps. - BoingBoing

Develop applications via a highly productive declarative programming approach [...] Laszlo applications are developed via a familiar object-oriented XML markup approach that reinforces todays development best practices - Laszlo Systems

LZX is an event-driven, object-oriented language for building dynamic, data-driven applications. Because it's an XML language, LZX integrates seamlessly with your existing IDE, source control, and team development systems. - Laszlo in 10 minutes

A reliable, free, Flash development tool is really good news for amateur web designers. This will probably be a huge success.

Research ethics

Most of the research we discuss here on lambda is theoretical research, done with mathematical tools. But what about research about actual language use, those "human factors" we are so fond of discussing?

Research of the latter kind requires empirical data, the gathering of which, as Ralph Johnson discusses here, may pose ethical problems.

For what it's worth, I agree with Ralph that this is an "idiotic opinion," but it's an issue that might cause problems for some of the grad students reading LtU.

Not really related to this is the fact that doing meaningful research of the kind I am alluding to here is pretty darn hard, in fact quite close to being impossible.

CLRFIs

An open standards process for Common LISP was announced a couple of weeks ago at the Amsterdam LISP meeting, the ALU CLRFI standards process, apparently modelled on the Scheme SRFI. So far only one standard has been submitted, a features testing standard.

Open standards processes such as the CLRFI have the potential to be of general value to people interested in language design issues, since they can bring out a great deal of tacit wisdom about language and library features that is otherwise difficult to get hold of.

Curently there is not much information about the whys and whats of the CLRFI process, though Kent Pitman has argued for some time that Common LISP needs a SRFI-like program. More information awaits a hungry audience!

Templates vs. Generics

Bruce Eckel gives his take on C++ Templates vs. Java Generics, using the example of an apply() function that will apply any method to every object in a sequence:

What I found in modifying this example and translating it to Java was surprising. As far as generics go, it does in fact support my thesis that erasure emasculates generics. What is surprising is that ... the Java code is small and elegant, and far less verbose than the C++ code,... Alas, generics had nothing to do with this succinctness – it was actually reflection and varargs that were responsible. And so the power of reflection continues to be one of the most interesting features of Java, even though its runtime uncertainty is at odds with the Java Generics goal of eliminating ClassCastExceptions.
I figure the goal is for the compiler to proof the type correctness, but he's right in that RTTI is at odd with that goal.
(Also of interest, is the link to the Java Generics FAQ).


[Edit Note: The URLs should be working again]

Ken Shan: Shift to Control

Ken Shan's Shift to Control (slides) presented at the recent Scheme workshop.

Ken shows that shift/reset, prompt/control, prompt/cupto and lots of other delimited continuation operators are all equally expressible, and all can be modeled by ordinary CPS.

The paper shows that shift and reset can macro-express control and prompt, as well as the other operators, without capturing undelimited continuations or keeping mutable state. This translation is previously unknown in the literature.

Good stuff! But keep in mind that, as the cartoon in the slide says, control operators can make your head hurt...