Sjoerd Visscher

Sjoerd Visscher

@sjoerdvisscher.w3future.com

#haskell #categorytheory #lumatone 👫 @boekencurator.bsky.social 🏠 https://w3future.com 💼 https://tweag.io 🗣️ https://strijpskamerkoor.nl

227 followers219 following226 posts

Pinned

I'm currently working on the #Haskell library "proarrow", a category theory library, with the purpose of writing programs using string diagrams. My original goal was to generalize my "squares" package to support profunctors in any category instead of just Hask.

github.comGitHub - sjoerdvisscher/proarrow: Haskell library for doing category theory with a central role for profunctorsHaskell library for doing category theory with a central role for profunctors - sjoerdvisscher/proarrow

Sjoerd Visscher reposted

I haven't mentioned the embedded language for monoidal categories in proarrow yet! It is modular: only if you copy or discard a variable it requires a comonoid on the type, and similar for traces, duals, exponentials etc. Read more here: github.com/sjoerdvissch... #haskell #categorytheory

Applied category theory at work: proarrow now comes with a well-typed einsum implementation, optimized through open hypergraphs. The same spec runs in any hypergraph category (matrices, relations, string diagrams), and with a bit of tensor-network plumbing it keeps up with numpy.

Sjoerd Visscher reposted

Replying to @aspiwack.bsky.social

That is, for any object A, we have an arrow α_A : F A -> G A, such that for all R∈Rel(A,B), F(R) ⊆ G(R(α,α)) If F is a functor, parametric arrows should be natural, for instance. This should give us an algebraic framework to talk about what we've been doing in PLT. 6/7

I’ve been working on proarrow for 3 years and only now I find out that all adjunctions between profunctors are trivial, as in they are always adjunctions between the two representables induced by a functor. At least it’s true for Hask enriched profunctors. Something to do with Cauchy completeness.

Sjoerd Visscher reposted

In today’s episode, we’re joined by Brent Yorgey, Associate Professor of CS at Hendrix College and the creator of the Diagrams vector graphics library and Swarm, a 2D programming and resource gathering game. We talk about teaching, DSLs, and competitive coding. haskell.foundation/podcast/85/

haskell.foundationBrent YorgeyIn today's episode, we're joined by Brent Yorgey, Associate Professor of Computer Science at Hendrix College and the creator, among other things, of the Diagrams vector graphics library and Swarm, a 2...

Sjoerd Visscher reposted

Cool observation: one can build a bicategory whose objects are free word monoids over alphabets and whose morphisms are Turing transducers. A Turing machine then appears as a specialization of a guarded trace between a Moore machine (tape) and a Mealy machine (controller).

Sjoerd Visscher reposted

Looking for non-trivial examples of virtual double categories arising in TCS or logic, ideally many-object examples where the virtuality has a concrete computational/logical meaning.

Using AI to write your code is like hiring a consultant to write your code, but continuously hiring a different one. No matter how good you set it up, documenting everything etc., over time the result is terrible.

Sjoerd Visscher reposted

after two years of development, I finally demoed Jermaine for the first time - a language with fully symmetric data and codata, and native call-cc.

Sjoerd Visscher reposted

I want to explain what's going on here. Because it's quite interesting. The type of monads over the category of presheaves is given by class PMonad f where return :: p i -> f i (>>=) :: f p i -> (forall j. p j -> f q j) -> f q i (just follow the textbooks) 1/11

Conor Titania Mc Bride@pigworker.bsky.social

I told a tall story about type inference via effects and handlers, this morning in Bristol. Thanks to my lovely hosts! www.youtube.com/watch?v=Vc2n...

What an amazing hack! This is a trick that works for any category, reifying any morphisms you have available into dictionaries, and then letting the compiler compose them together automatically to get the right morphism you need! #haskell

Conor Titania Mc Bride@pigworker.bsky.social

I told a tall story about type inference via effects and handlers, this morning in Bristol. Thanks to my lovely hosts! www.youtube.com/watch?v=Vc2n...

Sjoerd Visscher reposted

For some Friday afternoon fun, allow me to hijack your productivity with this game: Escape the Moon! It started as a side project to kick the tyres on #SpacetimeDB, but snowballed into a whole cards-and-crafting web game. Hope you enjoy. Let me know if you do. 🙂 escapethemoon.vercel.app

escapethemoon.vercel.appEscape the MoonCrash-land, gather, refine and fabricate your way off a dead moon. The only way off this rock is the one you build.

Sjoerd Visscher reposted

There is a European-owned place called Aisle that is doing world class security bug finding. Beating Mythos even. But no one in Europe likes talking up our own talent. Been trying to get them mentioned in Dutch news, but all we can do apparently is promote US tech. aisle.com/blog/aisle-d...

aisle.comAISLE Discovers 6 CVEs in curl, Including Oldest Issue EverAISLE's analyzer discovered 6 new CVEs in curl, more than 2x the nearest AI security platform and including the oldest security issue in the project.

Sjoerd Visscher reposted

The past years have seen horrendous attacks towards trans people. We have a duty to protect the most vulnerable members of our communities. There is no Haskell without the trans people who have shaped it through the years. This June is a month of celebrations, but the struggle continues. ✊🏳️‍⚧️λ