Top all-time · #9367
Abubalay
Personal blog · abubalay.com/blogprogrammingsystems
Abubalay is a personal blog at abubalay.com about programming and systems. Since 2018, 8 different Hacker News readers have linked it 13 times, most often “From recursive descent to LR via Pratt parsing (2021)”. The last post was in 2024, but the archive is still widely read.
Too few sampled comments (2) to say how often HN recommends it.?
Why HN links it
HN readers link this blog for programming-language design writing, including an Enum of Arrays post on array-of-structs versus struct-of-arrays and a post on Rust async futures and effect lowering.
Summarised by Claude from a sample of 2 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- From recursive descent to LR via Pratt parsing (2021)4 people · 5 mentions · first linked 2022-01-01
- Soak: a struct-of-arrays library in Rust2 people · 2 mentions · first linked 2019-02-17
- A lowering strategy for control effects in Rust2 people · 2 mentions · first linked 2024-01-15
- The problem of safe FFI bindings in Rust2 people · 2 mentions · first linked 2020-08-23
What Hacker News says?
Good insight. Ah... category theory :-) Array-of-Stuct (AoS) treats order in arrays as meaningful, arrays as lists, so AoS => Struct-of-Array (SoA) doesn't loose information. It is a sound transformation because it is a homomorphism. Some languages (homoiconic, or with macros or template support) can express this code transformation: e.g. Julia, https://github.com/JuliaArrays/StructArrays.jl , or Rust, https://www.a…
Comment linking /blog/2019/02/16/struct-of-arrays
on “Enum of Arrays”Submitted A lowering strategy for control effects in Rust as a story · 146 points
HN discussion> Does anyone have some thoughts on this? Discussed most recently @ https://www.abubalay.com/blog/2024/01/14/rust-effect-lowerin... / https://news.ycombinator.com/item?id=39005780 It's a viable approach if you can take the time to get it right. Async rust started out with more of a limited, MVP approach, where they first did the simplest thing that would surely work, and then went on from there.
Comment linking /blog/2024/01/14/rust-effect-lowering
on “Let futures be futures”Submitted Writing a recursive ascent parser by hand as a story · 140 points
HN discussionExactly. This is essentially converting the parser to bottom-up just for these rules. It's how Pratt parsing/precedence climbing works. I wrote this post on the connection: https://www.abubalay.com/blog/2021/12/31/lr-control-flow
Comment linking /blog/2021/12/31/lr-control-flow
on “Fixing left and mutual recursions in grammars”Submitted From recursive descent to LR via Pratt parsing (2021) as a story · 8 points
HN discussionPratt parsing is essentially hand-written LR. It's certainly bottom-up in the same way, despite Pratt's paper title. (I went into more depth on this a few years ago: https://www.abubalay.com/blog/2021/12/31/lr-control-flow )
Comment linking /blog/2021/12/31/lr-control-flow
on “Parsing and all that”Submitted Safe Cell field projection in Rust (2020) as a story · 2 points
HN discussionSubmitted The problem of safe FFI bindings in Rust as a story · 2 points
HN discussionSubmitted Soak: a struct-of-arrays library in Rust as a story · 2 points
HN discussionSubmitted From recursive descent to LR parsing as a story · 1 points
HN discussionSubmitted From recursive descent to LR parsing as a story · 1 points
HN discussionSubmitted The problem of safe FFI bindings in Rust as a story · 1 points
HN discussion