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
    D

    Dave Herman

    calculist.org · Personal blog · on HN since 2011

    Dave Herman, a Mozilla researcher and W3C TAG candidate, writes about JavaScript, Rust, macros, and web platform design.

    Visit blogHN submissions
    Languages & CompilersWeb DevelopmentProgramming
    What HN says

    Commenters describe him as a high signal-to-noise contributor and cite his post arguing homoiconicity is not the point when discussing Lisp macros.

    Stats for nerds
    25HN people shared it
    14linked in comments
    712story points
    Jul 2023last shared
    2012people per year2023

    Top posts on HN

    1. 1
      Neon: Node plus Rust
      4 people · 338 points · first shared 2015 · 69 comments on HN
    2. 2
      Homoiconicity isn’t the point (2012)
      12 people · 246 points · first shared 2012 · 76 comments on HN
    3. 3
      On “On Asm.js”
      2 people · 98 points · first shared 2013 · 61 comments on HN
    4. 4
      Toolchains as Code
      1 person · 8 points · first shared 2020 · 1 comments on HN
    5. 5
      I'm Running for W3C TAG & I'd Like Your Support (David Herman)
      1 person · 7 points · first shared 2014 · Discussion on HN
    6. 6
      Why Coroutines Won't Work on the Web
      3 people · 6 points · first shared 2011 · Discussion on HN
    7. 7
      The little-endian web?
      1 person · 5 points · first shared 2012 · Discussion on HN
    8. 8
      Native JavaScript classes in Neon
      1 person · 3 points · first shared 2016 · Discussion on HN
    9. 9
      Homoiconicity isn’t the point
      1 person · 1 points · first shared 2013 · Discussion on HN
    10. 10
      Homepage
      1 person · first shared 2021

    What HN people wrote when they linked it

    • domenicdAug 2016

      > Why even bother with such half-baked solutions? In almost every case it's utterly transparent that these solutions exist for the benefit of the compiler and runtime author, usually because of intentional or unintentional technical debt--a direct or indirect dependency on the C or kernel stack.

      There is a significant faction of language designers that disagree, and think that keeping coroutines shallow is important for developers writing and reading the code. This post from Dave Herman<(involved in JavaScript and Rust) sums it up: http://calculist.org/blog/2011/12/14/why-coroutines-wont-work-on-the-web/. (The comment from Tom van Cutsem is also a good rephrasing: http://disq.us/p/9jcee9.) Note that the argument is not as applicable in languages with racy multithreading (like C/C++ or Java).

      I don't think it's necessarily a knockout argument, but it at least helps me sleep with what we've chosen for JavaScript.

    • pcwaltonMay 2018

      S-expressions aren't actually necessary for macros to work. You just have to be able to separate "READ" from "EXPAND" (to use Lisp-ish terminology).

      I believe, but am not sure, that this is possible for Go. (Of course, whether this is a good idea is another thing entirely. I probably wouldn't have included macros if I had been put in charge of Go 1.0, given Go's goals of simplicity.)

      More on this from my former colleague Dave Herman, who did his dissertation on macros: http://calculist.org/blog/2012/04/17/homoiconicity-isnt-the-point/

    • steveklabnikFeb 2016

      While this is true in some sense, there are also advantages. A ruby gem written in Rust via C FFI was one of the earliest production uses of Rust; the Skylight people still thought (and think) that it was very, very worth it.

      https://www.youtube.com/watch?v=2BdJeSC4FFI is a further exploration of this idea and how it works. Yes, you do need that small layer, but future libraries will make it even easier. There's the Neon work, for example: http://calculist.org/blog/2015/12/23/neon-node-rust/

    • chalstMay 2021

      Dave Herman has been a high signal-to-noise contributor to Lambda the Ultimate over the years; if you want to get an idea as to where he is coming from, looking at his contributions there [1], his slightly active blog [2], and on his now pretty much inactive joint blog [3] are good places to start.

      [1]: http://lambda-the-ultimate.org/user/825/track?sort=desc&order=author

      [2]: http://calculist.org/

      [3]: https://www.thefeedbackloop.xyz/

    • samthSep 2014

      Homoiconicity is either a trivial property (we can define an AST!) or a not-relevant-to-macros one (probably best expressed as "we have quote", which is basically true of JS).

      This post by Dave Herman nicely expresses the problems with homoiconicity as a concept: http://calculist.org/blog/2012/04/17/homoiconicity-isnt-the-point/

    • mseriJan 2016

      With specific C++ features there is still a lot of work to do, however the C FFI is solid and simple to use if that is enough for you (see e.g. https://doc.rust-lang.org/book/ffi.html).

      Interfacing Rust and python, ruby, node can be quite simple in fact (micro demo for node: http://calculist.org/blog/2015/12/23/neon-node-rust/)

    Related

    Brian Andersonbrson.github.io32 people

    Dave Herman’s contributions to Rust

    Brian Anderson
    Personal · last shared 2025
    Kang Seonghoonlifthrasiir.github.io16 people

    Why is a Rust executable large?

    Kang Seonghoon
    Personal · last shared 2023
    without.boatswithout.boats80 people

    Pin

    without.boats
    Personal · last shared 2026
    Ralf Jungralfj.de99 people

    There is no memory safety without thread safety

    Ralf Jung
    Personal · last shared 2026
    The Code Barbarianthecodebarbarian.com19 people

    I Don't Want to Hire You If You Can't Reverse a Binary Tree

    The Code Barbarian
    Personal · last shared 2025
    Graydon Hoarevenge.net36 people

    A wander through a weird landscape to the heart of compilation [pdf]

    Graydon Hoare
    Personal · last shared 2026
    David Barondbaron.org40 people

    Marginal income tax rates for a single California resident (2007)

    David Baron
    Personal · last shared 2026
    Matthias Endlerendler.dev45 people

    The best programmers I know

    Matthias Endler
    Personal · last shared 2026