2006/01/18
Lisp and .NET
It seems there are several efforts to implement Lisp-like languages on top of the CLR. Common Larceny is one of them: a R5RS Scheme implementation, with interoperability with other CLS languages.
What's notable is, just like IronPython, the performance is more or less is the same ballpark than 'classic' implementations. Worst on some micro-benchmarks, better on other. Of course benchmarks suck, and micro-benchmarks suck more, but this is a very good sign - at least to avoid the initial reject reaction.
I have to dig and see what other implementations of lisp-like languages exist for the CLR (I'm pretty sure there's one or two CommonLisp and I saw another Scheme implementation... maybe Dylan ?). It would be interesting to see some ideas of the functional/objects or actor languages experimented in the 80's again on modern infrastructure. While reading the slides, I was thinking about Ptitloo, the "object-scheme" hybrid language that Jacques invented after Mering. It could be a good M.Sc project :)
2006/01/17
Very high hack value
.NET -really- is a multi-language infrastructure: BF.NET
I just can't find the words: PathLang
Swing for VT100: Charva
Old hardware never dies: GCC for PDP-10
Ever thought about CORBA at kernel-level ? KOrbit
But what's a kernel useful for, anyways ? KML
Oldie but goodie: Sendmail Calculator
A close friend of Charva: AAX
Knuth should be proud: XMLTeX
Too bad DPS is now forgotten: PSHTTPD
(And a special Jury Prize for Piet )
2006/01/05
Fun with homepage API
But tonight I wanted to do a quick hack (minimize time, maximize fun), so I added MindFood to my Google personalized homepage. There's now an "api" (actually a mix of declarative setup and javascript bindings) to develop new modules to the page.
A few minutes to write the XML module declaration file (with a pref to choose a MindFood user), to add a new method in controller and a partial view in the Rails application, et voilĂ !
Cool things in the API: it's trivial to deal with user preferences. Inclusion of a 'location' data type is a smart move (Google Maps enabled of course). The 'content proxy' is probably the most interesting part of the Javascript functions.
What is a bit ironic is that I was thinking about a MindFood Dashboard widget, but the google homepage module was more funny, as I did not know the API. But if I write eventually the Dashboard version some day, considering the similarity between google module and dashboard widget development, it's very possible that some code will be common for the two approaches.