{"action":"created","issue":{"url":"https://api.github.com/repos/BobPortmann/IDLCall.jl/issues/4","repository_url":"https://api.github.com/repos/BobPortmann/IDLCall.jl","labels_url":"https://api.github.com/repos/BobPortmann/IDLCall.jl/issues/4/labels{/name}","comments_url":"https://api.github.com/repos/BobPortmann/IDLCall.jl/issues/4/comments","events_url":"https://api.github.com/repos/BobPortmann/IDLCall.jl/issues/4/events","html_url":"https://github.com/BobPortmann/IDLCall.jl/issues/4","id":181001187,"number":4,"title":"Support for Structures","user":{"login":"lstagner","id":4305891,"avatar_url":"https://avatars.githubusercontent.com/u/4305891?v=3","gravatar_id":"","url":"https://api.github.com/users/lstagner","html_url":"https://github.com/lstagner","followers_url":"https://api.github.com/users/lstagner/followers","following_url":"https://api.github.com/users/lstagner/following{/other_user}","gists_url":"https://api.github.com/users/lstagner/gists{/gist_id}","starred_url":"https://api.github.com/users/lstagner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lstagner/subscriptions","organizations_url":"https://api.github.com/users/lstagner/orgs","repos_url":"https://api.github.com/users/lstagner/repos","events_url":"https://api.github.com/users/lstagner/events{/privacy}","received_events_url":"https://api.github.com/users/lstagner/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-10-04T20:50:07Z","updated_at":"2016-10-05T01:13:22Z","closed_at":null,"body":"Now that the install process is pretty much automatic one of the last major shortcomings is the lack of support for IDL structures.\r\n\r\nOnce IDLCall can support structures I think it will be ready for the IDL community."},"comment":{"url":"https://api.github.com/repos/BobPortmann/IDLCall.jl/issues/comments/251557761","html_url":"https://github.com/BobPortmann/IDLCall.jl/issues/4#issuecomment-251557761","issue_url":"https://api.github.com/repos/BobPortmann/IDLCall.jl/issues/4","id":251557761,"user":{"login":"BobPortmann","id":4753968,"avatar_url":"https://avatars.githubusercontent.com/u/4753968?v=3","gravatar_id":"","url":"https://api.github.com/users/BobPortmann","html_url":"https://github.com/BobPortmann","followers_url":"https://api.github.com/users/BobPortmann/followers","following_url":"https://api.github.com/users/BobPortmann/following{/other_user}","gists_url":"https://api.github.com/users/BobPortmann/gists{/gist_id}","starred_url":"https://api.github.com/users/BobPortmann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BobPortmann/subscriptions","organizations_url":"https://api.github.com/users/BobPortmann/orgs","repos_url":"https://api.github.com/users/BobPortmann/repos","events_url":"https://api.github.com/users/BobPortmann/events{/privacy}","received_events_url":"https://api.github.com/users/BobPortmann/received_events","type":"User","site_admin":false},"created_at":"2016-10-05T01:13:21Z","updated_at":"2016-10-05T01:13:21Z","body":"Yes, the structures issue is important but tricky. That is part of the reason I punted on it. The problem is, what should they map to?\r\n\r\n`types` or `immutable`: in some sense this is the closest analog in julia (IDL structures are essentially C structs under the hood and `immutable` is probably closest to that) but `types` are more heavyweight in the sense that they are difficult to add on to. In IDL, I use `create_struct` all the time to add on to structures but on the julia side this would mean making a new `type`. I don't think this is workable.\r\n\r\n`Dict` or `OrderedDict`: this could work but then what would a IDL hash, orderedhash, or dictionary map to? Maybe this is ok, you would just have to say which julia type to map the IDL type to when you `put_var` (and vice-versa). But you would have to copy the data, which is necessary anyway in the `RCP` case anyway.\r\n\r\nCustom `type` based on `Associative`: this could be as simple as a loose wrapper around the OrderedDict code (or copying that code and renaming the type) or a fancier type that used the IDL C structs directly under the hood. In that case the memory could be shared in the Callable case but a copy would still be necessary in the RCP case.\r\n\r\nThoughts?\r\n\r\nps I don't necessarily think we need to wait on this issue to announce IDLCall. It is pretty handy as is. Also, I am going to file several issue that need working on but none of them really have to hold anything up.\r\n"}}
{"actor":{"display_login":"BobPortmann"}}