{"action":"created","issue":{"url":"https://api.github.com/repos/ozra/onyx-lang/issues/72","repository_url":"https://api.github.com/repos/ozra/onyx-lang","labels_url":"https://api.github.com/repos/ozra/onyx-lang/issues/72/labels{/name}","comments_url":"https://api.github.com/repos/ozra/onyx-lang/issues/72/comments","events_url":"https://api.github.com/repos/ozra/onyx-lang/issues/72/events","html_url":"https://github.com/ozra/onyx-lang/issues/72","id":144354526,"number":72,"title":"Interfaces","user":{"login":"stugol","id":1113153,"avatar_url":"https://avatars.githubusercontent.com/u/1113153?v=3","gravatar_id":"","url":"https://api.github.com/users/stugol","html_url":"https://github.com/stugol","followers_url":"https://api.github.com/users/stugol/followers","following_url":"https://api.github.com/users/stugol/following{/other_user}","gists_url":"https://api.github.com/users/stugol/gists{/gist_id}","starred_url":"https://api.github.com/users/stugol/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stugol/subscriptions","organizations_url":"https://api.github.com/users/stugol/orgs","repos_url":"https://api.github.com/users/stugol/repos","events_url":"https://api.github.com/users/stugol/events{/privacy}","received_events_url":"https://api.github.com/users/stugol/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-03-29T18:53:52Z","updated_at":"2016-03-29T21:41:42Z","closed_at":null,"body":"Any plan to implement interfaces (a la COM or various other languages)? Also known as pure virtual base classes in C++.\r\n\r\nThe need for interfaces is not entirely mitigated by modules and mixins. Sometimes you want to restrict an argument by functionality, but allow the implementation to vary. Values of type `Enumerable` contain the _code_ of the `Enumerable` mixin; but interfaces allow the implementation to be defined in the class, not the module."},"comment":{"url":"https://api.github.com/repos/ozra/onyx-lang/issues/comments/203122942","html_url":"https://github.com/ozra/onyx-lang/issues/72#issuecomment-203122942","issue_url":"https://api.github.com/repos/ozra/onyx-lang/issues/72","id":203122942,"user":{"login":"ozra","id":563674,"avatar_url":"https://avatars.githubusercontent.com/u/563674?v=3","gravatar_id":"","url":"https://api.github.com/users/ozra","html_url":"https://github.com/ozra","followers_url":"https://api.github.com/users/ozra/followers","following_url":"https://api.github.com/users/ozra/following{/other_user}","gists_url":"https://api.github.com/users/ozra/gists{/gist_id}","starred_url":"https://api.github.com/users/ozra/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ozra/subscriptions","organizations_url":"https://api.github.com/users/ozra/orgs","repos_url":"https://api.github.com/users/ozra/repos","events_url":"https://api.github.com/users/ozra/events{/privacy}","received_events_url":"https://api.github.com/users/ozra/received_events","type":"User","site_admin":false},"created_at":"2016-03-29T21:41:42Z","updated_at":"2016-03-29T21:41:42Z","body":"What about a trait (which \"type-partials\" are called in Onyx, that you mixin) with all functions defined as abstract? Then they have to be implemented in the type."}}