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

    Playing with Pointers

    playingwithpointers.com · Personal blog · on HN since 2010

    Playing with Pointers is a blog on compilers, JIT internals, LLVM optimizations, and programming language theory.

    Visit blogHN submissions
    Languages & CompilersSystems & Performance
    What HN says

    HN commenters recommend its LuaJIT and LLVM check widening posts, and one points to its constructive Cantor's diagonal argument in Agda.

    Stats for nerds
    16HN people shared it
    37linked in comments
    538story points
    Jul 2016last shared
    2012people per year2016

    Top posts on HN

    1. 1
      Java Optimizations and the JMM
      1 person · 69 points · first shared 2014 · 5 comments on HN
    2. 2
      Check Widening in LLVM
      1 person · 57 points · first shared 2016 · 10 comments on HN
    3. 3
      Compiling the lambda calculus (2013)
      2 people · 56 points · first shared 2013 · 2 comments on HN
    4. 4
      Reference Counting: Harder Than It Sounds
      1 person · 53 points · first shared 2016 · 24 comments on HN
    5. 5
      Macros in Haskell
      1 person · 50 points · first shared 2011 · 11 comments on HN
    6. 6
      Inter-Procedural Optimization and Derefinement
      3 people · 47 points · first shared 2016 · 11 comments on HN
    7. 7
      Haskell's Fixed Point Combinator
      1 person · 36 points · first shared 2011 · 8 comments on HN
    8. 8
      A problem with LLVM's undef
      1 person · 30 points · first shared 2015 · 4 comments on HN
    9. 9
      Peeking inside LuaJIT - Playing With Pointers
      3 people · 26 points · first shared 2012 · 1 comments on HN
    10. 10
      A Lattice for Speculative Data Flow Analysis
      1 person · 24 points · first shared 2014 · 3 comments on HN

    What HN people wrote when they linked it

    • nkurzJul 2016

      Thanks, that goes a long way toward an explanation. I'm still a bit surprised though that no compilers seem to complain even if we cast away the const from the properly const-qualified version. Here's the snippet I was playing with that tests all the variations:
      https://godbolt.org/g/aaC4B7

      I should have expected it, but if you define the "lying" function where the compiler can see the full definition (and don't specify -fno-inline), the loads are optimized out. It made me wonder though whether some variation of this bug might apply : http://www.playingwithpointers.com/ipo-and-derefinement.html

    • nickikNov 2012

      There are many compiler books but no books about JITs in general. There are some good blogpost about LuaJit but not that many. Following Mike Pall (MikeMike on HN or reddit is intressting too)

      This is a good start:
      http://playingwithpointers.com/archives/1010

    • YorkshireSeasonJul 2015

      Exactly. Here is an implementation of Cantor's diagonal method in Agda which is entirely constructive: http://www.playingwithpointers.com/agda-cantor.html

    • sanjoy_dasJul 2016

      Is this what you're looking for: http://www.playingwithpointers.com/check-widening-in-llvm.html#final-example ?

    Related

    LLVM Blogblog.llvm.org226 people

    Clang Is Now Used to Build Chrome for Windows

    LLVM Blog
    Company · last shared 2026
    John Regehrblog.regehr.org401 people

    Teaching C

    John Regehr
    Personal · last shared 2026
    Think Relevancethinkrelevance.com69 people

    My Clojure Workflow, Reloaded

    Think Relevance
    Company · last shared 2020
    Oracle Blogsblogs.oracle.com651 people

    “Stop reverse engineering our code”

    Oracle Blogs
    Company · last shared 2026
    FP Complete Blogfpcomplete.com201 people

    Monads and GATs in Nightly Rust

    FP Complete Blog
    Company · last shared 2025
    Jeremy Kunjeremykun.com194 people

    A Programmer's Introduction to Mathematics

    Jeremy Kun
    Personal · last shared 2026
    Jon Sterlingjozefg.bitbucket.org19 people

    Leaving Go

    Jon Sterling
    Personal · last shared 2016
    Ralf Jungralfj.de99 people

    There is no memory safety without thread safety

    Ralf Jung
    Personal · last shared 2026