Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-05-27

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:06 adu joined #perl6
00:25 diakopter adu: hi
00:25 adu hi
00:25 adu how goes
00:25 diakopter well
00:27 adu I haven't been doing much
00:27 adu I've been sick
00:28 adu but I drank a redbull, and now I'm ready for anything
00:28 adu :D
00:28 diakopter heh
00:31 adu so I've been sluging along with nqp and parrot
00:34 sorear diakopter: maybe not, but a? %% b does make sense
00:34 tyatpi joined #perl6
00:34 dalek niecza: 755ee05 | sorear++ | src/STD.pm6:
00:34 dalek niecza: Remove a fossil that caused spurious exceptions...
00:34 dalek niecza: review: https://github.com/sorear/niecza/commit/755ee057ec
00:34 dalek niecza: 877296d | sorear++ | lib/Kernel.cs:
00:34 dalek niecza: Remove a rather broken "optimization" from multi handling that screwed up precedence and other optimizations
00:34 dalek niecza: review: https://github.com/sorear/niecza/commit/877296d45c
00:34 dalek niecza: 75abc9a | sorear++ | / (2 files):
00:34 dalek niecza: When constant folding multis, call the dispatcher, not the proto. :)
00:34 dalek niecza: review: https://github.com/sorear/niecza/commit/75abc9ae93
00:34 dalek niecza: 529e0ac | sorear++ | lib/CORE.setting:
00:34 dalek niecza: Handle [*] et al correctly (fixes #87)
00:35 dalek niecza: review: https://github.com/sorear/niecza/commit/529e0ac511
00:46 adu joined #perl6
01:14 dalek niecza: 98bb415 | sorear++ | lib/CodeGen.cs:
01:14 dalek niecza: Avoid crashing when compiling calls to protopad-less multis
01:14 dalek niecza: review: https://github.com/sorear/niecza/commit/98bb4150cb
01:17 cognominal joined #perl6
01:17 diakopter pmichaud: do you happen to be around?
01:22 eternaleye joined #perl6
01:29 diakopter phenny: ask jnthn have you considered using fixed-size arrays for the NFA arrays?
01:29 phenny diakopter: I'll pass that on when jnthn is around.
01:30 wolfman2000 joined #perl6
01:50 colomon sorear++
01:51 sorear for the last commits?
01:53 colomon it's so nice to come home and find out there have been a bunch of commits
01:53 colomon spectesting now.  :)
01:59 sorear colomon: I have a spectest running already at S32-list
01:59 colomon sorear: mine just finished.
01:59 colomon S03-sequence/arity-2-or-more.t looks troublesome
02:00 colomon a number of new passes, as well
02:00 sorear wah
02:00 sorear THIS IS A NEW COMPUTER
02:00 * sorear aborts the run, waits for colomon's logs
02:00 colomon did you use TEST_JOBS ?
02:01 sorear mm
02:01 colomon n: say (1, 1, { $^a + $^b } ... *).[^6].join(', ')
02:01 p6eval niecza v17-35-g98bb415: OUTPUT«1, 1, 2, 3, 5, 8␤»
02:02 colomon n: is (1, 1, &infix:<+> ... *).[^6].join(', ')
02:02 p6eval niecza v17-35-g98bb415: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤     'is' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1364 (die @ 3) â�¤  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 33) â�¤  at /home/…
02:02 colomon n: say is (1, 1, &infix:<+> ... *).[^6].join(', ')
02:02 p6eval niecza v17-35-g98bb415: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤     'is' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1364 (die @ 3) â�¤  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 33) â�¤  at /home/…
02:02 colomon that's the arity-2-or-more.t issue
02:03 colomon n: say is (1, 1, &[+] ... *).[^6].join(', ')
02:03 p6eval niecza v17-35-g98bb415: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared name:â�¤        '[+]' used at line 1â�¤Undeclared routine:â�¤       'is' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1364 (die @ 3) â�¤  at /home/p6eval/niecza/src/STD.pm6
02:03 p6eval ..lin…
02:03 colomon doh, sorry
02:03 colomon n: say (1, 1, &[+] ... *).[^6].join(', ')
02:03 p6eval niecza v17-35-g98bb415: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared name:â�¤        '[+]' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1364 (die @ 3) â�¤  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 33) â�¤  at /home/p6…
02:03 colomon THAT'S the problem
02:03 tokuhirom joined #perl6
02:03 colomon n: say (1, 1, &infix:<+> ... *).[^6].join(', ')
02:03 p6eval niecza v17-35-g98bb415: OUTPUT«Unhandled exception: Cannot call infix:<+>; none of these signatures match:␤    Any, Any␤    ␤  at /home/p6eval/niecza/lib/CORE.setting line 3178 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3185 (ANON @ 25) ␤  at <unknown> line 0 (KERNEL dog…
02:04 colomon or that
02:04 colomon errr, and that
02:04 dalek nqp/qbootstrap: 996ac93 | diakopter++ | src/QRegex/NFA.nqp:
02:04 dalek nqp/qbootstrap: trash my crappy quant NFA generator (lots of bad code); replace with one that works and handles % (and %%)
02:04 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/996ac9354f
02:04 sorear colomon: which test files fail, have passing TODOs, or are otherwise mentioned in the summary?
02:05 diakopter phenny: ask jnthn see https://github.com/perl6/nqp/commit/996ac9354f  it makes %/%% work
02:05 phenny diakopter: I'll pass that on when jnthn is around.
02:06 colomon sorear: https://gist.github.com/2795936
02:06 sorear ty
02:06 colomon quoting.t is the bug specific to my setup
02:07 colomon rat.t is not being in line with the latest spec change, I've had fixing Niecza to match it on my todo list for a couple of weeks.
02:08 colomon I can work on the todo passes, if you'd like
02:08 sorear In what way is quoting.t specific to your setup?
02:08 sorear r: say &[+]
02:08 p6eval rakudo e75663: OUTPUT«sub infix:<+>($a?, $b?) { ... }␤»
02:08 sorear r: say &infix:<+>
02:08 p6eval rakudo e75663: OUTPUT«sub infix:<+>($a?, $b?) { ... }␤»
02:09 sorear r: multi foo(1) { }; multi foo(2) { }; say &foo
02:09 p6eval rakudo e75663: OUTPUT«sub foo(Mu ) { ... }␤»
02:09 sorear r: multi foo(1) { }; multi foo(2,3) { }; say &foo
02:09 p6eval rakudo e75663: OUTPUT«sub foo(Mu ) { ... }␤»
02:09 sorear how does rakudo get the signature from a multi dispatcher?
02:09 sorear r: multi foo(1) { }; multi foo(2,3) { }; say &foo.count
02:09 p6eval rakudo e75663: OUTPUT«Inf␤»
02:09 sorear r: multi foo(1) { }; multi foo(2,3) { }; say &foo.WHAT
02:09 p6eval rakudo e75663: OUTPUT«Sub()␤»
02:09 JimmyZ_ joined #perl6
02:09 sorear r: multi foo(1) { }; multi foo(2,3) { }; say &foo.^parents
02:09 p6eval rakudo e75663: OUTPUT«Routine() Block() Code()␤»
02:10 sorear r: multi foo(1) { }; multi foo(2,3) { }; say &foo.^find_method('count')
02:10 colomon sorear: it's the thing about not being able to find glib
02:10 p6eval rakudo e75663: OUTPUT«count␤»
02:10 sorear I thought you had fixed that
02:10 colomon nope
02:10 sorear r: multi foo(1) { }; multi foo(2,3) { }; say &foo.^find_method('count').WHAT
02:10 p6eval rakudo e75663: OUTPUT«Method()␤»
02:10 colomon it's working on your system, right?
02:10 sorear r: multi foo(1) { }; multi foo(2,3) { }; say &foo.^find_method('count').signature
02:10 p6eval rakudo e75663: OUTPUT«:(Code:D , Mu *%_)␤»
02:11 sorear r: multi foo(1) { }; multi foo(2,3) { }; say &foo.signature
02:11 p6eval rakudo e75663: OUTPUT«:(Mu )␤»
02:11 sorear yeah, quoting.t works for me
02:12 JimmyZ_ diakopter: I think 'if $max == 1 ' is wrong?
02:14 diakopter you're right!
02:14 diakopter how in the heck is it workinglike it is...?
02:14 sorear n: proto foo($x?, $y?) {*}; multi foo($x,$y) { $x + $y }; multi foo() { 0 }; say (1, 1, &foo ... *).[^6].join(', ')
02:14 p6eval niecza v17-35-g98bb415: OUTPUT«Potential difficulties:â�¤  $x is declared but not used at /tmp/wC0r0d7xm_ line 1:â�¤------> [32mproto foo([33mâ��[31m$x?, $y?) {*}; multi foo($x,$y) { $x + $[0mâ�¤  $y is declared but not used at /tmp/wC0r0d7xm_ line 1:â�¤------> [32mproto foo($x?, [33mâ��[31m…
02:15 sorear n: proto foo($?, $?) {*}; multi foo($x,$y) { $x + $y }; multi foo() { 0 }; say (1, 1, &foo ... *).[^6].join(', ')
02:15 p6eval niecza v17-35-g98bb415: OUTPUT«1, 1, 2, 3, 5, 8␤»
02:15 sorear \o/
02:15 diakopter JimmyZ_: wait, it's max == -1
02:15 diakopter oh
02:15 diakopter I see
02:17 diakopter well hm
02:17 diakopter darn.
02:17 diakopter JimmyZ_: thanks :)
02:17 JimmyZ_ diakopter: hehe :)
02:18 diakopter testing it with -1 now
02:19 diakopter well, at least all the other changes (besides the support for %/%%) are working
02:20 dalek niecza: 9d10d16 | sorear++ | lib/CORE.setting:
02:20 dalek niecza: Give good signatures for the binary protos, fixes arity-2-or-more.t
02:20 dalek niecza: review: https://github.com/sorear/niecza/commit/9d10d16d0d
02:21 dalek nqp/qbootstrap: d05da7c | diakopter++ | src/QRegex/NFA.nqp:
02:21 dalek nqp/qbootstrap: fix off-by-two error; JimmyZ_++ spotted it. This means %/%% are in fact not yet working. diakopter-- diakopter--
02:21 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/d05da7cab2
02:23 dalek roast: 24dd9a3 | (Solomon Foster)++ | integration/ (2 files):
02:23 dalek roast: Unfudge passing tests.
02:23 dalek roast: review: https://github.com/perl6/roast/commit/24dd9a3b09
02:25 sorear why is check_variable reparsing variables :|
02:27 dalek roast: 661f139 | (Solomon Foster)++ | S03- (2 files):
02:27 dalek roast: Niecza unfudge.
02:27 dalek roast: review: https://github.com/perl6/roast/commit/661f139266
02:29 dalek roast: 361bd23 | (Solomon Foster)++ | S05-match/blocks.t:
02:29 dalek roast: Niecza unfudge.
02:29 dalek roast: review: https://github.com/perl6/roast/commit/361bd23e77
02:35 eternaleye joined #perl6
02:39 tokuhirom joined #perl6
02:40 dalek niecza: f54d02c | sorear++ | src/NieczaActions.pm6:
02:40 dalek niecza: Avoid spurious error on &[+], reduce reparsing in check_variable
02:40 dalek niecza: review: https://github.com/sorear/niecza/commit/f54d02cb95
02:43 sorear colomon: the rx.t failing test is flat out wrong and should be removed
02:44 sorear RT 112450 is Working As Designed
02:46 colomon wonder if it was just a typo
02:47 sorear phenny: tell masak http://rt.perl.org/rt3/Tic​ket/Display.html?id=112450 # Working as designed.  $l is a regex atom, so o ** $l is interpreted as o [$l o]*.  Do you agree / can we close this ticket and remove the corresponding TODO test?
02:47 phenny sorear: I'll pass that on when masak is around.
02:49 dalek roast: 6f6d6c2 | sorear++ | S05-mass/rx.t:
02:49 dalek roast: [S05-mass/rx] Fudge dubious test for now
02:49 dalek roast: review: https://github.com/perl6/roast/commit/6f6d6c20a1
02:52 colomon sorear: Just checking S05, it's not at all obvious to me how this case should work.
02:53 sorear the subrule.t one is interesting though
02:55 sorear colomon: it's not documented in S05 because it is obsolescent syntax.
02:57 dalek niecza: c146c95 | sorear++ | lib/Cursor.cs:
02:57 dalek niecza: Reduce noise from RX_TRACE slightly
02:57 dalek niecza: review: https://github.com/sorear/niecza/commit/c146c95a86
02:57 dalek niecza: 5d10b5f | sorear++ | src/STD.pm6:
02:57 dalek niecza: In the absense of a separator, quantifiers should not eat following sigspace
02:57 dalek niecza: review: https://github.com/sorear/niecza/commit/5d10b5f330
02:57 sorear that second one fixes S05-capture/subrule.t
02:59 colomon sorear: I need to go to bed now.  Very glad to see you busy with niecza again.  :)
03:02 sorear :)
03:02 sorear good night.
03:28 diakopter phenny: tell jnthn disregard the above.. I've learned much since then.
03:28 phenny diakopter: I'll pass that on when jnthn is around.
03:30 cognominal_ joined #perl6
03:32 diakopter sorear: in case you're curious, in the process of debugging % NFAs, I discovered that <foo> [',' <foo>]* parses "foo foo  foo" successfully, but fails to parse "foo,foo"
03:33 diakopter oh, and <foo> contains <.ws> on either end
03:35 diakopter this totally makes no sense
03:35 diakopter not even considering the NFA, how in the world is "foo foo  foo" matching..
03:36 sorear r: 'foo foo foo' ~~ / ^ 'foo' [',' 'foo']* $ /
03:36 p6eval rakudo e75663:  ( no output )
03:36 sorear r: say 'foo foo foo' ~~ / ^ 'foo' [',' 'foo']* $ /
03:36 p6eval rakudo e75663: OUTPUT«#<failed match>␤»
03:36 sorear r: say 'foo,foo' ~~ / ^ 'foo' [',' 'foo']* $ /
03:36 p6eval rakudo e75663: OUTPUT«q[foo,foo]␤␤»
03:36 sorear ?
03:37 diakopter well, you need some <.ws> in there, but yeah
03:40 sorear do you have a working example?
03:40 diakopter in qbootstrap branch of nqp, yeah
03:45 diakopter well, of course I can't reproduce it now.
03:45 diakopter but my modded versions of HLL::Grammar <hexint> and <hexints> reproduce it
03:50 diakopter nm.  :||| now they don't.
03:52 diakopter and now % ',' is working!  argh!
03:53 diakopter but % '_' in hexint is not
03:53 diakopter maybe it doesn't like nested %
03:57 Entonian joined #perl6
04:00 bruges joined #perl6
04:02 diakopter disregard my prior 11 messages above
04:07 c1sung joined #perl6
04:24 * diakopter tries to read the NFA pir for hexint
04:26 adu hi diakopter
04:31 cognominal joined #perl6
04:33 xinming joined #perl6
04:42 sisar joined #perl6
04:44 adu is panda the new cpan?
04:53 kaare_ joined #perl6
04:54 cognominal joined #perl6
04:59 jaldhar joined #perl6
05:10 sisar adu: yup, panda is the new 'cpan' (the tool)
05:10 sisar but is nowhere as comprehensive as cpan
05:10 sisar yet :)
05:11 birdwindupbird joined #perl6
05:23 dalek niecza: f1da062 | sorear++ | lib/ (6 files):
05:23 dalek niecza: Encapsulate variable property accessors
05:23 dalek niecza: review: https://github.com/sorear/niecza/commit/f1da0623dc
05:23 dalek niecza: cbe27a0 | sorear++ | lib/ (3 files):
05:23 dalek niecza: Allow objects to fill the role of read-only variables
05:23 dalek niecza: review: https://github.com/sorear/niecza/commit/cbe27a0ecb
05:23 dalek niecza: 581727d | sorear++ | / (13 files):
05:23 dalek niecza: Remove all calls to now-noop NewROScalar
05:23 dalek niecza: review: https://github.com/sorear/niecza/commit/581727d1dd
05:48 dalek niecza: 51f3253 | sorear++ | lib/ (6 files):
05:48 dalek niecza: s:g/[type|init]Obj<(ect//
05:48 dalek niecza: review: https://github.com/sorear/niecza/commit/51f3253f15
05:48 dalek niecza: 8af7893 | sorear++ | lib/ (6 files):
05:48 dalek niecza: Refactor anomalous interpolation of Nil
05:48 dalek niecza: review: https://github.com/sorear/niecza/commit/8af78932e4
06:29 moritz \o
06:30 sorear o/ moritz
06:34 moritz sorear++ jnthn++ diakopter++ # hacking while I slept :-)
06:35 dalek niecza: 36b12c7 | sorear++ | / (8 files):
06:35 dalek niecza: initVar and typeVar no longer have any reason to exist
06:35 dalek niecza: review: https://github.com/sorear/niecza/commit/36b12c7847
06:35 dalek niecza: 0750bf7 | sorear++ | / (2 files):
06:35 dalek niecza: Misc type-management fixes
06:35 dalek niecza: review: https://github.com/sorear/niecza/commit/0750bf7b71
06:40 moritz oops, rakudo/qbootstrap is broken on latest nqp
06:42 zby_home_ joined #perl6
06:53 sorear it would be nice if my benchmark timings didn't get 10% bigger every single time I run them
06:56 moritz .oO( speed up your compiler but not re-running benchmarks! )
06:56 sorear people t[3~ell me I should be measuring while I optimize instead of relying on my knowledge of i386 microarchitecture
06:56 sorear however, my measurements have an uncertainty of 200-300%
07:02 NamelessTee joined #perl6
07:10 sorear really the only thing Niecza::Benchmark is good for is catching unexpected factor-of-10 regressions
07:10 sorear that, and making me cry
07:21 sorear n: say pi.fmt('%.4f')
07:21 p6eval niecza v17-46-g0750bf7: OUTPUT«??␤»
07:21 sorear n: say pi.fmt('%4f')
07:21 p6eval niecza v17-46-g0750bf7: OUTPUT«??␤»
07:22 moritz how creative :-)
07:23 sorear ?
07:23 * araujo wonders what would be a nice project to start in perl6
07:23 araujo hello o/
07:23 moritz araujo: a printf routine that handles all the things that C's sprintf is unsuited for (like, big integers)
07:24 moritz sorear: I find the fmt output creative
07:24 araujo hello moritz o/
07:24 araujo mmm..
07:24 sorear araujo: a printf routine that handles all the things that C's sprintf has supported since the beginning of time
07:24 moritz p6: printf '%b', 2**66
07:24 p6eval rakudo e75663: OUTPUT«0»
07:25 p6eval ..pugs: OUTPUT«(timeout)»
07:25 p6eval ..niecza v17-46-g0750bf7: OUTPUT«1»
07:25 sorear maybe tomorrow I'll write an actually working printf for niecza
07:25 sorear araujo: on second thought, that doesn't satisfy "in" Perl6
07:26 araujo hehe
07:26 moritz well, you can write it in Perl 6 :-)
07:30 JimmyZ joined #perl6
07:31 JimmyZ good afternoon
07:33 tadzik good morning
07:34 sorear hrm, my copy of vim seems to have decided to switch ^K input from greek to kana
07:46 moritz \o JimmyZ, tadzik
07:47 moritz p6: sub f { gather loop { take 1; return } }; say f
07:47 p6eval rakudo e75663: OUTPUT«(signal SEGV)»
07:47 p6eval ..niecza v17-46-g0750bf7: OUTPUT«Unhandled exception: Cannot unbox a Variable[] from an object of repr P6opaque␤  at <unknown> line 0 (KERNEL map @ 0) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2391 (GatherIterator.reify @ 6) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /home/p6eva…
07:47 p6eval ..pugs: OUTPUT«␤»
07:47 * moritz submits rakudobug
07:52 b1rkh0ff joined #perl6
08:03 dalek rakudo/nom: 47f26e7 | moritz++ | src/core/ (2 files):
08:03 dalek rakudo/nom: typed exception from failed .+ dispatch
08:03 dalek rakudo/nom:
08:03 dalek rakudo/nom: also prepare exception for returning form exhausted routine
08:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/47f26e7f7d
08:05 dalek roast: d701cfa | moritz++ | S32-exceptions/misc.t:
08:05 dalek roast: text X::Method::NotFound on normal and .+ dispatches
08:05 dalek roast: review: https://github.com/perl6/roast/commit/d701cfa9fe
08:05 Antichoc_ joined #perl6
08:15 dalek niecza: 40e1779 | sorear++ | lib/ (7 files):
08:15 dalek niecza: Split ListVariable out of SimpleVariable
08:15 dalek niecza: review: https://github.com/sorear/niecza/commit/40e177962d
08:15 dalek niecza: 16054c7 | sorear++ | lib/Niecza/Benchmark.pm6:
08:15 dalek niecza: Rewrite Niecza::Benchmark.  Much shinier, still quite useless.
08:15 dalek niecza: review: https://github.com/sorear/niecza/commit/16054c7c7f
08:15 dalek niecza: 9852003 | sorear++ | lib/ (2 files):
08:15 dalek niecza: Replace virtual method calls with type checks
08:15 dalek niecza: review: https://github.com/sorear/niecza/commit/9852003adb
08:20 tokuhirom joined #perl6
08:22 sergot joined #perl6
08:22 sergot o/
08:24 dalek rakudo/nom: decb0a5 | moritz++ | src/core/ (2 files):
08:24 dalek rakudo/nom: typed exception for private method not found
08:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/decb0a5da7
08:24 sorear o/, sergot.
08:24 dalek roast: 16238cd | moritz++ | S32-exceptions/misc.t:
08:24 dalek roast: test private method not found error
08:24 dalek roast: review: https://github.com/perl6/roast/commit/16238cd7ea
08:51 sorear sleep&
09:19 stepnem joined #perl6
09:30 cognominal joined #perl6
09:31 jnthn o/
09:31 phenny jnthn: 01:29Z <diakopter> ask jnthn have you considered using fixed-size arrays for the NFA arrays?
09:31 phenny jnthn: 02:05Z <diakopter> ask jnthn see https://github.com/perl6/nqp/commit/996ac9354f  it makes %/%% work
09:31 phenny jnthn: 03:28Z <diakopter> tell jnthn disregard the above.. I've learned much since then.
09:34 araujo joined #perl6
09:34 araujo joined #perl6
09:35 jnthn Hmm...seems the NFA updates are a bit busted :(
09:35 moritz aye, breaks the rakudo build
09:35 jnthn Fails the NQP tests too
09:35 dalek rakudo/nom: 5f81da3 | moritz++ | src/ (3 files):
09:35 dalek rakudo/nom: refactor binding exceptions
09:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5f81da3a17
09:36 dalek roast: c6df8c5 | moritz++ | S32-exceptions/misc.t:
09:36 dalek roast: update and expand tests for binding to unbindable stuff
09:36 dalek roast: review: https://github.com/perl6/roast/commit/c6df8c596f
09:36 moritz ... which is why I hack stuff in nom right now :-)
09:39 dalek rakudo/nom: 3003279 | moritz++ | src/core/IO.pm:
09:39 dalek rakudo/nom: more consistent exception for IO.copy
09:39 dalek rakudo/nom:
09:39 dalek rakudo/nom: also remove unnecessary special case that could lead to race conditions
09:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3003279d4b
09:47 cognominal_ joined #perl6
10:12 dalek specs: 8c3efe4 | moritz++ | S04-control.pod:
10:12 dalek specs: [S04] small nit
10:12 dalek specs:
10:12 dalek specs: let and temp are prefix operators, not ordinary functions
10:12 dalek specs: review: https://github.com/perl6/specs/commit/8c3efe4bf6
10:14 moritz r: let 4 = 5
10:14 p6eval rakudo 300327:  ( no output )
10:14 dalek nqp/qbootstrap: acdaae4 | jnthn++ | src/QRegex/NFA.nqp:
10:14 dalek nqp/qbootstrap: Revert diakopter++'s NFA changes.
10:14 dalek nqp/qbootstrap:
10:14 dalek nqp/qbootstrap: Unfortunately, they break various NQP tests and the Rakudo build.
10:14 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/acdaae4bc3
10:14 dalek nqp/qbootstrap: 689b820 | jnthn++ | src/QRegex/P6Regex/Grammar.nqp:
10:14 dalek nqp/qbootstrap: Workaround separator/NFA bug for now; gets us able to parse \x[...] and \o[...] in regexes again.
10:14 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/689b820a1c
10:15 jnthn r: { let 4 = 5; Mu };
10:15 p6eval rakudo 300327: OUTPUT«Can only use 'let' on a container␤  in sub prefix:<let> at src/gen/CORE.setting:11179␤  in block <anon> at /tmp/UevOFh1aTI:1␤␤»
10:16 jnthn r: { let 4 = 5; };
10:16 p6eval rakudo 300327: OUTPUT«Can only use 'let' on a container␤  in sub prefix:<let> at src/gen/CORE.setting:11179␤  in block <anon> at /tmp/91EhH8Uizb:1␤␤»
10:16 jnthn r: let 4 = 5;;
10:16 p6eval rakudo 300327:  ( no output )
10:16 jnthn r: let 4 = 5;
10:16 p6eval rakudo 300327:  ( no output )
10:16 jnthn Hm, what...
10:16 tadzik r: let 4 = 5; say 4
10:16 p6eval rakudo 300327:  ( no output )
10:16 tadzik hrm
10:17 jnthn May be worth somebody with ICU giving latest a run.
10:17 tadzik I'm on it
10:17 jnthn At least the initial issue for rx.t should now be resolved.
10:20 tadzik jnthn: t/qregex/01-qregex.t Failed test:  290
10:20 tadzik the rest is all clean
10:20 dalek rakudo/nom: a4c09d1 | moritz++ | src/core/ (3 files):
10:20 dalek rakudo/nom: stylistic exception updates
10:20 dalek rakudo/nom:
10:20 dalek rakudo/nom: no functional changes
10:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a4c09d1c92
10:20 dalek rakudo/nom: 493adbf | moritz++ | src/core/ (2 files):
10:20 dalek rakudo/nom: typed exceptions for temp and let on non-containers
10:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/493adbfebc
10:20 jnthn tadzik: ah, I meant Rakudo spectest
10:21 moritz fwiw all my changes in nom should be easily (and automatically) mergable with qbootstrap
10:21 tadzik jnthn: ah, that will take a couple of time :)
10:21 * moritz will do it on 4 cores
10:21 jnthn "a couple of time" :D
10:22 tadzik ...what did I just say
10:22 moritz "couple of" can only be used with countable items
10:22 jnthn Right :)
10:22 tadzik couple of minutes, I mean
10:22 tadzik or plenty of time
10:22 tadzik couldn't make up my mind
10:23 moritz which is funny, because yesterday I ridiculed jnthn++ for doing a very similar error in a commit message
10:23 tadzik oh, wiait
10:23 tadzik #sureI'lldrawthat
10:23 jnthn moritz: Just passing on the ridicule parcel :)
10:24 jnthn away for 15 mins or so.
10:24 moritz jnthn: but non-native speakers are excused :-)
10:27 moritz ok, build is roughly as fast as in nom
10:29 tadzik here, am I excused now? http://i.imgur.com/aNNLf.png
10:30 moritz :-)
10:30 moritz I would have expected a couple of copies of the "times" news paper :-)
10:31 tadzik hehe
10:31 tadzik there's your chance :)
10:40 masak afternoon, sixonauts.
10:40 phenny masak: 02:47Z <sorear> tell masak http://rt.perl.org/rt3/Tic​ket/Display.html?id=112450 # Working as designed.  $l is a regex atom, so o ** $l is interpreted as o [$l o]*.  Do you agree / can we close this ticket and remove the corresponding TODO test?
10:40 moritz http://perlpunks.de/paste/show/4fc204a0.64c7.52 # latest spectest summary on qbootstrap
10:41 moritz S32-exceptions/misc fails because I updated the test file, and only added the new classes in nom
10:41 masak sorear: no, I'm not so sure I agree. I see your argument, though. gonna go through S05 looking for support for either version.
10:41 moritz id had two other failures before, might still be worth investigating later
10:42 moritz s/id/it/
10:42 moritz $ ./perl6 -Ilib t/spec/S05-mass/named-chars.rakudo
10:42 moritz ===SORRY!===
10:42 moritz Unrecognized character name LINE FEED (LF) at line 19, near "]/, 'Unanc"
10:43 masak moritz++ # #113394
10:43 moritz is that the segfault?
10:43 masak aye.
10:43 masak good find.
10:43 spider-mario joined #perl6
10:44 moritz what I wanted to do was throw a typed exception :/
10:44 masak `a? %% b` is just a strange way to write `[a b?]?`, no?
10:45 moritz yes
10:45 moritz (modulo possible difference in the arrangement of captures, if b captures)
10:46 jnthn moritz: ooh. So, down to just one test file with parse failures.
10:46 masak hehe, colomon and sorear were already in S05 looking for support either way for http://rt.perl.org/rt3/Tic​ket/Display.html?id=112450
10:47 masak I think what we want to do is aim for some form of consistency and Least Surprise.
10:47 colomon masak: I sure didn't see any support in there at all.  but I'm not sure what sorear thought.
10:47 masak I'm pretty sure that's why I filed that RT ticket.
10:47 colomon masak: you really ought to make that clearer in the ticket.  ;)
10:48 masak looks like I provided mostly my opinion and little surrounding conte... right.
10:48 masak sometimes I'm too brief. this was one such time.
10:48 masak I might go back and check the logs from when it was filed.
10:48 moritz jnthn: t/spec/S05-metasyntax/assertions.t is due to $/ being Any in <?{...}> assertions
10:48 masak I remember submitting that bug and another bug in the same psychological time slot.
10:49 NamelessTee joined #perl6
10:49 colomon The bit I read in S05 gave explicit rules for what to do if an interpolating variable was a regex or a string.  it didn't mention anything else.
10:49 masak right.
10:50 masak there's a case to be made for handling $l being an Int or a Range.
10:50 masak but it'll probably require a spec change.
10:51 masak something like "in the rhs to infix:<**>, if the variable is Numeric or Range, it gets interpolated as if it were an in-place literal"
10:51 PacoAir joined #perl6
10:52 jnthn moritz: Hmm.
10:52 colomon though note you just switched from Int to Numeric there.
10:52 masak yeah, I churned a bit and switched to Numeric.
10:52 masak feels more perlish.
10:52 colomon the written language covering ** { $n } is explicit that it's Int or a Range
10:52 masak ok.
10:52 masak then we keep Int-or-Range.
10:52 jnthn At least make it Real :P
10:52 masak ;)
10:52 jnthn "Please match this i times!"
10:53 * masak .oO( keeping it Real )
10:53 colomon please match this 3.5 times...
10:53 jnthn Right :)
10:53 masak that's fine.
10:53 jnthn Int makes more sense to me too :)
10:53 masak that's like @a[ 3.5 ]
10:53 jnthn .oO( What a floored argument )
10:53 masak I was just thinking, since infix:<**> is now *unambiguously* about N-times repetition (which is goooood), it should do a little more to DWIM things into that fold.
10:54 jnthn moritz: OK, the charnames failure is teh weird. :S
10:54 masak we don't need to share the semantic niche with "but if it's a Str..." anymore.
10:55 masak so if we wanted, and thought it was a good idea, we could even make this work: `my $l = "4"; / a ** {$l} /`
10:55 colomon jnthn: actually, I was just coming around to masak's way of thinking
10:55 whiteknight joined #perl6
10:55 colomon in particular, I'd be pissed if an integer-valued Rat didn't work for quantifying!
10:55 masak it's mostly just the logical consequences of having disambiguated infix:<**>.
10:55 jnthn colomon: I don't really have a horse in this race...I'm just punning while my code compiles :P
10:56 jnthn I can see what masak is arguing for is Perlier, anyways.
10:56 masak jnthn: "I'm just punning while my code compiles" would make a *great* t-shirt!
10:57 * masak read it as "what masak is arguing for is Peculiar, always" :P
10:58 masak <sisar> adu: yup, panda is the new 'cpan' (the tool)
10:58 dalek nqp/qbootstrap: 16654ba | jnthn++ | src/HLL/Actions.pm:
10:58 dalek nqp/qbootstrap: Complete guess-fix for the \c[...] issue.
10:58 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/16654ba654
10:59 masak in some ways, it's good to have new-ish-comers explain things to new-really-comers, cutting through the crap.
10:59 jnthn moritz: I've taken a wild guess at what might be going on with named-chars.
10:59 jnthn moritz: It's the only thing I can immediately think of...
11:00 isBEKaml joined #perl6
11:00 colomon n: / a+ + /
11:00 p6eval niecza v17-49-g9852003:  ( no output )
11:00 colomon r: / a+ + /
11:00 p6eval rakudo 300327: OUTPUT«===SORRY!===␤Method 'rxtype' not found for invocant of class 'Integer'␤»
11:01 colomon std: / a+ + /
11:01 p6eval std 8632387: OUTPUT«[31m===[0mSORRY![31m===[0m�Quantifier quantifies nothing at /tmp/pMpmohyp_Z line 1:�------> [32m/ a+ +[33m�[31m /[0m�Check failed�FAILED 00:00 41m�»
11:01 jnthn STD's output is the one I expected.
11:02 * masak submits rakudobug
11:02 isBEKaml masak: niecza?
11:02 * masak submits nieczabug
11:02 isBEKaml masak++
11:05 tadzik jnthn: https://gist.github.com/2805171 from g12b2cd7
11:07 jnthn tadzik: Looks consistent with moritz's findings too. Thanks!
11:07 aesundstrom joined #perl6
11:13 cognominal joined #perl6
11:15 dalek roast: 59b7d26 | (Solomon Foster)++ | S05-mass/rx.t:
11:15 dalek roast: Niecza unfudge.
11:15 dalek roast: review: https://github.com/perl6/roast/commit/59b7d26a42
11:26 brrt joined #perl6
11:35 moritz jnthn: that does fix named-chars.t
11:37 jnthn moritz: I can't test it due to lack of ICU here
11:37 jnthn moritz: It's my best guess at why it fails.
11:38 jnthn Got another couple of fixes about ready to push. :)
11:39 dalek nqp/qbootstrap: cf4bf1f | jnthn++ | src/QRegex/NFA.nqp:
11:39 dalek nqp/qbootstrap: Make <alpha> LTM-declarative.
11:39 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/cf4bf1f481
11:39 dalek rakudo/qbootstrap: c297695 | jnthn++ | src/Perl6/Grammar.pm:
11:39 dalek rakudo/qbootstrap: Don't capture comments.
11:39 dalek rakudo/qbootstrap: review: https://github.com/rakudo/rakudo/commit/c297695768
11:39 dalek rakudo/qbootstrap: 9653a4d | jnthn++ | src/Perl6/Grammar.pm:
11:39 dalek rakudo/qbootstrap: Fix a case of variable interpolation. Resolves S05-interpolation/regex-in-variable.t failures and probably S05-modifier/ignorecase.t too.
11:39 dalek rakudo/qbootstrap: review: https://github.com/rakudo/rakudo/commit/9653a4d5d0
11:53 ponpon joined #perl6
11:54 b1rkh0ff joined #perl6
11:55 adu joined #perl6
11:58 tyatpi joined #perl6
11:58 tadzik hehe
11:59 grondilu joined #perl6
11:59 tadzik does ??? get parsed as ?: for some reason?
11:59 Facefox joined #perl6
12:00 * grondilu somehow managed to have NativeCall work on his system (linux, debian sid)
12:00 grondilu 217s/Str/$native/
12:01 tadzik grondilu: what was the cause?
12:01 Kid_ joined #perl6
12:01 grondilu I don't know but I replaced ', Str' by ', ', $native' on line 217
12:01 jnthn tadzik: I hope not.
12:02 Kid_ left #perl6
12:02 grondilu multi trait_mod:<is>(Routine $r, :$native!) is export { $r does Native[$r, $native];
12:02 grondilu }
12:02 tadzik jnthn: rebuilding Rakudo now, but that's what happened to Shell::Command just a few moments ago
12:02 jnthn r: say ???
12:02 p6eval rakudo 493adb: OUTPUT«Stub code executed  in block <anon> at /tmp/k1XVqFmRGC:1␤␤0␤»
12:02 WisdomFusion joined #perl6
12:02 tadzik that's nom I think
12:03 jnthn tadzik: Yeah, comparing it with qbootstrap output
12:03 jnthn (it fails to parse it)
12:04 grondilu Now that NativeCall is working, I consider working on porting BerkeleyDB.  Is there someone working on it?
12:04 moritz I hope you want to interface with it, not porting it :-)
12:04 Kid_ joined #perl6
12:05 moritz I know nobody working on it right now
12:05 moritz jnthn: updated spectest run: http://perlpunks.de/paste/show/4fc21872.64c8.1a1
12:05 grondilu moritz: indeed.
12:05 moritz so, three remaining test failures :-)
12:06 jnthn moritz: That is after the named-chars but before the interpolation fixes?
12:06 jnthn t/spec/S05-modifier/ignorecase.rakudo and t/spec/S05-interpolation/regex-in-variable.rakudo show up failed in there but I pushed a fix for them a moment ago.
12:07 moritz jnthn: maybe it was not the latest version after all :/
12:07 jnthn moritz: Well, but now we know named-chars is fixed \o/
12:07 moritz too many open windows to know for sure :-)
12:07 moritz indeed, missed at least one commit
12:10 * moritz burns another quarter hour of CPU
12:11 jnthn t/spec/S05-metasyntax/assertions.t is a curiosity
12:12 jnthn It turns out that it's backtracking past the :
12:12 jnthn Think I just found it.
12:12 jnthn s/it/why/
12:16 isBEKaml joined #perl6
12:16 domidumont joined #perl6
12:16 telex joined #perl6
12:16 mikec_ joined #perl6
12:16 Kid_ joined #perl6
12:18 masak anyone opposed to me changing the spec to explicitly allow Int/Range variables as the rhs of infix:<**>?
12:19 masak as you see from https://rt.perl.org/rt3/Tic​ket/Display.html?id=112450 , the current state of the art is inconsistent and confusing.
12:19 masak I maintain that this is because we're not fully adapted to infix:<**> being simpler nowadays.
12:20 moritz well
12:20 moritz in theory, I'm for it
12:20 moritz but
12:20 moritz there's always a "but" :-)
12:21 moritz the problem is that  ** $foo looks declarative
12:21 moritz but it can only reasonably be declarative if we all $foo to be cached
12:21 moritz s/all/allow/
12:21 moritz and then people will want to write
12:22 moritz (\d+) . ** $0
12:22 moritz I'm not sure if that can be declarative
12:22 masak $0 isn't an Int or a Range.
12:23 jnthn er, nothing with interpolation is declarative, afaik
12:23 masak right.
12:23 masak I don't really see how it can be.
12:23 masak unless it's constants.
12:23 jnthn right
12:24 dalek nqp/qbootstrap: 5db4340 | jnthn++ | src/QRegex/P6Regex/Actions.nqp:
12:24 dalek nqp/qbootstrap: Don't disregard backtrack modifiers directly placed on atoms. This was why assertions.t failed in Rakudo.
12:24 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/5db4340e1c
12:28 tadzik heh, found it, and it's not nice
12:28 jnthn And not covered by spectests either, by the sounds of it...
12:29 tadzik jnthn: try { ??? } or { ("a" ~~ :e) }
12:30 tadzik it sees ? and then : :/
12:30 jnthn r: '192' ~~ /(\d**1..3) <?{$0 < 256}>/
12:30 p6eval rakudo 493adb:  ( no output )
12:30 jnthn r: say '192' ~~ /(\d**1..3) <?{$0 < 256}>/
12:30 p6eval rakudo 493adb: OUTPUT«q[192]␤ 0 => q[192]␤␤»
12:31 jnthn oh, taht one passes...
12:31 jnthn r: say '992' ~~ /(\d**1..3) <?{$0 < 256}>/
12:31 p6eval rakudo 493adb: OUTPUT«#<failed match>␤»
12:32 jnthn I think the test is wrong here
12:32 jnthn Locally I get:
12:32 jnthn > '992' ~~ /(\d**1..3) <?{$0 < 256}>/
12:32 jnthn q[99] 0 => q[99]
12:32 adu masak: moritz: I can't access that url
12:32 jnthn Of course, there's nothing to say it should not backtrack.
12:33 masak adu: which url?
12:33 jnthn So it fails once, then backs off to match one char less, then matches 99 and is happy.
12:33 adu rt.perl.org/...
12:33 jnthn Anyone disagree?
12:33 masak adu: yeah, seems down at present. :/
12:34 masak it's the right url, though. I have it open in another browser tab.
12:34 jnthn Changing them to **3 fixes things.
12:35 dalek roast: 9478f9a | jnthn++ | S05-metasyntax/angle-brackets.t:
12:35 dalek roast: Correct some tests that had wrong expectations on backtracking.
12:35 dalek roast: review: https://github.com/perl6/roast/commit/9478f9aa23
12:37 adu masak: does it have something to do with **, %, %%?
12:37 masak adu: [BUG] ** quantification doesn't work proper with variable interpolation without braces in Rakudo
12:37 masak r: say "foooo" ~~ /^ f o ** 4 $/
12:37 p6eval rakudo 493adb: OUTPUT«q[foooo]␤␤»
12:37 masak r: my $l = 4; say "foooo" ~~ /^ f o ** $l $/
12:37 p6eval rakudo 493adb: OUTPUT«===SORRY!===␤Quantifier quantifies nothing at line 1, near " $l $/"␤»
12:37 masak r: my $l = 4; say "foooo" ~~ /^ f o ** {$l} $/
12:37 p6eval rakudo 493adb: OUTPUT«===SORRY!===␤Quantifier quantifies nothing at line 1, near " {$l} $/"␤»
12:38 masak inneresting. behavior has changed. is this due to qbootstrap?
12:38 masak but, hm, no. qbootstrap only switched engines for the Rakudo compilation stage.
12:38 jnthn I sure hope not, given it's not been merged :)
12:38 masak troo.
12:38 masak must be something else. :)
12:38 jnthn tadzik: Reproduced here.
12:39 grondilu joined #perl6
12:39 31NABEKL4 joined #perl6
12:39 18VAAPBS0 joined #perl6
12:40 tokuhirom joined #perl6
12:41 jnthn tadzik: Ah, it's got very lost before it hits that.
12:42 masak 'Quantifier quantifies nothing' -- so it's parsing '**' as '* *', no?
12:43 jnthn Probably after failing to parse what it expected after **
12:45 adu hmm
12:46 adu "$x+++++$y;" gives "Cannot assign to a readonly variable or a value" but
12:46 adu "$x++ + ++$y;" evaluates to 6
12:46 masak adu: because LTM.
12:47 masak adu: "$x+++++$y" gets read as "$x++ ++ + $y"
12:47 adu LTM?
12:47 masak adu: Longest-Token Matching.
12:47 adu oh ok
12:47 masak postfix:<++> wins over infix:<+> cus it's longer.
12:47 masak it's actually a good example of this principle :)
12:48 masak adu: the qbootstrap branch that jnthn++ and moritz++ and tadzik++ are triaging will bring better LTM to Rakudo.
12:49 cognominal_ joined #perl6
12:49 adu oh, I didn't even know it was relevant :P
12:50 masak maybe we'll even get a nice .trans implementation out of it :)
12:51 brrt joined #perl6
12:52 masak I believe a good blog post could be written around .trans -- about how those who say "Perl 6 is an academic effort" aren't so much completely wrong as coming at it from a strange angle and getting bits of it right.
12:52 adu masak: I know enough about .trans to write a rot13, does that make me qualified to write a blog entry?
12:53 masak you're always qualified to write a blog entry.
12:53 masak but if you want to write this one, I'm willing to help you with background details.
12:53 masak I re-implemented .trans back in 2010 when I realized it was dead slow for long inputs.
12:54 Gesh joined #perl6
12:54 adu and it didn't make it to the main branch until now?
12:54 masak I made it O(potential replacements) instead of O(string length), which was an improvement for my blog software.
12:54 masak I don't know what the current status is. .trans is fast enough for me these days.
12:54 masak but my implementation isn't the final word at all.
12:55 masak ideally we could have an implementation that just piggybacks on the regex engine and LTM alternations.
12:55 masak the exact details are handwave-y.
12:58 adu hand wavey
12:58 adu I don't like it
12:58 adu I thought Perl6 alternation was PEG based
12:59 masak oh, the LTM part itself is very well understood.
12:59 masak and yes, the closest thing out there is probably PEG.
12:59 adu so PEG+LTM
13:00 adu I could write an article about PEG+LTM parsers :)
13:00 cognominal joined #perl6
13:00 masak I just meant that the exact details of how to hook the regex engine up to .trans are hand-wavey.
13:00 leprevost joined #perl6
13:00 masak I don't know how much introspection and internals-mucking it would take, for example.
13:00 adu probably alot
13:01 moritz http://perlpunks.de/paste/show/4fc22584.64c7.2ab # newest spectest run
13:01 masak maybe it's just a matter of doing an &eval around a grammar definition string. but that's bound to be slow as heck.
13:01 masak even with caching.
13:01 moritz well, missed the last commit by jnthn :-)
13:01 masak so maybe using the MOP somehow to build the grammar dynamically is better.
13:01 adu I think by hand wavey you mean that the regex engine is f(g(x)), and .trans is f(x), which "shouldn't be too hard to isolate"
13:01 dalek rakudo/qbootstrap: 2ad64fa | jnthn++ | src/Perl6/Grammar.pm:
13:01 dalek rakudo/qbootstrap: Fix parse-o spotted by tadzik++. (Really want to figure out how STD avoids needing this, though.)
13:01 dalek rakudo/qbootstrap: review: https://github.com/rakudo/rakudo/commit/2ad64faa1c
13:01 moritz masak: we could just do  ~~ m:g/ @alternatives /
13:02 moritz masak: modulo finding out which branch was taken
13:02 tadzik jnthn++
13:02 tadzik thay may unlock panda
13:02 masak moritz: ooh.
13:02 adu tadzik: did you write panda?
13:02 tadzik so I could run emmentaler, and see what breaks, and find new bugs :)
13:02 masak moritz: that might actually get us quite far, yes.
13:02 tadzik adu: aye
13:02 masak moritz: I still want it to be cached somehow, though.
13:02 adu tadzik++
13:03 masak but maybe that could be built into m// itself.
13:03 tadzik adu: thanks :)
13:03 masak and probably should.
13:04 jnthn OK, I think that with all latest patches and the tweak I did to the one spectest file, we should be as good as master so far as the spectests go.
13:04 jnthn er, s/master/nom/ :)
13:05 masak nom, the branch that srsly wants to be named 'master'. :)
13:05 adu I thought 'nom' was some european language for "master"
13:06 tadzik :)
13:08 jnthn For me, the main downside of it being called "nom" is that masak keeps whining about this. :P
13:09 masak adu: 'nom' is lolspeak for 'food' or 'to eat'.
13:09 jnthn In this case, though, it stands for "new object model" :)
13:09 masak right.
13:10 masak jnthn: oh, I'm the only one, am I? it's not the fact that "where's master? why is it called nom instead?" are FAQs on the channel, and that people (not just me) keep pushing to master, accidentally creating it?
13:10 jnthn moritz: I don't get the t/spec/S02-types/bool.t failure here
13:10 jnthn When was the last time somebody asked that on the channel?
13:11 masak I don't know. the IRC logs don't allow searching for three-letter words.
13:11 isBEKaml masak: 'nom ' ? :)
13:12 masak ' ' isn't a letter :)
13:12 isBEKaml masak: it is, a blank letter.
13:12 isBEKaml :P
13:12 masak r: say so ' ' ~~ /\w/
13:12 p6eval rakudo 493adb: OUTPUT«False␤»
13:12 masak nope. :)
13:12 isBEKaml not worthy of sending across the worlds on a capsule. :P
13:13 Psyche^ joined #perl6
13:13 * masak .oO( OH HAI WE COME IN PEACE PRAY TELL WHY IS IT CALLED NOM NOT MASTER )
13:13 isBEKaml .oO (  )
13:16 moritz jnthn: I'm rerunning now
13:16 NamelessTee jnthn: I'm rerunning now
13:16 moritz NamelessTee: do you repeat stuff?
13:16 NamelessTee sorry, I am trying to script my client
13:17 NamelessTee made a mistake
13:17 jnthn .O( It wasn't a repetition, it was a rerun :P )
13:17 moritz NamelessTee: ah, I thought you were a new bot
13:24 moritz jnthn: still getting the bool.t failure. bt forthcoming
13:24 moritz jnthn: http://perlpunks.de/paste/show/4fc22b23.64c8.66
13:25 jnthn moritz: But...it fails while running the tests?
13:26 jnthn Not while parsing?
13:26 moritz jnthn: it fails during run time, right before the last test
13:26 moritz and I get a memory map dumped to my terminal
13:30 moritz http://moritz.faui2k3.org/tmp/bool.log has the whole thing
13:32 jnthn What what...it's the C<but>
13:32 jnthn I don't think it's anything to do with qbootstrap
13:32 jnthn It's just getting unlucky with allocations, I think.
13:32 jnthn I reproduced it by putting a loop around the tests taht use but.
13:35 Chillance joined #perl6
13:37 tadzik panda now works on qbootstrap, running emmentaller
13:37 tadzik with an extra l
13:37 brrt joined #perl6
13:40 masak \o/
13:41 adu emmentalller?
13:41 masak "emmentaler"
13:41 masak a tool for smoke-testing the whole set of modules and applications.
13:41 masak like a spectest but for downstream dependencies of Rakudo.
13:41 masak (or Niecza, with time)
13:42 jnthn Need to do a few other bits now...will try and figure out that crash later.
13:43 tadzik adu: see http://tjs.azalayah.net/new.html
13:44 Kid_ joined #perl6
13:44 adu that is so cool
13:46 masak tadzik++ # faded "?" boxes
13:47 tadzik not sure if it was me :)
13:47 masak tadzik: why are things sorter down to XML::Writer, and then unordered?
13:47 tadzik masak: working things first
13:47 masak no wait.
13:47 tadzik then ordered again :)
13:47 Kid_ left #perl6
13:47 masak it's two lists of internally sorted things.
13:47 masak why?
13:47 tadzik working things first
13:47 masak ah.
13:48 Kid_ joined #perl6
13:48 adu what?
13:48 masak when we get this going, we should probably put the working things last :)
13:48 adu I thought it was alphabetical
13:49 tadzik it is, partly
13:49 masak and maybe sort in order of decreasing urgency. failing at earlier steps being more urgent than failing at later ones.
13:49 adu oic ABC is after XML::Writer
13:49 tadzik https://github.com/tadzik/emmen​taler/blob/master/formatter#L13
13:49 adu oh I was working on an XML::Reader
13:49 tadzik I hope that explains it :)
13:50 tadzik although the code is quite weird :)
13:50 masak anyway, tadzik++ for taking this forward.
13:50 adu https://github.com/andydude/p6-xml
13:50 tadzik (even though?)
13:50 adu what should I do to make it more module-ish?
13:50 tadzik adu: does it work?
13:50 tadzik adu: there's a wiki for that
13:50 adu tadzik: yes, as a grammar
13:50 masak "sortsub" is not a good name for a sort sub ;)
13:50 tadzik adu: http://wiki.perl6.org/Create%​20and%20Distribute%20Modules
13:50 masak it's like calling a class "SomeClass"
13:50 tadzik shush masak! :P
13:50 adu I don't have any functions per se
13:50 masak tadzik: ooc, why are you implementing this in Perl 5?
13:51 tadzik masak: it was written before Template::Mojo
13:51 masak oh, ok.
13:51 tadzik it could be Perl 6 now, yes
13:51 masak so a porting effort is in Emmentaler's future?
13:51 tadzik somewhat, yes
13:51 masak \o/
13:52 tadzik I expect it to run fully on Perl 6
13:52 tadzik it may be a nice Bailador example for FPW
13:52 moritz fwiw I'm spectesting qbootstrap-merged-into-nom right now
13:52 moritz "just for the lulz"
13:53 adu tadzik: my module is already laidout like that, but someone said my tests were not compatible
13:53 * tadzik looks
13:53 moritz that was me, probably
13:53 tadzik adu: you have no META.info, that's one thing
13:53 adu moritz: probably
13:53 adu oh
13:53 tadzik adu: tests are supposed to be able to run automagically and produce a somewhat binary result
13:54 tadzik either "OMG WORKS" or "NOES WTF"
13:54 tadzik see https://github.com/tadzik/perl6-​Acme-Meow/blob/master/t/01-fun.t for example
13:56 adu so I have to have some canned inputs
13:58 adu anyways, thanks for the tips
13:58 moritz yes; you just use examples
13:58 adu igtg
13:58 tadzik see you
13:58 moritz see you
13:59 moritz \o/ qbootstrap merged into nom: all spectests pass
13:59 moritz +4 passing TODOs
14:00 jnthn moritz: Oh, the bool.t fail is gone now too?
14:00 adu anyways, I highly recommend reading p6-xml/dot/tree.svg, it shows how I partitioned the XML grammar
14:00 jnthn moritz: This seems pretty awesome. What do you think as to our requirements for merging it?
14:01 moritz jnthn: I ran it three time, and it didn't bail out once
14:01 tadzik w00t
14:01 jnthn moritz: OK :)
14:01 jnthn wfm
14:01 moritz jnthn: though it might still be interesting to fix the underlying problem
14:01 tadzik 50 modules ok, 51 not ok (101 total)
14:01 tadzik that's modulo 1 what's on nom
14:01 jnthn tadzik: 1 module has a regression?
14:01 tadzik yes
14:02 moritz jnthn: IMHO it's mergable
14:02 moritz jnthn: just needs the merge in NQP too, and then bumping NQP revision
14:02 jnthn I was gonna say "let's see what fallout tadzik++ reports", but we already have that :)
14:02 moritz tadzik: which one?
14:02 jnthn tadzik: Do you know which one?
14:02 jnthn :)
14:02 tadzik DBIish
14:02 moritz feature request: a tool for comparing that stuff :-)
14:02 tadzik yeah
14:03 tadzik better than "huh, I'll just count modules starting with A, then with B, C, D... there it is!" :)
14:03 jnthn Where does DBIish fail?
14:03 jnthn Build? Tests?
14:05 tadzik Tests
14:05 tadzik oh, it's also about 2 minutes slower
14:06 tadzik or 3. 21:46 vs 19:00
14:06 tadzik but that might be noise
14:06 jnthn No, the spectests show the effect too.
14:06 MayDaniel joined #perl6
14:06 jnthn It's mostly that we're doing a bit more work on startup now building transitive NFAs.
14:06 jnthn It's a few hours hacking to mitigate that, but I don't feel a need to hold the merge for it.
14:07 moritz aye
14:07 * moritz builds the newest rakudo on a machine where he can test DBIish properly
14:08 jnthn OK. I need to take care of some $dayjob stuff I ignored to get qbootstrap done. ;)
14:08 moritz jnthn: if I can sort out DBIish, should I merge qbootstrap?
14:09 jnthn moritz: +1
14:21 moritz somehow my laptop froze while trying to compile rakudo :/
14:22 moritz though usually when the memory usage is too high, the OOM killer simply goes after firefox :-)
14:23 JimmyZ firefox--, which always does that
14:23 isBEKaml moritz: because firefox spawned too many children and OOMKiller counted them as culprits?
14:23 moritz isBEKaml: I dunno how the OOM killer works, but I guess it's simply the process that uses up the most memory
14:23 isBEKaml It's funny when that happens and firefox always comes back up as if it started on a clean install. :D
14:24 moritz the crash recovery works pretty reliable for me
14:25 isBEKaml this hasn't been much of a problem since I don't have 50 tabs open, unlike at $work. :)
14:26 masak qbootstrap passes the spectests? whoa! jnthn++ moritz++ tadzik++
14:26 tadzik well, I didn't fix anything :)
14:26 jnthn masak: Not only that, but also runs all but one of the modules too.
14:29 masak wow!
14:29 tadzik I'm very happy that Config::INI's not broken
14:29 moritz DBIish still passes all tests here
14:29 moritz (that's with qbootstrap merged locally into nom)
14:30 tadzik it's probably the first grammar I've written, and it kept breaking on every grammar change in Rakudo and I was then struggling to fix it
14:30 * tadzik rechecks
14:31 * moritz tries on a different machine
14:32 moritz all tests pass there too
14:32 moritz ok, I'll merge
14:32 jnthn \o/
14:33 moritz dalek might spam us now...
14:33 dalek Heuristic branch merge: pushed 112 commits to nqp by moritz
14:33 jnthn http://s3.amazonaws.com/ragefaces/e​1f11b7e02abf942f13564a72220ff34.png :)
14:34 tadzik oh
14:34 dalek Heuristic branch merge: pushed 26 commits to rakudo/nom by moritz
14:34 tadzik DBIish fail is probably due to debugging output I added to Actions.pm confusing TAP
14:34 moritz qbootstrap has landed. Welcome to the 21st century
14:34 moritz jnthn++ for all the hard work
14:34 moritz and diakopter++ and tadzik++ for helping
14:35 JimmyZ what? only 26 commits?
14:35 moritz JimmyZ: in rakudo. 112 in nqp
14:35 isBEKaml Heuristic branch merge: pushed 112 commits to nqp by moritz
14:35 isBEKaml JimmyZ: ^^ :)
14:36 JimmyZ yep, I meant rakudo
14:36 jnthn moritz++ for many contributions to it too :)
14:38 dalek rakudo/nom: 5cff505 | moritz++ | docs/ChangeLog:
14:38 dalek rakudo/nom: note some qbootstrap changes in ChangeLog
14:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5cff5050d8
14:38 * moritz gets all his karma from updating ChangeLog in tiny steps :-)
14:39 masak I see no fault in that.
14:39 masak that way, we have an always up-to-date ChangeLog. moritz++
14:39 dalek rakudo/nom: cceca68 | jnthn++ | docs/ROADMAP:
14:39 dalek rakudo/nom: Remove two completed ROADMAP items.
14:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cceca68810
14:40 moritz next up: unfudging
14:40 masak \o/
14:41 tadzik good things :)
14:41 moritz and RT #77010 is likely closable
14:41 moritz at least its test now passes
14:43 tadzik time to rewrite some Perl to C++ :F
14:43 brrt joined #perl6
14:43 tadzik moritz: confirmed, DBIish now works here too
14:43 * moritz can't connet to rt.perl.org/rt3/ right now :(
14:43 moritz tadzik: great, thanks
14:45 moritz is it just me, or does t/spec/S05-mass/rx.t really take ages to compile?
14:46 jnthn Sounds worth profiling.
14:46 moritz r: multi sub infix:<+=>($, $) { 5 }; my $x  = 3; say  $x += 10;
14:46 p6eval rakudo 493adb: OUTPUT«13␤»
14:47 moritz this one works after the merge :-)
14:47 dalek roast: 8fc5122 | moritz++ | S0 (4 files):
14:47 dalek roast: remove now passing rakudo TODOs
14:47 dalek roast: review: https://github.com/perl6/roast/commit/8fc5122c09
14:50 pmichaud did I just see that qbootstrap was merged with nom?!?  ;-)
14:50 moritz yes
14:50 jnthn pmichaud: Yes, with zero spectest or module test regressions.
14:50 flussence whee! compile failure!
14:50 pmichaud wow!  jnthn++
14:50 pmichaud \o/
14:50 moritz flussence: you'll need to clean out nqp, probably
14:50 jnthn pmichaud: But...it's slower to parse CORE.setting than the old engine.
14:50 pmichaud hmmmmm
14:51 pmichaud that's.... surprising to me a bit.
14:51 flussence moritz: yeah, it's usually something like that on my end... :)
14:51 masak pmichaud! \o/
14:51 [particle] joined #perl6
14:51 pmichaud masak!  \o/
14:51 jnthn pmichaud: Run the compile with parrot -R subprof for some analysis
14:52 jnthn pmichaud: One surprisingly expensive thing is match object construction
14:52 pmichaud jnthn: won't have time to do it right now, but will likely do it sometime later today or early tomorrow
14:52 jnthn Well, and CAPHASH
14:52 * moritz has pretty good success with 'git clean -xdf' in nqp # attention, dangerous stuff, removes all files not udner version control
14:52 jnthn pmichaud: Sure :)
14:52 pmichaud ...match object construction, as in ... what exactly?
14:53 jnthn .MATCH()
14:53 jnthn And .CAPHASH()
14:53 pmichaud well, I can understand .CAPHASH to a small extent
14:53 * JimmyZ didn't use 'make clean' or somethin, since there was 'git clean -xdf'
14:54 masak moritz: I think in a few years, "files not under version control" will have almost the same ring to it as "coding up the boot loader by flipping switches on the front panel of the mainframe". well, one could hope. ;)
14:54 moritz masak: I constantly have a few small scripts in the rakudo dir with which I micro-test stuff I'm working on
14:54 moritz masak: and those are never under version control
14:55 masak are they so ephemeral that they don't deserve a bin directory of their own?
14:55 moritz .oO( autounfudge has found one place so far, and it's unrelated to qbootstrap )
14:55 moritz masak: correct
14:56 pmichaud jnthn: my guess is that it's the extra block invocations in CAPHASH that make things a bit slower there
14:57 pmichaud e.g., on the C<for> statements
14:57 jnthn pmichaud: Ah, that's possible.
14:57 pmichaud we didn't have the extra sub overhead in nqp-rx
14:57 jnthn pmichaud: We could write it without them.
14:57 pmichaud it could all be done "flat"
14:57 jnthn *nod*
14:57 pmichaud s/"flat"/"inline"
14:59 pmichaud otoh, the for loop that appears in the 'else' clause likely isn't run very often.
15:00 pmichaud so it would be just the outer loop that would have to be responsible for any expense (the "            for $!cstack -> $subcur {
15:00 pmichaud " loop)
15:02 pmichaud one could optimize the first part of CAPHASH pretty easily, I think.
15:02 jnthn pmichaud: Yeah, I added the index(...'=') check yesterday to avoid that one loop.
15:03 brrt its funny that perl6 - a `100 year language` - should run on parrot  - 100 year birds
15:03 pmichaud i.e., attach an already-built-version of $caps to the sub and make a fast-clone for it
15:03 pmichaud instead of rebuilding each time using   for %caplist
15:03 jnthn pmichaud: That would work though still need an iteration to do the deep cloning.
15:04 jnthn (e.g. of any nested lists)
15:04 pmichaud well, that's something of what I mean by a "fast-clone"
15:04 jnthn ah, ok
15:04 moritz do it in C?
15:04 pmichaud something that can avoid the block invocations required by the for %caplist { ... } loop
15:04 jnthn Let's see how to avoid the block invocations first.
15:05 jnthn That may well be enough.
15:05 jnthn s/see how to/try to/
15:05 pmichaud anyway, awesome work on qbootstrap.  jnthn++ again
15:05 jnthn @other helped too :)
15:05 masak jnthn++
15:06 pmichaud @other++   moritz++
15:06 jnthn Next stop...qast? :)
15:09 dalek roast: 8dbf8cc | moritz++ | S03-sequence/nonnumeric.t:
15:09 dalek roast: unfudge a test for rakudo, remove unnedded "our"s
15:09 dalek roast: review: https://github.com/perl6/roast/commit/8dbf8cc435
15:09 moritz jnthn: I'd love to see a few precompilation fixes first
15:10 jnthn moritz: The operators one?
15:10 moritz jnthn: the one that blocks ABC on rakudo
15:11 jnthn Ah...I thought that was roles related and already fixed.
15:11 moritz no, there were two in ABC :/
15:11 masak freakin' YEAH next stop QAST!
15:11 moritz the one with the roles
15:11 * masak is so stoked
15:11 moritz and then there's one about not parsing something as a type name
15:11 jnthn Ah
15:11 masak I have a blog post coming up about the work so far on QAST, and leading up to macros/D2.
15:11 jnthn OK, I'd mentally got that on my todone list rather than my todo list :)
15:12 moritz jnthn: should be #112626
15:13 moritz jnthn: the one you fixed as 112624
15:13 moritz s/as/was/
15:34 sisar <masak> in some ways, it's good to have new-ish-comers explain things to new-really-comers, cutting through the crap. <---- masak, what do you mean 'cutting through the crap' ?
15:35 sisar jnthn++ @others++ #qbootstrap
15:36 fibo joined #perl6
15:41 moritz r: class A { }; A does A;
15:41 p6eval rakudo cceca6: OUTPUT«Cannot use 'does' operator with a type object.␤  in sub infix:<does> at src/gen/CORE.setting:10990␤  in block <anon> at /tmp/1lJJ2BQlcE:1␤␤»
15:41 moritz r: class A { }; A does A.new;
15:41 p6eval rakudo cceca6: OUTPUT«Cannot call 'infix:<does>'; none of these signatures match:␤:(Mu:D \$obj, @roles)␤:(Mu:U \$obj, @roles)␤:(Mu:D \$obj, Mu:U \$rolish, \$value)␤:(Mu:D \$obj, Mu:U \$rolish)␤:(Mu:U \$obj, Mu:U \$role)␤␤  in block <anon> at /tmp/JnEKhPMERt:1␤␤»
15:41 moritz r: class A { }; A.new does A
15:41 p6eval rakudo cceca6: OUTPUT«Cannot mix in a non-composable type␤  in sub infix:<does> at src/gen/CORE.setting:10977␤  in block <anon> at /tmp/bYWLCzQfiO:1␤␤»
15:43 moritz r: say *.^name
15:43 p6eval rakudo cceca6: OUTPUT«WhateverCode.new()␤»
15:43 moritz r: say (*.^name).(3)
15:43 p6eval rakudo cceca6: OUTPUT«Int␤»
15:43 moritz \o/
15:44 adu joined #perl6
15:44 adu back
15:44 masak resalutations.
15:45 * moritz wonders what resolution resalutations have
15:45 masak moritz: quite "hi" dpi, probably.
15:45 tadzik hey adu
15:45 adu tadzik: hey
15:45 moritz I guess I was just asking for this kind of reply :-)
15:46 masak moritz: you repun what you sow.
15:46 adu haha
15:46 adu re-hi?
15:46 tadzik oh wow
15:46 mtk joined #perl6
15:46 masak adu: I think this discussion has jumped the shark. :P
15:47 tadzik aaaaahc
15:48 * adu looks at http://en.wikipedia.org/wiki/Jumping_the_shark
15:48 tadzik shark is "hai"
15:49 masak sisar: re "cutting through the crap": someone more "core" might have hesitated to say "yes, panda is the new 'cpan'". it can be construed as politically incorrect, or offensive to p5ers, or whatever. but it's a really brief explanation of what panda is.
15:49 adu masak: I asked that
15:49 adu masak: thanks for answering :)
15:50 isBEKaml masak: I somehow don't think saying "new 'cpan'" can offend p5ers.
15:50 isBEKaml masak: it's not as if we are going to replace cpan.
15:50 adu it might be less offensive to say panda "might have been called cpan6"
15:51 tadzik I didn't meant for panda to be offensive :)
15:51 isBEKaml gah, we're jumping the shark again. :)
15:51 REPLeffect joined #perl6
15:51 adu tadzik: what does panda stand for?
15:51 tadzik adu: it's a sort-of-pun
15:51 masak adu: tadzik's doggie.
15:51 tadzik more than a game of words
15:52 tadzik so, masak designed pls as a replacement for proto
15:52 * masak .oO( in the Game of Words, you pun, or you die )
15:52 tadzik when I designed Pies, which is sort of core Panda, it came out to be almost identical to pls
15:52 adu Perl Activity Network Distributed Archive?
15:52 isBEKaml a cpan -> a dpan -> a pand -> panda \o/
15:52 tadzik in Polish, when I say "pies" it sounds similar to "pls"
15:52 masak yah. I look at pies/panda, and think "huh! I reckanize this code!" :)
15:52 tadzik and "pies" means "god" in Polish, and my dog is actually called Panda
15:53 tadzik erm, dog, not god
15:53 masak isBEKaml++ :)
15:53 masak tadzik: OMD!
15:53 tadzik ;)
15:53 adu lol
15:53 tadzik so that's the story ;)
15:53 masak riveting.
15:53 tadzik but I quite like the ackronym :)
15:53 adu Perl Archive Network Distribution Agent?
15:54 adu I'm just making stuff up
15:54 tadzik that sounds good
15:54 adu heh
15:54 tadzik maybe s/Agent/Animal/ ;P
15:54 adu lol
15:54 adu ok
15:55 masak Perl Archival Nodal Distributor Automaton
15:55 adu too many Ls
15:55 isBEKaml Punning And Networking Distribution Agency.
15:55 masak Perl And Relative Dimension In Space.
15:55 isBEKaml How do you distribute networking? Across the "wires"!
15:55 masak isBEKaml: it's a series of tubes.
15:55 isBEKaml intertubes
15:56 adu Pre-Aware-Ness DownloAder?
15:56 spider-mario joined #perl6
15:56 adu the internet is not a dump truck
15:56 moritz Practical Assistent for Nefarious Downloading Adventures
15:58 adu did anyone look at p6-xml/dot/tree.svg?
15:58 moritz not yet
15:58 moritz but I planned to do it
15:59 adu I partly just want to know if my efforts in making that image didn't go to waste
15:59 dalek rakudo/nom: 305e5ae | moritz++ | src/core/Str.pm:
15:59 dalek rakudo/nom: change some pir:: to nqp:: opcodes
15:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/305e5aeba3
15:59 dalek rakudo/nom: 6555ab1 | moritz++ | src/core/ (2 files):
15:59 dalek rakudo/nom: typed exception when trying to mix in non-composable types
15:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6555ab164c
15:59 JimmyZ Perl Automatically Nodally Distributed Archives
15:59 dalek roast: 5a8433b | moritz++ | S32-exceptions/misc.t:
15:59 dalek roast: test X::Mixin::NonComposable
15:59 dalek roast: review: https://github.com/perl6/roast/commit/5a8433b17e
15:59 adu CPAN's PAN and PANDA's PAN should at the very least stand for the same thing
16:00 moritz oh come on, that's so boring :-)
16:00 adu heh
16:01 moritz adu: now that I took a look I remember seeing it when I first cloned your repo :-)
16:01 adu moritz: oh ok :)
16:02 moritz adu: purely from the looks of it, why is "names" in the bottom left corner in that red box, and not in the green one?
16:02 moritz in fact the whole bottom left corner seems to be rather disconnected from the rest of that box
16:04 preflex_ joined #perl6
16:04 adu moritz: because names is only used by DTD validators, not even in any grammar itself
16:05 adu I wanted to minimize XML::Common for custom formats, such as Apache-like config files
16:05 adu so if you don't need DTD, just use XML::Common directly, or inherit if you need to customize the grammar
16:06 moritz ok, makes sense
16:06 adu XML::External is a little huge, but everything in it is required by the spec(s)
16:07 sisar joined #perl6
16:08 adu the green box ended up being XML::Charset
16:08 moritz "little huge" :-)
16:08 adu oh, oops, that's one of those meaningless phrases
16:09 masak "almost exactly", "original copy", "Microsoft Works"
16:09 dalek rakudo/nom: 5c9c02d | moritz++ | src/core/ (3 files):
16:09 dalek rakudo/nom: stylistic changes to throwing exceptions
16:09 dalek rakudo/nom:
16:09 dalek rakudo/nom: no functional changes
16:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5c9c02d45a
16:09 moritz masak: ... for WorkGroups!
16:12 brrt left #perl6
16:13 moritz ok, O(35) instances of die() remain in the setting (which i need to replace with typed exceptions for my grant)
16:13 moritz and about O(40) are typed already
16:15 jnthn moritz++
16:16 masak go go go!
16:16 moritz go go gadget ExceptionThrower!
16:16 masak (also, one of these days we'll have a good long talk about ordo notation...) :P
16:17 * masak .oO( O(my god that's slow!) )
16:17 moritz masak: its misuses rises as O(scary) :-)
16:17 moritz *misuse
16:17 moritz whatever
16:18 masak I see what you did there
16:42 snearch joined #perl6
16:43 sisar i get 28 failures in t/spec/S03-operators/overflow.t
16:43 sisar ^rakudo
16:44 sisar (fresh build)
16:44 moritz sisar: did you get them before too?
16:44 sisar moritz: yes.
16:45 moritz sisar: and are you on a 32bit machine?
16:45 sisar moritz: yes
16:47 mucker joined #perl6
16:47 sisar hmm, i did report it earlier but got no response, but it doesn't matter now (http://irclog.perlgeek.de/​perl6/2012-05-18#i_5609766 )
16:48 moritz sisar: I think [Coke]++ has reported similar behavior
16:48 moritz I just have trouble reacting to stuff I can't reproduce, even when I know why
16:49 sisar Woodi++ reported it on OpenBSD, though don't know if it was 32-bit or 64-bit: http://irclog.perlgeek.de/​perl6/2012-05-15#i_5596082
16:55 adu joined #perl6
17:03 rsimoes joined #perl6
17:07 dalek roast: 91d3ea5 | (Siddhant Saraf)++ | S03-operators/overflow.t:
17:07 dalek roast: fix two typos
17:07 dalek roast: review: https://github.com/perl6/roast/commit/91d3ea5dc1
17:13 sisar r: say -32768 * -65536 ;
17:13 p6eval rakudo 6555ab: OUTPUT«-2147483648␤»
17:13 sisar moritz: ^ one of the bugs
17:14 moritz r: say (-32768) * (-65536)
17:14 sisar feather is 32-bit ?
17:14 p6eval rakudo 6555ab: OUTPUT«2147483648␤»
17:14 moritz no
17:14 moritz hm
17:14 moritz not sure actually
17:14 jnthn What about with --optimize=0, ooc?
17:15 moritz the problem is probably that the (int, int) version of infix:<*> is used
17:15 moritz and that can overflow
17:15 sisar jnthn: is that for me ?
17:16 dalek rakudo/nom: 9452bf6 | moritz++ | src/core/Exception.pm:
17:16 dalek rakudo/nom: typed exceptions for several uncaught control exceptions
17:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9452bf6eaa
17:16 jnthn sisar: For you or moritz :)
17:16 * moritz bit distracted atm
17:17 * jnthn too, which is why he doesn't just try it himself :)
17:17 sisar jnthn: how should i use --optimize=0 ?
17:18 sisar when running the test file ?
17:19 jnthn yes
17:19 sisar jnthn: All test pass when using `perl6 --optimize=0 overflow.t` !
17:19 jnthn OK, then we know what is to blame :)
17:28 REPLeffect joined #perl6
17:39 adu wa, | is LTM and || is PEG?
17:40 moritz || tries the alternatives in the order they are written down
17:40 sisar what is the use of a "tryeq" sub on line 125 in overflow.t ? can't tests using it be instead replaced by a "is ... , ...;" ?
17:40 moritz don't know if that's what you mean with 'PEG'
17:41 adu moritz: http://en.wikipedia.org/wiki​/Parsing_expression_grammar
17:41 moritz yes, grammars are not the same as alternations within grammars
17:41 moritz sisar: the point is simply to provide a default test description. It's not that useful.
17:42 sisar moritz: would it be better if it is removed altogether ?
17:42 moritz sisar: yes
17:42 * sisar is on it !
17:44 * masak submits -32768 * -65536 rakudobug
17:44 masak sisar++
17:45 b1rkh0ff joined #perl6
17:47 erkan joined #perl6
17:58 cognominal joined #perl6
18:00 adu sisar: what are you on?
18:01 REPLeffect joined #perl6
18:01 diakopter uppers?
18:01 sisar adu: i'm removing an unnecessary sub from the overflow.t
18:01 sisar diakopter: :D
18:01 adu sisar: oh ok
18:02 adu heh I suppose I worded that wrong
18:07 takesako joined #perl6
18:13 * moritz blug: http://perlgeek.de/blog-en/perl-6/20​12-grant-report-exceptions-may.html
18:13 sisar if someone can just review my changes (pull request), i'll merge it myself
18:14 adu can I review them?
18:14 dalek roast: 7b703ae | (Siddhant Saraf)++ | S03-operators/overflow.t:
18:14 dalek roast: [S03-operators/overflow.t] remove sub 'tryeq' and change tests which depended on it to "is ..., ..., ...;".
18:14 dalek roast: However, sub 'tryeq_sloppy' still remains and is used only once. Maybe it can be replaced by 'is_approx'.
18:14 dalek roast: review: https://github.com/perl6/roast/commit/7b703ae717
18:14 dalek roast: 1db7629 | GlitchMr++ | S03-operators/overflow.t:
18:14 dalek roast: Merge pull request #20 from Siddhant/master
18:14 dalek roast:
18:14 dalek roast: toss sub 'tryeq' which is better written as 'is ..., ..., ...;'
18:14 dalek roast: review: https://github.com/perl6/roast/commit/1db7629a48
18:14 sisar moritz++ #blog
18:14 adu sisar == Siddhant Saraf?
18:14 sisar adu: yes
18:14 adu aha
18:14 sisar adu: it seems GlitchMr++ is faster than us all :)
18:15 REPLeffect joined #perl6
18:15 moritz sisar: +    is -1 - -2147483648, 2147483647, '2147483647 = 2147483647';
18:15 adu sisar: also, I don't have any power over merges
18:15 tadzik moritz++ # awesome work you've done there
18:15 moritz sisar: it would be more useful if the test label was '-1 - -2147483648 == 2147483647'
18:15 moritz sisar: same for the other tests
18:16 sisar moritz: right. i'll fix that. I just mimicked what tryeq did :)
18:19 crab2313 joined #perl6
18:20 moritz sisar: agreed, it's not worse than before :-)
18:20 adu lol
18:28 dalek roast: a2a39f2 | (Siddhant Saraf)++ | S03-operators/overflow.t:
18:28 dalek roast: [S03-operators/overflow.t] better test labels; moritz++ for suggestion
18:28 dalek roast: review: https://github.com/perl6/roast/commit/a2a39f288f
18:28 dalek roast: 622ee63 | (Siddhant Saraf)++ | S03-operators/overflow.t:
18:28 dalek roast: Merge pull request #21 from Siddhant/master
18:28 dalek roast:
18:28 dalek roast: better test labels
18:28 dalek roast: review: https://github.com/perl6/roast/commit/622ee63bfb
18:29 sisar can we teach dalek that (siddhant Saraf) ~~ sisar ?
18:29 masak moritz++ # grunt prugress blug pust
18:31 diakopter sisar: it's a git config thing
18:31 diakopter user.name
18:31 moritz sorear: how does dalek map github names to nicks?
18:31 moritz diakopter: I think there's also a mapping somewhere
18:31 diakopter it used to use parrot's contributors file
18:31 moritz diakopter: because 'git log' reports my full name, but dalek ++'s 'moritz'
18:32 sisar diakopter: i want what moritz says... because user.name will be a global change
18:33 takesako joined #perl6
18:33 diakopter at one point it used parrot's contributors file. sorear might have added/changed it to something else.
18:38 diakopter sisar++ sisar++ # until then
18:38 moritz sisar: fwiw you can also set user.name per repository if you want
18:38 moritz (not saying that's the best solution)
18:39 sisar diakopter: i don't care about the karma, its just so that people here don't have any confusions. :) But still, i'll accept the karma :p
18:46 stocks29 joined #perl6
18:46 moritz jnthn: how does one trigger the "Invalid BUILDALLPLAN" errors from Mu.pm?
18:46 wolfman2000 joined #perl6
18:46 moritz or are they internal errors (ie the user should never seem)?
18:48 dalek specs: 084e814 | (Siddhant Saraf)++ | S32-setting-library/Exception.pod:
18:48 dalek specs: [S32-setting-library/Exception.pod] remove stray '=head2'
18:48 dalek specs: review: https://github.com/perl6/specs/commit/084e814a25
18:57 jnthn moritz: If you see that error, something is REALLY screwed up.
18:58 jnthn moritz: You'd have to be doing meta-programming in weird way to get it.
18:58 jnthn moritz: So yeah, internal.
19:01 REPLeffect joined #perl6
19:10 birdwindupbird joined #perl6
19:26 cognominal_ joined #perl6
19:27 brrt joined #perl6
19:27 crab2313 joined #perl6
19:33 moritz jnthn: ok, thanks
19:33 moritz one less exception to worry about :-)
19:35 brrt left #perl6
19:36 moritz wait, shouldn't that be "one fewer"?
19:36 moritz sounds odd, but sticking to the rules... it's countable after all
19:37 diakopter one fewer sounds ok to me :)
19:37 moritz it does? ok :-)
19:38 jnthn Sounds odd to me :S
19:38 jnthn My English is busted. :)
19:38 diakopter heh
19:43 sorear good * #per
19:43 sorear good * #perl6
19:47 PacoAir joined #perl6
19:50 masak sorear! \o/
20:02 masak "one less exception" sounds fine to me, and "one fewer exception" sounds odd to me.
20:02 masak "one exception less" and "one exception fewer" both sounds good, though.
20:02 masak sound*
20:05 cognominal joined #perl6
20:08 dalek rakudo/nom: 50d40a6 | moritz++ | src/core/ (2 files):
20:08 dalek rakudo/nom: throw a typed exception for non-conformant qualified method calls
20:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/50d40a690a
20:09 moritz from reading the commit message, do you know which case it covers?
20:09 moritz I had troubles fitting it into one line :-)
20:10 dalek roast: eff5942 | moritz++ | S32-exceptions/misc.t:
20:10 dalek roast: more typed exception tests (X::ControlFlow, X::Method::InvalidQualifier)
20:10 dalek roast: review: https://github.com/perl6/roast/commit/eff5942adb
20:28 imarcusthis joined #perl6
20:31 dalek rakudo/nom: e7d4e87 | moritz++ | src/core/ (2 files):
20:31 dalek rakudo/nom: typed exceptions from pack and unpack
20:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e7d4e87655
20:31 dalek roast: 88dbaa7 | moritz++ | S32-exceptions/misc.t:
20:31 dalek roast: X::Buf::Pack
20:31 dalek roast: review: https://github.com/perl6/roast/commit/88dbaa763f
20:35 moritz r: package A { }; class B is A { }
20:35 p6eval rakudo 9452bf: OUTPUT«===SORRY!===␤B cannot inherit from A because it is not inheritable␤»
20:36 masak r: module A {}; class B is A {}
20:36 p6eval rakudo 9452bf: OUTPUT«===SORRY!===␤B cannot inherit from A because it is not inheritable␤»
20:36 masak r: enum A {}; class B is A {}
20:36 p6eval rakudo 9452bf: OUTPUT«===SORRY!===␤Cannot call 'trait_mod:<is>'; none of these signatures match:␤:(Mu:U $child, Mu:U $parent)␤:(Attribute:D $attr, :rw(:$rw)!)␤:(Attribute:D $attr, :readonly(:$readonly)!)␤:(Attribute:D $attr, :box_target(:$box_target)!)␤:(Routine:D $r, :rw(:$rw)!)␤:(Rout…
20:36 masak aww
20:36 masak r: subset A of Any; class B is A {}
20:36 p6eval rakudo 9452bf: OUTPUT«===SORRY!===␤B cannot inherit from A because it is not inheritable␤»
20:37 masak r: constant A = 42; class B is A {}
20:37 p6eval rakudo 9452bf: OUTPUT«===SORRY!===␤Cannot call 'trait_mod:<is>'; none of these signatures match:␤:(Mu:U $child, Mu:U $parent)␤:(Attribute:D $attr, :rw(:$rw)!)␤:(Attribute:D $attr, :readonly(:$readonly)!)␤:(Attribute:D $attr, :box_target(:$box_target)!)␤:(Routine:D $r, :rw(:$rw)!)␤:(Rout…
20:37 jnthn r: enum A {}; say A
20:37 p6eval rakudo 9452bf: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&A' called (lines 1, 1)␤Undefined routine '&enum' called (line 1)␤»
20:38 jnthn That isn't a way to write an enum. :)
20:38 moritz r: enum A; say A
20:38 p6eval rakudo 9452bf: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&A' called (lines 1, 1)␤Undefined routine '&enum' called (line 1)␤»
20:38 moritz r: enum A (); say A
20:38 p6eval rakudo 9452bf: OUTPUT«A()␤»
20:40 diakopter I guess "one less" implies discrete objects, so the discrete implication of "fewer" is redundant..
20:41 masak diakopter: good point.
20:41 * diakopter discovers byobu-screen
20:42 moritz that doesn't sound like valid logic to me
20:42 moritz with that logic "one children" would be legal too
20:42 masak it is, in Mandarin.
20:42 moritz becaues the "one" implies singular, so using singular for the noun would be redundant
20:42 benabik I haven't used byobu yet, but finding it led me to tmux, so I was quite happy.
20:43 diakopter no, the difference is fewer is a subset of less, but singular is much more of an opposite to plural
20:44 moritz that is news to me ("fewer" being a subset of "less")
20:44 diakopter I mean, fewer is a more precise/specific less, but singular doesn't overlap with plural
20:44 moritz I always thought of "fewer" and "less" as mutually exclusive, same as singular/plural
20:45 diakopter hm, that's probably better.
20:46 masak I think there is a lower sense of wrongness in saying "less" instead of "fewer" than there is getting singular/plural agreement wrong.
20:47 masak probably because the distinction is less well-understood.
20:48 moritz of course. That's the point of such a comparison: you apply the logic in a case where it's clearly wrong, to show the wrongness of the logic :-)
20:48 diakopter you didn't disprove the notion of redundancy
20:48 moritz oh, fun. I just wanted to make a typed exception for the inheriting-from-a-package case
20:49 moritz diakopter: I disproved it enough that I can still think I'm right and you are wrong :-) -- indepenently of actual truth
20:50 diakopter I don't understand.
20:50 masak I don't agree.
20:50 moritz and the type that is being constructed while the exception is thrown does not conform to Mu
20:50 moritz so I can't store it in an attribute
20:50 moritz fun
20:51 jnthn Hm
20:51 jnthn That sounds...weird.
20:51 moritz diakopter, masak: that's ok. I'm not entirely serious, and probably too tired to make any sense
20:51 jnthn Mu should accept anything.
20:51 moritz # Exception message: Type check failed in assignment to '$!child'; expected 'Mu' but got 'B'
20:51 moritz that's from the error handling of    my package A { }; my class B is A { }
20:52 moritz so B was probably never composed
20:54 jnthn No, it won't have been
20:54 * sorear wanders back.
20:55 dalek specs: 71cb5d2 | sorear++ | S05-regex.pod:
20:55 dalek specs: [S05] document ** backcompat mode for colomon and masak
20:55 dalek specs: review: https://github.com/perl6/specs/commit/71cb5d2b66
20:56 moritz sorear++ # "This compatibility feature is not guaranteed to exist forever."
20:56 moritz hilarious
20:57 jnthn moritz: https://gist.github.com/2815880
20:57 jnthn moritz: See if applying that helps
20:58 sorear moritz: I detect sarcasm
20:58 masak my guess is not sarcasm.
20:58 * diakopter too
20:59 masak just amusement over the phrasing.
21:00 masak maybe the implicit reference to Perl 5 whose compatibility features generally do last forever.
21:01 flussence .oO( "This compatibility feature will be removed when Perl 6.0.0 is released" :)
21:28 kurahaupo joined #perl6
21:42 masak kurahaupo: greetings.
21:42 masak first-time visitor?
21:48 * masak learns from Wikipedia that Kurahaupō was a kind of canoe
21:48 TimToady yow, backloggus giganticus...
21:48 phenny TimToady: 25 May 00:44Z <diakopter> ask TimToady S03 says "my :($b, $c)" is "okay" but STD doesn't parse it
21:48 phenny TimToady: 25 May 22:07Z <diakopter> ask TimToady S09 says  my Str %hash{Str; Int where {!.scared}};  is ok, but std doesn't like it; please advise
21:50 masak TimToady: well, some of us have been busy while you've been taking it easy... :P
21:51 jnthn Mostly busy chatting though. Not much got done.
21:51 TimToady taking it easy, hah!
21:52 TimToady Friday I managed to have one meal...
21:53 masak :/
21:54 masak TimToady: I guess a "get well soon" is in order, then.
21:54 TimToady not sick, just been madly scorekeeping at a quiz meet
21:54 diakopter using niecza?
21:54 TimToady but now it's in elims so my job is overish, except for hardware
21:54 TimToady diakopter: yup
21:55 masak \o/
21:55 masak Niecza++
21:55 diakopter I'd call that production use, without a doubt.
21:56 masak I've used Niecza in production, too. it has very advanced grammar support.
21:59 Calm joined #perl6
22:00 Calm I am new to Perl and I have no idea where to start, with Perl5 or Perl6
22:00 diakopter well, do you already have Perl 5 installed?
22:01 diakopter (most unix systems already do)
22:01 Calm No I have neither installed, but on my debian server, yes.
22:02 diakopter what would you like to use Perl for?
22:02 Calm I'm not quite sure, but sysadminy stuff and scraping stuff off the web to be used in programs
22:02 Calm I'm a relatively new programmer in general
22:02 Calm I know a bit of C and that's about it.
22:04 gfldex perl6 is not ready for what you want to do quite yet
22:04 cognominal joined #perl6
22:05 sorear o/, TimToady
22:05 TimToady howdy do
22:07 masak Calm: Perl 5 is more "ready" than Perl 6 is. so if you don't like nasty surprises, Perl 5 is the safe choice.
22:07 masak Calm: that said, both are marvellous languages. Perl 6 will feel a bit newer and less filled with idiosynchrasies.
22:08 masak Calm: Perl 6 is my favorite language, and Perl 5 is my second favorite ;)
22:08 diakopter Calm:  you will be able to get going much more quickly with Perl 5 since there is so much more documentation and tutorials and books out there
22:08 masak Calm: where to start depends on what you want to get out of it.
22:09 diakopter Calm: also, the "sysadminy stuff" side of the Perl 6 implementations is pretty lacking
22:09 masak I think the interested reader will be able to pick up Perl 6 from what's out there. but it's more work, to be sure.
22:10 masak the "sysadminy stuff" sure is lacking, at least if you expect all the Unix-y bits to be in place.
22:10 masak we recently got "copy" and "move" in Rakudo.
22:10 masak Rakudo has "shell" but not "run".
22:12 diakopter Calm: there are also a few hundred thousand modules/extensions to Perl 5 that Perl 6 doesn't yet have, generally.
22:12 diakopter available on the CPAN
22:14 diakopter so if you wanted the functionality in one of those modules/extensions in Perl 6, you'd have to create it yourself, whereas with Perl 5 it's usually a simple automatic install
22:15 masak s/a few hundred thousand modules/about a hundred thousand modules/
22:15 diakopter oh
22:15 masak I think we passed 1e5 last year or so.
22:16 masak Calm: so, in short, it's stability (Perl 5) versus fun (Perl 6)
22:16 masak I think that's an accurate description of the tradeoff.
22:16 sorear (and 90% of them are crap anyways)
22:17 diakopter Calm: Perl 6 doesn't yet have C features like fork and signals and the potential for threads or event loops
22:17 dalek nqp: 32a0cf1 | jnthn++ | src/QRegex/Cursor.nqp:
22:17 dalek nqp: A bit of scope-flattening optimization, as suggested by pmichaud++.
22:17 dalek nqp: review: https://github.com/perl6/nqp/commit/32a0cf1ef2
22:17 diakopter (whereas Perl 5 does)
22:18 sorear std: regex { +}
22:18 p6eval std 8632387: OUTPUT«ok 00:00 41m␤»
22:18 sorear std: token { +}
22:18 p6eval std 8632387: OUTPUT«ok 00:00 41m␤»
22:18 sorear std: / +/
22:18 p6eval std 8632387: OUTPUT«ok 00:00 41m␤»
22:18 sorear std: /a+ +/
22:18 p6eval std 8632387: OUTPUT«[31m===[0mSORRY![31m===[0m�Quantifier quantifies nothing at /tmp/hBruYkXjaY line 1:�------> [32m/a+ +[33m�[31m/[0m�Check failed�FAILED 00:00 41m�»
22:19 sorear oh!
22:19 sorear this is fallout of the space eating bug.
22:19 * TimToady needs to rewrite the ws bits of regex
22:19 TimToady nothing actually follows the current spec
22:19 * jnthn is currently looking at a parse trace that shows performance would be a little better if Rakudo followed it too
22:20 sorear TimToady: check out https://github.com/sorear/niecza/commit/​5d10b5f330b13776adcd410a232ed1256ff4d703
22:22 TimToady I see
22:23 sorear STD sees /a+ +/ as more close to /+/ than to / +/
22:27 sorear TimToady: Would it be uncool to forbid syntax like []+ and ''+?
22:27 sorear the path of least resistance right now is to make an error check based on AST
22:27 TimToady well, []+ is already forbidden, I think
22:28 TimToady std: /[]+/
22:28 p6eval std 8632387: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Null pattern not allowed at /tmp/QJaXuWd4S2 line 1:â�¤------> [32m/[[33mâ��[31m]+/[0mâ�¤    expecting regex atomâ�¤Parse failedâ�¤FAILED 00:00 41mâ�¤Â»
22:28 TimToady certainly there are regex packages that detect known null matchers and disallow quantifiers on them
22:28 sorear yeah, yeah, well
22:29 sorear maybe it should just be a warning
22:29 sorear /''+/ and / +/ at least have well-defined operational semantics, even if tey are a bit useless
22:29 TimToady or one can do something like deadlock detection to note lack of progress
22:30 TimToady in the general case it's a halting problem if you're running general code
22:30 TimToady doesn't mean we can't detect common mistakes if it doesn't cost too much
22:31 masak +1
22:32 sorear but should it be an error?
22:32 TimToady well, depends on whether we think there's a valid use for that kind of infinite loop
22:32 * TimToady is dubious
22:33 sorear the designers of Java probably thought there was no valid use for unreachable code
22:33 masak is there?
22:33 benabik padding?
22:34 sorear masak: highly eager erroring tends to break naive code generators
22:34 sorear also, the spectesting infrastructure
22:34 masak troo
22:34 masak is that an issue with /''+/, though?
22:35 masak just don't generate it.
22:35 sorear I had to back out a niecza change which made failing constant folding a compile time error
22:35 TimToady eval: print "yes" if 'xx' =~ /^+/
22:35 buubot_backup TimToady: yes1
22:36 TimToady interesting, Henry Spencer's original regex would have disallowed that
22:37 sorear what of the ~ quantifier?
22:37 sorear nah, figured that out
22:39 sorear n: say 'baaaa' ~~ /a +/
22:39 p6eval niecza v17-49-g9852003: OUTPUT«#<match from(1) to(5) text(aaaa) pos([].list) named({}.hash)>␤»
22:42 Chillance joined #perl6
22:44 [Coke] jnthn++ pmichaud++ everyone else++ qStuff
22:46 sorear o/ [Coke]
22:48 stocks29 joined #perl6
22:49 jnthn Turns out that trying to make whitespace at the start of rules be significant in NQP even causes some failures.
22:49 jnthn er, be *in*significant
22:50 jnthn So guess that'll be a bit of an adaptation effort.
22:50 * jnthn is happy to let STD lead the way here :)
22:50 dalek niecza: df795e6 | sorear++ | src/STD.pm6:
22:50 dalek niecza: Improve quantifying-nothing check (fixes #128)
22:50 dalek niecza: review: https://github.com/sorear/niecza/commit/df795e6c0c
22:52 dalek std: 3b85e9e | sorear++ | STD.pm6:
22:52 dalek std: Port fix for space-eating from sorear/niecza@5d10b5f
22:52 dalek std: review: https://github.com/perl6/std/commit/3b85e9eaad
22:52 dalek std: f179a1b | sorear++ | STD.pm6:
22:52 dalek std: Port fix for sorear/niecza#128
22:52 dalek std: review: https://github.com/perl6/std/commit/f179a1b313
22:53 sorear bug count is getting respectable again ...
22:59 masak sorear++ # backporting niecza improvements to STD
23:02 stocks29 joined #perl6
23:08 [particle]1 joined #perl6
23:28 masak blog post! \o/ http://strangelyconsistent.org/blog/mac​ros-progress-report-quantum-yak-shaving
23:31 jnthn oh, I also blaught... http://6guts.wordpress.com/2012/05/​28/rakudo-switched-over-to-qregex/
23:31 tadzik masak: nice one! masak++
23:32 tadzik jnthn++ as well
23:32 tadzik good things are happening
23:32 masak jnthn: s/Emmentaller/Emmentaler/
23:32 tadzik heh
23:32 tadzik we should probably name it Emmentall?er for bugwards compatibility
23:34 jnthn masak: Really?
23:34 jnthn ah, yes
23:34 masak jnthn: http://en.wikipedia.org/wiki/Emmentaler
23:34 jnthn Spelling holes... :P
23:34 masak anyway, nice post. jnthn++
23:35 jnthn Updated.
23:36 tadzik ;)
23:37 masak tadzik: nah. Postel's law has its limits, too. some spellings are just Wrong ;)
23:37 masak plus, it would be too inviting for someone to create an Emmenshorter project, like cpanminus. ;)
23:37 tadzik ooh :P
23:38 tadzik this is something we cannot stopf
23:40 masak no :)
23:40 leontopod joined #perl6
23:40 leontopod ladies and gentlemen, I present to you, Perl 6!
23:40 leontopod http://www.intertwingled.net/perl6.jpg
23:41 tadzik :)
23:41 masak leontopod: hi, Teratogen.
23:41 leontopod howdy
23:41 tadzik good knight #perl6
23:42 masak I have that image on one of the slides in our most popular course at $work.
23:42 masak the slide is about SRP, Single Responsibility Principle.
23:42 masak and the text says "Just because you can, doesn't mean you should", IIRC.
23:43 masak leontopod: Perl 6 is a big language, because it comes bundled with a nice big CORE library. but you don't have to learn all of it in one go to be productive.
23:44 masak leontopod: so your view of the language is always simpler than that extremely wide swiss army knife.
23:44 leontopod masak, I know, I was just trying to be humorous =)
23:44 masak I understand :)
23:45 masak and I was just responding seriously :)
23:45 masak 'night, #perl6
23:48 infosophy joined #perl6
23:48 ingy joined #perl6
23:50 * jnthn should get some rest...le teaching tomorrow o/
23:51 spaceships joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo