Log of the #nice channel on irc.freenode.net

Using timezone: Greenwich Mean Time
* bonniot leaves
* arjanb leaves01:37
* bonniot joins11:06
* arjanb joins12:23
<bonniot>hello arjan12:53
<bonniot>i wondered how useful it could be to allow retyping declarations like:12:54
class java.lang.String = native "non-null";
which would mean that when loading a method from class String, Object is to be interpreted as !Object12:55
(unless a specific retyping exists for that method)
<arjanb>i'm not sure this is useful12:58
<bonniot>wouldn't it reduce the number of retypings a lot?13:00
<arjanb>not more than making strict default13:01
<bonniot>yes, but that's impractical13:02
<arjanb>the only reason that strict not very practical is the maybe null return types13:03
<bonniot>you know that I don't want to make non-null the default, because it would lead to many false compilation errors on unretyped libraries13:04
it also rejects null parameters, which can be valid
and maybe null return types can be very annoying13:05
so the above idea is to allow "locally strict default" on a class
wouldn't it reduce the number of retypings a lot?
<arjanb>if a difference is made for return types and argument types13:06
<bonniot>which one?13:07
<arjanb>maybe you only want to mark all return type as nonnull13:09
<bonniot>that's already the default
(sorry, I said Object but it would really concern all reference types)13:11
<arjanb>i know
<bonniot>so there is no need to mark only return types as non-null13:12
<arjanb>yes but this feature should be useful too when using strict
<bonniot>ok, so we can have another key "non-null-return"13:14
then we will see what is more frequent :-)13:15
it could be implemented as a HashMap className -> mode in nice.tools.code.Import13:21
which means there is no need to keep the retyping as a Definition
<arjanb>i suspect --strict is not much used at the moment13:24
<bonniot>you mean by many people?
<bonniot>hard to know :-)
do u use it?13:25
<bonniot>y not?
<arjanb>i don't use many libraries that aren't already retyped13:28
and for nicec i have tried13:29
<bonniot>what proportion of retypings this feature and object typing can remove?13:34
<arjanb>i have no idea13:36
<bonniot>but you said quite a lot, didn't you?13:37
<arjanb>yes but the = native "non-null" could require that the exceptions on that rule need to be retyped13:39
<bonniot>if there are more exceptions than others, you don't do it at all, so you always win :-)
<arjanb>but the new typing for Object will cause that you can use libraries whithout making any retyping at all when not using --strict13:41
<bonniot>yes, that's good13:43
will you have time to implement native "non-null" ?13:44
it seems that question made you silent :-/22:04
* bonniot leaves