4 ms·
I agree that Maxwell’s Equations of Software should be based on lambda calculus, the binary version of which [1] admits a much more concise 29 byte self-interpr
by tromp 4y ago
I agree that Maxwell’s Equations of Software should be based on lambda calculus,
the binary version of which [1] admits a much more concise 29 byte self-interpreter
(λ11)(λλλ1(λλλλ3(λ5(3(λ2(3(λλ3(λ1 2 3)))(4(λ4(λ3 1(2 1))))))(1(2(λ1 2))(λ4(λ4(λ2(1 4)))5))))(3 3)2)(λ1((λ1 1)(λ1 1)))
[1] https://tromp.github.io/cl/Binary_lambda_calculus.html https://tromp.github.io/cl/Binary_lambda_calculus.html
- martyalain 4y agoI agree with you, but so far I have never been able to get into the logic of de Bruijn's clues. As for example John Tromp knows how to do. (https://tromp.github.io/ https://tromp.github.io/) But I don't despair of getting there one day...
- qsort 4y agoA picture is worth a thousand words: https://en.wikipedia.org/wiki/De_Bruijn_index#/media/File:De_Bruijn_index_illustration_1.svg https://en.wikipedia.org/wiki/De_Bruijn_index#/media/File:De... It's literally just notation: - It doesn't matter how you name variables. (if you want to sound cool: "lambda terms are invariant under alpha-conversion") - Each new variable introduces a scope. - Therefore, how scopes are nested defines the entire expression. - Instead of the usual way, we represent scopes with numbers, with the index representing "how nested the scope is". Imagine it's python, and you're pressing tab that many times.
- pierrebai 4y agoSyntax and layout ware worth yet a few more orders of magnitude of words. But that argument has slipped past LISPers forever. I'll just let them keep scratching their heads why Python got so popular when LISP was around for so long and is /clearly/ superior.
- lispm 4y agoI don't think LISPers are scratching their head about this. Lisp syntax is optimized towards meta-programming. Generating and processing code is built-in and supported with central mechanisms: READ, EVAL, PRINT, s-expressions, macros, ... Python is optimized towards simple pseudo-code like imperative OOP. That's easier for most programmers.
- voldacar 4y agoWhat world are you living in where popularity is somehow a way of judging quality? The masses love marvel movies and fast food
- deleted 4y ago[deleted]
- thrown_22 4y agoPython is popular because the majority of programs are extremely simple. Look at how ugly decorators are in python when in lisp you get them for free and they don't even need a name.
- lisper 4y agoNote that the person you were responding to is John Tromp. :-)
- SkyMarshal 4y ago> As for example John Tromp knows how to do. You might not have noticed the userid of the person you're replying to ;)
- martyalain 4y agoyes, I hadn't noticed that. I wish I could understand him better.
- deltasevennine 4y agolambda calculus is turing complete. But so are turing machines. So why not have turing machines be the Maxwells equations of software. Maybe there's an infinite amount of mathematical theories that are turing complete. Why is lambda calculus chosen as the foundational one? I would argue, the Maxwells equation of software should be MORE foundational. Not some arbitrarily specific turing complete language. This is what I think it should be (link is a comment in the same thread): https://news.ycombinator.com/item?id=33533321 https://news.ycombinator.com/item?id=33533321
- tromp 4y agoBecause Turing machines are so cumbersome compared to lambda calculus that a universal Turing machine takes thousands of bits [1]. [1] http://www.verostko.com/tur-doc.html#B0,%20Universal%20Turing%20Machine0 http://www.verostko.com/tur-doc.html#B0,%20Universal%20Turin...
- deleted 4y ago[deleted]
- mejutoco 4y agoI find Lambda calculus and term rewriting much more elegant and easy to understand. I don't think there is a simpler Turing-complete language (maybe Game of Life?). For Turing machines I recommend the book "The annotated Turing".
- deltasevennine 4y agoWell if game of life is simpler, why not game of life? What does it mean to be Maxwells Equations? Does it mean absolutely most fundamental? Most practical? What? Maybe there's something more fundamental then turing. Thanks for the book recommendation
- d0mine 4y ago> What does it mean to be Maxwells Equations? In a word: elegant.