»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:02 wk left
tadzik g'night #perl6 00:03
sorear bye
jnthn 'night, tadzik 00:06
00:13 fieldsa left 00:15 whiteknight joined, whiteknight is now known as Guest74210
lue Is there a way for me to determine the size of a file without reading the whole thing in and counting the bytes? 00:17
sorear stat 00:18
00:18 lestrrat left 00:19 wolfman2000 joined 00:20 lestrrat joined 00:21 kfo left, replore_ joined, kfo joined 00:26 arlinius joined, ab5tract joined 00:27 kfo left 00:29 ispeak_ left 00:30 kfo joined, ispeak_ joined 00:32 ispeak_ left, wolverian left
jnthn Sleep time here, and flight and other travel tomorrow. Not quite sure when I'll be online next... Happy hacking. ;-) & 00:34
00:37 kfo left, kfo joined, kfo left 00:42 packetkn_ left 00:45 packetknife joined 00:46 wolverian joined 00:48 packetkn_ joined 00:49 kfo joined, kfo left, packetknife left, kfo joined 00:53 packetkn_ left 00:54 kfo left 00:59 Timbus left, Timbus|Away joined, Timbus|Away is now known as Timbus 01:02 drbean left 01:08 kfo joined, kfo left 01:09 dch left, drbean joined 01:16 kfo joined, am0c joined 01:20 Timbus left, Timbus joined 01:31 kfo left 01:38 packetknife joined 01:41 kfo joined 01:45 kfo left
dalek ecza: 6533fc0 | sorear++ | / (2 files):
Restore special treatment for negated character classes; add NIECZA_LTM_PROF for less-verbose tracing
01:49
sorear bootstrap now seems to completely work; speed is back to a reasonable range
01:50 kfo joined 02:01 woosley joined 02:15 bacek left 02:19 lestrrat left, lestrrat joined 02:23 bluescreen10 left 02:31 ab5tract left 02:34 Guest74210 left 02:35 drbean left 02:42 drbean joined 02:53 lichtkind left
lue Apparently seek in rakudo comes with one more parameter than stated in the spec. 03:27
std: say $*IN.seek(2);
p6eval std dc62e1d: OUTPUT«ok 00:01 120m␤»
03:29 packetknife left 03:36 Psyche^ joined 03:38 Patterner left, Psyche^ is now known as Patterner 04:34 ab5tract joined
sorear good * #perl6 04:39
04:44 molaf joined 04:47 ponbiki joined 04:49 mkramer joined 04:51 ab5tract left
sorear spectest run finished, only 3 failing files 04:51
04:52 ab5tract joined
dalek ast: 3341d5b | sorear++ | S03-operators/inplace.t:
[S03-operators/inplace] Clarify niecza fudge so nobody undoes it by mistake
04:53
04:55 jevin_ left 05:01 jevin joined
sorear S02-lexical-conventions/unicode-whitespace is an interesting test... 05:02
rakudo: eval '1 1'; say "pie";
p6eval rakudo 89f54d: OUTPUT«===SORRY!===␤Confused at line 1, near "1 1"␤»
sorear rakudo: say "pie"; eval '1 1'; 05:03
p6eval rakudo 89f54d: OUTPUT«pie␤===SORRY!===␤Confused at line 1, near "1 1"␤»
sorear rakudo: try eval '1 1'; say "pie";
p6eval rakudo 89f54d: OUTPUT«pie␤»
sorear rakudo: say try die "pie"
p6eval rakudo 89f54d: OUTPUT«Exception.new()␤»
sorear niecza: say try die "pie"
p6eval niecza v12-99-g6533fc0: OUTPUT«Any()␤»
05:11 mkramer left 05:13 mkramer joined, gfldex left 05:15 sftp left, thou joined
dalek ast: 263189e | sorear++ | S02-lexical-conventions/unicode-whitespace.t:
[.../unicode-whitespace] Refudge, s/skip/todo/

