Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    P

    Philip Wadler

    wadler.blogspot.com · Personal blog · on HN since 2008

    Philip Wadler is a computer scientist who blogs about programming language theory, Haskell, logic, and the history of lambda calculus.

    Visit blogRSSHN submissions
    Languages & CompilersMath
    What HN says

    HN links it for his posts on Curry-Howard and propositions as types, and for discussions of static typing studies and Haskell.

    Stats for nerds
    26HN people shared it
    18linked in comments
    126story points
    May 2020last shared
    2012people per year2020

    Top posts on HN

    1. 1
      Howard on Curry-Howard
      2 people · 76 points · first shared 2014 · 8 comments on HN
    2. 2
      History of Lambda-calculus and Combinatory Logic
      1 person · 9 points · first shared 2008 · 1 comments on HN
    3. 3
      Static vs. Dynamic language development time
      2 people · 6 points · first shared 2011 · 3 comments on HN
    4. 4
      Haskell equations, thirty-eight years later
      1 person · 6 points · first shared 2025 · Discussion on HN
    5. 5
      Silicon Valley could force NSA reform, tomorrow. What's taking so long?
      1 person · 4 points · first shared 2014 · Discussion on HN
    6. 6
      Indentation as a diff complexity metric
      1 person · 4 points · first shared 2012 · Discussion on HN
    7. 7
      Is Perl syntax better than randomly chosen syntax?
      1 person · 4 points · first shared 2013 · 1 comments on HN
    8. 8
      Propositions as Types, with Howard on Curry-Howard
      1 person · 3 points · first shared 2014 · Discussion on HN
    9. 9
      Growing a Language meets Strunk and White
      1 person · 2 points · first shared 2013 · Discussion on HN
    10. 10
      The Myths of Object-Orientation
      1 person · 2 points · first shared 2010 · Discussion on HN

    What HN people wrote when they linked it

    • chriswarboJul 2018

      It does sound like you might be after something closer to totality checking. I'm not as familiar with that, but I can maybe give a few pointers and a bit of terminology:

      One easy way to guarantee termination, even for functions with input/output spaces that are infinite, is using "structural recursion". This is when we only make recursive calls on a 'smaller piece' of our input. The classic example is the `Natural` type, where we can do:

      f Zero = somethingNonRecursive
      f (Succ n) = somethingInvolving (f n)

      We can tell just from the syntax that the argument will always get smaller and smaller for each recursive call. Note that structural recursion is syntactic: we cannot do something like `f n = f (n - 1)` since the syntactic form `n - 1` is not a 'smaller piece' of the syntactic form `n`; whereas `x` is a smaller piece of `Succ x`. This makes structural recursion pretty limited. As an example, the "Gallina" language of the Coq language/proof assistant does totality checking via structural recursion, and it very quickly becomes unusable (more on Coq below!).

      There's actually a subtlety here: if `Natural` is defined inductively then all of its values are finite (it is the least fixed point of its constructors, sometimes written as a "μ" or "mu" operator; similar to the Y combinator). In particular its values are `Zero`, `Succ Zero`, `Succ (Succ Zero)`, and so on. This means that structural recursion on `Natural` will eventually stop, either by hitting `Zero` or…

    • ispMay 2015

      You might like to try out Mandelbrot Maps. It allows real-time interactive exploration of the relationship between the Mandelbrot set and associated Julia sets. (There is a corresponding Julia set for each point on the Mandelbrot set, and some striking structural similarities.) Also, the images it produces are beautiful. :-)

      Disclaimer: I wrote the original version for my MSc project 7 years ago. Future students added further improvements in later years, including notably creating two Android apps. All versions are free and open source software.

      - https://play.google.com/store/apps/details?id=uk.ac.ed.inf.mandelbrotmaps - Android app port, by Alasdair Corbett

      - https://play.google.com/store/apps/details?id=io.bunnies.fractalmaps - Updated Android app (Fractal Maps), by Sky Welch

      - http://homepages.inf.ed.ac.uk/wadler/mandelbrot-maps/ - Original Mandelbrot Maps (Java applet), by me

      - Wadler's blog: http://wadler.blogspot.co.uk/2015/04/fractal-maps.html | http://wadler.blogspot.co.uk/2012/03/mandelbrot-and-julia-surprising.html | http://wadler.blogspot.co.uk/2008/09/mandelbrot-maps.html

    • burakemirMay 2020

      This piece is intended as an accessible intro; it talks about the beginnings of formal logic, how intuitionism in the debate on foundations of mathematics led to intuitionistic logic, and Gentzen's natural deduction.

      It seems the only other HN discussion about a post on natural deduction so far was this one: https://news.ycombinator.com/item?id=22324836

      There is also one on Curry Howard:
      https://news.ycombinator.com/item?id=17748717

      It's from there that I found "Howard on Curry Howard", a published response to a letter Phil Wadler wrote to William A. Howard. It provides an excellent hint how Martin-Löf's work on dependent types was influenced by the Curry-Howard correspondence and natural deduction.
      https://wadler.blogspot.com/2014/08/howard-on-curry-howard.html

    • liviu-Feb 2015

      >I also dispute the claim that a strong type system is a "tiny factor" in code quality.

      There actually are some studies that show that using a static typing system is only a tiny factor when it comes to code quality:

      http://wadler.blogspot.co.uk/2011/09/experiment-about-static-and-dynamic.html

      However, I've also read studies that show the opposite, but the lack of rigurosity and the possible confounds that show up for both sides seems to render this as an open question.

    • willtimMar 2018

      Haskell. For programming with immutable values and pure functions, beautiful succinct syntax and strong types. Strong types ensure correctness, but in Haskell, they also help me reason about where and when my effects (such as IO) are happening,

      Haskell is now the current inspiration for many object-oriented languages like C# and Java:

      http://wadler.blogspot.co.uk/2012/09/brian-goetz-on-future-of-java.html?m=1

    • gtycombOct 2019

      Consider that fact that prime-minister of Singapore knows Haskell by now

      http://wadler.blogspot.com/2015/04/prime-minister-of-singapore-plans-to.html

      He is already quite good with C++

      https://arstechnica.com/information-technology/2015/05/prime-minister-of-singapore-shares-his-c-code-for-sudoku-solver/

    Related

    Existential Typeexistentialtype.wordpress.com157 people

    Haskell Is Exceptionally Unsafe (2012)

    Existential Type
    Personal · last shared 2026
    Lambda the Ultimatelambda-the-ultimate.org615 people

    Simon Peyton Jones Elected into the Royal Society Fellowship

    Lambda the Ultimate
    Publication · last shared 2026
    Philip Guopeople.csail.mit.edu784 people

    “A closure is a poor man’s object; an object is a poor man’s closure” (2003)

    Philip Guo
    Personal · last shared 2026
    Chas Emerickcemerick.com35 people

    100% time

    Chas Emerick
    Personal · last shared 2025
    Bryan O'Sullivanserpentine.com49 people

    Github is making me feel stupid(er)

    Bryan O'Sullivan
    Personal · last shared 2021
    Oliver Charlesocharles.org.uk45 people

    How I develop with Nix

    Oliver Charles
    Personal · last shared 2019
    Don Stewartdonsbot.wordpress.com40 people

    Back to old tricks, or, baby steps in Rust

    Don Stewart
    Personal · last shared 2020
    Simon Marlowsimonmar.github.io30 people

    Haskell in the Datacentre

    Simon Marlow
    Personal · last shared 2026