
Krasimir Angelov wrote:
There are three active database libraries: HDBC, HSQL and Takusen. It is quite disappointing from my point of view. Recently there was the same situation with the GUI libraires.
I think the dichotomy between lower-level Haskell libraries (whose API is closer/faithful to the underlying library) and higher-level, more idiomatic libraries will always exist, because there is need for both. Regarding GUI libraries, the bulk of wxHaskell is close to wxWindows. However, there are also more higher-level, more idiomatic interfaces built on the top of it. Takusen has its own lower-level layer -- which can be replaced with other suitable lower-level layer, for example, HSQL. By suitable I mean the layer should not improve the underlying database API too much, e.g., add finalizers to database and session handlers, because avoiding such finalizers was one of the main reason for the design of Takusen. It may be an interesting experiment to see if Takusen proper can be moved to use HSQL, for example, as the lower-level layer. Also, perhaps HSQL may find something useful to borrow from Takusen's lower-level layer.