Richard A. O'Keefe wrote:

On 28 Aug 2008, at 8:34 am, Aaron Tomb wrote:
What type safety buys you, in my mind, is that Nothing is only a valid value for explicit Maybe types. In cases where you don't use Maybe, the "null" situation just can't occur. In languages with null pointers, any pointer could possibly be null.

This is not true of Eiffel.
The ECMA Eiffel standard has
    ?T    either a void reference or a reference to an instance of T
    !T    a reference to an instance of T
     T    same as !T in ECMA Eiffel; used to be same as ?T

I suppose you could call the detachable type ?T an *implicit* Maybe.
Needless to say, the switch in semantics of undecorated T helped to
fork the Eiffel community...


Just because the devil needs more advocacy... there are safer dialects of C that have non-nullable pointers in addition to the standard variety. Cyclone[1] comes to mind, there are others.

In so far as propaganda goes, imperative programming is ugly, unsafe, and evil, but it is getting better. Blanket statements about their failings tend toward falsity as they keep adopting things from the functional world.

[1] http://www.cs.bu.edu/groups/ibench/presentations/2003-04-10.pdf

--
Live well,
~wren
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to