3 ms·
Disclaimer: I'm currently learning CT (basics), so I'm not really qualified to give an answer yet. My impression so far is that CT teaches you a set of orthogo
by kaeluka 10y ago
Disclaimer: I'm currently learning CT (basics), so I'm not really qualified to give an answer yet.
My impression so far is that CT teaches you a set of orthogonal abstractions (call them patterns if you like) that will allow you to talk about ideas very precisely. To some degree, being able to talk about ideas makes it easier to have new ones.
In yesterday's lecture, we learned about products (think: tuple types) in CT, and of course their definition is more abstract than that. Now I know that other things can be products, too -- and next time I'll see one of them, I'll try thinking of that as a tuple.
Additionally, next time we'll flip the arrows in the diagram and talk about co-products. Then, the knowledge I have from yesterday, and the knowledge I have from a few lectures back (that you can flip arrows) will be composed to produce new knowledge.
Compared to haskell, category theory is free of practical limitations, and you work with graphical models, not code.
Both of these are advantages, IMO.
Also, CT is quite beautiful in a way I can't describe.
- kaeluka 10y agoAnother thing I understood yesterday (somewhat) is how injective and surjective functions are related. This has been bugging me since high school -- they seemed "too different to be opposites", but they should've been opposites. CT has a very simple graphical representation of how the two are, in fact, opposites and my life is richer for it :-)