DocumentCode
959189
Title
Exception handlers in functional programming languages
Author
Govindarajan, R.
Author_Institution
Dept. of Electr. Eng., McGill Univ., Montreal, Que., Canada
Volume
19
Issue
8
fYear
1993
fDate
8/1/1993 12:00:00 AM
Firstpage
826
Lastpage
834
Abstract
Constructs for expressing exception handling can greatly help to avoid clutter in code by allowing the programmer to separate the code to handle unusual situations from the code for the normal case. The author proposes a new approach to embed exception handlers in functional languages. The proposed approach discards the conventional view of treating exceptions, as a means of effecting a control transfer; instead, exceptions are used to change the state of an object. The two types of exceptions, terminate and resume, are treated differently. A terminate exception, when raised, is viewed as shielding the input object. On the other hand, a resume exception designates the input object as curable and requires the immediate application of a handler function. This approach enables the clean semantics of functions raising exceptions without associating any implementation restriction and without loss of the referential transparency and the commutativity properties of functions
Keywords
exception handling; functional programming; high level languages; programming theory; commutativity properties; exception handling; functional languages; functional programming; implementation restriction; input object; programmer; referential transparency; resume; terminate; Application software; Computer languages; Fault tolerance; Functional programming; Parallel processing; Programming profession; Resumes; Robustness; Software reliability; Software standards;
fLanguage
English
Journal_Title
Software Engineering, IEEE Transactions on
Publisher
ieee
ISSN
0098-5589
Type
jour
DOI
10.1109/32.238585
Filename
238585
Link To Document