Top all-time · #1503
John Tromp
Personal blog · tromp.github.io · on HN as trompmathprogrammingscience
John Tromp's personal blog at tromp.github.io covers math, programming and science. Since 2014, 50 different Hacker News readers have linked it 219 times, most often “Lambda Calculus Diagrams (2015)”. No feed was found, so read it on the site itself.
Most-linked posts?
- Lambda Calculus Diagrams (2015)10 people · 21 mentions · first linked 2015-04-01
- Binary Lambda Calculus (2020)10 people · 19 mentions · first linked 2020-01-16
- John's Lambda Calculus and Combinatory Logic Playground7 people · 16 mentions · first linked 2015-04-17
- Functional Bits: Lambda-calculus based algorithmic information theory [pdf]5 people · 9 mentions · first linked 2018-08-09
- The Lazy K – functional programming language5 people · 5 mentions · first linked 2017-03-20
- The largest number representable in 64 bits5 people · 5 mentions · first linked 2023-11-25
- /4 people · 8 mentions · first linked 2021-04-12
- Functional Bits: Lambda Calculus Based Algorithmic Information Theory [pdf]4 people · 4 mentions · first linked 2019-09-03
- Number of Legal Go Positions3 people · 7 mentions · first linked 2020-01-22
- /cl/cl.html3 people · 6 mentions · first linked 2017-03-07
What Hacker News says?
(Binary) Lambda Calculus can interpret brainfuck in under 104 bytes: http://tromp.github.io/cl/Binary_lambda_calculus.html#Brainf...
Comment linking /cl/Binary_lambda_calculus.html
on “Show HN: Bel”Submitted Number of legal 18x18 Go positions computed. One more to go as a story · 229 points
HN discussionIn late 2013 I came up with the first memory hard Proof-of-Work puzzle, Cuckoo Cycle [1], based on finding fixed-length cycles in random graphs. Recently, custom chips were developed to solve it more efficiently than GPUs can. That probably had more impact than the Binary Lambda Calculus language I designed [2] or the logical rules of Go I co-formulated [3]. Computing the number of Go positions [4] or approximating…
Comment linking /go/legal.html
on “Ask HN: What is the most impactful thing you've built?”Submitted Number of legal Go positions computed as a story · 213 points
HN discussionIt's more fair if every generation gets to mine the same amount. You want supply to be predictable and for the inflation rate to go steadily down, but there's not much point in limiting the supply [1]. [1] https://tromp.github.io/blog/2020/12/20/soft-supply
Comment linking /blog/2020/12/20/soft-supply
on “The Rise of Whatever”Submitted Lambda Calculus Diagrams (2015) as a story · 172 points
HN discussionIndeed; that's one of the 3 references listed at the bottom of the article: > See Also > https://tromp.github.io/cl/Binary_lambda_calculus.html > https://www.ioccc.org/2012/tromp/hint.html > https://github.com/tromp/AIT
Comment linking /cl/Binary_lambda_calculus.html
on “Lambda Calculus in 400 Bytes”Submitted Functional Bits: Lambda-calculus based algorithmic information theory [pdf] as a story · 122 points
HN discussionThey're called "Lambda Diagrams". See the inventor's homepage [1], and some animations [2]. There's actually a long and obscure history of visualizations for lambda calculus. One of the originals is "To Dissect a Mockingbird" [3], which if I recall correctly, was the main thing on the internet in 1996. [1] https://tromp.github.io/ [2] https://www.youtube.com/playlist?list=PLi8_XqluS5xc7GL-bgVrx... [3] https://dkeena…
Comment linking /
on “Lambda Calculus in 400 Bytes”Submitted Binary Lambda Calculus (2020) as a story · 114 points
HN discussionAnyone interested in BLC can find another introduction which I found personally helpful here: https://tromp.github.io/cl/Binary_lambda_calculus.html
Comment linking /cl/Binary_lambda_calculus.html
on “Lambda Calculus in 400 Bytes”Submitted Lambda Diagrams as a story · 4 points
HN discussionAgreed; I was playing with pinwheel tilings [1] today and decided to make some pinwheel art [2] that fits in a signature: %!PS % -John Tromp http://tromp.github.io/ /t {dup 1 sub gsave dup 0 gt {[.4 .2 -.2 .4 .4 .2]concat t currentgray .8 mul .2 add setgray -1 1 scale t -1 2 translate t 1 -1 scale t[0 1 1 0 0 2]concat t pop} {0 moveto 1 0 lineto 0 2 lineto closepath clip fill}ifelse grestore}def 10 10 translate 600…
Comment linking /img/pinwheel.pdf
on “TinyVG: A challenger to the throne of vector graphics”Submitted The Lazy K – functional programming language as a story · 4 points
HN discussionWould you consider binary lambda calculus [1] [2] a real language? The 650 byte interpreter written in obfuscated C also sports garbage collection and might fit in a bootsector when translated to x86 code. Its metacircular interpreter is only 29 bytes (232 bits), and looks somewhat readable with some syntactic sugar [4] (analogous to how x86 looks more readable as assembler source). [1] https://www.ioccc.org/2012/tr…
Comment linking /cl/Binary_lambda_calculus.html
on “Show HN: Lisp with GC in 436 Bytes”Submitted Functional Bits: Lambda Calculus Based Algorithmic Information Theory [pdf] as a story · 4 points
HN discussionYour example reminds me of Binary Lambda Calculus [0]: [0] https://tromp.github.io/cl/Binary_lambda_calculus.html
Comment linking /cl/Binary_lambda_calculus.html
on “Tree Calculus”Submitted Binary Lambda Calculus as a story · 4 points
HN discussionI perceive a maze in http://tromp.github.io/pearls.html#maze
Comment linking /pearls.html
on “Ask HN: What is the most beautiful piece of code you've ever read?”Submitted Binary Lambda Calculus as a story · 3 points
HN discussionlet A = (x) => (y) => (z) => x(z)(y((w) => z)) Just need to combine this a few times. let K = A(A(A))(A(A(A))(A)(A)(A)(A)(A); // (x) => (y) => x let S = A(A(A(A)(A(A)(A(A)))(A(A(A(A)((A(A)))))))(A)(A); // (x) => (y) => (z) => x(z)(y(z)) > “I would never be caught dead using Lambda calculus. It’s a bloated language.” Actually, combinatory logic is more bloated than lambda calculus, generally needing more bits to expr…
Comment linking /cl/LC.pdf
on “Programming with Less Than Nothing”Submitted The Lazy K Programming Language as a story · 2 points
HN discussionDynamic programming is what allowed me to compute the number of legal Go positions [1,2], a 171 digit number. While the naive method would take time 3^n^2 to examine all possible positions on an nxn board, dynamic programming effectively strips away one dimension, reducing time to O(n^5 * 5.4^n), while using space O(n * 5.4^n). [1] https://tromp.github.io/go/legal.html [2] https://tromp.github.io/go/gostate.pdf
Comment linking /go/gostate.pdf
on “Dynamic programming is not black magic”Submitted The largest number representable in 64 bits as a story · 2 points
HN discussion> I've read about KGS but I've never figured out how to engage with it. Just download CGoban, here is the website: https://www.gokgs.com/ Most of us started who are still active on the server have been playing there 20+ years at this point. E.g. I myself (and many others) started playing after reading this article: https://tromp.github.io/gostory.html
Comment linking /gostory.html
on “After AI beat them, professional Go players got better and more creative”Submitted Lambda Diagrams as a story · 2 points
HN discussionI find it's often useful to analyze the extreme endpoints of something to get a feel for an issue. Making a language too simple makes using it difficult. Too much of the inherent complexity of real problems ends up needing to be written by the users, and re-written every time (or results in massive dependency trees). For the extremes of simplicity, the Binary Lambda Calculus[1], [2] Brainfuck, and similar "Turing ta…
Comment linking /cl/Binary_lambda_calculus.html
on “I want off Mr. Golang’s Wild Ride (2020)”Submitted Number of Legal Go Positions as a story · 2 points
HN discussionSorry; misses an l at the end; should be https://tromp.github.io/go/legal.html
Comment linking /go/legal.html
on “Ask HN: Teach me something new”Submitted The logical rules of go, with Haskell implementation as a story · 2 points
HN discussion