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

Using timezone: Central European Time
<bonniot>http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5030232 !00:18
that one isn't yours right?
<bonniot>no, i did not even knew it existed00:22
i suppose it's too big of a change for java00:23
<bonniot>discussion of visibility on nice-info is good, i have a better idea what visibility can mean for methods00:24
do you agree that restriction would be sufficient?00:25
<arjanb>which restriction do you mean?00:28
<bonniot>for non-publicly implementable methods: must have a default implementation, and cannot dispatch on interfaces00:30
<arjanb>sounds good00:35
maybe it can be generalized to making it impossible to introduce ambiguities that can't be resolved due to visibility restrictions00:37
<bonniot>isn't it already doing just that?00:43
<arjanb>it isn't needed to require a default implementation when the domain can't be publicly extended00:47
<bonniot>right, the restriction can be looser in that case00:54
<arjanb>it probalby needs some experimentation to find a balance between simple rules and loose restrictions01:08
i think we should start with something surely correct and simple, and we can loosen when needed01:12
good night01:14
* bonniot leaves01:36
* arjanb leaves01:47
* bonniot joins09:20
* arjanb joins10:56
<CIA-9>03bonniot * 10Nice/src/nice/tools/testsuite/TestCase.java: 11:01
When running a separate jvm, put the classes directory after the testcase
directory, since generated code must have priority over core one.
class A {}
class B extends A {}
int foo(A x) = 1;
String foo(B y) = "abc";
This return type is less precise than the original return type of method13:28
nice.lang.int foo(A x)
i think it's wrong to give an error here
if you accepted this, then you would never detect wrong specialization13:34
or people making a mistake in the return type of the specialized version, and getting strange behaviour (no override)13:36
<arjanb>to do this unintentional you need to make 2 mistakes, forgetting the override keyword and get the return type wrong
but override does not exist in Java, so we must assume people will omit it a lot in the begining
if both methods return such different types, it probably means that they are unrelated13:37
so forcing them to have different names is not a bad thing
what was your real situation?
<arjanb>i want to find superfluous notnull()'s13:39
<arjanb>but adding <T> ?T notnull(!T) doesn't work13:41
<bonniot>the normal one being <T> !T notNull(?T);13:42
what about13:43
override <T> !T notNull(!T x) = assert false;13:44
<arjanb>that isn't a override and doesn't work at compile time13:45
<bonniot>why not?
i understand it only helps if you run the code, but that still does the job
why is it not an override?
ok, i see13:46
<arjanb>oh it's a override13:47
<bonniot>yes, but it will fail at runtime when it shouldn't
you could just remove the check temporarily13:49
i understand it's useful in this case, but that's very specific
actually, this could be a job for macros!13:50
the specialized version could print a warning at compile time
<arjanb>yeah or optimistic checking of precondition at compile time13:51
for the moment you can just work around it
<arjanb>atm i'm just looking for a easy way to detect superfluous notnull in bossa.syntax13:53
<bonniot>i understand13:55
and you have it ;-)
any success?15:17
<CIA-9>03bonniot * 10Nice/ (5 files in 4 dirs): 15:47
Stop wrapping ClassCastException into gnu.mypping.WrongType. This is only
useful in unityped languages like Kawa. This reduces bytecode length and
removes the need for adding the WrongType class in generated jars.
<arjanb>no i was away and i don't know how16:03
<bonniot>what if you define your version of notNull, and you temporarily disable the check?16:06
<arjanb>that could work16:07
* Atomixx joins17:30
<Atomixx>hi there17:33
<Atomixx>take a look at this ;-): http://www.smalltalk.org/articles/article_20050306_a1.html17:34
<bonniot>it seems you always come when I'm about to leave (10-20 minutes)!
<Atomixx>seems so *g*
<bonniot>still have some time ;-)17:35
how are you doing?17:36
<Atomixx>a little littel bit stressed
5th April i am going to write a physics exam17:37
but it isn't as bad as it seems at first ;-)
any progress with ftp?17:40
<Atomixx>no, not yet17:41
i hope i can do something if the date is later than 05.04.17:44
<bonniot>got it ;-)17:45
<Atomixx>the 'problem' is (besides physics) i have installed SplinterCell and XIII on my laptop17:46
and i have just discovered some benefits of Smalltalk
this could cover all my free time i have left17:47
<bonniot>what are those? (not smalltalk)17:51
<Atomixx>pc games
both from ubisoft
they are really great. it is a lot of fun playing them17:53
depends on what one likes to play17:54
and how do you compare smalltalk with nice?17:55
<Atomixx>it is both different17:56
smalltalk is fully object oriented
there is nothing than objects
no actual switch blocks or similar
your system is also your ide ;-)17:58
and everything you write is at once available in the whole system
<bonniot>during debuging for instance?17:59
<Atomixx>smalltalk is interpreted
that means if you are writing a class18:00
you can access it once you have saved the code for it
but i won't get away from nice anyway
it is fun too
<bonniot>yeah, i guess it must be interesting to try such a dynamic environment18:01
but then, bye bye static safety18:02
<Atomixx>i think you don't need it there18:03
but this is just thinking
everything is an object( the variables included) ;-)
i am going to show it my little sister.18:04
it is a very good approach to oop if you haven't programmed before18:05
<bonniot>you don't need static safety? hum...18:10
<Atomixx>i don't know18:11
it was just a guess
ok, i'm going to leave then18:37
<Atomixx>if i find some time i am going to write more code for the ftp thing
and maybe i am going to try, if i can improve the eclipse-plugin a little18:39
<bonniot>ok. please write to nice-eclipse mailing list if you do so, to let people know what is happening
<Atomixx>but only if i'm having success ;-)18:40
* Atomixx leaves18:41
<bonniot>what's up with 1163887 ?21:31
the testcase compiler/packages/static.testsuite is not marked as bug21:32
<arjanb>that one is closed because it was just implemented when it was submitted21:35
<bonniot>i see no commits around that time...!21:37
<arjanb>i think it was some visibility thing a few days earlier21:38
<bonniot>i think it was a bug in the new visibility21:53
but actually it was the opposite: it was buggy since the begining, and the new visibility fixed it?21:54
looks like rohan found a bug22:22
<bonniot>indeed. are you looking at it?22:34
<arjanb>yes it's something in the shortcut test22:55
<bonniot>i disable it for now, and let you look at it22:56
<CIA-9>03bonniot * 10Nice/ (2 files in 2 dirs): 22:58
Temporarily disable the secondary link test optimization, as it is currently
overly optimistic (it lets some ambiguities unnoticed).
<arjanb>i think the problem is in typeconstructors.nice:8023:01
<CIA-9>03arjanb * 10Nice/src/bossa/syntax/ (dispatchTest.nice typeConstructors.nice): Fixed bug in shortcut dispatch test.23:37
<bonniot>quick fix ;-)23:39