In light of all the recent decisions made, I've decided to wind down activity here now. I can't use this platform in good conscience, and will be moving to Mastodon. You can find me at @[email protected]. Peace ✌️ https://t.co/Z0YyM5Jljq
A new Haskell coverage report tool is ready to try out!
https://t.co/xoopLX1cwX
If you've been looking forward to try it, please have a look. I would be happy with any feedback.
@mpeytonjones@typed_hole This might sound like I'm just moving the goal posts, but there are plenty of cases where there isn't an obvious API/library that you can extract. In that case I keep it internal
@mpeytonjones@typed_hole A user does care - the compiler! I don't think in terms of only the end-user of the whole product. A compiler is really acting like a controller, delegating work to subcomponents and then aggregating - it really doesn't do a huge amount. foo-ir sounds like a good library.
@mpeytonjones@typed_hole My personal take is biased to the first point though. If testing this composite becomes too difficult I take a step back and work out what change would make testing easier. Exposing all sub-parts is usually the answer answer, but not necessarily the best one.
@kosmikus@tomjaguarpaw Because it's not at all obvious what the intent of the call is. It's like using `id` for `traverse`. That said, perhaps there's a contribution of `traverseLens = toLensVL`?
I'm exploring replacing a project's use of "lens" with "optics". Does anyone know how I traverse over a lens (not a traversal)? In lens this is `traverseOf`, but `traverseOf` in optics requires `Applicative f` (but `Functor f` is enough).