Path: utzoo!attcan!utgpu!news-server.csri.toronto.edu!rutgers!cs.utexas.edu!uunet!snorkelwacker!bloom-beacon!eru!luth!sunic!sics.se!sics!bjornl From: bjornl@sics.se (Bj|rn Lisper) Newsgroups: comp.lang.functional Subject: Re: Laziness and Leftmost Rule Message-ID: <1990Jun2.123101.24421@sics.se> Date: 2 Jun 90 12:31:01 GMT References: <1539@sys.uea.ac.uk> <3462@rex.cs.tulane.edu> Sender: news@sics.se Organization: Swedish Institute of Computer Science, Kista Lines: 28 In-Reply-To: fs@rex.cs.tulane.edu's message of 1 Jun 90 17:57:01 GMT In article <3462@rex.cs.tulane.edu> fs@rex.cs.tulane.edu (Frank Silbermann) writes: %Bjorn Lisper %> But there must be cases where some argument %> to a non-strict function has to be evaluated %> in order to determine what is to be done next, %> even in a lazy language. In all languages I've seen, %> lazy or not, this is done on a left to right basis. %The theoretical justifications for purely leftmost evaluation %were developed for in syntactic term-rewriting systems %and also for the pure untyped lambda calculus. %Many assume that the justifications carry over %to more complicated languages. This is not always true. Which is quite the point I've been trying to make. %> The fact that leftmost-outermost reduction works %> for the lambda calculus (in the sense that this strategy %> will find the normal form of any lambda expression %> which has one) is an uninteresting quirk ... So, %> there's a problem with the very theoretical foundations %> of functional programming! Whoa...you've merged a text I commented on with my comment! I didn't write the text before the "..." above! Bjorn Lisper