Hacker News new | past | comments | ask | show | jobs | submit login
The Art of the Interpreter (1978) [pdf] (dspace.mit.edu)
62 points by tosh 29 days ago | hide | past | favorite | 11 comments



It's interesting how nobody's responded or engaged with this, the post is 3 hours old with 0 comments, there's another post currently on the frontpage that's 1 hour old with 38 comments.

When PG set this place up he didn't want it filled up with political material, or things you could find elsewhere in other tech-specific news sites.

But at the end of the day, those are the things most users on here can understand, after the five years of reading this site, the average person on here comes off as trying to sound superior, but the only topics they consistently engage with are the ones that are accessible to anyone, without needing to know the subject matter. You can have an opinion on abortion without reading any political theory on it, and indeed most people won't, just like you can have an opinion on style notation (which is what the other article is about, incidentally).

Things like "Understanding and writing a JPEG decoder in Python" (5 hours ago, 13 comments) or "The Floppy Disk of Floating Point" (10 hours ago, 75 comments), will naturally see less interaction than articles like "TikTok Agreed to Buy More Than $800M in Cloud Services from Google" (6 hours ago, 147 comments) or "German court bans Tesla ad statements related to autonomous driving" (11 hours ago, 474 comments). Simply because they're technically-driven articles, not something you would see on a regular tabloid. And as the userbase of this site has shot up, the interests of the people here has grown more homogenised and mainstream.

It's difficult to have an opinion on this PDF, or interpreters in general, if you haven't actually read the content, so most people will not engage with it. Even though it's more informative than the political things that show up on this site. Even though it's more unique.

Don't misunderstand me, most of it is just time cost. But a fair amount of it is just lack of willingness, lack of willingness to engage with material that takes more than a second to process, that you can't memoize a viewpoint on, something you have to read properly to understand the content.

It's sad, but it's human.


The paper is dense with ideas and 70 pages long, had I found it the minute it was posted, I still would not have been done reading through it and understanding its contents by the time you posted your comment. And I just don't have that kind of time to spend when I'm browsing hacker news.

Considering this is also a "news" site, I would guess a lot of people (I know I do) simply browse it quickly to keep an eye on the technical landscape as well as for ideas for future technical exploration.

I think if you want engagement on "non-scannable" pieces like this one, you would be better served by a sort of "book club" system, where people can submit long-form content and vote on it to pick one for discussion a week later. This seems like a cool idea actually. Might have to play with it.


You're missing my point completely. And I already covered the reasons you just stated, in my comment above yours. That's what the second to last paragraph was about :/

> Considering this is also a "news" site, I would guess a lot of people (I know I do) simply browse it quickly to keep an eye on the technical landscape as well as for ideas for future technical exploration.

Hacker News was not supposed, originally, to host the same content as Bloomberg or The Wall Street Times, or The New York Post, and yet it often does, and those are the articles people engage with the most.

Not only are those usually articles where the the commenters have zero new insight on the things in question -- i.e. where they are utterly uneducated, and bringing up problems as if they are new, when they are covered in a 101 undergraduate class on the subject(!) -- but it is articles where it's 'acceptable' for people to be uneducated, and still have an opinion, even if they (as is often the case with high-paid WEIRD[0] tech workers) live an extremely sheltered life and have no life experience with the realities of the situation and the people involved (As is usually the case with 'free speech' articles, etc.). It's almost guaranteed I can click on a political article about something like race, gender, or class, and have people who have never picked up literally any type of writing about racism in their lives, denying that it exists because they live in an all-white suburban area and have never had to deal with the realities of the world in which they live. The realities that other people face every single day.

I'm not asking for this place to be purely technical manuals, I'm asking for this place to be what it was originally supposed to be, and what it used to be, which incidentally, is not replicating the content of major news outlets, but bringing interesting articles about science and technology to the front page. Interestingly enough lobste.rs is much better both because I see marginalised people posting there more often, and getting upvoted, and also because the content feed is more technically-focused.

I don't agree with why PG ditched this place, but I do agree with the act. These days there's generally less than or equal to a single item on the front page that I could not have found by just opening any other major news outlet dedicated to tech, like Wired, or Techcruch. Or just some shitty subreddit reposting from those sites.

[0]: https://en.wikipedia.org/wiki/Psychology#WEIRD_bias


