tag:blogger.com,1999:blog-5850977.post1772807334962216538..comments2023-06-25T19:37:02.364+05:30Comments on /home/roop/Public/roopesh_chander_web.log: A wisp of LispRoopesh Chanderhttp://www.blogger.com/profile/09373979458051224935noreply@blogger.comBlogger4125tag:blogger.com,1999:blog-5850977.post-65102146328069008732007-06-17T19:01:00.000+05:302007-06-17T19:01:00.000+05:30You're right. I think any defun can practically be...You're right. I think any defun can practically be written in Lambda Calculus with little changes. Lisp's a lot closer to Church's calculus than to Turing's.<BR/><BR/>But what I really intended to say was: I think Lisp's mathliness is really because it's interpreter was actually written down as a concept for academic publication (as a simpler model for a Turing machine), rather than for programming. Though the language was planned as an AI language, the design of it's interpreter (and how that shaped the language) has it's roots in Math, really.Roopesh Chanderhttps://www.blogger.com/profile/09373979458051224935noreply@blogger.comtag:blogger.com,1999:blog-5850977.post-42053091549848832102007-06-10T16:47:00.000+05:302007-06-10T16:47:00.000+05:30I was only commenting on the "why Lisp is so like ...I was only commenting on the "why Lisp is so like Math" part of your essay: I think comparing Lisp to Lambda calculus makes it easier to understand why it is like math. Both have restricted constructs: variables, functions and evaluations. Since these constructs are mathematical entities, you can theoretically reduce a Lisp program to mathematical symbols and arrive at a proof.<BR/><BR/>Limited constructs are always an advantage in programming languages. For example, Smalltalk has only objects, no functors, no constants etc. Though it is a handy programming language, it is so far away from proofs and maths because the constructs cannot be translated to mathematical symbols. On the other hand, a prolog program will lend itself to proof because all its constructs belong to logic calculus.<BR/><BR/>But your idea of Lisp and Turing machines is interesting. Douglas Hofstadter has a chapter imagining the Lisp interpreter as a machine. I didn't get past that one. Maybe I should try Penrose again :-)subhashhttps://www.blogger.com/profile/17026317141651867094noreply@blogger.comtag:blogger.com,1999:blog-5850977.post-239036311181902562007-06-04T01:17:00.000+05:302007-06-04T01:17:00.000+05:30Hey da. Actually Penrose is of your opinion - he s...Hey da. Actually Penrose is of your opinion - he says it was Church's Lambda Calculus that inspired Lisp. But in my digging around, I didn't find a case for that (except for the lambda feature in LISP of creating unnamed functions, which is obviously a direct liftoff). I did find <A HREF="http://www8.informatik.uni-erlangen.de/html/lisp/histlit1.html" REL="nofollow">this</A>, which implies that McCarthy, when he was thinking about Lisp's eval, was trying to create a simplistic formulation of Turing Machines and to show "that it is shorter and more understandable than the description using a universal Turing-machine". Maybe I don't find the link with Church's proof because I didn't really see where he was going with his number system of functions, definitely not as much as I did with Turing's proof (though it's called the Turing-Church Theorem). Yes, functions is <I>the</I> thing in Lisp, but it's as <A HREF="http://en.wikipedia.org/wiki/Function_(mathematics)#History_of_the_concept" REL="nofollow">old</A> as f(x) = y, na?Roopesh Chanderhttps://www.blogger.com/profile/09373979458051224935noreply@blogger.comtag:blogger.com,1999:blog-5850977.post-44240633284690494692007-06-01T13:30:00.000+05:302007-06-01T13:30:00.000+05:30Interesting! But I am not sure if Lisp was inspire...Interesting! But I am not sure if Lisp was inspired by Turing Machines, as much as it was by Lambda calculus. And that's why it's so similar to maths, with its "functions" etc.subhashhttps://www.blogger.com/profile/17026317141651867094noreply@blogger.com