I’ve been at it again. In the previous autumn/winter season, I spent a month in Delft, hacking on the Stratego/Spoofax program transformation infrastructure.
Now that another winter is here, I’ve had the good fortune to repeat what is slowly becoming a tradition. This year I even found time to reserve two months for a more extended hackathon.
Many really good things came of out of the stay. A few of the immediate results are:
I am also involved in several on-going projects for bringing the necessary parts of the Spoofax infrastructure to the web. Interesting results should start popping up over the new few months.
As is the case for most startups, finding the time to contribute back to the upstream projects we use is always difficult. Whenever this happens, though, the payoff is often substantial.
More good news, everyone! I have found time to integrate the command line shell for Spoofax into Eclipse. You can now have all sorts of tricky conversations with the Spoofax interpreter inside a perfectly innocent-looking Eclipse console:

As you can see, there are still rough edges to be ironed out. One of them is clearly the color palette. Another is the lack of inline rules, which are not supported yet. Neither are dynamic rules (and it is doubtful they ever will be — we are currently exploring other opportunities for dealing with context-sensitive rewrite rules).
You can bring up the actual console by using the console page selector in the top right-hand corner of your console, like you do for the other types of consoles:

Remember that you can always report the issues you come across in YellowGrass and tag me (@karltk).
Updated with screenshot! Also take a look at the Eclipse Shell.
Good news, boys and girls! If you happen to be a Stratego and/or Spoofax user, you might appreciate that I finally took some time to piece together an interactive command line interpreter—-a REPL—-for Spoofax.

There are numerous other things you can do in the shell. The help “page” gives a short summary.
1/ok> :help
:help -- print this page
:forget var1 var2 ... varN -- forget specific global variables
:forget strat/(n,m) -- forget strategy with arity (n, m), e.g :forget zip/(1,0)
:forget _ -- forget all global variables
:arity strategy -- show available arities for a strategy
:strategies -- show all global strategies
:vars -- show all global variables
Now that I’m a full time Spoofax-user, low hanging productivity fruits suddenly seem a lot more ripe for the picking. I’ve personally been using Stratego Shell for a long time for my interactive needs, but it was getting increasingly out of date. Enter the Spoofax Interpreter, which runs on the JVM.
With a good portion of help from Rob and Eelco, I set up a build job for this thing in the hydra build farm, so that the latest builds will always be available.
There are bound to be a bunch of stuff that doesn’t work. When you find issues, please report them in YellowGrass and tag me (@karltk). I’m especially interested in how well this works on the more obscure developer platforms, such as Windows and OSX.
A sample contribution could be a cmd script that makes this thing easily start on Windows. Hint, hint.
One downside to the Kindle is that you can no longer throw a bad book across the room in disgust. — Lisa L
I’ve had my Kindle for exactly a year now. My experience so far: it’s really great! After a multi-year long lull where I didn’t do any reading (except for school and work), I’m now back into a rather steady reading pace.
A few highlights from 2011:
It’s the 6” Kindle that I use the most, though I also have a 9.7”. The 6” is so small that I always take it in my backpack when I travel anywhere (which I find myself doing a lot). Compared with all other battery-powered devices I have, the battery life is phenomenal. Easily lasts a month, even with a decent amount of reading.
Of course, the Amazon store is great. Being able to get a new book practically anywhere you go, at a moment’s notice is sweet. For example, I got really bored on the bus in England this summer, so I got a new book straight off of Amazon then and there — no extra charge though I downloaded it over 3G internet in a foreign country.
But for all the greatness of the Amazon store, I must perhaps say that I appreciate the freely available books even more, especially those you get through Project Gutenberg. I’m slowly working my way through old classics like The Age of Reason and The Republic. I never managed to do that with paper books, simply because I didn’t bring the books along all the time. Now, when I have the inclination for some moral philosophy, I actually spend ten minutes or an hour reading further in, say, The Theory of Moral Sentiments.
I concede that there are many reasons why I wouldn’t want to buy a Kindle, but the fact that I read a lot more—and even enjoy the reading itself more—outweighs all those reasons for me.