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

add mechanism for hiding information across files #314

Open
JonathanAldrich opened this issue Apr 4, 2019 · 3 comments
Open

add mechanism for hiding information across files #314

JonathanAldrich opened this issue Apr 4, 2019 · 3 comments

Comments

@JonathanAldrich
Copy link
Member

Right now signature ascription works well for individual modules. But there's no way to ascribe a signature to multiple modules (e.g. all modules in a package or subdirectory tree) such that they see (some of) each others details but those details are hidden from clients outside the package. This works in the theory, but there is a practical problem that there's no way to specify it right now.

Option 1: ascribe a signature to an entire subdirectory tree

Option 2: have a way of specifying that certain members are hidden outside a particular scope (but visible within that scope). This is really an abbreviation/convenience for doing option 1.

@potanin
Copy link
Member

potanin commented Apr 7, 2019

You are not opening up issues with "hierarchical modules" by stealth by doing this?

@JonathanAldrich
Copy link
Member Author

Kind of! Wyvern's theory derives from that of Standard ML, so it supports hierarchical modules well. The question is, how do you make it work with separate files--without going to a hacky textual import approach?

@JonathanAldrich
Copy link
Member Author

Generally this mechanism should support limited sharing of type/effect definitions (putting this language in because there's a duplicate issue)

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