Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-05-29

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:02 BenGoldberg joined #perl6
00:17 vendethiel joined #perl6
00:38 davido_ joined #perl6
00:41 skids joined #perl6
00:43 SevenWolf joined #perl6
00:43 laouji joined #perl6
01:01 aborazmeh joined #perl6
01:01 aborazmeh joined #perl6
01:08 aborazmeh joined #perl6
01:08 aborazmeh joined #perl6
01:30 ssqq joined #perl6
01:39 ssqq Go languate permit multi value return from function, and declare it with define. `sub sub-name($arg-one, $arg-two) ($return-arg-one, $return-arg-two) { ... }
01:45 ssqq Then we could write: `get-more-args(output-more-args($args))`, not `get-more-args(|output-more-args($args))`
01:45 tinyblak joined #perl6
01:46 japhb ssqq: That's the way it worked in Perl 5.  On balance it seems worth a single character to indicate whether you want to pass a (possibly complex) data structure from one routine to another, or to convert that data structure to multiple arguments when passing it on.
01:47 japhb The | in a sense is indicating that you are intentionally resolving a possible impedence mismatch in favor of flattening/multi-arg-passing.
01:48 japhb But passing a single structure is deemed the more common case (as well as the more efficient one), so it gets huffmanized to no character.
01:50 tony-o_ doesn't it still kind of work that way
01:50 tony-o_ m: sub r () { return 1, "2", { 3=>"4" }; }; my ($a, $b, $c) = r; "$a\t$b\t{$c.perl}".say;
01:50 camelia rakudo-moar c2a57e: OUTPUT«1    2       {"3" => "4"}␤»
01:51 dayangkun joined #perl6
01:51 laouji joined #perl6
01:51 Khisanth joined #perl6
01:54 ssqq tony-o_: yes, Perl 6 have this ability.
01:56 japhb tony-o_: Sure, you can unpack easily.  You can do that in signatures as well (nice way to pull hashes and arrays apart).
01:57 japhb My point was that needing | for ssqq's example is actually a conscious choice and (at least for the Perl 6 design) makes sense.
02:04 SevenWolf left #perl6
02:12 dalek rakudo-star-daily: 6b74b8a | coke++ | log/ (2 files):
02:12 dalek rakudo-star-daily: today (automated commit)
02:12 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/6b74b8a790
02:34 rmgk_ joined #perl6
02:45 noganex_ joined #perl6
02:48 Ben_Goldberg joined #perl6
02:50 vendethiel joined #perl6
02:54 timotimo [Coke]: is there something wrong with your daily rakudo star runs? MoarVM-configure.log says "I see a .git directory here -- you appear to be trying to run Configure.pl from a clone of the Rakudo Star git repository."
03:02 xiaomiao https://bugs.gentoo.org/show_bug.cgi?id=550208 intriguing rakudo-j build failure: Tries to create directories /usr/share/ during build
03:12 timotimo must be CompUnitRepo?
03:12 timotimo https://github.com/rakudo/rakudo/commit/​b9f993b86acf0f1ca3108d1b799ca35c21e726c7 - this commit may have already fixed that problem?
03:13 timotimo so if anybody has an account on the gentoo bugtracker, maybe they can post a comment to that effect there and ask the original committer to verify if a newer version of rakudo works better?
03:32 kurahaupo1 joined #perl6
03:35 BenGoldberg joined #perl6
03:37 laouji joined #perl6
03:39 TimToady r: my @a = ^100; my @p = map { start { [ @a ] } }, ^10; say @p».result».elems
03:39 camelia rakudo-jvm c2a57e: OUTPUT«100 100 100 100 100 100 100 100 100 100␤»
03:39 camelia ..rakudo-moar c2a57e: OUTPUT«100 0 100 100 100 100 100 100 100 100␤»
03:39 TimToady r: my @a = ^100; my @p = map { start { [ @a ] } }, ^10; say @p».result».elems
03:39 camelia rakudo-{moar,jvm} c2a57e: OUTPUT«100 100 100 100 100 100 100 100 100 100␤»
03:39 TimToady r: my @a = ^100; my @p = map { start { [ @a ] } }, ^10; say @p».result».elems
03:39 camelia rakudo-jvm c2a57e: OUTPUT«Cannot do aggregate operation on a type object␤  in block <unit> at /tmp/tmpfile:1␤␤»
03:39 camelia ..rakudo-moar c2a57e: OUTPUT«100 0 100 100 100 100 100 100 100 100␤»
03:40 TimToady r: my @a = ^100; my @p = map { start { [ @a ] } }, ^10; say @p».result».elems
03:40 camelia rakudo-{moar,jvm} c2a57e: OUTPUT«100 100 100 100 100 100 100 100 100 100␤»
03:40 TimToady we get problems on both vms, so it's not just moar's GC that is wrong on this one
03:42 TimToady (I isolate the problem to .gimme at one point, so probably will be fixed with GLR anyway)
03:42 TimToady *ted
03:46 xiaomiao timotimo: 2015.05 fails, is there any newer released version?
03:47 xiaomiao if not I could backport that commit/patch ... let me stare at it for a minute :)
03:48 lizmat commute to IST&
03:48 xiaomiao hmmmm. my dislike of github is increasing nonlinearly again, how does one get a raw patch instead of htmlified fun?! :\
03:52 kurahaupo1 joined #perl6
03:52 zostay m: say ++$
03:52 camelia rakudo-moar c2a57e: OUTPUT«1␤»
03:53 zostay what the heck is that?
03:53 BenGoldberg m: say $
03:53 camelia rakudo-moar c2a57e: OUTPUT«(Any)␤»
03:54 BenGoldberg It's an anonymous variable.
03:55 BenGoldberg p6: my \SCALE = 3; my \FANOUT = 2; sub divide-and-conquer($n, $depth) { say "$depth: $n" if 0; $depth <= 0 ?? $n !! [+] await do for ^FANOUT { start { divide-and-conquer($n / FANOUT, $depth - 1) } } }; say divide-and-conquer(1.0, SCALE);
03:55 camelia rakudo-moar c2a57e: OUTPUT«(timeout)»
03:56 BenGoldberg m: my \SCALE = 3; my \FANOUT = 2; sub divide-and-conquer($n, $depth) { say "$depth: $n" if 0; $depth <= 0 ?? $n !! [+] await do for ^FANOUT { start { divide-and-conquer($n / FANOUT, $depth - 1) } } }; say divide-and-conquer(1.0, SCALE);
03:56 camelia rakudo-moar c2a57e: OUTPUT«===SORRY!===␤Cannot call infix:<*>(Int, Int); none of these signatures match:␤    (Any $x = { ... })␤    (Any \a, Any \b)␤    (Real \a, Real \b)␤    (Int:D \a, Int:D \b --> Int)␤    (int $a, int $b --> int)␤    (Num:D \a, Num:D \b)␤    (num…»
03:56 BenGoldberg m: my \SCALE = 3; my \FANOUT = 2; sub divide-and-conquer($n, $depth) { say "$depth: $n" if 0; $depth <= 0 ?? $n !! [+] await do for ^FANOUT { start { divide-and-conquer($n / FANOUT, $depth - 1) } } }; say divide-and-conquer(1.0, SCALE);
03:56 camelia rakudo-moar c2a57e: OUTPUT«(signal SEGV)»
03:56 BenGoldberg r: my \SCALE = 3; my \FANOUT = 2; sub divide-and-conquer($n, $depth) { say "$depth: $n" if 0; $depth <= 0 ?? $n !! [+] await do for ^FANOUT { start { divide-and-conquer($n / FANOUT, $depth - 1) } } }; say divide-and-conquer(1.0, SCALE);
03:56 camelia rakudo-jvm c2a57e: OUTPUT«1␤»
03:56 camelia ..rakudo-moar c2a57e: OUTPUT«Memory allocation failed; could not allocate 656 bytes␤»
03:56 cognominal joined #perl6
03:58 skids zostay: just out of curiosity, why does HTTP::Headers have remove-header/remove-headers instead of just a multi remove?
03:59 zostay because... i wrote it late at night
03:59 zostay no reason
03:59 zostay patches welcome
04:00 laouji joined #perl6
04:00 skids :-)
04:03 zostay m: (^10).map({ (++$)*(++$) }).say
04:03 camelia rakudo-moar c2a57e: OUTPUT«1 4 9 16 25 36 49 64 81 100␤»
04:04 TimToady m: (^10).map({ ++$ * ++$ }).say
04:04 camelia rakudo-moar c2a57e: OUTPUT«1 4 9 16 25 36 49 64 81 100␤»
04:06 TimToady m: say ++$ * ++$ xx *
04:06 camelia rakudo-moar c2a57e: OUTPUT«1 4 9 16 25 36 49 64 81 100 121 144 169 196 225 256 289 324 361 400 441 484 529 576 625 676 729 784 841 900 961 1024 1089 1156 1225 1296 1369 1444 1521 1600 1681 1764 1849 1936 2025 2116 2209 2304 2401 2500 2601 2704 2809 2916 3025 3136 3249 3364 3481 3600…»
04:08 xiaomiao timotimo: looks like that commit fixes it, thanks
04:08 skids m: (^10).map({ ++$^a * ++$a }).say # maybe is ro, but fails to warn?
04:08 camelia rakudo-moar c2a57e: OUTPUT«Cannot assign to a readonly variable or a value␤  in block <unit> at /tmp/yhCldel7GF:1␤␤»
04:09 TimToady well, "assign" is lta
04:14 skids Oh $ wasn't a parameter NM.
04:19 skids m: ((^10).map: { ($ += 3) * ++$ }).say # Comprehesion dawns -- each $ is its own thing.
04:19 camelia rakudo-moar c2a57e: OUTPUT«3 12 27 48 75 108 147 192 243 300␤»
04:22 aborazmeh joined #perl6
04:22 aborazmeh joined #perl6
04:24 skids m: ((^10).map: { @[++$] = 1 } ).say
04:24 camelia rakudo-moar c2a57e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/nFGi5hfAZj␤Unsupported use of $] variable; in Perl 6 please use $*PERL.version or $*PERL.compiler.version␤at /tmp/nFGi5hfAZj:1␤------> 3((^10).map: { @[++$]7⏏5 = 1 } ).say␤»
04:26 zostay m: ((^10).map: { @[ ++$ ] = 1 } ).say
04:26 camelia rakudo-moar c2a57e: OUTPUT«1 1 1 1 1 1 1 1 1 1␤»
04:32 skids m: ((^10).map: { @[^++$ ] X+= 1 }).perl.say
04:32 camelia rakudo-moar c2a57e: OUTPUT«()␤»
04:41 laouji joined #perl6
04:42 zostay m: (1 .. *).map({ [*] 1 .. ++$ })
04:42 camelia rakudo-moar c2a57e: OUTPUT«(timeout)»
04:43 zostay m: (1 .. *).map({ [*] 1 .. ++$ }).gist.say
04:43 camelia rakudo-moar c2a57e: OUTPUT«1 2 6 24 120 720 5040 40320 362880 3628800 39916800 479001600 6227020800 87178291200 1307674368000 20922789888000 355687428096000 6402373705728000 121645100408832000 2432902008176640000 51090942171709440000 1124000727777607680000 25852016738884976640000 62…»
04:51 moritz \o
05:02 cognominal joined #perl6
05:02 kurahaupo1 joined #perl6
05:10 diana_olhovik_ joined #perl6
05:13 tadzik Hello hello
05:17 kaare_ joined #perl6
05:27 mr-foobar joined #perl6
05:29 RabidGravy joined #perl6
05:42 RabidGravy joined #perl6
05:45 zhanggong joined #perl6
05:47 zhanggong joined #perl6
05:48 zhanggong joined #perl6
05:51 zhanggong|2 joined #perl6
05:58 diana_olhovik joined #perl6
05:58 rindolf joined #perl6
06:05 vendethiel joined #perl6
06:07 ab5tract_ joined #perl6
06:20 sftp joined #perl6
06:43 domidumont joined #perl6
06:48 domidumont joined #perl6
06:49 FROGGS joined #perl6
06:56 telex joined #perl6
07:11 pat_js joined #perl6
07:31 brrt joined #perl6
07:39 g4 joined #perl6
07:44 darutoko joined #perl6
07:44 zakharyas joined #perl6
07:52 abraxxa joined #perl6
07:52 cosimo joined #perl6
07:55 darutoko joined #perl6
07:58 virtualsue joined #perl6
08:10 salva joined #perl6
08:12 pdcawley joined #perl6
08:19 fhelmberger joined #perl6
08:25 Ven joined #perl6
08:37 [Sno] joined #perl6
08:40 virtualsue_ joined #perl6
08:44 tinyblak joined #perl6
08:47 bbkr joined #perl6
08:49 tinyblak joined #perl6
08:51 Ven joined #perl6
08:55 espadrine joined #perl6
08:57 liztormato joined #perl6
08:57 * liztormato drops a pin from IST
08:57 RabidGravy ping
08:57 DrForr *CLONK*
08:58 Akagi201 joined #perl6
08:58 Ven pong!
08:59 virtualsue left #perl6
08:59 liztormato Ah, good to hear some sentient echoes :-)
09:04 laouji joined #perl6
09:06 koo6 joined #perl6
09:10 AlexDaniel joined #perl6
09:13 lizmat joined #perl6
09:17 timotimo the international space tation?
09:18 FROGGS :P
09:19 grondilu joined #perl6
09:19 tinyblak joined #perl6
09:24 lizmat timotimo: no, that's the ISS
09:25 lizmat currently waiting for our next flight at Istanbul Itl. Airport
09:25 timotimo "das ist IST, und das ist ISS!"
09:25 * timotimo gotta run for an appointment
09:25 lizmat man ist was man isst ?
09:28 amurf joined #perl6
09:28 vendethiel joined #perl6
09:32 moritz man ist was man ISSt? :-)
09:34 * lizmat wishes she was at the ISS instead of this glorified bus station
09:37 rindolf joined #perl6
09:38 andreoss joined #perl6
09:48 moritz lizmat: at least it's glorified :-)
09:48 lizmat true  :-)
09:48 lizmat BTW, masak waves from IST also
09:48 * moritz waves back, to masak, lizmat and the rest
09:49 * DrForr does likewise. I'll be there in a few days likely.
09:49 DrForr Or at least on the way over there.
09:50 timotimo so ... i turn the ignition key and at the same time get a call reminding me of the appointment ... that turns out to be 1 hour later than i expected
09:54 lizmat :-)
09:54 DrForr Hoo, valgrind does *not* like the test suite.
09:55 lizmat commute to KHE&
09:56 DrForr Lots of "Invalid read of size 1"... /me checks out the valgrind manual to see what he's uncovered.
09:57 zakharyas joined #perl6
09:57 timotimo i am good at time management
09:58 tinyblak joined #perl6
10:01 timotimo do you get stack traces with those messages?
10:02 DrForr Stacktrace from valgrind, but the program continues until it segfaults at the end.
10:02 tinyblak_ joined #perl6
10:02 vendethiel joined #perl6
10:02 DrForr I'll gist it, one mo.
10:03 DrForr https://gist.github.com/dr​forr/c89dde65470c61dcde1e
10:03 DrForr This is just one leak report, there are several in a row.
10:04 timotimo oh
10:05 DrForr Eventually it segfaults on a separate call, and yes, NativeCall is going on.
10:05 timotimo that's not really a leak report per se; it looks like a use-after-free or re-use of a piece of memory
10:05 DrForr That's why I'm reading the manual to see where the report is.
10:05 timotimo instead of valgrind, you could also build your moarvm with --asan to the Configure.pl
10:06 timotimo asan will also make sure to pad allocated memory pieces with "poisoned bytes" so that an access into an unrelated area via an offset of some kind won't easily be mistaken for a direct access to that unrelated object
10:06 timotimo or something like that
10:06 timotimo i don't know if it perhaps actually takes the base address into account when doing relative accesses
10:07 timotimo it could very well have to do with nativecall freeing something for you because you didn't define it to be "managed from the C side of things"
10:07 DrForr Right, so if you should read outside the object boundaries you get garbage instead of zeros or whatever.
10:08 DrForr Oh, I have no doubt the issue is on my side. I've just been asked before to report these issues regardless of source, thought I'd get more eyes on it.
10:09 timotimo you actually immediately get an access violation, IIRC
10:10 timotimo if you set the right env var, you'll get an abort at a place where you can gdb
10:10 DrForr Nod.
10:19 DrForr Mainly it comes from the lack of patience for writing tests in C.
10:29 vendethiel joined #perl6
10:39 jferrero joined #perl6
10:39 dalek snake: b4f5664 | arnsholt++ | t/class.t:
10:39 dalek snake: Add vim modeline to a test file.
10:39 dalek snake: review: https://github.com/arnshol​t/snake/commit/b4f5664e2f
10:39 dalek snake: d2e4623 | arnsholt++ | src/Snake/Grammar.nqp:
10:39 dalek snake: nqp::ops take zero or more args, not one or more.
10:39 dalek snake: review: https://github.com/arnshol​t/snake/commit/d2e4623e12
10:39 dalek snake: db199d8 | arnsholt++ | src/Snake/ (2 files):
10:39 dalek snake: Implement named arguments to nqp::ops.
10:39 dalek snake: review: https://github.com/arnshol​t/snake/commit/db199d8939
10:41 moritz named args to nqp:: ops?
10:41 moritz that sounds scary, slightly :-)
10:44 arnsholt moritz: Need it for nqp::callmethod =)
10:45 arnsholt So not strictly the op, but at the syntax level, it's the op
10:55 vendethiel joined #perl6
10:55 MENDIGO_DURO joined #perl6
11:21 vendethiel joined #perl6
11:26 brrt joined #perl6
11:28 grondilu joined #perl6
11:33 yqt joined #perl6
11:35 bjz joined #perl6
11:41 larion joined #perl6
11:48 andreoss joined #perl6
11:51 andreoss joined #perl6
11:51 smls joined #perl6
12:10 smls is there an easy way to "invert" a regex-based grep without writing a custom closure?
12:10 smls m: say (2, 4, 8 ... 512).grep({$_ !~~ /2/})
12:10 camelia rakudo-moar c2a57e: OUTPUT«4 8 16 64␤»
12:12 smls hm, never mind, I suppose the closure form will do.
12:16 pauluu joined #perl6
12:17 Juerd m: say (1,2,3,4).grep(* !~~ /2/)
12:17 camelia rakudo-moar c2a57e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/OSNs5y_WET␤Variable '&infix:<!~~>' is not declared␤at /tmp/OSNs5y_WET:1␤------> 3say (1,2,3,4).grep(* 7⏏5!~~ /2/)␤»
12:17 Juerd Hmm...
12:17 Juerd Maybe I don't understand * yet :)
12:26 molaf joined #perl6
12:39 timotimo huh, !~~ should work, shouldn't it? and it should work with *, too
12:39 FROGGS I think so, yes
12:39 FROGGS m: say &infix:<!~~>
12:39 camelia rakudo-moar c2a57e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/nX3SUZnw4c␤Undeclared routine:␤    &infix:<!~~> used at line 1. Did you mean '&infix:<~|>', '&infix:<∖>', '&infix:<lt>'?␤␤»
12:39 FROGGS m: say &infix:<~~>
12:39 camelia rakudo-moar c2a57e: OUTPUT«sub infix:<~~> (Any |) { #`(Sub+{Precedence}|39475216) ... }␤»
12:40 FROGGS m: say (1,2,3,4).grep(* != 2)
12:40 camelia rakudo-moar c2a57e: OUTPUT«1 3 4␤»
12:40 FROGGS m: say (1,2,3,4).grep(* !== 2)
12:40 camelia rakudo-moar c2a57e: OUTPUT«1 3 4␤»
12:40 timotimo well, &infix:<!~~> doesn't exist, but we should get !~~ compiled to METAOP_NEGATE(&infix:<~~>)
12:40 hoelzro o/ #perl6
12:41 FROGGS yes exactly
12:41 FROGGS hi hoelzro
12:41 hoelzro morning FROGGS
12:48 [Coke] timotimo: that usually is caused by an error erarlier in the process, and then a cd fails that I don't have a guard on.
12:49 timotimo ah
12:50 [Coke] last I checked (days ago) star was failing all the module tests because it was cheating and not using panda, which recently changed how it installs modules.
12:50 timotimo ah!
12:51 timotimo yeah, that makes sense
12:51 timotimo can i somehow help you get further with that?
12:52 [Coke] Sure. I have a meeting in 9 minutes. If you want to see where things are blowing up, you can clone that repo and run "./bin/doit" in the meantime.
12:53 timotimo i have a tiny commute to do first
12:53 dalek rakudo/nom: fa19956 | hoelzro++ | src/core/Buf.pm:
12:53 dalek rakudo/nom: Add push to Buf
12:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fa1995609c
12:53 dalek roast: fefd14a | hoelzro++ | S03-operators/buf.t:
12:53 dalek roast: Add tests for Buf.push
12:53 dalek roast:
12:53 dalek roast: This addresses RT #125182
12:53 dalek roast: review: https://github.com/perl6/roast/commit/fefd14ae43
12:53 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=125182
12:54 timotimo hm, does CArray have all these nice functions? push, pop, shift, unshift?
12:55 hoelzro are error messages tested in roast at all? or is that just something that's up to each implementation?
12:56 * hoelzro is looking at RT#125153
12:59 rjbs \o/ Buf.push
13:00 * DrForr waves :)
13:00 * rjbs should switch to rakudobrew.
13:01 DrForr rjbs: I do 'rakudobrew nuke moar && rakudobrew build moar' out of habit.
13:02 vendethiel joined #perl6
13:06 amurf joined #perl6
13:07 hoelzro rjbs: the impl I provided is possibly LTA; please put it through its paces =)
13:08 abraxxa FROGGS: any news on NativeCall?
13:08 FROGGS abraxxa: give me a hint... about what exactly?
13:09 abraxxa FROGGS: is rw for Pointers for example
13:09 abraxxa or return by Pointer
13:10 FROGGS well, return by pointer works since a while IIRC
13:11 FROGGS abraxxa: see https://github.com/rakudo/rakudo/bl​ob/nom/t/04-nativecall/15-rw-args.t
13:11 FROGGS abraxxa: seems to be working since April 5th
13:11 Ven joined #perl6
13:11 aborazmeh joined #perl6
13:11 aborazmeh joined #perl6
13:11 smls How reliable/advisable is it to search for files like this in Perl 6 on Linux:
13:11 RabidGravy joined #perl6
13:11 smls my @files = qx[find -mindepth 1 -iname "*.jpg" -print0].split("\0"); @files.pop;
13:12 abraxxa my last commit was 7 weeks ago...
13:12 rjbs hoelzro: What is wrong with https://github.com/rjbs/ZMachine-Whiz/commi​t/93b8c151813d4f29d0f08d929c2cd153e9b842c4 ?
13:12 abraxxa how about strings?
13:12 rjbs hoelzro: the old one worked
13:13 hoelzro rjbs: push doesn't work for you there?
13:13 rjbs hoelzro: This type cannot unbox to a native integer
13:14 hoelzro ahhhh
13:14 rjbs Looks like the push impl only allows one element?
13:14 hoelzro yes!
13:14 FROGGS abraxxa: 'is rw' on strings is NYI, and it is hard for me to judge about much work would be involved to implement it atm...
13:14 rjbs hoelzro: Well, that's no good. :)
13:14 * hoelzro was not thinking
13:14 abraxxa NYI?
13:14 FROGGS not yet implemented
13:14 abraxxa ok
13:14 hoelzro rjbs: do you have any interest in making the change to fix it? =)
13:15 hoelzro I don't mind doing it, but I was curious if you wanted to dive in
13:15 abraxxa cause OCI for example returns error messages by calling a function and passing it a pointer it fills with the error message in UTF-8
13:15 abraxxa null terminated I think
13:15 FROGGS hoelzro: ask him if he has signed the CLA :P
13:15 rjbs hoelzro: I don't know how I'd do it, and while I am kinda interested, I'm not sure I can get to it today.  In about 5-10m I need to get ready to leave for work :(
13:16 rjbs I had a patch in Rakudo, so presumably I did whatever CLA thing was needed. :)
13:16 FROGGS *g*
13:16 hoelzro rjbs: well, how about I send you a link to the code, and you can fix it when you have time =)
13:16 rjbs hoelzro: I'm already looking at the commit.  We'll see. :)
13:16 hoelzro heh, beat me to it!
13:17 hoelzro did you see the corresponding commit in roast?
13:17 rjbs nope
13:18 rjbs so is there a bindpos_i equiv for many things?
13:18 hoelzro there's bindpos_n, bindpos_s
13:18 hoelzro I think plain ol' bindpos
13:19 rjbs hm, there's nqp::splice
13:21 hoelzro I forget...is there a way to make a subrule "cut" at a certain point so that if it fails, the parent would try an alternate match where the cut was made?
13:22 hoelzro ...now that I've written that, that sounds slightly insane.
13:22 rjbs Okay, I don't see how to do this, and learning how to muck about in nqp is not something I'm likely to do real soon.  The fixing of the signature and length setting is trivial and the bindpos_i replacement looks like trivial if you know the right magic word.
13:22 rjbs Gotta go!
13:23 hoelzro rjbs: later
13:23 hoelzro I'll look into fixing Buf.push, don't worry about it =)
13:25 apejens joined #perl6
13:26 [Sno] joined #perl6
13:27 smls Are the :nl and :chomp options to open/pipe not supposed to DWIM together?
13:27 smls $  mkdir test; cd test; touch a b c; perl6 -e 'say pipe(q[find -mindepth 1 -print0], :nl("\0"), :chomp).lines.perl'
13:27 smls ("./c\x[0]", "./b\x[0]", "./a\x[0]")
13:32 _4d47 joined #perl6
13:34 smls Hm, looks like both IO::Handle.get and IO::Handle.lines ignore $!nl and simply do a plain .chomp if the $.chomp attribute is set.
13:35 smls Is this intended behavior?
13:37 skids joined #perl6
13:39 pauluu left #perl6
13:45 _4d47 in a sub is it possible to get the order named parameters where passed ? slurpy hash loose that
13:46 smls No, named parameters are unordered by design.
13:47 _4d47 ok thanks smls
13:47 smls You'll have to use positional parameters if you need to preserve order.
13:49 _4d47 yes but cannot slurp the Pairs, get Unexpected named parameter passed
13:50 smls _4d47: Note that pairs can also be passed to positional parameters, however you need to either put them in parens or quote the key to make sure they're not parsed as names arguments:
13:50 smls m: sub a (*@_) { .say for @_ }; a (foo => 1), "bar" => 2
13:50 camelia rakudo-moar c2a57e: OUTPUT«foo => 1␤bar => 2␤»
13:50 larion joined #perl6
13:52 PerlJam Do we have a trait in the ecosystem somewhere that allows for ordered hashes?  If so, _4d47 could use that on his slurpy.
13:52 PerlJam If not, _4d47 could write it :)
13:53 vendethiel joined #perl6
13:57 go|dfish joined #perl6
14:00 _4d47 PerlJam there is PairMap but havent found a trait
14:03 dayangkun joined #perl6
14:03 sjn Videos from OSDC.no are being published, and here's jnthn's Objects ∩ Concurrency talk: https://twitter.com/osdcno​/status/604285477387157504
14:03 timotimo i seem to recall someone wrote an ordered hash implementation
14:03 timotimo it was only a few lines of code
14:04 smls If if such a trait existed, I don't think it would be a good idea to use it to change modify the behavior of a subroutine signature in a way that breaks with how people have come to expect Perl 6 signatures to work.
14:04 smls PerlJam, _4d47 ^^
14:05 smls I think that consistency and predictability are more important in API design, than being able to loose some parens.
14:06 [Coke] (test error messages). In general, we want to test the exception type, not the string of the message. in some cases, we check to insure that a particular phrase is included in the message. It's not just per-impl, but also a localization issue.
14:06 Sqirrel joined #perl6
14:06 literal smls: this is Perl 6, I'm sure someone will find a way have that cake and eat it too!
14:06 timotimo literallyk
14:06 timotimo !
14:06 PerlJam smls: I don't disagree.
14:07 smls I don't think that passing Pair's to positional parameters looks that bad:
14:07 smls mysub (key1 => "val1"), (key2 => "val2"), (key2 => "val2")
14:08 smls And it doesn;t require any special hack
14:08 smls So that's what I would recommend.
14:08 dalek rakudo/nom: 828a245 | hoelzro++ | src/core/Exception.pm:
14:08 dalek rakudo/nom: Add instead field to BeginWithoutEnd exception
14:08 dalek rakudo/nom:
14:08 dalek rakudo/nom: This is so that we can provide more contextual information around
14:08 dalek rakudo/nom: mismatched =begin/=end blocks
14:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/828a245dd1
14:08 dalek rakudo/nom: 988c359 | hoelzro++ | src/Perl6/Grammar.nqp:
14:08 dalek rakudo/nom: Add the =end block we encountered to mismatch error message
14:08 dalek rakudo/nom:
14:08 dalek rakudo/nom: If we encounter an =end block that doesn't match the innermost
14:08 dalek rakudo/nom: =begin block, we should raise an error with a message that
14:08 dalek rakudo/nom: describes to the user what's going on
14:08 dalek rakudo/nom:
14:08 dalek rakudo/nom: Addresses RT #125153
14:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/988c359f7b
14:08 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=125153
14:11 _4d47 smls yes not that bad
14:11 tinyblak joined #perl6
14:11 PerlJam smls: the only problem is that we don't get _4d47 to write an ordered hash implementation for us  ;)
14:12 smls ö=
14:12 smls ;)
14:12 timotimo if you have that many positional pairs, can't you also |(foo => 1, bar => 2, baz => 3)?
14:13 _4d47 oh I do love ordered hashes and cakes :)
14:13 smls timotimo: That seems to work too, yes.
14:14 timotimo saves quite a few parens
14:14 * PerlJam isn't sure you even need the prefix |
14:15 timotimo yeah you do
14:15 timotimo otherwise you get the list of pairs as a single positional parameter
14:15 smls not if it's a slurpy parameter bthough
14:15 smls right?
14:15 timotimo wrong
14:15 timotimo (afaik)
14:16 smls m: sub a (*@_) { say @_.perl }; a (foo => 1, bar => 2, baz => 3)
14:16 camelia rakudo-moar c2a57e: OUTPUT«[:foo(1), :bar(2), :baz(3)]<>␤»
14:16 smls seems to work
14:16 timotimo m: sub a (*@_) { say @_.perl }; a (foo => 1, bar => 2, baz => 3), 2, 3
14:16 camelia rakudo-moar c2a57e: OUTPUT«[:foo(1), :bar(2), :baz(3), 2, 3]<>␤»
14:16 timotimo huh
14:16 timotimo that's new to me
14:17 smls well, slurpy's *are* supposed to flatten...
14:18 Possum joined #perl6
14:19 dalek rakudo/nom: 382c78a | hoelzro++ | src/Perl6/Grammar.nqp:
14:19 dalek rakudo/nom: Indicate where a quibble started on failure
14:19 dalek rakudo/nom:
14:19 dalek rakudo/nom: To help the user determine where to start looking
14:19 dalek rakudo/nom:
14:19 dalek rakudo/nom: Addresses RT #125247
14:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/382c78a97a
14:19 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=125247
14:19 dalek rakudo/nom: d84bbbc | hoelzro++ | src/Perl6/Grammar.nqp:
14:19 dalek rakudo/nom: Set up expectations for failed nibble
14:19 dalek rakudo/nom:
14:19 dalek rakudo/nom: Addresses RT #125247
14:19 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=125247
14:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d84bbbcee5
14:19 timotimo ah, that makes more sense to me
14:20 timotimo thanks for the hint, teach :)
14:20 smls As for ordered hashes, I do sometimes wish I had one when coding in Perl or Perl 6, but not very often.
14:20 smls Mostly just in situations where I end up constructing both an array and a hash from the same data, and imagine that having it all in one data structure would be more elegant.
14:21 PerlJam A list of pairs handily satisfies any desire I might have for an "ordered hash" in Perl 6
14:21 smls Not if you need fast look-up's by key though ;)
14:22 timotimo i think that implementation landed in a gist and got forgotten by time
14:22 timotimo maybe the irclog has it
14:27 * timotimo cannot find it
14:29 lizmat joined #perl6
14:29 smls I can only find a precious mention of the same by you: http://irclog.perlgeek.de/​perl6/2014-04-11#i_8571863
14:29 smls :)
14:29 smls *previous
14:30 virtualsue joined #perl6
14:30 masak afternoon, #perl6
14:30 timotimo hey masak
14:30 timotimo was it you who wrote that little OrderedHash implementation?
14:30 PerlJam smls: "precious" worked too :)
14:32 PerlJam timotimo: a long time ago there was an OrderedHash PMC  (parrot)  I dunno if it was ever exposed in perl6-land
14:33 [Coke] Easy enough to make a class that does it, no?
14:34 brrt joined #perl6
14:35 timotimo of course
14:35 timotimo btw, how do we do string keys with hashes when they're NFG?
14:36 timotimo hashing strings in NFG would require a global table of synthetics?
14:36 timotimo or do we hash the maximum decomposed form?
14:36 [Coke] decomposed or composed?
14:36 timotimo doesn't really matter i suppose
14:37 timotimo just having something standardised
14:37 * lizmat greets masak from the incremented room
14:40 smls lizmat: Rakudo currently doesn't have an alternative to pipe() that avoids going through the shell, does it?
14:41 vendethiel joined #perl6
14:43 lizmat smls: pipe() uses nqp::openpipe underneath, I have no idea how that is implemented
14:45 smls lizmat: What about  open(..., :nl($sep), :chomp)  failing to chop off the line separators if $sep is something different than a newline, is that intended behavior?
14:47 smls In Perl 5, chomp respects custom-defined line separators:
14:48 smls $  perl -E 'my $a = "aaa_"; $/="_"; chomp $a; say $a'
14:48 smls aaa
14:49 smls S32:134 just says "remove new line characters" and doesn't mention interaction with :nl, but maybe that's an oversight?
14:49 synbot6 Link: http://design.perl6.org/S32.html#line_134
14:49 masak smls: yes, I would say it is.
14:50 smls correct link: http://design.perl6.org/S32/IO.html#line_134
14:51 b2gills Shouldn't all Perl6::Metamodel::*HOW have a `roles` method?
14:52 b2gills m: say Real.^roles
14:52 camelia rakudo-moar c2a57e: OUTPUT«Method 'roles' not found for invocant of class 'Perl6::Metamodel::ParametricRoleGroupHOW'␤  in block <unit> at /tmp/_Qb8ZUp85g:1␤␤»
14:53 b2gills m: say Int.^roles(:transitive)
14:53 camelia rakudo-moar c2a57e: OUTPUT«Cannot find method 'roles'␤  in any roles at src/gen/m-Metamodel.nqp:2839␤  in block <unit> at /tmp/3hMqNAj8He:1␤␤»
14:55 smls m: say Perl6::Metamodel::ClassHOW
14:55 camelia rakudo-moar c2a57e: OUTPUT«Could not find symbol '&ClassHOW'␤  in block <unit> at /tmp/bCaLaih5Gf:1␤␤»
14:55 smls huh
14:55 amurf joined #perl6
14:56 masak TimToady: would you expect `macro trait_mod:<is>` to do something sensible?
14:59 b2gills m: say ::Perl6::Metamodel::ClassHOW
14:59 camelia rakudo-moar c2a57e: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol Perl6::Metamodel::ClassHOW␤»
15:03 ugexe are there defiend rules for what a module name can contain yet (other than the STD)? unicode is valid i think, so for the most parts its just <-space -[:]>. -[{ } ; etc] and must start with alpha?
15:04 lizmat joined #perl6
15:05 laouji joined #perl6
15:05 timotimo m: say Metamodel::ClassHOW::
15:05 camelia rakudo-moar c2a57e: OUTPUT«␤»
15:05 timotimo m: say Metamodel::ClassHOW::.keys
15:05 camelia rakudo-moar c2a57e: OUTPUT«Cannot find method 'keys': no method cache and no .^find_method␤  in block <unit> at /tmp/XlZaiOy8VU:1␤␤»
15:05 timotimo m: say Metamodel::ClassHOW::.perl
15:05 camelia rakudo-moar c2a57e: OUTPUT«Cannot find method 'perl': no method cache and no .^find_method␤  in block <unit> at /tmp/AZlxkTLsJE:1␤␤»
15:09 lizmat smls: sorry for responding a bit late, the hotel wifi is a bit flaky
15:10 lizmat I'm not sure what the state if :nl is in either nom or newio atm
15:11 smls I'm looking at nom right now
15:11 smls it only uses :nl for printing, and for passing to nqp::setinputlinesep
15:13 lizmat yeah, but that's not used by .chomp, afaik
15:13 smls also, whereas S32/IO says that "EOL" should be the magic :nl value that makes it accept all Unicode newline-characters, in Rakudo nom "\n" actually plays that role.
15:13 lizmat yep, a case of NYI / fuzzy speculation
15:13 lizmat some weeks ago I realised we actually need 2 things in that area
15:13 lizmat 1. for splitting lines / chomping
15:13 lizmat 2. knowing what to put at the end of a "say"
15:13 smls yeah
15:14 lizmat they could be different
15:14 timotimo well, yeah, but we also have $*IN and $*OUT
15:14 lizmat although probably rarely, but anyway
15:14 timotimo you don't really read and write the same file terribly often, do you?
15:15 lizmat yeah
15:15 smls I think its fine handling it all with a single :nl option
15:15 smls it's just convenience anyway - rare cases can do their own chopping and appending.
15:16 smls lizmat: "fuzzy speculation" -- are you saying that you don't like the specced "EOL" value?
15:16 timotimo you could also duplicate the file object, perhaps?
15:18 sjn moritz++ # for retweeting the message about jnthn's talk
15:19 sjn perl6 marketing ftw :)
15:20 lizmat smls: no, not really, just that there's a NYI functionality that we're not sure how we really want to implement it yet
15:21 lizmat afk until later&
15:23 smls lizmat: This is how I interpret the spec on :nl, and I think it would serve just fine:
15:23 smls 1) open($path)  or  open($path, :nl<EOL> )  --->  .nl reports (and .say appends) "\n"; .lines and .get split on any Unicode newline
15:23 smls 2) open($path, :nl($sep))  --->  .nl reports (and .say appends) $sep; .lines and .get split on literal $sep
15:23 smls 3) :chop always chops off whatever was actually used as a line separator.
15:24 smls Should I have a go at trying to implement that?
15:25 smls And if so, should I do it in nom or newio?
15:29 dpk joined #perl6
15:32 brrt joined #perl6
15:32 koo6 joined #perl6
15:45 smls joined #perl6
15:48 telex joined #perl6
15:48 dolmen joined #perl6
15:50 vendethiel joined #perl6
16:08 cognominal joined #perl6
16:12 gfldex joined #perl6
16:16 grondilu joined #perl6
16:19 zostay m: my %h = a => 1, b => 2; %h.push: c => 3, 'd', 4, e => 5; %h.perl.say;
16:19 camelia rakudo-moar c2a57e: OUTPUT«{:a(1), :b(2), :d(4)}<>␤»
16:21 zostay m: my %h = a => 1, b => 2; %h.push: (c => 3, 'd', 4, e => 5).list; %h.perl.say;
16:21 camelia rakudo-moar c2a57e: OUTPUT«{:a(1), :b(2), :c(3), :d(4), :e(5)}<>␤»
16:21 zostay i don't like that :-/
16:21 vendethiel joined #perl6
16:21 Sqirrel joined #perl6
16:23 smls zostay: What about it?
16:24 skids Shouldn't Hash.push have a *% slurpy?
16:26 skids Though... there are array-building semantics IIRC so I guess that would not functionally work.
16:26 zostay what skids said... it would be nice if pairs would collect in *@ if *% isn't present
16:27 skids That's an intriguing way of looking at it.
16:27 skids I wonder what that would break.
16:27 zostay it may also be that i need an alternate to Pair that doesn't assume key uniqueness
16:27 sjn cognominal++ # for retweeting jnthn's talk at OSDC.no https://twitter.com/osdcno​/status/604285477387157504
16:27 zostay Pair/Enum that is
16:30 skids They'd have to pop back out to named's when calling e.g. a nextwith candidate but that might fall out naturally.
16:31 TimToady don't think that can be done; the transformation to named args is based on the syntax of the callsite, and has nothing to do with eventual binding
16:33 TimToady m: my %h = a => 1, b => 2; %h.push: (c => 3, 'd', 4, e => 5); %h.perl.say;
16:33 camelia rakudo-moar c2a57e: OUTPUT«{:a(1), :b(2), :c(3), :d(4), :e(5)}<>␤»
16:33 zostay m: my @h = a => 1, b => 2; my %h; %h.push: |@h; %h.perl.say;
16:33 camelia rakudo-moar c2a57e: OUTPUT«{:a(1), :b(2)}<>␤»
16:34 zostay i understand what is happening, but it seems a little dangerous for the caller who might have an incomplete mental map of perl6 calling conventions
16:34 zostay maybe unavoidable
16:35 cognominal sjn++ for noting  moritz++ tweeting about the jnthn++ talk in the first place. I am just a cog in the echo chamber :)
16:35 skids Maybe that should be emphasized as a gotcha in the beginners guides.
16:35 zostay maybe in the perl5 to perl6 guides at least, to highlight the ramifications of => no longer being a mystical comma
16:36 * cognominal akwardly composing metaphors
16:36 eternaleye joined #perl6
16:36 TimToady well, it's not like you can push to a hash in Perl 5 anyway (afaik)
16:36 zostay (maybe it already is, i don't admit to being thorough in my reading of documentation)
16:37 zostay no, but pushing on a MultiHash (which i'm working on), is pretty handy, but i'm working against the basic assumption of key uniqueness in all things Associative at that point
16:39 molaf joined #perl6
16:39 TimToady well, if your MultiHash is anything like a relation, you still need an index with unique keys to offer any sort of efficiency
16:41 * raydiak goes to rename the stray lib/MultiHash.pm in Math::Symbolic to lib/Math/Symbolic/MultiHash.pm
16:43 domidumont joined #perl6
16:44 zostay TimToady: correct, though Aritstotle's version of this in Perl 5 depends on grep rather than an index
16:45 zostay so far i'm using his name Hash::MultiValue, but not at all porting it
16:45 * TimToady tends to worry about scalability for built-in data structures...
16:45 zostay good
16:48 brrt joined #perl6
16:50 * brrt wonders if YAPC::NA is anytime soon, perchance
16:50 jepeway joined #perl6
16:50 jdv79 isn't it next next week?
16:50 TimToady "soon" is a relative concept
16:51 jdv79 yeah, 6/8-10
16:51 Sqirrel joined #perl6
16:51 virtualsue left #perl6
16:52 flussence m: say * !~~ Int
16:52 camelia rakudo-moar c2a57e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/7rd6JDSqA9␤Variable '&infix:<!~~>' is not declared␤at /tmp/7rd6JDSqA9:1␤------> 3say * 7⏏5!~~ Int␤»
16:52 flussence m: say 2 !~~ Int
16:52 camelia rakudo-moar c2a57e: OUTPUT«False␤»
16:53 rba_ joined #perl6
16:53 TimToady m: say !(* ~~ Int)
16:53 camelia rakudo-moar c2a57e: OUTPUT«WhateverCode.new␤»
16:54 TimToady looks like a bug to me
16:54 TimToady also, calling & things variables seems a bit suboptimal
16:54 flussence Yeah, I was just about to say... that error message seems bizarre.
16:55 TimToady could at least be changed to say 'Function' if the sigil is &
16:56 TimToady and I'd tend to drop the quotes when there's a sigil anyway
16:56 maettu1 joined #perl6
16:57 TimToady if a symbol is already distinctive and a single word, there's little point in adding quotes
16:57 fhelmberger joined #perl6
16:58 timotimo "☺"
17:01 TimToady m: say * X~~ Int
17:01 camelia rakudo-moar c2a57e: OUTPUT«False␤»
17:01 TimToady hmm
17:02 TimToady anyway, metas should probably follow the behavior of bare ~~ here
17:02 rba_ joined #perl6
17:03 TimToady worth an RT, I think
17:03 smls rename("nonexistent file", "foo")   throws a rather unhepful  "Cannot find method 'postcircumfix:<( )>'"  locally...
17:08 jdv79 is that not in roast? rename i mean.
17:09 TimToady looks like not
17:09 Peter_R joined #perl6
17:18 TimToady hoelzro: re http://irclog.perlgeek.de/p​erl6/2015-05-29#i_10673773 the best approach I think is to test against the exception class, and then search the message for the existence of any specific information the error message ought to convey (such as variable or type names), without committing to the verbiage around the important data, which is up to the implementation
17:20 hoelzro TimToady: thanks; I'm not sure if the change in the error message for RT #125153 is something that should be enforced across implementations
17:20 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=125153
17:20 hoelzro ex. variable name suggestion for $nam if the lexical is called $name - is that roast-worthy?
17:21 TimToady suggestions, no, I wouldn't test those
17:21 brrt joined #perl6
17:21 hoelzro alright, I think my error message changes are on par with that, so I don't know if they're roast-worthy either
17:22 hoelzro still. the check type + error message is a good thing to know for the future =)
17:23 yqt joined #perl6
17:25 [Sno] joined #perl6
17:26 smls can i somehow tell perl6-debug to step into built-in functions?
17:27 TimToady dunno
17:28 TimToady wrt error message testing, there are aspects to awesomeness that we can enforce (is the variable mentioned?), and aspects we cannot (is this the best way to communicate to the intended audience?), and we should not attempt to enforce those aspects awesomeness that should be enforced culturally instead
17:28 smls or, asked another way: what is the best way to debug a rakudo bug like the incorrect error message mentioned above?
17:28 TimToady that's usually solved via grep :)
17:29 smls hrm
17:29 TimToady or ack, or some such
17:29 TimToady I'd look for sub.rename
17:30 smls I can find the rename sub & method in the code
17:30 smls just don't immediately see what's wrong with it
17:30 TimToady --ll-exception?
17:30 smls It calls nqp::rename (which, when called directly, throws a useful "file not found" error)
17:31 smls and then it has a CATCH { default {}} block for turning that into a P6 exception
17:32 smls TimToady: Ah yes, that looks like it might help
17:32 FROGGS joined #perl6
17:35 smls TimToady: "sub.rename" -- nice trick with the dot to avoid having to shell-quote ;)
17:37 TimToady oh, on error message, I see I'm mostly just repeating what [Coke]++ said already :)
17:39 skids joined #perl6
17:39 timotimo smls: perl6-debug depends on compiling the code with a special compiler that puts a bunch of hooks in place so that stepping and stuff work
17:39 timotimo you'd have to have a CORE.setting.debug or something for that to work properly
17:39 timotimo but the setting is the setting
17:39 timotimo there's always a lot of trickyness involved in having code work so early
17:40 timotimo so i have no idea fi a hooked-up version of the core setting is able to function
17:40 TimToady at some point in the distant future, we'll rewrite the compiler and setting in Pure Perl 6, but not before the optimizer gets a heck of a lot better
17:41 koo6 joined #perl6
17:41 timotimo i'm still amazed you think that's possible :)
17:42 TimToady I don't, but I plan to do it anyway... :)
17:42 grondilu joined #perl6
17:42 timotimo mhm
17:44 AlexDaniel joined #perl6
17:46 skids joined #perl6
17:47 jdv79 how does one edit and run the setting?
17:48 TimToady masak: http://irclog.perlgeek.de/p​erl6/2015-05-29#i_10674716 is several questions rolled into one.  So I will give you three answers.  Yes, arbitrary categories like trait_mod should be macroable.  Mebbe, but sometimes we have to put restrictions on redefinition of existing symbols sometimes.  No, I still plan to kill the 'macro' keyword if at all possible.  :)
17:49 FROGGS jdv79: edit rakudo/src/core/*.pm, make install, and then test
17:49 FROGGS jdv79: though it is often possible to augment a built in class to test a patch
17:50 TimToady .oO(Go not to Men for advice, for they will say 'Yes' and 'No' and 'Mebbe'.)
17:50 timotimo man.
17:55 pdcawley joined #perl6
18:00 tinyblak joined #perl6
18:06 dalek rakudo/nom: c189a6e | smls++ | src/core/IO/Path.pm:
18:06 dalek rakudo/nom: Fix typo in IO::Path.rename
18:06 dalek rakudo/nom:
18:06 dalek rakudo/nom: This cause a bogus "Cannot find method 'postcircumfix:<( )>'" exception to be thrown when trying to rename a nonexistent file, instead of returning the correct Failure.
18:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c189a6e6bc
18:08 jdv79 smls: where's a test for that:(
18:08 jdv79 i meant :)
18:08 smls alright, i'll add one
18:08 FROGGS smls++
18:09 jdv79 i'll do a fuller rename test file later if nobody else does
18:12 smls jdv79: Or, you could teach me how to do it
18:13 smls is it possible that we don't have rename() tests yet at all?
18:14 jdv79 i didn't see any.  you'd think there would be a S32-io/rename.t right?
18:14 jdv79 but i was gonna go out and do that later
18:18 FROGGS there is not a single test for rename() :o(
18:18 smls also not for move()
18:20 smls Should I replicate the existing copy.t as move.t and rename.t, or is there a better way to do it (i.e. with less duplication)
18:20 diana_olhovik joined #perl6
18:20 moritz for <move rename> -> $method { ... }
18:21 rba_ joined #perl6
18:22 smls but is it good 'roast' practice to test several things together like that?
18:24 skids joined #perl6
18:25 molaf joined #perl6
18:29 brrt how to get the exception object thrown by die?
18:33 amurf joined #perl6
18:34 hoelzro brrt: CATCH?
18:34 brrt yes, and then?
18:34 smls inside CATCH { default {} } the exception object is available in $_
18:34 brrt ah, ok
18:36 moritz or  try dangerous(); say $!
18:36 brrt outside of catch it's in $!? aha
18:37 timotimo it's in $! inside of catch, too, but it's also in $_, because that's convenient
18:37 timotimo right?
18:38 [Coke] m: try { die 'barf' ; CATCH { default { say $_, $!} } }; say $!
18:38 camelia rakudo-moar c2a57e: OUTPUT«barf␤  in block <unit> at /tmp/FqcHWErwUF:1␤Nil␤barf␤  in block <unit> at /tmp/FqcHWErwUF:1␤␤»
18:39 timotimo oh, huh?
18:43 TimToady it is a common misconception that $! is set inside the handler, but think about if you have nested handlers, you want the inner $! to reflect the innerer handler's result
18:44 TimToady so $! is not actually set till you leave the handler
18:45 TimToady m: try { die 'barf' ; CATCH { default { try die "rolf'; say $!} } }; say $!
18:45 camelia rakudo-moar c2a57e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/KYXoAbcfAv␤Unable to parse expression in double quotes; couldn't find final '"' ␤at /tmp/KYXoAbcfAv:1␤------> 3lt { try die "rolf'; say $!} } }; say $!7⏏5<EOL>␤    expecting any of:␤        post…»
18:45 TimToady m: try { die 'barf' ; CATCH { default { try die 'rolf'; say $!} } }; say $!
18:45 camelia rakudo-moar c2a57e: OUTPUT«rolf␤  in block  at /tmp/EWqaaOKnCO:1␤  in block  at /tmp/EWqaaOKnCO:1␤␤barf␤  in block <unit> at /tmp/EWqaaOKnCO:1␤␤»
18:46 timotimo thank you, TimToady
18:57 Ven joined #perl6
18:59 rindolf joined #perl6
18:59 rindolf Hi all.
19:01 itz2 joined #perl6
19:01 timotimo ohai
19:06 grondilu joined #perl6
19:06 grondilu I'm running 'sudo apt-get install rakudo' on my raspberry pi :)
19:06 grondilu it's with the parrot backend though.  But it's a start.
19:07 [Coke] is building from source an option?
19:07 grondilu it is.  But I wanted to try the binary first.
19:09 grondilu it works apparently.  Quite slow, though.
19:09 grondilu $ time perl6 -e 'say "hi"'
19:10 rjbs Whatever you get from aptitude is going to be /waaaay/ slower than building from source on MoarVM.
19:10 rjbs grondilu: I'm dyin' to hear the output of that time, though.
19:10 grondilu real    0m13.119s
19:10 vendethiel :D
19:10 rjbs Here, I get  0.10s user 0.05s system 46% cpu 0.327 total
19:10 vendethiel real 0.503
19:11 grondilu I'm going to try compiling rakudo, MoarVM and all that stuff now.
19:11 itz2 joined #perl6
19:12 dwarring joined #perl6
19:12 spider-mario joined #perl6
19:13 pierrot joined #perl6
19:13 timotimo i'm pretty sure rakudo-p should be a bit faster than 13 seconds for startup and "say hi"
19:14 grondilu $ perl6 --version
19:14 grondilu This is perl6 version 2012.01 built on parrot 4.0.0 revision 0
19:14 grondilu so, a dinosaur
19:16 TimToady it's pining for Pangaea
19:16 diana_olhovik__ joined #perl6
19:17 timotimo holy hell
19:17 vendethiel oh my.
19:18 timotimo that's ... amazing
19:18 timotimo more than 3 years?
19:18 RabidGravy I've just noticed on Linux $*KERNEL.release and $*KERNEL.version are both the same
19:19 grondilu and yet I had just run 'apt-get update' just before.
19:19 rjbs I don't think anybody is worrying about keeping apt's version up to date.
19:19 rjbs it's such a very fast-moving target
19:19 * grondilu now runs 'perl Configure.pl --gen-moar --gen-nqp --backends=moar --prefix /usr/local/'
19:20 RabidGravy /usr/bin/perl6 -v
19:20 RabidGravy This is perl6 version 2015.04 built on MoarVM version 2015.04
19:20 RabidGravy on fc21
19:21 mj41 joined #perl6
19:21 mj41 m: say Uni.new(0x2680+(0..5).roll).Str
19:21 camelia rakudo-moar c2a57e: OUTPUT«⚁␤»
19:22 grondilu the Pi is a cool device.  I could make an install with SSH, no screen nor keyboard.
19:24 RabidGravy It does rather take a long time to compile rakudo moar on it though
19:29 grondilu even with the Pi 2?
19:29 grondilu I have the Pi 2 model B.  I'm not sure but I think it's not much slower than my EeePC
19:32 RabidGravy I have an original one
19:32 grondilu ouch
19:33 smls jdv79: Does this look OK? https://github.com/perl6/roast/pull/61
19:33 grondilu make: /usr/local/bin/moar: Command not found
19:33 grondilu I did put --gen-moar in the options though.
19:33 FROGGS grondilu: does it continue?
19:34 FROGGS because that msg is printed when it checks if there already is a moar, to e.g. use it or pull config flags from
19:34 grondilu no, it stopped.  But there was a previous error.
19:34 grondilu Cannot chmod 755 /usr/local/bin/moar:No such file or directory at /usr/share/perl/5.14/ExtUtils/Command.pm line 274.
19:35 grondilu So it did build moar but could not chmod it for some reason.
19:35 grondilu I know.  I don't have writting write on this folder.
19:35 grondilu So my bad.
19:36 grondilu .-2s/write/right/
19:37 grondilu though normally it should not try to do it unless I explicitely target 'install'
19:38 grondilu I remember now.  On my PC I had to create a group for writing access on /usr/local.  That's not clean.
19:39 grondilu ideally we should have a different configure and install for the backends and for rakudo.
19:40 grondilu and the standard ./configure ... ; make && make install procedure for each.
19:40 RabidGravy you can
19:42 skids joined #perl6
19:42 spider-mario joined #perl6
19:46 diana_olhovik joined #perl6
19:46 moritz the --gen-moar is just a shortcut
19:46 moritz you can cd MoarVM; perl Configure.pl --prefix=...; make; make install
19:46 moritz cd nqp; perl Configure.pl --backends=moar --prefix=...; make; make install
19:47 moritz cd rakudo; perl Configure.pl --prefix=...; make; make install
19:49 panchiniak joined #perl6
19:50 grondilu oh, ok
19:52 grondilu too late though.  I noticed /usr/local was in the 'staff' group so I added myself to it.
19:53 itz2 joined #perl6
19:55 panchiniak left #perl6
20:06 SevenWolf joined #perl6
20:13 SevenWolf joined #perl6
20:16 pmurias joined #perl6
20:16 pmurias if the macro keyword is going to be killed what will replace it?
20:18 smls .oO(  sub my-macro (Perl6::Ast $foo) is macrotic { ... }  )
20:20 geekosaur for some reason "macrotic" feels akin to "necrotic"
20:21 geekosaur (whereas "lexotic" doesn't...)
20:21 jdv79 smls: looks better than nothing
20:22 skids .oO(macroliscious)
20:23 smls jdv79: I'll merge, and then you can add improvements, OK?
20:23 jdv79 should probably excercise this "createonly" option but again, something
20:23 jdv79 sure
20:23 jdv79 i created a ticket for it so i probably won't forget
20:23 dalek roast: d188cc1 | smls++ | S32-io/rename.t:
20:23 dalek roast: Add rename.t
20:23 dalek roast: review: https://github.com/perl6/roast/commit/d188cc1f29
20:23 dalek roast: fce5bf9 | (Sam S)++ | S32-io/rename.t:
20:23 dalek roast: Merge pull request #61 from smls/master
20:23 dalek roast:
20:23 dalek roast: Add rename.t
20:23 dalek roast: review: https://github.com/perl6/roast/commit/fce5bf983d
20:23 jdv79 thanks
20:24 masak pmurias: the `macro` keyword is getting killed!? why?
20:24 masak nobody tells me these things :P
20:24 masak also, if it's getting killed and the first question is "what will replace it", then... again, why? :)
20:24 smls And here I thought masak was the most informed person on Perl 6 macros :P
20:25 masak until a few minutes ago, so did I! :P
20:28 masak pmurias: more seriously though, I don't think the macro keyword is going anywhere.
20:28 masak I think the biggest change is to the semantics of things. I think quasis will end up being less central than they are now.
20:30 masak 'night, #perl6
20:36 Foxcool joined #perl6
20:42 pmurias masak: I saw TimToady mention "No, I still plan to kill the 'macro' keyword if at all possible"
20:42 pmurias masak: in todays backlog
20:43 vendethiel joined #perl6
20:45 grondilu ok, I have compiled rakudo on the Pi :)
20:46 grondilu $ time perl6 -e 'say "hi"'
20:46 grondilu real    0m1.462s
20:48 ugexe it will compile on a rpi1 as well
20:48 ugexe but takes like 23 hours to run the smoke tests
20:49 RabidGravy it took me about two hours to build it just mow
20:50 RabidGravy [jonathan@bananaman ~]$ time perl6 -e1
20:50 RabidGravy real0m2.988s
20:50 jferrero joined #perl6
20:52 ugexe 4xrpi2 perl6 smoke test cluster with an rpi1 master/nas >:)
20:52 ugexe https://i.imgur.com/fNkU7u3.jpg
20:53 RabidGravy nice one
20:54 jferrero joined #perl6
20:55 FROGGS ugexe++
20:55 FROGGS sweet :o)
20:55 jdv79 where are "post constraints" in the docs?
20:57 ugexe router bricked about a month back, hence no test reports in awhile from it. but it will be running again soon
20:57 jdv79 actually, "Signatures as constraints on variables" is what i'm looking for
20:58 fhelmberger joined #perl6
20:59 hoelzro jdv79: could you provide some more information? I'm not exactly sure what you're getting at =/
21:00 jdv79 m: my $a ();
21:00 camelia rakudo-moar c2a57e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/pl1di1GCcD␤Signatures as constraints on variables not yet implemented. Sorry. ␤at /tmp/pl1di1GCcD:1␤------> 3my $a ()7⏏5;␤»
21:00 jdv79 this diff is kinda weird:
21:00 jdv79 m: for my $a ();
21:00 camelia rakudo-moar c2a57e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/HHF6xS0YoT␤This appears to be Perl 5 code␤at /tmp/HHF6xS0YoT:1␤------> 3for 7⏏5my $a ();␤»
21:00 jdv79 m: for my $/ ();
21:00 camelia rakudo-moar c2a57e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/LLgHmVE2Cg␤Signatures as constraints on variables not yet implemented. Sorry. ␤at /tmp/LLgHmVE2Cg:1␤------> 3for my $/ ()7⏏5;␤»
21:01 * grondilu realizes he could take a pic as well
21:03 jferrero joined #perl6
21:03 jferrero joined #perl6
21:04 jercos m: FatRat.new(229891293, 2**20).base-repeating(10)
21:04 camelia rakudo-moar c2a57e: ( no output )
21:04 jercos m: FatRat.new(229891293, 2**20).base-repeating(10).say
21:04 camelia rakudo-moar c2a57e: OUTPUT«219.24142169952392578125 ␤»
21:05 dalek tablets: f157964 | (Herbert Breunung)++ | docs/appendix-b-grouped.txt:
21:05 dalek tablets: adding set ops
21:05 dalek tablets: review: https://github.com/perl6/tablets/commit/f157964d9f
21:05 dalek tablets: 67d0350 | (Herbert Breunung)++ | docs/ (3 files):
21:05 dalek tablets: Merge branch 'master' of github.com:perl6/tablets
21:05 dalek tablets:
21:05 dalek tablets: just upppll.
21:05 dalek tablets: review: https://github.com/perl6/tablets/commit/67d0350e8e
21:08 hoelzro that's a new feature to my eyes!
21:11 JustThisGuy joined #perl6
21:27 larion joined #perl6
21:31 JustThisGuy_ joined #perl6
21:31 JustThisGuy_ Hi all! I'm just starting to learn Perl 6, and I have a question about command line argument parsing.
21:32 jercos Many answers can be found here. What kind of inquiry in particular did you need answered? :)
21:33 JustThisGuy_ I'm trying to use named parameters in conjunction with a list at the end.
21:33 JustThisGuy_ This is what my MAIN signature looks like: sub MAIN(Str :$author_name!, Str :$distro_name is copy, Str :$email_address!, Str :$template_path!, *@module_names)
21:34 JustThisGuy_ I tried using just @module_names, but I kept getting the usage.
21:35 JustThisGuy_ With the slurpy param, it works, but the usage and using it allows there to be 0 @module_names. I want to require at least one. I'm I approaching this the wrong way?
21:36 japhb JustThisGuy_: perhaps '*@module_names where +* > 0'?
21:36 JustThisGuy_ I also searched for examples, and couldn't find any.
21:37 JustThisGuy_ Ah! that makes sense! Thanks japhb! I'll give that a try.
21:40 JustThisGuy_ That does fix it. The usage still shows it as optional, but that's a minor nit pick I guess...
21:41 JustThisGuy_ Usage: create_module --author_name=<Str> --email_address=<Str> --template_path=<Str> [--distro_name=<Str>] [<module_names> ...]
21:42 lizmat joined #perl6
21:43 japhb There's a long-standing TODO to fill in the last bits that would allow overriding the auto-generated usage (and change the parsing rules), you could always hack on that.  ;-)
21:44 JustThisGuy_ Well I can take a look at it anyway. :)
21:44 japhb m: sub want-at-least-one(*@foo!) { say "Got {+@foo}" }; want-at-least-one(5, 12); want-at-least-one(42); want-at-least-one();
21:44 camelia rakudo-moar c2a57e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Geb4yt4QAQ␤Missing block␤at /tmp/Geb4yt4QAQ:1␤------> 3sub want-at-least-one(*@foo7⏏5!) { say "Got {+@foo}" }; want-at-least-␤»
21:44 japhb Awww, too bad
21:45 JustThisGuy_ Ha! I actually tried that before I got on here.
21:45 japhb .ask TimToady Why doesn't '*@foo!' in a signature mean "slurp one or more"?  Was that a conscious decision or just not yet defined to have a meaning?
21:45 yoleaux japhb: I'll pass your message to TimToady.
21:46 japhb JustThisGuy_: A good guess.  :-)
21:46 JustThisGuy_ I also learned that $?USAGE is not available at runtime.
21:46 japhb JustThisGuy_: It's supposed to be.  But at the time I wrote that code, I didn't understand how to set a '$?' variable.
21:47 JustThisGuy_ That's cool. I'm just learning as I go here.
21:47 JustThisGuy_ Thanks for the help!
21:47 japhb JustThisGuy_: See src/core/Main.pm in Rakudo, if you're curious.  :-)
21:47 japhb You're welcome!
21:48 JustThisGuy_ Thanks! I'll have a look...
21:52 rba_ joined #perl6
22:00 timotimo o/
22:03 lizmat std: sub a(*@a!) { say @a }; a
22:03 camelia std 28329a7: OUTPUT«5===SORRY!5===␤Unable to parse signature at /tmp/x2HJDn3wXL line 1:␤------> 3sub a7⏏5(*@a!) { say @a }; a␤Couldn't find final ')'; gave up at /tmp/x2HJDn3wXL line 1:␤------> 3sub a(*@a7⏏5!) { say @a }; a␤    expecting any of:␤      constrai…»
22:04 lizmat std: sub a(+@a) { say @a }  # in a way that makes more sense to me
22:04 camelia std 28329a7: OUTPUT«5===SORRY!5===␤Malformed parameter at /tmp/j9rM5NljYn line 1:␤------> 3sub a(7⏏5+@a) { say @a }  # in a way that makes m␤    expecting any of:␤     name␤   new name to be defined␤ parameter␤      routine_def␤    signature␤Parse failed␤FAILED 00:00…»
22:05 lizmat std: sub a(?@a) { say @a }  # zero or 1 parameter ?
22:05 camelia std 28329a7: OUTPUT«5===SORRY!5===␤Malformed parameter at /tmp/tR27qjt_5G line 1:␤------> 3sub a(7⏏5?@a) { say @a }  # zero or 1 parameter ?␤    expecting any of:␤     name␤   new name to be defined␤ parameter␤      routine_def␤    signature␤Parse failed␤FAILED 00:00…»
22:07 FROGGS joined #perl6
22:07 AlexDaniel m: say 'ab' ~~ m/<?after 'a'>b/ # thanks god I will not have to look up the correct syntax every time I want to use lookaround...
22:07 camelia rakudo-moar c2a57e: OUTPUT«「b」␤»
22:08 AlexDaniel m: say 'ab' ~~ m/<after 'a'>b/
22:08 camelia rakudo-moar c2a57e: OUTPUT«「b」␤ after => 「」␤»
22:08 AlexDaniel hm
22:09 AlexDaniel after without ? does not make any sense, right?
22:09 vendethiel joined #perl6
22:09 AlexDaniel if yes, then this has to be fixed, I guess: https://en.wikipedia.org/wiki/​Perl_6_rules#Implicit_changes
22:10 AlexDaniel if not, then what is going on?
22:23 tony-o_ timotimo: you live in germany, yea? can i pm you
22:37 AlexDaniel How can I match stuff between rules? I want something like [ <somerule> || <anotherrule> || (.+) ]* however, that dot matches every character separately, but I want it to eat everything until some rule is encountered.
22:43 dalek rakudo/nom: 5f91c78 | hoelzro++ | src/core/Buf.pm:
22:43 dalek rakudo/nom: Simplify Buf.push code
22:43 dalek rakudo/nom:
22:43 dalek rakudo/nom: Seriously, what was I thinking writing that?!
22:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5f91c78d5c
22:43 dalek rakudo/nom: f5a0520 | hoelzro++ | src/core/Buf.pm:
22:43 dalek rakudo/nom: Implement Buf.push(@list-of-items)
22:43 dalek rakudo/nom:
22:43 dalek rakudo/nom: Using code and ideas stolen from src/core/native_array.pm
22:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f5a0520169
22:43 dalek rakudo/nom: c269124 | hoelzro++ | src/core/Buf.pm:
22:43 dalek rakudo/nom: Implement Buf.push for variadic arguments
22:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c269124903
22:43 dalek roast: 59cbe8d | hoelzro++ | S03-operators/buf.t:
22:43 dalek roast: Add tests for pushing a list of items to a Buf
22:43 dalek roast: review: https://github.com/perl6/roast/commit/59cbe8d187
22:43 dalek roast: 0a3a677 | hoelzro++ | S03-operators/buf.t:
22:43 dalek roast: Test Buf.push with variadic arguments
22:43 dalek roast: review: https://github.com/perl6/roast/commit/0a3a677027
22:44 hoelzro AlexDaniel: I'm wondering if [ <somerule> || <anotherrule> ]* % (.+) would work
22:48 rjbs hoelzro: ooh, will have to rebuild once I'm at home and on AC power
23:05 AlexDaniel hoelzro: hm, it does kinda work, but I get one string for every backtracking step
23:06 AlexDaniel so it goes like:  0 => 「t」  0 => 「te」  0 => 「tes」  0 => 「test」  0 => 「test 」
23:06 AlexDaniel if I use (.+?), of course. Otherwise it goes from the other side
23:08 skids joined #perl6
23:10 AlexDaniel actually, should it really do that? Isn't it a bug? I mean, why would I care what was inside of that capture group during the backtracking?
23:14 AlexDaniel m: say 'rule1 foo rule2 bar' ~~ /( 'rule1' || 'rule2' )* % (.+?)/
23:14 camelia rakudo-moar c2a57e: OUTPUT«「rule1 foo rule2」␤ 0 => 「rule1」␤ 1 => 「 」␤ 1 => 「 f」␤ 1 => 「 fo」␤ 1 => 「 foo」␤ 1 => 「 foo 」␤ 0 => 「rule2」␤»
23:15 AlexDaniel m: say 'rule1 foo rule2 bar rule1' ~~ /( 'rule1' || 'rule2' )* % (.+?)/
23:15 camelia rakudo-moar c2a57e: OUTPUT«「rule1 foo rule2 bar rule1」␤ 0 => 「rule1」␤ 1 => 「 」␤ 1 => 「 f」␤ 1 => 「 fo」␤ 1 => 「 foo」␤ 1 => 「 foo 」␤ 0 => 「rule2」␤ 1 => 「 」␤ 1 => 「 b」␤ 1 => 「 ba」␤ 1 => 「 bar」␤ 1 => 「 bar 」␤ 0…»
23:16 AlexDaniel does it look ok?
23:17 kurahaupo1 joined #perl6
23:18 telex joined #perl6
23:19 hoelzro hmmm
23:20 hoelzro that seems reasonable, I think
23:20 AlexDaniel hoelzro: why?
23:20 hoelzro ok, scratch that
23:20 hoelzro I wasn't looking closely enough, it seems =/
23:21 hoelzro I'm not sure what else to try, tbh
23:21 AlexDaniel hoelzro: I'm confused, this actually looks like a bug to me. What do you think?
23:22 AlexDaniel or maybe there is some trickery going on that I should really understand for this to make any sense to me?
23:22 hoelzro that output means sense to me
23:22 hoelzro so let's talk about when the cursor has just parsed rule1
23:22 hoelzro so .+? is tried
23:23 hoelzro it matches ' ', great
23:23 hoelzro it *could* match ' f' (and more), but it's not greedy, so it stops
23:23 hoelzro then the 'rule1' || 'rule2' part is tried, and fails
23:23 AlexDaniel but if it matched 'rule1 foo rule2 bar rule1' (the whole string!), then why would it list something that is irrelevant to this match?
23:23 hoelzro so .+? tries taking another char
23:24 hoelzro what part is irrelevant?
23:24 * hoelzro will be going back and forth from the computer for a bit, incoming house guests
23:25 AlexDaniel anything that is not ' foo ', because you can't match that string with ' fo'
23:25 tinyblak joined #perl6
23:26 AlexDaniel especially if you add ^ $ around that regex
23:26 hoelzro I do agree that it's weird that all of the intermediate attemps are included in the resulting match
23:27 AlexDaniel all these atempts are ok, it makes sense. But I don't understand why some internal stuff is spewed into the match object
23:29 tinyblak_ joined #perl6
23:36 hoelzro yeah, that's kinda weird.
23:41 AlexDaniel ok, gonna report that then
23:42 vendethiel joined #perl6
23:43 hoelzro :+1:
23:46 AlexDaniel hm, what's that? And also, what is this nick++ thing about?
23:48 hoelzro oh, that's a thumbs up
23:48 hoelzro and ++ is giving people karma for doing a good job
23:49 hoelzro so AlexDaniel++ for trying things out and reporting bugs =)
23:50 AlexDaniel oh well, who cares
23:51 AlexDaniel hoelzro: does any bot log that stuff? Is there any table with top scores or something like that?
23:52 hoelzro I'm not sure
23:52 hoelzro yoleaux: karma
23:52 hoelzro .help
23:52 yoleaux hoelzro: I'm yoleaux. Type .commands to see what I can do, or see http://dpk.io/yoleaux for a quick guide.
23:53 hoelzro .commands
23:53 yoleaux Commands are divided into categories: services, general, api, demos, admin. Use .commands <category> to get a list of the commands in each.
23:53 hoelzro .commands general
23:53 yoleaux Commands in general: ask, at, botsnack, buck, bytes, choose, in, msg, on, pick, ping, seen, supercombiner, t, tell, to, tz. Use .help to get information about them.
23:53 synbot6 om nom nom
23:53 hoelzro .commands services
23:53 yoleaux Commands in services: acronym, add-command, botsmack, command-help, del-command, dety, distance, geo, insult, leo, metar, moon, ngrams, o, oed, py3, r2r, roll, rot13, suggest, swhack, thesaurus, tw, twho, ud, weather, yi. Use .help to get information about them.
23:54 AlexDaniel .help twho
23:54 yoleaux Get info on a Twitter user

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

Perl 6 | Reference Documentation | Rakudo