{"action":"created","issue":{"url":"https://api.github.com/repos/julien-truffaut/Monocle/issues/232","labels_url":"https://api.github.com/repos/julien-truffaut/Monocle/issues/232/labels{/name}","comments_url":"https://api.github.com/repos/julien-truffaut/Monocle/issues/232/comments","events_url":"https://api.github.com/repos/julien-truffaut/Monocle/issues/232/events","html_url":"https://github.com/julien-truffaut/Monocle/issues/232","id":98280498,"number":232,"title":"implicit lenses","user":{"login":"drdozer","id":583516,"avatar_url":"https://avatars.githubusercontent.com/u/583516?v=3","gravatar_id":"","url":"https://api.github.com/users/drdozer","html_url":"https://github.com/drdozer","followers_url":"https://api.github.com/users/drdozer/followers","following_url":"https://api.github.com/users/drdozer/following{/other_user}","gists_url":"https://api.github.com/users/drdozer/gists{/gist_id}","starred_url":"https://api.github.com/users/drdozer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drdozer/subscriptions","organizations_url":"https://api.github.com/users/drdozer/orgs","repos_url":"https://api.github.com/users/drdozer/repos","events_url":"https://api.github.com/users/drdozer/events{/privacy}","received_events_url":"https://api.github.com/users/drdozer/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-07-30T22:45:05Z","updated_at":"2015-08-04T11:19:05Z","closed_at":null,"body":"Many of my case-classes have fields that each have unique types. I have a bunch of generic operations over individual fields and I'd like to be able to implicitly lift them over the case class. To do this at the moment, I manually lift them with the lens for the field. However, if the lenses were implicit, I could write this lifting code once and have it discover the right lens implicitly.\r\n\r\nCould we have an option to the lens annotation to make the generated lenses implicit? That would cut out a whole world of biolerplate I'm currently writing. The only other way I can fix it is to manually create the lenses and store them in implicits in the companion object of the case class, but this is also brittle biolerplate."},"comment":{"url":"https://api.github.com/repos/julien-truffaut/Monocle/issues/comments/127568384","html_url":"https://github.com/julien-truffaut/Monocle/issues/232#issuecomment-127568384","issue_url":"https://api.github.com/repos/julien-truffaut/Monocle/issues/232","id":127568384,"user":{"login":"julien-truffaut","id":1859417,"avatar_url":"https://avatars.githubusercontent.com/u/1859417?v=3","gravatar_id":"","url":"https://api.github.com/users/julien-truffaut","html_url":"https://github.com/julien-truffaut","followers_url":"https://api.github.com/users/julien-truffaut/followers","following_url":"https://api.github.com/users/julien-truffaut/following{/other_user}","gists_url":"https://api.github.com/users/julien-truffaut/gists{/gist_id}","starred_url":"https://api.github.com/users/julien-truffaut/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julien-truffaut/subscriptions","organizations_url":"https://api.github.com/users/julien-truffaut/orgs","repos_url":"https://api.github.com/users/julien-truffaut/repos","events_url":"https://api.github.com/users/julien-truffaut/events{/privacy}","received_events_url":"https://api.github.com/users/julien-truffaut/received_events","type":"User","site_admin":false},"created_at":"2015-08-04T11:19:05Z","updated_at":"2015-08-04T11:19:05Z","body":" I don't think generated `Lenses` should be defined as implicit for two reasons:\r\n\r\n*    `@Lenses` is already doing a lot and I would prefer not to complicate it\r\n*     I believe that implicit should be globally unique and reserved to type class instances, `Lens` or other `Optics` are not a type class\r\n\r\nI could be convinced to mark them as implicit if someone can convince me (on the second point in particular)."}}