{"action":"created","issue":{"url":"https://api.github.com/repos/keean/traitscript/issues/1","repository_url":"https://api.github.com/repos/keean/traitscript","labels_url":"https://api.github.com/repos/keean/traitscript/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/keean/traitscript/issues/1/comments","events_url":"https://api.github.com/repos/keean/traitscript/issues/1/events","html_url":"https://github.com/keean/traitscript/issues/1","id":177572293,"number":1,"title":"Language Discussion","user":{"login":"keean","id":508384,"avatar_url":"https://avatars.githubusercontent.com/u/508384?v=3","gravatar_id":"","url":"https://api.github.com/users/keean","html_url":"https://github.com/keean","followers_url":"https://api.github.com/users/keean/followers","following_url":"https://api.github.com/users/keean/following{/other_user}","gists_url":"https://api.github.com/users/keean/gists{/gist_id}","starred_url":"https://api.github.com/users/keean/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/keean/subscriptions","organizations_url":"https://api.github.com/users/keean/orgs","repos_url":"https://api.github.com/users/keean/repos","events_url":"https://api.github.com/users/keean/events{/privacy}","received_events_url":"https://api.github.com/users/keean/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":20,"created_at":"2016-09-17T12:07:23Z","updated_at":"2016-09-18T18:54:57Z","closed_at":null,"body":"The idea is to create a simple, compact, symmetrical, typed language for generic programming that compiles to JavaScript. The initial reference is \"Elements of Programming\" by Alexander Stepanov and Paul McJones.\r\n\r\nThe core concept is to have parametric types, type-classes and type-families, along with maybe higher-ranked-types, higher-kinded-types, to enable type-directed generic programming.\r\n\r\nInspiration is from C, C++ Concepts (type safe templates), Haskell, Rust, Eff, and others.\r\n\r\nThis is different from TypeScript, because it is based on type-classes, not classical inheritance, different from PureScript because it allows imperitivity and state.\r\n\r\nThis issue is for the initial design of the language, with other issues being forked as necessary for specific topics like syntax, semantics, type system etc.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/keean/traitscript/issues/comments/247866108","html_url":"https://github.com/keean/traitscript/issues/1#issuecomment-247866108","issue_url":"https://api.github.com/repos/keean/traitscript/issues/1","id":247866108,"user":{"login":"shelby3","id":247731,"avatar_url":"https://avatars.githubusercontent.com/u/247731?v=3","gravatar_id":"","url":"https://api.github.com/users/shelby3","html_url":"https://github.com/shelby3","followers_url":"https://api.github.com/users/shelby3/followers","following_url":"https://api.github.com/users/shelby3/following{/other_user}","gists_url":"https://api.github.com/users/shelby3/gists{/gist_id}","starred_url":"https://api.github.com/users/shelby3/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shelby3/subscriptions","organizations_url":"https://api.github.com/users/shelby3/orgs","repos_url":"https://api.github.com/users/shelby3/repos","events_url":"https://api.github.com/users/shelby3/events{/privacy}","received_events_url":"https://api.github.com/users/shelby3/received_events","type":"User","site_admin":false},"created_at":"2016-09-18T18:54:57Z","updated_at":"2016-09-18T18:54:57Z","body":"@keean wrote:\r\n> which sounds like JavaScript plus enforced classical objects and inheritance\r\n\r\nUntil the find out that virtual inheritance stalls the CPU pipeline and type-classes don't. I think we have tiny change to influence the future. Any way, we should design for performance assuming one day our language will have its own VM and not just compiled to JS. Also we can think about optimizing some parts with ASM.js. I am not sure how this thought process will play out. I am trying to keep my mind open and see where the design constraints lead us.\r\n\r\n> There's nothing about generics or code generation.\r\n\r\nIn the link I provided, they mentioned TypeScript as a possible starting point."}}
{"actor":{"display_login":"shelby3"}}