25 May 2009 joolean   » (Journeyer)

Wow, it's been a while.


After practically another year, SCSS 0.3.2 is out. I had to pretty much rewrite the parser from scratch, since the LALR implementation I was using (lalr-scm), while quite good, didn't give me as much flexibility as I needed with regard to error recovery. The new parser is based on the one in WebKit, and, while it's now pretty much 100% compliant with the CSS 2.1 recommendation, it's a bit slower than the LALR one. That's something I'll have to come back to, I guess. And I finally buckled down and added a test suite, at least for parsing -- testing by rendering pages in libRUIN's "ruinview" example program was a real time-sink.

Grab tarballs here.

R6RS Libraries

Another thing I sunk some time into over the past, well, year was trying to get a working R6RS-compatible libraries implementation into Guile. I've been frustrated for a while with the difficulties inherent in porting Scheme modules from one interpreter to another. For a while I thought Snow might be the solution to this, but after months of wrestling with its shortcomings and trying to get people interested in it, I concede that it's probably most useful as a distribution platform -- and R6RS's library specification, however onerous it might be to implement, is most likely to solve the platform-crossing problem. So I spent a while trying to map R6RS's requirements onto Guile's built-in module implementation, and I was almost successful, until some long-standing problems with Guile's management of hygiene across module boundaries reared their ugly heads. I asked the development list for help, and wingo, master of syntax that he is, stepped up and made some serious fixes, which are in the process of being tested and integrated. Guile 2.0, whenever it arrives, is going to have some pretty wonderful things in it.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!