Many Factorials in Lambda Calculus
Posted3 months agoActive2 months ago
text.marvinborner.deTechstory
calmpositive
Debate
20/100
Lambda CalculusProgramming LanguagesMathematics
Key topics
Lambda Calculus
Programming Languages
Mathematics
The article explores representing multiple factorials in lambda calculus, sparking discussion on the intricacies of functional programming and mathematical representations.
Snapshot generated from the HN discussion
Discussion Activity
Light discussionFirst comment
9d
Peak period
3
Day 10
Avg / period
2.5
Key moments
- 01Story posted
Oct 15, 2025 at 10:51 AM EDT
3 months ago
Step 01 - 02First comment
Oct 24, 2025 at 8:14 PM EDT
9d after posting
Step 02 - 03Peak activity
3 comments in Day 10
Hottest window of the conversation
Step 03 - 04Latest activity
Oct 25, 2025 at 4:07 PM EDT
2 months ago
Step 04
Generating AI Summary...
Analyzing up to 500 comments to identify key contributors and discussion patterns
ID: 45593532Type: storyLast synced: 11/20/2025, 4:02:13 PM
Want the full context?
Jump to the original sources
Read the primary article or dive into the live Hacker News thread when you're ready.
Is there any hope for a "hashlife" style cache for a TC language? My understanding is that hashlife exploits spatial locality / "causation speed" in GoL, which isn't available in LC because of beta reduction. Thoughts?
There's also graph encodings like interaction nets, which have entirely local reduction behavior. Compared to de Bruijn indices, bindings are represented by edges, which makes them more applicable to hash consing. I once spent some time trying to add this kind of memoization but there are some further challenges involved, unfortunately.
Maybe it's a soufflé? Highly unstable, but occasionally very nice.
However, I wouldn't define bruijn as being caramelized just yet. Personally, I view as syntactic sugar only syntax that's expanded to the target language by the parser/compiler. In bruijn's case, there is barely any of such syntax sugar aside of number/string/char encodings. Everything else is part of the infix/prefix/mixfix standard library definitions which get substituted as part of the translation to LC.