G
Graydon Hoare
venge.net · Personal blog · on HN since 2008
Graydon Hoare, the original creator of Rust, shares talks and writing on compilers, language design, and early Rust and Servo.
What HN saysHN links it for Rust's early history and for his compiler talks, which commenters include in lists of compiler learning resources.
36HN people shared it
19linked it in comments
22stories submitted
219story points
3 months agolast shared
2008people per year2026
Most-shared posts
- 1Project Servo (2010) [pdf]11 people · 34 points · first shared 2016 · 11 comments on HN
- 2A wander through a weird landscape to the heart of compilation [pdf]9 people · 133 points · first shared 2019 · 12 comments on HN
- 3Vectorized Interpreters [pdf]5 people · 8 points · first shared 2023 · 1 comments on HN
- 4How I learned to stop worrying and love static metaprogramming3 people · 4 points · first shared 2008 · 1 comments on HN
- 5Talks3 people · first shared 2019
- 6One Day Compilers (Graydon Hoare)2 people · 33 points · first shared 2008 · 4 comments on HN
- 7Rust programming language (a.k.a. "Project Servo") [pdf]1 people · 3 points · first shared 2024 · discussion on HN
- 8Rust for "modern" C++ devs – Graydon Hoare, March 2022 [pdf]1 people · 2 points · first shared 2023 · discussion on HN
- 9One Day Compilers1 people · 2 points · first shared 2013 · discussion on HN
- 10Twonz1 people · first shared 2015
- 11Codecon 2006.pdf1 people · first shared 2019
- 12Homepage1 people · first shared 2019
What HN people wrote when they linked it
andai · 2026-08-08
Excellent list.
The last article links here, which I enjoyed:
https://venge.net/graydon/talks/VectorizedInterpretersTalk-2023-05-12.…
shoo · 2025-11-30
Jack Crenshaw's 1988-1995 series Let's Build a Compiler [1]
Graydon Hoare's 2002 talk `"One Day Compilers" or how I learned to stop worrying and love static metaprogramming` [2] (implements a compiler for a DSL that's a subset of makefile syntax in < 400 lines of code using ocaml toolchain)
edit: on second thoughts, aiming to ship a game in a novel _compiled_ language in a 7 day language+game jam is probably a lot more optimistic than aiming for an interpreted language.
[1] https://compilers.iecc.com/crenshaw/
[2] https://www.venge.net/graydon/talks/
LegionMammal978 · 2024-10-02
IIRC, Rust's idea of controlled mutability originally came directly from the Erlang idea of immutable messages between tasks. Certainly, in the classic "Project Servo" presentation [0], we can see that "no shared mutable state" refers specifically to sharing between different tasks. I think it was pretty early on in the project that the idea evolved into the fine-grained aliasing rules. Meanwhile, the lightweight tasks stuck around until soon before 1.0 [1], when they were abandoned in the standard library, to be later reintroduced by the async runtimes.
[0] http://venge.net/graydon/talks/intro-talk-2.pdf
[1] https://rust-lang.github.io/rfcs/0230-remove-runtime.html
weinzierl · 2023-09-28
I could not find a source from 2009 but the following is from 2010 and it already mentions Servo.
http://venge.net/graydon/talks/intro-talk-2.pdf
The Wikipedia article about Rust says:
"Mozilla began sponsoring the project in 2009 as a part of the ongoing development of an experimental browser engine called Servo [..]"
steveklabnik · 2021-09-08
Agreed for sure that working with C and C++ is the only way forward for systems languages. Rust's expression of this is the zero-cost C FFI, using native platform tooling, and stuff like that. Rust was never about re-writing the world, after all, its reason for existing was to eventually improve Firefox. The very first presentation about Rust (http://venge.net/graydon/talks/intro-talk-2.pdf) says "We are not “rewriting the browser”. That's impossible. Put down the gun."
Zig's cross compilation stuff and general compiler features, that this post talks about, is excellent, awesome, and makes me quite jealous frankly.
pornel · 2020-08-03
Rust officially credits many languages including C++: https://doc.rust-lang.org/reference/influences.html
First Mozilla introduction of Rust states:
> Rust is a language that mostly cribs from past languages. Nothing new.
http://venge.net/graydon/talks/intro-talk-2.pdf (I recommend reading the slides — they're great!)
so whoever is accusing C++ of "stealing" Rust ideas is uninformed about C++ and Rust.
yorwba · 2019-04-14
The URL is http://venge.net/ graydon /talks/CompilerTalk-2019.pdf
Edit in case it wasn't obvious: it seems unlikely that Graydon Hoare would upload someone else's talk on his homepage together with his other talks.
gnosis · 2010-01-10
OCaml. See:
One-Day Compilers or How I learned to stop worrying and love metaprogramming
http://www.venge.net/graydon/talks/mkc/html/mgp00001.html
silentbicycle · 2008-12-15
Graydon Hoare's "One-Day Compilers" (http://www.venge.net/graydon/talks/mkc/html/mgp00001.html) presentation is worth a look. It uses OCaml to build a compiler for basic makefiles (using C as an intermediate language).
Kragen Sitaker has a great collection of links for amateur compiler writers on his Ur-Scheme (http://www.canonical.org/~kragen/sw/urscheme/) page.
This paper (http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf) by Abdulaziz Ghuloum is also very interesting - he shows step-by-step how to write a simple native-code Scheme-like compiler by writing small C functions, compiling them with gcc, and then saving the assembly output. ("Since we don’t know yet how to do that,
we ask for some help from another compiler that does know: gcc.") Heavy theory about optimizing? Nope. Demystifying and inspiring? Heck yeah.
khuey · 2025-05-13
> successful industrial open-source (?) projects loved by academics (Rust)
Is Rust loved by academics? And much more importantly in my mind, was it even recognized by academics before it became an industrial success?
The very first published Rust paper that I'm aware of appeared in the "ACM SIGAda Ada Letters" (https://dl.acm.org/doi/10.1145/2692956.2663188). Today that paper is the most cited paper to ever appear in that journal (which has a 4 decade history) and it's not even close. It also has more citations that all but three papers that appeared at PLDI that same year, for comparison. That certainly doesn't suggest to me that it was recognized at the time. This was also published only 6 months before Rust shipped 1.0. It wasn't that early.
My (third-hand and now-decade-old, so take it for the very little it's worth) recollection is that academic forums weren't interested in Rust because nothing in it is particularly novel in a PL theory sense (a point Graydon himself made from the very beginning, see slides 6 and 7 at http://venge.net/graydon/talks/intro-talk-2.pdf). But it did package those ideas into something that was practically usable for industry and at this point the results speak for themselves.
IMO this is a good example of why a lot of "practitioners" in industry wouldn't bother trying to publish anything in a forum dominated by academics.
jasode · 2025-11-17
Graydon Hoare, a former C++ programmer on Mozilla Firefox and the original creator of Rust, acknowledges that for many people, Rust has become a viable alternative to C++ :
https://graydon2.dreamwidth.org/307291.html
And on slide #4, he mentions that "C++ is well past expiration date" :
https://venge.net/graydon/talks/intro-talk-2.pdf
It's possible that Graydon's earliest private versions of Rust the 4 years prior to that pdf were an OCaml-inspired language but it's clear that once the team of C++ programmers at Mozilla started adding their influences, they wanted it to be a cleaner version of C++. That's also how the rest of the industry views it.
jason_oster · 2024-10-31
As completely off topic as my response will be, I'll at least keep to the theme of this thread. I was reminded the other day of an article that called out React and Flux for reinventing the Windows 1.0 dispatch architecture, and it made me laugh: https://www.bitquabit.com/post/the-more-things-change/
Also, can't miss the opportunity to bring up Graydon's iconic 2010 talk "Technology from the past come to save the future from itself". http://venge.net/graydon/talks/
satvikpendem · 2023-09-09
> Rust is trying to be a low-level ML
Yep, this is probably why I like it so much. I liked OCaml when I used it and Rust derives a lot of features from OCaml, as well as its initial compiler being written in OCaml, so I think the creators saw how well parts of OCaml fit together (Option and Result types, ADTs, etc) and added it to Rust, as Rust was much different than currently [0].
[0] http://venge.net/graydon/talks/intro-talk-2.pdf
chalst · 2022-02-27
Graydon Hoare wrote a really nice intro to the state of compiler technology in 2019: http://venge.net/graydon/talks/CompilerTalk-2019.pdf
He shouts out to Nanopass, a way of writing highly compositional compilers developed in the Scheme world and much ported elsewhere. This kind of approach much reduces the pain of designing and maintaining compilers and can lead to very efficient compilers: it is the technology used in Chez Scheme. It's not got much take-up outside of the Scheme-aware world, despite the existence of many ports of the essential idea to other languages; I note that interesting Nanopass links keep getting submitted to HN without getting commented on: https://hn.algolia.com/?q=nanopass
praveenperera · 2021-02-10
I've never seen the original introduction of Rust from Graydon Hoare before seeing the link in this post: http://venge.net/graydon/talks/intro-talk-2.pdf
The original vision for Rust sounds a lot like a typed Erlang without the BEAM.
svat · 2019-04-15
Funny you say that because he's done exactly that! If you look at http://venge.net/graydon/talks/codecon-2006.pdf about Monotone, it turns out (see http://venge.net/graydon/talks/) that it's “A talk Nathaniel Smith gave and I sat on stage looking supportive for, answering occasional questions. It's close to what I would have said!”
(Nevertheless about the original question: yes it's by Graydon Hoare as he mentions: “Talk for some undergrads in computer science at UBC about the wide world of compilers.”)
BrendanEich · 2016-08-04
Graydon tweeted https://twitter.com/graydon_pub/status/761280391239958528 and it's all clear now: the Mozilla Summit session was called "Project Servo" but focused more on Rust, and Graydon's slides had that phrase as title:
http://venge.net/graydon/talks/intro-talk-2.pdf
(also picked up on my T2 robot from the future joke and reversed it, lol). But Rust was Rust, even then. Servo was the big news, I think Rust was known within Mozilla, a bit. So we used Servo in the session name and the rest is history.
dwenzek · 2015-09-10
I use this public javascript: http://venge.net/programs/twonz.html.
To deal with changed passwords and password restrictions,
I use a page with of mapping for each issue to an updated base url or changes to be applied to the forged password.
mpweiher · 2023-01-25
> [Optimization not comparable to C++]
Hmm...considering Proebsting's Law[1], which is always shown to be too optimistic despite its pessimism[2][3], the arguments presented by DJ Bernstein[4] and the fact that Frances Allen got all the good ones in 1971 [5], etc. not sure how much this matters outside a few specialised domains.
[1] http://proebsting.cs.arizona.edu/law.html
[2] https://gwern.net/docs/cs/algorithm/2001-scott.pdf
[3] https://zeux.io/2022/01/08/on-proebstings-law/
[4] https://cr.yp.to/talks/2015.04.16/slides-djb-20150416-a4.pdf
[5] http://venge.net/graydon/talks/CompilerTalk-2019.pdf