{"action":"created","issue":{"url":"https://api.github.com/repos/asajeffrey/linjs/issues/8","repository_url":"https://api.github.com/repos/asajeffrey/linjs","labels_url":"https://api.github.com/repos/asajeffrey/linjs/issues/8/labels{/name}","comments_url":"https://api.github.com/repos/asajeffrey/linjs/issues/8/comments","events_url":"https://api.github.com/repos/asajeffrey/linjs/issues/8/events","html_url":"https://github.com/asajeffrey/linjs/issues/8","id":254318783,"number":8,"title":"Existential polymorphism for compartments","user":{"login":"asajeffrey","id":403333,"avatar_url":"https://avatars1.githubusercontent.com/u/403333?v=4","gravatar_id":"","url":"https://api.github.com/users/asajeffrey","html_url":"https://github.com/asajeffrey","followers_url":"https://api.github.com/users/asajeffrey/followers","following_url":"https://api.github.com/users/asajeffrey/following{/other_user}","gists_url":"https://api.github.com/users/asajeffrey/gists{/gist_id}","starred_url":"https://api.github.com/users/asajeffrey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/asajeffrey/subscriptions","organizations_url":"https://api.github.com/users/asajeffrey/orgs","repos_url":"https://api.github.com/users/asajeffrey/repos","events_url":"https://api.github.com/users/asajeffrey/events{/privacy}","received_events_url":"https://api.github.com/users/asajeffrey/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2017-08-31T12:33:47Z","updated_at":"2017-10-10T18:49:03Z","closed_at":null,"author_association":"OWNER","body":"If we want to do something like track all the currently active windows, we need a way to existentially bind a compartment. Something like:\r\n```rust\r\n    struct WindowUnwrapper ();\r\n    type WrappedWindow = Wrapped<WindowUnwrapper>;\r\n    impl Unwrapper<'a, C> for WindowUnwrapper {\r\n        type Unwrapped = Window<'a, C>;\r\n        fn unwrap(window: Window<'a, C>) { ... }\r\n    }\r\n    ...\r\n    let window: Window<'b, D>= ...;\r\n    let wrapped: WrappedWindow = Wrapped::new(window);\r\n    wrapped.unwrap(WindowUnwrapper); // Calls WindowUnwrapper::unwrap(window)\r\n```\r\nThe question is can we do this without higher-kinded types?"},"comment":{"url":"https://api.github.com/repos/asajeffrey/linjs/issues/comments/335571146","html_url":"https://github.com/asajeffrey/linjs/issues/8#issuecomment-335571146","issue_url":"https://api.github.com/repos/asajeffrey/linjs/issues/8","id":335571146,"user":{"login":"asajeffrey","id":403333,"avatar_url":"https://avatars1.githubusercontent.com/u/403333?v=4","gravatar_id":"","url":"https://api.github.com/users/asajeffrey","html_url":"https://github.com/asajeffrey","followers_url":"https://api.github.com/users/asajeffrey/followers","following_url":"https://api.github.com/users/asajeffrey/following{/other_user}","gists_url":"https://api.github.com/users/asajeffrey/gists{/gist_id}","starred_url":"https://api.github.com/users/asajeffrey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/asajeffrey/subscriptions","organizations_url":"https://api.github.com/users/asajeffrey/orgs","repos_url":"https://api.github.com/users/asajeffrey/repos","events_url":"https://api.github.com/users/asajeffrey/events{/privacy}","received_events_url":"https://api.github.com/users/asajeffrey/received_events","type":"User","site_admin":false},"created_at":"2017-10-10T18:49:03Z","updated_at":"2017-10-10T18:49:03Z","author_association":"OWNER","body":"We now have classes, so we can do this without HKT.\r\n"}}
{"actor":{"display_login":"asajeffrey"}}