• 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