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

Using timezone: Central European Time
* CIA-6 leaves04:03
* CIA-6 joins
* CIA-6 leaves04:12
* CIA-2 joins
* arjanb joins10:06
* cm_ joins10:29
hi
<arjanb>hello11:03
* CIA-2 leaves12:00
* CIA-3 joins12:01
<arjanb>rather strange that i can't find anywhere about the addition of AbstractStringBuffer to java 1.4.212:02
<cm_>To which package belongs AbstractStringBuffer?12:58
http://java.sun.com/j2se/1.5.0/jcp/rc/
Hmm a might be running 1.5.0 at home
Specification clarification for StringBuffer and StringBuilder classes12:59
As part of bug 4261803, AbstractStringBuffer was added ? the intent was that the StringBuffer and StringBuilder methods would inherit the tags from AbstractStringBuffer. This did not happen and, as a result, about 48 methods lost their @throw tags - these tags were present in release 1.4.2. This has been fixed.
http://lists.gnu.org/archive/html/classpath/2004-04/msg00159.html13:00
<arjanb>i see
if you're running 1.5 and the stringbuffer thing is the only problem that's good because we haven't tested nicec on 1.5 yet13:03
<cm_>Fare enough13:29
Have you thought of compiling specific instances of generic functions to overcome the performance problem even if it partially due to java.reflect15:41
<arjanb>yes but it's quite some work and the workaround is simple thus it has a lower priority15:50
well it's just a lack of manpower15:59
<cm_>How many are working on nice16:38
Are you gradually rewriting the compiler in nice?16:40
<arjanb>on the compiler just 216:56
yes i converted some parts a few weeks ago16:57
<cm_>mlsub an abbreviation of ?17:05
<arjanb>that's the name of the typesystem17:10
<cm_>Is it possible to run the compiler in an semi-interactive mode to speed of the compilation?17:19
<arjanb>no17:22
<cm_>As is eg Haskell where you can recompile an unit with ":r". Evaluation of simple expressions under an interactive mode would be very nice indeed.
<arjanb>there are many improvements possible in this area if we had the time for it17:26
<cm_>Do you know how large the user base is? Note too many in #nice 17:30
<arjanb>i have no idea but nice-info has 55 subscribers17:44
although i think that aren't all active users17:45
i'm not sure why but most people don't want to use irc17:48
<cm_>Lets hope for an expanding user base. 17:50
<arjanb>i think the active user base is stable now because many stop using it (temporarily) because of missing features17:59
<cm_>I have problems with multiple classpath entries (--classpath)18:09
Seperated with ":"
<arjanb>on windows? put " " around it18:10
<cm_>Linux
<arjanb>and seperated by ";" ?18:11
<cm_>With colon, should it be semicolon?18:14
<arjanb>colon in Linux 18:15
<cm_>But it doesn't work. I get "f()" is not defined when using muliple classpaths18:18
--classpath /home/....:.
I works without the .18:19
<arjanb>and when using " ... : .... " ?
<cm_>Two paths with "/" suffix did work, --classpath /home/...:/tmp18:21
prefix
CVS btw18:22
<arjanb>does java allow leaving the first / away?18:23
<cm_>Relative paths? Yes18:24
<arjanb>i see18:28
anyway nicec shouldn't fail silently when it can't find the path18:29
<cm_>javac does
No excuse anyway
<arjanb>does what?
<cm_>doesn't mind invalid paths in classpath18:30
Is it possible to do value dispatching on member variables18:31
<arjanb>that's odd i would expect a warning
<cm_>Certainly
<arjanb>no you can't dispatch on fields18:32
<cm_>Ok18:35
<arjanb>i get warnings when using a incorrect path on windows18:46
don't have linux here so i can't look why it goes wrong18:50
<cm_>ok, I have another strange problem. Here is the code:19:07
List<MyClass> f() {19:08
List<MyClass> ret= new LinkedList();
ret.add(new MyClass());
return ret;
}
interface Inter {
}
class MyClass implements Inter {
}
List<Inter> l= f();
Incorrect type in assignment to l
Found : nice.lang.List<MyClass>
Expected: nice.lang.List<Inter>
<arjanb>that's because type parameter are non-variant19:12
class A {}19:16
class B extends A {}
List<B> list1 = new ArrayList();
List<A> list2 = list1; // type error here
list2.add(new A());
B x = list1[0]; //because otherwise this is unsafe
what are you trying to do?19:19
<cm_>Here is the code:19:20
interface Symbol {
char complement();
Alphabet getAlphabet();
}
class AminoAcid {
char acid;
}
interface Translateable {19:21
AminoAcid toCodon(Translateable x, Translateable y, Translateable z);
}
List<AminoAcid> translate(List<Translateable> list) {
return list.group().map( ((Translateable x, Translateable y, Translateable z)) => x.toCodon(x,y,z));
}
Calling translate() with a list of DNASymbols is invalid
Hmm some typos...19:22
Anyway it doesn't work
<arjanb><Translateable T> List<AminoAcid> translate(List<T> list) {
<cm_>Ok, could you explain the other solution is invalid19:23
why the..
I interpret <Translateable T> that T is constrained to be of type Translateable19:26
<arjanb>using a type variable you say for any Translateable T and the invalid one works only for list of Translateable
<cm_>ok
As in Haskell, forall a ...
<arjanb>yes19:27
<cm_>What is the reason why type parameters are non-variant?19:51
* d-bug joins19:52
<arjanb>cm_: see the example i gave
hello d-bug19:53
<d-bug>hi arjan
<cm_>Now I understand, haven't thought of that... 19:58
* cm_ leaves20:33
<arjanb>d-bug: have you written some Nice code yet?21:37
* CIA-3 leaves21:56
* CIA-7 joins21:57
* CIA-7 leaves21:59
* CIA-7 joins
* CIA-7 leaves22:52
* CIA-7 joins22:53
* CIA-7 leaves
* d-bug leaves
* CIA-7 joins22:54
* CIA-7 leaves
* CIA-7 joins
* CIA-7 leaves
* CIA-7 joins22:55
* CIA-7 leaves
* CIA-7 joins
* CIA-7 leaves22:56
* CIA-7 joins
* CIA-7 leaves
* CIA-7 joins22:57
* CIA-7 leaves23:29
* CIA-7 joins
* arjanb leaves23:38

Generated by Sualtam