{"action":"opened","issue":{"url":"https://api.github.com/repos/haskell-servant/servant/issues/483","repository_url":"https://api.github.com/repos/haskell-servant/servant","labels_url":"https://api.github.com/repos/haskell-servant/servant/issues/483/labels{/name}","comments_url":"https://api.github.com/repos/haskell-servant/servant/issues/483/comments","events_url":"https://api.github.com/repos/haskell-servant/servant/issues/483/events","html_url":"https://github.com/haskell-servant/servant/issues/483","id":150652212,"number":483,"title":"Update 'client in 5 minutes' tutorial","user":{"login":"tim-millar","id":5340624,"avatar_url":"https://avatars.githubusercontent.com/u/5340624?v=3","gravatar_id":"","url":"https://api.github.com/users/tim-millar","html_url":"https://github.com/tim-millar","followers_url":"https://api.github.com/users/tim-millar/followers","following_url":"https://api.github.com/users/tim-millar/following{/other_user}","gists_url":"https://api.github.com/users/tim-millar/gists{/gist_id}","starred_url":"https://api.github.com/users/tim-millar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tim-millar/subscriptions","organizations_url":"https://api.github.com/users/tim-millar/orgs","repos_url":"https://api.github.com/users/tim-millar/repos","events_url":"https://api.github.com/users/tim-millar/events{/privacy}","received_events_url":"https://api.github.com/users/tim-millar/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-04-24T11:22:31Z","updated_at":"2016-04-24T11:22:31Z","closed_at":null,"body":"Presently, the code from the tutorial [Write a client library for any web API in 5 minutes](https://haskell-servant.github.io/client-in-5-minutes.html) is broken, at least for some versions of servant-client. It would be good if the code could be updated (to make it version agnostic), the version dependencies made explicit, or the tutorial pulled or flagged as deprecated if you no longer wish to support it. The tutorial also references a directory in the project's GH repo - `servant-examples/hackage` - that no longer exists.\r\n\r\nI recently became interested in Servant. Google brought me to the github pages site, and the 'client in 5 minutes' tutorial was the first that caught my eye. I created a project directory on my system using stack, and copied the code over as I read the tutorial. When it came to build the project, Stack threw errors, because the function `run` was not in scope (I am using LTS 5.13, which uses servant-client-0.4.4.7). I tried to visit the referenced examples folder at the project's GH site to look at the source, but the folder did not exist.\r\n\r\nAfter asking in the #servent IRC channel, I discovered that some versions of servant-client are no longer supported, hence the tutorial itself is somewhat out of date. I also discovered that the code will run if the two references to `run` are simply deleted.\r\n\r\nAs it stands the tutorial is confusing. It is either short of some essential information (such as version dependencies), the code contains a bug (calls to a non-existent function), or it is not quite fit for purpose and readers should be warned that it may not compile as the project no longer supports it. (Although there is a warning at the top of the home page, it is not clear how that relates to the individual tutorials linked beneath.)"}}