caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: David Allsopp <dra-news@metastack.com>
To: "caml-list@inria.fr" <caml-list@inria.fr>
Subject: RE: [Caml-list] automatic extaction of the .mli (and a little more) from the .ml
Date: Tue, 4 Jun 2013 08:54:31 +0000	[thread overview]
Message-ID: <E51C5B015DBD1348A1D85763337FB6D9CC7F492B@Remus.metastack.local> (raw)
In-Reply-To: <51ADA3A8.7070008@frisch.fr>

Alain Frisch wrote:
> On 06/04/2013 09:53 AM, David Allsopp wrote:
> > I have wondered if this problem is perhaps looked at the wrong way
> > around - in other words, the complaint takes the form "how can we
> > export to the .mli file automatically" rather than "how can we
> > *import* from the .ml file automatically". The thing I do find
> > irritating maintaining .mli/.ml files is having to type anything out
> > twice - and for the most part that means fully exported type
> > declarations. Say you have a simple module:
> 
> I'd rather do it the other way around: maintain the type declaration in
> the .mli and import it in the .ml file.

My thinking was that the type declaration is part of the implementation at that point so should be in the .ml file - but actually I agree that it's better to do it the other way around (given that installing .mli files is quite common, for example).
 
> And, guess what, there is also a POC of such a tool in the
> extension_points branch.  It allows you to write in the .ml file:
> 
>    type t = [%copy_typedef]

This is very cool - will have to check out this branch and have a play when I have a moment!


David

  reply	other threads:[~2013-06-04  8:54 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-31  3:43 Francois Berenger
2013-05-31  5:31 ` Malcolm Matalka
2013-05-31  6:26   ` Francois Berenger
2013-05-31  9:10     ` Romain Bardou
2013-06-03  1:33       ` Francois Berenger
2013-06-04  7:53       ` David Allsopp
2013-06-04  8:22         ` Alain Frisch
2013-06-04  8:54           ` David Allsopp [this message]
2013-06-04  8:22         ` Romain Bardou
2013-06-04  9:05           ` David Allsopp
2013-05-31 23:13     ` oliver
2013-06-03  1:28       ` Francois Berenger
2013-06-03 12:01         ` Malcolm Matalka
2013-05-31 15:21   ` [Caml-list] " Hongbo Zhang
2013-05-31 15:42     ` Yaron Minsky
2013-05-31 23:20       ` Jacques Le Normand
2013-06-01  9:12     ` Florent Monnier
2013-06-03 17:12 ` [Caml-list] " Alain Frisch
2013-06-04  0:30   ` Francois Berenger
2013-06-04  8:36     ` Alain Frisch

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E51C5B015DBD1348A1D85763337FB6D9CC7F492B@Remus.metastack.local \
    --to=dra-news@metastack.com \
    --cc=caml-list@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).