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 06A0B7FB82 for ; Mon, 29 Feb 2016 19:37:56 +0100 (CET) IronPort-PHdr: 9a23:02POGxwLqm2AcMTXCy+O+j09IxM/srCxBDY+r6Qd0e0TIJqq85mqBkHD//Il1AaPBtWErawUwLOO4ujJYi8p39WoiDg6aptCVhsI2409vjcLJ4q7M3D9N+PgdCcgHc5PBxdP9nC/NlVJSo6lPwWB6kO74TNaIBjjLw09fr2zQd6NyZrnnLnqqtX6WEZhunmUWftKNhK4rAHc5IE9oLBJDeIP8CbPuWZCYO9MxGlldhq5lhf44dqsrtY4q3wD89pozcNLUL37cqIkVvQYSW1+ayFmrPHs4DDFUQyJrlEVWWUXlFIcCg7Z9hb8VJ76sir8nuV40Siee8bxSOZndy6l6vJKVhbuwAgAKzkn+2HWltc42KNFrzqgqhFyhYnOb9fGZ7JFYqrBcIZCFiJ6VcFLWnkEW9vkYg== Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=ivg@ieee.org; spf=Pass smtp.mailfrom=ivg@ieee.org; spf=None smtp.helo=postmaster@mail-lb0-f177.google.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of ivg@ieee.org) identity=pra; client-ip=209.85.217.177; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="ivg@ieee.org"; x-sender="ivg@ieee.org"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of ivg@ieee.org designates 209.85.217.177 as permitted sender) identity=mailfrom; client-ip=209.85.217.177; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="ivg@ieee.org"; x-sender="ivg@ieee.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@mail-lb0-f177.google.com) identity=helo; client-ip=209.85.217.177; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="ivg@ieee.org"; x-sender="postmaster@mail-lb0-f177.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0CTAADLj9RWlbHZVdFehAxtBqpqkXAdhXYCgTEHOxEBAQEBAQEBARABAQEBBwsLCSEvgi2CFQEBAwESER0BATcBBAsLBAcDNAICIQESAQUBHAYTCBqHaAMKCA6jFoExPjGKTWeEQAEEhVINhC0BAQEBAQEEAQEBAQEBAQESBgqGCIQ6gjqBY0WCU4E6jiSEVoQXhVmGFYF0gimMS4cGhgYRHoEPDyeCIh6Bbh4uAYhCAQEB X-IPAS-Result: A0CTAADLj9RWlbHZVdFehAxtBqpqkXAdhXYCgTEHOxEBAQEBAQEBARABAQEBBwsLCSEvgi2CFQEBAwESER0BATcBBAsLBAcDNAICIQESAQUBHAYTCBqHaAMKCA6jFoExPjGKTWeEQAEEhVINhC0BAQEBAQEEAQEBAQEBAQESBgqGCIQ6gjqBY0WCU4E6jiSEVoQXhVmGFYF0gimMS4cGhgYRHoEPDyeCIh6Bbh4uAYhCAQEB X-IronPort-AV: E=Sophos;i="5.22,521,1449529200"; d="scan'208,217";a="205109957" Received: from mail-lb0-f177.google.com ([209.85.217.177]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 29 Feb 2016 19:37:54 +0100 Received: by mail-lb0-f177.google.com with SMTP id ed16so7295695lbb.0 for ; Mon, 29 Feb 2016 10:37:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ieee-org.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=tjh4GydEgcDhj1NoiTCtQhRLQcmZrbLbX2SPJvx5iDs=; b=nTtLwrdcM3vBPuxpCWgO6TNS52/eyt0G52vLwhtW2ZWSiTHQvI84UUmWtFFmHQC8u/ P+P2dLjPzO56pI8dzXxu80BTmWpO2lKFeWwaKJd0oz/44PCZDN3gb7LH6xDigE5KgOCW ytbmBV4J+x7qehB6X+Z4Xma+5MJp5MZYnAtDLRBNe15WPRDR+j6YTAp0ENqRkUaQJJNk YOnlKiookX84JmNJmdnMJM9RxersLYII3j7SWyw3RN+rFgQu/5KS2Y4mauNdpV5ahB6/ otPJcKrW+YyC2xhWj+WdWQl6oU+LxpA1B4r1UN2GEiIGBxtIMyXJlz8qaxJD99zjje3m RyHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc; bh=tjh4GydEgcDhj1NoiTCtQhRLQcmZrbLbX2SPJvx5iDs=; b=FtwM7Z/t00S3NLsCx/OIz6WkRuQdTK+qSLfJ/9nd24hN+Q1huUZYNCeWdBs7sEI5q/ gjIytGa6gtN4Rquzc/qXWeUmoExaIoMtbP2n5hHmCXdi9bhgKyvZeg2eIvG7KZcYsLUF 2AxDSbRaXtJsbVoqD+rr/BROTRzA49mW0BFwk3UKmik/om5GngRPatHMZQCDvOMLlUuo JgviGpT4rPwgTF/PkBvxsiGvcvskCzdn1ahLrnjUVZnUGA02+sfzsZTjdVplCs05vKvz zjxDcf+49leo4i5SqW7TojosEQ9O8XtZwrSNuKs7sPwFBMTe5VtqhO08KN4GsDlNzCgL K96Q== X-Gm-Message-State: AD7BkJIG8FQdCSnnYYeP+qWRED0UW6m5WmpR6bPVFdRA42TrLBzjMe80hjlh2w8zzOj37SrErqS6r8gm76dGtC4h MIME-Version: 1.0 X-Received: by 10.112.163.162 with SMTP id yj2mr6167167lbb.141.1456771073893; Mon, 29 Feb 2016 10:37:53 -0800 (PST) Received: by 10.114.180.161 with HTTP; Mon, 29 Feb 2016 10:37:53 -0800 (PST) In-Reply-To: References: Date: Mon, 29 Feb 2016 13:37:53 -0500 Message-ID: From: Ivan Gotovchits To: Anton Bachin Cc: OCaml users Content-Type: multipart/alternative; boundary=089e01182da0610c99052cecf2a7 Subject: Re: [Caml-list] =?UTF-8?Q?=5BANN=5D_Namespaces_=E2=80=93_sensible?= =?UTF-8?Q?_file_naming_for_OCaml_projects?= --089e01182da0610c99052cecf2a7 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi Anton! It is a great project! But nowadays I always want to know, does it work with merlin? Regards, Ivan On Mon, Feb 29, 2016 at 11:40 AM, Anton Bachin wrote: > Hello, > > I would like to announce the release of Namespaces, an Ocamlbuild plugin > that > gives your project logical nested modules based on its directory layout, > as is > common in the build systems of many other languages. > > So, src/server/foo.ml becomes Server.Foo, and src/client/foo.ml becomes > Client.Foo. There is no conflict between the two foo.ml files, and thus > no need > to call them server_foo.ml and client_foo.ml. > > The project page and documentation can be found here: > > https://github.com/aantron/namespaces > > Namespaces works, but it abuses Ocamlbuild heavily, so there may be many > corner > cases that are not yet addressed well. Bug reports are very much welcome. > If > something can=E2=80=99t be fixed by changing Namespaces, perhaps Namespac= es will > be a > good point of discussion for updating Ocamlbuild itself, or other OCaml > tooling. > > > Regards and enjoy, > Anton > > > P.S. How is Ocamlbuild spelled? I have seen it as Ocamlbuild, OCamlbuild > (which > stands to reason), and ocamlbuild in monospace font, in the original > manual. > --089e01182da0610c99052cecf2a7 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

