Browse thread
[Caml-list] recursive modules redux, & interface files
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Hendrik Tews <tews@t...> |
| Subject: | Re: [Caml-list] recursive modules redux, & interface files |
Hi,
I would like to vote for solutions that work for the common case
when writing large programs, even if they are hacks, considered
from a theoretical point of view.
Xavier Leroy writes:
[cross module recursion]
A.mli val x : int B.mli val y : int
A.ml let x = B.y + 1 B.ml let y = A.x * 3
We don't know how to evaluate these definitions correctly -- indeed,
there is no integer solution to this recursive definition.
I think that in this case the theoretical cleaness is overrated.
Cross module recursion of functions is soo useful, that it
should be made to work --- even if the solution seems stupid with
respect to the example above.
[duplications in signatures and structures]
Is the practical value of this kludge enough to forget that it's a
kludge?
Sure.
Can't we live with the current duplication of concrete type
definitions in the name of systematic, principled module systems?
No, at least I cannot. Also here I would suggest to have a
solution that works for the common case. What about changing
include, such that including a signature into a structure
includes all types and all exceptions?
Bye,
Hendrik
-------------------
To unsubscribe, mail caml-list-request@inria.fr. Archives: http://caml.inria.fr