←back to thread

873 points belter | 1 comments | | HN request time: 0.227s | source
Show context
jagraff ◴[] No.42949051[source]
> Contrarily, library development is about abstractions. Spend time hunting for an algebra

This line piqued my interest - what does an algebra mean in this context? Does anyone know of any good resources for further exploration?

replies(4): >>42949876 #>>42950234 #>>42954890 #>>42959467 #
1. jghn ◴[] No.42950234[source]
It comes from the FP world. It's one of those things like monads that seem obvious when explained but sound opaque if you're not in on it.

Basically it's saying to create a formal set of types and formal rules about how they interact. If you search for permutations of phrases like "functional programming" "algebra" "data types" you'll turn up some hits. For instance [1]

[1] https://www.turingtaco.com/algebraic-data-types-structuring-...