
The Art of the Interpreter (1978) [pdf] - tosh
https://dspace.mit.edu/bitstream/handle/1721.1/6094/AIM-453.pdf
======
fao_
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.

~~~
Kwantuum
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.

~~~
fao_
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](https://en.wikipedia.org/wiki/Psychology#WEIRD_bias)

------
vincent-manis
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.

~~~
fao_
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.

~~~
082349872349872
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.)

------
linguae
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.

~~~
cellularmitosis
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...](https://gist.github.com/cellularmitosis/a46efbf32544cde3a1d156e4903e051f)

2:
[https://gist.github.com/cellularmitosis/d8d4034c82b0ef817913...](https://gist.github.com/cellularmitosis/d8d4034c82b0ef817913a01138b115bf)

