{"action":"created","issue":{"url":"https://api.github.com/repos/fantasyland/fantasy-land/issues/140","repository_url":"https://api.github.com/repos/fantasyland/fantasy-land","labels_url":"https://api.github.com/repos/fantasyland/fantasy-land/issues/140/labels{/name}","comments_url":"https://api.github.com/repos/fantasyland/fantasy-land/issues/140/comments","events_url":"https://api.github.com/repos/fantasyland/fantasy-land/issues/140/events","html_url":"https://github.com/fantasyland/fantasy-land/issues/140","id":154292067,"number":140,"title":"Add typescript supports","user":{"login":"mizunashi-mana","id":11599514,"avatar_url":"https://avatars.githubusercontent.com/u/11599514?v=3","gravatar_id":"","url":"https://api.github.com/users/mizunashi-mana","html_url":"https://github.com/mizunashi-mana","followers_url":"https://api.github.com/users/mizunashi-mana/followers","following_url":"https://api.github.com/users/mizunashi-mana/following{/other_user}","gists_url":"https://api.github.com/users/mizunashi-mana/gists{/gist_id}","starred_url":"https://api.github.com/users/mizunashi-mana/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mizunashi-mana/subscriptions","organizations_url":"https://api.github.com/users/mizunashi-mana/orgs","repos_url":"https://api.github.com/users/mizunashi-mana/repos","events_url":"https://api.github.com/users/mizunashi-mana/events{/privacy}","received_events_url":"https://api.github.com/users/mizunashi-mana/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":15,"created_at":"2016-05-11T16:55:29Z","updated_at":"2016-11-30T08:25:01Z","closed_at":"2016-05-11T21:44:14Z","body":"## Suggestions\n- Define TypeScript definition\n- Add them on [DefinitelyTyped](https://github.com/DefinitelyTyped/DefinitelyTyped).\n- Fix existing types supporting fantasy land.\n## Notes\n\nTypeScript can add types without any binding codes.  So, we can support TypeScript just to write type definition codes.\nTypeScript manage definitions on main definitions repository, DefinitelyTyped.\nAlready, some definitions of library supporting fantasy land (parsimmon, tsmonad, etc.) were added.\n\nHowever, the types of each library were defined by some contributors and has some differences...\nI would like you to define TypeScript type signatures of fantasy land for TypeScript and fantasy land user.\n\nThat has good influences for us.\nThanks!\n"},"comment":{"url":"https://api.github.com/repos/fantasyland/fantasy-land/issues/comments/263811950","html_url":"https://github.com/fantasyland/fantasy-land/issues/140#issuecomment-263811950","issue_url":"https://api.github.com/repos/fantasyland/fantasy-land/issues/140","id":263811950,"user":{"login":"paldepind","id":521604,"avatar_url":"https://avatars.githubusercontent.com/u/521604?v=3","gravatar_id":"","url":"https://api.github.com/users/paldepind","html_url":"https://github.com/paldepind","followers_url":"https://api.github.com/users/paldepind/followers","following_url":"https://api.github.com/users/paldepind/following{/other_user}","gists_url":"https://api.github.com/users/paldepind/gists{/gist_id}","starred_url":"https://api.github.com/users/paldepind/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paldepind/subscriptions","organizations_url":"https://api.github.com/users/paldepind/orgs","repos_url":"https://api.github.com/users/paldepind/repos","events_url":"https://api.github.com/users/paldepind/events{/privacy}","received_events_url":"https://api.github.com/users/paldepind/received_events","type":"User","site_admin":false},"created_at":"2016-11-30T08:25:01Z","updated_at":"2016-11-30T08:25:01Z","body":"@tycho01 The problem with these that some of them actually don't work.\r\n\r\nConsider your Functor interface:\r\n\r\n```\r\ninterface Functor<T> {\r\n    map<U>(fn: (t: T) => U): Functor<U>;\r\n}\r\n```\r\n\r\nThis says that `map` can return _any_ functor. This means that after calling `map` on a Functor the _only_ thing you know about the return value is that it is _some_ Functor. I.e. you only know that it has a `map` method. But that is useless so you'll have to cast it.\r\n\r\nWe can't add a proper Functor interface since TypeScript lacks higher kinded types."}}
{"actor":{"display_login":"paldepind"}}