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
A functor to produce recursive modules ?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2008-05-22 (22:52)
From: Fabrice Marchant <fabrice.marchant@o...>
Subject: A functor to produce recursive modules ?
Hi !

  Apologize. This topic isnt't exactly at its right place : belongs to Beginners-list.
However no answer about this question there and so much clever people here, a denser traffic...

  Please how to define recursive modules that are parametrized by an OrderedType ?
Say these modules types are Mod and ModSet.
(Because a function f in module Mod uses a Set of Mod)

The problem is I need recursive functors that returns 2 modules.

Waiting for a solution, I bypass the problem in defining a non-recursive functor Mod.Make and a Mod function f that returns a Mod List instead of the wanted Mod Set.

 module StringMod = Mod.Make ( String )

Of course it's then possible to convert the StringMod List to a StringMod Set but a cleaner work would be to write this a single time a general way inside the functor Mod.Make...

Here is an example :

The module 'digraph' holds a Make functor that produces an oriented graph of any OrderedType.

 The function 'search_loops' returns a list of the loops:Digraph found in the Digraph.

Please how to change things to return a _ Set _ of Digraphs instead ?

The manual explains how to define simple recursive modules, but I do not see the way to perform this with parametred modules.

Any light ?