Path: utzoo!attcan!uunet!cs.utexas.edu!rice!titan.rice.edu!rama From: rama@titan.rice.edu (Ramarao Kanneganti) Newsgroups: comp.lang.functional Subject: Re: Can laziness sometimes be too lazy? Summary: Error > bottom Keywords: Domains as information systems, bottom, error Message-ID: <10268@brazos.Rice.edu> Date: 26 Jul 90 15:55:47 GMT References: <2706@bruce.cs.monash.OZ.AU> <3188@osc.COM> <3926@rex.cs.tulane.edu> Sender: root@rice.edu Organization: Rice University, Houston Lines: 30 In article <3926@rex.cs.tulane.edu> fs@rex.cs.tulane.edu (Frank Silbermann) writes: >If you "handle" an exception then it is no longer an error >-- just another possible result. Semantically speaking, >an error is an _unhandled_ exception. Since it is unhandled, >why not declare the result to be `undefined' (i.e. is bottom)? Error is much more than bottom. Bottom is least informative. If you sitting in front of a terminal you notice when the program doesn't come back with any thing, or if it comes back with an error message. Error is more informative than bottom. Would you equate abort(5) with bottom, simply because abort is unhandled? > >Make an analogy with mathamatics. Consider the function f(x) = 5/x. >What is the value of the function at x=0? `Error' or `undefined'? > It can be a matter of choice of how you define the function f. But, if you want to give maximal information, it should be error. Suppose you have a domain with a chain like, a <= b <= c. After getting the result b, in the further query, you get an error. Do you still call the result b? I claim that it is an error element, and it is above b. But any function which is strict in bottom is also strict in error, so any choice will be consistent. > Frank Silbermann fs@rex.cs.tulane.edu thanks, Ramarao Kanneganti rama@rice.edu