From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by walapai.inria.fr (8.13.6/8.13.6) with ESMTP id p69IkKmC023765 for ; Sat, 9 Jul 2011 20:46:20 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av0EAMKhGE5LZTZZ/2dsb2JhbABTp1J3iHqkSZ4rhVtfBIdOm20 X-IronPort-AV: E=Sophos;i="4.65,505,1304287200"; d="scan'208";a="102820728" Received: from thrike.conjury.org ([75.101.54.89]) by mail4-smtp-sop.national.inria.fr with ESMTP; 09 Jul 2011 20:45:56 +0200 Received: from localhost (localhost [127.0.0.1]) by thrike.conjury.org (Postfix) with ESMTP id E03C151C706 for ; Sat, 9 Jul 2011 11:45:53 -0700 (PDT) X-Virus-Scanned: amavisd-new at conjury.org Received: from thrike.conjury.org ([127.0.0.1]) by localhost (thrike.conjury.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id oEzMYUuzn03G for ; Sat, 9 Jul 2011 11:45:53 -0700 (PDT) Received: from zeece.conjury.org (zeece.conjury.org [IPv6:2001:5a8:4:2290:21f:5bff:fe36:778]) by thrike.conjury.org (Postfix) with ESMTP id 1B58051C6FB for ; Sat, 9 Jul 2011 11:45:53 -0700 (PDT) From: james woodyatt Content-Type: text/plain; charset=windows-1252 Date: Sat, 9 Jul 2011 11:45:52 -0700 Message-Id: <02CF6390-37A1-4707-88B4-B139262E60F9@conjury.org> To: Caml Traders Mime-Version: 1.0 (Apple Message framework v1244.3) X-Mailer: Apple Mail (2.1244.3) Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by walapai.inria.fr id p69IkKmC023765 Subject: Re: [Caml-list] Priority queues, reloaded "Jon Harrop" asks about heaps and priority queues in Ocaml: > > Anyone got this in OCaml? I released this years ago. It's stable, meaning I use it all the time, and I never touch it. >From the README in the Cf library: >> Highlighted features include: >> >> - Functional streams and stream processors (extended). >> - Functional bootstrapped skew-binomial heap. ******************************************* >> - Functional red-black binary tree (associative array). >> - Functional sets based on red-black binary tree. >> - Functional real-time catenable deque. >> - Functional LL(x) parsing using state-exception monad. >> - Functional lazy deterministic finite automaton (DFA). >> - Functional lexical analyzer (using lazy DFA and monadic parser). >> - Functional substring list manipulation (message buffer chains). >> - Gregorian calendar date manipulation. >> - Standard time manipulation. >> - System time in Temps Atomique International (TAI). >> - Unicode transcoding. >> - Universal resource identifier (URI) manipulation. >> - Extended socket interface (supports more options, and UDP w/multicast). >> - I/O event multiplexing (with Unix.select). >> - Functional XML stream parsing and generation >> - Functional MIME stream parsing and generation Among other treasures, it has priority queues built with the bootstrapped skew-binomial heaps. Nobody knows about my Oni project because I rarely put any effort into promoting it, but its Cf library is an excellent alternative to the OCaml standard library in many ways. There is a GODI package for it, of course, but the OCaml With Batteries people settled on a more popular alternative (and who can blame them) so again nobody knows about it. Nevertheless, if you need the complete array of functional data structures in OCaml, you should look at the Cf library I wrote. It's pretty good. — j h woodyatt http://jhw.dreamwidth.org/