QDBM / Hyper Estraier bindings for haskell

Jun Mukai mukai at jmuk.org
Wed Jun 28 01:58:11 EDT 2006


Hello all,

I pleased to announce the QDBM and Hyper Estraier bindings for haskell.

If you are interested in, they can be obtained from
http://www.city5.org/haskellprog/qdbm/
http://www.city5.org/haskellprog/hstraier/


These are darcs repository, so you can obtain them via darcs.


These bindings are already cabalized, you have to type only as follows
to install them:
% runghc ./Setup.hs configure
% runghc ./Setup.hs build
# runghc ./Setup.hs install


the online API documentation generated by haddock is also shown at
http://www.city5.org/doc/qdbm/
http://www.city5.org/doc/hstraier/


* What is QDBM?

QDBM, stands for Quick DBM, is a database module similar to GDBM or
NDBM or Berkeley-DB, but the specific feature is performance and
simple API.

By now, my QDBM binding supports only Depot, Curia, Villa, and a part
of Cabin.

QDBM can handle several kinds of DBM, and Depot and Curia and Villa is
a name of each DBM.  Depot is a basic DBM.  Curia is a `large' DBM and
bundles many Depot files for its internal implementation.  Curia also
can store `large objects' as a file.  Villa is B+Tree DBM and uses a
function to compare keys.  Villa also has faculty of cursors and
transactions.  Vista, `large' version of Villa, is not supported.
Odeum, inverted index, is also not supported.

Cabin is auxiliary functions collection module and contains a kind of
utility functions of string operation such as Base64 encode/decode,
URL encode/decode, quoted printable encode/decode, mime analysis, csv
reading and so on.  These functions will be useful for many
Haskellers, and run faster.

If you are interested in QDBM itself, see http://qdbm.sourceforge.net/


* What is Hyper Estraier

Hyper Estraier is a full-text search system using QDBM.  You can
search documents according to the keywords specified and so on.

My Hyper Estraier binding supports only `core' API.  Core API can
handle document object, conditionals, and full-text search DB.  Hyper
Estraier itself has `node' API, which invokes search queries to remote
servers using HTTP.  Node API is not supported yet in my binding now.

If you are interested in Hyper Estraier itself, 
see http://hyperestraier.sourceforge.net/


Any comments are welcome.


Thanks,

Jun Mukai
mukai at jmuk.org


More information about the Libraries mailing list