{"action":"created","issue":{"url":"https://api.github.com/repos/Microsoft/xlang/issues/55","repository_url":"https://api.github.com/repos/Microsoft/xlang","labels_url":"https://api.github.com/repos/Microsoft/xlang/issues/55/labels{/name}","comments_url":"https://api.github.com/repos/Microsoft/xlang/issues/55/comments","events_url":"https://api.github.com/repos/Microsoft/xlang/issues/55/events","html_url":"https://github.com/Microsoft/xlang/issues/55","id":373637754,"node_id":"MDU6SXNzdWUzNzM2Mzc3NTQ=","number":55,"title":"clarify namespace traversal in XDN03 ","user":{"login":"devhawk","id":8965,"node_id":"MDQ6VXNlcjg5NjU=","avatar_url":"https://avatars2.githubusercontent.com/u/8965?v=4","gravatar_id":"","url":"https://api.github.com/users/devhawk","html_url":"https://github.com/devhawk","followers_url":"https://api.github.com/users/devhawk/followers","following_url":"https://api.github.com/users/devhawk/following{/other_user}","gists_url":"https://api.github.com/users/devhawk/gists{/gist_id}","starred_url":"https://api.github.com/users/devhawk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/devhawk/subscriptions","organizations_url":"https://api.github.com/users/devhawk/orgs","repos_url":"https://api.github.com/users/devhawk/repos","events_url":"https://api.github.com/users/devhawk/events{/privacy}","received_events_url":"https://api.github.com/users/devhawk/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"DefaultRyan","id":26174284,"node_id":"MDQ6VXNlcjI2MTc0Mjg0","avatar_url":"https://avatars1.githubusercontent.com/u/26174284?v=4","gravatar_id":"","url":"https://api.github.com/users/DefaultRyan","html_url":"https://github.com/DefaultRyan","followers_url":"https://api.github.com/users/DefaultRyan/followers","following_url":"https://api.github.com/users/DefaultRyan/following{/other_user}","gists_url":"https://api.github.com/users/DefaultRyan/gists{/gist_id}","starred_url":"https://api.github.com/users/DefaultRyan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DefaultRyan/subscriptions","organizations_url":"https://api.github.com/users/DefaultRyan/orgs","repos_url":"https://api.github.com/users/DefaultRyan/repos","events_url":"https://api.github.com/users/DefaultRyan/events{/privacy}","received_events_url":"https://api.github.com/users/DefaultRyan/received_events","type":"User","site_admin":false},"assignees":[{"login":"DefaultRyan","id":26174284,"node_id":"MDQ6VXNlcjI2MTc0Mjg0","avatar_url":"https://avatars1.githubusercontent.com/u/26174284?v=4","gravatar_id":"","url":"https://api.github.com/users/DefaultRyan","html_url":"https://github.com/DefaultRyan","followers_url":"https://api.github.com/users/DefaultRyan/followers","following_url":"https://api.github.com/users/DefaultRyan/following{/other_user}","gists_url":"https://api.github.com/users/DefaultRyan/gists{/gist_id}","starred_url":"https://api.github.com/users/DefaultRyan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DefaultRyan/subscriptions","organizations_url":"https://api.github.com/users/DefaultRyan/orgs","repos_url":"https://api.github.com/users/DefaultRyan/repos","events_url":"https://api.github.com/users/DefaultRyan/events{/privacy}","received_events_url":"https://api.github.com/users/DefaultRyan/received_events","type":"User","site_admin":false}],"milestone":null,"comments":0,"created_at":"2018-10-24T19:18:05Z","updated_at":"2018-10-24T19:39:37Z","closed_at":null,"author_association":"MEMBER","body":"According to XDN03, xlang_get_activation_factory first looks for an activation in a shared library that exactly matches the full type name. I.e. if searching for MyComponent.Feature.Widget, the function will first look for a library MyComponent.Feature.Widget.[dll/so/dylib]. But the implentation in #41 starts by looking for a shared library that matches just the namespace of the type (I.e. MyComponent.Feature.[dll/so/dylib]).\r\n\r\nI'm pretty sure XDN03 is wrong here. Certainly, WinRT not considers only the type namespace when resolving metadata at runtime (a different but still relatated scenario)"},"comment":{"url":"https://api.github.com/repos/Microsoft/xlang/issues/comments/432800254","html_url":"https://github.com/Microsoft/xlang/issues/55#issuecomment-432800254","issue_url":"https://api.github.com/repos/Microsoft/xlang/issues/55","id":432800254,"node_id":"MDEyOklzc3VlQ29tbWVudDQzMjgwMDI1NA==","user":{"login":"BrentRe","id":22179709,"node_id":"MDQ6VXNlcjIyMTc5NzA5","avatar_url":"https://avatars1.githubusercontent.com/u/22179709?v=4","gravatar_id":"","url":"https://api.github.com/users/BrentRe","html_url":"https://github.com/BrentRe","followers_url":"https://api.github.com/users/BrentRe/followers","following_url":"https://api.github.com/users/BrentRe/following{/other_user}","gists_url":"https://api.github.com/users/BrentRe/gists{/gist_id}","starred_url":"https://api.github.com/users/BrentRe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BrentRe/subscriptions","organizations_url":"https://api.github.com/users/BrentRe/orgs","repos_url":"https://api.github.com/users/BrentRe/repos","events_url":"https://api.github.com/users/BrentRe/events{/privacy}","received_events_url":"https://api.github.com/users/BrentRe/received_events","type":"User","site_admin":false},"created_at":"2018-10-24T19:39:37Z","updated_at":"2018-10-24T19:39:37Z","author_association":"MEMBER","body":"The XDN03 approach has some merits. The problem with the WinRT approach is that different parties may develop / contribute different types though they all reside in the same namespace. The WinRT approach requires that the implementations of all such types be merged into in a single dll/so/dylib, typically the namespace library.\r\n\r\nThe XDN03 approach allows, if desired, each independent implementation to reside in it's own shared library. But there are two downsides:\r\n1. When all implementations are in the single namespace library, there will be a wasted probe for the library with the class name.\r\n2. The current design doesn't allow for classes to reside in a dll/so/dynlib that doesn't match the name of the types. It would be useful to arbitrarily map a set of types, in potentially different namespaces, to a single library."}}
{"actor":{"display_login":"BrentRe"}}