Damus

Recent Notes

Conor Titania Mc Bride profile picture
I must repair Kleisli Arrows of Outrageous Fortune, expunging the outdated preprocessor stuff, but keeping the key ideas about monads on indexed sets (and the Hamlet gags).

I need it to be out there, so I can follow it up with Kripke Arrows of Outrageous Fortune, in which we explore free monads on presheaves.
Conor Titania Mc Bride profile picture
To borrow a term from pedagogy, the point of designing a new programming language is to extract leverage from a threshold concept. Threshold concepts are so called because they are hard to learn. They require a shift in perspective, and it's that shift which makes things which previously looked hard actually become straightforward. Up becomes down.

So turn things upside-down.
Greg Restall · 5w
nostr:nprofile1qy2hwumn8ghj7un9d3shjtnyd968gmewwp6kyqpqw4y42l2xu0p3a9yrfecmmsmlvhzrk3xe67vp0gpfw55q8s3kz2hsrzxhtk The contrast with the Outer Hebrides is really striking.
Conor Titania Mc Bride profile picture
That's right, folks! We're hiring! I'm the surviving founder member of the MSP group at Strathclyde, but I don't make the decisions. I'm kinda sorta responsible for the culture of the place, though. We think together, we don't keep (ha ha, professional) secrets (ha ha, my secret isn't secret any more), and we plot to put as much of our research into our undergraduate teaching as possible. Sign up! Show up! Help kids grow up!
Conor Titania Mc Bride profile picture
Yer free monad on a container C is yer C*, with container morphisms in I -> C* and C*;C* -> C*, giving a monad on sets.

But -* is itself a monad on containers, with container morphisms in C -> C* and C** -> C*. That’s the free monad monad.

Kleisli arrows in the free monad monad are container morphisms in C -> D*, which act as templates for catamorphisms. For every C shape, you get a D term whose variables tell you where to substitute the results of the recursive calls from each C position.

These templates can be recovered from the function itself by perturbation testing.
1
Dan Piponi · 24w
nostr:nprofile1qy2hwumn8ghj7un9d3shjtnyd968gmewwp6kyqpqw4y42l2xu0p3a9yrfecmmsmlvhzrk3xe67vp0gpfw55q8s3kz2hsrzxhtk I tend to think of these Kleisli arrows as some kind of staging in a compiler so your use of the term "template" may be similar to a C++ template, I'm not sure. Anyway, looking forward t...
Martin Escardo · 25w
nostr:nprofile1qy2hwumn8ghj7un9d3shjtnyd968gmewwp6kyqpqw4y42l2xu0p3a9yrfecmmsmlvhzrk3xe67vp0gpfw55q8s3kz2hsrzxhtk writes "Mathematics should make you feel less stupid for having encountered it." But also, if you feel more stupid because you learned a lot of maths, and then you realized than there i...