Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] My wishlist: DRY modules
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: brogoff <brogoff@s...>
Subject: Re: [Caml-list] My wishlist: DRY modules
On Wed, 13 Oct 2004, Brian Hurt wrote:
>
> I'm doing some work with modules, and I'm learning some of their
> annoyances.  Number one is having to repeat module type definitions.  For
> example, say you have a file foo.  In foo.mli, you have:

It's annoying, but in the case you describe, just put the signatures
in their own separate file (sigs.ml or whatever), then you refer to them as
Sigs.T, Sigs.S, etc.,  and  you don't need to  repeat them, or change them in
more than one place as you develop. If you do it that way, the annoyance
becomes pretty small.

I think it would be very helpful if you could actually refer to the signature
implied by a .mli file as a signature so as to use include. People have
complained about this before, maybe we'll see it in a future OCaml.

> I wish you didn't have to repeat the module definitions in the module
> file *if* you have a .mli file.

In the case you described, I don't think you have to. If you want to extend a
module like List you need to copy the .mli, which is still an annoyance, and
violates your DRY principle.

Anyways, parameterized module systems like MLs are great.

-- Brian

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners