Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
larve
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
21 ms
·
181.
▲
by
larve
4y ago
Oh gosh, I did in deed make a brainfart, and meant to write "category theory is the mathematics of composition". Thanks for bringing it up!
182.
▲
by
larve
4y ago
C++ fits the bill as well (!) I wager that you can get pretty far with compile-time macros, even as rudimentary as C's, to encoder a fair bit of generic monad machinery.
183.
▲
by
larve
4y ago
I find I get a lot of value out of monads even if the language doesn't expose them. For example, it allows me to quickly draw a single arrow in a big architecture diagram because I know I'll be able to take a list of promises and
184.
▲
by
larve
4y ago
No offense taken, I totally understand that it can come across as odd. I hope my clarification makes more sense. Once I learned more about say, why leibniz and newton came up with their formulations, and what say, the inverse of the squar
185.
▲
by
larve
4y ago
I feel that learning about concepts from category theory is... studying good design. I wouldn't know how to measure my software engineering ability anyway, but I do think I do write better software with that knowledge. Understanding an
186.
▲
by
larve
4y ago
That's how I remember it. I know I had to take calculus twice, but passed analysis the first time. To be fair, this is 20+ years ago and my memory sucks at the best of times. Looking at it now, I think maybe I just found it too boring
187.
▲
by
larve
4y ago
That's one of the books I used when I got back into it. These days, there is so much great material on youtube and edx and coursera (plus maths stackexchange and discords) that it's absolutely fantastic to learn maths, as fantasti
188.
▲
by
larve
4y ago
Calculus (at least our exams and lecture) were so much about "calculating" and applying rules and clever tricks on complex functions and multiple dimensions which just... didn't work for me. I had a lot of other things going
189.
▲
by
larve
4y ago
I'm not entirely sure if that is what you are asking, but for example pure functions from a type A to a type B can be compose with pure functions from a type B to a type C, to form a pure function from A to C. A lot of programmer orien
190.
▲
by
larve
4y ago
Mostly confirm that drawing things as boxes and arrows even though I implement them as folds/monoids (state machines, binary protocol decoders) and implementing the comonoid by "reversing the arrows" (to do log reconstruction
191.
▲
by
larve
4y ago
i skimmed through aluffi, and it is indeed exactly the material I had at university in analysis and algebra, augmented with the category theory angle. this is great, thanks a lot. Now I have to find an affordable copy somewhere. I also like
192.
▲
by
larve
4y ago
Here's a talk I'm chewing on right now: https://www.youtube.com/watch?v=TNtntlVo4LY as with every abstraction, its value is in the value it brings you. That sounds a bit tautological, but I think that's the c
193.
▲
by
larve
4y ago
I studied CS in germany in 1999 and we had "analysis 1+2+3" which I think was a fairly rigorous analysis treatment, I definitely did more than my fair share of proofs. I think that foundation accompanied me through all those years
194.
▲
by
larve
4y ago
Honestly I'm pretty weak in both, but they seem to reflect my intuitions, if that makes sense? I'm nowhere near a working mathematician, and proofs usually bore me. I prefer writing code.
195.
▲
by
larve
4y ago
They're concepts in category theory? Since category theory's goal is to find common abstractions behind concepts from other fields (mathematics or otherwise), it makes sense some of those concepts appear in other fields. Their def
196.
▲
by
larve
4y ago
Which is exactly the concept between optimizing for string concatenation and interning them, ultimately. Sure you can make do with the "algebraic" definition of a monoid, or entirely without it, but that doesn't mean the abst
197.
▲
by
larve
4y ago
my personal favourite: seeing the foldable (a monoid with two types, kind of) in event driven systems means you can model a lot of your embedded software / web applications as a set of functional state/event reducing functions, an
198.
▲
by
larve
4y ago
that's interestingly enough not something I'm interested in (formally deriving things and doing "proper" maths as part of my software work). I care much more about developing new intuitions, and seeing the category theor
199.
▲
by
larve
4y ago
This is useful for example when implementing compiler optimizations, or concrete string implementations. It means that you can reduce "foo" + "bar" + foo to at least "foobar" + foo and that you can intern "
200.
▲
by
larve
4y ago
It's always hard to point out when some very abstract knowledge has guided your intuition, but I apply monads very often to compose things that go beyond "purely functional immutable data function composition". for example, c
201.
▲
by
larve
4y ago
author here, Finding higher abstractions ultimately is about being able to draw parallels amongst a wider variety of concepts. It doesn't change the concrete thing / the lower levels of abstractions in the least, and it often make
202.
▲
by
larve
4y ago
In category theory, everything has to be defined in terms of objects and morphisms, which can be a bit challenging, but it means that you can apply those concepts to anything that has "an arrow". it's of course just playing w
203.
▲
by
larve
4y ago
https://media.hachyderm.io/media_attachments/files/109/405/5... This looks very mundane but I do think about it very mathematically as well: user interaction with a search engine. The "encode"
204.
▲
by
larve
4y ago
I love xstate! I do use plantuml a lot for sketching, but most is done on paper or whiteboards and is quite transient in nature. I must have hundreds if not thousands of sketchbooks pages that look like this: https://publish-01.o
205.
▲
by
larve
4y ago
Also, this is very much what works for me. I love to think in "structure" and patterns, and category theory diagrams and the way concepts are formulated brings me "joy", if that makes sense. It resonates with my cognitio
206.
▲
by
larve
4y ago
author here, the way I see it is that nothing about my software per se will change. I do indeed like to write things in a "plain" fashion instead of littering my code with high-level constructs that only a few people understand. H
207.
▲
by
larve
4y ago
author here, for context, I do have a reasonable background in maths (algebra, analysis, statistics) at a CS master-ish level (self-taught and a long time ago, though), as well as spent quite some time with programming language / type
208.
▲
by
larve
4y ago
Author here, I actually think so. The rendering of the virtual DOM as well as hooks are fairly interesting mathematical constructs. A pattern I use a lot in web applications is the state reducer, which is really a fold over events and state
209.
▲
Why I am learning category theory
(the.scapegoat.dev)
209 points
by
larve
4y ago
|
220 comments
210.
▲
EEM Institute systems thinking online course
(eem.institute)
2 points
by
larve
4y ago
|
1 comments
More ›