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

Metamodel: unreify private members #297

Open
FroMage opened this issue Sep 16, 2013 · 12 comments
Open

Metamodel: unreify private members #297

FroMage opened this issue Sep 16, 2013 · 12 comments
Milestone

Comments

@FroMage
Copy link
Member

FroMage commented Sep 16, 2013

Gavin said we need to remove private stuff from the metamodel, I don't remember what, and I don't remember if that was from both the declarations and the model, but he will know.

@gavinking gavinking mentioned this issue Sep 16, 2013
50 tasks
@FroMage
Copy link
Member Author

FroMage commented Nov 4, 2013

@gavinking before I do something wrong, what's the exact expected behaviour wrt non-shared for modules, packages, types, functions, methods, values, attributes?

@gavinking
Copy link
Member

I'm not sure. I don't quite know what this issue is about.

@FroMage
Copy link
Member Author

FroMage commented Nov 5, 2013

It's exactly about what I've just asked you. I need a specification of which non-shared declarations and models are reified in the metamodel, and which are not.

@gavinking
Copy link
Member

Well if we care about modularity, then we should not expose any non-shared thing via the metamodel, since doing so would give you a very trivial way to simply bypass language-level visibility controls.

@FroMage
Copy link
Member Author

FroMage commented Nov 6, 2013

But bypass language-level visibility controls can also be a good thing.

@FroMage
Copy link
Member Author

FroMage commented Nov 6, 2013

And we can't not expose non-shared types, since they are visible to users via their instances.

@FroMage
Copy link
Member Author

FroMage commented Nov 6, 2013

If I do that now, @chochos will kill me, so I propose to delay until 1.1

@FroMage
Copy link
Member Author

FroMage commented Nov 6, 2013

I don't want to die.

@FroMage
Copy link
Member Author

FroMage commented Nov 6, 2013

I'm too young.

@chochos
Copy link
Member

chochos commented Nov 6, 2013

Actually in JS there is no way to retrieve non-shared top-level stuff at least. I mean you can get the declaration at most, but there's no way you can get to the actual method/type/value. That's why you need to share a top-level function if you want to run it in js.

@FroMage
Copy link
Member Author

FroMage commented Nov 7, 2013

I think we need more time for a discussion so we'll let that slip. In particular non-shared types cannot be invisible in the metamodel, since we can obtain non-shared types from their instances. Also non-shared class parameters should at least be visible as declarations, if not as models.

@FroMage FroMage modified the milestones: 1.2, 1.1 Apr 3, 2014
@FroMage
Copy link
Member Author

FroMage commented Apr 3, 2014

Moving to 1.2

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

3 participants