From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by c5ff346549e7 (Postfix) with ESMTP id A1F895D5 for ; Sat, 4 Apr 2020 10:11:57 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.72,343,1580770800"; d="scan'208";a="443799176" Received: from sympa.inria.fr ([193.51.193.213]) by mail2-relais-roc.national.inria.fr with ESMTP; 04 Apr 2020 12:11:56 +0200 Received: by sympa.inria.fr (Postfix, from userid 20132) id 3FFAD7F467; Sat, 4 Apr 2020 12:11:56 +0200 (CEST) Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id 0B5457F42C for ; Sat, 4 Apr 2020 12:11:52 +0200 (CEST) X-IronPort-AV: E=Sophos;i="5.72,343,1580770800"; d="scan'208";a="344908675" Received: from bou78-2-82-240-46-163.fbx.proxad.net (HELO MP-41019.local) ([82.240.46.163]) by mail3-relais-sop.national.inria.fr with ESMTP/TLS/AES256-SHA; 04 Apr 2020 12:11:51 +0200 To: caml users From: =?UTF-8?Q?Fran=c3=a7ois_Pottier?= Message-ID: Date: Sat, 4 Apr 2020 12:11:51 +0200 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:60.0) Gecko/20100101 Thunderbird/60.9.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Subject: [Caml-list] Announcing Sek, an efficient implementation of sequences Reply-To: =?UTF-8?Q?Fran=c3=a7ois_Pottier?= X-Loop: caml-list@inria.fr X-Sequence: 18079 Errors-to: caml-list-owner@inria.fr Precedence: list Precedence: bulk Sender: caml-list-request@inria.fr X-no-archive: yes List-Id: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Fellow OCaml users, We are pleased to announce the first release of Sek, an OCaml library that offers an efficient implementation of sequences. The library offers both ephemeral (mutable) sequences and persistent (immutable) sequences, and offers constant-time conversions between these flavors. It supports all of the standard operations on stacks, queues, deques (e.g. push, pop at either end), catenable sequences (concat, split), and random access sequences (get, set). Data is stored internally in chunks (fixed-capacity arrays), which is why this data structure is known as a chunK SEquence. It is intended to achieve excellent time complexity and memory usage. This is an initial release. The library has not been tested in production, but has received extensive unit testing, via afl-fuzz and ocaml+afl -- which are remarkably effective tools, by the way! This is work in progress; more features, such as iterators, will be added in the future. To install Sek, just type opam update && opam install sek Documentation is at http://cambium.inria.fr/~fpottier/sek/doc/sek/Sek/index.html Feedback is welcome! -- Arthur Charguéraud François Pottier with contributions by Émilie Guermeur