Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Local, recursive modules #2720

Closed
vicuna opened this issue Jun 15, 2004 · 3 comments
Closed

Local, recursive modules #2720

vicuna opened this issue Jun 15, 2004 · 3 comments
Assignees

Comments

@vicuna
Copy link

vicuna commented Jun 15, 2004

Original bug ID: 2720
Reporter: administrator
Assigned to: @garrigue
Status: closed (set by @garrigue on 2013-07-29T04:06:41Z)
Resolution: not a bug
Priority: normal
Severity: feature
Category: ~DO NOT USE (was: OCaml general)
Related to: #5955
Monitored by: @mmottl cspiel

Bug description

Hi,

as it seems, local modules cannot be recursive. Is this just a matter
of updating the syntax, or are there semantical problems here?

Best regards,
Markus

--
Markus Mottl http://www.oefai.at/~markus markus@oefai.at

@vicuna
Copy link
Author

vicuna commented Jul 28, 2013

Comment author: @garrigue

There is no theoretical reason, but I see at least 2 practical reasons.
First, if you add recursive bindings, you also need parallel bindings.
This gets heavy.
Second, the point about local modules is that they can wrap any kind of definition.
In particular, recursive modules too can be handled that way.

@vicuna
Copy link
Author

vicuna commented Jul 28, 2013

Comment author: @mmottl

This is a really old request. I agree with Jacques that there doesn't seem to be any need for this, since a local or first-class module can contain recursive sub-modules. This request can be closed.

@vicuna
Copy link
Author

vicuna commented Jul 29, 2013

Comment author: @garrigue

Conclusion is that there is no compelling need.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants