A quick Googling suggests Data.Aeson [1] is the popular library in Haskell land. Does it rank better on what I was hoping for (succinctness, ease of use)? If yes, would it be reachable within Elm, or are some Haskell constructs missing in Elm to achieve a similar experience?
[1] https://hackage.haskell.org/package/aeson-0.6.1.0/docs/Data-...
https://github.com/codygman/concise-json-parsing-in-haskell/...
Please give feedback if you don't mind. I'd also like to wait a bit before officially sharing with wider audiences then this comment gets.
Keep in mind that part one is "haskell/lens as explicit as possible" which is why I suggested looking at part two to draw conclusions.
Edit: just looked at elm decoder pipeline and it looks very similar to aeson.
The key difference with Aeson is this line:
> deriving (Generic, Show)
Because of this, it's not necessary in that example to even write the JSON decoder manually. The compiler can generate it on its own. I don't personally know of any way to achieve this in Elm, as Elm doesn't have typeclasses and what's effectively happening here is that an instance of the FromJSON typeclass is being computed by the compiler.
A very similar trick is possible in PureScript:
noredink's json-decode-pipeline [1] seems better than what Elm offers out of the box, but it still feels like a lot of ceremony for something mundane. People building webapps [2] to help users generate boilerplate code seems like a hint something's wrong, isn't it?
[1] https://github.com/NoRedInk/elm-decode-pipeline
[2] http://noredink.github.io/json-to-elm/