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

Using timezone: Central European Time
* arjanb leaves01:42
* GummiEnte joins08:06
* arjanb joins11:04
if the compiler gives an internal error it's always a bug11:09
could you give the code of the MyStreamTokenizer2 methods?11:29
class MyStreamTokenizer2 extends java.io.StreamTokenizer {
nextToken() {12:09
if (mypeekc == MAX_INT())
// ok, then call super
this.ttype = super;
// ok, we take the cached character
this.ttype = mypeekc;
reset peekcharacter
mypeekc = MAX_INT();
That's the part... do you even need more.
<arjanb>i first have to try to create a testcase for this problem12:11
<GummiEnte>Now that you're here, I've already another question. I've posted to nice-info, but the ml is slow... (or is the list a members-only list?)12:13
How to do someting like:
class FOO<T> implements java.io.Serilizable ?12:14
<arjanb>i don't know12:16
<GummiEnte>hmmm... that's a pity.
<arjanb>i believe that the compiler ignores the Serializable interface but i have no idea why
<GummiEnte>I've send Daniel a mail... Jopefully he has got some time and is available...12:18
<arjanb>i fixed and committed that internal error with tuples12:36
<GummiEnte>It was about the thing in MyTokenizer2 ?12:38
<arjanb>no the problem in your other mail
<GummiEnte>Ah yes... Great12:39
<arjanb>it looks like some lines disappeared in your code12:52
<GummiEnte>Yes... Sorry..12:54
I'll send you the hole class as mail... please wait a minute.
<GummiEnte>It should be delivered...12:58
<GummiEnte>Could you reproduce it?13:03
<arjanb>minimal testcase:13:39
./// PASS bug
. /// package a
. /// Toplevel
. class Tokenizer2 extends java.io.StreamTokenizer {
. nextToken() {
. this.ttype = super;
. return this.ttype;
. }
. }
. /// package b import a13:40
. let x = new Tokenizer2(System.in);
. x.nextToken();
<arjanb>the delay in anon cvs is about 1 hour so the tuple fix is available for you now13:47
...going for lunch14:00
* bonniot joins14:11
<bonniot>building a 1.3 version14:12
<GummiEnte>the dev version is from: Nice compiler version 0.9.4 prerelease (build 2003.10.18, 18:00:53 UTC)
Compiled using JDK 1.4.1
Copyright (C) 2003 Daniel Bonniot
<bonniot>CVS is still delayed, right?
<GummiEnte>Only 1 hour...
<bonniot>that's better
did you get my patch yet, then?
<GummiEnte>Have you seen the bug I meant, that is still open?14:13
<bonniot>which one?
<GummiEnte>Arjan submitted a testcase...
But I think he is already working on it... Maybe he is also out to lunch (as I have to go now also...)14:14
Have you meant me with "did you get my patch?"? If so, I didn't get anything...14:15
<bonniot>"meant" ?
no, I commited to CVS
so the last problem is with Tokenizer?
<GummiEnte>http://dict.leo.org/?p=lURE.&search=meant <-- this is for meant...14:16
Yes, I think sop.
<bonniot>btw, nice-info is subscriber only
<GummiEnte>Ah, I see.. therefore my mail didn't come through... I've been written not from my subscriber addres..14:17
<bonniot>i can add the other one in a white list
i will be notified of the block, but I haven't yet
(i know what "meant" means, I think :-)14:18
<GummiEnte>...btw. this comes to my mind at the moment... the link to the logs on nice.sf.net is still to http://pauillac.inria.fr/~bonniot/nice@freenode/
<bonniot>(but that does not work with "to mean somebody", as far as I know...)
yes, i should update it14:19
<GummiEnte>Would be fine, if yoou would add the address to the white list...
<bonniot>do you think you could copy the old logs to your site?
<GummiEnte>Yes, you're right... Is DEUTSCH->ENGLISH translation ;/
Yes, I'll do so...
<bonniot>sending the 1.3 version...14:21
but it might not have all of alex's fixes14:22
i will update to that too...
<GummiEnte>Ok, so I'll leave for lunch... and see in about 1 and a half hour...14:23
<bonniot>long lunch :-)
gutten appetit
<GummiEnte>I'll go with my girlfriend...
The logs are copied...14:25
daniel a moment i will commit the testcase of the bug with supercalls
<bonniot>do you know where to classify it?14:29
<bonniot>is it a genaric super bug?
<arjanb>wdym generic super bug14:31
<bonniot>is it specific to Tokenizer?
<arjanb>i don't think so
<bonniot>in geenral, you need to know what the bug is to know where to put it14:32
what is your idea?
<arjanb>i have put it in methods\super.testsuite
<bonniot>i agree14:33
<arjanb>i have no idea what the cause is14:34
<bonniot>i checked, and there is already a test for a similar situation: a Java method, and two packages
/// COMMENT super defined in an imported package for a java method.14:35
ah, in our case only a call is made14:36
<arjanb>it looks like that $super$nextToken() method disappears when compiling the other package14:44
that's because it is generated by the compilation of the method implementation calling super14:48
and that is not recompiled
<arjanb>i see14:49
<bonniot>btw, a simple workaround for now is to compile with -R15:06
yes but -R is slow if you have many package with a lot of code
<bonniot>sure, but that does not matter when you want to work around a bug15:33
sure, we need to fix it too :-)
i think the best option is to be more clever about not regenerating the existing parts of the class15:34
btw, are there known cases where the printing of statements does not work for the initializer?
(that would be fixed at the same time)
<arjanb>it doesn't work in some rare cases as local functions15:36
<bonniot>could you submit a testcase for that
<bonniot>also, for the super testcase, it would not be a good idea to use System.in
that test can be simplified further by removing that part15:37
and maybe using the same classes/methods as the existing cases, so it is easier to see the difference
<arjanb>yes but it's a runtime error in that case15:38
<arjanb>you need to call nextToken() to trigger it15:39
<bonniot>it's enough to call any method that calls super15:40
it would be the same with toString
<bonniot>welcome back. for the 'super' bug, i suggest you just use -R now, until we fix it16:14
<GummiEnte>I'm deleting only the package.nicei's... That does trigger a complete(?) compile of the package...16:16
to come to your question... Developing nice makes fun, but when developng in mix with java, you have to be careful not to fall into some traps (compiling and developing class be class... then remove all targets.... then you have missing classes to compile nice and you have missing classes to compile java alone... (Arjan told me, that you've got someting similar in the compiler bootstrap process; I'm now also using a dummy class to get out of the16:21
Havae you already submitted the serialize updates to cvs? Arjan means, that there is a delay in anon cvs about 1 hour...16:22
<bonniot>deleting package.nicei does the same as -R, yes. personally i think -R is simpler :-)16:23
<GummiEnte>Well, I'm not invoking nicec myself... ant does all the stuff for me...
<bonniot>yes, the serialization code was commited ~2 hours ago
<GummiEnte>And which files have you updated?16:24
<bonniot>in build.xml, you can add an option to recompileAll
(recompileAll="true" ?)
bossa.syntax.ClassDefinition and JavaClasses
<GummiEnte>Right... Could also use that...
These updates doesn't seem to be in anon-cvs-... :(16:25
<bonniot>what about the dev version?
<GummiEnte>But I see, that you development version is now 1.3.1...
<bonniot>yes, so you can use it. isn't that good?16:26
<GummiEnte>As always, that's nice :)16:27
I've already fetched the "old" logs...
<bonniot>ok, thanks!16:28
<GummiEnte>Now class FOO<T> implements Serializable does work...
As you might ask, why not using -R... Maybe its' the same reason, why I don't let my initial "test nice code" go /dev/null but instead use it... 16:30
<bonniot>not sure I get that...
<GummiEnte>...well, I'm someone, who use a lots of things due to historical reasons...16:31
if there is no good point to do another way, I stay with the old things...
<bonniot>i see16:32
only, Nice is not really an old thing yet :-)
<GummiEnte>so, my initial testing code was a little parser for our excel cell evaluator...
No, but the code I've written first with nice, does exist in many other ways all oer the web...16:33
...now the nice part has grown to 15000 lines... will grow faster and faster.16:34
<bonniot>hum, quite a good piece of code already :-)16:35
regarding compilation, I advise not to mix Nice and Java code in the same package, if you can16:36
<arjanb>15000 that must the largest piece of nice code existing now :-)
<bonniot>would need to check with alex
<GummiEnte>Why not to do mix in the same package?
<bonniot>for the reason you mentioned earlier
<GummiEnte>I don't do that much (only some interfaces and Utilities)...16:37
<bonniot>is there any reason to write Java classes?
<GummiEnte>Ok... But that might also be over package boundaries...
Yes, interfaces.
<bonniot>only if you have mutually dependent packages16:38
<GummiEnte>...interfaces, so that I can use javadoc and some documented final constants...
mutually dependent packages?
<bonniot>a import b, b import a16:39
<GummiEnte>yes, this is something i was using...
...I've removed it again.
nicedoc would be really nice to have... javadoc might be not eough to doucment an api, but it is a good start.16:40
<bonniot>mutually dependent packages are best to avoid in general16:42
<GummiEnte>I've only run into that, cause I missed some design decisions...16:43
<bonniot>that's ok. refactor, refactor... :-)16:44
I'll leave now... Have a nice weekend...19:16
* GummiEnte leaves

Generated by Sualtam