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

hiding module type items #3012

Closed
vicuna opened this issue Jul 28, 2004 · 2 comments
Closed

hiding module type items #3012

vicuna opened this issue Jul 28, 2004 · 2 comments

Comments

@vicuna
Copy link

vicuna commented Jul 28, 2004

Original bug ID: 3012
Reporter: administrator
Assigned to: @garrigue
Status: confirmed (set by @garrigue on 2016-12-08T08:03:33Z)
Resolution: open
Priority: normal
Severity: feature
Category: typing

Bug description

Full_Name: Evgeny Chukreev
Version:
OS:
Submission from: host134.t3n.sotline.ru (81.1.200.134)

What about 'without' constraint?
It lets to avoid many annoying copy&past issues.

# module type A =
sig
    type t1
    type t2
    [...]
    type tN

    val1 : [...]
    val2 : [...]
    [...]
    valN : [...]

    module m1 : [...]
    module m2 : [...]
    [...]
    module mN : [...]

    module mt1 = [...]
    module mt2 = [...]
    [...]
    module mtN = [...]
end

# module type B = A without val val2
                    without type t2
                    without module m2
                    without module type m2

module type B =
sig
    type t1
    type t3
    [...]
    type tN

    val1 : [...]
    val3 : [...]
    [...]
    valN : [...]

    module m1 : [...]
    module m3 : [...]
    [...]
    module mN : [...]

    module mt1 = [...]
    module mt3 = [...]
    [...]
    module mtN = [...]
end

While excluding of 'value' is easy to implement, there are should be cchecks for
item dependecies inside original module type.

@vicuna
Copy link
Author

vicuna commented Dec 8, 2016

Comment author: @garrigue

Destructive substitutions allow to do this for types and modules, but not for module types.

@github-actions
Copy link

This issue has been open one year with no activity. Consequently, it is being marked with the "stale" label. What this means is that the issue will be automatically closed in 30 days unless more comments are added or the "stale" label is removed. Comments that provide new information on the issue are especially welcome: is it still reproducible? did it appear in other contexts? how critical is it? etc.

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