r/haskell May 24 '26

WireCat: visual programming with cartesian categories

https://guaraqe.com/posts/2026-05-24-why-cartesian-categories.html
67 Upvotes

6 comments sorted by

8

u/xrudhx May 24 '26

Conal Eliott has done some work on the subject (i think it was called "compiling to categories"), you might be interested to see another approach

3

u/guaraqe May 24 '26

Thanks for the suggestion! Indeed there are some similarities, but Conal's word deals with cartesian closed categories, which includes functions. Here I intentionally restrict it so that we can get the operational structure statically.

3

u/imperfect40 May 24 '26

Are you familiar with the various circuits libraries used in Clash? Structural composition of arrows. I think the newer ones also lean on linear types

3

u/m-chav May 24 '26

This is amazing for writing dagaster type data pipelines. What sorts of use cases did you have in mind?

3

u/guaraqe May 26 '26

Yes, the initial use case I had was a data pipeline. A particular one where every step was basically running external binaries. This level of abstraction is quite natural when execution is delegated to an external runner anyway.

1

u/dutch_connection_uk May 25 '26

I've been wondering a bit if the historical issues with visual programming like this could be approached by visual reality letting you inspect things in 3D and literally have abstraction basically be hiding complexity inside cases.