Article View: comp.lang.functional
Article #158Re: Low level question
From: Thomas Schiex
Date: Tue, 18 Aug 1992 14:39
Date: Tue, 18 Aug 1992 14:39
61 lines
3781 bytes
3781 bytes
You are pushing the cork too far (form the french "pousser le bouchon trop loin) when you say "The push for lazy programming does not concern programming, but publishing papers in quite close circles..." Even if i won't claim that lazyness is the most interesting feature for a language, it IS in fact useful. You may find practical uses almost everywhere, much simplifying your programming. Sometimes increesing efficiency. See for example: Constraint satisfaction with delayed evaluation IJCAI 89. pp 875 It is also useful when you have too handle explicitly huge data (a game tree for example) that only a part will be used (cutoffs). Instead of relying on fine programming, with incremental sons development, you may simply define the WHOLE tree, and it will be automagically developed when needed. It also allows one to "compute with unknow values". An unusual trick that is quite useful (i used it for the strictness computing in a lazy lang. compiler in fact). It also gives additionnal expressive power (the so-called letrec or rec features works Ok even if you define immediatly evaluated objects). You may define objects that may be left unused later (even if their computation is expensive..). All these GOOD thing have too be payed in terms of time (small overhead, so small it is negligible). But the main issue is DEBUGGING which is very difficult. Sequencing is completly disturbed and the poor human is lost when tracing ! (obvious relations with concurrent processing). However some papers gives interesting debugging issues for lazy languages (for Daisy, see "Lisp and symbolic computations", in the first numbers). As you say "the typical programmer doesn't use lazy languages", but there are programmers that use lazy languages, few obviously, as there were few C or Pascal language programmer some years ago (no flame please, this is not a prediction of whatever you may think, just an observed fact). Things have to mature. Let them some time ! NB: You should remind yourself of some people, in the fiveties saying "the transistor has obviously interisting theretical physical features, but it will NEVER serve any pratical use...". -------------------------------------------------------------------------- Schiex Thomas | | Tel: (+33).61.55.70.65 C.E.R.T. / DERA | To iterate is human, | Fax: (+33).61.55.71.72 2, Av. E. Belin | To recurse, divine. | BP 4025 | (L. Peter Deutsch) | schiex@cert.fr 31055 Toulouse Cedex | | schiex@irit.fr -------------------------------------------------------------------------- -- -------------------------------------------------------------------------- Schiex Thomas | | Tel: (+33).61.55.70.65 C.E.R.T. / DERA | To iterate is human, | Fax: (+33).61.55.71.72 2, Av. E. Belin | To recurse, divine. | BP 4025 | (L. Peter Deutsch) | schiex@cert.fr 31055 Toulouse Cedex | | schiex@irit.fr --------------------------------------------------------------------------
Technical Details
Message-ID:
<SCHIEX.92Aug18143749@jupiter.cert.fr>Path:
arc1-ca.pugleaf.net!sparky!uunet!mcsun!corton!tls-cs!schiexReferences:
<1992Jul12.061122.8943@eng.umd.edu> <NICKH.92Jul14151920@VOILA.VENARI.CS.CMU.EDU> <1992Jul14.205627.25659@eng.umd.edu> <DELACOUR.92Jul14152041@waxwing.parc.xerox.com>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!mcsun!corton!tls-cs!schiex From: schiex@cert.fr (Thomas Schiex) Newsgroups: comp.lang.functional Subject: Re: Low level question Message-ID: <SCHIEX.92Aug18143749@jupiter.cert.fr> Date: 18 Aug 92 14:39:07 GMT References: <1992Jul12.061122.8943@eng.umd.edu> <NICKH.92Jul14151920@VOILA.VENARI.CS.CMU.EDU> <1992Jul14.205627.25659@eng.umd.edu> <DELACOUR.92Jul14152041@waxwing.parc.xerox.com> Sender: news@tls-cs.cert.fr Organization: CERT, C.S. Dept., Toulouse, France Lines: 61 In-reply-to: delacour@waxwing.parc.xerox.com's message of 14 Jul 92 13:20:41 GMT