{"action":"created","issue":{"url":"https://api.github.com/repos/Soostone/katip/issues/7","repository_url":"https://api.github.com/repos/Soostone/katip","labels_url":"https://api.github.com/repos/Soostone/katip/issues/7/labels{/name}","comments_url":"https://api.github.com/repos/Soostone/katip/issues/7/comments","events_url":"https://api.github.com/repos/Soostone/katip/issues/7/events","html_url":"https://github.com/Soostone/katip/issues/7","id":140786407,"number":7,"title":"Lens dependency suggestion","user":{"login":"andrewthad","id":5332484,"avatar_url":"https://avatars.githubusercontent.com/u/5332484?v=3","gravatar_id":"","url":"https://api.github.com/users/andrewthad","html_url":"https://github.com/andrewthad","followers_url":"https://api.github.com/users/andrewthad/followers","following_url":"https://api.github.com/users/andrewthad/following{/other_user}","gists_url":"https://api.github.com/users/andrewthad/gists{/gist_id}","starred_url":"https://api.github.com/users/andrewthad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andrewthad/subscriptions","organizations_url":"https://api.github.com/users/andrewthad/orgs","repos_url":"https://api.github.com/users/andrewthad/repos","events_url":"https://api.github.com/users/andrewthad/events{/privacy}","received_events_url":"https://api.github.com/users/andrewthad/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"MichaelXavier","id":15840,"avatar_url":"https://avatars.githubusercontent.com/u/15840?v=3","gravatar_id":"","url":"https://api.github.com/users/MichaelXavier","html_url":"https://github.com/MichaelXavier","followers_url":"https://api.github.com/users/MichaelXavier/followers","following_url":"https://api.github.com/users/MichaelXavier/following{/other_user}","gists_url":"https://api.github.com/users/MichaelXavier/gists{/gist_id}","starred_url":"https://api.github.com/users/MichaelXavier/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MichaelXavier/subscriptions","organizations_url":"https://api.github.com/users/MichaelXavier/orgs","repos_url":"https://api.github.com/users/MichaelXavier/repos","events_url":"https://api.github.com/users/MichaelXavier/events{/privacy}","received_events_url":"https://api.github.com/users/MichaelXavier/received_events","type":"User","site_admin":false},"milestone":null,"comments":4,"created_at":"2016-03-14T20:19:51Z","updated_at":"2016-03-15T13:15:03Z","closed_at":null,"body":"I'm not a user of this library, just someone who saw it on reddit and decided to take a look. So, this is really just a suggestion that you can feel free to disregard. I noticed that `katip` depends on `lens` and `lens-aeson`. From a cursory glance, I can see that `lens` is used for a traversal somewhere and for generating lenses with template haskell. I'm not sure where `lens-aeson` is being used. Anyway, if your  use of these two is light enough, you may want to consider avoiding their use in `katip` itself (and just writing the lenses you provide by hand instead of using TH).That would make it a lighter install for users who don't need `lens`, and it would require less upper bound bumping as `lens` gets updated."},"comment":{"url":"https://api.github.com/repos/Soostone/katip/issues/comments/196811963","html_url":"https://github.com/Soostone/katip/issues/7#issuecomment-196811963","issue_url":"https://api.github.com/repos/Soostone/katip/issues/7","id":196811963,"user":{"login":"andrewthad","id":5332484,"avatar_url":"https://avatars.githubusercontent.com/u/5332484?v=3","gravatar_id":"","url":"https://api.github.com/users/andrewthad","html_url":"https://github.com/andrewthad","followers_url":"https://api.github.com/users/andrewthad/followers","following_url":"https://api.github.com/users/andrewthad/following{/other_user}","gists_url":"https://api.github.com/users/andrewthad/gists{/gist_id}","starred_url":"https://api.github.com/users/andrewthad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andrewthad/subscriptions","organizations_url":"https://api.github.com/users/andrewthad/orgs","repos_url":"https://api.github.com/users/andrewthad/repos","events_url":"https://api.github.com/users/andrewthad/events{/privacy}","received_events_url":"https://api.github.com/users/andrewthad/received_events","type":"User","site_admin":false},"created_at":"2016-03-15T13:15:03Z","updated_at":"2016-03-15T13:15:03Z","body":"@MichaelXavier I've put of a branch that goes further and removes the microlens dependency as well: https://github.com/andrewthad/katip/commit/c30b2bcd4938688350344bb8cea27bba8eb67983\r\n\r\nI don't know anything about the issue that @mightybyte raises. My thoughts on microlens for this use-case are that `katip` doesn't internally make enough use of lenses and traversals to justify the dependency. They only really start be become more concise when you've got structures that are somewhat deeply nested.\r\n\r\nAlso, one practical advantage of hand-writing the lenses instead of using `mkLenses` is that you get nicer docs. You can add haddocks to them, and you don't get the `forall a.`. I've added example haddocks to the ones I wrote, although these obviously would need to be changed because I don't actually know how to describe what they do."}}