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

Using timezone: Central European Time
* arjanb leaves02:37
* sodacan joins05:05
* sodacan leaves
* bonniot joins08:17
<CIA-3>03bonniot * 10Nice/src/gnu/bytecode/ClassType.java: Correctly return the package name of a class, not just the root name!09:12
03bonniot * 10Nice/src/ (3 files in 2 dirs): 09:14
Allow imported java packages to be specified to have non-null argument types
by default.
03bonniot * 10Nice/regtest/java/ (J/Other.java main.nice): 10:32
Make otherMethod public since it is used outside the package. It used to
work only because the compiler did not detect it (fixed by the previous change
to gnu.bytecode.ClassType.getPackageName) and the JVM neither because that part
of the code was not executed.
03bonniot * 10Nice/src/gnu/bytecode/Access.java: Distinguish between default and protected.10:35
* arjanb joins11:18
<bonniot>hello arjan11:39
there is a bug in CVS, I'm working on it...
<bonniot>do you think the retyping policy declaration could avoid some retypings in nice.lang?11:59
<arjanb>for jave.util not but other packages like java.io could do with less than half of the retypings12:26
<bonniot>sounds great!12:28
should help compilation performace a lot12:29
<CIA-3>03bonniot * 10Nice/ (4 files in 3 dirs):
Postpone the distinction between protected and default until we have
implemented visibility in Nice.
<arjanb>atm only argument types can have a policy?
<bonniot>yes. I'm open to other suggestions12:30
<arjanb>import somepackage.* ?(!) [ [ "?" | "!" ] "(" ( "?" | "!" ) ")" ]12:33
<bonniot>is ? for return types important in practice?12:36
I was wondering between ?(!) and (!)->?
the second one is more is more coherent with functional types
although that's not the way you see method types most often12:37
of course a generalization could be:
<arjanb>? is not useful if you retype a complete package but only if want to start with a conservative policy12:38
<bonniot>import somepackage.* ? *(!), ! foo(?), ? bar(?);
you mean you specify that for the whole package, and then you retype specific methods?12:39
for the one where you give method names, it would probably make sense to allow list of names, since many will share the same pattern
import somepackage.* ? *(!), ! foo,foo2(?), ? bar,bar2,bar3(?);
but that syntax is not OK
<arjanb>we should first see how package policies work out before adding more specific ones12:42
<bonniot>import somepackage.* (!)->?, foo,foo2 (?)->!, bar,bar2,bar3 (?)->?;
that's better because the (long list of) names does not split the policy, but I still don't like that , is used for two different levels
arjanb: agreed
but i was thinking about this because it can dictate what syntax we use for return types12:43
<bonniot>import somepackage.* ? *(!);12:44
makes sense if we also allow names instead of *
but i'm mixing up methods and classes...
it would be
import some.Class (!)->?, foo,foo2 (?)->!, bar,bar2,bar3 (?)->?;12:45
still, we should better have a consistent syntax
<arjanb>what to do if the policy is declared in multiple places?12:48
<bonniot>you can override a policy in an importing package12:49
<arjanb>but you could get conflicting policies?12:50
<bonniot>no conflict if it's overriden12:51
<CIA-3>03bonniot * 10Nice/src/gnu/bytecode/CodeAttr.java: Give a more precise message about methods that are not accessible.13:29
<bonniot>what's there?14:25
<arjanb>someone refering to Nice14:26
<bonniot>and pessimism about Java evolving anytime soon...14:28
<arjanb>java 1.5 support covariant return types so i see no reason why they can't have something like alike keyword14:29
<bonniot>don't ask me ;-)14:33
when did you add the automatic getters/setters?
that should be in NEWS14:34
<arjanb>probably a few months ago
<bonniot>it is in 0.9.5?14:40
maybe in 0.9.414:42
other ideas for http://nice.sourceforge.net/cgi-bin/twiki/view/Doc/JavaIntegration ?
<arjanb>not atm14:53
<CIA-3>03bonniot * 10Nice/NEWS: 15:46
Custom constructors, expression-local variables (explicitely typed version),
03bonniot * 10Nice/src/nice/tools/ant/Nicec.java: Added settings for Emacs.16:48
<arjanb>i will be away for evening17:20
<bonniot>ok. i'll be away for 2-3 hours too17:22
* arjanb leaves
* bonniot is away: 2-3 hours17:34
<Bluelive>and then antlr went into the woods wearing a cake as a hat19:56
when i say ~'\'' in an expression, it should mean it excepts anything but a ~20:10
bt apparently thats to logical
* bonniot is back (gone 04:03:16)21:37
* magnus-- joins21:50
how are you doing?
<magnus-->Hi, i'm doing fairly okay, I've got antlr to eat the .java files now:)22:07
I'm now trying to port my Main.java to nice
Tho I've ran into a problem22:08
I get java.lang.NoClassDefFoundError: antlr/TokenStream22:09
while the corresponding Main.java did not get this error
It also didn't work to type import antlr.Tool; in the .nice file as it worked in the .java22:10
<bonniot>Nice does not read the CLASSPATH variable, if that's what you used for Java22:12
you can specify 'nicec --classpath /location/antlr.jar ...'22:13
<magnus-->yes, that's what i used. however i addded --classpath ... in the makefile
<bonniot>(are you under unix or win?)
<magnus-->under unix this time
<bonniot>and it does not find antlr?
<magnus-->it finds antlr
but when i actually try to run the program, i get runtime error that the classes were not found
<bonniot>are you using java -jar ?22:14
<bonniot>that ignores the classpath (for Nice as well as for Java)
I guess you did not use java -jar for your Java version, right?
<magnus-->no i didn't. The way i'm trying to run it now is:22:15
java -classpath $CLASSPATH -jar n.jar
<bonniot>that ignores the classpath22:16
completely dumb
it should at least signal a warning
<magnus-->Anyway, there seems to be something funky going on in nicec too
<bonniot>since obviously you _expect_ it to work, since you use both22:17
<magnus-->import antlr.Tool;
doesn't work
but it works in java
<bonniot>for running, you need java -classpath n.jar:$CLASSPATH n.dispatch
<bonniot>in Nice you can only import packages
<magnus-->okay, i'll try that22:18
<bonniot>so import antlr.*;
<magnus-->I see.. thank you:)
<bonniot>you're not the first to fall to that
the pb is that I cannot change the dumb behaviour of the java command ...
<magnus-->indeed, it works now:)22:19
<magnus-->Maybe you need a big warning sign on the site:)
should probably be there:22:20
And if you declare (say) a new method with no default implementation, that applies to types that are already loaded, that would mean that you've introduced a logical inconsistency - it would have to be rejected. But we may want to allow such things temporarily, because we're going to provide implementations later in the module. So we need a way to enter the runtime into an inconsistent state, make changes, and then run the typechecker. If th
e type checker rejects the new modules, the runtime needs to return to its old state. If the typechecker accepts the new module, then the changes should become visible to other threads and other code. It should also be possible to reload modules. In short, the runtime becomes a bit like a database, or a logic system. Under this system,
package foo;
interface Bar {}
void baz(Bar bar) {
effectively becomes (via macro-expansion?) code for the runtime:
defineMethod("baz", [void, Bar]);
implementMethod("baz", [void, Bar], [| println("baz!"); |]);
wrong paste
i wonder why I was not quicked out for flooding ;-)22:21
I meant http://nice.sourceforge.net/compilation.html
<magnus-->mkdir -p ~/nice/my/package22:22
should be
mkdir -p ~/nice/my/program
anyway, thanks for helping:)22:24
<bonniot>no pb22:25
thanks for the info :-)
did the conversion Java -> Nice go smoothly?22:26
very short program, i only moved out the static main method from the dummy class
hardest part is to get the compile/run infrastructure up and working22:28
and knowing the workarounds to the java command:)
<bonniot>there is a change of approach fom compiling files to compiling packages
what tools are you using? Emacs?22:29
<bonniot>got the Emacs mode working?
Nice mode for Emacs
<magnus-->should it have colors?
<magnus-->then i didn't get it working yet
I'll try a little more
<bonniot>does it say nice mode on the status line?22:30
<magnus-->no, it says (Fundamental)
<bonniot>what OS are you running?
if Linux, what distrib?
I'm using ssh to my school's server + tunneling
<bonniot>ah, then there is no magic package
on Debian or SuSE, installing the package install the emacs mode autonagically, nothing else to do;-)22:32
is there a package system on SunOS?
something similar to RPM
<magnus-->I have no clue:)
<bonniot>anyway, the generic instructions for Unix on install.html should be sufficient
<magnus-->yes, I think I can get it to work22:33
<bonniot>ok, just ask if you need help
there, fixed it22:35
there's a slight error in the instructions
;(setq load-path (cons "~/share/emacs/site-lisp" load-path))22:36
should be
;(setq load-path (cons "~/share/emacs/site-lisp/nice" load-path))
must have been prior to a structure change22:37
* bonniot is away: 20min
* bonniot is back (gone 00:23:56)23:01

Generated by Sualtam