Hacker News new | ask | show | jobs
by daneel 3565 days ago
API in this case refers to it's original meaning, that is, the interface that is available on a specific "class" of objects. Here, the "class" of objects are mimicking haskell like typeclasses.

The chart on the fantasy-land github page demonstrates the interfaces available on each typeclass. For instance, a Maybe is a functor, so it has the map interface. It's also a Monad so it has the chain interface.

Unfortunately, API is a loaded term and I think the author doesn't do a good job differentiating from the common usage of the term.

1 comments

Even in that meaning, it still doesn't make sense. Say there was an abstracted twitter standard defined in an RFC, and a library was provided for interacting with it. There is no Twitter(tm), just implementations of the twitter RFC.

Even then, I need to know what the names of the properties are that I have to provide to the fantasy-land-compliant-whatever. Being an expert in fantasy land doesn't tell me that "message" is the property that contains the body of the twitter-compliant message. I still need an api.