Runtime Safety of Programs

David McClain dmcclain@azstarnet.com
Mon, 31 Jan 2000 13:58:22 -0700


Thanks for your reply... Unfortunately in real life, I also face the
situation of expected files that might be missing, or incorrect user input,
or any of a number of other situations in which I would normall throw an
exception. It seems to me that those sorts of exceptional conditions are
beyond the ability of any compiler to anticipate.

I have spent a great deal of time comparing the literature on pure
functional vs. imperative languages such as Lisp, OCaml, and SML. I now
realize that in those terms, exceptions and reference cells are considered
imperative features of the languages. Clean is quite appealing to me for its
sparse and relatively clear syntax and for its proven ability to compete
effectively in the area of numerical analysis. I feel somewhat hamstrung at
this time, however, in applying Clean to typical realworld applications such
as data acquisition and instrument control.

Cheers,

- DM

----- Original Message -----
From: Zuurbier, E. - AMSXE <Erik.Zuurbier@klm.nl>
To: <clean-list@cs.kun.nl>
Sent: Monday, January 31, 2000 12:53 AM
Subject: RE: Runtime Safety of Programs


> David,
>
> Exception handling is certainly necessary in Clean, but currently lacking.
> Division by zero can happen,
> addressing non-existing array-cells is possible, the program can run out
of
> stack or heap, to mention but a
> few nasty things.
>
> One lead, which is currently followed by Nijmegen, is trying to prove that
> your program will never divide by zero,
> trying to prove that your program accesses only existing array-cells,
> etcetera. Then you don't need exception handling.
>
> The other lead is trying to find people who want to study exception
handling
> and incorporate it in Clean, without
> compromising Clean's mathematical properties.
>
> Regards,
>
> Erik Zuurbier, KLM,
> co-mail: SPL/XJ-831
> phone: +31 20 649 6255
> email: erik.zuurbier@klm.nl <mailto:erik.zuurbier@klm.nl>
>
>
> -----Original Message-----
> From: David McClain [mailto:dmcclain@azstarnet.com]
> Sent: zaterdag 29 januari 2000 2:40
> To: clean-list@cs.kun.nl
> Subject: Fw: Runtime Safety of Programs
>
>
> I have a question regarding the creation of runtime safe
> programs...  I
> have
> a great deal of experience with Lisp, OCaml, and SML, and I
> am just now
> learning Clean. All of the aforementioned languages have
> the concept of
> exceptions and exception trapping. Clean has the ability to
> "abort" but I
> find no mention of exception trapping. How is this done in
> Clean, or am I
> asking the wrong question here? Perhaps with graph
> rewriting it is
> unnecessary? Any thoughts on this topic would be
> appreciated.
>
> David McClain,
> Sr Scientist
> Raytheon Systems Co.
> Tucson, AZ
>
>
>