
On Fri, Sep 7, 2012 at 8:48 AM, Ian Lynagh
I think it would be best to use lowest-common-denominator SQL, so that one can set up a Hackage 2 instance with postgreq, mysql, sqlite, or another DB backend.
While I think that's a laudable goal in theory, unfortunately the only database-independent client interface Haskell has at the moment is HDBC, which is rather painful to use compared to mysql-simple, pgsql-simple, postgresql-simple, and sqlite-simple. And unfortunately, there are also some incompatibilities between the *-simples, though perhaps one could, with great care, write code that works on any of them by changing which module is imported. The other issue is that least-common-denominator sql is also pretty restrictive, and that in a great many of my own projects, I've found database-specific functionality compelling, often allowing me to implement things much more efficiently than otherwise, either in terms of programming time or runtime or both. Best, Leon