D

Donnacha Oisín Kidney

doisinkidney.com · Personal blog · on HN since 2018

Donnacha Oisín Kidney writes about Haskell, Agda, functional programming, and algebraic structures like semirings, combinators and free monoids.

What HN saysHN links it for functional programming and math-heavy posts, such as the series on breadth-first traversals and the one on convolutions and semirings.
15HN people shared it
3linked it in comments
21stories submitted
665story points
8 months agolast shared
2018people per year2026

Most-shared posts

  1. 1
    What Is Good About Haskell?
    3 people · 297 points · first shared 2019 · 421 comments on HN
  2. 2
    Fun with Combinators
    3 people · 77 points · first shared 2020 · 16 comments on HN
  3. 3
    Solving Programming Puzzles Without Using Your Brain
    2 people · 122 points · first shared 2019 · 17 comments on HN
  4. 4
    Formalising Graphs with Coinduction in Agda
    2 people · 4 points · first shared 2024 · discussion on HN
  5. 5
    Convolutions and Semirings
    2 people · 1 points · first shared 2023 · discussion on HN
  6. 6
    10-Part Series on Breadth-First Traversals in Haskell
    2 people · 1 points · first shared 2018 · discussion on HN
  7. 7
    Hyperfunctions
    1 people · 65 points · first shared 2021 · 7 comments on HN
  8. 8
  9. 9
    Single-Pass Huffman Coding
    1 people · 17 points · first shared 2025 · discussion on HN
  10. 10
    Enumerating Trees
    1 people · 5 points · first shared 2020 · discussion on HN
  11. 11
    Some Tricks for List Manipulation
    1 people · 4 points · first shared 2025 · 1 comments on HN
  12. 12
    A Queue for Effectful Breadth-First Traversals
    1 people · 3 points · first shared 2020 · discussion on HN
  13. 13
    Permutations by Sorting
    1 people · 3 points · first shared 2019 · discussion on HN
  14. 14
  15. 15
    Monuses and Heaps
    1 people · 1 points · first shared 2026 · discussion on HN

What HN people wrote when they linked it

lapinot · 2021-07-26
> It is incredibly common in mathematics to silently "convert" objects between different types. [..] silently identifying isomorphic objects Would you agree that correct instances of this pattern are exactly cases of considering objects only up to isomorphism? The problems of equality in constructive mathematics is a complicated one but things are starting to clear out, with constructive interpretations of this pattern (eg constructive models of univalence, implemented in cubical agda) people are starting to do wonders, like this superb grad thesis about finiteness [1]. The hard part is certainly the silentness of these identifications (which if i'm not mistaken is kind of the difference between extensional and intensional logics). But again i believe that they can be systematized contextually: one could for example declare in a preample which implicit isomorphisms they are going to use, which would then be disambiguated by type and decidably searched-for. > ignore certain things [..] basically all the common notational shorthands This is certainly a challenge for formalization, but my belief is that it can be done. Imho this is where the cross-pollination between "real-life programming" and constructive maths shows: contextual generalization (binding) of unbound variables (eg implicit polymorphism in ML-likes types, structure inference and coercions along structure refinements using typeclasses/search-like procedures and unification hints, ...). We definitely have to…

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close