DocumentCode :
2835270
Title :
How to make a lazy functional language exceptional
Author :
Reeves, A.C. ; Harrison, D.A. ; Sinclair, A.F. ; Williamson, P.
Author_Institution :
Dept. of Comput. Sci., Stirling Univ., UK
fYear :
1989
fDate :
22-24 Nov 1989
Firstpage :
179
Lastpage :
185
Abstract :
An exception handling mechanism for a lazy functional language is described. The system proposed allows expressions which might raise an exception to be evaluated lazily, preserves referential transparency and has no dependence on reduction sequence. Exceptions are parameterized and are statically bound to recovery code. There are two strategies for recovery: resume, which replaces the expression signaling an exception with the recovery code; and terminate, which replaces the expression signaling the exception at the nearest firewall with the recovery code. Firewalls are used to bound terminate handlers, allowing the preservation of lazy evaluation where exceptions may be raised. A system of priorities is introduced on exceptions, which allow the programmer to indicate which exception is more serious, should a conflict occur. The proposed approach is discussed with reference to present systems
Keywords :
error handling; functional programming; exception handling mechanism; firewall; lazy functional language; recovery code; reduction sequence; referential transparency; resume; terminate handlers; Birds; Functional programming; Programming profession; Resumes; Robustness;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
TENCON '89. Fourth IEEE Region 10 International Conference
Conference_Location :
Bombay
Type :
conf
DOI :
10.1109/TENCON.1989.176878
Filename :
176878
Link To Document :
بازگشت