Name: Anonymous 2012-06-29 7:36
Now you know one, as I was alluding to this sort of thing (and I'm probably adding to the confusion, though I believe Eiffel is maybe one of the few OOPLs which got it right, at least re: the consistency of its design with its design objectives and rationale): In Eiffel, "the type of Void, as declared in ANY, is NONE, the "bottom" type."
Thus, 1) the (case insensitive) "Void" or "void" of Eiffel stands for the traditional token "null" as found in Java, C#, ..., and 2) "NONE" stands, in the idea, for "void" in those languages.
Note the syntactic frugality, though: instead of making them language keywords, Eiffel introduces them as, respectively: 1) void : a frozen feature of ANY available from anywhere/any scope, and 2) NONE : the so-called bottom type.
Indeed, here's an extract of ANY (itself, meant to play the role of "Object" in C#, Java, etc) :
And of course: "Unlike ANY , class NONE doesn't have an actual class text; instead, it's a convenient fiction."
Okay! :)
Thus, 1) the (case insensitive) "Void" or "void" of Eiffel stands for the traditional token "null" as found in Java, C#, ..., and 2) "NONE" stands, in the idea, for "void" in those languages.
Note the syntactic frugality, though: instead of making them language keywords, Eiffel introduces them as, respectively: 1) void : a frozen feature of ANY available from anywhere/any scope, and 2) NONE : the so-called bottom type.
Indeed, here's an extract of ANY (itself, meant to play the role of "Object" in C#, Java, etc) :
feature -- Basic operations
frozen void: NONE
-- Void referenceAnd of course: "Unlike ANY , class NONE doesn't have an actual class text; instead, it's a convenient fiction."
Okay! :)