Top all-time · #3493
Shriram Krishnamurthi
Personal blog · parentheticallyspeaking.org/articlesprogrammingwriting
Shriram Krishnamurthi writes Parenthetically Speaking, a personal blog at parentheticallyspeaking.org about programming and writing. Since 2020, 21 different Hacker News readers have linked it 41 times, most often “Bicameral, Not Homoiconic”. It is still writing: the last post was on 2025-10-15, and you can follow it by feed.
Parenthetically Speaking: Articles by Shriram Krishnamurthi
Most-linked posts?
- Bicameral, Not Homoiconic8 people · 9 mentions · first linked 2024-12-02
- Programming Languages as Objects in Nature5 people · 5 mentions · first linked 2020-07-12
- How not to teach recursion (2021)4 people · 4 mentions · first linked 2021-01-02
- What Is a Pedagogic IDE?3 people · 6 mentions · first linked 2020-12-24
- Shriram Krishnamurthi's Pedagogy Recommendations3 people · 3 mentions · first linked 2025-12-19
- Your Inbox Is a Bandit2 people · 2 mentions · first linked 2021-04-27
- Which programming language should I teach first?2 people · 2 mentions · first linked 2025-08-24
What Hacker News says?
Fibonacci recursion is a bad example for DP because it is obvious how to do that. You need to teach a generative recursion, as pointed out by Shriram Krishnamurthi [1]. Once you've got a hang about a generative recursion DP is a space optimization on top of that. [1] https://parentheticallyspeaking.org/articles/how-not-to-teac...
Comment linking /articles/how-not-to-teach-recursion/
on “Dynamic programming is not black magic”Submitted You too can write a book as a story · 213 points
HN discussionBicameral, Not Homoiconic https://parentheticallyspeaking.org/articles/bicameral-not-h...
Comment linking /articles/bicameral-not-homoiconic/
on “A Friendly Introduction to Racket”Submitted DrScheme in Space as a story · 138 points
HN discussionYou will like: https://parentheticallyspeaking.org/articles/bicameral-not-h...
Comment linking /articles/bicameral-not-homoiconic/
on “A Friendly Introduction to Racket”Submitted How not to teach recursion (2021) as a story · 131 points
HN discussionI found HTDP a lot easier to read and work through because it works through more "practical" problems (like building a game) whereas SICP gets into some pretty heady math based problems. Also see this article that explains how it takes a different approach to teaching recursion. I found this approach very understandable and helpful. https://parentheticallyspeaking.org/articles/how-not-to-teac...
Comment linking /articles/how-not-to-teach-recursion/
on “How to Design Programs”Submitted Bicameral, Not Homoiconic as a story · 121 points
HN discussion> This is just my opinion but I believe it's because the syntax tree is the syntax. This holds for "old" lisps. There are other options. Racket and Scheme uses "syntax objects". Syntax objects contain besides the old syntax tree also source location information and lexical information. See for example the last part of: https://parentheticallyspeaking.org/articles/bicameral-not-h...
Comment linking /articles/bicameral-not-homoiconic/
on “An update on Dart macros and data serialization”Submitted Getting a Computer Science PhD in the USA as a story · 90 points
HN discussionThe home page has it: https://parentheticallyspeaking.org/
Comment linking /
on “How not to teach recursion (2021)”Submitted How Not to Teach Recursion as a story · 49 points
HN discussionGreat book. Will change how you think about programming languages, and not many books can make that claim. Good news is the author* is working on a new version. * https://parentheticallyspeaking.org/about/
Comment linking /about/
on “Programming Languages: Application and Interpretation (2021)”Submitted Inferior Is Better as a story · 27 points
HN discussionCorrect link: https://parentheticallyspeaking.org/articles/bicameral-not-h... Discussion is at https://news.ycombinator.com/item?id=42292805
Comment linking /articles/bicameral-not-homoiconic/
on “Bicameral, Not Homoiconic”Submitted Programming Languages as Objects in Nature as a story · 24 points
HN discussionAnd in assembler and machine code before that! I'm persuaded that just about every language is "homoiconic" and that _bicameral syntax_ is the actually-interesting thing about Lisps : https://parentheticallyspeaking.org/articles/bicameral-not-h...
Comment linking /articles/bicameral-not-homoiconic/
on “10 REM"_(C2SLFF4”Submitted How to teach writing research papers as a story · 20 points
HN discussionOnce you have a bicameral syntax*, is there much point left in formal language theory? For instance, why would you still need complicated notions like LR(k) grammars (which Wikipedia confuses with LR(k) parsers)? I ask out of genuine confusion: I've been reading about formal grammars, and have even added to Wikipedia - but I'm still puzzled as to why PL designers might choose to have hard-to-parse syntaxes. Why don'…
Comment linking /articles/bicameral-not-homoiconic/
on “Rhombus version 1.0 is now available”Submitted Which programming language should I teach first? as a story · 19 points
HN discussionHm. Homoiconicity is not a well-defined term (see, for example, Shriram Krishnamurthi's thoughts [0][1]), but even skimming over that fact, it is a syntactic property, while the quoted line is about semantics . Switching your language to Lisp (or one of its descendents) doesn't gain you anything semantically. [0] Shriram is an original member of the Racket project, so he's been working in the Lisp-like domain for at…
Comment linking /articles/bicameral-not-homoiconic/
on “A Perfectable Programming Language”Submitted Shriram Krishnamurthi's Pedagogy Recommendations as a story · 6 points
HN discussionSubmitted Bicameral, Not Homoiconic as a story · 4 points
HN discussionSubmitted You too can write a book as a story · 4 points
HN discussionSubmitted FatNums: An Alternate Representation for School Arithmetic (2020) as a story · 3 points
HN discussionSubmitted What Is a Pedagogic IDE? as a story · 3 points
HN discussionSubmitted Your Inbox Is a Bandit as a story · 3 points
HN discussionSubmitted Your Inbox Is a Bandit as a story · 2 points
HN discussionSubmitted Pedagogy Recommendations as a story · 2 points
HN discussionSubmitted Which Programming Language Should I Teach First: the least productive question as a story · 2 points
HN discussion