Because this file uses vertical whitespace that fudge doesn't handle, skip annotations should never be used in it. I've refactored it so that todo can be used instead. Note that v13 will handle many more of these tests.
05:17
sorear ....where by "many more" I apparently mean "all" 05:18
05:20 gfldex joined 05:23 alc joined 05:24 thinkhy joined
thinkhy irc://irc.perl.org 05:27
05:30 thinkhy left 05:33 drbean left 05:34 molaf left
sorear now thinks that getting Str<->number coercions working-in-general should be a priority 05:39
05:39 drbean joined 05:49 kaleem joined 05:54 ab5tract left 05:55 drbean left 06:02 drbean joined
dalek : feca358 | lue++ | misc/perl6advent-2011/schedule:
[advent] Claim the 24th for multi subs
06:02
sorear o/ lue
PerlJam std: role R1 { method foo {} }; role R2 { method foo { } }; class C does R1 does R2 { } 06:03
p6eval std dc62e1d: OUTPUT«ok 00:01 119m␤»
PerlJam perl6: role R1 { method foo {} }; role R2 { method foo { } }; class C does R1 does R2 { }
p6eval niecza v12-99-g6533fc0: OUTPUT«===SORRY!===␤␤Action method trait_mod:does not yet implemented at /tmp/_6Fa1bpmIr line 1:␤------> R2 { method foo { } }; class C does R1 ⏏does R2 { }␤␤Action method trait_mod:does not yet implemented at /tmp/_6Fa1bpmIr…
..pugs b927740: ( no output )
..rakudo 89f54d: OUTPUT«===SORRY!===␤Method 'foo' must be resolved by class C because it exists in multiple roles (R2, R1)␤»
sorear PerlJam: rakudo is correct here 06:04
PerlJam I know. I'm just seeing what the various implementations have to say about it.
sorear well, niecza also gets the right answer, but for *entirely* the wrong reason
06:23 mkramer left 06:26 ponbiki left
PerlJam masak: you are down for <some topic> on Dec 22. Can I suggest DrunkenGymnast be that topic? 06:31
06:34 am0c is now known as jeen_, jeen_ is now known as am0c
moritz \o 06:39
06:48 Alias_ left
PerlJam std: class Q { }; class W { is Q; } 06:48
p6eval std dc62e1d: OUTPUT«===SORRY!===␤Couldn't find terminator ; at /tmp/XzNOLSsmt3 line 1 (EOF):␤------> class Q { }; class W { is Q; }⏏<EOL>␤Parse failed␤FAILED 00:01 120m␤»
PerlJam std: class Q { }; class W { also is Q; }
p6eval std dc62e1d: OUTPUT«ok 00:01 119m␤»
felher Hui, JSON::Tiny is way faster than in old ng times :) 06:49
PerlJam that first error is LTA
06:51 mkramer joined
dalek ecs: 117b63f | duff++ | S12-objects.pod:
small fossil fix
06:51
06:55 preflex left, preflex_ joined 06:56 preflex_ is now known as preflex 06:57 koban joined 06:58 localhost left
moritz felher: that's great to do hear; do you happen to have numbers? 07:01
07:04 wtw joined 07:08 mkramer left 07:14 baest joined 07:29 Trashlord left 07:32 Trashlord joined
felher moritz: after you asked for numbers i did some measurements. Seems like i remembered the old timings wrong. There is still a "small" speed improvement of 10%, though :) 07:34
moritz felher: hm, that's less than I would have expected :/
felher moritz: what did you expect? :) 07:36
moritz felher: awsomeness, of course :-) maybe a factor 3 or so 07:37
but then I don't think anybody has benchmarked qregex yet :/ 07:38
felher moritz: that really would be awesome :D That would be fast enough for me to start hacking on a interface for the notmuch email client :)
07:51 imarcusthis left 07:59 imarcusthis joined 08:05 carlin joined 08:06 drbean left 08:07 thou left 08:08 mj41 joined 08:12 drbean joined
moritz it turns out that parsing a largish JSON file spends 18% in token str { <-["\\\t\n]>+ } 08:13
not sure if that's because it has so long strings without any escapes, or because the negative char class is inefficient
felher moritz: how do you do those benchmarks? 08:19
moritz PERL6LIB=blib/lib parrot --runcore=subprof ~/p6/rakudo/install/lib/parrot/3.11.0-devel/languages/perl6/perl6.pbc -e 'use JSON::Tiny; from-json(open("initial_data.json").slurp)' 2>subprof.log
felher moritz: thanks :)
moritz and then kcachegrind subprof.log
08:36 drbean left 08:42 drbean joined 08:44 mkramer joined 09:04 woosley left 09:05 am0c left 09:17 daxim joined 09:18 dayangkun joined 09:24 replore_ left 09:38 ispeak_ joined 09:39 dakkar joined
felher seems like there is not visualization tool for callgrind that doesn't depend on KDE... 09:46
09:46 dayangkun left
daxim superior toolkit is superior 09:56
09:58 mkramer left 10:09 MindosCheng left
sorear felher: kcachegrind depends on QT 10:14
felher: you don't have to actually be running the works
just have the libraries available in /usr/lib
daxim kcachegrind is definitely a kde app with direct dependencies on libkdecore4, libkde4, kdebase4-runtime 10:31
10:38 xjiujiu joined 10:39 xjiujiu left 10:40 X99 joined 10:46 MindosCheng joined
felher sorear: there is qcachegrind directory in the tarball. But i'm having trouble with cmake and qt4_automoc currently :) 10:52
10:56 mls joined
mls moritz: try 'perl6 --profile' 10:57
felher: cg_annotate from valgrind might also work for you. But kcachegrind is much nicer 11:00
felher mls: yeah, thnx :) , i know abnout cg_annotate. But i totally agree that kcg is much nicer :) 11:02
11:09 nek joined 11:11 alc left
cognominal jnthn: is there a reason for zavolaj still being a git repository independant of rakudo? 11:14
11:15 drbean left 11:18 MindosCheng left
sorear sleep 11:20
11:21 drbean joined 11:30 envi_ left 11:34 envi_ joined
flussence perl6: class A { my sub b(self) { say $!c }; has $!c = 1; }; A.new.b; # just curious 11:34
p6eval pugs b927740: OUTPUT«*** ␤ Unexpected "self"␤ expecting word character, "|", ":", "*", parameter name or ")"␤ at /tmp/fXDQsthY6i line 1, column 20␤»
..niecza v12-99-g6533fc0: OUTPUT«===SORRY!===␤␤In parameter declaration, typename 'self' must be predeclared (or marked as declarative with :: prefix) at /tmp/4x4vzevB5a line 1:␤------> class A { my sub b(self⏏) { say $!c }; has $!c = 1; }; A.new.b; ␤␤…
..rakudo 89f54d: OUTPUT«===SORRY!===␤Invalid typename in parameter declaration at line 1, near ") { say $!"␤»
flussence perl6: class A { my sub b(::T $obj = self) { say $obj.c }; has $.c = 1; }; A.new.b; # just curious 11:35
p6eval niecza v12-99-g6533fc0: OUTPUT«===SORRY!===␤␤'self' used where no object is available at /tmp/lwfcMtdpnX line 1:␤------> class A { my sub b(::T $obj = self⏏) { say $obj.c }; has $.c = 1; }; A.new.␤␤GLOBAL::T does not name any package at /tmp/lwfcMtdp…
..rakudo 89f54d: OUTPUT«===SORRY!===␤Symbol 'self' not predeclared in b (/tmp/Na1nqBCYoE:1)␤»
..pugs b927740: OUTPUT«*** No such method in class A: "&b"␤ at /tmp/WIQe6l0XKY line 1, column 69-76␤»
flussence oh 11:36
perl6: class A { my sub b(T:: $obj = self) { say $obj.c }; has $.c = 1; }; A.new.b; # not expecting this to work either
p6eval niecza v12-99-g6533fc0: OUTPUT«===SORRY!===␤␤In parameter declaration, typename 'T::' must be predeclared (or marked as declarative with :: prefix) at /tmp/dAvTVdV3DP line 1:␤------> class A { my sub b(T::⏏ $obj = self) { say $obj.c }; has $.c = ␤␤Pa…
..pugs b927740: OUTPUT«*** No such method in class A: "&b"␤ at /tmp/zs2Ckl6nwK line 1, column 69-76␤»
..rakudo 89f54d: OUTPUT«===SORRY!===␤Invalid typename in parameter declaration at line 1, near " $obj = se"␤»
11:37 X99 left
flussence perl6: class A { my sub b(T:: $obj = self) { say $obj.c }; has $.c = 1; }; A.new::b; # might help if I got the code right... 11:37
moritz did you mean ::T instead of T:: ?
p6eval rakudo 89f54d: OUTPUT«===SORRY!===␤Invalid typename in parameter declaration at line 1, near " $obj = se"␤»
..niecza v12-99-g6533fc0: OUTPUT«===SORRY!===␤␤In parameter declaration, typename 'T::' must be predeclared (or marked as declarative with :: prefix) at /tmp/A2n_IHldN4 line 1:␤------> class A { my sub b(T::⏏ $obj = self) { say $obj.c }; has $.c = ␤␤Pa…
..pugs b927740: OUTPUT«*** No such method in class A: "&new::b"␤ at /tmp/QCn2ID6x0o line 1, column 69-77␤»
flussence type binding? yeah, didn't seem to work the first time though
perl6: class A { my sub b($obj = self) { say $obj.c }; has $.c = 1; }; A.new::b; 11:38
p6eval niecza v12-99-g6533fc0: OUTPUT«===SORRY!===␤␤'self' used where no object is available at /tmp/UHz1cg9q3W line 1:␤------> class A { my sub b($obj = self⏏) { say $obj.c }; has $.c = 1; }; A.new:␤␤Qualified references to non-private methods NYI at /tmp/…
..pugs b927740: OUTPUT«*** No such method in class A: "&new::b"␤ at /tmp/oZlFGMw5jj line 1, column 65-73␤»
..rakudo 89f54d: OUTPUT«===SORRY!===␤Symbol 'self' not predeclared in b (/tmp/CBFg79CBux:1)␤»
flussence not sure why I had the T:: at all
moritz also with 'my sub' the A::b will never work
flussence just wondering how much I could shorten lexical sub calls inside classes :) 11:39
11:39 fridim_ joined 11:40 xjiujiu joined
flussence
.oO( I should probably wait until I'm properly awake before writing code - I just spent 2 minutes trying to figure out why that line was giving me "bash: syntax error near unexpected token `('" locally... )
11:43
11:44 mkramer1 joined 11:53 GlitchMr joined
tadzik hmm, any ideas for an advent post? 11:53
flussence if I had anything interesting to write about I'd have done one myself :) 11:55
tadzik :)
I accidentaly volunteered :P
I think about "few useful modules and example usage"
flussence could do one about the ecosystem stuff 11:59
tadzik I think there already was one (maybe last year) 12:00
perl6advent.wordpress.com/2010/12/0...ecosystem/
eww, it uses neutro
maybe there is a need for a new one after all 12:01
moritz there is 12:02
flussence or you could go fix up your perl6-MPD code and recycle my post from last year :D
tadzik true
was there an NCI post?
flussence I did an NCI demo last year, haven't seen one this time around yet 12:03
12:03 donri joined
tadzik yay, segfault 12:07
12:14 cognominal_ joined 12:16 cognominal left
tadzik is there any up-to-date code working with the new NCI? 12:17
flussence well, I've been fixing up mine... AFAIK the tests in zavolaj haven't been updated yet 12:18
tadzik aye
tadzik is looking through jnthn's gists 12:19
I'm afraid OpaquePointers may be NYI 12:25
or I just dunno how to use them :)
hmm, odd 12:26
flussence: you have mpd lying around?
12:27 flussence left
tadzik gist.github.com/1505856 segfaults. If you leave out the $s parts it works fine 12:27
12:28 flussence joined 12:29 hillu_ is now known as hillu
tadzik so passing connection around works, but song does not 12:29
...maybe because I have no song playing :P 12:30
flussence ergh, lousy connection here
tadzik connection looks ok
flussence irclogs the last few lines
tadzik Richard Cheese/2004 - I'd Like A Virgin/08. Beat It.flac
not bad
new quest: how to check if I got null 12:32
flussence that'll return a type object, iirc
12:33 bbkr1 joined
flussence (I'm not entirely sure what happens if you get null from something that's supposed to return a CPointer thing) 12:33
tadzik I suppose NULL is a valid CPointer 12:34
well, if the repr is NULL... you know what I mean, right? :)
[Coke] yawns. 12:37
12:41 mkramer1 left
flussence I've found a string that crashes perl6.vim's highlighting :D 12:45
# -------------------------------------------------
moritz :/ 12:46
flussence: please submit that as a bug report
flussence 'k
tadzik okay, I love new NCI 12:48
12:49 fridim_ left
flussence oh, wait. updating vim-perl's fixed it 12:55
12:58 tokuhirom joined
tadzik whoa 13:01
that does reserve a nice advent post
flussence and on closer inspection I think it was a local edit to my perl6.vim file that caused it. whoops
tadzik gist.github.com/1505856 13:02
look from #69
13:03 tokuhirom left 13:04 kaleem left
flussence tadzik++ # wow, that code's tiny! 13:05
(it could be even smaller if we had working DESTROY() :) 13:06
(though come to think of it, would that even work on a CPointer object?)
tadzik no idea 13:07
well, I suppose it would, somehow, somewhat :)(
I'm quite amazed that method new() Just Worked
flussence also xmms2++ I guess, for not segfaulting on my sloppy code that doesn't free pointers properly 13:08
13:09 tokuhirom joined, tokuhirom left 13:11 bluescreen10 joined 13:26 kaleem joined
moritz
.oO( now it's xmms3 )
13:26
13:27 nek left
moritz stupid 13:32
anyway, JSON::Tiny now passes tests to the level that it did on rakudo 2011.07, partially better 13:33
nom: sub f(%h) { }; f(Hash) 13:39
p6eval nom 89f54d: ( no output )
moritz should that work?
nom: sub f(%h) { say %h.values }; f(Hash)
p6eval nom 89f54d: OUTPUT«Cannot look up attributes in a type object␤ in method pairs at src/gen/CORE.setting:5197␤ in method values at src/gen/CORE.setting:5195␤ in sub f at /tmp/My9oCaFPxh:1␤ in block <anon> at /tmp/My9oCaFPxh:1␤ in <anon> at /tmp/My9oCaFPxh:1␤»
moritz I'd argue that %, & and & sigils should always imply :D 13:40
13:46 xjiujiu left 13:58 sftp joined 14:06 colomon left 14:07 bluescreen10 left 14:14 colomon joined 14:16 nvlled joined 14:19 bbkr1 left
tadzik why is allegro so odd. It'd make an excellent advent post 14:23
but how do you get to know about keyboard input? You check in the global array! Life's good!
colomon ? 14:24
tadzik I wanted to write allegro (drawing library) bindings for Perl 6
arnsholt For a second I was wondering why tadzik was going on about Allegro Common Lisp (and how it'd be good for an advent post)
colomon I was thinking lisp as well 14:25
tadzik heh
14:28 baest left
colomon tadzik: this allegro? alleg.sourceforge.net/ 14:29
tadzik yeah
colomon tadzik++ 14:31
tadzik allegro--
global variables! _Global Variables!_
eww
14:36 risou_awy is now known as risou
tadzik hmm, lua integration 14:36
that'd be too much lua, to little perl 6 14:37
what's some nice C library to write bindings for? :)
colomon ponders 14:39
14:40 cedric joined
cedric tadzik: libperl ;) 14:40
tadzik ha! :)
I wish I knew that
colomon LAME? 14:41
tadzik hmm
I was thinking gstreamer or such
colomon OpenGL?
tadzik I don't know almost nothing about it :/ I was thinking about something more-less object oriented, so I can show how nicely you can write classes which are really just CPointers 14:42
have you seen the libmpdclient example?
colomon yes
tadzik something of this sort. But not everyone has mpd and will appreciate the results
drawing a christmas tree with allegro is probably easier to appreciate :)
colomon I don't know libmpdclient, though, so I didn't know how much of the object-orientedness was coming from where.
if you know what I mean 14:43
tadzik yeah
mikemol tadzik: tk? 14:53
cedric tadzik: my ¢2, it could be nice to get bindings for taglib and then see how this approach differs from the CLR support in Niecza (as described by colomon++ in justrakudoit.wordpress.com/2011/11/...mp3-tags/) 14:54
colomon ooo, taglib was fun! 14:58
mux tadzik: libfuse would be interesting 14:59
and useful 15:00
15:01 koban left
mikemol You could do some weird stuff with libfuse peering into perl6 innards. 15:02
mux also, sqlite
mikemol sqlite certainly wouldn't be a simple one to implement. 15:03
I don't know libfuse's interface. Best option sounds like taglib, for the Niecza comparison cedric notied...
*noted
mux I had missed the "simple" criterion 15:07
mikemol mux: Well, I don't think there is technically a 'simple' criterion, but he was looking for something OO-based. 15:08
mux oh. well I had missed that too
so he wants to write bindings for a _C_ library but that has to be for something vaguely OO?
mikemol Mapping sqlite3 to OO is *not* trivial. I've spent the last four months doing it. >.> 15:09
mux: Not as weird as it sounds. The Win32 API, for example, is largely OO in design, even though it's a C binding. 15:10
tadzik yeah, taglib sounds nice 15:11
mux mikemol: I wasn't saying that you can't write OO in C. I come from kernel land after all, where we do that constantly 15:12
mikemol Generally speaking, one prefers C-style bindings for libraries with OO behaviors. It's far simpler than trying to agree on an object marshalling protocol.
mux the C ABI sure is a hell lot simpler than the C++ one
mikemol There is no standardized C++ ABI, AFAIK. It depends on using the same compiler and, to an extent, using the same version of said compiler with the same flags. 15:13
mux yeah, sure; s/the C++ one/any C++ one/ if you like
mikemol And that was another assumption I was trying to edge around, too; C++ isn't the only compiled-to-native-code OO language out there.
mux sigh. fine.
tadzik taglib seems to be C++ 15:14
mikemol Are there C bindings offered?
cedric according to my /usr/lib64/pkgconfig/taglib_c.pc: "Description: Audio meta-data library (C bindings)" 15:15
colomon perl6: $_ = "abc"; my $i = 1; s:i($i)/a/b/
p6eval rakudo 89f54d: OUTPUT«===SORRY!===␤Value of adverb :i must be known at compile time at line 1, near "/a/b/"␤»
..niecza v12-99-g6533fc0: ( no output )
..pugs b927740: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤ unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20111008/blib6/pugs/perl5/lib';␤ eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** '<HAND…
colomon perl6: $_ = "abc"; my $i = 1; s:i($i)/a/b/; .say
p6eval niecza v12-99-g6533fc0: OUTPUT«bbc␤»
..rakudo 89f54d: OUTPUT«===SORRY!===␤Value of adverb :i must be known at compile time at line 1, near "/a/b/; .sa"␤»
..pugs b927740: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤ unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20111008/blib6/pugs/perl5/lib';␤ eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** '<HAND…
mikemol Where I work, we code in C++, but we set up a C ABI for our DLLs, because it simplifies maintenance and compatibility.
Ah, missed cedric's line in the p6eval output. 15:16
colomon mikemol: sorry, I'm trying to figure out one of the spectests 15:17
mikemol I'm about halfway through S02, but I think the conversion to epub isn't quite right, so I'll have to go back and re-read in HTML. 15:18
cedric tadzik: did you find the C bindings in taglib? ref: "and does provide Glib-style C bindings (currently for the generic API only)" developer.kde.org/~wheeler/taglib.html 15:24
15:31 nvlled left
tadzik allegro-- 15:34
15:34 pkkm_ joined
tadzik this will never end 15:34
allegro_init() is not a function. It's a macro
cedric: looking
cedric: do you see any C api docs? 15:35
cedric is looking for C API docs 15:37
tadzik there's something in github.com/taglib/taglib/blob/mast.../c/tag_c.h 15:40
let's see how it works
cedric I didn't find any other doc than tag_c.h :-/
tadzik looks good enough for me 15:42
daxim search.cpan.org/~dongxu/Audio-TagLib-1.50_01/
15:46 wtw left
colomon sorear: what's the point of niecza_quantifier_max? 15:47
dalek ast: 911d8bd | (Solomon Foster)++ | S05- (2 files):
Fudge for niecza.
15:50
15:55 thou joined
tadzik > perl6 taglib.pl 15:56
Daft Punk - Technologic
yay :)
15:56 thou left
cedric tadzik++ 16:01
tadzik I'm poking SDL again. The vision of drawing a christmas tree for the advent calendar is too tempting 16:02
masak evenin', #perl6 16:06
tadzik hey masak 16:07
[Coke] colomon: any more fudges planned today? 16:09
(wondering when I should kick off the comparison today. ;)
colomon Go ahead and kick it off, imo
dalek ecza: 7585370 | (Solomon Foster)++ | t/spectest.data:
Turn on S05-substitution/subst.t.
16:11
colomon I don't doubt I'll try for more fudging later if I get the chance. :)
16:12 am0c joined 16:16 mkramer joined, mkramer left 16:22 kcwu_ left, ab5tract joined
[Coke] that's another 250 tests or so. colomon++ 16:26
almost at 60%. (running rakudo now to see if any change there.) 16:29
16:33 lutok joined, kaleem left 16:39 jerome_ left 16:47 kaleem joined, kaleem left 16:48 kaleem joined
tadzik gist.github.com/1506741 16:51
16:51 jerome_ joined
tadzik diplays info about mp3s, flacs, oggs and whatever taglib handles 16:51
moritz [Coke]: rakudo tests have been rather stable the past days; if new tests pass, then because new tests were written 16:52
flussence tadzik++ 16:53
masak tadzik: you, sir, rock. 16:54
flussence btw, I think you left a redundant "class TagFile" at the top
masak tadzik: what happens if one doesn't free the C pointers at the end?
tadzik a blog post will appear quite late today, so if there's anything special you'd like to see there, drop me a link
masak: memleak
nothing more serious I guess
flussence: true, thanks :)
masak tadzik: but the program is ending anyway... :) 16:55
tadzik masak: you should've seen SDL bindings :)
If I knew how to draw a line in sdl, I'd write a post about drawing a tree :) 16:57
mikemol sec 16:58
cedric tadzik++: line 37 -> is there a memory leak here? (die without free())
tadzik cedric: yes, there is, thanks 16:59
mikemol tadzik: wiki.libsdl.org/moin.cgi/CategorySurface 17:01
tadzik I don't grok this surfaces, sadly
those, even
mikemol rosettacode.org/wiki/Fractal_tree#C 17:02
Though that example's a mess with all the ifdefs.
Bah. Nevermind the RC example. It uses a helper library named SGE. 17:03
17:04 cedric left
tadzik it doesn't need to 17:05
I just made it work with Sdl and cairo
and that's good enough for me
mikemol :) 17:06
tadzik I'm afraid it's too much magic :/ 17:09
it goes SDL_surface->pixels, and istr we can only access struct member if they're ints, or something of this sort 17:10
seen jnthn
aloha jnthn was last seen in #perl6 16 hours 36 mins ago saying "Sleep time here, and flight and other travel tomorrow. Not quite sure when I'll be online next... Happy hacking. ;-) &".
tadzik bbl 17:12
mikemol tadzik: Someone implemented rosettacode.org/wiki/Mandelbrot_set#Perl_6
That dumps data to stdout. If you can dump it to an anonymous mmap or some such, and feed the base address of the mmap into an SDL surface (or any other graphics API), then you're double-buffering between p6 space and nativecall space. 17:13
17:18 kcwu joined 17:24 thou joined 17:25 ab5tract left
Util Unimplemented and untested: zipwith and crosswith 17:25
$ ack -ail '(?:zip|cross)with' ~/specs ~/roast ~/rakudo ~/niecza
~/specs/S03-operators.pod:3
END_OF_ISSUE
#phasers in 2min? 17:28
17:28 daxim left
colomon sounds right 17:29
17:41 cosimo left 17:49 jaldhar left
GlitchMr perl6: print 018\ 17:50
p6eval rakudo 89f54d: OUTPUT«===SORRY!===␤Confused at line 1, near "print 018\\"␤» 17:51
..pugs b927740: OUTPUT«*** ␤ Unexpected end of input␤ expecting "."␤ at /tmp/gsLECG4x9E line 2, column 1␤»
..niecza v12-100-g7585370: OUTPUT«===SORRY!===␤␤Confused at /tmp/UPbB5N95mf line 1:␤------> print 018⏏\␤Other potential difficulties:␤ Leading 0 does not indicate octal in Perl 6; please use 0o18 if you mean that at /tmp/UPbB5N95mf line 1:␤------> [3…
GlitchMr ... accidental character
perl6: print 018
p6eval pugs b927740, rakudo 89f54d: OUTPUT«18»
..niecza v12-100-g7585370: OUTPUT«Potential difficulties:␤ Leading 0 does not indicate octal in Perl 6; please use 0o18 if you mean that at /tmp/YH7inYRv4e line 1 (EOF):␤------> print 018⏏<EOL>␤␤18»
GlitchMr 0o18... indeed...
17:57 cosimo joined, dakkar left
mikemol I'm not sure I understand what the purpose of the test fudging is. 18:06
Actually, I'm certain I don't understand... 18:07
18:08 mj41 left
dalek p: fe2175d | moritz++ | tools/build/PARROT_REVISION:
bump PARROT_REVISION to 3.11 release
18:14
colomon mikemol: well, your average test file probably has about 100 tests in it. suppose 10 of them don't work in niecza.
Then you can fudge those 10 to say "this doesn't work" and then add the rest of the tests to the list that is run every time you do a spec test 18:15
moritz mikemol: the purpose is to run test file which would otherwise be blocked on some few, advanced tests
colomon that means you get the benefit of the 90 tests that do work.
dalek kudo/nom: f2c8103 | moritz++ | tools/build/NQP_REVISION:
bump to an NQP that requires parrot 3.11
18:16
mikemol Is the fudging of the nature of "don't trust this test for a spectest yet", or "modify this test so that this file doens't hang the interpreter"?
i.e. in my PHPUnit tests, I can say $this->skipTest("This test runs long, and isn't useful for $particular_reason right now");, and have the rest of the tests continue. 18:17
colomon mikemol: let me give you a precise example, from subst.t, which I fudged today for niecza
moritz mikemol: it can be both 18:18
mikemol I'm mostly concerned about long-term consequences of fudging, particularly where it's forgotten to un-fudge them.
colomon niecza: 'a b c d'.subst(/\w/, 'x', :x(*))
p6eval niecza v12-100-g7585370: OUTPUT«Unhandled exception: Unable to resolve method niecza_quantifier_max in class Whatever␤ at /home/p6eval/niecza/lib/CORE.setting line 430 (Cool.subst @ 12) ␤ at /tmp/YrrNb0oolj line 1 (mainline @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2288 (AN…
colomon so that test was a crash. I fudged it to skip, so that the complete file would execute. 18:19
mikemol Reasonable.
colomon If someone forgot to unfudge it?
I guess it's a bug someone might run into one day.
moritz and we have tools for automatically remove fudge markers if the tests pass 18:20
mikemol Well, the big thing is that you'd want some kind of trace saying "skipped $n tests", possibly with a test list.
colomon it's not a particularly useful feature, as :g is equivalent and shorter
mikemol: which we have
mikemol ah, k. :)
colomon there's a lovely script to get the complete breakdown of what is passing and what is fudged in each file. 18:21
and if you want to look at a particular file, running "prove --verbose" on it gives you colored output that points right at the fudged tests. 18:22
[Coke] gist.github.com/1476841 - niecza @ 59.29% of rakudo 18:36
18:36 pmurias joined 18:38 risou is now known as risou_awy
[Coke] moritz: looks like 7 more tests. 18:40
[Coke] ponders turning that into a graph. 18:41
heh. if you go to raw.github.com/gist/1476841/668dd1...ass_rates, chrome says "this page is in polish! Do you want to translate it?" 18:42
someone already made that graph, didn't they?
mikemol: feather.perl6.nl/~coke/niecza_summary.txt 18:45
flussence ohai
mikemol cool 18:46
[Coke] also s/niecza/rakudo/ - that's the output of t/spec/test_summary
flussence github.com/flussence/specgraphs/ra.../impls.png
moritz flussence++
[Coke] flussence: is that showing real passes, or what prove shows as passes? 18:47
(that is, does it include skips?)
flussence I'm using TAP::Archive stuff directly to get the results, but I think that counts skips as passes. will have to double check... 18:48
(I've saved all of the TAP output stuff, so fixing it isn't a big deal)
[Coke] if you can not count skips, I will happily leave all the data collection to you, as you're way ahead of me. ;)
flussence++ # this is awesome. ;) 18:49
flussence: ah, it even says this in the bottom of the readme.
flussence I may be a tad obsessive with this stuff :) 18:50
18:52 alvis left
moritz flussence++ being a tad obsessive 18:59
[Coke] niecza: my $range; '1 3' ~~ /(\d+) \s (\d+)/; $range = $0..$1; say "$range" 19:05
p6eval niecza v12-100-g7585370: OUTPUT«Unhandled exception: cannot increment a value of type Match␤ at /home/p6eval/niecza/lib/CORE.setting line 1130 (List.Str @ 2) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /home/p6eval/niecza/lib/CORE.setting line 1715 (RangeIter.reify @ 5) ␤ at <unkno…
[Coke] niecza: my $range; '1 3' ~~ /(\d+) \s (\d+)/; $range = +$0..+$1; say "$range"
p6eval niecza v12-100-g7585370: OUTPUT«1 2 3␤»
19:06 itz left
[Coke] sorear: is the fix for that to make range try to coerce its arguments, or to make Match incrementable? 19:06
slavik1 incrementable match, like a global match that returns a one item from the list at a time? 19:08
like a tokenizer of sorts?
[Coke] no.
like, that range object is really just "1..3", but something internally is taking that 1 and trying to ++ it to get 2, and failing when it's a result of a match as opposed to a string or an number. 19:09
rakudo: my $range; '1 3' ~~ /(\d+) \s (\d+)/; $range = $0..$1; say "$range" 19:10
p6eval rakudo f2c810: OUTPUT«Method 'succ' not found for invocant of class 'Match'␤ in sub postfix:<++> at src/gen/CORE.setting:1197␤ in method reify at src/gen/CORE.setting:4198␤ in method reify at src/gen/CORE.setting:4257␤ in method reify at src/gen/CORE.setting:4257␤ in method gimme a…
[Coke] (so, perhaps the spec test is broken. Iunno.)
19:12 Trashlord left 19:14 Chillance joined
moritz what should it coerce to? Str? Numeric? 19:19
flussence Scalar? 19:21
sorear colomon: (niecza_quantifier_max) I needed some way to get the endpoint values in x ** {$Int} and x ** {$Range} 19:23
colomon: this predates multi subs, and is probably still faster
moritz flussence: Scalar is a container type
sorear colomon: another option would be a type-case. 19:24
o/ masak
flussence moritz: looks like Range just needs to coerce to a "value" type, whatever that turns out to be. Wouldn't .item work? 19:25
sorear [Coke]: I don't know either. 19:26
flussence (maybe we need a method like .item that gets out a string/number from any object)
19:27 GlitchMr left
sorear mikemol: (there is no standard C++ ABI) this is not quite true. refspecs.linuxbase.org/cxxabi-1.83.html 19:27
mikemol: that one is used by multiple implementations across several platforms 19:28
mikemol: your actual point stands, though, since not everyone uses it and you can't count on having it
colomon sorear: what has me confused is the bit where if the max $Range is Inf, the niecza_quantifier_max is 2_147_483_647 19:29
sorear the return value has to fit in a native int. 19:31
colomon sorear: I had just been about to hack Whatever. niecza_quantifier_max to be Inf when I saw that
ashleydev flussence: what's that spectest graph made with?
colomon sorear: does Whatever. niecza_quantifier_max { 2_147_483_647 } seem reasonable to you? 19:32
sorear colomon: no
colomon: S05:962
colomon sorear: you mean "If you supply a closure, it should return either an Int or a Range object."? 19:34
dalek ast: b3cf6e6 | moritz++ | S05-mass/stdrules.t:
tests for <at>
19:35
ast: 7748996 | moritz++ | S06-routine-modifiers/proxy.t:
fix Proxy tests to not use indirect method syntax, and use methods as callbacks, as per current S06
sorear colomon: yes
colomon sorear: niecza is using niecza_quantifier_max for the :x() argument in subst 19:36
sorear: that can be :x(*) according to the spectests
19:37 fridim_ joined
dalek kudo/nom: 18f12d5 | moritz++ | t/spectest.data:
run Proxy tests
19:38
19:42 REPLeffect left
flussence ashleydev: the graph's done using gnuplot scripts, data files for that are generated using perl5 19:45
(I know about Chart::Gnuplot, but it was pretty limited so I ended up doing it manually) 19:46
19:56 Trashlord joined
sorear colomon: well, that was stupid. 19:57
colomon okay :)
[Coke] yays that auto-unfudge mostly just works.
sorear I guess we need more than one kind of {Range,Int} -> Int thingie 19:58
unsure what the best design would be
[Coke] moritz++ # I think.
dalek ast: da96407 | moritz++ | S12-attributes/mutators.t:
mostly rewrite S12-attributes/mutators.t

