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 5F3767FB82 for ; Mon, 29 Feb 2016 17:40:30 +0100 (CET) IronPort-PHdr: 9a23:xHiOcBTRSVTxjtB84A+I+R6me9psv+yvbD5Q0YIujvd0So/mwa64YReN2/xhgRfzUJnB7Loc0qyN4/+mBzxLscvJmUtBWaIPfidNsd8RkQ0kDZzNImzAB9muURYHGt9fXkRu5XCxPBsdMs//Y1rPvi/6tmZKSV3BPAZ4bt74BpTVx5zukbvipNuNM04Y2XKUWvBbElaflU3prM4YgI9veO4a6yDihT92QdlQ3n5iPlmJnhzxtY+a9Z9n9DlM6bp6r5YTGfayQ6NtapdRCTBuLns4/taj4RLKSA/K4noHTk0XlABJCk7L9kepcI32t37TsPZ63mGwNMb2TLZ8DT2k871sThXhgycGMRY29WjWjop7i6cN80HpnAB234OBONLdD/F5ZK6IJd4= Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=antronbachin@gmail.com; spf=Pass smtp.mailfrom=antronbachin@gmail.com; spf=None smtp.helo=postmaster@mail-io0-f171.google.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of antronbachin@gmail.com) identity=pra; client-ip=209.85.223.171; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="antronbachin@gmail.com"; x-sender="antronbachin@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of antronbachin@gmail.com designates 209.85.223.171 as permitted sender) identity=mailfrom; client-ip=209.85.223.171; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="antronbachin@gmail.com"; x-sender="antronbachin@gmail.com"; 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-io0-f171.google.com) identity=helo; client-ip=209.85.223.171; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="antronbachin@gmail.com"; x-sender="postmaster@mail-io0-f171.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0BVAABqc9RWlavfVdFehAxtqHEEA4cZjE8XAQWFdoE3OxEBAQEBAQEBARABAQEBBwsLCSEvgi2CLREdARseAxIJBzcCJREBBQEiNYdnAQMSDqB8ggeBMT4xizSBaYJXhHwKGScNUYNcAQEBAQYBAQEBARUBBQoEh3CGa0WCGwstExiBDwWOH4hthVmICYIphm0OhU4CjQwvgQ82giIegW9LiEMBAQE X-IPAS-Result: A0BVAABqc9RWlavfVdFehAxtqHEEA4cZjE8XAQWFdoE3OxEBAQEBAQEBARABAQEBBwsLCSEvgi2CLREdARseAxIJBzcCJREBBQEiNYdnAQMSDqB8ggeBMT4xizSBaYJXhHwKGScNUYNcAQEBAQYBAQEBARUBBQoEh3CGa0WCGwstExiBDwWOH4hthVmICYIphm0OhU4CjQwvgQ82giIegW9LiEMBAQE X-IronPort-AV: E=Sophos;i="5.22,521,1449529200"; d="scan'208,217";a="205094550" Received: from mail-io0-f171.google.com ([209.85.223.171]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 29 Feb 2016 17:40:29 +0100 Received: by mail-io0-f171.google.com with SMTP id l127so192025819iof.3 for ; Mon, 29 Feb 2016 08:40:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:mime-version:subject:message-id:date:to; bh=YyrjFhKM6kt8Iw4B/dj6OnQgerNydPdC6dU3kTSqjP0=; b=Y0exW+20r/Dis5PTNl+qPMgG+UcXVANda4XqCzJJu2pssgp9XvNkFE9yxMWDs9TjOs mZ1BOCqLDkLSD9boN4i696QtXiaxybJm0AO0gJxEdGBJtyxW17b4GRix455hvx/9v3Am msJlmKSqqldzVq1HSOLl4Fgcrkbow1DK/3pbLjkY5whLAEYr5rB3chd/aEX1j+mm0JVd u7CbDYhqy1tNSQApQ+tLfFKf4yhxs2VwHklHTbD54RfMT627IoqJvC2NSBFKyPvJF3zh hCgFpU5ghEAoHEMYVF7UN+3qVhmnvbhWePAxim9uQJzcTK2yLZj4kctLB+1gDkPWV7PY fc1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:mime-version:subject:message-id:date:to; bh=YyrjFhKM6kt8Iw4B/dj6OnQgerNydPdC6dU3kTSqjP0=; b=g+kePnKSFlCkI+rAgbVxmp643iKqpCkvBQrPwryCvGhh4FSepT2ZZpCHi0KuYuhXaf +PN6FiBh73o0EkakCZ/gNlctYJycqSWGQROGBziRWwr//yHV88VJzkfg60CtfGfQL6k0 OP2TnVDdX5swB/XReGjzHIXsAwAFxJRwqH+v8S7XN6XZTOYXwsfz0q8d1w2syQmjAkdb rzGF7MqLIqloZn5oBCsmk8Vzgp6+nWuaxJsREjEbG3U4h5D1NA1k0XfAf9cEaHCeAFPY +RTbXkzy14hV4CHq7ce9a+qWMB9AuN4PFtaEnnOnM2RUUKR2pFu16RhPTwwudy+pEf4L 050w== X-Gm-Message-State: AG10YOQ20sxyvh7YX5oEdiejizWznY3HbZJtcpAkdUZ7QLliGdFZNQ6n1EOJz79XxMiQ8w== X-Received: by 10.107.131.27 with SMTP id f27mr21497432iod.190.1456764028300; Mon, 29 Feb 2016 08:40:28 -0800 (PST) Received: from [192.168.0.10] (c-73-9-77-177.hsd1.il.comcast.net. [73.9.77.177]) by smtp.gmail.com with ESMTPSA id l6sm7070146igv.10.2016.02.29.08.40.27 for (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 29 Feb 2016 08:40:27 -0800 (PST) From: Anton Bachin Content-Type: multipart/alternative; boundary="Apple-Mail=_2DD7D2B6-5CC7-4307-A51D-F42AA27552AB" X-Mao-Original-Outgoing-Id: 478456827.033341-ee414e853359b5a9725eec204bcdbd12 Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2070.6\)) Message-Id: Date: Mon, 29 Feb 2016 10:40:27 -0600 To: OCaml users X-Mailer: Apple Mail (2.2070.6) Subject: [Caml-list] =?UTF-8?Q?=5BANN=5D_Namespaces_=E2=80=93_sensible_fil?= =?UTF-8?Q?e_naming_for_OCaml_projects?= --Apple-Mail=_2DD7D2B6-5CC7-4307-A51D-F42AA27552AB Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Hello, I would like to announce the release of Namespaces, an Ocamlbuild plugin th= at 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 co= rner 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 Namespaces= will be a good point of discussion for updating Ocamlbuild itself, or other OCaml too= ling. Regards and enjoy, Anton P.S. How is Ocamlbuild spelled? I have seen it as Ocamlbuild, OCamlbuild (w= hich stands to reason), and ocamlbuild in monospace font, in the original manual= .= --Apple-Mail=_2DD7D2B6-5CC7-4307-A51D-F42AA27552AB Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8
He= llo,

I would like to announce the release of Namespaces, an Ocamlbuild plu= gin that
gives your project logical nested modules bas= ed 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/cli= ent/foo.ml becomes
Client.Foo. There is no conflict be= tween the two foo.ml files, and thus no need
to call t= hem server_foo.ml and client_foo.ml.

The project page and documentation can be found here:


= Namespaces works, but it abuses Ocamlbuild heavily, so there may be many co= rner
cases that are not yet addressed well. Bug report= s are very much welcome. If
something can=E2=80=99t be= fixed by changing Namespaces, perhaps Namespaces will be a
good point of discussion for updating Ocamlbuild itself, or other OCa= ml tooling.


Regards and enjoy,
Ant= on


P.S. How is Ocamlbuild spelled? I ha= ve seen it as Ocamlbuild, OCamlbuild (which
stands to = reason), and ocamlbuild in monospace font, in the original manual.
= --Apple-Mail=_2DD7D2B6-5CC7-4307-A51D-F42AA27552AB--