Brown PLT Blog
blog.brownplt.org · Company blog · on HN since 2013
Brown University's programming languages research group writes about teaching, language design, formal methods, testing and program semantics.
What HN saysCommenters cite it for Rust resources, mystery languages, and its view of language size via core languages and desugaring, and as a source on Forge.
33HN people shared it
7linked it in comments
52stories submitted
534story points
5 months agolast shared
2013people per year2026
Most-shared posts
- 1Teaching the Essentials of Garbage Collection3 people · 94 points · first shared 2013 · 10 comments on HN
- 2Mystery Languages3 people · 68 points · first shared 2018 · 23 comments on HN
- 3Forge: A Tool to Teach Formal Methods3 people · 28 points · first shared 2024 · 1 comments on HN
- 4Sharing Is Scaring: Why Is Cloud File-Sharing Hard?3 people · 6 points · first shared 2025 · discussion on HN
- 5Philogenic Colors3 people · 6 points · first shared 2018 · discussion on HN
- 6Finding and fixing standard misconceptions about program behavior2 people · 78 points · first shared 2024 · 21 comments on HN
- 7Teaching and Assessing Property-Based Testing2 people · 44 points · first shared 2021 · 3 comments on HN
- 8Gradual Soundness: Lessons from static Python2 people · 17 points · first shared 2022 · 1 comments on HN
- 9Can We Crowdsource Language Design?2 people · 5 points · first shared 2017 · discussion on HN
- 10Differential Analysis: A Summary2 people · 4 points · first shared 2024 · discussion on HN
- 11Human Judgment as a Specification2 people · 3 points · first shared 2026 · discussion on HN
- 12Diagramming Program Values by Spatial Refinement2 people · 2 points · first shared 2026 · discussion on HN
- 13A Grounded Conceptual Model for Ownership Types in Rust2 people · 2 points · first shared 2023 · discussion on HN
- 14Examplar: A better way to teach programming (make students make the examples)2 people · 2 points · first shared 2024 · 1 comments on HN
- 15Progressive Types2 people · 1 points · first shared 2013 · discussion on HN
What HN people wrote when they linked it
hackermailman · 2025-12-05
Brown PLT group has a lot of Rust resources like a debugger for traits https://cel.cs.brown.edu/blog/an-interactive-debugger-for-rust-trait-e… a model of ownership types https://blog.brownplt.org/2023/09/17/rust-ownership.html and an experimental rewrite of the Rust book https://rust-book.cs.brown.edu/
Systems programming can be done in ocaml or any language really where there is some documentation on the runtime how not to trigger the GC or flags that can be passed to custom set GC policy
emmanueloga_ · 2024-11-20
The problem is that there's no universal definition of "small" when it comes to languages.
An article on the Brown PLT blog [1] suggests analyzing languages by defining a core language and a desugaring function. A small core simplifies reasoning and analysis but can lead to verbose desugaring if features expand into many constructs. The boundary between the core and sugared language is flexible, chosen by designers, and reflects a balance between expressiveness and surface simplicity.
Feature complexity can be evaluated by desugaring: concise mappings to the core suggest simplicity, while verbose or intricate desugarings indicate complexity.
So, a possible definition of a "small" language could be one with both a small core and a minimal desugaring function.
--
1: https://blog.brownplt.org/2016/01/08/slimming-languages.html
mdaniel · 2024-04-23
Yesterday's submission may interest you: https://blog.brownplt.org/2024/04/21/forge.html (Forge: A Tool to Teach Formal Methods)
kant2002 · 2024-03-06
Is this Mistery this Mistery [1]?
[1] https://blog.brownplt.org/2018/07/05/mystery-languages.html
jpolitz · 2016-12-15
Perhaps `unfun` can be incorporated into this:
http://blog.brownplt.org/2014/04/01/var-vs-yar.html
jeapostrophe · 2013-08-12
I suggest reading about progressive types:
http://blog.brownplt.org/2012/09/01/progressive-types.html
brudgers · 2013-05-10
This article showed up on HN not too long ago:
http://blog.brownplt.org/2013/02/19/teaching-gc.html
Maybe it will help.