Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
[Caml-list] recursive modules
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2003-05-05 (12:20)
From: John Max Skaller <skaller@o...>
Subject: Re: [Caml-list] recursive modules
Xavier Leroy wrote:

> Since the issue of recursive modules has (again) popped up on this
> list, it seems that now is a good time to announce an experimental
> design and implementation for recursive modules in OCaml that I've
> been working on lately.  

> What this extension provides is a "module rec ... and ..." binding
> that allows the definition of mutually-recursive modules within the
> same compilation units.  Recursion between compilation units is a
> different problem that is not adressed yet.  

> Comments and feedback are most welcome, as long as they are of the
> constructive kind.

An interim hack may give the appearance of "almost" separate

compilation: require mutually recursive modules in separate
files be compiled together on the one command line:

ocamlc -bb -eb

[where -bb and -eb mean begin and end brackets]

and, well, simply concatenate them after adding
wrapper code:

	// file: generated
	module file1 = struct
	module file2 = struct

where file12 is implicitly opened.

This isn't separate compilation, but it does allow
something almost more important (since ocaml is so
fast, who cares about separate compilation anyhow?):
it allows breaking up long files into several
smaller ones.

John Max Skaller,
snail:10/1 Toxteth Rd, Glebe, NSW 2037, Australia.

To unsubscribe, mail Archives:
Bug reports: FAQ:
Beginner's list: