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

Using timezone: Central European Time
<CIA-7>03arjanb * 10Nice/src/bossa/ (6 files in 2 dirs): Converted AbstractInterface.02:01
* arjanb leaves03:17
* lucp joins09:25
* lucp leaves09:58
* arjanb joins13:49
* fcb joins14:15
* fcb leaves14:26
<CIA-7>03arjanb * 10Nice/src/mlsub/typing/UnknownMonotype.java: Changed the string representation of UnknownType to "unknown".15:00
03arjanb * 10Nice/src/bossa/parser/Parser.jj: Changed the string representation of UnknownType to "unknown". (missing parser part)16:36
* lucp joins18:56
<lucp>good morning
<arjanb>i hope i didn't break things by changes in the mean time19:12
<lucp>i will update and try to compile a little later.19:14
* CIA-7 leaves20:00
* CIA-3 joins20:05
<arjanb>grmbl @ all these protected methods in ClassLoader20:28
* gamsl joins22:43
<gamsl>i found a bug in nicec23:14
can i post you code here? it's java code ...
<gamsl>ok this are 2 stripped down java classes from the eclipse plugin. i think the bug is maybe related to multithreading as org.eclipse.core.runtime.IProgressMonitor definitely has something to do with threading but I maybe wrong ...23:16
import org.eclipse.core.runtime.IProgressMonitor;
class NiceCompilationListener implements bossa.modules.CompilationListener
private IProgressMonitor monitor = null;
private NiceBuildNotifier notifier = null;
// ...
public void progress(float proportion)
* FIXME Bug in Nice Compiler
// ...
class NiceBuildNotifier
private IProgressMonitor monitor;
int workDone = 0;
int totalWork = 1000000;
* gamsl leaves
* gamsl joins23:18
hmm my client says i'm flooding maybe i should submit a bug report instead of the chat here ...23:19
<arjanb>this network doesn't allow more than 10 lines a minute :(
what's the problem?23:28
<gamsl>i submitted it just now23:38
basically I think it has something to do with multithreading23:39
<arjanb>looking at the stacktrace it looks like notifier is null23:42
btw why is it java code?23:44
<gamsl>it's just in the beginning ... the eclipse plugin environment does some code generation and I had the feeling that it would be easier for me to start off using java, and to switch to nice when I feel more comfortable with eclipse ...23:45
and nice :-)23:46
<arjanb>can you check the value of notifier field before the bug comment?23:47
<gamsl>hehe notifier is null23:49
why does that lead to a bug?
<arjanb>you can't call a method on null23:51
<gamsl>i know that ... but why is it a bug? shouldn't it be a error?23:52
or is this the way nice reports nullpointers?
<arjanb>nicec catches all exception happening internally and say it's a bug, which is the case when using it on the commandline23:54
<gamsl>i see ... i corrected it :-) it happened when i copied the code from alex's eclipse plugin, i had a field but it was overwritten with a local variable ...23:56
thanks anyway :-)
* CIA-3 leaves
<gamsl>i hate this thing when local variables override fields ... it happens too often to me ...23:57
<arjanb>maybe we could put a warning in nicec for that..23:58
<gamsl>sounds reasonable to me, i think you can do that in java also, at least in eclipse you can do it ... we will also be able to do it in eclipse in the end, hopefully :)23:59
btw i have new projects, new packages, new sourcefiles, basic project configuration, building and error reporting in the problems view of eclipse working in eclipse3.1M300:00
i think this is still not as much as the alex's plugin can do, but I'm moving on. Basically I'm starting from scratch, but of course I take alex's ideas along (as with the NiceBuildNotifier that triggered the bug that was no bug ...)00:02
<arjanb>did you got this exception reported as bug to eclipse?
<arjanb>the compilationlistener has a bug method00:03
<gamsl>aa i know what you mean .. yep :-)
* CIA-3 joins00:04
<gamsl>sorry actually it was reported as an error in the problems view, but the message was the bug message from nicec00:07
<arjanb>no problem, just close the bugreport
<gamsl>i'll do that00:08
<arjanb>have you seen http://nice.sourceforge.net/cgi-bin/twiki/view/Dev/EclipsePlugin
<gamsl>yes i saw that page, i am familiar with alex's code, but i don't have eclipse2.1 to test with (maybe i should get it ..)00:15
what i miss compared to alex is syntax highlighting00:16
<lucp>i was able to compile Alex's code and working with eclipse 3.1 with only a few changes... mostly to the ant file
<gamsl>could you send me your version? I never tried that because anyway i want to start from scratch ..00:17
<lucp>arjan: i am getting many 'comparing non-null with null' messages in methodbody.nice.. is this ok?00:18
gamsl: what is your email?00:20
<gamsl>gamsl at abschneiden.com00:21
<arjanb>lucp: just the result of javamethods that return maybe null but that i haven't retyped
<lucp>gamsl: i have sent you what i have.00:26
arjan: okay
<arjanb>i will do a cleanup of those when the conversion is completed00:27
<gamsl>i am currently working on launching nice applications from eclipse, which leads to a first closer interaction with the jdt beast00:30
do you guys think that it is ok to make the nice plugin require some of the jdt plugins extension points (as jdt anyway gets shipped with eclipse) ....00:31
<lucp>from my first glance i think it might be difficult to reuse most of the jdt code.. it is specifically designed for java only. i did not study it very long however00:32
<gamsl>yes this is my first impression as well00:33
but we can reuse the ideas
there are also classes that can be used directly without modification, i.e. for launching, as we use the jvm to launch nice apps .... i hope i have that part working soon00:36
i think the launching facilities alone justify that we require the jdt00:38
<arjanb>i see no problem with that if jdt is shipped with eclipse00:40
<lucp>arjanb: i have sent you my patch for protected methods.. i have not looked into improving it as we were talking a few days ago. i do not suggest committing it as is.00:42
<arjanb>there was a problem with final protected methods right?00:44
<lucp>right. the current implementation creates methods with the same name in the sub class.00:45
<arjanb>so we need to use a special names and i think they should be static redirect methods to allow first argument to be java super classes 00:47
<lucp>that is much more complex than my fix. the current implementation doesn't modify the result of overloading resolution, because i am not sure how to find the correct nice class in all instances00:51
<arjanb>only adding special names would be enough to be it work in most cases i think..00:57
could you try if the following change fixed the final protected problem01:04
niceclass line 650 and a little01:06
let lambda = this.createJavaMethod( "protected$" + protectedMethod.getName(),
<lucp>the problem is that the overloading resolution needs to be updated so that the new method name is used instead of the old one.01:14
<arjanb>i fail to see why01:18
<lucp>because the redirect method will never be called as it is.01:22
<arjanb>ah i see01:27
<lucp>we could build a new expression based on the redirect method, however i don't know which class to use.01:29
<arjanb>what about storing the generated code from createProtectedJavaMethodOverride in a field of javamethod01:32
<lucp>that would work as long as you are only extending the java class in one nice class.01:38
<arjanb>thus a list of them..01:39
hmm this is a nasty little problem01:40
<lucp>i would not know which one to use.. it is trivial if the type of the first arg is known however that is not always the case01:42
<arjanb>yes :(01:46
well i think the best is to discuss this with daniel tomorrow..01:49
* gamsl leaves01:53
<arjanb>lucp: do you have other things to continue with?02:29
<lucp>i will be pretty busy for a while.. i return to work tomorrow.02:30
<arjanb>i see, i was just asking because protected method thing could block you..02:34
<lucp>i might go back to conversion instead of working on the new class loader.02:36
until this problem is resolved.
<arjanb>i have done inlinedmethod today but it has that problem too..02:38
i'm planning to do some conversions this week, could you send a notice if you start on something?02:40
it not the kind of work to do twice..
<lucp>yes.. duplicating work would be bad.02:41
* arjanb leaves