From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id E553C8003B for ; Sat, 12 Nov 2016 14:02:24 +0100 (CET) Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=oleg@okmij.org; spf=Pass smtp.mailfrom=oleg@okmij.org; spf=None smtp.helo=postmaster@mail1.g3.pair.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of oleg@okmij.org) identity=pra; client-ip=66.39.3.114; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="oleg@okmij.org"; x-sender="oleg@okmij.org"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of oleg@okmij.org designates 66.39.3.114 as permitted sender) identity=mailfrom; client-ip=66.39.3.114; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="oleg@okmij.org"; x-sender="oleg@okmij.org"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail1.g3.pair.com) identity=helo; client-ip=66.39.3.114; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="oleg@okmij.org"; x-sender="postmaster@mail1.g3.pair.com"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3Az3KGGxepyCEYkA6FYRAJrM/PlGMj4u6mDksu8pMi?= =?us-ascii?q?zoh2WeGdxcu6YB7h7PlgxGXEQZ/co6odzbGH6Oa4BidcvN6oizMrSNR0TRgLiM?= =?us-ascii?q?EbzUQLIfWuLgnFFsPsdDEwB89YVVVorDmROElRH9viNRWJ+iXhpTEdFQ/iOgVr?= =?us-ascii?q?O+/7BpDdj9it1+C15pbffxhEiCCzbL52Ihi6txndu8sZjYZtKqs61wfErGZPd+?= =?us-ascii?q?lK321jOEidnwz75se+/Z5j9zpftvc8/MNeUqv0Yro1Q6VAADspL2466svrtQLe?= =?us-ascii?q?TQSU/XsTTn8WkhtTDAfb6hzxQ4r8vTH7tup53ymaINH2QLUpUjms86tnVBnlgz?= =?us-ascii?q?oBOjUk8m/Yl9ZwgbpVrhyhuRJx3o3ab46JO/VjfKzSc8gXRXZdUstLSyBNHpmx?= =?us-ascii?q?Y5UJAuEcPehYtY79p14WoBWnAQmjGuzvwSJPi3/x2a01zeshHBrB3AwjGtIOsX?= =?us-ascii?q?bUoM/yNKcIXuC41a/FxijNYfNR3Dfy8onIchY5rPGNW7Jwa8vRxlM1GwPLlFWd?= =?us-ascii?q?r5HuMTCN1ukVsmWW7vBsWOyrhmI9pQx9uCWjytojh4XRm44YxEzI+T93zYs6P9?= =?us-ascii?q?G0VU12bN2+HJdOqy2XNo17Sd44TW5yoiY10LgGtIa7fCcUzJQnwAbSa/mdfIiJ?= =?us-ascii?q?5hLvSfydITh2iX5/YLKwnRey8VK6xuLgUcm01U5GritDktbSqnAAzx3e58mdRv?= =?us-ascii?q?Zz+kqtwziC2xrO5u1ZLk04ja/bJIQgwr40mJoTq0PDHirulUXxiK+ZaEok9/Ov?= =?us-ascii?q?6+TkZ7Xmp52cO5VzigHkPaQigta/DvggMggSQ2ib/vyx26H58k38RLVGl/k2kq?= =?us-ascii?q?jCsJDGPskbva64AwpN0ok58Rq/DjGm0M4ZnXYdNl5FdgiH3MDVPATBKfriDPq7?= =?us-ascii?q?xU+nkDpxyuruMbjoA5GLJX/Gw5n7erMozEpRx0JnytRS6LpTCbQAIrT0QECn54?= =?us-ascii?q?+QNQMwLwHhm7WvM956zI5LAW8=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0BrAABqEidYh3IDJ0JdFgYBAQQBAQoBA?= =?us-ascii?q?RYBAQEDAQEBCQEBAYMGAQEBAQF3gQABuSeCByiFewKCDEATAQEBAQEBAQEBAQE?= =?us-ascii?q?SAQEBCgsJCR0wgjMYghcCBDo/GyE0BXCITQ6xQotRAQEBBwIBJIY7hFuFFIJlg?= =?us-ascii?q?jAFj1uKZoI8jhYLgz6MYpFOHwGBOByDMoF3YwGIBwEBAQ?= X-IPAS-Result: =?us-ascii?q?A0BrAABqEidYh3IDJ0JdFgYBAQQBAQoBARYBAQEDAQEBCQE?= =?us-ascii?q?BAYMGAQEBAQF3gQABuSeCByiFewKCDEATAQEBAQEBAQEBAQESAQEBCgsJCR0wg?= =?us-ascii?q?jMYghcCBDo/GyE0BXCITQ6xQotRAQEBBwIBJIY7hFuFFIJlgjAFj1uKZoI8jhY?= =?us-ascii?q?Lgz6MYpFOHwGBOByDMoF3YwGIBwEBAQ?= X-IronPort-AV: E=Sophos;i="5.31,626,1473112800"; d="scan'208";a="244715090" Received: from mail1.g3.pair.com ([66.39.3.114]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 12 Nov 2016 14:02:23 +0100 Received: from Magus.localnet (fortigate.sf.ecei.tohoku.ac.jp [130.34.188.206]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail1.g3.pair.com (Postfix) with ESMTPSA id 425D63FBDD0; Sat, 12 Nov 2016 08:02:20 -0500 (EST) Date: Sat, 12 Nov 2016 22:01:34 +0900 From: Oleg To: gabriel.scherer@gmail.com Cc: yminsky@janestreet.com, caml-list@inria.fr, gmalecha@gmail.com Message-ID: <20161112130134.GA3313@Magus.localnet> Mail-Followup-To: Oleg , gabriel.scherer@gmail.com, yminsky@janestreet.com, caml-list@inria.fr, gmalecha@gmail.com MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.6.1 (2016-04-27) Subject: Re: [Caml-list] The fastest stream library [Was: Question about Gabriel, Thank you for the detailed and thoughtful message and the motivations behind Enum choices. The library and language design was the central issue in our paper. We do have a different overall approach, which you haven't yet touched. The approach is meta-programming. It is high-performance community who discovered for themselves that the most promising way to increase or maintain performance is by meta-programming. It was late Ken Kennedy (of High-Performance Fortran fame) who came with telescoping languages and popularized the idea of active libraries. It was again Ken Kennedy who coined the phrase ``abstraction without guilt''. The references (in old, by now) paper make the case that become even clearer by now http://www-rocq.inria.fr/~acohen/publications/CDGHKP06.ps.gz Thus we can have a very general interface and still very efficient implementation. We can have a pure functional, a fully compositional interface and a very tangled, imperative implementation with reference cells all over. The strymonas library is an example of that.