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 mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id 69BF4823DB for ; Fri, 22 Dec 2017 10:13:31 +0100 (CET) Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=zhenya1007@gmail.com; spf=Pass smtp.mailfrom=zhenya1007@gmail.com; spf=None smtp.helo=postmaster@mail-yb0-f177.google.com Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of zhenya1007@gmail.com) identity=pra; client-ip=209.85.213.177; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="zhenya1007@gmail.com"; x-sender="zhenya1007@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of zhenya1007@gmail.com designates 209.85.213.177 as permitted sender) identity=mailfrom; client-ip=209.85.213.177; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="zhenya1007@gmail.com"; x-sender="zhenya1007@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-yb0-f177.google.com) identity=helo; client-ip=209.85.213.177; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="zhenya1007@gmail.com"; x-sender="postmaster@mail-yb0-f177.google.com"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3AFHykLBJF1LZOpkkbttmcpTZWNBhigK39O0sv0rFi?= =?us-ascii?q?tYgeK//xwZ3uMQTl6Ol3ixeRBMOHs6sC07KempujcFRI2YyGvnEGfc4EfD4+ou?= =?us-ascii?q?JSoTYdBtWYA1bwNv/gYn9yNs1DUFh44yPzahANS47xaFLIv3K98yMZFAnhOgpp?= =?us-ascii?q?POT1HZPZg9iq2+yo9JDffxhEiCChbb9uMR67sRjfus4KjIV4N60/0AHJonxGe+?= =?us-ascii?q?RXwWNnO1eelAvi68mz4ZBu7T1et+ou+MBcX6r6eb84TaFDAzQ9L281/szrugLd?= =?us-ascii?q?QgaJ+3ART38ZkhtMAwjC8RH6QpL8uTb0u+ZhxCWXO9D9QKsqUjq+8ahkVB7oiD?= =?us-ascii?q?8GNzEn9mHXltdwh79frB64uhBz35LYbISTOfFjfK3SYMkaSHJBUMhfVCJPH52y?= =?us-ascii?q?YJcUAuUbIepVtZPwq0cSoRa8AwSnGePhyiVPhn/zxaA03PohEQ7Y0wwmH9MFrW?= =?us-ascii?q?jarNLoNKgJUOC1yrXHzTXfb/xI2Df97pXDfxcgoPGMQ71wd8rQxlMyGw/Zklmd?= =?us-ascii?q?q5foPzyQ1usXsmib6/BsWv6oi24isgx8pCWkyMkrionMnI0Vy1bE+D14wIYzP9?= =?us-ascii?q?24SVR0bcSqEJtKsSyRKoh4Qts6Tm12pCo3zqcKtJ27cSQQ1pgr2hDSZ+aaf4WK?= =?us-ascii?q?4B/uUvuaLy1ii3J/Yr2/gg6/8Ui+xe34Ucm5yFNKoTBEktnIr3wM1wfc5tSeRv?= =?us-ascii?q?tz40us2zSC2xrc6uFDJkA0mq7bJIA7zrEskZoTtFzPHi7wmErokK+bblso9vSs?= =?us-ascii?q?5uj9YbjrpoWQO5FphgzwKKgih86yDOYgPggLRWeb+OC81LP5/U3+RbVHlvw3kq?= =?us-ascii?q?nHv5DcJcUUvLO1DxNJ3osh8Bu/ADKm384ZnXkDNl5KZBWHj43xN1HUPP/4Feu/?= =?us-ascii?q?g0irkDpz2//JJLjhApHUInjHkbfhZqp95lVHyAszyNBf/4hbBqsAIPL1QE/xtc?= =?us-ascii?q?bXAgU3MwyukK7bD4Ba/YobXSqqC66dMaXd+XuJ/f5nd+KFYYtQvDfmN9Ak4eTv?= =?us-ascii?q?hDk3gwlOU7Ou2M46dn+1GOUuGUKEa3vqidcdHGYM9l4sTOHsmVTbCWYMT3m3Vq?= =?us-ascii?q?M4oDo8DdT1Xs/4WomxjenZj2+AFZpMazUDUwjUHA=3D=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0ApAwDmyzxah7HVVdFdHAECHAEGAYNTN?= =?us-ascii?q?At0JweDf4E5l31HBoEQBSGIfH2EV4hqggEKBR6JXwdDFAEBAQEBAQEBAQESAQE?= =?us-ascii?q?BCA0JCCgvgjgkAYJwBBkBGx4DEgkBBjcCJAERAQUBIhuKDQEDCA0QlVKDRUCME?= =?us-ascii?q?IFtGAUBHIMLBYNjChknDVmCXwIGEoN5ghKBDokDDIE2g0+CZQWBLQEBAZIBhi+?= =?us-ascii?q?JXwgBAYFkCoYTjS6CfJB+jSGJShQFH4EXDyeBcW+BA1KBJQmCB1QlgW8gNwGJf?= =?us-ascii?q?wEBAQ?= X-IPAS-Result: =?us-ascii?q?A0ApAwDmyzxah7HVVdFdHAECHAEGAYNTNAt0JweDf4E5l31?= =?us-ascii?q?HBoEQBSGIfH2EV4hqggEKBR6JXwdDFAEBAQEBAQEBAQESAQEBCA0JCCgvgjgkA?= =?us-ascii?q?YJwBBkBGx4DEgkBBjcCJAERAQUBIhuKDQEDCA0QlVKDRUCMEIFtGAUBHIMLBYN?= =?us-ascii?q?jChknDVmCXwIGEoN5ghKBDokDDIE2g0+CZQWBLQEBAZIBhi+JXwgBAYFkCoYTj?= =?us-ascii?q?S6CfJB+jSGJShQFH4EXDyeBcW+BA1KBJQmCB1QlgW8gNwGJfwEBAQ?= X-IronPort-AV: E=Sophos;i="5.45,440,1508796000"; d="scan'208,217";a="249244735" Received: from mail-yb0-f177.google.com ([209.85.213.177]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 22 Dec 2017 10:13:30 +0100 Received: by mail-yb0-f177.google.com with SMTP id z62so17736693yba.11 for ; Fri, 22 Dec 2017 01:13:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=eF1AGCY6WAoJx3ipqwTF0DMO3RrniWWSEIzBZLcMbSM=; b=MHQ4tj0lFqLLeL64IJ7oZtvUPxidhDERfeJGp+AJwr7g2DpM1KhOycF9i/9OZtC640 k868dvOBwgb0sBwYqsiA7Z7TitG4D2Wa4w1ERlBHoGPiwGf0x8LbVm24vEjJxvEm4/cY xVWi3l4i9J/ctkNIvKimdk30mhh/Lu/aKp3fmmK6nLcMKtahmkHII9jFpNevC0BjOEQb aUEZhnH/xvGBS6eycPn50H2zdGEx2TFQFlmal226eulsE5vKVwbSQYCR5oInECTcaGyO 9c8AQasVIDL3peRMDLjozCsboekLJQbKIaXqFvihPt4SQGq3xqpwFKLosGOCaUCfjHg0 UHJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=eF1AGCY6WAoJx3ipqwTF0DMO3RrniWWSEIzBZLcMbSM=; b=CGXIOnyljcC1VuNlWVYHXnWlJAweJdNUYQRbq70e8ggv+s92vDfqdA45C5jCG9+cHX kDv7mBHRHTONhg3UBSBZyjHzDrQ4eTqPmJDtQlp/lF2CzL9VeyaNWhXGHZxYlLnT4So4 KHM9xFl6m8Kc1l3r7Fc9aFZXYX3NDAis4c/lv6g092wbkJs8Q6hlkOTWILXJdU6uM3hQ 8fJ99WatazcfuZCF16XQLQGeY66kv9P6O387ZPiKBDHVm+qNZV/1T2MpdZ2C0z7xxUTN +NKf3Hpwv97yOt4qCbMC2RqX3l6V0OnV7AD732/CrhFrL+tARR+xKWAeBfAZ5AQrO/Kp e2Sw== X-Gm-Message-State: AKGB3mJ+qFoSfQ6mahJMhU60DPljjUWjb6H7gaoa6NM1Z7R3O8SOUOBk jiMSHj6UR+9LZciH/44Wbf60Z9/5cX6fy4HzsOnq0g== X-Google-Smtp-Source: ACJfBouqtxxQbGTe6CVbhZpSomla1V9xskHu9VTUsxQN72QHwb2heItCSa0kUcSWcAXbu0h8zmjhejFkF6herWNKomU= X-Received: by 10.37.4.147 with SMTP id 141mr10421456ybe.445.1513934008615; Fri, 22 Dec 2017 01:13:28 -0800 (PST) MIME-Version: 1.0 Received: by 10.37.186.206 with HTTP; Fri, 22 Dec 2017 01:13:28 -0800 (PST) From: Evgeny Roubinchtein Date: Fri, 22 Dec 2017 01:13:28 -0800 Message-ID: To: OCaml Mailing List Content-Type: multipart/alternative; boundary="001a11c06864cc09450560ea3a06" Subject: [Caml-list] A question about "8.9 First-class modules -> Advanced examples" section of the reference manual --001a11c06864cc09450560ea3a06 Content-Type: text/plain; charset="UTF-8" Dear OCaml users and developers, I find the "Advanced examples" sub-section of the "First-class modules" section in the reference manual ( http://caml.inria.fr/pub/docs/manual-ocaml/extn.html#sec244) to be a bit short on motivation. I appreciate that it may be, "possible to parametrize some code over the implementation of a module without using a functor", but I am having trouble imagining why one would want to do such a thing. Also, the "without using a functor" part comes across (to me) as a bit hollow, given that the example provided _does_ in fact use [Set.Make] functor: it just hides the invocation of that functor inside the definition of the [make_set] function, so it reads (to me) like just a round-about way to invoke the [Set.Make] functor. Also, was a description of first-class modules in OCaml published in either a paper or a thesis, or perhaps a journal article? Thank you in advance! -- Best, Evgeny ("Zhenya") --001a11c06864cc09450560ea3a06 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Dear OCaml users and developers,
I find the "Advanced examples" sub-section of the "F= irst-class modules" section in the reference manual (http://caml.inria.fr= /pub/docs/manual-ocaml/extn.html#sec244) to be a bit short on motivatio= n.=C2=A0

I appreciate that it may be, "p= ossible to parametrize some code over the implementation of a module without using a functor", but I am having t= rouble imagining why one would want to do such a thing.=C2=A0 Also, the &qu= ot;without using a functor" part comes across (to me) as a bit hollow,= given that the example provided _does_ in fact use [Set.Make] functor: it = just hides the invocation of that functor inside the definition of the [mak= e_set] function, so it reads (to me) like just a round-about way to invoke = the [Set.Make] functor.

Also, was a descriptio= n of first-class modules in OCaml published in either a paper or a thesis, = or perhaps a journal article?

Thank you in advance!
=
--
Best,
Evgeny ("Zhenya")
--001a11c06864cc09450560ea3a06--