41554 blogs · [ { "id": "01a0873a-de60-721a-953c-90946cf298ec", "title": "Type-Level Dependency Injection", "url": "http://www.benjamin.pizza/posts/2025-05-21-type-level-dependency-injection.html", "published_at": "2025-05-21T00:00:00+00:00" }, { "id": "01a0873a-de60-721a-953c-90946d0100a0", "title": "Prettier. Happier. More Imperative.", "url": "http://www.benjamin.pizza/posts/2024-08-15-prettier-happier-more-imperative.html", "published_at": "2024-08-15T00:00:00+00:00" }, { "id": "01a0873a-de60-721a-953c-90946dcc48e3", "title": "Incremental T4 Text Templating", "url": "http://www.benjamin.pizza/posts/2022-11-28-incremental-t4-text-templating.html", "published_at": "2022-11-28T00:00:00+00:00" }, { "id": "01a0873a-de60-721a-953c-90946e951699", "title": "Parallelising Source Positions", "url": "http://www.benjamin.pizza/posts/2022-07-16-parallelising-source-positions.html", "published_at": "2022-07-16T00:00:00+00:00" }, { "id": "01a0873a-de60-721a-953c-90946f55bc1e", "title": "Some Notes on Variables and Binding", "url": "http://www.benjamin.pizza/posts/2021-05-18-some-notes-on-variables-and-binding.html", "published_at": "2021-05-18T00:00:00+00:00" }, { "id": "01a0873a-de60-721a-953c-90946fb8f898", "title": "Building Prolog's Rules Engine", "url": "http://www.benjamin.pizza/posts/2019-12-22-building-prologs-rules-engine.html", "published_at": "2019-12-22T00:00:00+00:00" }, { "id": "01a0873a-de60-721a-953c-90946fc582d1", "title": "Generic Unification with Sawmill", "url": "http://www.benjamin.pizza/posts/2019-12-15-generic-unification-with-sawmill.html", "published_at": "2019-12-15T00:00:00+00:00" }, { "id": "01a0873a-de60-721a-953c-90946fd352a1", "title": "Parsing Prolog with Pidgin", "url": "http://www.benjamin.pizza/posts/2019-12-08-parsing-prolog-with-pidgin.html", "published_at": "2019-12-08T00:00:00+00:00" }, { "id": "01a0873a-de60-721a-953c-9094707118ad", "title": "Write You a Prolog", "url": "http://www.benjamin.pizza/posts/2019-12-01-write-you-a-prolog.html", "published_at": "2019-12-01T00:00:00+00:00" }, { "id": "01a0873a-de60-721a-953c-909470bbf823", "title": "Rewriting IRewritable", "url": "http://www.benjamin.pizza/posts/2019-10-05-rewriting-irewritable.html", "published_at": "2019-10-05T00:00:00+00:00" }, { "id": "01a0873a-de60-721a-953c-909470be7e1a", "title": "Announcing Pidgin v2.0", "url": "http://www.benjamin.pizza/posts/2019-01-26-announcing-pidgin-v2.0.html", "published_at": "2019-01-26T00:00:00+00:00" }, { "id": "01a0873a-de60-721a-953c-90947151ac9c", "title": "The Fourth Type of Variance", "url": "http://www.benjamin.pizza/posts/2019-01-11-the-fourth-type-of-variance.html", "published_at": "2019-01-11T00:00:00+00:00" }, { "id": "01a0873a-de61-72ea-a72b-5a7dfb37424b", "title": "Zooming In on Field Accessors", "url": "http://www.benjamin.pizza/posts/2018-12-06-zooming-in-on-field-accessors.html", "published_at": "2018-12-06T00:00:00+00:00" }, { "id": "01a0873a-de61-72ea-a72b-5a7dfb3ae26e", "title": "Live-streaming", "url": "http://www.benjamin.pizza/posts/2018-07-16-live-streaming.html", "published_at": "2018-07-16T00:00:00+00:00" }, { "id": "01a0873a-de61-72ea-a72b-5a7dfb8e7733", "title": "Eighty", "url": "http://www.benjamin.pizza/posts/2018-03-16-eighty.html", "published_at": "2018-03-16T00:00:00+00:00" }, { "id": "01a0873a-de61-72ea-a72b-5a7dfbf71ba1", "title": "Zip-Folding", "url": "http://www.benjamin.pizza/posts/2018-01-10-zip-folding.html", "published_at": "2018-01-10T00:00:00+00:00" }, { "id": "01a0873a-de61-72ea-a72b-5a7dfc8e3ead", "title": "Functor Functors", "url": "http://www.benjamin.pizza/posts/2017-12-15-functor-functors.html", "published_at": "2017-12-15T00:00:00+00:00" }, { "id": "01a0873a-de61-72ea-a72b-5a7dfd43ba3a", "title": "Recursion Without Recursion", "url": "http://www.benjamin.pizza/posts/2017-11-13-recursion-without-recursion.html", "published_at": "2017-11-13T00:00:00+00:00" } ] posts Claim your blog
Back to benjamin.pizza
Blog · corpus.blog/blogs/benjamin.pizza/posts

benjamin.pizza

benjamin.pizza

2025

2024

2022

2021

2019

2018

2017