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

Using timezone: Central European Time
<arjanb>daniel: i think a simpler coverage test(without generating values) is possible for most methods00:02
<bonniot>what's the idea?00:05
<arjanb>coverage testing does check if there is an implementation for every value and check for ambiguties00:07
the first is trivial when a methods has a default implementation00:08
<bonniot>yes00:11
<arjanb>the second can be tested by comparing every alternative in the sorted alternatives with every following and if it's more specific or disjoint then there can be no ambiguity00:12
all methods which don't pass that test go through standard test00:14
<bonniot>is this only about value dispatch, or also for normal dispatch?
<arjanb>for both
<bonniot>ok00:17
<arjanb>disjoint for class tc patterns is (! pa leq pb) && (! pb leq pa)
<bonniot>can you give an example?00:18
<arjanb>class X {} class Y {} equals(X a, X b) = ... equals(Y a, Y b) = ...00:20
<bonniot>yes, that seems to make sense00:25
* CIA-8 leaves00:28
* CIA-5 joins00:32
<arjanb>a more general disjointness for tc's would be the unsatisfiability of <T | T <: TC_P1, T <: TC_P2>00:33
<bonniot>yes, that is, (! pa leq pb) && (! pb leq pa) would be incorrect, right?00:40
<arjanb>the constraint works for every tc and the other only for class tc's00:41
<bonniot>because of single inheritance of classes00:42
<arjanb>yes00:43
<bonniot>the special optimization for classes would probably help. in the general case it's less clear00:44
* CIA-5 leaves00:49
* CIA-8 joins
<bonniot>good night01:08
<arjanb>good night
* bonniot leaves01:11
* Syncros joins01:41
* Syncros leaves
* arjanb leaves02:39
* hallucinogenic leaves03:00
* bonniot joins09:11
* arjanb joins11:35
hi11:54
i have the new coverage testing working11:57
<CIA-8>03arjanb * 10Nice/src/bossa/ (syntax/Pattern.java link/Alternative.java link/Dispatch.java): Added a fast coverage test that can check the correctness of a part of the methods avoiding the long test.12:16
<arjanb>could you measure how much difference it makes in the testsuite?12:19
<bonniot>ok i'Ll try12:33
what results did you get?
<arjanb>i can't measure the testsuite exactly but niceswing goes from 25 to 1 seconds in linking fase12:45
<bonniot>wow :-)12:47
<arjanb>but the new test works only for about half the methods12:49
<bonniot>i think for the testsuite it's about 15% faster13:07
the mesurement will be more precise when the automatic build will be done13:08
<arjanb>:-)13:09
<bonniot>yes, 16 to 17% speedup14:58
<CIA-8>03arjanb * 10Nice/ (6 files in 2 dirs): Removed explicit use of NullExp.16:36
<arjanb>sigh18:23
cleaning up some nullness issues makes 1 testcase fail with an unrelated internal error18:25
<bonniot>i just looked at your patch for coverage, and it looks correct19:12
you should add a News entry boasting about the speedup :-)19:13
<CIA-8>03arjanb * 10Nice/NEWS: updated news file.19:27
<bonniot>now, that's not too much boasting ;-)19:29
bye19:35
* bonniot leaves

Generated by Sualtam