caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Matthieu Sozeau <Matthieu.Sozeau@lri.fr>
Cc: caml-list <caml-list@inria.fr>
Subject: Re: [Caml-list] Finger trees
Date: Thu, 25 Oct 2007 16:29:20 +0200	[thread overview]
Message-ID: <4720A840.5060603@lri.fr> (raw)
In-Reply-To: <471E60B4.8070607@lix.polytechnique.fr>

Arnaud Spiwack a écrit :
> There's at least been a Coq implementation (proven correct if I'm not 
> mistaken). Thus extractible into OCaml in a probably idiomatic way. I 
> don't know if the library is self contained or just a small proof-of 
> concept, though.
>
> http://www.lri.fr/~sozeau/research/russell/fingertrees.fr.html
>
>
> Arnaud Spiwack
>
> Jon Harrop a écrit :
>> I'm just perusing the multitude of tree data structures out there and 
>> was wondering if anyone has a finger tree implementation written in 
>> OCaml?
>>
>> Cheers,
Indeed, this is a certified implementation of Finger Trees, it's just 
not ready for release yet. I'm actually working on a version using 
modules which extracts to efficient OCaml code (e.g. ropes built on top 
of them permit to run the ICFP simulator in reasonnable time). So, the 
basic extracted code works well but I haven't finished building a 
certified implementation of the ropes which I want to release with it. 
In the meantime you can try this extracted version:

http://www.lri.fr/~sozeau/res/fingertrees-0.1.tgz

Some random notes:
- No documentation / beautifying of the ocaml sources, look at the Coq 
literate code for that, available from the webpage:
http://www.lri.fr/~sozeau/research/russell/fingertrees.en.html
- Uses a bit of Obj.magic for polymorphic recursion
- Some artifacts of extraction make it a bit slower than it could be 
(useless beta-redexes)
- Should still be bug free even at 0.1 !
- Uses ocamlfind for installation
- Released under the LGPL
- It will get polished soon...

Cheers,

-- 
Matthieu Sozeau
http://www.lri.fr/~sozeau


      reply	other threads:[~2007-10-25 14:29 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-23 11:33 Jon Harrop
2007-10-23 18:07 ` [Caml-list] " Diego Olivier FERNANDEZ PONS
2007-10-23 20:59 ` Arnaud Spiwack
2007-10-25 14:29   ` Matthieu Sozeau [this message]

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=4720A840.5060603@lri.fr \
    --to=matthieu.sozeau@lri.fr \
    --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).