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
    J

    Jeremy Siek

    siek.blogspot.com · Personal blog · on HN since 2013

    Jeremy Siek, a programming language researcher, writes about type safety proofs, notation, algorithms and teaching with the Deduce tool.

    Visit blogRSSHN submissions
    Languages & CompilersMathProgramming
    What HN says

    HN commenters repeatedly point to his "Crash Course on Notation in Programming Language Theory" as a clear explainer for reading type-theory notation.

    Stats for nerds
    15HN people shared it
    14linked in comments
    173story points
    Aug 2020last shared
    2013people per year2020

    Top posts on HN

    1. 1
      Crash Course on Notation in Programming Language Theory
      6 people · 134 points · first shared 2013 · 14 comments on HN
    2. 2
      Sequential Search, Correctly
      2 people · 21 points · first shared 2024 · Discussion on HN
    3. 3
      Data Structures and Algorithms, Correctly
      2 people · 4 points · first shared 2024 · Discussion on HN
    4. 4
      Type Safety in Two Easy Lemmas
      2 people · 4 points · first shared 2020 · 1 comments on HN
    5. 5
      Type Safety in Five Easy Lemmas
      1 person · 2 points · first shared 2014 · Discussion on HN
    6. 6
      Strongly Connected Components and Kosaraju's Algorithm
      1 person · 2 points · first shared 2021 · Discussion on HN
    7. 7
      Take-aways from using Deduce in the classroom
      1 person · 2 points · first shared 2024 · Discussion on HN
    8. 8
      Type Safety in Three Easy Lemmas
      1 person · 2 points · first shared 2013 · Discussion on HN
    9. 9
      The Publication Process in Programming Languages
      1 person · 1 points · first shared 2014 · Discussion on HN
    10. 10
      Type Safety in 10 Easy, 4 Medium, and 1 Hard Lemma using Step-indexed LRs
      1 person · 1 points · first shared 2023 · Discussion on HN

    What HN people wrote when they linked it

    • neel_kJan 2018

      This is a nice post! Jeremy Siek wrote a similar post a few years ago:

      http://siek.blogspot.co.uk/2012/07/crash-course-on-notation-in-programming.html

      If I could add one thing to these two posts, it would be to learn Prolog.

      We write inference rules top-down ("from these premises, we draw this conclusion"), but we often read them bottom-up ("given this goal, what facts could have lead to it?").

      This double-vision thing, where you simultaneously view a set of inference rules in both a deductive and goal-directed fashion, is IMO one of the main stumbling blocks for people new to type theory. Luckily[1], however, it's fundamentally the same intuition that Prolog programmers develop -- and learning new programming languages is usually easy for programmers.

      [1] It's not really by luck, of course: Prolog is called a logic programming language for a reason...

    • ekJan 2014

      Unfortunately this contribution is inhibited from being significant in value by the fact that TypeScript doesn't support full gradual typing [0] and has an intentionally unsound type system [1].

      [0] http://siek.blogspot.com/2012/10/is-typescript-gradually-typed-part-1.html

      [1] https://typescript.codeplex.com/discussions/428572

    • NAFV_PJan 2014

      I found another article by the same guy on the right of the page, written in July of 2012:

      http://siek.blogspot.co.uk/2012/07/the-semantics-of-familiar-language.html

      ... Looks interesting, but it looks like I'll have to read this crash-course first!

    • zcrar70Sep 2013

      Typescript also uses 'gradual' typing. See http://siek.blogspot.co.uk/2012/10/is-typescript-gradually-typed-part-1.html - Siek is referenced in the original post, too.

      Clojure's type system sounds more powerful than Typescript's though.

    • scott_sAug 2014

      Jeremy Siek has an excellent blog post explaining this called "Crash Course on Notation in Programming Languages": http://siek.blogspot.com/2012/07/crash-course-on-notation-in-programming.html

    • xiaomaiApr 2013

      Jeremy Siek also has a good intro to the notation: http://siek.blogspot.com/2012/07/crash-course-on-notation-in-programming.html

    Related

    Existential Typeexistentialtype.wordpress.com157 people

    Haskell Is Exceptionally Unsafe (2012)

    Existential Type
    Personal · last shared 2026
    Sergey Bratuscs.dartmouth.edu/~sergey27 people

    Remote Code Execution Through Intel CPU Bugs (2008) [pdf]

    Sergey Bratus
    Personal · last shared 2021
    Jeremy Kunjeremykun.com194 people

    A Programmer's Introduction to Mathematics

    Jeremy Kun
    Personal · last shared 2026
    Alexis Kinglexi-lambda.github.io172 people

    Parse, Don’t Validate

    Alexis King
    Personal · last shared 2026
    John Regehrblog.regehr.org401 people

    Teaching C

    John Regehr
    Personal · last shared 2026
    Matt Parsonsparsonsmatt.org57 people

    Write Junior Code

    Matt Parsons
    Personal · last shared 2026
    Justin Leblog.jle.im36 people

    Typesafe Neural Networks in Haskell with Dependent Types

    Justin Le
    Personal · last shared 2026
    Well-Typed Blogwell-typed.com60 people

    Falsify: Hypothesis-Inspired Shrinking for Haskell (2023)

    Well-Typed Blog
    Company · last shared 2026