{"action":"created","issue":{"url":"https://api.github.com/repos/DrBoolean/mostly-adequate-guide/issues/62","labels_url":"https://api.github.com/repos/DrBoolean/mostly-adequate-guide/issues/62/labels{/name}","comments_url":"https://api.github.com/repos/DrBoolean/mostly-adequate-guide/issues/62/comments","events_url":"https://api.github.com/repos/DrBoolean/mostly-adequate-guide/issues/62/events","html_url":"https://github.com/DrBoolean/mostly-adequate-guide/issues/62","id":95811523,"number":62,"title":"Expound on functor map type signature","user":{"login":"mikehaertl","id":675062,"avatar_url":"https://avatars.githubusercontent.com/u/675062?v=3","gravatar_id":"","url":"https://api.github.com/users/mikehaertl","html_url":"https://github.com/mikehaertl","followers_url":"https://api.github.com/users/mikehaertl/followers","following_url":"https://api.github.com/users/mikehaertl/following{/other_user}","gists_url":"https://api.github.com/users/mikehaertl/gists{/gist_id}","starred_url":"https://api.github.com/users/mikehaertl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mikehaertl/subscriptions","organizations_url":"https://api.github.com/users/mikehaertl/orgs","repos_url":"https://api.github.com/users/mikehaertl/repos","events_url":"https://api.github.com/users/mikehaertl/events{/privacy}","received_events_url":"https://api.github.com/users/mikehaertl/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-07-18T10:09:20Z","updated_at":"2015-07-18T15:49:54Z","closed_at":null,"body":"In chapter 8 I found this type signature:\r\n\r\n```\r\nmap :: Functor f => (a -> b) -> f a -> f b\r\n```\r\n\r\nWhile the introductory chapter on Hindley-Milner was easy to follow, I think it doesn't cover the above signature. The problem is the `f a` and `f b` part. What does that mean? `f` multiplied by `a`? Or `f` applied to `a`? Or something else? Maybe you could elaborate on this a little.\r\n\r\nOh, and by the way, thanks for your impressive work so far. It's a joy to read and I like how concise you present the main principles."},"comment":{"url":"https://api.github.com/repos/DrBoolean/mostly-adequate-guide/issues/comments/122557897","html_url":"https://github.com/DrBoolean/mostly-adequate-guide/issues/62#issuecomment-122557897","issue_url":"https://api.github.com/repos/DrBoolean/mostly-adequate-guide/issues/62","id":122557897,"user":{"login":"DrBoolean","id":28562,"avatar_url":"https://avatars.githubusercontent.com/u/28562?v=3","gravatar_id":"","url":"https://api.github.com/users/DrBoolean","html_url":"https://github.com/DrBoolean","followers_url":"https://api.github.com/users/DrBoolean/followers","following_url":"https://api.github.com/users/DrBoolean/following{/other_user}","gists_url":"https://api.github.com/users/DrBoolean/gists{/gist_id}","starred_url":"https://api.github.com/users/DrBoolean/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DrBoolean/subscriptions","organizations_url":"https://api.github.com/users/DrBoolean/orgs","repos_url":"https://api.github.com/users/DrBoolean/repos","events_url":"https://api.github.com/users/DrBoolean/events{/privacy}","received_events_url":"https://api.github.com/users/DrBoolean/received_events","type":"User","site_admin":false},"created_at":"2015-07-18T15:49:54Z","updated_at":"2015-07-18T15:49:54Z","body":"Thanks! Yeah, I'll definitely have to work both type constraints and `f a` into the signature chapter.\r\n\r\nTo elaborate here: `f a` simply means `functor` with an `a` in it like `Maybe(\"test\")` or `IO(2)`."}}