[Prev][Next][Index][Thread]

Re: Why Prolog and CBV?



Date: Sun, 17 Nov 91 12:41:59 GMT

X-Comment1: #############################################################
X-Comment2: # uk.ac.glasgow.cs has changed to uk.ac.glasgow.dcs #
X-Comment3: # If this address does not work please ask your mail #
X-Comment4: # administrator to update your NRS & mailer tables. #
X-Comment5: #############################################################

Timothy_Freeman@U.ERGO.CS.CMU.edu writes:

	Last I heard the lazy language compilers yield code that is
	about an order of magnitude slower than analogous code in a
	strict language.  Are there results I'm woefully unaware of?
	What are they?

Yes.  See the articles by Augustsson and Johnsson; Wray and Fairbairn;
and Bloss, Hudak, and Young in The Computer Journal, vol. 32, no. 2,
April 1989 (P. Wadler, guest editor).  Also see S. L. Peyton Jones, The
implementation of functional programming languages, Prentice Hall,
1987.

Robert_Harper@GOTTLOB.TIP.CS.CMU.edu writes:

	In reply to Phil Wadler's note, it's probably worth mentioning
	that Reynolds' language Forsythe takes the call-by-name
	evaluation strategy for procedures, yet it is fundamentally an
	imperative language with first-class continuations. ...

Good point; thanks for making it.  The paper I referred to earlier,
`The essence of functional programming' (to appear, POPL 92) is partly
inspired by Reynolds' work.

John Mitchell (jcm@cs.stanford.edu) writes:

	If asked, I would make up some story about a call f(e), where e
	contains an assignment, and say that with cbn it is hard to
	predict where in the evaluation of the body of f this
	assignment would be done.

As far as I can tell, it's just as easy to predict for call-by-value
and call-by-name.  That's partly the point of Harper's letter and
Reynolds' work.  What's hard to predict is when effects occur under
call-by-need, which is what most lazy functional languages use.

Cheers,  -- Phil