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

Using timezone: Central European Time
* arjanb leaves04:41
* CIA-3 leaves06:11
* CIA-3 joins
* bonniot joins09:27
* arjanb joins10:50
hi10:51
<bonniot>hi10:53
<arjanb>5 failing testcase left10:57
<bonniot>what kind of error is causing regressions?10:58
<arjanb>coverage tests seems to behave slightly different in the converted pattern code10:59
<bonniot>it must be the leq method11:01
or disjoint, with your new optim
you could try to turn off that optim11:02
if it makes a difference, then it's likely a pb in disjoint
<arjanb>it's not disjoint because the error message comes from the standard test after the new optim11:03
<bonniot>then it must be leq, right?11:04
you should make extra sure that these methods return the same result as before in all cases11:05
<arjanb>is Pattern.java:135 an optimization?12:41
i think it's a bug not to set a tc there because is changes the Pattern to atAny while should be atNonNull12:46
how do i get the tc of topmonotype?12:50
<bonniot>TopMonotype has no tc13:06
<arjanb>hmm i can't change easily the kind of pattern there13:09
<bonniot>you're right, there is a problem:13:10
<T> boolean foo(T x) = false;
foo(Object x) = true;
this case should be handled like atNotNull13:11
i'll commit a testcase13:12
so will it be ok?13:17
<CIA-3>03bonniot * 10Nice/testsuite/compiler/methods/coverage.testsuite: An Object pattern is equivalent to non-nullness.
<arjanb>i will need to add a few special cases13:20
<bonniot>it looks like resolve should return a Pattern (this in most cases, but not for Object for instance)13:26
* leoncamel joins14:00
<arjanb>hello14:02
<leoncamel>hello . what is nice language ? 14:03
<arjanb>a programming language which is an alternative to java14:10
<bonniot>hi14:12
<leoncamel>what different between nice with python ? 14:13
<bonniot>nice has static typing
<leoncamel>nice base on "Vitual Machine " ?
<bonniot>it's compiled to java bytecode
so you can use all Java libraries14:14
<leoncamel>oh.. it is very nice ...
:)
okey. what different between java language ?
<bonniot>it's more powerfull, with I think many features you must know in python:14:15
anonymous functions, keyword arguments
tuples, multi-methods, ...14:16
did you check http://nice.sourceforge.net/ ?
<leoncamel>it's syntax is very close to java, isn't it ? 14:18
<bonniot>yes
<arjanb>daniel: what's the intention of the 4th testcase in methods/implementation.testsuite?
<leoncamel>okey . thanks 14:19
<bonniot>is that a pb? :-)14:20
arjanb: the test should fail with an ambiguity I think
<leoncamel>oh ? what is pb ?
<bonniot>the syntax14:21
pb = problem
<CIA-3>03bonniot * 10Nice/testsuite/compiler/methods/implementations.testsuite: Clarify some comments, since there is no notion of function anymore.14:33
* fcb joins15:50
<arjanb>hi15:51
<fcb>helo15:52
<bonniot>hi frank15:53
<fcb>g'day
how's it going?
<bonniot>well, thx. i'm finalizing my implementation of remote repositories15:54
<fcb>remote repositories?
<bonniot>http://nice.sourceforge.net/cgi-bin/twiki/view/Dev/PackageRepository15:55
a way to import packages from (remote) repositories15:56
<fcb>nice! I like it15:58
<bonniot>what about you?16:03
<fcb>just sorting out windows compatible path names16:04
in fact, can I ask a couple of question while you are both here?
<arjanb>ofcourse16:06
<fcb>"let" means that something is a package variable and it is a constant. is this correct?16:08
<arjanb>yes16:09
it similar to a final static field in java16:10
<fcb>good. I have declared a package constant that is a Map. I want to initialise the map with some values (I imagine I might do this with a static block in java). How is this done?16:11
<bonniot>then you should assign it trhough a method call16:12
and do the initialization in the method
<fcb>oh, ok. I understand
<bonniot>there is no static block atm, and this is a simple solution16:14
<fcb>yeah, that's cool16:16
<bonniot>(btw, you can also use let when declaring local variables without writing their type)
<fcb>oh, indeed. like a variant in basic?16:17
<bonniot>not familiar, but I think no. the variable still has a type, it's just that the compiler finds it automatically16:18
<CIA-3>03arjanb * 10Nice/ (15 files in 4 dirs): Split up Pattern.java in subclasses and converted the subclasses to nice code.16:20
<bonniot>yeah!
how many lines in Pattern now?16:21
<arjanb>the total number is about the same16:25
<fcb>How does this look as an idea for eliminating illegal characters?
Map<char, String> map = new HashMap();
map.put('~', "__tilda");
map.put('!', "__shriek");
...
<bonniot>wouldn't it be simpler to have a test for valid ones, and encode the rest automatically (like $xxxx with the unicode value)16:28
<fcb>What I'm suggesting here wouldn't16:30
sorry
<bonniot>arjanb: i guess so, but the base class must be much simpler now16:31
fcb: ?
<fcb>the map was only meant to replace illegal chars of course. what do you mean with the unicode thing? can I have an example?16:32
<arjanb>base class has ~300 lines16:33
<bonniot>1) the thing is you would need to list all invalid chars, and find names for them. checking for validity instead (the reverse test) puts you on the safe side
2) for ~, it could be $0000007E (unicode 32 bits)16:34
<arjanb>fcb: nice/tools/code/Strings.java does something like that16:35
<bonniot>it would be possible to use UTF-8 to make the common cases shorter (just $7E)
arjanb: that's good, down from 840 :-)16:37
<fcb>point 1) OK
point 2) OK, but why the dollar sign
<bonniot>could be something else, but there must be some kind of marker16:39
other idea?
<arjanb>dollar sign is used in java for inner classes so i guess these are valid in filenames on all OSes16:40
<fcb>ok, good point arjan. I was going to with underscore, but yes, that's a good point16:41
<arjanb>underscore would work too
<fcb>arjan: what was your comment about nice/tools/code/Strings.java?16:49
<arjanb>that code is used to convert operators to valid java method names16:50
<CIA-3>03bonniot * 10Nice/ (10 files in 5 dirs): Implementation of remote package repositories.16:57
<fcb>ok, any thoughts on what characters should be allowed? alphanumeric and $ and _ and - anything else?16:58
<bonniot>actually $ should not if it is used as a marker (but you encode it)17:00
<fcb>why?17:03
<arjanb>then you can always convert back to the original name17:04
<bonniot>if I have a method called `$7E` and one called `~` they would end up with the same name
and yes, you lose the ability to convert back17:05
<fcb>"better to ask a question and be a fool for a moment than to remain silent and be a fool forever", I always say17:07
<bonniot>:-)17:09
it's the right attitude
<fcb>ok, well, unfortunately its getting late over here... I might be off. thanks for all your help and input.17:11
<bonniot>i'll be away for a few hours, see you later...
<fcb>bye
<bonniot>bye
* fcb leaves
* leoncamel leaves17:28
<CIA-3>03arjanb * 10Nice/src/bossa/syntax/typecheck.nice: Reapplied fix for overloaded array dimensions.18:48
<bonniot>what happened?20:28
<arjanb>a little mistake when i commited the pattern changes20:34
<bonniot>that's why you should work inside a CVS checkout20:36
when you can update with changes made by others, and not risk to losing them
do you have any reason not to do that?20:39
<arjanb>no i'm just accustomed to how i do it now20:42
<bonniot>what would it change?20:43
<arjanb>i don't know20:46
some discussion about Nice at the bottom of http://lambda-the-ultimate.org/node/view/10020:55
<bonniot>"the Haskell of the JVM-language world" ;-)22:25
<arjanb>now a big part of the conversion is done the and vacation is halfway over i notice that i have done virtually nothing on local typechecking or code generation23:09
i doubting about trying it first in a toy language or adding it directly to nicec23:23
<bonniot>do you have the algorithm worked out?23:24
<arjanb>well in my head23:26
<bonniot>the big change would be about loops, right?23:44
<arjanb>the big problem is the need for doing multiple passing in case of loops or closures23:46
<bonniot>it would be useful to me to add some bug testcases, to see what we are dealing with23:52
<arjanb>bugs in the current version or some examples what i want to be working?23:54
<bonniot>isn't it the same?00:00
i guess both would be interesting00:04
<arjanb>as far as i known the only bug is with loops00:08
<bonniot>and there are more things to want working? assignments?
<arjanb>and for assigments and closures it's quite restrictive atm
<bonniot>yes, there can be improvement00:18
good night00:21
* bonniot leaves00:25

Generated by Sualtam