41554 blogs · [ { "id": "01a08767-1926-73a7-a041-9cab2de3f009", "title": "Let's write a database (part 4)", "url": "https://danieljharvey.github.io/ordering-and-limits/", "published_at": "2025-09-07T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab2ed5714b", "title": "Let's write a database (part 3)", "url": "https://danieljharvey.github.io/lets-write-a-database-part-3/", "published_at": "2025-08-24T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab2fb07528", "title": "Let's write a database (part 2)", "url": "https://danieljharvey.github.io/lets-write-a-database-part-2/", "published_at": "2025-08-05T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab308d96ac", "title": "Let's write a database (part 1)", "url": "https://danieljharvey.github.io/fuck-it-lets-write-a-database/", "published_at": "2025-07-26T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab3107bbeb", "title": "llvm-calc is dead, long live wasm-calc", "url": "https://danieljharvey.github.io/announcing-wasm-calc/", "published_at": "2024-07-03T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab313fbf15", "title": "Compiling a functional language to LLVM, part 3", "url": "https://danieljharvey.github.io/llvm-compiler-part-3/", "published_at": "2023-04-11T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab315de0b4", "title": "Compiling a functional language to LLVM, part 2", "url": "https://danieljharvey.github.io/llvm-compiler-part-2/", "published_at": "2023-02-23T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab324666b4", "title": "Compiling a functional language to LLVM, part 1", "url": "https://danieljharvey.github.io/llvm-compiler-part-1/", "published_at": "2023-02-08T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab32bacb9c", "title": "Hindley Milner typechecking by example", "url": "https://danieljharvey.github.io/typechecking-pt1/", "published_at": "2022-07-24T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab32bf6ae6", "title": "What the hell is a content addressed language", "url": "https://danieljharvey.github.io/content-addressed-languages/", "published_at": "2021-12-28T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab331f9efa", "title": "Property testing a content-addressed language", "url": "https://danieljharvey.github.io/property-testing-mimsa/", "published_at": "2021-12-28T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab3376cc99", "title": "Newtypes for Cheap", "url": "https://danieljharvey.github.io/tags-and-shit/", "published_at": "2020-03-28T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab345822fc", "title": "Contract testing with Typescript", "url": "https://danieljharvey.github.io/typescript-contract-tests/", "published_at": "2020-02-23T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab34a638ad", "title": "Contract testing with Quickcheck", "url": "https://danieljharvey.github.io/contract-testing/", "published_at": "2020-02-22T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab34fdfdb1", "title": "The Genius Of Concrete", "url": "https://danieljharvey.github.io/the-genius-of-concrete/", "published_at": "2019-10-09T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab359656aa", "title": "Free like pizza, not like jazz", "url": "https://danieljharvey.github.io/free-like-pizza/", "published_at": "2019-09-07T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab36477154", "title": "Mr Migration", "url": "https://danieljharvey.github.io/data-migrations/", "published_at": "2019-07-14T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab371e359e", "title": "Refine, fine, fine", "url": "https://danieljharvey.github.io/refined-types/", "published_at": "2019-07-05T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab37eb6ad2", "title": "A game in Purescript (Part 2 - Effect and Aff)", "url": "https://danieljharvey.github.io/purescript-aff/", "published_at": "2019-03-31T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab3872ceee", "title": "Typeclasses - Monad", "url": "https://danieljharvey.github.io/typeclasses-monad/", "published_at": "2019-03-18T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab38a94bbe", "title": "Datatypes - Either", "url": "https://danieljharvey.github.io/datatypes-either/", "published_at": "2019-03-17T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab38d7cea4", "title": "Typeclasses - Profunctor", "url": "https://danieljharvey.github.io/typeclasses-profunctor/", "published_at": "2019-03-12T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab39796e8e", "title": "Datatypes - Maybe", "url": "https://danieljharvey.github.io/datatypes-maybe/", "published_at": "2019-02-17T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab39e1596c", "title": "A game in Purescript (Part 1 - Semigroups)", "url": "https://danieljharvey.github.io/purescript-semigroups/", "published_at": "2019-02-17T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab3ad42bd2", "title": "IO, IO, it's off to test we go", "url": "https://danieljharvey.github.io/testing-io/", "published_at": "2019-01-27T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab3ad98219", "title": "Why The Hell Should I Care About Polymorphism?", "url": "https://danieljharvey.github.io/polymorphism/", "published_at": "2019-01-21T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab3ae8b36a", "title": "Typeclasses - Bifunctor", "url": "https://danieljharvey.github.io/typeclasses-bifunctor/", "published_at": "2019-01-13T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab3b4adb3c", "title": "Typeclasses - Alternative", "url": "https://danieljharvey.github.io/typeclasses-alternative/", "published_at": "2019-01-06T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab3b811028", "title": "Why The Hell Should I Care About Typeclasses?", "url": "https://danieljharvey.github.io/what-is-a-typeclass/", "published_at": "2019-01-05T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab3c2056b6", "title": "Typeclasses - Monoid", "url": "https://danieljharvey.github.io/typeclasses-monoid/", "published_at": "2019-01-04T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab3ced3f4c", "title": "Typeclasses - Semigroup", "url": "https://danieljharvey.github.io/typeclasses-semigroup/", "published_at": "2019-01-03T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab3de976fb", "title": "My First Haskell Project - Part 1", "url": "https://danieljharvey.github.io/getting-started-pt-1/", "published_at": "2018-12-26T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab3ecf331d", "title": "Typeclasses - Traversable", "url": "https://danieljharvey.github.io/typeclasses-traversable/", "published_at": "2018-12-22T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab3f239cbb", "title": "Why The Hell Should I Care About Newtypes?", "url": "https://danieljharvey.github.io/new-types/", "published_at": "2018-12-19T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab3fd6b464", "title": "Why The Hell Should I Care About Lens? (Part 2)", "url": "https://danieljharvey.github.io/optics-pt-2-prism/", "published_at": "2018-12-18T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab40c4251c", "title": "Typeclasses - Foldable", "url": "https://danieljharvey.github.io/typeclasses-foldable/", "published_at": "2018-12-03T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab4185df42", "title": "Typeclasses - Applicative", "url": "https://danieljharvey.github.io/typeclasses-applicative/", "published_at": "2018-11-17T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab4228a777", "title": "Typeclasses - Contravariant", "url": "https://danieljharvey.github.io/typeclasses-contravariant/", "published_at": "2018-11-17T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab42e3f135", "title": "Typeclasses - Functor", "url": "https://danieljharvey.github.io/typeclasses-functor/", "published_at": "2018-11-16T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab43cd9488", "title": "Typeclasses - Show", "url": "https://danieljharvey.github.io/typeclasses-show/", "published_at": "2018-11-11T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab441e8d44", "title": "Typeclasses - Eq", "url": "https://danieljharvey.github.io/typeclasses-eq/", "published_at": "2018-11-03T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab45053c44", "title": "Typeclasses - Ord", "url": "https://danieljharvey.github.io/typeclasses-ord/", "published_at": "2018-11-03T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab4546bd98", "title": "Why The Hell Should I Care About Do Notation?", "url": "https://danieljharvey.github.io/do-notation/", "published_at": "2018-10-30T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab455642c5", "title": "Why The Hell Should I Care About Lens? (Part 1)", "url": "https://danieljharvey.github.io/optics-pt-1-lens/", "published_at": "2018-10-30T00:00:00+00:00" }, { "id": "01a08767-1926-73a7-a041-9cab455af2fd", "title": "Why The Hell Should I Care About Total Functions?", "url": "https://danieljharvey.github.io/total-functions/", "published_at": "2018-10-21T00:00:00+00:00" } ] posts Claim your blog
Back to danieljharvey.github.io
Blog · corpus.blog/blogs/danieljharvey.github.io/posts

danieljharvey.github.io

danieljharvey.github.io

2025

2024

2023

2022

2021

2020

2019

2018