@yogthos I’m really intrigued by this idea that the “real” hardware design underlying the PDP-11-like abstraction is more like a functional programming model…could you elaborate on that or link to more reading? I’ve read that ACM paper but it’s pretty brief. So maybe I just don’t understand the link to FP. Thanks.
I don’t really have another paper handy, but basically what it comes down to is shared mutable state. The reason FP is a better fit is because you structure your code as a series of data transformation pipelines, and state is carried explicitly between them. This model maps much better to how a modern CPU or a GPU actually works internally. So, if we embraced a programming model without shared mutable state then it would map much closer to how hardware works and avoid the need for what’s effectively a VM layer in between.
That makes a lot of sense. Thanks!