
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 9/9/10 12:16 , Henning Thielemann wrote:
Colin Paul Adams schrieb:
> "Henning" == Henning Thielemann
writes: Henning> On Wed, 8 Sep 2010, Gregory Crosswhite wrote:
ExceptionT is a different matter because it handles "fail" as an >> uncaught error and places no restrictions on the error type, so >> one could implement the same functionality as AbortT by using >> ExceptionalT and requiring the end result be a monadic value of >> type "ExceptionalT e m e", where the exception and result types >> are the same. However, I believe that it is better to have the >> AbortT functionality available as a separate simple library >> specialized for this purpose than to have its functionality >> buried inside a more general library that is really intended to >> be used for a different purpose.
Henning> If we get rid of the notion of an exception as being Henning> something bad, and instead consider an exception as being Henning> early exit for whatever reason, I see no problem. E.g. you Henning> may well use an exception to terminate a successful search, Henning> returning the search result as exception value.
So where is the exceptional nature? Is a successful conclusion to a search so exceptional?
You search as long as you don't find what you are looking for. So not finding what you search seems to be the rule and finding it seems to be the exception. :-)
It seems to me that you want to get rid of the notion of an exception as something exceptional, in which case it would be better to give it a different name.
English is not my native tongue. If 'abort' is more appropriate than 'exception' we may rename modules from Exception to Abort.
"Abort" is even worse, as it implies *ab*normal termination (to my mind, at least, this suggests something closer to "error" than "exception"). In some sense this seems closer to Prolog's cut than any kind of exception. - -- brandon s. allbery [linux,solaris,freebsd,perl] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.10 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkyJNAEACgkQIn7hlCsL25U2mwCggCsGcC1zJAjqmW+7tiXLlQ9i LGEAnig9tA2HZOc3uhVS6sDHLPuufCA2 =lmI1 -----END PGP SIGNATURE-----