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

Using timezone: Central European Time
<arjanb>good night02:16
* arjanb leaves
* magnus-- leaves02:21
* bonniot leaves03:15
* arjanb joins11:23
* bonniot joins12:11
hi12:13
<arjanb>hello
some retypings break when using java 1.512:19
<bonniot>yes, i saw the report12:21
are these retypings needed?
<arjanb>yes
but it's a bit strange the api docs for 1.5 don't mention AbstractStringBuilder12:22
<bonniot>it's still beta...12:24
why is it needed? seem to be to have the default policy
<arjanb>not all appends methods12:25
<bonniot>which one?12:26
<arjanb>some accept null arguments and some don't12:27
a possible solution is to disable the return type check of the java part of retypings12:28
<bonniot>yes, it's possible. if we don't check, then the type should not be written at all?12:31
which append does not accept null?
<arjanb>the one with the char array12:32
<bonniot>the 1.3 spec does not say12:33
ok, if you dif in String.valueOf it's there
but so some of them are useless12:34
<arjanb>yes12:35
<Bluelive>http://cal018000.student.utwente.nl/cgi-bin/cvsweb.cgi/Alpha/alpha/io/FileOutputStream.alpha?rev=1.1.1.3&content-type=text/x-cvsweb-markup12:36
how does that look to you ?
<bonniot>dark...
inlines are weird. doesn't that mean you are pretty stuck to not changing implementation details, because code could rely on it?12:38
<Bluelive>what do you mean ?12:42
<bonniot>well, for instance12:43
(*this)->handle
this means you will need to implement your objects with a handle forever
the implementation is revealed12:44
<Bluelive>it does make a few assumptions about generated coe
but i dont think that should be a large problem12:45
<bonniot>until you have some large programs, and you realize there is a better way to implement something...12:46
<Bluelive>well about the handle, that handle is only exposed to this class12:47
<bonniot>it's fine if it's reserved for core libraries, or discouraged for user code, though
<Bluelive>it wouldnt make much sense to use inlines in user code, unless its about calling some library or some really horrible speed hacks12:48
alpha.base.Character? c;12:49
[inline(<"
cp=(*str)->charstring;
while (*cp)
{
(*c)=NEW_alpha_base_Character__uint((unsigned int)(*cp));
">)]
operatorShiftLeft(c);
[inline(<"
++cp;
}
">)]
now there is a fun piece of code12:50
<bonniot>fun is the word!
arjanb: is java.lang in majority (?) or (!) ?12:53
<arjanb>i would need to count to know12:54
<bonniot>hopefully there is a clear majority12:55
<arjanb>but what to do with the stringbuffer problem?12:56
<bonniot>i'd agree with not requiring the return type anymore12:57
it should probably still be possible, because methods can be overloaded on their return type
so the return type could be made optional12:58
<arjanb>java methods can't?
<bonniot>java method can't, but bytecode methods can
<arjanb>i'm not sure because then you can't override them in bytecode12:59
<bonniot>it would still help to choose a policy for java.lang. with fewer retypings, it's simpler to care about the rest (and there is the speed up, of course :-)13:00
what are you not sure of?
<arjanb>overloading on return type in bytecode13:01
<bonniot>yes, it's the spec
look at the bytecode, method calls specify the return type13:02
you say: call foo(int)->int
so can also call foo(int)->boolean
why couldn't you override them?13:03
<arjanb>i can't find any restriction so i probably confused something13:08
<bonniot>this is not a common situation, still, so it's good to allow not to specify the return type13:12
and it will solve this case
agreed?13:32
<arjanb>yes13:33
<bonniot>can you implement it?13:34
<arjanb>already started
<bonniot>me too!13:35
no, just joking ;-)
i'm on the specialization stuff
<arjanb>bytecode.ClassType:39413:43
so that was why i thought there is a restriction13:44
<bonniot>i wrote that method :-)13:45
getDeclaredMethod does not use the return type information13:47
i don't think it's a pb atm
<CIA-2>03arjanb * 10Nice/src/bossa/syntax/RetypedJavaMethod.java: Removed return type check of retypings because of bug #904832.13:57
<bonniot>hum, is that a temporary fix?14:01
<arjanb>yes14:02
<bonniot>whas it needed to commit it then? so that brian can use jdk 1.5 in the next hour? :-)14:03
<arjanb>i first want to see what other problems java 1.5 turns up14:07
<bonniot>ok14:08
<arjanb>and i remember some things i have to do today
Bluelive: exams and courses registration deadline is today14:11
*away for a few hours*
<bonniot>ok, thx for the workaround
<Bluelive>exams i subscribed for last week16:42
but how do i subscribe to courses ? :)
* Bluelive leaves16:52
* Bluelive joins17:21
<arjanb>*back*17:56
<CIA-2>03bonniot * 10Nice/src/ (6 files in 3 dirs): 23:17
Changed mlsub.typing.Domain so that it contains an array of monotypes instead
of a single monotype (which was normally a tuple type). This is more consistent
with function types having an array of parameters, more efficient, and it
allows for simpler handling of the components of the domain.

Generated by Sualtam