{"action":"created","issue":{"url":"https://api.github.com/repos/QuantEcon/BasisMatrices.jl/issues/11","repository_url":"https://api.github.com/repos/QuantEcon/BasisMatrices.jl","labels_url":"https://api.github.com/repos/QuantEcon/BasisMatrices.jl/issues/11/labels{/name}","comments_url":"https://api.github.com/repos/QuantEcon/BasisMatrices.jl/issues/11/comments","events_url":"https://api.github.com/repos/QuantEcon/BasisMatrices.jl/issues/11/events","html_url":"https://github.com/QuantEcon/BasisMatrices.jl/issues/11","id":185244749,"number":11,"title":"[CLOSED] Type definitions","user":{"login":"spencerlyon2","id":1001948,"avatar_url":"https://avatars.githubusercontent.com/u/1001948?v=3","gravatar_id":"","url":"https://api.github.com/users/spencerlyon2","html_url":"https://github.com/spencerlyon2","followers_url":"https://api.github.com/users/spencerlyon2/followers","following_url":"https://api.github.com/users/spencerlyon2/following{/other_user}","gists_url":"https://api.github.com/users/spencerlyon2/gists{/gist_id}","starred_url":"https://api.github.com/users/spencerlyon2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spencerlyon2/subscriptions","organizations_url":"https://api.github.com/users/spencerlyon2/orgs","repos_url":"https://api.github.com/users/spencerlyon2/repos","events_url":"https://api.github.com/users/spencerlyon2/events{/privacy}","received_events_url":"https://api.github.com/users/spencerlyon2/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-10-25T21:55:59Z","updated_at":"2016-10-25T21:55:59Z","closed_at":null,"body":"<a href=\"https://github.com/matthieugomez\"><img src=\"https://avatars.githubusercontent.com/u/6223837?v=3\" align=\"left\" width=\"96\" height=\"96\" hspace=\"10\"></img></a> **Issue by [matthieugomez](https://github.com/matthieugomez)**\n_Friday Jul 31, 2015 at 18:37 GMT_\n_Originally opened as https://github.com/QuantEcon/CompEcon.jl/issues/11_\n\n----\n\nNot an issue per se, but I have two questions about the way you define types:\r\n- Why do you use immutable types? It sounds like immutable types are passed by values, which does not sound efficient. From the documentation:\r\n\r\n   \" An object with an immutable type is passed around (both in assignment statements and in function calls) by copying, whereas a mutable type is passed around by reference.\"\r\n- I think the documentation advises to avoid abstract types in field definitions.\r\nhttp://julia.readthedocs.org/en/latest/manual/faq/#how-do-abstract-or-ambiguous-fields-in-types-interact-with-the-compiler. \n"},"comment":{"url":"https://api.github.com/repos/QuantEcon/BasisMatrices.jl/issues/comments/256188197","html_url":"https://github.com/QuantEcon/BasisMatrices.jl/issues/11#issuecomment-256188197","issue_url":"https://api.github.com/repos/QuantEcon/BasisMatrices.jl/issues/11","id":256188197,"user":{"login":"spencerlyon2","id":1001948,"avatar_url":"https://avatars.githubusercontent.com/u/1001948?v=3","gravatar_id":"","url":"https://api.github.com/users/spencerlyon2","html_url":"https://github.com/spencerlyon2","followers_url":"https://api.github.com/users/spencerlyon2/followers","following_url":"https://api.github.com/users/spencerlyon2/following{/other_user}","gists_url":"https://api.github.com/users/spencerlyon2/gists{/gist_id}","starred_url":"https://api.github.com/users/spencerlyon2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spencerlyon2/subscriptions","organizations_url":"https://api.github.com/users/spencerlyon2/orgs","repos_url":"https://api.github.com/users/spencerlyon2/repos","events_url":"https://api.github.com/users/spencerlyon2/events{/privacy}","received_events_url":"https://api.github.com/users/spencerlyon2/received_events","type":"User","site_admin":false},"created_at":"2016-10-25T21:55:59Z","updated_at":"2016-10-25T21:55:59Z","body":"<a href=\"https://github.com/spencerlyon2\"><img src=\"https://avatars.githubusercontent.com/u/1001948?v=3\" align=\"left\" width=\"48\" height=\"48\" hspace=\"10\"></img></a> **Comment by [spencerlyon2](https://github.com/spencerlyon2)**\n_Friday Jul 31, 2015 at 18:39 GMT_\n\n----\n\n- I'm under the impression that using immutable types can only help make your code faster. I'll have to look into inefficiencies when passing them around.\r\n\r\n- You are spot on with avoiding abstract types in field definitions. I still need to comb through the type system another time with two main goals in mind: 1. reduce reliance on abstract types and 2. reduce type instability (this is a _big_ performance killer and is quite prevalent in this code)\n"}}
{"actor":{"display_login":"spencerlyon2"}}