Jeremy Siek
siek.blogspot.com · Personal blog · on HN since 2013
Jeremy Siek, a programming language researcher, writes about type safety proofs, notation, algorithms and teaching with the Deduce tool.
What HN saysHN commenters repeatedly point to his "Crash Course on Notation in Programming Language Theory" as a clear explainer for reading type-theory notation.
15HN people shared it
8linked it in comments
14stories submitted
173story points
2 years agolast shared
2013people per year2026
Most-shared posts
- 1Crash Course on Notation in Programming Language Theory6 people · 134 points · first shared 2013 · 14 comments on HN
- 2Sequential Search, Correctly2 people · 21 points · first shared 2024 · discussion on HN
- 3Data Structures and Algorithms, Correctly2 people · 4 points · first shared 2024 · discussion on HN
- 4Type Safety in Two Easy Lemmas2 people · 4 points · first shared 2020 · 1 comments on HN
- 5Type Safety in Three Easy Lemmas1 people · 2 points · first shared 2013 · discussion on HN
- 6Type Safety in Five Easy Lemmas1 people · 2 points · first shared 2014 · discussion on HN
- 7Strongly Connected Components and Kosaraju's Algorithm1 people · 2 points · first shared 2021 · discussion on HN
- 8Take-aways from using Deduce in the classroom1 people · 2 points · first shared 2024 · discussion on HN
- 9The Publication Process in Programming Languages1 people · 1 points · first shared 2014 · discussion on HN
- 10Type Safety in 10 Easy, 4 Medium, and 1 Hard Lemma using Step-indexed LRs1 people · 1 points · first shared 2023 · discussion on HN
- 11Crash course on notation in programming1 people · first shared 2018
- 12Is typescript gradually typed part 11 people · first shared 2014
- 13Is typescript gradually typed part 11 people · first shared 2013
- 14The semantics of familiar language1 people · first shared 2014
What HN people wrote when they linked it
scott_s · 2014-08-05
Jeremy Siek has an excellent blog post explaining this called "Crash Course on Notation in Programming Languages": http://siek.blogspot.com/2012/07/crash-course-on-notation-in-programmi…
mgreenbe · 2020-08-08
neel_k · 2018-01-26
This is a nice post! Jeremy Siek wrote a similar post a few years ago:
http://siek.blogspot.co.uk/2012/07/crash-course-on-notation-in-program…
If I could add one thing to these two posts, it would be to learn Prolog.
We write inference rules top-down ("from these premises, we draw this conclusion"), but we often read them bottom-up ("given this goal, what facts could have lead to it?").
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's fundamentally the same intuition that Prolog programmers develop -- and learning new programming languages is usually easy for programmers.
[1] It's not really by luck, of course: Prolog is called a logic programming language for a reason...
NAFV_P · 2014-01-11
I found another article by the same guy on the right of the page, written in July of 2012:
http://siek.blogspot.co.uk/2012/07/the-semantics-of-familiar-language.…
... Looks interesting, but it looks like I'll have to read this crash-course first!
ek · 2014-01-08
Unfortunately this contribution is inhibited from being significant in value by the fact that TypeScript doesn't support full gradual typing [0] and has an intentionally unsound type system [1].
[0] http://siek.blogspot.com/2012/10/is-typescript-gradually-typed-part-1.…
[1] https://typescript.codeplex.com/discussions/428572
zcrar70 · 2013-09-27
Typescript also uses 'gradual' typing. See http://siek.blogspot.co.uk/2012/10/is-typescript-gradually-typed-part-… - Siek is referenced in the original post, too.
Clojure's type system sounds more powerful than Typescript's though.
xiaomai · 2013-04-25
Jeremy Siek also has a good intro to the notation: http://siek.blogspot.com/2012/07/crash-course-on-notation-in-programmi…