bzlib/dbi – an extensible database interface for PLT

bzlib/dbi has just been made available via planet – inspired by Perl DBI, it is an extensible database interface, currently with the following drivers implemented:
bzlib/dbd-spgsql – wraps around schematics/spgsql
bzlib/dbd-jsqlite – wraps around jaymccarthy/sqlite
bzlib/dbd-jazmysql – wraps around jaz/mysql
bzlib/dbi/app – a kill-safe wrapper over raw database handles
bzlib/dbi/pool – a database connection pool wrapper
So if you need to switch within the three databases you now can do so more easily, and you get database connection pools and kill-safe wrappers for free.
You can find more details at http://weblambda.blogspot.com/2009/09/extensible-abstract-database-interace.html – which explains more in details about the interface.

(via PLT)

Why PLT Scheme disllows one-armed ifs

In 1991 I asked Bob Hieb (Kent’s Chez Scheme buddy then, and my co-researcher on theoretical stuff) what the most frequent annoying bug was in the code. He ranked an accidentally omitted else branch among the top three. Indeed, he said that because of this, they had agreed to use WHEN and UNLESS exclusively for cases when they needed a one-armed IF and that they considered all one-armed uses as a bug or a legacy issue (which they corrected as soon as they touched a file).
We have chosen to codify their restriction. It’s a minor inconvenience that buys a good deal of clarity

(via plt)

Coding for Humans: Annotated Code View in an IDE

Here is a post where Jordan explains what he wants to accomplish in the DrScheme IDE; basically he wants to be able to customize code in the IDE by annotating it, allow the annotations to be displayed only, while having the code run in mzscheme as expected.
Here is a screencast that he made which demonstrates his goal.
Very interesting!
(via plt)