Decoder["application/json".type, A]
instances, an XML library could provide Decoder["application/xml".type, A]
instances, etc.
"application/json".type
is shorthand for shapeless.Witness.`"application/json"`.T
or whatever technique you're using to refer to the type-level string.)
type CsvDecoder[A] = Decoder[CsvTag, A]
and never even really expose CsvTag
X
".
Decoder
instance for a give content type would have the same type, regardless of the library that implements it
import io.circe.generic.auto._
or by defining an Argonaut instance, but that doesn't (and shouldn't have to) matter to my code.
Decoder
s to work from in-memory strings, or is that just a shortcut?
Node
once and evaluate my expressions on this
Decoder
type class you have in mind, right?
Decoder
becomes generic, something like Decoder[T, A]
where T
is the content type and A
the decoded type, I have no specific companion object in which to put these default instances
Decoder
signature (Decoder[Encoded, Decoded, Tag]
), you already have pretty good odds that different libraries will use different Encoded
types...