HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
sellout
compiling-anything-to-categories
Haskell2024–2024
sellout / compiling-anything-to-categories

compiling-anything-to-categories

a talk about and sample project for the [Categorifier](https://github.org/con-kitty/categorifier) GHC plugin.

2Distinct people
2Mentions
0Explicit recommenders
23GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

a talk about and sample project for the [Categorifier](https://github.org/con-kitty/categorifier) GHC plugin.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by day2 dated mentions

Observed mentions: 2024-12-02 04:51:16 UTC to 2024-12-30 13:06:02 UTC.

012024-12-02 00:00:00 UTC to 2024-12-03 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsDec 22024-12-03 00:00:00 UTC to 2024-12-04 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-12-04 00:00:00 UTC to 2024-12-05 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-12-05 00:00:00 UTC to 2024-12-06 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-12-06 00:00:00 UTC to 2024-12-07 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-12-07 00:00:00 UTC to 2024-12-08 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-12-08 00:00:00 UTC to 2024-12-09 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-12-09 00:00:00 UTC to 2024-12-10 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-12-10 00:00:00 UTC to 2024-12-11 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-12-11 00:00:00 UTC to 2024-12-12 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-12-12 00:00:00 UTC to 2024-12-13 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-12-13 00:00:00 UTC to 2024-12-14 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-12-14 00:00:00 UTC to 2024-12-15 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-12-15 00:00:00 UTC to 2024-12-16 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-12-16 00:00:00 UTC to 2024-12-17 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsDec 162024-12-17 00:00:00 UTC to 2024-12-18 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-12-18 00:00:00 UTC to 2024-12-19 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-12-19 00:00:00 UTC to 2024-12-20 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-12-20 00:00:00 UTC to 2024-12-21 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-12-21 00:00:00 UTC to 2024-12-22 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-12-22 00:00:00 UTC to 2024-12-23 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-12-23 00:00:00 UTC to 2024-12-24 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-12-24 00:00:00 UTC to 2024-12-25 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-12-25 00:00:00 UTC to 2024-12-26 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-12-26 00:00:00 UTC to 2024-12-27 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-12-27 00:00:00 UTC to 2024-12-28 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-12-28 00:00:00 UTC to 2024-12-29 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-12-29 00:00:00 UTC to 2024-12-30 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-12-30 00:00:00 UTC to 2024-12-31 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsDec 30

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Dec 22024-12-02 00:00:00 UTC2024-12-03 00:00:00 UTC101
Dec 32024-12-03 00:00:00 UTC2024-12-04 00:00:00 UTC000
Dec 42024-12-04 00:00:00 UTC2024-12-05 00:00:00 UTC000
Dec 52024-12-05 00:00:00 UTC2024-12-06 00:00:00 UTC000
Dec 62024-12-06 00:00:00 UTC2024-12-07 00:00:00 UTC000
Dec 72024-12-07 00:00:00 UTC2024-12-08 00:00:00 UTC000
Dec 82024-12-08 00:00:00 UTC2024-12-09 00:00:00 UTC000
Dec 92024-12-09 00:00:00 UTC2024-12-10 00:00:00 UTC000
Dec 102024-12-10 00:00:00 UTC2024-12-11 00:00:00 UTC000
Dec 112024-12-11 00:00:00 UTC2024-12-12 00:00:00 UTC000
Dec 122024-12-12 00:00:00 UTC2024-12-13 00:00:00 UTC000
Dec 132024-12-13 00:00:00 UTC2024-12-14 00:00:00 UTC000
Dec 142024-12-14 00:00:00 UTC2024-12-15 00:00:00 UTC000
Dec 152024-12-15 00:00:00 UTC2024-12-16 00:00:00 UTC000
Dec 162024-12-16 00:00:00 UTC2024-12-17 00:00:00 UTC000
Dec 172024-12-17 00:00:00 UTC2024-12-18 00:00:00 UTC000
Dec 182024-12-18 00:00:00 UTC2024-12-19 00:00:00 UTC000
Dec 192024-12-19 00:00:00 UTC2024-12-20 00:00:00 UTC000
Dec 202024-12-20 00:00:00 UTC2024-12-21 00:00:00 UTC000
Dec 212024-12-21 00:00:00 UTC2024-12-22 00:00:00 UTC000
Dec 222024-12-22 00:00:00 UTC2024-12-23 00:00:00 UTC000
Dec 232024-12-23 00:00:00 UTC2024-12-24 00:00:00 UTC000
Dec 242024-12-24 00:00:00 UTC2024-12-25 00:00:00 UTC000
Dec 252024-12-25 00:00:00 UTC2024-12-26 00:00:00 UTC000
Dec 262024-12-26 00:00:00 UTC2024-12-27 00:00:00 UTC000
Dec 272024-12-27 00:00:00 UTC2024-12-28 00:00:00 UTC000
Dec 282024-12-28 00:00:00 UTC2024-12-29 00:00:00 UTC000
Dec 292024-12-29 00:00:00 UTC2024-12-30 00:00:00 UTC000
Dec 302024-12-30 00:00:00 UTC2024-12-31 00:00:00 UTC101

What Hacker News says

2 sources
The linear functions/SMC work is really cool, but I am surprised to see the author calling it more mature than the compiling to CCCs work. The linear-smc library hasn't had an upload in a while, and it's currently missing any haddocks beyond the extracted type signatures. It's also a shame that it had to build its own typeclass for monoidal categories instead of using the one in https://hackage.haskell.org/package/categories . Meanwhile KittyHawk did actually use the compile-to-CCCs work to compile Haskell to C in https://github.com/sellout/compiling-anything-to-categories and someone from there talks about it at https://www.youtube.com/watch?v=VUBj8NW7uMA I think the linear-smc work is more exciting and I hope it matures with a bit more elbow grease. There was an ICFP talk that accompanied the linked paper ( https://www.youtube.com/watch
Read the rest
?v=90OJz0QE4qE ) and monoidal categories can model lots of "boxes and wires" things. Linear functions potentially give you a much more ergonomic DSL for building up those boxes-and-wires models, and in a way that lets you write abstractions that work over any model.
In Overloading the lambda abstraction in Haskell (2022)
This two-part keynote might give you a good flavour: * https://www.youtube.com/watch?v=4WMfKhKKVN4 * https://www.youtube.com/watch?v=zooYfk5-yPY If you can stand up a Cartesian-closed category, it is a model of a lambda calculus. So you can make a compiler plugin that takes lambda terms (a large subset of Haskell) and compiles it into all sorts of exotic settings (dataflow diagrams, derivatives of the function, ...) KittyHawk used it to compile Haskell to C in https://github.com/sellout/compiling-anything-to-categories and someone talks about their work here: https://www.youtube.com/watch?v=VUBj8NW7uMA
In Category Theory in Programming

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.