The previous revision did funny things like providing an lvalue accessor that unconditionally called the lvalue accessor. It also assumed that initialization via .new(a => 1) called the lvalue accessor. Oh, and it contained most tests twice.
19:59
colomon sorear: At least for the :x-like modifiers, it seems more like a {*,Range,Parcel of Ints,Int} -> Int thingie 20:00
[Coke] niecza: say +Bool::True ~~ Numeric
p6eval niecza v12-100-g7585370: OUTPUT«Bool::True␤»
moritz phenny: tell jnthn at your convenience, please take a look at S12-attributes/mutators.t. It seems to die in $!varies +=2 with "No applicable candidates found to dispatch to for 'Numeric'", which I find quite weird, since $!varies is typed Int 20:01
phenny moritz: I'll pass that on when jnthn is around.
sorear colomon: sounds to me like it would be used only in subst, so best to write it as a given/when 20:02
colomon sorear: sure
sorear Helmut W: "if this works, what can I do for you? 20:03
colomon .... actually, might be used in match as well, no? I think a lot of the same modifiers apply there
sorear :(
colomon still, simple minor subroutine maybe.
sorear colomon: :x in match depends on pmichaud returning 20:04
or someone else who can properly explain lol semantics to me
20:08 proller joined
japhb sorear, re: "05:39* sorearnow thinks that getting Str<->number coercions working-in-general should be a priority" -- Unless you were speaking in a Niecza-specific sense, this brings us back to Failure again 20:11
phenny japhb: 19 Dec 08:33Z <jnthn> tell japhb it's pretty much top of the list; I know exactly how to do it :)
japhb looks forward to jnthn's next CArray commits then. ;-) 20:12
sorear japhb: mm? yes I am speak nieczaishly
niecza: say 3**32
japhb ah, gotcha
p6eval niecza v12-100-g7585370: OUTPUT«1853020188851841␤»
sorear niecza: say +(~(3**32))
p6eval niecza v12-100-g7585370: OUTPUT«1.85302018885184E+15␤»
sorear niecza: say +(~(3**32)).WHAT
p6eval niecza v12-100-g7585370: OUTPUT«Unhandled exception: System.FormatException: Invalid format.␤ at System.Double.Parse (System.String s, NumberStyles style, IFormatProvider provider) [0x00000] in <filename unknown>:0 ␤ at System.Double.Parse (System.String s, IFormatProvider provider) […
sorear niecza: say (+(~(3**32))).WHAT
p6eval niecza v12-100-g7585370: OUTPUT«Num()␤»
japhb Ow. 20:13
20:13 fsergot joined
japhb I see what you mean 20:13
fsergot hi o/ !
japhb o/
dalek ast: 62db446 | moritz++ | S06-routine-modifiers/lvalue-subroutines.t:
try to bring some sanity to lvalue-subroutines.t

not sure if I succeeded
20:14
sorear niecza: say (+(~pi)) - pi # I'm actually unsure if this will work
p6eval niecza v12-100-g7585370: OUTPUT«0␤»
sorear niecza: my $num = pi ** 3; say (+(~$num)) - $num
p6eval niecza v12-100-g7585370: OUTPUT«-2.48689957516035E-14␤»
fsergot I'm back after a long break :) 20:15
fridim_ I just read the news about the recent donation of Booking.com ! Wah. 20:17
20:18 molaf joined 20:28 Radvendii joined
masak booking++ 20:29
Radvendii nom: my @a=[0,1],[2,3]; for @a -> $b, $c {say $b, ": ", $c} 20:30
p6eval nom 18f12d: OUTPUT«0 1: 2 3␤» 20:31
Radvendii b: my @a=[0,1],[2,3]; for @a -> $b, $c {say $b, ": ", $c}
p6eval b 1b7dd1: OUTPUT«0 1: 2 3␤»
20:32 Trashlord left
Radvendii How do I make it split [0,1] in a for loop 20:32
?
20:34 kaleem left, bbkr1 joined
[Coke] sorear: any issues with applying feather.perl6.nl/~coke/autounfudge.patch (created automatically by autounfudge) 20:34
20:35 kaleem joined
sorear fridim_: what? 20:35
kthakore tadzik: still pooking at SDL?
poking* 20:36
[Coke] (assuming that make spectest doesn't mind.)
20:36 proller left
[Coke] niecza: say lc('A'..'C') 20:37
p6eval niecza v12-100-g7585370: OUTPUT«a b c␤»
sorear [Coke]: assuming it passes, I don't see anything hroribly wrong.
[Coke] Danke. 20:38
Radvendii how do i for loop over something, without modifying the values (making copies)
20:38 fridim_ left 20:39 pkkm_ left
Radvendii like for @a is copy {} or something 20:40
nom: my @a=1,2,3; for @a is copy {$_++};say @a; 20:41
p6eval nom 18f12d: OUTPUT«===SORRY!===␤Missing block at line 1, near "is copy {$"␤»
Radvendii nom: my @a=1,2,3; for @a -> $_ is copy {$_++};say @a;
p6eval nom 18f12d: OUTPUT«1 2 3␤»
20:41 proller joined
Radvendii ooh 20:41
20:41 kaleem left
Radvendii b: my @a=1,2,3; for @a -> $_ is copy {$_++};say @a; 20:42
p6eval b 1b7dd1: OUTPUT«123␤»
tadzik kthakore: nah 20:43
20:44 MayDaniel joined
tadzik kthakore: I couldn't make it display a line 20:44
Radvendii b: my @a=[0,1],[2,3],[4,5]; for @a -> $_ is copy {.shift};say @a;
p6eval b 1b7dd1: OUTPUT«135␤»
Radvendii ah ha!
tadzik but I didn't try very hard 20:45
Radvendii it's not a copy
colomon Radvendii: ?
b: my @a=1,2,3; for @a -> $_ is copy {++$_};say @a;
p6eval b 1b7dd1: OUTPUT«123␤»
colomon niecza: my @a=1,2,3; for @a -> $_ is copy {++$_};say @a; 20:46
p6eval niecza v12-100-g7585370: OUTPUT«1 2 3␤»
Radvendii nom: my @a=[0,1],[2,3],[4,5]; for @a -> $_ is copy {.shift};say @a;
p6eval nom 18f12d: OUTPUT«1 3 5␤»
Radvendii it removes an element
.shift 20:47
even though it's a copy
colomon ah, yes.
Radvendii why? what to do?
niecza: my @a=[0,1],[2,3],[4,5]; for @a -> $_ is copy {.shift};say @a;
p6eval niecza v12-100-g7585370: OUTPUT«1 3 5␤»
Radvendii is that intentional? 20:49
colomon I'm not sure. sorry, I've tangled my brain in knots looking at your problem.
Radvendii hahaha
colomon perl6: my @a=1..3; for @a -> $x is copy { $x = 1 }; say @a; 20:50
p6eval pugs b927740: OUTPUT«123␤»
..rakudo 18f12d, niecza v12-100-g7585370: OUTPUT«1 2 3␤»
colomon so everyone agrees that's a copy
Radvendii yes
colomon perl6: my @a=[0,1],[2,3],[4,5]; for @a -> $x is copy { $x.shift }; say @a
p6eval rakudo 18f12d, niecza v12-100-g7585370: OUTPUT«1 3 5␤» 20:51
..pugs b927740: OUTPUT«135␤»
colomon perl6: my @a=[0,1],[2,3],[4,5]; for @a -> $x is copy { $x = 0 }; say @a
p6eval rakudo 18f12d, niecza v12-100-g7585370: OUTPUT«0 1 2 3 4 5␤»
..pugs b927740: OUTPUT«0 12 34 5␤»
Radvendii it's just shift that is the problme 20:52
try pop?
niecza: my @a=[0,1],[2,3],[4,5]; for @a -> $_ is copy {.pop};say @a; 20:53
p6eval niecza v12-100-g7585370: OUTPUT«0 2 4␤»
Radvendii pop too
colomon I guess it's a very shallow copy
but I don't really like that explanation
Radvendii yeah, it's pretty counter-intuitive what it does
perl6: my @a=[0,1],[2,3],[4,5]; for @a -> $_ is copy {$_[0]=6};say @a; 20:55
p6eval rakudo 18f12d, niecza v12-100-g7585370: OUTPUT«6 1 6 3 6 5␤»
..pugs b927740: OUTPUT«6 16 36 5␤»
[Coke] colomon: test failures for me in radix.t 20:56
Radvendii it's any time you access a part of the element
colomon [Coke]: me too
[Coke] ah, ok. I'll fudge it.
20:57 wallberg joined, alvis joined 20:59 molaf left
masak 'night, #perl6 21:01
Radvendii goodnight
tadzik g'night masak 21:02
colomon \o
[Coke]: I presume it's related to sorear's rewriting that code. But I haven't stopped to check it out yet. 21:03
[Coke] colomon: fudging every test doesn't help, so I think sorear broke it, yes. 21:04
Radvendii colomon: any ideas regarding the shallow copying?
[Coke] Dies in the setting.
colomon Radvendii: in what sense? I don't like it, but it might be right. 21:05
Radvendii as in, it's what should be happening?
that doesnt make sense...
colomon it's awfully consistent across implementations to be an accident 21:06
sorear Radvendii: copy copies the pointers 21:07
this behavior is par for the course with computer languages that use mutable objects 21:08
Radvendii is there a way to do a deep copy?
besides saying $a=$_ inside the for loop
is there a way to define something like 21:10
"is deepcopy"
?
21:13 REPLeffect joined, flussence left
Radvendii even $a=$_ doesnt work!! 21:13
colomon nope, it's still a shallow copy
Radvendii perl6: my @a=[0,1],[2,3],[4,5]; for @a -> $_ {$a=$_;$a[0]=6};say @a; 21:14
p6eval rakudo 18f12d: OUTPUT«===SORRY!===␤Variable $a is not predeclared at line 1, near "=$_;$a[0]="␤»
..pugs b927740: OUTPUT«*** ␤ Unexpected "=$"␤ expecting "::"␤ Variable "$a" requires predeclaration or explicit package name␤ at /tmp/fqk7tOujp9 line 1, column 42␤»
..niecza v12-100-g7585370: OUTPUT«===SORRY!===␤␤Variable $a is not predeclared (did you mean @a?) at /tmp/to1B1hcFHN line 1:␤------> my @a=[0,1],[2,3],[4,5]; for @a -> $_ {⏏$a=$_;$a[0]=6};say @a;␤␤Variable $a is not predeclared (did you mean @a?) at /t…
Radvendii perl6: my @a=[0,1],[2,3],[4,5]; for @a -> $_ {my $b=$_;$b[0]=6};say @a;
p6eval rakudo 18f12d, niecza v12-100-g7585370: OUTPUT«6 1 6 3 6 5␤»
..pugs b927740: OUTPUT«6 16 36 5␤»
Radvendii so how do i do a deep copy? (without a loop)?
colomon nom: my @a=[0,1],[2,3],[4,5]; for @a -> $_ { my @b = @$_; @b[0] = 6; } ; say @a
p6eval nom 18f12d: OUTPUT«0 1 2 3 4 5␤»
Radvendii great. back to @$... okay 21:15
thanks
ive gotta go
bbl 21:16
21:16 Radvendii left
bbkr1 rakudo: sub foo ( Bool $t ) { $t.say }; foo( :t ); # am I right by saying that param in bool context without value should evaluate to true? 21:16
p6eval rakudo 18f12d: OUTPUT«Not enough positional parameters passed; got 0 but expected 1␤ in sub foo at /tmp/mPePp4oYTL:1␤ in block <anon> at /tmp/mPePp4oYTL:1␤ in <anon> at /tmp/mPePp4oYTL:1␤»
21:17 overrosy left, bkolera joined, bkolera left, overrosy joined
dalek ast: 0b449f6 | coke++ | S (42 files):
niecza unfudge (mostly from autounfudge)
21:19
bbkr1 nvm, found that, now it's (Bool :$t) - with semicolon
[Coke] colomon: apparently we need to run that more often (touched 42 files!) 21:20
colomon [Coke]: run what?
oh, auto unfudge
[Coke]++
[Coke] phenny: tell mikemol that roast: 0b449f6 was pretty much an automated tool figuring out what tests that had previously been skipped are now passing. 21:21
phenny [Coke]: I'll pass that on when mikemol is around.
mikemol phenny: Tell [Coke] I'm here.
phenny mikemol: 21:21Z <[Coke]> tell mikemol that roast: 0b449f6 was pretty much an automated tool figuring out what tests that had previously been skipped are now passing.
21:22 bkolera joined, bkolera left
mikemol [Coke]: Cool 21:22
colomon [Coke]: how does it work?
21:22 am0c left 21:23 bkolera joined
[Coke] it's the same one as from rakudo (that one assumes you have a ./perl6 and a tools/perl6-limited*) ... it finds all the fudged tests you're running, and tries backing out each skip/todo. when it finds one that doesn't cause an error, it saves it to a .patch file 21:23
colomon niecza: say "-1".atan2("2")
p6eval niecza v12-100-g7585370: OUTPUT«-0.463647609000806␤»
colomon [Coke]: sweet
[Coke] so when you're done, you just apply the patch (test if you're paranoid) and done. 21:24
colomon: I think it was a moritz++ special.
colomon did you spectest?
[Coke] aye.
colomon [Coke]++
[Coke] one of the unfudges was bad, and another (todo) one was missed, probably because roast got updated in between. 21:25
so I fixed those 2.
colomon how long did it take to run? 21:26
21:27 bacek joined
[Coke] No clue. 21:29
definitely faster for niecza than rakudo.
colomon minutes? hours? days? 21:30
[Coke] no more than hours.
probably less than one.
colomon sweet
21:31 bkolera1 joined, fsergot left, bkolera left
tadzik advent post preview! perl6advent.wordpress.com/?p=1037&a...eview=true 21:31
please criticise
21:32 fieldsa joined
[Coke] Error 404 - Not Found 21:32
tadzik not logged in, maybe?
[Coke] ah. 21:33
21:35 bkolera1 left
[Coke] logged in. 404. 21:35
tadzik hrm
[Coke] probably don't have perms. 21:36
colomon: we'll hit 60% tomorrow unless there's a rakudo surge. ;)
tadzik how about now?
[Coke] 404
I may just not have privs, seriously.
tadzik [Coke]: gist.github.com/1507821
[Coke] 404! (jk) 21:37
tadzik ohh, you've got to be kidding me
oh, ok ;)
colomon reading it now
[Coke]: or I get sidetracked making actual improvements to niecza. ;)
21:38 y3llow_ joined
[Coke] neceserilly -> necessarily 21:38
21:38 pothos_ joined, bkolera joined
tadzik thanks 21:38
[Coke] colomon: nah, we're already there, I think.
tadzik colomon: you wrote a similar thing for niecza, iirc?
yep, found it
colomon taglib, yes
21:39 pothos left
[Coke] "and react appropriately Perl 6 way" ... react *in an* app.. ? 21:40
21:40 mj41 joined, y3llow left, y3llow_ left
tadzik probably, I wasn't quite sure about this one. Thanks again :) 21:40
21:40 y3llow joined
colomon tadzik++ 21:40
[Coke] in the good, old C ~~ s/the// ? 21:41
21:41 ksi joined
[Coke] tadzik++ #indeed! 21:41
21:41 pothos_ left
[Coke] that's awesome. 21:41
colomon [Coke]++'s suggestions are all good.
[Coke] I love the lack of XS. ;)
21:41 pothos joined
tadzik :) 21:41
colomon and tadzik, it was great you could get this working so quickly.
tadzik yeah, it's pretty cool.
I've tried like 5 libraries today, mpdclient, taglib, allegro, sdl, cairo...
wanted to draw a Christmas tree :) 21:42
but music's good too
publishing
[Coke] I wonder, if you change the type of that gist to .pod, will it render htmly?
21:42 y3llow left
tadzik no eye deer 21:42
21:42 donaldh joined, y3llow joined
tadzik ba-dam! perl6advent.wordpress.com/2011/12/2...e-objects/ 21:43
[Coke] whoops: Deamon -> Daemon 21:44
sorry I missed that one.
tadzik huh
no problem with that
21:44 pothos left, flussence joined, pothos joined
tadzik done 21:44
[Coke] tadzik++, nice post. 21:46
colomon oh, noez, git trouble
ah, dreaded trailing whitespace 21:48
21:52 carlin left 21:53 fsergot joined
dalek ecza: c184ec8 | (Solomon Foster)++ | lib/CORE.setting:
Allow :x(*) in subst.
21:55
ast: 024f20c | (Solomon Foster)++ | S05-substitution/subst.t:
Unfudge tests that now work.
21:58 mj41 left 22:00 fridim_ joined, fsergot left 22:05 fridim_ left 22:20 fridim_ joined, fsergot joined 22:23 MayDaniel left 22:24 wallberg left
dalek ast: 4bc3e06 | (Solomon Foster)++ | S12-attributes/instance.t:
Fudge for niecza.
22:36
ecza: 22261b4 | (Solomon Foster)++ | t/spectest.data:
Turn on S12-attributes/instance.t.
22:37
colomon [Coke]: there's another 80 or so. 22:38
22:58 Radvendii joined
Radvendii hello 22:59
colomon o/ 23:01
sorear o/
23:01 Improv joined
Radvendii can i do for @a -> @$b {}? 23:02
colomon Radvendii: no
sorear No.
colomon niecza: sub foo($x) { say $x }; foo(:x("blue"))
Improv Hey all, I'm having trouble figuring out how to do "my Int @a" type things (I get recursion errors)
p6eval niecza v12-101-gc184ec8: OUTPUT«blue␤»
sorear niecza: for [1,2], [3,4], [5,6] -> @b { say +@b }
p6eval niecza v12-101-gc184ec8: OUTPUT«2␤2␤2␤»
colomon that's not supposed to work any more, is it? 23:03
sorear Improv: you can't in any current compiler
colomon nom: sub foo($x) { say $x }; foo(:x("blue"))
p6eval nom 18f12d: OUTPUT«Not enough positional parameters passed; got 0 but expected 1␤ in sub foo at /tmp/9ebChJ1Vze:1␤ in block <anon> at /tmp/9ebChJ1Vze:1␤ in <anon> at /tmp/9ebChJ1Vze:1␤»
Improv sorear: Ahh. Ok. Seems there's a lot of sample code on the web showing that :(
colomon nom: my Int @a = 1, 2, 3; say @a
p6eval nom 18f12d: OUTPUT«1 2 3␤»
23:03 donaldh left
colomon nom: my Int @a = 1, 2, "Blue"; say @a 23:04
p6eval nom 18f12d: OUTPUT«1 2 Blue␤»
colomon looks like it silently fails in nom?
b: my Int @a = 1, 2, "Blue"; say @a
p6eval b 1b7dd1: OUTPUT«12Blue␤»
sorear colomon: jnthn and I have yet to be adequately convinced that removing the name/pos connection is a good idea
Improv b: my Int @a = 1,2,3; say @a[0] 23:05
p6eval b 1b7dd1: OUTPUT«maximum recursion depth exceeded␤ in 'at_pos' at line 1:src/metamodel/RoleToInstanceApplier.nqp␤ in 'at_pos' at line 8:src/gen/core.pm␤ in 'Any::postcircumfix:<[ ]>' at line 1824:src/gen/core.pm␤ in 'at_pos' at line 5:src/gen/core.pm␤ in 'at_pos' at line 8:src/gen/…
colomon sorear: ah. is that why there are still tests for them in roast?
23:06 donri left, donri joined
sorear colomon: the change to the specs repository was done quickly 23:07
Improv What's the actual status of Perl6 anyhow? Are any of the compilers/interpreters in a "released" state?
Or is it still cooking?
sorear Improv: it's hard to say, because the compilers have always been in a released state 23:08
23:09 bkolera left
donri it's more ready than you think, but not as much as the people in here who will tell you the question is wrong thinks 23:09
Improv Maybe not ready for production code yet?
donri not for any useful definition of production, no 23:10
Improv Is there a better syntax for specifying an array of Ints?
Or is that syntax right but not supported yet?
donri better than what? 23:11
Improv As in, working.
donri as opposed to what?
sorear Improv: you can't define production code
Improv: we aren't doing a waterfall-model here. There was not and will not be a Great Ribbon Cutting Ceremony
donri ^^^ "question is wrong" ;) 23:12
Improv Sigh.
sorear Perl 6 has been used by people for real things for several years now
it has been better than Perl 5 for some things and worse for others, for years
what part of this is hard to understand? I want to know
Improv sorear: At some point I am hoping to "It's done, most of the features work, CPAN folk should port their stuff soon, everyone should migrate" 23:13
donri there's currently little stability or performance, at least in the case of rakudo
Improv hoping to hear
donri IMHO perl 6 is not perl 5+1 23:14
Improv I know it's a big language shift with lots of syntax and functionality changes, sure.
I just want to know when there is consensus is that it's out of alpha/beta.
slavik1 Improv: christmas 23:15
sorear slavik1: not funny
slavik1: we don't use that on outsiders
slavik1 sorear: that's what Larry has said
oh
Improv slavik1: Christmas which year? :)
slavik1 Improv: and what date is christmas?
;) 23:16
june 27th can be christmas
sorear Improv: there's a slight problem there - Perl 5 is not abandoned
Improv: there are just as many people working on improving 5 as there are on finishing 6
Improv sorear: That is fair. 23:17
sorear so why are you going to ditch one living language for another?
slavik1 sorear: I would if that one living language offered features I found more useful
like Grammars for example ;)
Improv sorear: I think if I told you what I thought, there'd be a large, unfriendly argument that I don't want to have right now.
sorear people used to think that 6 would supercede 5 completely once it was, in a certain sense, done
Improv I guess I'll check back in a year, again. 23:18
sorear Improv: you think I'm wasting my time. I know that, and you're probably right.
Improv wasting your time? I have no idea what that means.
sorear: I don't actually know who you are.
sorear Perl 6 is dead, nothing good will ever come here
Improv: I'm a Perl 6 implementer. 23:19
Improv Oh, ok.
I wasn't aware.
I am just a long-time perl5 user who's hoping to hear someday that perl6 is ready.
donri mostly likes perl6 because he'd like perl5 is it was sane-like-perl6-is-sane; all the packed features are just extra.
s/is it/if it/
bbkr1 who did variadic params dispatch in Rakudo? they are AWESOME! 23:20
Improv I'm hoping that Perl6 is as popular someday as Perl5 used to be, rather than as popular as, say, Plan9
sorear Improv: it's ready, but it may not be worth it
I think that's a much better explanation and I'll use it from now on 23:21
Improv Ok.
Anyhow, happy holidays, all. Sorry if I touched on sensitive topics.
sorear Perl6 is ready to use, if you like the Perl6 improvements enough to put up with slow compilers and sparse-at-best libraries
Thanks, and no worries. 23:22
23:22 Improv left
sorear people still use ircII? 23:23
slavik1 sorear: personally, I am happy as long as there is a state where there are no major syntax breaking decisions being contemplated
donri people still use perlV?
slavik1 ouch
like there was a switch from =~ to ~~ or something like that
sorear slavik1: that's basically already the case. 23:24
slavik1 perfect, I am happy :)
sorear: I lost track of this but are assertions for grammars/regex working now? 23:26
as in: "256" ~~ /(\d{3})/ <?{ 0<= $0 <= 255}> 23:27
that was th old syntax I believe or something like that
rakudo: "256" ~~ /(\d{3})/ <?{ 0<= $0 <= 255}>
p6eval rakudo 18f12d: OUTPUT«===SORRY!===␤Unsupported use of {N,M} as general quantifier; in Perl 6 please use ** N..M (or ** N..*) at line 1, near ")/ <?{ 0<="␤»
slavik1 rakudo: "256" ~~ /(\d ** 3)/ <?{ 0<= $0 <= 255}>
p6eval rakudo 18f12d: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 2␤» 23:28
slavik1 rakudo: "256" ~~ /(\d ** 3)/ <{ 0<= $0 <= 255}> 23:29
p6eval rakudo 18f12d: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 2␤»
slavik1 rakudo: "256" ~~ /(\d ** 3)/ <{ 0<= $0 <= 255 }>
p6eval rakudo 18f12d: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 2␤»
sorear slavik1: the assertions need to go *inside* the regex. :) 23:30
23:30 Radvendii left
slavik1 rakudo: "256" ~~ /(\d ** 3) <{ 0<= $0 <= 255 }>/ 23:30
p6eval rakudo 18f12d: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 2␤»
sorear and it has to be <?{
slavik1 ahh
rakudo: "256" ~~ /(\d ** 3) <?{ 0<= $0 <= 255 }>/
p6eval rakudo 18f12d: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 2␤»
sorear niecza: say "256" ~~ /(\d ** 3) <?{ 0<= $0 <= 255 }>/ 23:31
p6eval niecza v12-102-g22261b4: OUTPUT«===SORRY!===␤␤Unable to parse quote-words subscript; couldn't find right angle quote at /tmp/fV9YZmG7Tf line 1:␤------> say "256" ~~ /(\d ** 3) <?{ 0<⏏= $0 <= 255 }>/␤␤Parse failed␤␤»
slavik1 rakudo is being mean to me :(
sorear niecza: say "256" ~~ /(\d ** 3) <?{ 0 <= $0 <= 255 }>/
p6eval niecza v12-102-g22261b4: OUTPUT«Match()␤»
sorear rakudo: "256" ~~ /(\d ** 3) <?{ 0 <= $0 <= 255 }>/
p6eval rakudo 18f12d: OUTPUT«use of uninitialized value of type Nil in numeric context␤use of uninitialized value of type Nil in numeric context␤»
slavik1 rakudo: "256" ~~ /(\d ** 3) <?{ 0<= $0 <= 255 }>/I don't get it, what did you do different that niecza worked the second time 23:32
p6eval rakudo 18f12d: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 2␤»
slavik1 gah
I don't get it, what did you do different that niecza worked the second time
sorear slavik1: I added a space after the 0
slavik1 oh
rakudo: "256" ~~ /(\d ** 3) <?{ 0 <= $0 <= 255 }>/
p6eval rakudo 18f12d: OUTPUT«use of uninitialized value of type Nil in numeric context␤use of uninitialized value of type Nil in numeric context␤»
slavik1 rakudo: "256" ~~ /(\d ** 3) <?{ 0 <= $1 <= 255 }>/ 23:33
p6eval rakudo 18f12d: OUTPUT«use of uninitialized value of type Nil in numeric context␤use of uninitialized value of type Nil in numeric context␤»
slavik1 that can't be right ...
it's as if there are is no extraction happening
sorear for sure something's up 23:34
slavik1 niecza: "256" ~~ /(\d ** 3) <?{ 0 <= $1 <= 255 }>/
p6eval niecza v12-102-g22261b4: OUTPUT«Use of uninitialized value in numeric context␤ at /home/p6eval/niecza/lib/CORE.setting line 782 (warn @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 196 (Any.Numeric @ 5) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /tmp/HGJjRMpBby line 1 (ANON @…
slavik1 niecza: "256" ~~ /(\d ** 3) <?{ 0 <= $0 <= 255 }>/
p6eval niecza v12-102-g22261b4: ( no output )
slavik1 niecza: say "256" ~~ /(\d ** 3) <?{ 0 <= $0 <= 255 }>/
p6eval niecza v12-102-g22261b4: OUTPUT«Match()␤»
slavik1 rakudo: say "256" ~~ /(\d ** 3) <?{ 0 <= $0 <= 255 }>/
p6eval rakudo 18f12d: OUTPUT«use of uninitialized value of type Nil in numeric context␤use of uninitialized value of type Nil in numeric context␤=> <256>␤ 0 => <256>␤␤»
23:37 Radvendii joined, Radvendii left 23:48 risou_awy is now known as risou
sorear slavik1: reminder, 256 is not between 0 and 255 23:56