caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Mike Furr <furr@cs.umd.edu>
To: caml-list <caml-list@inria.fr>
Subject: [ANN] OCaml Reins 0.1 - Persistent Data Structure Library
Date: Tue, 25 Sep 2007 14:53:44 -0400	[thread overview]
Message-ID: <46F95938.7030107@cs.umd.edu> (raw)


I'm happy to announce the first source release of the OCaml Reins data 
structure library available at:

   http://ocaml-reins.sourceforge.net

This project started as an "OCaml Summer Project" and is now continuing 
its development on sourceforge.  The library already contains several 
implementations of persistent data structures and will continue to grow 
(possibly adding ephemeral data structures at some point if there's 
interest).

Features of this release include:
   * List data types:
      o Single linked lists (compatible with the standard library type)
      o O(1) catenable lists
      o Acyclic double linked lists
      o Random access lists with O(1) hd/cons/tl and O(log n)
        lookup/update
   * Double ended queues
   * Sets/Maps with both polymorphic and monomorphic keys/values
      o AVL
      o Red/Black
      o Big-endian Patricia
      o Splay
   * Heaps:
      o Binomial
      o Skew Binomial
   * Zipper style cursor interfaces
   * Persistent, bi-directional, cursor based iterators (currently only
     for lists and sets)
   * All standard types hoisted into the module level (Int, Bool, etc...)
   * A collection of functor combinators to minimize boilerplate
     (e.g., constructing compare or to_string functions)
   * Quickcheck testing framework
      o Each structure provides a gen function that can generate a random
        instance of itself
   * Completely safe code. No -unsafe or references to Obj.*
   * Consistent function signatures. For instance, all fold functions
     take the accumulator in the same position.
   * All operations use no more than O(log n) stack space (except for a
     few operations on splay trees which currently have O(log n) expected
     time, but O(n) worst case)


Cheers,
-Mike


             reply	other threads:[~2007-09-25 18:54 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-25 18:53 Mike Furr [this message]
2007-09-25 19:14 ` [Caml-list] " Daniel Bünzli
2007-09-25 19:30   ` Mike Furr
2007-09-25 22:16     ` Cherry-picking modules (was Re: [Caml-list] [ANN] OCaml Reins 0.1 - Persistent Data Structure Library) Daniel Bünzli
2007-09-25 23:33       ` Cherry-picking modules (was " Sylvain Le Gall
2007-09-26  6:41         ` [Caml-list] " skaller
2007-09-26  7:22         ` Daniel Bünzli
2007-09-26  8:19           ` skaller
2007-09-26  8:30             ` Daniel Bünzli
2007-09-26  8:58               ` skaller
2007-09-26  9:49                 ` Daniel Bünzli
2007-09-26 10:26           ` Sylvain Le Gall
2007-09-26 11:45             ` [Caml-list] " Jim Miller
2007-09-26 12:37               ` Sylvain Le Gall
2007-09-27 10:11               ` [Caml-list] " Richard Jones
2007-09-26 12:22             ` Daniel Bünzli
2007-09-26 12:58             ` skaller
2007-09-26 16:47             ` Sylvain Le Gall
2007-09-26 22:38             ` [Caml-list] " Vincent Aravantinos
2007-09-26 22:41               ` Vincent Aravantinos
2007-09-26  6:19       ` Cherry-picking modules (was Re: [Caml-list] " skaller
2007-09-26 15:08         ` Michael Furr
2007-09-26 17:12           ` skaller
2007-09-26 17:53             ` Mike Furr
2007-09-26 19:16               ` skaller
2007-10-05 14:42               ` Adrien
2007-10-05 14:58                 ` Cherry-picking modules (was Re: [Caml-list] [ANN] OCaml Reins 0.1- " Christoph Bauer
2007-10-05 15:21                   ` Adrien
2007-10-05 19:45                     ` Cherry-picking modules (was Re: [Caml-list] [ANN] OCaml Reins0.1- " David Allsopp
2007-10-05  3:48         ` Cherry-picking modules (was Re: [Caml-list] [ANN] OCaml Reins 0.1 - " Nathaniel Gray
2007-09-26  7:03       ` Maxence Guesdon
2007-09-26  7:44         ` skaller
2007-09-26  8:53           ` Maxence Guesdon
2007-09-26 10:05             ` Daniel Bünzli
2007-09-26  8:17         ` Daniel Bünzli
2007-09-26 15:32       ` Michael Furr
2007-09-26 15:50         ` Vincent Aravantinos
2007-09-26 16:42           ` Cherry-picking modules (was " Sylvain Le Gall
2007-09-26 17:38             ` [Caml-list] " skaller
2007-09-26 17:57             ` Vincent Aravantinos
2007-09-26 17:22         ` Cherry-picking modules (was Re: [Caml-list] " skaller
2007-09-26 18:17         ` Daniel Bünzli
2007-09-26 18:45           ` Mike Furr
2007-09-26 19:21           ` skaller
2007-09-26  5:51 ` ExtLib, etc. " David Teller
2007-09-26 20:37 ` [Caml-list] [ANN] OCaml Reins 0.1 - Persistent Data Structure Library Mike Furr

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=46F95938.7030107@cs.umd.edu \
    --to=furr@cs.umd.edu \
    --cc=caml-list@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).