comp.lang.ada
 help / color / mirror / Atom feed
From: "Marin David Condic, 407.796.8997, M/S 731-93" <condicma@PWFL.COM>
Subject: Re: Exception Handling
Date: 1996/09/13
Date: 1996-09-13T00:00:00+00:00	[thread overview]
Message-ID: <96091317002428@psavax.pwfl.com> (raw)


Felix Kasza <felixk@MAILBAG.SHD.DE> writes:
>I don't know -- but I do know that IBM's /360 architecture uses a
>mechanism for OS calls which looks very much like a trap.  PDPs used
>similar features to handle illegal memory references.  In the late 60s
>or early 70s, I saw an APL interpreter for the PDP that expressly made
>use of this although it didn't export the functionality to the
>programmer (APL has no concept of an exception).
>
    Well, if we include "hardware" in the picture, you'd have to go
    back to the very first invention of an interrupt. Assemblers, of
    course, let you write an interrupt handler and in that sense had
    "exception processing."

    When did it get incorporated in computer languages? That requires
    an answer to the question: "What exactly do you mean by 'exception
    processing'?" "Asynchronous transfer of control when an error is
    detected by the hardware or the programmer" would allow any
    language which gave you the ability to write an interrupt service
    routine and/or write a software triggered interrupt to qualify.
    That's most of them - except since this was always hardware
    dependent, it was probably not done as part of any "language
    standard" (more likely a vendor supplied utility).

    If we mean "programmer triggered exceptions" then we'd have to
    look to all the languages which provided some kind of syntax
    similar to: "ON ERROR THEN GOTO XXXX" - which would include quite
    a few very antiquated languages.

    If we mean "language triggered exceptions" (runtime checks
    inserted by the language translator and unseen by the programmer
    which may or may not include various hardware interrupts or
    exceptions which transfer control to a programmer specified chunk
    of code) then I *think* that Ada83 pretty much invented it. I am
    reasonably fluent in Fortran, Cobol, Pascal, C, and Ada and I have
    a passing knowlege of a number of more obscure languages like
    Lisp, Snobol, RPG, etc., and Ada was the first language I've ever
    encountered which included something in its syntax which meets
    this definition.

    I encountered Ada in the late '70s and discovered the exception
    handler at that point. One could check the Rationale for Ada 83
    and some of its early design documents which would give clues as
    to where the language designers derived their ideas. The
    brain-cell I dedicated to those events reminds me that the
    designers looked at many other languages and didn't find
    "adequate" features to cover a number of requirements such as
    tasking, exception handling, etc. That would be a hint, but I
    don't trust that brain-cell much these days.

    MDC

Marin David Condic, Senior Computer Engineer    ATT:        561.796.8997
M/S 731-96                                      Technet:    796.8997
Pratt & Whitney, GESP                           Fax:        561.796.4669
P.O. Box 109600                                 Internet:   CONDICMA@PWFL.COM
West Palm Beach, FL 33410-9600                  Internet:   CONDIC@FLINET.COM
===============================================================================
   "Don't say yes until I finish talking."

        -- Darryl F. Zanuck
===============================================================================




             reply	other threads:[~1996-09-13  0:00 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-09-13  0:00 Marin David Condic, 407.796.8997, M/S 731-93 [this message]
1996-09-15  0:00 ` Exception Handling Larry Kilgallen
1996-09-23  0:00 ` Robin Vowels
  -- strict thread matches above, loose matches on Subject: below --
2000-05-29  0:00 NANCY HEHIR
2000-05-29  0:00 ` Preben Randhol
2000-05-30  0:00 ` Jeffrey D. Cherry
2000-05-30  0:00   ` Gautier
2000-06-05  0:00     ` Robert Dewar
2000-06-01  0:00   ` Preben Randhol
2000-06-01  0:00     ` Jeff Carter
2000-06-02  0:00       ` Jeffrey D. Cherry
2000-06-02  0:00       ` Preben Randhol
2000-06-01  0:00     ` Ehud Lamm
2000-06-01  0:00     ` Jeffrey D. Cherry
2000-06-02  0:00       ` David C. Hoos, Sr.
2000-06-02  0:00         ` Jeffrey D. Cherry
2000-06-01  0:00     ` Preben Randhol
2000-05-30  0:00 ` Antonio Dur�n Dom�nguez
2000-05-30  0:00 ` Robert Dewar
1996-09-28  0:00 Robert Dewar
1996-09-17  0:00 John Goodenough
1996-09-17  0:00 Marin David Condic, 407.796.8997, M/S 731-93
1996-09-19  0:00 ` Larry Kilgallen
1996-09-12  0:00 Robbie Gates
1996-09-12  0:00 ` Bryce
1996-09-12  0:00   ` Larry Kilgallen
1996-09-13  0:00     ` Robbie Gates
1996-09-14  0:00       ` Paul A. Houle
1996-09-18  0:00         ` Rick Decker
1996-09-12  0:00 ` Patrick Doyle
1996-09-12  0:00   ` Rick Decker
1996-09-13  0:00     ` Larry Kilgallen
1996-09-13  0:00 ` Felix Kasza
1996-09-13  0:00   ` David B. Shapcott [C]
1996-09-18  0:00     ` Bart Termorshuizen
1996-09-16  0:00 ` Norman H. Cohen
1996-09-23  0:00   ` Robin Vowels
1996-09-24  0:00     ` Bob Halpern
1996-10-02  0:00       ` Fritz Schneider
1996-10-07  0:00         ` Robin Vowels
1996-10-09  0:00         ` shmuel
1996-10-09  0:00           ` Bob Halpern
1996-09-26  0:00     ` Thiago
1986-05-13 22:57 exception handling MIXSIM
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox