Zanzi Tangle's Avatar

Zanzi Tangle

@zanzi.bsky.social

I research programming languages and turn Category Theory into code

1,110 Followers  |  172 Following  |  485 Posts  |  Joined: 05.07.2023  |  1.7004

Latest posts by zanzi.bsky.social on Bluesky

I have once again realized that I don't fully understand the semantics of System L.

13.08.2025 11:42 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

what's the deal with type schemes? they seem like a hack, but I'm not sure what the canonical replacement is

12.08.2025 13:29 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Eh, this is nowhere near as cool as alpha fold. the article is just hype and overinflation of capabilities.

18.07.2025 00:11 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Who is doing the most exciting work at the intersection of PL and LLMs right now?

17.07.2025 10:32 β€” πŸ‘ 7    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

(fun fact: this system is unable to express the *strict* (tensor) product, the same way that the lambda calculus has no way to express 'par'

28.06.2025 18:54 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

In CBPV terminology, Times is the 'lazy product', aka 'With' from linear logic

28.06.2025 18:54 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

And, of course, the language in that paper subsumes both lambda and co-lambda calculus.

28.06.2025 18:51 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

This system flips natural deduction inside out.

So it has left-introduction and left-elimination.

And just as natural deduction limits judgements to have one output, this limits them to have one input (but a whole context of possible outputs).

28.06.2025 18:50 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Oh yes, very much so!

So the sequent calculus is all about introduction rules, you have left-introduction and right-introduction.

Meanwhile, natural deduction is all about working on the right-hand-side of the turnstile: you have right-intro like with sequents, but also right-*elimination*.

28.06.2025 18:50 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

This system is *alien*. The rules don't do justice to how bizzaro-world it feels to reason with this

28.06.2025 15:05 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Finally figured out the right way to formulate the co-lambda calculus, a language of co-data and higher-order continuations

28.06.2025 15:02 β€” πŸ‘ 20    πŸ” 5    πŸ’¬ 3    πŸ“Œ 0

Ok I am *very* impressed :D

18.06.2025 17:10 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Cool! I'm definitely a fan of parser combinators, and the TS-macros project looks 🀯

18.06.2025 16:48 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

this is sort of what i'm thinking for functions, for example. still fixing the inference for return types but once i'm done with this, i'll have a really expressive and type-safe way to do macros for TS!

18.06.2025 12:16 β€” πŸ‘ 6    πŸ” 1    πŸ’¬ 2    πŸ“Œ 2

Oh yes? :D Tell me more! Do you have anything written that I can look at!

18.06.2025 15:39 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I'm currently working on a project in this space that could spark your interest, but it's not public yet. I could give you a ping in a few weeks though with more details if you're interested >:D

18.06.2025 14:58 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

thanks for the suggesstion!

@flaviocorpa.com I like your blog post comparing Svelte and Elm, I've been meaning to try out the former! I agree with your conclusions about it being potentially a React killer, but also with the downsides of typescript compared to Elm.

18.06.2025 14:58 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Building a non-trivial app with Elm and with Svelte A blogpost comparing the latest cutting edge frontend framework (Svelte), with the older but functionally pure Elm programming language

Hey, I wrote a post in my blog comparing Elm and @svelte.dev, I hope you enjoy it! flaviocorpa.com/building-a-n...

04.06.2025 16:49 β€” πŸ‘ 17    πŸ” 7    πŸ’¬ 3    πŸ“Œ 1

does anyone know of any frontend/typescript devs with a side interest in PL/CT?

18.06.2025 14:40 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

you know you're doing proper category theory when your code starts looking like assembly

17.06.2025 18:11 β€” πŸ‘ 10    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

you may not like it but this is what peak operational semantics looks like

17.06.2025 18:11 β€” πŸ‘ 22    πŸ” 2    πŸ’¬ 1    πŸ“Œ 0
A six panel cartoon.

Panel one:
Title: Learn to read with Physics
Lesson One: two and three-letter words
(image of a smiling book and particle)

Panel two:
A friendly scientist enters a colourful lab carryinh a coiffee and papers.
Text: The Doc is in the lab.

Panel three:
She has put on eye protectors and started a machine
Text: She put on the ion ray.

Panel four:
The machine has caused a small fire. She looks aghast.
Text: Pop! The ray lit the gas.

Panel five:
She runs from the burning lab
Text: The lab is too hot!

Panel six:
She sits on the grass. In the background the ruins of the lab smoulder.
Text: The Doc is sad.

A six panel cartoon. Panel one: Title: Learn to read with Physics Lesson One: two and three-letter words (image of a smiling book and particle) Panel two: A friendly scientist enters a colourful lab carryinh a coiffee and papers. Text: The Doc is in the lab. Panel three: She has put on eye protectors and started a machine Text: She put on the ion ray. Panel four: The machine has caused a small fire. She looks aghast. Text: Pop! The ray lit the gas. Panel five: She runs from the burning lab Text: The lab is too hot! Panel six: She sits on the grass. In the background the ruins of the lab smoulder. Text: The Doc is sad.

My cartoon for this week’s @newscientist.com

08.06.2025 08:17 β€” πŸ‘ 3980    πŸ” 678    πŸ’¬ 37    πŸ“Œ 37

Ok that's very interesting, thank you!

07.06.2025 07:43 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Hmm, takings (co)ends as primitives and using them to define kan extensions makes sense.

Do (co)ends have a formulation in terms of intro/elimimation rules?

06.06.2025 17:10 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

Is there a logical interpretation of kan extensions?

05.06.2025 23:20 β€” πŸ‘ 7    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I had the same thought....we found people CLAIMED their opposition to policies that support trans people was "protecting women" from male violence. What really predicted their policy positions?

Their dislike of trans people.

17.04.2025 16:21 β€” πŸ‘ 16    πŸ” 5    πŸ’¬ 1    πŸ“Œ 0
Post image 02.05.2025 09:40 β€” πŸ‘ 24    πŸ” 6    πŸ’¬ 0    πŸ“Œ 0
Post image 27.04.2025 20:45 β€” πŸ‘ 8    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0
Post image

biology is immutable

23.04.2025 20:31 β€” πŸ‘ 10    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

twitter is now overrun by rampant, unapologetic bigots

20.04.2025 14:03 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

@zanzi is following 20 prominent accounts