{"action":"opened","issue":{"url":"https://api.github.com/repos/FStarLang/FStar/issues/343","labels_url":"https://api.github.com/repos/FStarLang/FStar/issues/343/labels{/name}","comments_url":"https://api.github.com/repos/FStarLang/FStar/issues/343/comments","events_url":"https://api.github.com/repos/FStarLang/FStar/issues/343/events","html_url":"https://github.com/FStarLang/FStar/issues/343","id":104829843,"number":343,"title":"Effect overloading?","user":{"login":"catalin-hritcu","id":5850655,"avatar_url":"https://avatars.githubusercontent.com/u/5850655?v=3","gravatar_id":"","url":"https://api.github.com/users/catalin-hritcu","html_url":"https://github.com/catalin-hritcu","followers_url":"https://api.github.com/users/catalin-hritcu/followers","following_url":"https://api.github.com/users/catalin-hritcu/following{/other_user}","gists_url":"https://api.github.com/users/catalin-hritcu/gists{/gist_id}","starred_url":"https://api.github.com/users/catalin-hritcu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/catalin-hritcu/subscriptions","organizations_url":"https://api.github.com/users/catalin-hritcu/orgs","repos_url":"https://api.github.com/users/catalin-hritcu/repos","events_url":"https://api.github.com/users/catalin-hritcu/events{/privacy}","received_events_url":"https://api.github.com/users/catalin-hritcu/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/FStarLang/FStar/labels/question","name":"question","color":"cc317c"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-09-04T04:47:05Z","updated_at":"2015-09-04T04:47:05Z","closed_at":null,"body":"The tutorial (4.3) claims that we plan to add some form of effect overloading. Is that true?\r\n\r\n>**No parametric polymorphism on effects**: You might hope to give\r\n`map` a very general type, one that accepts a function with any effect\r\n`E` and returns a function with that same effect. This would require a\r\nkind of effect polymorphism, which *F\\* does not support*. This may\r\nlead to some code duplication. We plan to address this by allowing you\r\nto write more than one type for a value, an ad hoc overloading\r\nmechanism.\r\n"}}