{"action":"created","issue":{"url":"https://api.github.com/repos/haskell/haskell-mode/issues/1086","labels_url":"https://api.github.com/repos/haskell/haskell-mode/issues/1086/labels{/name}","comments_url":"https://api.github.com/repos/haskell/haskell-mode/issues/1086/comments","events_url":"https://api.github.com/repos/haskell/haskell-mode/issues/1086/events","html_url":"https://github.com/haskell/haskell-mode/issues/1086","id":127012553,"number":1086,"title":"[Discussion] Make haskell-indentation external, editor agnostic project ","user":{"login":"arybczak","id":387658,"avatar_url":"https://avatars.githubusercontent.com/u/387658?v=3","gravatar_id":"","url":"https://api.github.com/users/arybczak","html_url":"https://github.com/arybczak","followers_url":"https://api.github.com/users/arybczak/followers","following_url":"https://api.github.com/users/arybczak/following{/other_user}","gists_url":"https://api.github.com/users/arybczak/gists{/gist_id}","starred_url":"https://api.github.com/users/arybczak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arybczak/subscriptions","organizations_url":"https://api.github.com/users/arybczak/orgs","repos_url":"https://api.github.com/users/arybczak/repos","events_url":"https://api.github.com/users/arybczak/events{/privacy}","received_events_url":"https://api.github.com/users/arybczak/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/haskell/haskell-mode/labels/discussion","name":"discussion","color":"cc317c"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-01-16T09:21:33Z","updated_at":"2016-01-16T09:43:18Z","closed_at":null,"body":"Hey,\r\n\r\nI've recently realized that even though haskell-indentation has seen a lot of improvements recently and is quite pleasant to use, there are two fundamental problems:\r\n1) It's emacs specific, so it doesn't benefit anyone who is not an emacs user.\r\n2) It's written in elisp, which creates high entry barrier for newcomers who would want to contribute.\r\n\r\nBoth of these severely reduce the pool of people who would be willing to improve the state of the project. Therefore I wonder if we could benefit from porting haskell-indentation to other language (Haskell seems to be the obvious choice here) and making it an external application so that editors can just pass the code and receive a list of possible indentations to use.\r\n\r\nAny thoughts?"},"comment":{"url":"https://api.github.com/repos/haskell/haskell-mode/issues/comments/172177949","html_url":"https://github.com/haskell/haskell-mode/issues/1086#issuecomment-172177949","issue_url":"https://api.github.com/repos/haskell/haskell-mode/issues/1086","id":172177949,"user":{"login":"geraldus","id":744471,"avatar_url":"https://avatars.githubusercontent.com/u/744471?v=3","gravatar_id":"","url":"https://api.github.com/users/geraldus","html_url":"https://github.com/geraldus","followers_url":"https://api.github.com/users/geraldus/followers","following_url":"https://api.github.com/users/geraldus/following{/other_user}","gists_url":"https://api.github.com/users/geraldus/gists{/gist_id}","starred_url":"https://api.github.com/users/geraldus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/geraldus/subscriptions","organizations_url":"https://api.github.com/users/geraldus/orgs","repos_url":"https://api.github.com/users/geraldus/repos","events_url":"https://api.github.com/users/geraldus/events{/privacy}","received_events_url":"https://api.github.com/users/geraldus/received_events","type":"User","site_admin":false},"created_at":"2016-01-16T09:43:18Z","updated_at":"2016-01-16T09:43:18Z","body":"I had some similar thoughts, however, Emacs provide a way to package authors control various aspects of Emacs behaviour such an indentation, pairs, completions via special variables, e.g. `indent-line-function`, `completion-at-point-function` and etc.  Surely, if you design some major mode you could rely on Emacs default behaviour, but if there is a way to customize this stuff why not to do this?\r\n\r\nOne thing I can say for sure we can not depend on any external tool, *haskell-mode** should be self-sufficient.\r\n\r\nThere is very promising Haskell IDE Engine project and if indentation stuff will be added to it, we could use HIE to handle indentation, but even in this case it should be optional and it would be great to provide some fallback. I think future of HIE is still unclear for now, it may or may not become tool number one for any kind of Haskell workflow. Even if we remove indentation logic from **haskell-mode** we should have some handy customizations.\r\n\r\nOne last point, when I started contributing to **haskell-mode** I had 0 experience in Elisp, but it was super easy to learn it.  I think what we really need is greater number of active people involved in process, I think there are many things we can improve and simplify and make **haskell-mode** more qualitative and outstanding."}}