Re:The Memory Models That Underlie Programming Languages
by kragen on Monday January 02, 2017 @04:26PM
(#13304687)
Thank you for the compliment!
This paper of Strachey's looks very interesting; thank you! Essentials of Programming Languages argues that we can understand many of the important differences between programming languages by way of what kinds of different lvalues (approximately EOPL's "denoted values") and rvalues (approximately EOPL's "expressed values") the language has. For example, in C, you can have a variable that denotes an array, while in Python, your variable can only denote a pointer to an array ("list").
This obviously ties in rather closely with the theme of the essay.
https://www.meetup.com/papers-we-love/events/220902753/
https://www.youtube.com/watch?v=cO41uoi5cZs
Fundamental concepts in programming languages by Strachey:
https://scholar.google.com/scholar?cluster=78257060851933706...
It's similar in that it reaches back to the 60's to examine some things we take for granted in a programming language. What is a name, a value, an L-value, an R-value, how do closures capture, how does evaluation work, etc.?
A lot of popular languages have settled on the same choices, but it's good to see the universe of possibilities.