I wonder whether mobile-friendly plain HTML would be better received than scanned pages. I have to admit skipping a lot of PDFs, and now wanting to search and skim just to see if a reader in 2020 is still likely to learn anything new from this seminal work.


I agree with the format change, but I don't think people in 2020 are inherently more informed than people in the past. It depends on the individual to put their mind to work and allocating time, and the culture that they surround or grow around themselves that dictates what they're exposed to.

For example, you can say that most people these days are exposed to stuff about quantum physics, and indeed they probably 'know more' than people did in the past. But in reality the majority of what people are exposed to (if they are at all) and the majority of what is accessible to a layman, are parodies and crude misunderstandings of the science itself.

We're mostly the same old people we've always been. Much of the social problems we struggle with and arguments we have are hundreds of years old, and we're still struggling with things, like treatment of racism, perception of gay and trans people, that were thought to be eradicated in the 1970s. Because at the end of the day, schools won't teach people how to notice and pick apart their cultural upbringing and blind spots, it's something that you have to teach yourself, if people bother to do that anyway.

And nobody, not even on this site, seems to be willing to pick up the academic literature on the subjects that they expound on. A lot of the "SJW" material posted to this site gets harsh criticism and debate, and a lot of it is only basic 101 material, stuff you teach to undergraduates.

Arguably, around worker's rights people are less educated than they were in the past, with regards to social organization. In the UK most working class people have forgotten that strikes are the only way we obtained the right to vote for working class people (in the 1800s, all working class people were unable to vote) or any rights at all. In the US, people have forgotten that workers used to protest by dismantling the houses of the people in charge. So it's funny to see people have opinions on these sorts of things on this website, not even aware that their ancestors took more drastic and more effective measures.


I already know enough about how jpegs work, and python and floating point as far as I'm concerned. Not saying it wouldn't help me to know more python, but I know very little about what tiktok is so guess which heading I clicked on. That's what "news" means I suppose?


I'm commenting primarily because I agree with fao_ that it's sad nobody's commenting on this post. Bottom line: the Lambda Papers (of which this is one) are a true achievement in programming languages. Before these papers, there was a belief that lambda calculus was of theoretical interest only. Various interpreting automata (of which the SECD machine is probably the best known) were seen as too inefficient to be of practical use. Steele and Sussman demonstrated in the papers that procedure application subsumes many features of sequential programming languages, including assignment, GOTO, and object-oriented programming (the original plan was to build an actor language, until they realized that procedure application gives objects), and that you can build an efficient interpreter or compiler for the full lambda calculus. Anybody interested in programming languages can benefit from reading them.


Because the lambda papers were multiple submissions for a thesis (each one rejected(!)), sometimes comments slip in about certain things, and it's just generally fascinating to read.


p57 {LABELS} is interesting because historically it took a long time to get from LABEL to LABELS. One doesn't have to change much to add LABELS to a LISP 1.5, but because almost all the time LABEL suffices, I don't think anyone really felt the need.

p63 {QUOTE shafts the compiler} is still a religious war to this day.

p68 {WEBER} shows Steele & Sussman were writing pre-Moggi, but faced similar problems.

(incidentally, the overruns in the box on p55 make me think that despite the right-justified text, the boxes were added after printing, via pen & ruler.)


What a timely post. I actually just finished implementing an S-expression lexer and parser written in Python; I'm going through the LISP 1.5 Programmer's Manual and my next step is to implement that manual's legendary Page 13 that describes a basic LISP 1.5 interpreter written in itself. All of this is in preparation for teaching an undergraduate-level course on programming language paradigms beginning next month, where I plan to teach my students the foundations of programming languages as well as introducing them to functional programming, logic programming, and Smalltalk-style message-passing object oriented programming (my students will be mainly third-year undergraduates with years of experience in Java but with likely no previous experience in languages like Lisp, Scheme, Haskell, Prolog, and Smalltalk).

Alan Kay said that "point of view is worth 80 IQ points." I want to show my students the value of thinking of problems in ways that are different from the dominant programming paradigm used by languages like Java and Python. I've been meaning to read some of the early Scheme papers; it looks like "The Art of the Interpreter" is exactly what I'm looking for.


Nice! A while back I went as far as implementing '(+ 1 1)' in Python [1], then went as far as implementing lambda in C [2].

1: https://gist.github.com/cellularmitosis/a46efbf32544cde3a1d1...

2: https://gist.github.com/cellularmitosis/d8d4034c82b0ef817913...




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: