🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.functional
Article #389

BOTTOM !== NONTERMINATION

#389
From: Frank Silbermann
Date: Thu, 26 Jul 1990 16:36
48 lines
2278 bytes
David Gudeman:
> ...	Bottom is _not_ an error result,
>	so a program transformation is not allowed
>	to change a terminating program into a non-terminating program.

To refute a common assumption, I must say:

	_Bottom_ is NOT synonymous with nontermination!!!!

We are dealing with a DECLARATIVE paradigm,
and nontermination is an _operational_ concept.

BOTTOM simply means "undefined" -- nothing more.
Nontermination is just one possible way for this to happen.
The language designer is free to interpret
any syntax he pleases as being undefined.

Joe Keane:
>	I think the question is whether a list
>	should be allowed to have elements which raise exceptions.

This is a matter of taste, and "chacun a son gout."
It does seem inconsistent, however, to permit
_functions_ which raise exceptions on certain arguments,
but to forbid _lists_ from raising exceptions on certain elements.

Ramarao Kanneganti:
>	Error is more informative than bottom.
>	Would you equate abort(5) with bottom,
>	simply because abort is unhandled?

But it _is_ handled, at least to the extent of returning
an error code.  If you want your system to return error codes,
then a _complete_ denotational semantics would put error codes
into the domain.  This done, an error code is no different,
in principle, from any other atomic value.
If you want its occurrance to halt computation,
then operations must be strict, so as to detect and propagate the error.
If you want a lazy language, you can compute lazy lists
which may contain error codes as list-members.

>	But, if you want to give maximal information, it should be error.

Maximal information should not be confused with metalogical information.

	Frank Silbermann	fs@rex.cs.tulane.edu
	Tulane University	New Orleans, Louisianna  USA
Technical Details
Message-ID: <3936@rex.cs.tulane.edu>
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!decwrl!sdd.hp.com!samsung!rex!fs
References: <3188@osc.COM> <3926@rex.cs.tulane.edu> <10268@brazos.Rice.edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!decwrl!sdd.hp.com!samsung!rex!fs
From: fs@rex.cs.tulane.edu (Frank Silbermann)
Newsgroups: comp.lang.functional
Subject: BOTTOM !== NONTERMINATION
Keywords: Domains as information systems, bottom, error
Message-ID: <3936@rex.cs.tulane.edu>
Date: 26 Jul 90 16:36:56 GMT
References: <3188@osc.COM> <3926@rex.cs.tulane.edu> <10268@brazos.Rice.edu>
Organization: Computer Science Dept., Tulane Univ., New Orleans, LA
Lines: 48