Zanzi Tangle
zanzi.bsky.social
Zanzi Tangle
@zanzi.bsky.social
I research programming languages and turn Category Theory into code
November 5, 2025 at 10:34 PM
Finally figured out the right way to formulate the co-lambda calculus, a language of co-data and higher-order continuations
June 28, 2025 at 3:02 PM
you may not like it but this is what peak operational semantics looks like
June 17, 2025 at 6:11 PM
Is there a logical interpretation of kan extensions?
June 5, 2025 at 11:20 PM
May 2, 2025 at 9:40 AM
April 27, 2025 at 8:45 PM
biology is immutable
April 23, 2025 at 8:31 PM
In the polymorphic lambda calculus, we can encode least and greatest type-level fixpoints using quantifiers

Is there an analogous construction for term-level fixpoints?
March 30, 2025 at 7:43 PM
Does anyone here know contextual operational semantics?

I'm trying to implement a calculus that's based on linear proof nets, but they use contextual semantics in a cruicial way, and I just can't get my head around it
March 29, 2025 at 8:38 PM
i fought this guy in dark souls
March 25, 2025 at 7:31 PM
Very excited to present my take on bidirectional typing at MSP this Monday coming!

We can use polarity and chirality (duality between producers and consumers) to develop a canonical bidirectional typing discipline that requires minimal annotations.

msp.cis.strath.ac.uk/msp101.html
March 7, 2025 at 3:21 PM
yeah, I dont think AI is coming for your job any time soon
February 19, 2025 at 6:48 PM
oh that's interesting! I've actually ran into a use-case that would heavily benefit from that.
February 2, 2025 at 10:22 PM
Deconstructing if-then-else statements:

once your language supports disjunctive outputs, the output of an if-then-else statement no longer needs to be monotyped - it's type can depend on the branch taken
January 6, 2025 at 8:17 PM
Programs in Jermaine take a list of inputs to a disjoint union of outputs.

So this program takes a sum (s : Either a b) and branches off into two branches, one of which outputs (this : a) and the other (that : b)
January 1, 2025 at 9:33 PM
concrete syntax is starting to take form (thanks to @julesh.mathstodon.xyz.ap.brid.gy and @andrev.bsky.social)
January 1, 2025 at 9:26 PM
People sometimes ask me why we're building Jermaine in Idris.

This is why - Dependent types are letting us develop next-generation compiler tech:
December 29, 2024 at 7:44 AM
December 19, 2024 at 12:31 AM
Imo it's worth questioning whether all PLs really need to appeal to the "average programmer"

do you want another language for writing a login form or reversing a linked list,

or do you want a PL that lets you break into the platonic realm so you can pillage it for abstractions
December 8, 2024 at 5:49 PM
The core syntax is starting to shape up.

Sums are dual to products, tensor is dual to par.
December 7, 2024 at 10:13 PM
Day convolution over slice categories
December 3, 2024 at 9:47 PM
the surface syntax is starting to look a lot more surfacy

all I had to do was to come up with a new bidirectional typing algorithm to get rid of all the type annotations
November 29, 2024 at 3:36 PM
"develop a surface syntax", they said. "it'll make your code more readable", they said
November 26, 2024 at 7:17 PM
no one's allowed to cite this paper again
November 23, 2024 at 1:26 PM
I refuse to join Bluesky. I don't want to be part of some techno chamber
November 17, 2024 at 1:44 PM