Hi Anton!

It is a = great project!

But nowadays I always want to know, does = it work with merlin?

Regards,
Ivan
=

On Mon, Feb= 29, 2016 at 11:40 AM, Anton Bachin <antronbachin@gmail.com> wrote:
Hello,

I would like to announce = the release of Namespaces, an Ocamlbuild plugin that
gives your p= roject logical nested modules based on its directory layout, as is
common in the build systems of many other languages.

=
So, src/server/foo.m= l becomes Server.Foo, and src/client/foo.ml becomes
Client.Foo. There is no conflict b= etween the two foo.ml files= , and thus no need
to call them server_foo.ml and client_foo.ml.

The project pag= e and documentation can be found here:


Namespaces works, b= ut it abuses Ocamlbuild heavily, so there may be many corner
case= s that are not yet addressed well. Bug reports are very much welcome. If
something can=E2=80=99t be fixed by changing Namespaces, perhaps Na= mespaces will be a
good point of discussion for updating Ocamlbui= ld itself, or other OCaml tooling.


= Regards and enjoy,
Anton


=
P.S. How is Ocamlbuild spelled? I have seen it as Ocamlbuild, OCamlbui= ld (which
stands to reason), and ocamlbuild in monospace font, in= the original manual.

--089e01182da0610c99052cecf2a7--