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] OCaml popularity
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2003-03-16 (18:34)
From: brogoff@s...
Subject: Re: Module recursion (Was Re: [Caml-list] Re: Haskell-like syntax)
Are you sure you agree? I was claiming that I could survive (just barely, 
but the will to live is strong) with the ability to have functor instantiations 
and type declarations be mutually recursive. 

Of the two issues you bring up, I think having the ability to have mutually 
recursive functions across module boundaries is *by far* more important than 
the ability to spread types across module boundaries. We can sort of do it 
now, with references, but we have the same problem as with theworkaround I 
mentioned for "where": reduced polymorphism. 

A few years ago, on this list, in a discussion on polymorphic recursion, Pierre 
Weis mentioned a "forward" construct in an experimental Caml which could be used 
for both PR and module spanning recursive functions. Such a construct seems 

As far as spreading types across module boundaries, I'm content with the status 
quo, but, as always, open to being convinced by examples and well reasoned 
arguments. Do you have compelling examples? I see this a lot in OO languages, 
but I find a lot of what I see there spaghetti data typing. 

-- Brian

On Sat, 15 Mar 2003, Chris Hecker wrote:

> >The most annoying (to me) case where the lack of module recursion is 
> >really hits is the problem of wanting type declarations and functor 
> >instantiations in a recursive relationship. If this problem, which seems 
> >like more of a compilation problem than a typing problem, were fixed, I 
> >don't think I'd care that much about having a general recursive module 
> >facility. I can live with the (admittedly sometimes ugly) workarounds in 
> >other cases where module recursion is desirable. ... That's not to say I 
> >wouldn't like or use a general recursive module feature, but the full 
> >problem seems awfully hard in a (strict, impure) language like ML and I 
> >doubt that I'll see it in OCaml before I retire.
> I agree with this.  If I could just call functions and use types 
> recursively across modules, I'd be 95% satisfied and it would allow 95% of 
> the decoupling needed for large projects, and it's probably only 5% of the 
> work (I think there was a tiny patch that allowed this in an older version 
> of caml).  That would be great.  We don't need the 100% perfect recursion 
> solution to make caml much more useful large projects.  95% now better than 
> 100% never.  :)
> Chris
> -------------------
> To unsubscribe, mail Archives:
> Bug reports: FAQ:
> Beginner's list:

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