Hacker News new | ask | show | jobs
by dllthomas 4090 days ago
This seems deeply confusing, and possibly deeply confused. Something that has arrows coming in and going out we call an object. We call the arrows morphisms. Every "a" in (+) :: Num a => a -> a -> a has an arrow going in and/or coming out. It seems unhelpful to say "plus composes functions".
1 comments

I agree I'm a bit confused there, namely in that the maps are not contained in the objects, but as you said, are in the arrows themselves.

So (>>) contains a map that in its Nothing index has the lambda (\x -> Nothing >> x). You're right.

And yes, it is unhelpful to say plus composes functions. However, that is indeed what it does in the abstract world that Haskell pretends to be modelling - numbers (Church numerals) are functions and the arithmetic operators combine those functions. So, while unhelpful, it is not wrong, and saying it isn't so will confuse beginners that have done those "numbers from lambdas" exercises.