Top all-time · #3179
Eric Holk
Personal blog · blog.theincredibleholk.org/blogprogrammingsystems
Eric Holk's personal blog at blog.theincredibleholk.org covers programming and systems. Since 2012, 23 different Hacker News readers have linked it 31 times, most often “Compiling Rust for GPUs”. It is still writing: the last post was on 2026-08-15, and you can follow it by feed.
Most-linked posts?
- Compiling Rust for GPUs3 people · 3 mentions · first linked 2013-12-19
- Booting to Rust3 people · 3 mentions · first linked 2013-11-19
- A Look at Dyn* Code Generation3 people · 3 mentions · first linked 2022-12-13
- How Async Functions in Traits Could Work in Rustc2 people · 2 mentions · first linked 2022-04-21
- Harlan, new Lispy language for GPU programming2 people · 2 mentions · first linked 2013-07-01
- /blog/2013/06/10/some-simple-gpu-optimizations/2 people · 2 mentions · first linked 2013-07-01
What Hacker News says?
Rust is a low-level language so everything user-space can be implemented, and the main (and only) compiler rustc uses an industrial strength optimiser (LLVM) which has support for automatic vectorisation. Furthermore, the type system is designed to be very good for high-performance concurrency. See http://blog.theincredibleholk.org/blog/2012/12/05/compiling-... for an example of using Rust on a GPU, and I can only i…
Comment linking /blog/2012/12/05/compiling-rust-for-gpus/
on “The Road to Rust 1.0”Submitted Booting to Rust as a story · 369 points
HN discussionIs eholk no longer active in Rust-land? I remember reading his post [1] about compiling Rust for GPUs (i.e. app code + OpenCL kernels from a single source) back in 2012 and getting quite excited. Presumably generating SPIR-V wouldn't be vastly different in principle. [1] http://blog.theincredibleholk.org/blog/2012/12/05/compiling-...
Comment linking /blog/2012/12/05/compiling-rust-for-gpus/
on “Weep for Graphics Programming”Submitted How do we read code? as a story · 214 points
HN discussion> Despite my strong attachment to the Rust community and Rust’s perfect suitability for kernels1, I’ll be writing the kernel in C. Mostly because it is unlikely people inside the university will be familiar with Rust, but also because GNU-EFI is a C library and I cannot be bothered to bind it. I’d surely be writing it in Rust were I more serious about the project. I saw an example of booting…
Comment linking /blog/2013/11/18/booting-to-rust/
on “A x64 OS #1: UEFI”Submitted Harlan, new Lispy language for GPU programming as a story · 201 points
HN discussionI really should update the user guide, since the language has changed a lot in the last year. I have an earlier post that discusses a couple of the optimizations that Harlan does: http://blog.theincredibleholk.org/blog/2013/06/10/some-simpl... To me the win for Harlan over CUDA is its region system, which lets you work with more intricate pointer structures in the GPU. For example, there is an interpreter for the La…
Comment linking /blog/2013/06/10/some-simple-gpu-optimizations/
on “Harlan, new Lispy language for GPU programming”Submitted Compiling Rust for GPUs as a story · 79 points
HN discussionI found a couple relevant links - a blog post of the author's about GPU optimizations [1], and an early paper on this work [2]. [1] http://blog.theincredibleholk.org/blog/2013/06/10/some-simpl... [2] http://www.cs.indiana.edu/~eholk/papers/parco2011.pdf
Comment linking /blog/2013/06/10/some-simple-gpu-optimizations/
on “Harlan, new Lispy language for GPU programming”Submitted Why the Harlan compiler was written in Scheme as a story · 6 points
HN discussionYou may find this paper helpful [1]. As noted there, syntax-rules consists really of two different parts: (1) the hygiene-preserving macro expander and (2) the pattern-matching facility. Once you wrap your head around the two pieces, it's actually pretty straightforward to implement them both. It's very common to write some "low-level" macro facility as a stepping-stone to syntax-rules (such as explicit-renaming mac…
Comment linking /blog/2013/02/12/patterns-with-ellipses/
on “Gerbil – An opinionated dialect of Scheme designed for systems programming”Submitted Monads as a Design Pattern as a story · 3 points
HN discussionAlso worth checking out: http://rust-class.org/ Or maybe this, if UEFI is palatable to you: http://blog.theincredibleholk.org/blog/2013/11/18/booting-to...
Comment linking /blog/2013/11/18/booting-to-rust/
on “Operating System Development in Rust”Submitted Beware the Logarithms as a story · 3 points
HN discussionSort of; it's not trivial, but some people have done it. See https://bheisler.github.io/post/rust-on-the-gpu-with-accel/ for example. I think https://blog.theincredibleholk.org/blog/2012/12/05/compiling... is the earliest one I know of; two and a half years before Rust 1.0!
Comment linking /blog/2012/12/05/compiling-rust-for-gpus/
on “Graphics Team ships WebRender MVP”Submitted How Async Functions in Traits Could Work in Rustc as a story · 2 points
HN discussionI think a good way to understand how they work is by implementing a simple Scheme interpreter that explicitly passes around the continuations of the guest language. This page helped me quite a bit a few years ago http://blog.theincredibleholk.org/blog/2013/11/27/continuati...
Comment linking /blog/2013/11/27/continuation-passing-style-interpreters/
on “Writing a Lisp: Continuations”Submitted Why is Harlan called Harlan? as a story · 2 points
HN discussionLanguage development have not been "stalled", it's just mainly under the radar. Some nice designs are out there, see Vobla and Pencil [1] for example, or Harlan [2] as another extreme. [1] http://carp.doc.ic.ac.uk/external/dissemination.php [2] http://blog.theincredibleholk.org/blog/2013/06/28/announcing...
Comment linking /blog/2013/06/28/announcing-the-release-of-harlan/
on “The Vision Intel, AMD and Nvidia Are Chasing: Heterogeneous Computing”Submitted Access patterns matter for GPU Programming as a story · 2 points
HN discussionSubmitted A Look at Dyn* Code Generation as a story · 1 points
HN discussionSubmitted A Look at Dyn* Code Generation as a story · 1 points
HN discussionSubmitted A Look at Dyn* Code Generation as a story · 1 points
HN discussionSubmitted Paper Review: Safe, Flexible Aliasing with Deferred Borrows as a story · 1 points
HN discussionSubmitted How Async Functions in Traits Could Work in Rustc as a story · 1 points
HN discussionSubmitted When Slow Algorithms Are Faster as a story · 1 points
HN discussionSubmitted Building the Weasley's Magical Whereabouts Clock from Harry Potter as a story · 1 points
HN discussionSubmitted Should You Go to Grad School? Or, Why I'm Glad I Went to Grad School as a story · 1 points
HN discussionSubmitted Some Picky Presentation Tips as a story · 1 points
HN discussionSubmitted What Is Macro Hygiene? as a story · 1 points
HN discussion