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

* gamsl joins15:46
hi ... log :-)? anybody there?
just wanted to say hello to the nice community again ! i'm feeling interested in contributing to the eclipse plugin.. where can I get the code?16:10
or is there anything that needs to be done for niceswing? i been away for a year now ... where can i help :-)?16:11
* arjanb joins16:15
i just logged in here the first time .. coool that nice now has an irc channel!!!16:19
i read the log and saw that you and daniel are here quite regularly16:20
that's nice
<arjanb>yes i like this irc channel because it works a lot faster than discussing things by mail16:21
<gamsl>yep that's true :-) i remember writing tons and tons of email .-)I
chatting is a lot easier
<arjanb>you have worked on the swing libraries last summer right?16:22
and then came a horrible year at university
which took all my time
<arjanb>i'm relative new to Nice but i help daniel on the compiler since half a year16:25
what do you think about the changes made last year?16:26
<gamsl>i tried to keep informed on the development .. i also receive all the newsletters ... great!!!16:31
i see nice growing and now am more sure than ever that this is THE language!!16:32
i saw you committed a great amount of code to the compiler .. that's cool!!!!
back then daniel was the only one working on it, great that now it's the 2 of you!16:33
unfortunately i know nothing about compiler and language design in general
<arjanb>daniel is quite busy with finishing his dissertation so i try to keep the pace in the development16:34
i didn't know anything about compilers or language design before i started with Nice16:35
<gamsl>that's important !!! daniel wants to be ready by september right?
how did you manage to cope with it so quickly?
<arjanb>yes but the compiler will take some more time
<gamsl>tell me the secret then i will try as well :-)
no seriously16:38
<arjanb>last year i got so demotivated of my study that i almost didn't do anything
i know exactly what you mean
i'm doing business infomatics .. and this was a big mistake .. since i hate everything concerning business16:39
and this year i ONLY did such courses
but now i have them almost finished
and can now concentrate on the thnings that interest me16:40
<arjanb>then i discovered Nice and had a lot of time to work on it and it made me sure that computer science is the right study for me
<gamsl>yep i'm also starting computer science in fall .... in addition to business informatics16:41
<arjanb>it's helpful for me to have something to do that i really like doing in my freetime16:42
<gamsl>same with me .. my problem with nice is: when i start working with/on it ... i don't want to do anything else anymore :-)16:43
and this would have been death for my studies :-)
now in summer holidays i have time again16:44
<arjanb>:-) i know the problem
do you know if anything has to be done for niceswing?
i read that with the new compiler version it takes longer to compile it
is there any hint that the design is maybe inappropriate?16:50
<arjanb>about the compile time isn't that bad at the moment16:53
before i started with optimizations in the compiler it took ~175 sec to compile and i got it down to ~3516:55
i remember times where it took 7min :-))))
<arjanb>and for an yet unkown reason the last version take ~65 seconds
<gamsl>but this was with a different design...
<arjanb>i don't think it's a design problem of niceswing16:56
but the performance of the type system degrades quite fast after a certain size16:57
<arjanb>and niceswing is the thing i know that is over some critical size16:58
<arjanb>the only thing
<gamsl>good .-)
so i should make it bigger .-)16:59
<arjanb>you don't have to the last time increase is in a different part of the compiler17:00
but niceswing was very useful in finding bottlenecks17:01
<gamsl>good :-)... btw ... is it already possible to implement non package local abstract interfaces with the current version? this was the reason why everything is now inside the nice.ui.common pacage17:02
it was planned to be split into beans awt and swing subpackages but that didn't work at that time17:03
because i could only implement abstract interfaces in the package i declared them
daniel didn't know how to handle this situation at that time
<arjanb>no the more advanced check for safe AI's isn't implemented yet i think17:04
<gamsl>i see
i think it would be important to have it implemented before 1.017:05
<arjanb>ofcourse but you should ask daniel about it
<gamsl>ok ... do you know if he will join some time today?
<arjanb>the last weeks he joins only in the evening17:06
but you can workaround that restriction of non local AI's17:08
<arjanb>see my example on wiki17:09
dev or doc?17:10
<arjanb>btw because of we lost the wiki content once except for the google cache it's possible that some thing you have written about niceswing may be lost
now it's gets backupped once a day automaticly17:13
<gamsl>i know this .... this is a good solution ! I think most of my discussions with daniel are lost, but that's not so important.17:18
important is that niceswing doc itself still exists ._)
concerning AI issue: do you mean the bypass is the workaround?
<arjanb>yes 17:19
<gamsl>i see17:22
<arjanb>i often look at things from the compiler point of view17:23
<gamsl>what do you think ..? does it make sense to use this bypass and spread it into packages ... or shall i just wait for the issue to be fixed
<arjanb>it depends on the priority daniel gives to this problem17:25
i can't fix this one because i'm not familar with that part of the compiler
<gamsl>ok ... then i think it's maybe best to leave it like it is at the moment....17:27
it makes no big difference anyway
do you know if someone already uses niceswing?
<arjanb>i have no idea17:28
* arjanb leaves17:30
* arjanb joins
because i haven't seen questions about niceswing i think nobody did more than a first trie17:32
maybe it should be made easier to download17:34
do you have the latest version of niceswing source? i made a few little changed once to keep it compilable17:43
<gamsl>i haven't downloaded it yet17:47
what can be done to make it easier? it should be a link to a jar file on the wiki page?
has this jar been updated since you made changes?
<arjanb>there is a link on a wiki page and i believe the jar is up to date17:50
<gamsl>ok good ... how can we improve the download situation? is there really a need to?17:52
i cannot think of an easier way actually
<arjanb>maybe the problem is that graphical things are not the first someone does when using a new languang17:54
<gamsl>that sounds reasonable
i wonder if i shall try to add more functionality to niceswing or start with helping on the eclipse plugin17:57
* arjanb leaves
* gamsl leaves
* arjanb joins17:58
* gamsl joins
do you know where i can have a look at the ecpise plugin sources?
<arjanb>alex started with an eclipse plugin in java but tries it to write in Nice17:59
only alex has the sources18:00
<gamsl>i see ... so i'll contact him18:01
<arjanb>another thing needed is NiceDoc someone has said that he plans to start with that but i haven't heard anything of that since 2 weeks18:02
<gamsl>hmmm ... 18:05
is there anything more concrete than the project page on wiki?18:06
i only find comments from daniel and bryn
<arjanb>not really further only a few things in the logs18:08
* arjan_b joins18:17
* arjanb leaves
* bonniot joins19:24
* gamsl leaves
<bonniot>hello arjan
* gamsl joins19:26
hi daniel!!
how are you?
been a long time!
<bonniot>hi gamsl
it's nice to see you here :-)
yes, indeed19:27
you are all done with the uni now, i suppose
<gamsl>nice to see you too .-) i was here today afternoon the first time :-<9
<bonniot>for this year at least :-/
<gamsl>yes .-) finally!
<bonniot>i've been reading the log of today19:28
not done yet
<gamsl>i'm done
i have to finish one small task but this will take no time19:29
<gamsl>so i'm ready to work for you again :-)
do you remember ever announcing NiceSwing to the mailing list?
i think it was never19:33
maybe this would be the first thing to do19:34
* arjan_b joins19:36
network maintance :-(19:37
hi daniel19:38
* arjanb leaves
<arjanb>i see you changed the license of the stdlib19:42
have you had mail from per brothner?19:43
<gamsl>back again19:47
i think it was never announced on the mailing list ... is nice-info the place?19:48
<bonniot>gamsl: yes, nice-info is perfect19:51
you should first check that everything is working, downloading a fresh copy of the jar and running some demos19:52
if the demos are small, maybe they could be put on the wiki
or make a downloadable archive with them
arjanb: yes, i am in contect with Per. As I said, I'll look at the differences, to see if they can be merged in those few classes, as that would solve all license issues19:53
<bonniot>have you experienced any problem with downloading 0.9.0?
It seems that SF had yet another problem: the files are on some mirrors, but not all of them
<arjanb>no if you download a new file early you get it directly from sf files are spread to the mirrors in some days20:00
<bonniot>i did not know that20:01
how do you know?
<arjanb>i noticed if a file is on no mirror you get redirected to sf and i have read it somewhere20:04
maybe the same syntax as for field type override can be used for overriding the default value20:06
overriding default field values can be a problem with field default depending on other fields20:08
<bonniot>why? I think wealready discussed this. My point was that the value used is the one of the particular instance20:09
<arjanb>class X {20:12
int x = 0;
int y = x+1
class Y extends X{
override x = y-1;
<bonniot>I see20:14
that would be illegal, because y is declared after x
just like it would have been in class X20:15
so yes, we have to implement that carefully
i have checked the classes included in the runtime20:16
7 are not identical to the current version of kawa
among them, 2 are trivial changes, so I will update them
one more is trivial :-)20:19
<arjanb>and if i change class X to:20:20
class X {
int x = 0;
int y = 1;
<bonniot>i think it should be forbidden too
otherwise class Y becomes fragile
<arjanb>but then you become very dependant on how the order of fields is in the base class20:21
class X {20:24
int x = 0;
int y = x+1;
class Y extends X{
override y = 1;
override x = y-1;
<bonniot>true, that's not good either20:25
so maybe it should simply be impossible to depend on other fields in an override
<arjanb>that's a good solution for a first implementation20:27
martin, do you think NiceSwing could be announced soon, or is there something to be worked on?
<gamsl>i will look thorugh the code tomorrow but i don't actually think it should pose any problems ... 20:37
* arjanb leaves
<gamsl>i will go through examples .. maybe write some more ... but i think we can announce it
another question i already asked arjan20:38
what about the abstract interfaces packaging issue?
<bonniot>i'm sorry, this is not done yet
there are always been higher priorities20:39
at least now i think there is a good solution for it
<gamsl>i know that and me and arjan then thought that it's best to leave packaging like it is at the moment ... arjan told me about the possible bypass
<bonniot>but for the moment, you should keep the structure as it is
<gamsl>but i guess it makes no sense to use it
good you think the sanme
i will leave now for today .... but i will start tomorrow looking at niceswing again
make myself familiar with nice again so that i can start through20:41
what do you think?
where can i help?
what is needed
a friend of mine and me are planning to start some project this summer20:42
<gamsl>we are not sure about WHAT to do
all that is sure that it' going to be done in Nice
<bonniot>one possibility is to work on NiceSWT
and/or to help with the Eclipse plugin
<gamsl>i thought about helping eclipse already ... i need to contact alex to get the sources right?20:43
<bonniot>i had some copies of the prototype, but he started from scratch the new version since
doesn't he use some cvs?
<bonniot>is that an interesting project for you and your friend?
you have to see with him
i think it would be good
to use CVS i mean20:45
about the project together with a friend:
<bonniot>we will also have to devise a good package naming system, and to see where the CVS repository belongs
<gamsl>we were more thinking anbout some app
but we have no special idea yet
thing is he actually wants to build some useful app :-)20:46
i said
i want to do it in nice
but anyway
besides that i definitely want to work on a project that really helps nice20:47
not only be a sample app
<bonniot>so you have to discuss with him20:48
<gamsl>what i think is that niceswt should be rather straightforward
<bonniot>maybe a possibility is that you build NiceSWT, and he build an app using it :-)
<gamsl>good idea actually20:49
<bonniot>similar to NiceSwing?
<gamsl>i should think so
i remember looking through some swt classes and we should be able to use exactly the same concept
which is nice
* arjanb joins20:50
<gamsl>hmm .. daniel i have to leave now .... i'll be online tomorrow ... and will make niceswing ready for announcing20:51
cu tomorrow
<gamsl>or maybe i catch u all later today (i saw in the log that both of you sometimes stay up rather long :-) same like me :-)20:52
* gamsl leaves
<arjanb>i think i will implement slicing today or is there something that has to be discussed first21:15
<bonniot>did you write the specification of it?21:24
maybe ti would be a good first thing to do
with it, we can discuss the spec to make sure we agree
and afterwards we can use it directly in the manual
* bonniot is away: dinner21:25
* bonniot is back (gone 01:08:41)22:33
<arjanb>i have some draft that covers when slicing is on the lhs22:38
A part of a string, array or list can be selected using the slice operator.22:39
The syntax is: some_expression "[" begin_index ":" end_index "]"
The end_index of a slice is exclusive.
example: let s = "Hello world"; print(s[2:10]); prints "llo worl"
Both the begin and end index are optional.
The default value of the begin index is 0 and of the end index is the size or length.
example: "abcdef"[:3] equals "abc" and "abcdef"[3:] equals "def"
The result of a sliced string,array or list is always a new string,array or list so changing a slice will not change the orginal.
example: int[] arr
***this copies the array.22:40
If a the index is prefixed with "-" then the index is counted from end (size or length).
example: "abcdef"[1:-1] equals "bcde";
example: String s = "Hello adjective prefixed world"; s[:5] + " " + s[-5:] equals "Hello world";
<bonniot>did you miss a line for "***this copies the array" ?22:44
<arjanb>irc ate that one22:45
example: int[] arr1 = [1,2,3]; int[] arr2 = arr1[:]; this copies the array.22:46
comments on syntax,semantics ?22:50
<bonniot>is e[i1:i2] allowed, where i1 and i2 are integer expressions?23:09
is an index prefixed with - different than an integer value that happens to be negative?
is it standard in other languages to have the upper bound exclusive?23:13
<arjanb>yes yes yes23:16
<bonniot>for the second: yes it is different?23:25
<arjanb>negative indexes throws runtime exception23:26
<bonniot>so e[1,-i] is not the same as:23:27
so e[1,-1] is not the same as:23:28
let i = -1
e[1,i] ?
you mean : instead of ,23:29
that's strange, don't you think?
<arjanb>maybe but otherwise the compiler does some guessing to the intend of the code as in python23:31
most of the time you don't use indexes from the end and if you have some a negative index at runtime it's probably an mistake23:36
the choice is between an novel syntax and unexpected results at runtime instead of an error23:41
i prefer the first23:44
since indexes of the form s.lenght()-i are very rare it's possible to only allow integer literal after the "-"23:56
ot: why is string comparison used for #type patterns and not .getClass == XXX.class00:02
for slices i assume we wait for the opinions of others00:05
<bonniot>yes, as I said the best would be to have a precise proposal, maybe in the format of the manual, or at least as a wiki page00:17
what is the guessing done in python?00:18
<arjanb>not guessing but python doesn't throw a exception for any index00:23
but it has rules like:00:24
Degenerate slice indices are handled gracefully: an index that is too large is replaced by the string size, an upper bound smaller than the lower bound returns an empty string.
* gamsl joins00:53
good evening
<arjanb>good evening00:58
<gamsl>still coding :-)?01:02
<arjanb>no too sleepy for that now01:03
just came home from a movie .... i will also go to bed soon
<arjanb>the only reason i don't sleep now is that my room hasn't cooled down enough yet01:06
<gamsl>sh... i know that ... i was out with bike ... when i came home it felt like a sauna :-)01:10
it's terribly those days ...01:11
terribly hot i mean01:12
<arjanb>have you looked at the logs? what do think about slicing?
<gamsl>yes i read them01:23
i feel strange about the negative upper bound01:29
<gamsl>i agree its somewhat irritating that s[0:-5] is different from let i = -1; s[0:i]
i must say i almost don't know any languages apart from java c++ and a little c ... so i don't know how this operator is commonly used01:32
but somehow negative indexes look strange to me01:33
<arjanb>python have something similar: http://www.python.org/doc/current/tut/node5.html#SECTION00512000000000000000001:34
<gamsl>is counting from the right really necessary? i mean you can always translate that into a positive index from the left01:39
<arjanb>that's true but it happens often you write something like s.substring(0,s.lenght()-2)01:41
<gamsl>that's true also
i see it could be nice to have some abbreviation for that01:42
<arjanb>and since negative indexes don't exist01:43
<gamsl>that's true they're always a bug01:45
<arjanb>time to sleep goodnight01:51
* arjanb leaves
<bonniot>good night martin02:00
* bonniot leaves02:01
* gamsl leaves02:02

Generated by Sualtam