SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 category-theory Open-Source Projects
-
milewski-ctfp-pdf
Bartosz Milewski's 'Category Theory for Programmers' unofficial PDF and LaTeX source
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
Category_Theory_Machine_Learning
List of papers studying machine learning through the lens of category theory
-
LtuPatternFactory
Lambda the ultimate Pattern Factory: FP, Haskell, Typeclassopedia vs Software Design Patterns
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
zio-prelude
A lightweight, distinctly Scala take on functional abstractions, with tight ZIO integration
-
preface
Preface is an opinionated library designed to facilitate the handling of recurring functional programming idioms in OCaml.
-
Category_Theory_Natural_Language_Processing_NLP
List of papers and other resources at the intersection of Category Theory and NLP.
-
C3T
C3T: Crash Course Category Theory - A friendly non-mathematician's approach to beginners of Category Theory. 🐱
-
free-arrow
Implementation of the Free Arrow in Scala and other helpful tools for working with Arrows
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Project mention: reflect-cpp - Now with compile time extraction of field names from structs and enums using C++-20. | /r/cpp | 2023-12-09Category Theory for Programmers by Bartosz Milewski (https://github.com/hmemcpy/milewski-ctfp-pdf/releases)
I recall reading a comment on here at some point in the last year where someone who worked on a team that wrote compilers lamented the difficulty in hiring qualified people because the practice of compiler construction differs so wildly from what is taught in school or even most compiler books. Apparently it scarcely resembles what is taught in university courses based on the Dragon book or similar, both in the higher level architecture and the lower level techniques
I know that one difference is that compilers have adopted a more service-oriented architecture, kind of like the Roslyn compiler. This allows them to not only compile your code, but inform your text editor and linter and similar tooling of syntax issues incrementally.
What are other differences? Is llvm still relevant outside of academia?
Are there any books, papers, or open source projects one could study to learn how compilers are built in this day and age?
Also: does the more abstract "programming language theory" popular in the more formal functional programming world (e.g. denotational semantics, lambda calculus, Floyd-Hoare logic, type theory, etc: this sort of stuff[1]) have any relevance to compiler writers and language/language tooling developers in industry?
[1] https://steshaw.org/plt/
Learn something that pays the bill first - nowadays it's Golang/Rust react/typescript. Then you can try some pure fp libs like fp-ts and fp-core.rs, and look through existing scala cats docs. If you'll feel bad about it - that's totally fine and expectable, fp takes a paradigm shift and not that many dev able to shift their brains way of thought due to basic psychological rigidity) (inability to change habits and to modify concepts/attitudes once developed). And that's purely a staffing and management issue - folks hired randoms out of the blue, and called 'em a team.
Project mention: Fundamental Components of Deep Learning (category theory) [pdf] | news.ycombinator.com | 2024-03-13For those that don't know Bruno, he's one of the organizers for https://cats.for.ai/
He also maintains an "Awesome-$X" like Github page for ML and Category Theory: https://github.com/bgavran/Category_Theory_Machine_Learning
I have no association with him and I doubt he knows who I am. But I thought there is enough interest here in both ML and Category Theory that others might be interested in this.
Project mention: Data Structures as Topological Spaces (2002) [pdf] | news.ycombinator.com | 2024-02-16Related to this, AlgebraicJulia has been doing a lot with applying concepts from algebra and category theory to data analysis and modelling.
https://www.algebraicjulia.org/
There's some blog posts that are also interesting:
https://blog.algebraicjulia.org/
Project mention: RZK: Experimental proof assistant for synthetic ∞-categories | news.ycombinator.com | 2023-09-28
One step further is then (Compiling to Categories)[https://github.com/compiling-to-categories/concat] which tries to make the previous approach more convenient. It aims to overload any Haskell function from a -> b into a Category a b. Then, typeclass instances are used to transfrom those functions into virtually anything. While this project is very interesting, it is probably the most experimental one. You can also take a look at the overloaded package or at this novel categorifier plugin.
If you're interested in category theory, I have compiled a list of resources quite recently: https://github.com/madnight/awesome-category-theory
Project mention: The Deep Link Equating Math Proofs and Computer Programs | news.ycombinator.com | 2023-10-11my first thought was something something dependent types (Idris, Agda), but it also sounds like TS-like structural typing with a Rust-like Result type. proving that every incoming message is either parsed correctly or we return an error seems to be the basic building block. and then every transformation should be other pure functions.
thought I guess you mean something more top-downish? for that there's "program interpretation" ( https://github.com/AdrielC/free-arrow )
plus something very heavy-handed https://deepai.org/publication/a-coq-based-synthesis-of-scal...
category-theory related posts
- Fundamental Components of Deep Learning (category theory) [pdf]
- Data Structures as Topological Spaces (2002) [pdf]
- Mathematical Introduction to Deep Learning: Methods, Implementations, and Theory
- reflect-cpp - Now with compile time extraction of field names from structs and enums using C++-20.
- Category Theory for Programming
- RZK: Experimental proof assistant for synthetic ∞-categories
- Category Theory Illustrated – Sets
-
A note from our sponsor - SaaSHub
www.saashub.com | 29 Apr 2024
Index
What are some of the best open-source category-theory projects? This list will help you:
Project | Stars | |
---|---|---|
1 | milewski-ctfp-pdf | 10,751 |
2 | plt | 5,132 |
3 | quiver | 2,324 |
4 | fp-core.rs | 1,296 |
5 | Category_Theory_Machine_Learning | 1,113 |
6 | LtuPatternFactory | 977 |
7 | Bow | 640 |
8 | Catlab.jl | 585 |
9 | FsToolkit.ErrorHandling | 446 |
10 | zio-prelude | 438 |
11 | lawvere | 262 |
12 | rzk | 182 |
13 | adjoint | 157 |
14 | preface | 141 |
15 | categorifier | 56 |
16 | data-category | 54 |
17 | awesome-category-theory | 50 |
18 | Category_Theory_Natural_Language_Processing_NLP | 40 |
19 | C3T | 28 |
20 | free-functors | 27 |
21 | free-arrow | 17 |
22 | monoidal-functors | 16 |
23 | split-morphism | 10 |
Sponsored