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 6CFF77EF5E for ; Fri, 15 Jul 2016 20:58:42 +0200 (CEST) IronPort-PHdr: 9a23:yaK1BBA+4rtT3RSDFWSjUyQJP3N1i/DPJgcQr6AfoPdwSP78p8bcNUDSrc9gkEXOFd2CrakV06yK7+u5AzZIyK3CmUhKSIZLWR4BhJdetC0bK+nBN3fGKuX3ZTcxBsVIWQwt1Xi6NU9IBJS2PAWK8TWM5DIfUi/yKRBybrysXNWD14Lri6vrocebSj4LrQL1Wal1IhSyoFeZnegtqqwmFJwMzADUqGBDYeVcyDAgD1uSmxHh+pX4p8Y7oGx48sgs/M9YUKj8Y79wDfkBVGxnYCgJ45jJuAPOSBrH13IYVmIO2k5ZCgzB6wnSUZL4sy+8ve14jnq0J8rzGIEzRT2np41iUhnvmW9TJjkl+WTdg9Z2i7Nzrxeophg5yInRNtLGfMFid7/QKItJDVFKWdxcAmkYWtux Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=yotambarnoy@gmail.com; spf=Pass smtp.mailfrom=yotambarnoy@gmail.com; spf=None smtp.helo=postmaster@mail-yw0-f174.google.com Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of yotambarnoy@gmail.com) identity=pra; client-ip=209.85.161.174; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="yotambarnoy@gmail.com"; x-sender="yotambarnoy@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of yotambarnoy@gmail.com designates 209.85.161.174 as permitted sender) identity=mailfrom; client-ip=209.85.161.174; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="yotambarnoy@gmail.com"; x-sender="yotambarnoy@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-yw0-f174.google.com) identity=helo; client-ip=209.85.161.174; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="yotambarnoy@gmail.com"; x-sender="postmaster@mail-yw0-f174.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0CqAAA0MYlXhq6hVdFchBR8qRWHR4oTGoEnhFkCgS87EQEBAQEBAQEBEQEBAQgLCwkhL4IyBAESAYISAQEEARIRHQEbHQEDAQsGBRgCAiYCAiECEQEFARwGEyKHcwEDDwikAIExPjGLO4FqgloFhGkKGScNUoNIAQEBBwIBHAIGEHGFKYRNgkOBWoMkgloFmG00jESRTIgihjowgQ80gjyBcyAyhRCBQwEBAQ X-IPAS-Result: A0CqAAA0MYlXhq6hVdFchBR8qRWHR4oTGoEnhFkCgS87EQEBAQEBAQEBEQEBAQgLCwkhL4IyBAESAYISAQEEARIRHQEbHQEDAQsGBRgCAiYCAiECEQEFARwGEyKHcwEDDwikAIExPjGLO4FqgloFhGkKGScNUoNIAQEBBwIBHAIGEHGFKYRNgkOBWoMkgloFmG00jESRTIgihjowgQ80gjyBcyAyhRCBQwEBAQ X-IronPort-AV: E=Sophos;i="5.28,369,1464645600"; d="scan'208";a="184938569" Received: from mail-yw0-f174.google.com ([209.85.161.174]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 15 Jul 2016 20:58:41 +0200 Received: by mail-yw0-f174.google.com with SMTP id v186so48403534ywd.0 for ; Fri, 15 Jul 2016 11:58:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=references:from:mime-version:in-reply-to:date:message-id:subject:to :cc; bh=fvM34XdQ3X1vyd4fc43X2rvAtxW7O7Ybu3df/zBTnkU=; b=Kp2aqVOW7CoOfujDYAJvsZFeQqFXxmFncmJpUDZ9h0ovA0GlU5X9pv/Z+k61+GjXUY ah/A7+S4nax2kNXzRSUKVrj8JwZOblti+ViErnuQojiRtJRaC7m8qbtmLb3yFD80tud0 /Ggm77TmalBiwHBrHWRvGFIaLbtpI4nwsien2/BI8wD3jQJ5OipYznrovTRFsMNfUuhZ OflloJSRWbqnc13anabnf/pVU/qypLfznvHhKwGyJCdJa2gkDoy8DsHRo3BsQnBnGuBh HnSv0nRraibiC7UDe1nFk7C24SVEk758nSxjJE1/a8tZjosjgYigxefPkA/994vxu7Ux DJGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:references:from:mime-version:in-reply-to:date :message-id:subject:to:cc; bh=fvM34XdQ3X1vyd4fc43X2rvAtxW7O7Ybu3df/zBTnkU=; b=T9vfh0/j8bwTa/1gld5AIFHiLvbSs3oY62soTZlkZ/FiDBgskgxVifD5yndYdsAsV7 JQYz6QmugfTqWfLgK3+8RrtHM+W7+kRGUSxJN6HpbB0qBdVujKuZGLblv696ptzvNfvD 043DV9+q85fMFy/4qQU9RNKMg1pAgHFkOMtd/14HLRPp8eRcLuKvFv2ZkE1mIaSMJk85 gvKUAobAZ2/PBPmK9uLDPPFLoLdALrb9ZWgIdmYh1U8QVEN1d7uJ9pkyGd1bXnvlF2bO zsj+YyMY12ybkmczgMAHn4UVSK2wiY/1kHEHuE9t343bClqdnAsza2t2xWnYZ3zLgEhl SJFA== X-Gm-Message-State: ALyK8tKeNZBudyTVEi5d+Tu/3aysMHREd69ZBuH2GLUBJjAivVCLDSeQJTQfyuXeBlV5lxgWrGx3GeNLHEjJJw== X-Received: by 10.13.216.22 with SMTP id a22mr11585924ywe.5.1468609120351; Fri, 15 Jul 2016 11:58:40 -0700 (PDT) References: <001701d1daa2$30f7ac30$92e70490$@metastack.com> <1468179914.25014.89.camel@e130.lan.sumadev.de> <20160714090300.GB21053@frosties> <002601d1de7e$9f5776d0$de066470$@metastack.com> <20160715161308.GB30333@topoi.pooq.com> From: Yotam Barnoy Mime-Version: 1.0 (1.0) In-Reply-To: Date: Fri, 15 Jul 2016 14:58:38 -0400 Message-ID: <6650375677998504317@unknownmsgid> To: Jeremy Yallop Cc: Hendrik Boom , Ocaml Mailing List Content-Type: text/plain; charset=UTF-8 Subject: Re: [Caml-list] Warnings opening modules (was: why is building ocaml hard?) Ok I have to admit that's pretty convenient. > On Jul 15, 2016, at 2:09 PM, Jeremy Yallop wrote: > >> On 15 July 2016 at 17:57, Yotam Barnoy wrote: >> In haskell, I can just say 'import A (foo, bar, baz, t)' to limit >> exactly what I want to import. This is because haskell has a >> half-baked module system that isn't nearly as powerful as OCaml's, >> which allows it to create syntax that doesn't need to go anywhere but >> at the toplevel. >> >> We need this functionality in OCaml, but the closest thing is to say >> 'include struct let foo = A.foo let bar = A.bar let baz = A.baz type t >> = A.t end' > > This can be written more succinctly: > > let foo, bar, baz = A.(foo, bar, baz) > type t = A.t