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

Using timezone: Central European Time
* bonniot leaves04:14
* bonniot joins09:59
* magnus joins10:38
<bonniot>hi10:43
<magnus>hi10:56
Nice looks attractive10:57
<bonniot>:-)
did you just discover it?
<magnus>yeah10:59
<bonniot>which aspects do you like?11:00
<magnus>hmm, hard to say11:05
i like that methods are seen as functions like any other (am i correct?)11:06
<bonniot>yes
<magnus>and i like parametric classes11:07
<bonniot>methods in class-based languages are sort of crooked ;-)11:08
crippled
<magnus>yes11:09
i don't know what i should use Nice for though:)11:12
I am pretty tied to c++
because of the things i do
<bonniot>what ties you?
<magnus>one of the things i do is audio effects plugins11:13
and the other thing i participate in right now is libtorrent.sf.net which is all c++
<bonniot>with gcj you can generate native code from Nice and link it with c/c++11:15
it's probably easier if you have a relatively independant module, still
<magnus>yeah11:16
libtorrent makes heavy use of libboost and stl also so there's a lot of templates
is Nice used in any projects?11:17
<bonniot>yes, a few
there is some commercial development done with it11:18
* arjanb joins11:42
<bonniot>hello arjan11:46
<arjanb>hello
<bonniot>arjanb: any work in progress?13:42
<arjanb>no13:56
i think it's time for a release13:59
<bonniot>me too14:02
what do you think for the syntax of constructors?
<arjanb>i don't prefer one of the possibilities14:04
so release as it is now and see if someone can find a good reason to change it14:05
it's a more experimental release anyway because of exp local vars, block calls14:06
<Bluelive>hmz, and then i collided head first with the equals statement18:21
<bonniot>bing!
<Bluelive>abiguous field. (choises include operatorEquals(alpha.base.Integer) and operatorEquals(alpha.base.Object))18:22
guess i could try to use some best fit based on shortest distance18:23
altough thats no silver bullet because of multiple inheritence18:24
and what if there are multiple parameters18:28
<bonniot>why don't you have only one method, and use overriding? then there is no ambiguity18:31
<Bluelive>thats one sollution18:32
but it seems a bit weird that i cant really overloaded methods if the parameteres arent mutually disjunct18:33
<bonniot>why can't you?18:34
<Bluelive>because that would cause an abiguity18:36
java uses the distance to determine which one to use ?
<bonniot>if they are disjunct, only one can apply18:37
<Bluelive>well i have a write(String s) and a write(object o), and currently that cant work
<bonniot>ok, that's not what I call disjunct18:38
<Bluelive>jup
<bonniot>in that case I choose the most precise one if both are applicable
<Bluelive>disjunt methods allready work18:39
how do you define precise ? distance to the type ?
<bonniot>it's independant of the types of the argument. write(String) is more precise than write(Object) beause String <: Object18:40
for multiple parameters it's point to point
<Bluelive>that leaves the horrible world of multiple inheritence18:42
write(A) write(C) called for d where d:(C, B) B:(A)18:43
well first let me try the String <: Object trick18:45
<bonniot>well, that's an ambiguity18:59
<Bluelive>write(C) would be a tighter fit19:04
hmz no you right
<magnus>(i'm no expert so i may say something stupid now) maybe best is to make an error in this ambigious case and require user to typecast19:13
write(A) write(B) C(A,B) is tricky too...19:15
<Bluelive>im currently making some code that follows daniels suggestion19:16
<arjanb>magnus: note this is about a language Bluelive has started with and not Nice
<magnus>aah
<Bluelive>sorry bout that, im a bit of a parasite of nice19:17
<bonniot>what you say is Nice's behaviour :-)
<CIA-3>03bonniot * 10swing/project.xml: Added link to the wiki documentation.20:03
* magnus leaves21:50
<Bluelive>and then the big question came: different types for byte and char ?22:25
<bonniot>of course!22:52
* arjanb is inactive last days :(23:52
<bonniot>you implemented exp local vars and super disambiguation, that's not bad... :-))00:42
<arjanb>that's thing i can remember00:47
* ChanServ leaves00:53
* ChanServ joins
* ChanServ leaves
* ChanServ joins
<bonniot>one thing i think we should implement soon is the catching of exceptions in main to print them nicely01:15
<arjanb>soon as in before 0.9.6?01:19
<bonniot>not necessarily01:34
tomorrow i'll look back at the constructors issue and see if we can release01:35
the stack traces can go in whenever it's ready :-)
good night01:36
<arjanb>good night
* bonniot leaves
* arjanb leaves02:09