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

Using timezone: Central European Time
<bonniot>how are you doing with the scripts?00:57
<arjanb>they are working01:08
<bonniot>ok, good01:44
good night
* bonniot leaves
* arjanb leaves02:41
* xoltar joins07:26
* xoltar leaves07:27
* bonniot joins09:41
* arjanb joins11:16
<bonniot>hi arjan11:22
<arjanb>hi11:23
<bonniot>about http://nice.sourceforge.net/cgi-bin/twiki/view/Doc/NiceExpressions11:24
what are _ and __?
also, i don't see | and ||
<arjanb>it are | and ||11:25
but the wiki formatter eats |
<bonniot>is that a typo?
there must be a way to escape them
<arjanb>i have tried that11:26
<bonniot>what have you tried?
<arjanb>to escape but i didn't get it work11:27
<bonniot>there could be many styles of escape11:28
have you looked at a HTML entity for | ?
&xxx;
like < for <11:29
<arjanb>are you editing it now?11:35
<bonniot>not anymore (did you see a lock?)11:36
<arjanb>yes
<bonniot>it should be ok now11:37
<arjanb>fixed11:41
<bonniot>so what did you find?11:44
are the operators listed in decreasing precedence?11:47
<arjanb>i think i had overlooked that &#xxx must be end with a ;11:56
<bonniot>and what is the name for | ?11:57
<arjanb>yes in decreasing order
|
<bonniot>no name?
<arjanb>not that i could find11:58
| is not a special token in html
<bonniot>makes sense11:59
<arjanb>*away*12:17
<bonniot>should't single " be allowed inside """...""" ?12:43
<arjanb>*back*14:42
<bonniot>what do you think about """ above?14:55
the new manual mentions this does not work, but it looks like it should14:56
<arjanb>yes the lexer doesn't have a problem with it so i'm changing it now
<bonniot>ok14:57
<arjanb>though you can get some strange corner cases14:58
<bonniot>like?
<arjanb>"""""xx""" possible and contains ""xx 15:00
"""xx\"\"""" contains xx""15:01
<bonniot>looks fine to me15:04
<arjanb>so you still need to escape " sometimes15:05
<bonniot>Yes, but much less15:10
<arjanb>committed15:55
<bonniot>thx16:05
will you have time to look at reducing retypings? what else do you have in plans?16:06
<arjanb>more time than desire but i have a few other things in mind16:41
<bonniot>like?16:44
(retypings would be a gret help because that should reduce testsuite runs a lot)16:45
<arjanb>expression local variables, overloaded constructors
<bonniot>those would be useful too16:48
btw, could you add a News entry for your change on enums?16:49
other things to put there?16:50
<arjanb>CC?16:51
updated except for CC's17:06
<bonniot>thanks17:16
<arjanb>is the syntax for CC already sure?
this(...) or new(...)17:17
<bonniot>no, i'm still unsure, and there was no answer yet on the Wiki17:27
it seems not all methods of java.util.Collections have been retyped. is there a reason?17:31
<arjanb>i haven't done the deprecated ones and maybe i have forgotten a few17:33
<bonniot>for instance unmodifiableList
<T,U | U <: T> List<T> unmodifiableList(Collection<U>) = 17:34
native new Collections.unmodifiableList(List);
<arjanb>yes a few static Collections methods i haven't done yet
<bonniot>i think, because you cannot modify it, so it is safe to give it a greater type parameter
agreed?
<arjanb>wdym?17:35
<bonniot>with the new type?
<arjanb>a greater type parameter?17:36
<bonniot> U <: T17:37
let List<Widget> l = unmodifiableList(buttonList);17:38
can be legal
<arjanb>i see 17:39
i read it as greater type than in the retyping you showed
<bonniot>T can be a great as you want already, it is not bounded :-)17:40
* xoltar joins18:57
Hi folks.18:58
<bonniot>hello bryn19:03
what's up?19:04
<xoltar>Well, it occurred to me that since we have range syntax, it might make sense to be able to do:19:05
for(int i : [1..10]) {
println(i);
}
But the compiler won't accept that. Do you think it should, or no?
<bonniot>i think it's19:06
for (int i : 1..10)
<xoltar>Aha, it sure is! Sorry!
<bonniot>1..10 is a Range, which is a subclass of Collection19:07
<xoltar>Haskell reflexes got me.
<bonniot>we discussed that syntax, because it could be neat to write:
[x..y[
for a range excluding the upper bound, etc
but it could be messy19:08
it breaks the "nested" feel of [ ]
<xoltar>Hmm.19:10
<arjanb>hi19:12
<xoltar>Python ranges always exclude the upper bound. Haskell ranges include it (unless it's infinite, of course ;-), and Ruby does both with a syntax nobody can keep straight.19:13
One possibility (hard to parse?) would be to allow [1..10] and [1..10) like in mathematics.19:14
<arjanb>maybe :: for range excluding upper bound
<xoltar>Perhaps. Ruby's is 1..10 and 1...10, and nobody can ever remember which is which. :-)
<bonniot>i think in mathematics it is [1,10[19:15
<arjanb>afaik .. is inclusive in most languages
<bonniot>(at least in France, some math notations differ slightly in different countries...)19:16
<arjanb>Bryn which syntax do like best for calling a constructor in a custom constructor this(...) or new(...) ?19:17
<xoltar>Daniel: Strange, I've never seen that syntax before.19:18
<arjanb>it could be the european syntax19:19
<xoltar>Arjan: Not sure, I haven't been keeping up with the custom constructor stuff so far. My first reaction is 'this(..)', but I'm not sure.
Interesting.
<arjanb>we are not sure either about this or new19:20
<bonniot>we also need a good syntax to distinguish custom constructors and the implementations of overloaded constructors19:25
<xoltar>Should I change the entry on multi-line string literals to reflect the fact you don't need to escape double quotes anymore, or should that wait until 0.9.6?19:46
<arjanb>can wait i think19:47
<xoltar>Okay.19:50
<bonniot>if you prefer, you could also do it, and I will not send the new version straight away :-)
it's better than to forget...
<xoltar>That's fine. The manual.html gets built manually, then? That's good to know.19:51
<bonniot>yes, it's manual at the moment
i'm skimming though the recent archives of comp.lang.java19:56
<xoltar>Anything interesting?19:57
<bonniot>i found that there are many people asking questions like "how do I do this", or "why does Java behaves likes that, it does not feel right"19:58
and in each case, a feature of Nice is the answer: once anonymous functions and higher-level methods
the other one is about multiple-dispatch
the interesting part is that those people do not know about those terms19:59
but that's what it comes down to
it's quite motivating for us, I think :-)
<arjanb>similar thing here: http://forum.java.sun.com/thread.jsp?forum=316&thread=475184&tstart=0&trange=15
<bonniot>i take comp.lang.java, you take that forum, OK? :-)20:01
seriously it would be a good idea if one of you could show how Nice handles that situation20:04
no taker?20:14
<xoltar>I don't mind taking this one (or others, if someone points them out), but in general I don't follow the Sun forums.20:23
<bonniot>so go for this one! :-)20:27
it's quite fun to write such articles, because the force is on our side ;-)20:29
I also feel more confident now that we have the new syntax for methods, because it's less scary for newcomers20:30
i guess I should really update the tutorial for that, I will do it now...
<xoltar>Cool.20:31
<bonniot>it's a search on @ :-)20:32
<xoltar>That's how I did it. Don't forget #, though I don't know if that's in the tutorial or not...
<arjanb>and remove the use of the 'alike' keyword out of the tutorial
<bonniot>is alike explained in the User manual?20:35
<arjanb>yes20:36
<bonniot>ok, but isn't it good to have some more advanced stuff in there to show a taste of advanced features?20:40
i suppose the best would be to have a more elaborate system, with simple things first, then different ways to go on20:41
that will need more work...
<xoltar>Posted!21:15
*lunch*21:17
<arjanb>what about making overloaded constructors first only functions and not methods?21:21
i can't find any reasonable syntax for overloaded constructor method implementations21:22
<bonniot>well, it would keep the compiler simpler to have overloaded constructors (OC) as normal methods, with no special treatment besides parsing21:56
<arjanb>true22:10
but we could leave the syntax part of implementations away for now22:13
so you have only constructor methods with a default implementation22:14
any plans for adding type declarations to nice?22:51
<bonniot>what are you thinking about?23:04
<arjanb>type foo = (bar, xyz<abc>)->foobar;23:05
just an alias
to make the code more readable23:07
<bonniot>yes, it would be possible23:11
something I would really like is to be able to say
subtypes of "int" for instance, that would really be int at runtime, but with extended typeckecking23:13
so you don't add apples and oranges...
<arjanb>agreed23:27
<xoltar>Me too.23:33
<arjanb>daniel working on something now?00:14
<bonniot>planing to finish the CC, by adding support in subclasses00:24
and you?
<arjanb>nothing at the moment
but i'm thinking about what to do tomorrow00:26
good night00:56
* arjanb leaves

Generated by Sualtam