PLT Scheme 3.99 (revision 10030) for the OLPC XO

DrScheme is very, very close to its 4.0 release. I wanted to try out the newest bits on my OLPC XO using one of the nightly builds, but ran into the same problem as I did last time:

/home/olpc/apps/plt-3.99.0.25/bin/mred: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory

Some folks have resolved this dependency using Mesa for OpenGL emulation, but I found it easier to prepare a build that doesn’t depend OpenGL.
Here is the tarball and the md5sum for a trunk build that I made at revision 10030.
Here is how I did the build:

./configure --prefix=$WORKDIR/$DESTDIR --disable-gl --disable-shared --enable-origtree
make
make install

Modularity in the Java platform

This presentation at JavaOne 08 could have been called “Features in Java 7 that people will love and wonder why it took so long to get them”.
The topic was JSR-277: The Java Module System.
Here is the 20K foot summary:

  • Give modules (roughly jars) first class language support
  • Provide support for module composition at deployment time

The result: no more Jar (aka DLL) hell and a lot of flexibility in terms of how you configure and deploy your system.

Closure Cookbook

At Java One 08 Neal Gafter gave the “Closure Cookbook” on Closures in Java; in particular the BGGA implementation that he is proposing as a JSR.
To sum up the presentation, it was about closures, in Java. In particular, it went into explaining what are closures and how you might use them. The tough, and more interesting part, is how you would use them in a statically typed language like Java.
It will be interesting to find out what percentage of the Java community will actually grok how to utilize closures. The impression that I got from the presenter is that closures will be limited to the library and API writers in all but trivial cases.

Java One 08 Keynote

Is Sun in touch with Java developers?
The entire keynote was spent talking about how developers are soon going to be able to write applets that run on a desktop, in a web browser, and also on a phone. We have had this for years. Whose idea was this?
The really interesting stuff in Java land right now is Java 7 features and concurrent programming with Java, but apparently none of that was worth mentioning.
The worst part of it all is that during the demo, the applet repeatedly crashed, and crashed, and crashed. The first Java program that I ever saw was running was an applet running in a web browser, in 1995.
13 years to get applets right? Come on Sun.

Fortress: A Next-Generation Programming Language Brought to You by Sun Labs

“Fortress: A Next-Generation Programming Language Brought to You by Sun Labs” is the first session I attended at Java One 08. Being that this is my first time at Java One, I was pretty excited to see how both this session, and, the entire conference, would pan out.
Per her introduction, her background is big into parallelism, and like everyone else on they team, she is an old Lisper.
The focus of her talk was the top 10 ideas in Fortress. Apparently the original tag line for Fortress was that “Fortress will do for Fortran what Java did for C”. That makes sense since they were funded by the high performance computing people, but it isn’t the catchiest tag line.
Here is her top ten list for Fortress language features:

  • 10. Contracts. Requires, Ensures, Invariants.
  • 9. Dimensions and Units as fundamental types.
  • 8. Traits and Objects. Probably borrowed from Smalltalk.
  • 7. Functional Methods. I didn’t get this.
  • 6. Parametric Polymorphism.
  • 5. Generators and Reducers.
  • 4. Mathematical Syntax. One of the driving forces of Fortress to make a PL familiar to Mathematicians.
  • 3. Transactional Memory. She thinks it is “cool beans”.
  • 2. Implicit Parallelism
  • 1. Grow able. The big idea. Designed from the beginning.

Fortress is a hodge podge of cool language features; all of which are very cool (STM and concurrency were her favorite).
The last feature was the most exciting. I expected the entire room to say “ooohhhhhhh” at that moment, but no one did. I suspect no one had a clue as to what she was talking about. I would love to have syntactic extension facilities in Java. Since one of the background goals (my assumption) is to research language features that would eventually show up in Java, we’ll have to see what happens :).
While I got the impression that the presenter gave this presentation as the result of choosing the smallest straw; it was one of the top presentations out of the entire conference.

Chicago Lisp 5/16 Meeting

The next Chicago Lisp meeting is coming up this Friday, 5/16/8. Here are the relevant links:
Chicago Lisp Information Page (for now check here first)
Chicago Lisp Homepage (eventually this will be the master information site)
I will be heading down for this meeting, and presenting at it, so if you would like to carpool let me know!
Addendum 05/21/08:
Here is the presentation and source material from my talk. This is the 25lb version of the presentation; it is not light advocacy stuff, rather, it is just a lot of crunchy bits that are meant to be discussed interactively.
Addendum 05/27/08:
Peter posted a great recap of the presentation.
080516chicagolisp.jpg
Addendum: 08/17/08
Here is an updated presentation and materials, v2.01.