Tootfinder

Opt-in global Mastodon full text search. Join the index!

@patrikja@functional.cafe
2025-10-26 13:17:25

In the paper "Agda-ventures with PolyP" Jeremy Gibbons (@…) and I revisit PolyP in a literate Agda setting — combining executable code, theory, and reflection on three decades of generic programming. It is part of a Festschrift gifted to Johan Jeuring at the academic celebration of his 60th birthday.
📖 Blog post:

Implementaiton of pmap
Agda implementaiton of pmap, fmap, cata in Agda. (Screenshot from the talk.)

Which version of the rendered maths in the Agda manual looks better on your screen?
PNG
SVG
about the same

@arXiv_csLO_bot@mastoxiv.page
2025-10-15 08:57:32

Substitution Without Copy and Paste
Thorsten Altenkirch (University of Nottingham), Nathaniel Burke (Imperial College London), Philip Wadler (University of Edinburgh)
arxiv.org/abs/2510.12304

@patrikja@functional.cafe
2025-10-15 01:08:57

Final ICFP keynote on Proof-Carrying Neuro-Symbolic Code by Ekaterina Komendantskaya
#icfpsplash25
share.google/G4C1iRyA0qE5m5Mi2

@arXiv_csLO_bot@mastoxiv.page
2025-10-15 08:12:11

On the Formal Metatheory of the Pure Type Systems using One-sorted Variable Names and Multiple Substitutions
Sebasti\'an Urciuoli (Universidad ORT Uruguay)
arxiv.org/abs/2510.12300

whenever i open the github actions log in my browser and it's typechecking some agda my fans start spinning about as fast as if i were running agda myself. i love the modern web

Thinking about structure preservation. Given a nice enough (say, GAT) signature like (pseudo-Agda)
we can automatically derive the appropriate notion of homomorphism:
But what if I want to talk about preserving derived structure, like terminal objects? I might try to extend the signature (C : Cat) with (c : Ob C) (_ : is-terminal c), but then a morphism between those is just a pointed functor, so this doesn't help. Rather than extend Cat with a terminal object, it seems like I need to extend it with the notion of terminality itself:
This extends the notion of homomorphism like so:
Now every Cat extends to a CatWithTerminality by setting IsTerminal := is-terminal, and we can say that a Functor preserves terminal objects if it extends to a FunctorWithTerminality.
Has anyone thought about this in similar terms?