TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

A practitioner’s guide to reading programming languages papers

182 pointsby r4umover 7 years ago

2 comments

neel_kover 7 years ago
This is a nice post! Jeremy Siek wrote a similar post a few years ago:<p><a href="http:&#x2F;&#x2F;siek.blogspot.co.uk&#x2F;2012&#x2F;07&#x2F;crash-course-on-notation-in-programming.html" rel="nofollow">http:&#x2F;&#x2F;siek.blogspot.co.uk&#x2F;2012&#x2F;07&#x2F;crash-course-on-notation-...</a><p>If I could add one thing to these two posts, it would be to learn Prolog.<p>We write inference rules top-down (&quot;from these premises, we draw this conclusion&quot;), but we often read them bottom-up (&quot;given this goal, what facts could have lead to it?&quot;).<p>This double-vision thing, where you simultaneously view a set of inference rules in both a deductive and goal-directed fashion, is IMO one of the main stumbling blocks for people new to type theory. Luckily[1], however, it&#x27;s fundamentally the same intuition that Prolog programmers develop -- and learning new programming languages is usually easy for programmers.<p>[1] It&#x27;s not really by luck, of course: Prolog is called a logic programming language for a reason...
评论 #16240742 未加载
评论 #16238862 未加载
chubotover 7 years ago
This is great! I wish I had seen something like this years ago.<p>Related: &quot;It&#x27;s Time for a New Old Language&quot; by Guy Steele.<p><a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=7HKbjYqqPPQ" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=7HKbjYqqPPQ</a><p>He gives a history of metalanguage notations (for both language semantics and syntax, including regexes and CFGs). And then he criticizes the inconsistency that has cropped up in these notations over the years.<p>The irony is that people who are formalizing precise semantics of programming languages do not agree on the syntax&#x2F;semantics of the metalanguage.<p>I guess this is what you notice when you read hundreds of programming language papers, as I&#x27;m sure Guy Steele has.<p>-----<p>Also, does anyone know if what he refers to as &quot;progress and preservation&quot; are the same &#x2F; related to &quot;liveness and safety&quot; in distributed algorithms? It sounds like the same kind of idea.
评论 #16238196 未加载
评论 #16244285 未加载