Asad Saeeduddin
Asad Saeeduddin
@safareli Right, but if you can write it so it works with all functors instead of just functions, why not?
@gabejohnson Ah, I wasn't aware of that. I guess `.` satisfies multiple typeclasses. A `compose` function as I have it up there simply fmaps over functors nested N levels deep....
Another nice coincidence I found: implemented datatype agnostically, `Maybe` and `Either` actually have the same instances for functor and monad: ```js const GenericEither = ({ Left, Right, match }) =>...
@davidchambers The former, but with the underlying generic instances also exported (perhaps in a different package) so that the user can interpret their existing data as an instance of these...
Btw, it's possible to entirely automate the process of creating the constructors and `match` in those cases where a user *doesn't* care about the underlying representation. This is just the...
Copying another motivating example I posted in the Gitter; generic lists: ```js const Arr = (() => { const Nil = []; const Cons = head => rest => [head,...
I should note here that Flutures might be one common `Alt` that we wish to use this function with, however after some discussion in the Fluture chatroom it was concluded...
I'll put a longer response here when I have a bit of time, but unfortunately the answer so far is that I don't actually know. I've been reading a lot...
@davidchambers Weird, looks like I edited away the types I just edited in. Here they are: ``` type FoldableWithKey k f = { foldMapWithKey : Monoid m -> (k ->...
I'm actually still a little bit torn about whether it's a better idea to have `foldMapWithKey` and `traverseWithKey` or just: `type WithKey k f = { withKey : f a...