From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: whopkins@csd.uwm.edu (Alfred Einstead) Newsgroups: gmane.emacs.help Subject: Re: Lambda calculus and it relation to LISP Date: 11 Oct 2002 17:36:36 -0700 Organization: http://groups.google.com/ Sender: help-gnu-emacs-admin@gnu.org Message-ID: References: <9e8ebeb2.0210041920.2e480123@posting.google.com> NNTP-Posting-Host: localhost.gmane.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: main.gmane.org 1034383307 30254 127.0.0.1 (12 Oct 2002 00:41:47 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Sat, 12 Oct 2002 00:41:47 +0000 (UTC) Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 180ALg-0007rj-00 for ; Sat, 12 Oct 2002 02:41:44 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10) id 180ALA-00040v-00; Fri, 11 Oct 2002 20:41:12 -0400 Original-Path: shelby.stanford.edu!newsfeed.stanford.edu!postnews1.google.com!not-for-mail Original-Newsgroups: gnu.emacs.help,comp.lang.lisp,sci.math,sci.logic Original-Lines: 35 Original-NNTP-Posting-Host: 129.89.7.202 Original-X-Trace: posting.google.com 1034382997 17988 127.0.0.1 (12 Oct 2002 00:36:37 GMT) Original-X-Complaints-To: groups-abuse@google.com Original-NNTP-Posting-Date: 12 Oct 2002 00:36:37 GMT Original-Xref: shelby.stanford.edu gnu.emacs.help:105951 comp.lang.lisp:96288 sci.math:551299 sci.logic:62008 Original-To: help-gnu-emacs@gnu.org Errors-To: help-gnu-emacs-admin@gnu.org X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.help:2498 X-Report-Spam: http://spam.gmane.org/gmane.emacs.help:2498 gnuist007@hotmail.com (gnuist) wrote: > "The lambda calculus is a mathematical formalism > having to do with the way functions instantiate > their arguments. To some extent it is the theoretical > basis for Lisp and plenty of other computer languages." A computer language is, for the most part, a notation for the family of numeric functions known as the recursive functions. The Lambda Calculus can represent all recursive functions, with respect to a suitable coding of numbers as lambda expressions. The Lambda Calculus extended to include infinitary expressions has the power to directly embody and represent the control flow structures of an imperative programming language, and to do so in such a way that the variables in the imperative language, under this representation, are all referentially transparent. A control flow structure is just a finitary "rolled up" representation of an infinitary branching/conditional expression. So, the actual structure is directly represented by expression/subexpression ordering of the infinitary expression. Basically, each subexpression corresponds to what, in an imperative language, would be an address, and each expression-subexpression relation to a "goto". This is described in some detail under the section dealing with the Infinitary Lambda Calculus and programming languages currently at www.csd.uwm.edu/~whopkins/functional/index.html (Or look under www.csd.uwm.edu/~whopkins for a broader range of topics including this one).