Thomas Chust scripsit: > for example in Java there are some places where the dynamic type of null is > effectively a subtype of another class: > > // this returns (String)null and doesn't throw a ClassCastException > "foo".getClass().cast(null) c
Yes, well, that is where static typing is done at runtime. > So the static typing behaviour may differ from the dynamic one and it may > be inconsistent. But a distinction between static and dynamic typing > behaviour wouldn't apply to Scheme. True, and what I'm saying is that the dynamic behavior is the appropriate one. > Of course I don't want to have the same typing mess as in Java in CHICKEN > and I do think the whole practice of having nullable reference types (by > default) is questionable. I just don't think it is completely canonical > that the type of NULL should be disjoint from every other type, especially > if you think of types as being sets (or classes) of objects. I do think of types as being named sets of objects (named, because then there are only denumerably many types). > If Foo.bar is a static method this will work just fine ;-) Yup. But did you deduce that from first principles, or had you seen it before? -- John Cowan [EMAIL PROTECTED] http://ccil.org/~cowan The penguin geeks is happy / As under the waves they lark The closed-source geeks ain't happy / They sad cause they in the dark But geeks in the dark is lucky / They in for a worser treat One day when the Borg go belly-up / Guess who wind up on the street. _______________________________________________ Chicken-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/chicken-users
