Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-11-10

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:00 Psyche^ joined #perl6
00:02 raiph m: say ٧၇௭႗ ~~ /7*/
00:02 camelia rakudo-moar 2ad739: OUTPUT«「7777」␤»
00:03 raiph m: say ௭
00:03 camelia rakudo-moar 2ad739: OUTPUT«7␤»
00:03 [Coke] lizmat: I run spectests with "prove -v -e t/fudgeandrun t/spec/..."
00:03 raiph .u ௭
00:03 yoleaux U+0BED TAMIL DIGIT SEVEN [Nd] (௭)
00:07 TimToady m: say ٧၇௭႗
00:07 camelia rakudo-moar 2ad739: OUTPUT«7777␤»
00:08 TimToady wow, when did that happen?
00:08 TimToady m: say '٧၇௭႗'  # just checking
00:08 camelia rakudo-moar 2ad739: OUTPUT«٧၇௭႗␤»
00:08 TimToady whew!
00:09 TimToady m: say ⅐
00:09 camelia rakudo-moar 2ad739: OUTPUT«5===SORRY!5===␤Argument to "say" seems to be malformed␤at /tmp/N4rih2_AWJ:1␤------> 3say7⏏5 ⅐␤Bogus postfix␤at /tmp/N4rih2_AWJ:1␤------> 3say 7⏏5⅐␤    expecting any of:␤        infix␤        infix stopper␤        pos…»
00:09 TimToady aww
00:10 skids joined #perl6
00:15 [Coke] m: say ¡Aye!
00:15 camelia rakudo-moar 2ad739: OUTPUT«5===SORRY!5===␤Argument to "say" seems to be malformed␤at /tmp/fpdjFnsGp7:1␤------> 3say7⏏5 ¡Aye!␤Bogus postfix␤at /tmp/fpdjFnsGp7:1␤------> 3say 7⏏5¡Aye!␤    expecting any of:␤        infix␤        infix stopper␤     …»
00:17 tardisx joined #perl6
00:23 zacts \o/ I just installed perl6 for the first time ever using rakudobrew
00:23 zacts "a journey of a thousand miles begins with a single step..."  I guess...
00:23 zacts :-)
00:26 hankache joined #perl6
00:27 timotimo cool
00:27 timotimo let us know if you have any questions
00:27 mr_ron joined #perl6
00:28 zacts sure
00:29 timotimo though i myself will be going to bed soon
01:16 raiph joined #perl6
01:17 mr_ron joined #perl6
01:30 softmoth_ joined #perl6
01:45 flussence timotimo / Zoffix : I'd advise not getting too eager with HSTS just yet; I don't think all the *.perl6.org subdomains are set up for HTTPS.
01:46 Zoffix I don't plan on messing with that any time soon :)
01:46 flussence just thought I'd mention it, I learned to be careful with it the hard way :)
01:46 Zoffix Sure :)
01:59 Herby_ joined #perl6
01:59 Herby_ Good evening, everyone!
02:06 tardisx joined #perl6
02:08 Zoffix \o
02:18 xpen joined #perl6
02:21 dayangkun joined #perl6
02:22 raiph joined #perl6
02:24 telex joined #perl6
02:25 llfourn can you say "defined but Nil is ok" with types. Like Maybe[Int] in p6 Type::Tiny
02:25 llfourn p5 Type::Tiny*
02:26 llfourn m: my Int:D $a = Nil; say $a;
02:26 geraud isn't that Int:U ?
02:26 camelia rakudo-moar 2ad739: OUTPUT«(Int:D)␤»
02:27 llfourn geraud: but Int:U also matches Int
02:29 llfourn m: class A { has Int:D $.a = Nil }; say A.new.a
02:29 camelia rakudo-moar 2ad739: OUTPUT«(Int:D)␤»
02:29 llfourn so Nil is ok in any :D type aye....
02:30 llfourn what if I want to say not an acutal Int that is never undef or Nil :\
02:35 Gar joined #perl6
02:36 tardisx joined #perl6
02:38 geraud joined #perl6
02:39 kid51 joined #perl6
02:42 Herby_ I'm new to programming, and have dipped my toes into Perl 5.  I'm interested in learning Perl 6
02:45 Herby_ Is there something similar to __DATA__ in perl 6?
02:45 llfourn Herby_: I don't think so. There is heredoc stuff though.
02:45 llfourn http://docs.perl6.org/language/quoting#Heredocs%3A_%3Ato
02:45 finanalyst joined #perl6
02:45 llfourn oh and Welcome :)
02:45 Herby_ I'll take a look, and thanks!
02:45 finanalyst Hi. trying HTML::Template. Errors on tests when installing. A problem in Grammar.pm:42
02:45 finanalyst Is this a known problem?
02:46 * llfourn is trying it now
02:46 llfourn finanalyst: it actually worked for me :\
02:46 llfourn which test?
02:48 Zoffix finanalyst, how old is your perl?
02:49 finanalyst Zoffix,  perl6 version 2015.09-381-g271e84c built on MoarVM version 2015.09-79-gee9fc2b
02:49 finanalyst used panda update
02:49 llfourn finanalyst: windows?
02:51 finanalyst ubuntu
02:52 llfourn finanalyst: can you do rakudobrew build moar?
02:52 Zoffix finanalyst, I'm on a fork of ubuntu and installs fine. My perl is newer, so maybe try upgrading perl? perl6 version 2015.09-442-ge303970 built on MoarVM version 2015.09-79-gee9fc2b
02:52 llfourn this is mine where it works: This is perl6 version 2015.10-220-g4988c70 built on MoarVM version 2015.10-61-g624d504
02:52 finanalyst ok will try thanks.
02:53 finanalyst just come back to perl6 after a while. What is best way to upgrade?#
02:53 kaare_ joined #perl6
02:53 llfourn finanalyst: use https://github.com/tadzik/rakudobrew :)
02:53 Zoffix finanalyst, run rakudobrew build moar
02:54 finanalyst thanx. trying now
02:56 finanalyst is there a way for panda to run the tests for a specific module?
02:57 llfourn finanalyst: you can run tests manually with panda look module_name
02:57 llfourn then perl6 -Ilib t/the_test_you want
02:58 Zoffix And you can panda look Some::Module to download it and drop a shell into it
03:00 finanalyst llfourn and Zoffix, thank you very much. Upgrade solved problem
03:00 [particle] joined #perl6
03:00 llfourn \o/
03:00 Zoffix \o/
03:01 finanalyst very impressed how much faster perl6 is now. A joy!
03:13 roguelazer joined #perl6
03:15 tardisx joined #perl6
03:15 sprocket joined #perl6
03:22 BenGoldberg joined #perl6
03:26 yuppie joined #perl6
03:26 yuppie joined #perl6
03:29 herby_ joined #perl6
03:30 yuppie joined #perl6
03:30 yuppie joined #perl6
03:30 herby_ is modules.perl6.org the "CPAN" of perl 6?
03:30 Zoffix herby_, for now, yes
03:31 yuppie joined #perl6
03:31 yuppie joined #perl6
03:32 yuppie joined #perl6
03:32 yuppie joined #perl6
03:33 herby_ great, thanks
03:34 * Zoffix gives yuppie a brand new CAT5 cable
03:36 mr_ron joined #perl6
03:48 xpen joined #perl6
03:53 awwaiid wait... we have undef AND nil?
03:54 llfourn awwaiid: if you are refering to my confusion we have undef in that (Int) is undefined :)
03:55 llfourn m: say Int.defined
03:55 camelia rakudo-moar 2ad739: OUTPUT«False␤»
03:56 llfourn awwaiid: I read the design docs a bit and it seems that Nil is basically like a Failure
03:56 llfourn but without an error message
03:56 llfourn m: say \(Nil) ~~ :(Int:D)
03:56 camelia rakudo-moar 2ad739: OUTPUT«False␤»
03:57 llfourn so that won't work
03:57 llfourn m: class A { has Int:D $.a = Nil }; say A.new;
03:57 camelia rakudo-moar 2ad739: OUTPUT«A.new(a => Int:D)␤»
03:57 llfourn but that will work
03:57 BenGoldberg Nil is a value which magically disappears in most contexts.
03:57 awwaiid here and I was bragging that Int:D would only hold defined ints!
03:58 BenGoldberg It's not quite the same as  ()  in perl5, but it's close.
03:58 llfourn awwaiid: it's right to describe it like that
03:58 llfourn As BenGoldberg++ said it depends on the context
03:59 llfourn you don't use it like undef in p5
03:59 BenGoldberg m: say [ 1, 2, Nil, 3 ]
03:59 camelia rakudo-moar 2ad739: OUTPUT«[1 2 (Any) 3]␤»
03:59 BenGoldberg m: say [ 1, 2, |Nil, 3 ]
03:59 camelia rakudo-moar 2ad739: OUTPUT«[1 2 (Any) 3]␤»
03:59 Zoffix Could powers-that-be give awwaiid merge perms to perl6 repos? They've been submitting a ton of PRs for the docs. Would be nice for them not to have to wait for someone to come around and merge.
04:00 BenGoldberg m: say [ 1, 2, Splat, 3 ]
04:00 camelia rakudo-moar 2ad739: OUTPUT«5===SORRY!5=== Error while compiling /tmp/uJHCnPiSLp␤Undeclared name:␤    Splat used at line 1␤␤»
04:00 Zoffix s/merge perms/commit perms/;
04:00 awwaiid Zoffix: I got merge perms yesterday
04:00 Zoffix Oh
04:00 awwaiid But I thought that was so I could merge other people's things :)
04:00 llfourn "The Nil value represents the absence of a value where there should be one, so it does not disappear in list context, but relies on something downstream to catch it or blow up."
04:01 awwaiid I'm used to the formality of two-human-merges at $work
04:01 Zoffix I don't see a perl6 org bande on your profile
04:01 awwaiid well. here, lmme merge this and we'll see...
04:01 Actualeyes joined #perl6
04:01 dalek doc: 0a3175f | (Brock Wilcox)++ | doc/Language/syntax.pod:
04:01 dalek doc: More syntax.pod additions, especially about operators
04:01 dalek doc: review: https://github.com/perl6/doc/commit/0a3175fd68
04:01 dalek doc: 7951121 | (Brock Wilcox)++ | doc/Language/syntax.pod:
04:01 dalek doc: Oops, fix where :D goes
04:01 dalek doc: review: https://github.com/perl6/doc/commit/7951121502
04:01 dalek doc: e3d793c | (Brock Wilcox)++ | doc/Language/syntax.pod:
04:01 dalek doc: Merge pull request #191 from awwaiid/syntax-operator-basics
04:01 dalek doc:
04:01 dalek doc: More syntax.pod additions, especially about operators
04:01 dalek doc: review: https://github.com/perl6/doc/commit/e3d793c891
04:01 awwaiid seems like cheating :)
04:01 Zoffix m: my Int $x where * > 3 = 7; $x = 2
04:01 camelia rakudo-moar 2ad739: OUTPUT«Type check failed in assignment to $x; expected <anon> but got Int␤  in block <unit> at /tmp/b7TIsQGI0u:1␤␤»
04:02 awwaiid m: my Int $x where * > 3 = 7; $x = Nil; say $x
04:02 camelia rakudo-moar 2ad739: OUTPUT«(<anon>)␤»
04:02 llfourn qwerky isn't it :)
04:02 awwaiid Nil is looking a lot like the new null
04:03 llfourn awwaiid: but it's not like null for calling code
04:03 llfourn m: sub a (Int:D) { 'win'.say }; a(Nil);
04:03 camelia rakudo-moar 2ad739: OUTPUT«Type check failed in binding <anon>; expected Int but got Nil␤  in sub a at /tmp/e9p_wcEG4T:1␤  in block <unit> at /tmp/e9p_wcEG4T:1␤␤»
04:03 awwaiid so Zoffix and llfourn -- y'all just want me to go to town on random docs like it was a wiki?
04:04 awwaiid m: my $x = Nil; sub a (Int:D) { 'win'.say }; a($x);
04:04 camelia rakudo-moar 2ad739: OUTPUT«Type check failed in binding <anon>; expected Int but got Any␤  in sub a at /tmp/mLaGBxALXg:1␤  in block <unit> at /tmp/mLaGBxALXg:1␤␤»
04:04 llfourn awwaiid: well like it was a very official wiki :D
04:04 Zoffix awwaiid, sure
04:05 awwaiid do you still want a PR to bounce through for easy undo? I'd still do a PR for anything I thought would be large or conversation-worthy
04:06 llfourn awwaiid: I'd say just go ahead. If you are re-structuring files you might want to PR
04:06 awwaiid k
04:07 awwaiid is there a fast way to verify the pod markup?
04:08 llfourn awwaiid: not that I know of
04:09 awwaiid cool. well I'll keep tinkering :)
04:09 awwaiid tomorrow. cya &
04:09 Zoffix awwaiid, I tend to do PRs only for things I want people to discuss (usually something large that has an impact on something)
04:09 llfourn I mean you could just Pod::To::HTML an individual page and see if you can get the CSS...cua
04:09 llfourn cya*
04:09 Zoffix awwaiid, the bot announces the commits, so I think it's pretty noticable what people are committing
04:09 Zoffix bye
04:09 awwaiid [from the beyond: awesomeness, thanks!]
04:17 tadzik I just got an email with an invite to, effectivly, job speed dating
04:17 tadzik I have to admit, it is kind of cool, spam or not :D
04:17 tardisx joined #perl6
04:20 Zoffix heh
04:56 vendethiel joined #perl6
05:03 Zoffix Haw! Browsing through pages of stock to find a bg pic for a p6 site and I come across this! :) http://depositphotos.com/6454910/stock-illustration-flowers-and-butterflies-background-vector.html
05:05 Zoffix Hm. It actually sucks when placed on the page :P
05:25 TimToady m: say Iterable === Any
05:25 camelia rakudo-moar 2ad739: OUTPUT«Method 'iterator' must be implemented by Iterable because it is required by a role␤  in any compose_method_table at gen/moar/m-Metamodel.nqp:2661␤  in any apply at gen/moar/m-Metamodel.nqp:2671␤  in any compose at gen/moar/m-Metamodel.nqp:2807␤  in…»
05:31 CIAvash joined #perl6
05:33 dalek modules.perl6.org/mojo-app: e4c1974 | (Zoffix Znet)++ | / (14 files):
05:33 dalek modules.perl6.org/mojo-app: Rudimentary working app
05:33 dalek modules.perl6.org/mojo-app: review: https://github.com/perl6/modules.perl6.org/commit/e4c1974d67
05:48 TimToady m: sub foo(Iterable $s) {...}; say &foo.signature
05:49 camelia rakudo-moar 2ad739: OUTPUT«Method 'iterator' must be implemented by Iterable because it is required by a role␤  in any compose_method_table at gen/moar/m-Metamodel.nqp:2661␤  in any apply at gen/moar/m-Metamodel.nqp:2671␤  in any compose at gen/moar/m-Metamodel.nqp:2807␤  in…»
05:50 TimToady that tries to call Iterable.WHICH, and that forces role punning, which doesn't work here
05:50 TimToady m: say Iterable.foo
05:50 camelia rakudo-moar 2ad739: OUTPUT«Method 'iterator' must be implemented by Iterable because it is required by a role␤  in any compose_method_table at gen/moar/m-Metamodel.nqp:2661␤  in any apply at gen/moar/m-Metamodel.nqp:2671␤  in any compose at gen/moar/m-Metamodel.nqp:2807␤  in…»
05:50 TimToady doesn't matter which method you call on it
05:50 Khisanth joined #perl6
06:03 pyrimidi_ joined #perl6
06:05 Actualeyes joined #perl6
06:11 colomon joined #perl6
06:14 rindolf joined #perl6
06:17 zengargoyle Pod variable $=data not yet implemented. Sorry. :(
06:24 TimToady role punning bug filed as #126606
06:24 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=126606
06:28 darutoko joined #perl6
06:50 xfix joined #perl6
06:52 nightfrog joined #perl6
07:02 visiting joined #perl6
07:07 dalek nqp: 94d5575 | usev6++ | src/HLL/sprintf.nqp:
07:07 dalek nqp: Handle NaN and Inf in sprintf (directives e, f, g)
07:07 dalek nqp: review: https://github.com/perl6/nqp/commit/94d55754fb
07:07 dalek nqp: 052389b | FROGGS++ | src/HLL/sprintf.nqp:
07:07 dalek nqp: Merge pull request #253 from usev6/sprintf_nanorinf
07:07 dalek nqp:
07:07 dalek nqp: Handle NaN and Inf in sprintf (directives e, f, g)
07:07 dalek nqp: review: https://github.com/perl6/nqp/commit/052389baae
07:08 dalek rakudo/nom: 8517d87 | TimToady++ | src/ (4 files):
07:08 dalek rakudo/nom: return typecheck now passes both Nil and Failure
07:08 dalek rakudo/nom:
07:08 dalek rakudo/nom: Failure now considers itself to be derived from Nil, and the return
07:08 dalek rakudo/nom: typecheck bypass now is based on Nil.  The upshot is that Nil is now
07:08 dalek rakudo/nom: regarded as the simplest form of failure, and people will be less
07:08 dalek rakudo/nom: tempted to use type objects to indicate failure.
07:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8517d878da
07:08 dalek roast: b6cbc45 | TimToady++ | / (2 files):
07:08 dalek roast: baggy assignment fails slightly differently now
07:08 dalek roast: review: https://github.com/perl6/roast/commit/b6cbc45d96
07:13 dalek rakudo/nom: f6d7f4d | TimToady++ | src/vm/jvm/runtime/org/perl6/rakudo/RakOps.java:
07:13 dalek rakudo/nom: fix jvm too for Nil return
07:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f6d7f4dcfc
07:15 ggoebel joined #perl6
07:17 [Sno] joined #perl6
07:29 dalek roast: 6f6e494 | TimToady++ | S06-advanced/return.t:
07:29 dalek roast: ensure return typecheck passes Nil and Failure
07:29 dalek roast: review: https://github.com/perl6/roast/commit/6f6e494f68
07:37 eone joined #perl6
07:43 _mg_ joined #perl6
07:49 [Tux] lizmat, T::C broken in master. No time right now to dig
07:50 Actualeyes joined #perl6
07:50 [Tux] t/20_file is a short test (before the whole t/* starts barfing)
07:51 ely-se joined #perl6
07:59 matt_ joined #perl6
08:02 _mg_ joined #perl6
08:03 abraxxa joined #perl6
08:13 espadrine joined #perl6
08:19 azawawi joined #perl6
08:19 azawawi hi #perl6
08:20 azawawi so now officially Perl 6 is broken again on my windows box
08:20 zakharyas joined #perl6
08:20 azawawi panda https://github.com/tadzik/panda/issues/245
08:21 azawawi zef https://github.com/ugexe/zef/issues/71
08:21 * azawawi sighs
08:24 moritz azawawi: is there travis support for windows?
08:25 azawawi moritz: https://github.com/travis-ci/travis-ci/issues/216
08:26 azawawi moritz: a while back adamk got me accounts on microsoft vm servers (au)
08:26 azawawi moritz: to setup testing for padre on different platforms
08:28 azawawi moritz: as the ticket says it is licensing issues... though i think things should be different with windows 10 going forward
08:28 azawawi moritz: given that windows 10 is being handed as free to all windows 7 and 8 users
08:28 * azawawi starts working on https://github.com/perl6/DBIish/issues/22
08:29 pippo joined #perl6
08:29 pippo o/ #perl6
08:32 azawawi pippo: hi :)
08:49 [Sno] moritz: sure I can document the options in Configure.pl
08:49 [Sno] think I did it for rakudo and/or star ^^
08:51 lizmat good *, #perl6!
08:53 pippo lizmat: o/
08:54 [Sno] moin lizmat :)
09:00 RabidGravy joined #perl6
09:02 lizmat [Sno] pippo o/
09:03 Hotkeys is there a simple way to turn a list into an array
09:04 moritz Hotkeys: yes!
09:04 moritz Hotkeys: assignment to an array variable, and calling .Array
09:04 Hotkeys woo
09:04 Hotkeys oh
09:04 Hotkeys I tried .array
09:04 Hotkeys that'll do it
09:04 moritz m: say (1, 2, 3).Array.perl
09:04 camelia rakudo-moar f6d7f4: OUTPUT«[1, 2, 3]␤»
09:04 Hotkeys capitalization is fun
09:04 moritz m: say [(1, 2, 3)].perl
09:04 camelia rakudo-moar f6d7f4: OUTPUT«[1, 2, 3]␤»
09:04 moritz also works
09:04 Hotkeys fancy
09:05 moritz (my @ = (1, 2, 3)).perl
09:05 moritz m: (my @ = (1, 2, 3)).perl
09:05 camelia rakudo-moar f6d7f4: ( no output )
09:05 JimmyZ m: @(1,2,3).perl
09:05 camelia rakudo-moar f6d7f4: ( no output )
09:05 JimmyZ m: say @(1,2,3).perl
09:05 camelia rakudo-moar f6d7f4: OUTPUT«(1, 2, 3)␤»
09:05 moritz JimmyZ: precedence
09:05 moritz erm, no
09:05 moritz I think @(...) is actually .list
09:05 moritz anyway, there's more than one way to do it :-)
09:06 JimmyZ m: say @([1,2,3]).perl
09:06 camelia rakudo-moar f6d7f4: OUTPUT«[1, 2, 3]␤»
09:06 JimmyZ m: say @((1,2,3)).perl
09:06 camelia rakudo-moar f6d7f4: OUTPUT«(1, 2, 3)␤»
09:08 Hotkeys I'll probably stick to .Array unless one of the others is more idiomatic
09:09 lizmat m: dd [1,2,3]     # most ideomatic ?
09:09 camelia rakudo-moar f6d7f4: OUTPUT«Array $var = $[1, 2, 3]␤»
09:10 moritz it depends, really
09:11 moritz if it's a long expression, I tend to favor method calls
09:11 moritz for literals, I prefer [...]
09:11 dakkar joined #perl6
09:15 domidumont joined #perl6
09:21 lizmat [Tux]: one commit to T::C, but needs more work
09:24 kjs_ joined #perl6
09:35 woolfy joined #perl6
09:36 woolfy Question from Perl6 on Facebook: "Is there a plan to include perl 6 in beaker notebook? I heard its grammars are great. "  ( http://beakernotebook.com/ )   I never ever heard of BeakerNotebook.  Anybody?
09:37 pink_mist err, I think that's a question better suited for the beakernotebook people 0_o
09:37 pink_mist or so it seems to me at least
09:40 lizmat [Tux] T::C clean again, but with hacks  :-(
09:40 [Tux] lizmat++
09:40 [Tux] canary-coalmine
09:41 [Tux] off to $work
09:44 dalek rakudo/nom: c9cb7f4 | lizmat++ | src/core/Str.pm:
09:44 dalek rakudo/nom: Fix running with PERL6LIB on JVM
09:44 dalek rakudo/nom:
09:44 dalek rakudo/nom: Apparently, you cannot nqp::getattr into a native int on the JVM,
09:44 dalek rakudo/nom: even if the attribute in question *is* a native int.
09:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c9cb7f41bf
09:45 lizmat [Tux]: actually, the test showed that the canary has a hidden disease  :-)
09:45 lizmat I just gave it a shot of penicillin
09:45 lizmat but it is not a long term solution  :-)
09:45 moritz isn't there a separate nqp::getattr_i for native ints?
09:46 lizmat .tell [Coke]  testing on JVM works again
09:46 yoleaux lizmat: I'll pass your message to [Coke].
09:47 lizmat moritz: I'll try that after I'm done with fitness
09:47 lizmat afk for a few hours&
09:50 abraxxa1 joined #perl6
10:03 andreoss joined #perl6
10:07 azawawi moritz: what's the status of DBIish? Is it actively maintained or not?
10:08 moritz azawawi: it is
10:09 azawawi moritz: it seems to have been written by many authors over the years though since the coding style is not consistent
10:09 moritz azawawi: that's correct
10:10 azawawi moritz: with your permissions, im going to start refactoring it :)
10:10 andreoss are we going to have a real DBI any time soon?
10:14 dayangkun_ joined #perl6
10:14 andreoss i've read somewhere that DBI will be implemented in moarvm but cannot find it now
10:14 moritz azawawi: what do you want to refactor?
10:15 moritz andreoss: the plan was to use the JDBC API as the interface between DBI and the DB backends
10:15 moritz andreoss: but that's not a task I'm going to tackle, so I don't know when/if it'll happen
10:15 azawawi moritz: several classes are inside one file, moved to their own files (e.g. mysql)
10:16 azawawi moritz: mysql -> MySQL
10:16 azawawi moritz: kebab-case
10:16 azawawi moritz: add instructions for windows
10:16 moritz azawawi: as long as those classes are rather small, I'd rather keep them in separate files
10:16 moritz azawawi: and I'm fine with adding kebab-cased APIs, but please don't break backwards compatbility
10:17 moritz azawawi: instructions for windows are fine
10:17 moritz s/separate/common/
10:17 azawawi moritz: and improve documentation for newbies on different platforms
10:19 azawawi moritz: i will work on my own fork and then submit a PR.... to be safe :)
10:23 El_Che please don't go the python way, where it's stdlib is fairly inconsisting in the naming of methods and functions (capitals, not capitals, etc)
10:23 timotimo the stdlib is something that makes people sad
10:24 ely-se I don't want people to be sad. :(
10:25 arnsholt Well, with Perl 6 there's not really going to be all that much of a stdlib. Which is probably going to give us other problems instead =)
10:25 timotimo it's where code goes to die :)
10:25 timotimo oh hey arnsholt
10:25 azawawi moritz: which modules are using atm DBIish?
10:26 JimmyZ time to rename DBIish to DBI? :P
10:27 CIAvash joined #perl6
10:27 arnsholt o/ timotimo
10:28 moritz azawawi: dunno; some of my scripts (non-modules) use it
10:30 timotimo whenever i wanted to do something with databases from perl6, i used DBIish
10:34 [Sno] lizmat, moritz - confirming local test that perl6 runs on target :)
10:37 Actualeyes joined #perl6
10:37 andreoss left #perl6
10:44 timotimo m: say slurp() ~~ m:i:g/<[sno]>/
10:44 camelia rakudo-moar c9cb7f: OUTPUT«(「s」 「n」 「s」 「o」 「o」 「n」 「n」 「n」 「n」 「s」 「s」 「n」 「n」 「n」 「s」 「o」 「s」 「o」 「n」 「n」 「o」 「s」 「o」 「N」 「s」 「s」 「o」 「n」 「o」 「n」 「s」 「n」…»
10:44 timotimo m: say slurp() ~~ m:i:g:m/<[sno]>/
10:44 camelia rakudo-moar c9cb7f: OUTPUT«(「s」 「n」 「s」 「o」 「o」 「n」 「n」 「n」 「n」 「s」 「s」 「n」 「n」 「n」 「s」 「o」 「s」 「o」 「n」 「n」 「o」 「s」 「o」 「N」 「s」 「s」 「o」 「n」 「o」 「n」 「s」 「n」…»
10:44 timotimo m: say (slurp() ~~ m:i:g:m/<[sno]>/)>>.Str.join
10:44 camelia rakudo-moar c9cb7f: OUTPUT«snsoonnnnssnnnsosonnosoNssononsnnnonnnsoosnsoosononnonsnsoNsoónsssssosonósnsnnnsnnnsooNoonsóosnonsonnnoossnnnnnsóSosoonnnsooSnSnoónnnonsnssonnnoooosnosssóoonnnnnnsoo␤»
10:45 timotimo m: say (slurp() ~~ m:i:g:m/<[tux]>/)>>.Str.join
10:45 camelia rakudo-moar c9cb7f: OUTPUT«ttúutuuuttúúúutttttuútuúttútttttutúuttttúttúTttutuututt␤»
10:45 timotimo m: say (slurp() ~~ m:i:g:m/<[coke]>/)>>.Str.join
10:45 camelia rakudo-moar c9cb7f: OUTPUT«CééeoCoecéEeocococoeeoccoceoeooeocoeoccoceococeoeóecceoeceoeóéeeeoooéoecóoeécoeceeoéééocoeeéeóeeooceeoeoooócoeéoeeoocoocecoceeóeooeoo␤»
10:48 pink_mist snusnu?
10:48 timotimo m: say (slurp() ~~ m:i:g:m/<[snu]>/)>>.Str.join
10:48 camelia rakudo-moar c9cb7f: OUTPUT«snsnúnnnussnnnsusnnsNuussúnúúnsnnnunnnssnssnnnnsnusúNsnsussssúsnsnsúnnnsnnnsNnssnunsnnúnssnunnnnsSsnnnsSnSnúnnnnsnssnnnúsnssusunnununnns␤»
10:48 timotimo m: say (slurp() ~~ m:i:g:m/<[snu]><[snu]>/)>>.Str.join(" ")
10:48 camelia rakudo-moar c9cb7f: OUTPUT«ún us nn Nu ún nn nn nn ún nn ns ún nu nn nn ún us nn␤»
10:48 timotimo m: say (slurp() ~~ m:i:g:ov:m/<[snu]><[snu]>/)>>.Str.join(" ")
10:48 camelia rakudo-moar c9cb7f: OUTPUT«ún us nn Nu ún nn nn nn ún nn ns ún nu nn nn ún us nn␤»
10:51 eliasr joined #perl6
10:56 Peter_R joined #perl6
10:58 TEttinger no no, I swear perl 6 is more legible this time!
10:58 TEttinger and then we get say (slurp() ~~ m:i:g:m/<[snu]><[snu]>/)>>.Str.join(" ")
10:59 timotimo m: say (slurp() ~~ m/ :ignorecase :global :ignoremark <[snu]><[snu]> /).map(*.Str).join(" ")
10:59 camelia rakudo-moar c9cb7f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/U_YfeQz3dr␤Unrecognized regex modifier :global␤at /tmp/U_YfeQz3dr:1␤------> 3say (slurp() ~~ m/ :ignorecase :7⏏5global :ignoremark <[snu]><[snu]> /).map␤»
10:59 timotimo m: say (slurp() ~~ m:global:overlap/ :ignorecase :ignoremark <[snu]><[snu]> /).map(*.Str).join(" ")
10:59 camelia rakudo-moar c9cb7f: OUTPUT«ún us nn Nu ún nn nn nn ún nn ns ún nu nn nn ún us nn␤»
10:59 timotimo better?
11:00 TEttinger well, no, but it's still impressive
11:00 timotimo at some point all i can say is "well, it's not python or java" :)
11:01 TEttinger I primarily use clojure and people complain about how many non-alnum glyphs it uses
11:01 timotimo oh?
11:01 timotimo i haven't looked at clojure much, i know it uses ( ) [ ] ! and ? at least, and the -, too
11:01 TEttinger yeah, not perl people, but java/python people
11:01 timotimo though - could in some cases be called "alnum glyph"
11:02 timotimo or rather "honorary alnum glyph"
11:02 TEttinger yeah, it's a lisp, so you have () surrounding function/macro calls
11:02 timotimo oh, and ' for quote, of course
11:02 TEttinger but clojure also has [] for list-like vector literals, which mostly remove the need for quoted lists
11:02 timotimo i remember that part so far
11:02 timotimo m-expressions! :P
11:03 TEttinger {} for hash-maps, #{} for hash-sets, #() for anonymous fn shorthand, :keyword-or-something as a special interned string meant to be used as a key in an associative collection (map or set)
11:04 timotimo ah, that :foo thing is usually called "a symbol", right?
11:04 TEttinger not quite, symbols are things like +
11:04 TEttinger or map
11:04 timotimo oh
11:04 TEttinger they're names of identifiers
11:04 TEttinger usually they need the ' quote to be used
11:04 timotimo OK
11:05 TEttinger < and > notably just mean less than and greater than... except when used for arrow stuff
11:05 TEttinger (-> 1 (* 2) (+ 3))
11:05 timotimo ah?
11:05 timotimo what kind of thing do you get from that?
11:05 TEttinger is the same as (+ (* 1 2) 3)
11:05 TEttinger -> passes an arg through multiple function bodies
11:06 TEttinger it's a relatively simple macro and perl if it doesn't already have it will as soon as macros are done
11:06 timotimo i don't quite understand why it'd pull the + out in front there
11:06 TEttinger prefix notation, that's a later call
11:06 timotimo oh, huh
11:07 timotimo a full-on shuffle
11:07 TEttinger pretty much
11:07 TEttinger -> helps keep that stuff legible
11:07 timotimo oh, now i get it
11:07 TEttinger there's a variant that puts the arg at the end instead of the beginning of the argument lists
11:07 timotimo you read it kind of like "with a 1, first multiply it by 2, then add 3 to it"
11:07 TEttinger yep!
11:07 timotimo now that makes a whole lot of sense
11:08 TEttinger it's one of the best uses for macros that makes things simpler, changing order to improve clariy
11:08 TEttinger clarity
11:08 timotimo m: say 10.&infix:<*>(2).&infix:<+>(3)
11:08 camelia rakudo-moar c9cb7f: OUTPUT«23␤»
11:08 TEttinger macros often make things more complex
11:08 timotimo basically that :)
11:08 TEttinger yes
11:09 TEttinger perl is amazing at the string stuff
11:09 timotimo even if this isn't a string of characters, but a string of operations :D
11:09 TEttinger yeah, mostly still amazed by how you had u with an accent without typing it up above
11:09 timotimo hah
11:10 timotimo that's ignoremark at work
11:10 timotimo any PCRE-using language ought to have that
11:10 TEttinger would it ever make the s with comma underneath?
11:10 TEttinger or c with cedilla?
11:10 timotimo it could, it's just not in the input file
11:10 timotimo let me see how i type that with neo2
11:11 rindolf joined #perl6
11:11 timotimo m: say "çṣ" ~~ m:ignoremark:global/ <[sno]> /;
11:11 camelia rakudo-moar c9cb7f: OUTPUT«(「ṣ」)␤»
11:11 timotimo m: say "çṣ" ~~ m:ignoremark:global/ <[snoc]> /;
11:11 camelia rakudo-moar c9cb7f: OUTPUT«(「ç」 「ṣ」)␤»
11:11 RabidGravy apparently, DBIish is depended on by "DB::Model::Easy", "Task::Star", "DB::ORM::Quicky", "Slang::SQL", "Lingua::Unihan"
11:12 TEttinger neat
11:16 timotimo for reference, this is the source string:
11:16 timotimo m: say slurp
11:16 camelia rakudo-moar c9cb7f: OUTPUT«Céad slán ag sléibhte maorga Chontae Dhún na nGall␤Agus dhá chéad slán ag an Eireagal ard ina stua os cionn caor is coll;␤Nuair a ghluais mise thart le Loch Dhún Lúich’ go ciúin sa ghleann ina luí␤I mo dhiaidh bhí gleanntáin ghlas’ G…»
11:16 TEttinger ohhh
11:21 RabidGravy I think, JSON::Tiny wins in the most depended up module though
11:21 timotimo probably
11:21 timotimo also, JSON::Fast won't ever be able to catch up :P
11:21 RabidGravy I'll do a proper list later, going shopping in a bit
11:24 ely-se joined #perl6
11:28 _mg_ joined #perl6
11:33 CIAvash joined #perl6
11:36 dalek rakudo/nom: 6f8030b | lizmat++ | src/core/Str.pm:
11:36 dalek rakudo/nom: Proper fix for JVM breakage, moritz++
11:36 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6f8030b467
11:37 jnthn morning, #perl6
11:38 jnthn ooh, no messages :)
11:38 timotimo oh hey jnthn
11:39 lizmat jnthn o/
11:49 |Tux| timotimo, any special reason you used my nick in that split, as in: do you have a question?
11:50 timotimo sorry, it's just the people who have [ ... ] around their nicknames
11:50 timotimo no disturbance intended
11:51 timotimo (just because [ ] used to be character classes)
11:52 woolfy jnthn ohey
11:53 timotimo obey jnthn
11:59 jnthn timotimo: Indeed. Now, fix 10 RTs! :P
12:00 timotimo since you didn't tell me to fix 10 existing RTs, i'll just write up some useless RTs and fix them as NOTABUG :P
12:01 jnthn Which just shows that it doesn't matter what metric you pick for anything, people will find a way to game it. :-)
12:02 moritz ah, the funny stories about companies that tried to measure development productivity by number of commits
12:02 timotimo "you removed a thousand lines, so you owe us bigtime, buddy!"
12:03 zacts joined #perl6
12:04 * jnthn remembers the time he removed 300,000 lines of C# and 10,000 lines of SQL at one client... Using Perl 6 scripts to do hacky dependency analysis and instrumentation on the code. :)
12:05 jnthn hm, I wonder if https://rt.perl.org/Ticket/Display.html?id=122891 is magically fixed by \r\n being a grapheme :)
12:05 jnthn m: say "a\n" ~~ /^^\s*$$/
12:05 camelia rakudo-moar 6f8030: OUTPUT«Nil␤»
12:05 jnthn m: say "a\r\n" ~~ /^^\s*$$/
12:05 camelia rakudo-moar 6f8030: OUTPUT«Nil␤»
12:05 jnthn yay :)
12:06 jnthn For once it fixes something rather than breaks something :P
12:08 Skarsnik joined #perl6
12:09 dalek roast: db7683e | jnthn++ | S05-metachars/line-anchors.t:
12:09 dalek roast: Test for RT #122891.
12:09 dalek roast: review: https://github.com/perl6/roast/commit/db7683ec69
12:09 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=122891
12:10 xpen joined #perl6
12:13 jnthn One more xmas RT falls :)
12:14 jdv79 m: Array.new(|[456]).perl.say; Hash.new(|{:baz(456)}).perl.say
12:14 camelia rakudo-moar 6f8030: OUTPUT«[456]␤{}␤»
12:14 jdv79 that seems inconsistent to m
12:14 jdv79 e
12:14 timotimo very good, now you'll only have to do another ~0.7 RTs today, jnthn ;)
12:14 jnthn I did 2 yesterday ;)
12:15 timotimo oh!
12:15 timotimo oops. we should turn off your internet connection for a day, in that case!
12:15 lizmat that wold leave .4 for today then  :-)
12:15 lizmat *would
12:16 jnthn I'm going to kick https://rt.perl.org/Ticket/Display.html?id=123154 off the xmas RT list 'cus I fixed it on Moar, then it got re-opened and tagged JVM only
12:17 moritz +1
12:17 jnthn If anyone wants a hint where to fix it on JVM, I can provide one.
12:19 sufrostico joined #perl6
12:21 lizmat jnthn: perhaps add the hint to the ticket ?
12:21 lizmat if not for yourself down the line ?
12:24 _mg_ joined #perl6
12:25 jnthn lizmat: I'd have to look stuff up to give it :)
12:25 jnthn Though, could do I guess
12:26 lizmat it's sort of fresh in your mind now  :-)
12:26 * jnthn noted the Moar commit that fixed it on the ticket
12:26 jdv79 Hash.new((|$h)) # that sort of thing seems wonky
12:27 jnthn jdv79: If you add an extra pair of parens, you're making a Slip
12:28 jdv79 i have to in this case
12:28 jdv79 becaues of what i mentioned above
12:28 jdv79 maybe someday it'll make sense but to a newbie that does not
12:28 jnthn Right, |{...} passed named args, but the Hash constructor expects a list of pairs
12:29 jdv79 yet the array constructor can take [] or |[] just fine
12:29 jdv79 just weird
12:29 jnthn |[] also results in positional arguments
12:30 * jnthn will be gone for a few hours
12:30 jdv79 more to my point - why doesn't Hash.new(:a(123)) work?
12:30 jdv79 it just feels wrong.  probably me.
12:31 lizmat jdv79: I would be in favour of special casing Hash.new to take all its named params to populate the hash
12:32 lizmat in fact, signature packing would already have done that, so it would be even cheaper  :-)
12:34 jdv79 m: Array.new(1,2,3).say; Array.new([1,2,3]).say; Array.new(|[1,2,3]).say; # seems ok
12:34 camelia rakudo-moar 6f8030: OUTPUT«[1 2 3]␤[1 2 3]␤[1 2 3]␤»
12:35 jdv79 m: Hash.new(:a(123)).say; Hash.new({:a(123)}).say; Hash.new(|{:a(123)}).say; # wut
12:35 camelia rakudo-moar 6f8030: OUTPUT«␤a => 123␤␤»
12:36 pRiVi joined #perl6
12:36 nine joined #perl6
12:37 arnsholt joined #perl6
12:38 jdv79 tell, me that's not inconsistent;)  or why it has to be that way.  either way it should be doc'ed i think.
12:38 kid51 joined #perl6
12:39 ilogger2 joined #perl6
12:39 jdv79 but lunch i think.  gettin tired fast. &
12:40 kaare_ joined #perl6
12:42 azawawi joined #perl6
12:42 azawawi hi
12:42 azawawi moritz: initial refactor https://github.com/azawawi/DBIish/tree/master/lib/DBDish without pg
12:47 dalek rakudo/nom: d2b4941 | lizmat++ | src/core/ (2 files):
12:47 dalek rakudo/nom: PROP/PVALCODE internal subs to Rakudo::Internals
12:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d2b49411f3
12:48 caymanboy joined #perl6
12:48 woolfy left #perl6
12:51 Zoffix .tell moritz would it be possible to glance at update-modules.perl6.org that's run by cron? I just wanna check my modifications integrate well with it and will offer any updates to that file once the app is ready
12:51 yoleaux Zoffix: I'll pass your message to moritz.
12:51 lizmat $ 6 'dd Hash.new(:42a)'
12:51 lizmat Hash $var = {:a(42)}
12:51 lizmat jdv79: ^^^
12:52 lizmat $ 6 'dd Hash.new((:666b),:42a)'
12:52 lizmat Cannot mix positional and nameds in Hash.new
12:52 moritz Zoffix: http://perlpunks.de/paste/show/5641e88b.3530.2e0
12:52 yoleaux 12:51Z <Zoffix> moritz: would it be possible to glance at update-modules.perl6.org that's run by cron? I just wanna check my modifications integrate well with it and will offer any updates to that file once the app is ready
12:52 Zoffix Thanks.
12:55 grondilu m:  say (foo => "bar") . hash<foo>;  # not sure if &[.] is supposed to be reckognized here
12:55 camelia rakudo-moar d2b494: OUTPUT«5===SORRY!5=== Error while compiling /tmp/nxMPshQ9O8␤Missing required term after infix␤at /tmp/nxMPshQ9O8:1␤------> 3say (foo => "bar") . hash<foo>7⏏5;  # not sure if &[.] is supposed to be ␤    expecting any of:␤        prefix␤      …»
12:55 Celelibi joined #perl6
12:56 grondilu m:  say (foo => "bar") . hash . <foo>;
12:56 camelia rakudo-moar d2b494: OUTPUT«5===SORRY!5=== Error while compiling /tmp/YDqHsTOASA␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at /tmp/YDqHsTOASA:1␤------> 3say (foo => "bar") . hash . <7⏏5foo>;␤»
12:56 grondilu m:  say (foo => "bar") . hash.<foo>;
12:56 camelia rakudo-moar d2b494: OUTPUT«5===SORRY!5=== Error while compiling /tmp/NeweuHrbky␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at /tmp/NeweuHrbky:1␤------> 3say (foo => "bar") . hash.<7⏏5foo>;␤»
12:56 grondilu m:  say (foo => "bar") . hash .{foo};
12:56 camelia rakudo-moar d2b494: OUTPUT«5===SORRY!5=== Error while compiling /tmp/w2mt5uyquk␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at /tmp/w2mt5uyquk:1␤------> 3say (foo => "bar") . hash .{7⏏5foo};␤»
12:56 grondilu m:  say (foo => "bar") .hash .{foo};
12:56 camelia rakudo-moar d2b494: OUTPUT«5===SORRY!5=== Error while compiling /tmp/MPhBzGvqhG␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at /tmp/MPhBzGvqhG:1␤------> 3say (foo => "bar") .hash .{7⏏5foo};␤»
12:57 grondilu m:  say (foo => "bar") .hash .{"foo"};
12:57 camelia rakudo-moar d2b494: OUTPUT«5===SORRY!5=== Error while compiling /tmp/mJ0BhZwA7l␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at /tmp/mJ0BhZwA7l:1␤------> 3say (foo => "bar") .hash .{7⏏5"foo"};␤»
12:58 s_kilk joined #perl6
12:59 s_kilk So, I was looking at the source-code for the UUID module, and noticed a cool looking '>>' operator https://github.com/retupmoca/P6-UUID/blob/master/lib/UUID.pm6#L26 , but I can't find any reference to it on doc.perl6.org. Am I losing it, or is there no documentation for that op? I'm pretty sure I'm losing it.
13:01 moritz s_kilk: it's actually not >>, but >>.
13:01 moritz s_kilk: and it means "call a method on each of these values, possibly in parallel"
13:01 s_kilk ah, now that's cool
13:02 moritz and yes, might not be documented properly
13:02 moritz we are still missing lots of docs :(
13:02 s_kilk Ah, ok, that's understandable
13:02 s_kilk is there a deeper source of documentation that might be more raw than doc.perl6.org, but closer to the spec?
13:03 s_kilk probably the spec and test suite itself, really
13:04 moritz right
13:04 moritz design.perl6.org
13:05 s_kilk thanks
13:07 s_kilk And there it is: http://design.perl6.org/S17.html . thanks for the help.
13:16 dalek rakudo/nom: 7099c76 | lizmat++ | src/core/Map.pm:
13:16 dalek rakudo/nom: Streamline Map.new, for better inlining
13:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7099c76f71
13:17 [Coke] .botsnack
13:17 yoleaux 09:46Z <lizmat> [Coke]: testing on JVM works again
13:17 yoleaux :D
13:17 synbot6 om nom nom
13:17 [Coke] (thanks, lizmat++)
13:18 lizmat in the end, it was a 4 char patch
13:20 telex joined #perl6
13:25 ely-se I wish yoleaux and synbot6 both replied to ".botsnack" with ".botsnack"
13:25 synbot6 om nom nom
13:29 moritz we've had bot loops in the past. It was no fun :(
13:29 ely-se nice :D
13:29 dbrock- joined #perl6
13:30 DrForr .botcrack
13:33 dbrock- joined #perl6
13:36 timotimo lizmat: oh, .STORE will return self?
13:36 lizmat yes
13:36 timotimo good catch!
13:37 * lizmat double checks
13:37 timotimo oh, also, will using the *% for Hash's new method prevent subclassing Hash? because usually you'll have self.bless or nqp::create(self) somewhere
13:37 timotimo er, as in: method new(*%contents) { return %contents }
13:38 RabidGravy joined #perl6
13:38 lizmat well, I tried that already, but *% does not have containers for values
13:38 timotimo oh!
13:38 azawawi moritz: so even $sth.fetchrow is not needed since we can say $sth.rows[0], right?
13:38 timotimo yeah, that's trouble
13:39 RabidGravy So the top ten most depended on modules are JSON::Tiny, XML, File::Temp, MIME::Base64, URI, File::Find, Digest, LWP::Simple, HTTP::Easy, LibraryMake
13:39 andreoss joined #perl6
13:40 kjs_ joined #perl6
13:40 moritz azawawi: depends on what you mean by "not needed"
13:40 azawawi moritz: deprecated that is
13:40 moritz azawawi: if you don't want the previous rows to be in memory, the .fetchrow interface might still be easier
13:40 azawawi moritz: one thing, why fetchrow, not fetch-row? :)
13:40 moritz azawawi: I don't think it's deprecated. See my earlier notice about staying backwards compatible
13:41 lizmat I haven't looked at DBIish, but would having the resultset being an Iterable (with an iterator) solve all of the issues ?
13:41 moritz azawawi: because it's part of the p5 DBI API emulation
13:41 moritz azawawi: and if we don't encourage folks to use it, there's no need to rename the methods
13:41 azawawi moritz: i see
13:41 dbrock- joined #perl6
13:42 moritz don't modernize compatiblity APIs :-)
13:42 azawawi moritz: so you want database code written in Perl to be easily moved to Perl 6, right?
13:42 moritz azawawi: that, and I don't want to break any current users
13:42 moritz unless for *very* good reasons. "This is a shinier name" is not a very good reason.
13:42 azawawi moritz: in that case, why not introduce a compatibility role that does that?
13:43 azawawi but it is shiny :)
13:43 lizmat m: sub a(*%h) { dd %h; %h }; a(:42a)<a> = 666   # timotimo
13:43 camelia rakudo-moar 7099c7: OUTPUT«Hash $var = {:a(42)}␤Cannot modify an immutable Int␤  in block <unit> at /tmp/hB3i_iwaHl:1␤␤»
13:44 azawawi lizmat: i always say less code is better code until less code is not readable
13:44 timotimo right
13:44 moritz azawawi: IMHO we can have three APIs: a low-level API that a driver must provide, the compatiblity methods, and a shiny API (.rows or .all or so being a Seq)
13:44 timotimo so no problem :)
13:44 moritz azawawi: the latter two can be provided by roles
13:44 azawawi moritz: so basically i will make DBI::Easy :)
13:45 dbrock- joined #perl6
13:45 Skarsnik RabidGravy, interesting. maybe it could be show in a way in modules.perl6.org? I mean when I had to choose a JSON module I was like "wich on is the most commonly used/maintened/not a pet test
13:46 jdv79 an old cpan problem
13:46 moritz which would show CGI.pm with a huge number
13:47 moritz even though one probably doesn't want that module for new code
13:48 lizmat is there a reason we don't have an Any.iterator?   method iterator(Any:D:) { self.list.iterator } ?
13:48 jdv79 temporal decay mixed in may help
13:49 Skarsnik well for stuff like a JSON module it could be a tag: 'used in perl6 common tools' to mean it used in panda so it's probably well maintened
13:49 jdv79 no
13:50 azawawi Skarsnik: that's why we added github stars columns :)
13:50 jdv79 a lot of crappy code is used in common tools
13:50 jdv79 ratings help.  reviews would help.
13:51 moritz and the module with the most github stars has them because hackernews liked the readme
13:51 jdv79 stars are not good.  exactly.
13:51 moritz (fwiw I like the readme too :-)
13:52 azawawi any ratings system can be eventually spoofed... look at google search results
13:52 jdv79 cpan, the ecosystem, has better solutions
13:54 RabidGravy well if anyone wants to play with the deps then it's https://gist.github.com/jonathanstowe/f198f80ac53ed0b74b3e
13:55 azawawi jdv79: what about knowing whether this module has great documentation or not?
13:55 jdv79 namely metacpan's search
13:56 jdv79 sounds like kwalitee
13:56 jdv79 a lot of this has been done
13:57 Skarsnik is there a nice way to export/import the list of module installed?
13:58 Zoffix Skarsnik, panda list --installed
13:59 Zoffix huh
13:59 Zoffix Skarsnik, panda --installed list
14:02 zakharyas joined #perl6
14:05 AlexDaniel joined #perl6
14:06 moritz awwaiid: it would help to ahve a rating system that doesn't spoof itself :-)
14:09 Skarsnik I don't want to be rude, but maybe remove 'pet'/deprecated module? I mean why there is so much JSON module? like JSON::Pretty, JSON::Fast, JSON::Faster?
14:10 Zoffix jdv79, was it you who made a blog post somewhere about MetaCPAN for P6?
14:11 jdv79 yeah.  ive been distracted.  hope to get back to it soon.
14:11 Zoffix I was wondering what, if any, progress has been made to make it. And is there a contributable repo?
14:11 jdv79 yeah
14:11 jdv79 im at lunch on my phone.  later we could talk more:)
14:11 Zoffix Sure
14:12 Zoffix jdv79, I'm almost done with mojo-app powered version of modules.perl6.org; was just wondering how many bells and whistles I should bother adding to it :P
14:12 Zoffix If there's a P6 MetaCPAN in works, I rather contribute to that.
14:14 mrf Skarsnik: The question is who decides which ones get removed?
14:14 RabidGravy I'd say it's too early to even think about that
14:15 Zoffix There will be rotting crap always; look at P5's CPAN. just let it happen :)
14:15 mrf I agree.
14:19 dalek ecosystem: 6a89179 | (Kamil Kułaga)++ | META.list:
14:19 dalek ecosystem: Added Pod::Coverage
14:19 dalek ecosystem:
14:19 dalek ecosystem: See: https://github.com/teodozjan/pod6-coverage
14:19 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/6a89179950
14:20 Zoffix \o/
14:21 yqt joined #perl6
14:25 andreoss m: say || \\(1)
14:25 camelia rakudo-moar 7099c7: OUTPUT«\(1)␤»
14:25 andreoss m: say || || \\(1)
14:25 camelia rakudo-moar 7099c7: OUTPUT«\(1)␤»
14:27 khw joined #perl6
14:28 andreoss m: say || \(\(1))
14:28 camelia rakudo-moar 7099c7: OUTPUT«\(1)␤»
14:28 andreoss m: say ||( || \(\(1)))
14:28 camelia rakudo-moar 7099c7: OUTPUT«\(1)␤»
14:29 Skarsnik_ joined #perl6
14:31 andreoss how to resolve Capture of a Capture?
14:31 andreoss m: say ||( (|| \(\(1)))[0] )
14:31 camelia rakudo-moar 7099c7: OUTPUT«1␤»
14:33 mr_ron joined #perl6
14:33 dalek modules.perl6.org/mojo-app: 48f1839 | (Zoffix Znet)++ | mojo-app/ (9 files):
14:33 dalek modules.perl6.org/mojo-app: App now passes all but one tests in t/02-app-home-page.t
14:33 dalek modules.perl6.org/mojo-app: review: https://github.com/perl6/modules.perl6.org/commit/48f18395a4
14:33 Zoffix Time to play Fallout 4 \o/
14:35 ugexe Zoffix: truuuu
14:35 andreoss m: \\\1
14:35 camelia rakudo-moar 7099c7: OUTPUT«Potential difficulties:␤    To refer to a positional match capture, just use $0 (numbering starts at 0).␤    Parenthesize as \(...) if you intended a capture of a single numeric value.␤    at /tmp/U2oaEMlUay:1␤    ------> 3\\\7⏏1␤»
14:35 andreoss strange warning
14:38 lizmat it's really for people coming from P5
14:40 virtualsue joined #perl6
14:42 dbrock- joined #perl6
14:44 zengargoyle i'm still a little afraid of POD6, don't know which parts of the spec are implemented or not.
14:45 dbrock- joined #perl6
14:45 zengargoyle like =data not being there yet but a #| comment magically putting a code snippet in my README.md
14:45 ugexe try { run("asdf"); }; say 1 # should this reach `say 1`?
14:46 moritz ugexe: ah, it's because run() returns something that, in sink context, blows up
14:47 moritz a Proc object, to be exact
14:47 moritz we've fixed that for Failure, but seemingly not for Proc
14:47 ugexe yea, but why do i have to catch it to prevent it from escaping the try
14:47 moritz because we haven't yet given it the same treatment as Failure
14:47 moritz and we probably should
14:47 xpen joined #perl6
14:48 timotimo right, try turns on "use fatal" inside the block, and that doesn't seem to work properly with the proc thing
14:48 ugexe wouldnt calling method sunk (or the exception inside it) only once fix it?
14:49 flussence should, imo
14:49 timotimo ah, so it's just missing a little attribute "already-sunk"
14:49 moritz no
14:50 moritz I don't think that try { run("asdf"); }; calls sink inside the try block at all
14:50 timotimo oh, of course, it's not sink that gets called
14:50 moritz because sink context doesn't propagate inwards (yet?)
14:50 timotimo i forget what our code-gen does, exactly
14:50 moritz it's only the outside that's sunk
14:50 timotimo p6fatalize
14:51 timotimo gee, thanks
14:51 rindolf joined #perl6
14:51 moritz "layer of indirection"
14:52 ugexe hmm. the other thing about it that bugs me is that i cant reuse the Proc that the exception gives me. if i try to use the Proc object outside of the catch later (to examine WHY it failed for instance) it will throw the exception again
14:52 timotimo ah, that's in the actions
14:52 sprocket joined #perl6
14:53 advwp joined #perl6
14:53 timotimo yeah, if istype($thing, failure) { $thing.sink }
14:53 timotimo so since run doesn't return a failure-istype-ing thing, we don't sink it inside the try
14:54 moritz maybe we need a common role for "blows up in sink context"
14:54 moritz let's call it "Titanic"
14:54 ugexe adding a `so` before run makes it work as i would expect
14:54 PerlJam .oO( SinkHole )
14:54 timotimo sure
14:54 flussence .oO( Cat )
14:55 timotimo that forces the sinkness to happen earlier
14:55 timotimo not ideal, of course
14:55 timotimo cats only blow up in the sink if you turn on the water
14:57 timotimo and then, not all cats do that
14:57 flussence see? perfect metaphor for the average command line program! :)
15:01 lizmat timotimo: indeed, my sister has cats that sit in the sink waiting for you to put on the water tap
15:03 timotimo tee hee
15:03 timotimo the kitties i hang out with regularly don't like water too much
15:06 huf dont like it on them, or dont like it at all? most cats like to paw at water at least
15:06 timotimo i know they don't like it on them
15:07 timotimo letting drops fall onto one of them makes him twitch his back a bunch, but he doesn't jump up and run away or anything
15:08 ugexe ahh on windows that try { run "asdf" }; returns exit code -16 instead of -1
15:08 zengargoyle i had a kitten once that would stand outside the shower mewing until you let it in to play in the rain.
15:08 timotimo d'aaw
15:13 RabidGravy our cat was very surprised once when she was young, she jumped in the bath thinking it was empty to find that it wasn't
15:15 timotimo there's this image series of a very concerned cat that has discovered his/her owner (well, slave, really) fell into water (a bathtub) and calls for help on their behalf %)
15:17 mr-foobar joined #perl6
15:19 isBEKaml joined #perl6
15:21 DrForr Percy absolutely *loves* her showers.
15:21 timotimo oh lord, percy :D
15:22 timotimo isn't that also the name of a cat in some disney movie?
15:23 timotimo a dog, actually
15:23 DrForr In this case she's a bird, actually.
15:24 timotimo ah
15:24 timotimo i know birds like to bathe (by necessity, i imagine), but shower is new to me :)
15:24 timotimo though of course birds get showered every now and then by regular rain
15:24 DrForr Indeed, and with a daddy who can make it rain whenever he wants...
15:29 dalek perl6-roast-data: 7ba7df9 | coke++ | / (9 files):
15:29 dalek perl6-roast-data: today (automated commit)
15:29 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/7ba7df9495
15:30 [Coke] RT--
15:35 [Coke] anything in the ecosystem that can deal with wget's saved cookie files?
15:35 timotimo not that i know, nah
15:36 timotimo except if it's a common format that we do have something for already
15:37 [Coke] do any of the http-aware modules do cookies? checking...
15:37 moritz I'm pretty sure LWP::UserAgent does
15:37 moritz 'cause I discussed cookie jar design with sergot++ back in the days
15:38 [Coke] LWP::UserAgent isn't listed on modules
15:38 dalek rakudo/nom: ed10656 | peschwa++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
15:38 dalek rakudo/nom: Correct caching logic for rwness-sensitive MMD.
15:38 dalek rakudo/nom:
15:38 dalek rakudo/nom: lizmat++ for pointing out this didn't work right yet.
15:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ed10656cef
15:39 [Coke] I assume it's provided by something else?
15:39 softmoth_ joined #perl6
15:39 psch almost feels like it could've been less effort to try and implement rwness-aware multicachefind... o.o
15:40 psch but that now actually passes S06-multi/by-trait.t, and roast was clean as well
15:40 skids joined #perl6
15:40 lizmat psch++
15:41 dbrock- ui sai i ca'e salci
15:41 dbrock- i ie tirna na la'a u'i gi'e te cusku
15:42 [Coke] moritz: do you mean HTTP::UserAgent?
15:42 dbrock- oops hahahaha sorry
15:44 moritz [Coke]: erm, yes
15:44 * zengargoyle wonders idly if POD =data could be implemented by cloning =code and tweaking things.
15:45 Skarsnik HTTP::Ua has the http::cookies stuff x)
15:46 lizmat zengargoyle: that feels like that could work
15:46 [Coke] (nice having so much stuff already in the ecosystem, even if it's not everything)
15:47 RabidGravy yeah HTTP::UserAgent does the cookies, no persistent cookie jar as yet.  There may also be a bug in the parsing for some content
15:48 Skarsnik also $.cookies is not writable ~~
15:50 muraiki joined #perl6
15:52 RabidGravy Skarsnik, it is now
15:52 psch m: multi foo(Int $x is rw) { say "writable" }; multi foo(Int $x) { "readonly" }; say foo(42); foo my $ = 42;
15:52 camelia rakudo-moar ed1065: OUTPUT«readonly␤writable␤»
15:54 RabidGravy like right now
15:54 Skarsnik RabidGravy, I mean I did not test yet, but I am not I could write $ua.cookies.set-cookie("stuff");
15:56 * [Coke] sees a weird error out of http::useragent:
15:56 [Coke] err code: 0
15:56 [Coke] error:00000000:lib(0):func(0):reason(0)
15:56 * [Coke] wonders what tier that's even coming from.
15:56 RabidGravy nope, don't know
15:57 [Coke] I don't see docs on how to use a cookie jar with an http useragent. digging...
15:59 RabidGravy something like $ua.cookies = HTTP::Cookies(file => $somefile, autosave => True);
15:59 isBEKaml joined #perl6
15:59 RabidGravy but dunno if that's well tested
16:01 virtualsue left #perl6
16:01 Skarsnik joined #perl6
16:04 Skarsnik weird, only freenode disconnect me w)
16:15 Begi1116 joined #perl6
16:19 pippo left #perl6
16:20 retupmoca joined #perl6
16:21 dalek perl6-most-wanted: ae81cf8 | RabidGravy++ | most-wanted/modules.md:
16:21 dalek perl6-most-wanted: Add a few more WIPS
16:21 dalek perl6-most-wanted: review: https://github.com/perl6/perl6-most-wanted/commit/ae81cf89fe
16:21 dalek perl6-most-wanted: d23ea2c | RabidGravy++ | most-wanted/modules.md:
16:21 dalek perl6-most-wanted: Merge branch 'master' of github.com:perl6/perl6-most-wanted
16:21 dalek perl6-most-wanted: review: https://github.com/perl6/perl6-most-wanted/commit/d23ea2c71c
16:23 hoelzro o/ #perl6
16:23 RabidGravy rarr!
16:24 lizmat m: .say for Mu   # is this a bug or not ?
16:24 camelia rakudo-moar ed1065: OUTPUT«Method 'map' not found for invocant of class 'Mu'␤  in block <unit> at /tmp/UQmw9mG9aU:1␤␤»
16:24 lizmat All tests successful.
16:24 lizmat Files=1074, Tests=50141, 236 wallclock secs (12.91 usr  3.81 sys + 1442.08 cusr 131.04 csys = 1589.84 CPU)
16:24 lizmat whee!
16:25 rarara_ joined #perl6
16:26 eliasr joined #perl6
16:26 sprocket joined #perl6
16:27 Skarsnik I think what should be added in most wanted feature : something to 'automatize' the creation of Binding modules x)
16:27 dalek rakudo/nom: 326a744 | lizmat++ | src/core/ (7 files):
16:27 dalek rakudo/nom: You want an iterator?  Just ask for one!
16:27 dalek rakudo/nom:
16:27 dalek rakudo/nom: There were many places in the code doing a ternary checking for
16:27 dalek rakudo/nom: iterability, and if not, do .list.iterator instead of just .iterator .
16:27 dalek rakudo/nom: By putting an iterator method in Any, all of these ternaries can
16:27 dalek rakudo/nom: go, leading to less code to execute and better inlineability.  Of
16:27 dalek rakudo/nom: course, since Nil is no longer Any, it needed its own iterator method.
16:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/326a7444d8
16:27 timotimo yeah, there's already a C parser, Skarsnik
16:28 timotimo get to work! ;)
16:31 Skarsnik I looked at it and was thinking of getting only the part that parse definition of type/struct/enum and function declaration to parse C header. I am pretty sure most of the time you don't even need to resolve macro or other #include.
16:32 stmuk_ m: ++4
16:32 camelia rakudo-moar 326a74: OUTPUT«Parameter '$a' expected a writable container, but got Int value␤  in block <unit> at /tmp/G_2TxCC4VA:1␤␤»
16:33 Skarsnik but I am not sure how to write/modify the grammar to ignore the other stuff
16:33 stmuk_ I'm seeing a similar error to that as a regression with nom since niceville for nativecall
16:34 Skarsnik why Parameter $a?
16:34 psch m: say &prefix:<++>.params[0].perl
16:34 camelia rakudo-moar 326a74: OUTPUT«Method 'params' not found for invocant of class 'Sub+{Precedence}'␤  in block <unit> at /tmp/Y0K3QoCDeZ:1␤␤»
16:34 moritz say &prefix:<++>.signature.params[0].perl
16:34 moritz m: say &prefix:<++>.signature.params[0].perl
16:34 camelia rakudo-moar 326a74: OUTPUT«Mu $␤»
16:34 psch m: say &prefix:<++>.candidates[1].signature.params[0].perl
16:34 camelia rakudo-moar 326a74: OUTPUT«Mu:U $a is rw␤»
16:34 moritz that's the proto, I guess
16:35 moritz psch++ is ahead of me :-)
16:35 psch stmuk_: the "is rw" dispatch stuff should be fixed since about an hour or two ago, did you pull and rebuild with latest?
16:35 psch (although i don't know what might've cause the regression in Niceville)
16:36 stmuk_ psch: I just built about then but will retry anyway
16:41 mr_ron joined #perl6
16:42 psch m: multi f(Str $a is rw) { }; multi f(Int $b is rw) { }; f "foo" # this is a bit unfortunate, but afaiu should be resolvable when we have multicachefind rw-aware
16:42 camelia rakudo-moar 326a74: OUTPUT«Parameter '$b' expected a writable container, but got Str value␤  in block <unit> at /tmp/nDYADmSkif:1␤␤»
16:42 psch note it's only the name itself that gets mismatched, not the dispatch
16:43 psch i guess it's also fixable right now, but that'd need quite bit more bookkeeping than i'd like to figure out for a hopefully-not-permanent solution
16:44 stmuk_ yes! it works now
16:44 stmuk_ I must have just missed the fix
16:45 lizmat cycling&
16:48 ^elyse^ joined #perl6
16:52 timotimo oof. when snarky commit messages are the only piece of happyness you can get out of a piece of coding
16:56 RabidGravy :-O
16:57 RabidGravy I don't suppose there is any existing code that turns 'Foo::Bar' into 'Foo/Bar.pm' ?
16:57 timotimo you have to look it up via the meta's provides section
16:57 RabidGravy nah, not that
16:58 RabidGravy literally having a module name in hand (that I may e.g. want to create) and turn it into a pathname
16:59 timotimo choose a shiny path with a password creation algo or something, then put it into the provides section of the meta file :P
16:59 RabidGravy :-\
17:01 RabidGravy I'll just go with "($mod-name ~~ s:g/'::'/{ $*SPEC.dir-sep }/ ) ~ '.pm'" then
17:01 RabidGravy :)
17:01 timotimo what if the operating system you're on doesn't construct paths just by putting the dir-sep in between?
17:01 timotimo you should split by '::' and catpath the result, i think
17:01 kjs_ joined #perl6
17:01 Skarsnik why not pm6?
17:03 RabidGravy because I prefer .pm
17:03 timotimo you're so Rab!
17:04 timotimo Rabical!
17:04 RabidGravy Rabbitical
17:04 RabidGravy catfile though
17:09 RabidGravy there should be something which gives you '::'
17:09 timotimo m: say ":" x 2
17:09 camelia rakudo-moar 326a74: OUTPUT«::␤»
17:10 Skarsnik $*SPEC.modulesepforlazyrabid
17:11 zengargoyle Skarsnik: C::Parser doesn't do #define stuff, have to run it through gcc -E or such, then it might loose some of the #defines which should maybe turn into Enums.
17:12 * zengargoyle thinking out loud
17:12 RabidGravy zengargoyle, I looked at it a while back with regard to doing that
17:12 ilmari .oO( C::PreProcessor )?
17:13 timotimo you really want to do that to yourself?
17:13 timotimo or is that just something that uses gcc or clang for the job?
17:14 Skarsnik zengargoyle, well for extracting type/funct declarationg ignoring Preprocessor stuff could be enought x)
17:15 RabidGravy I got a bunch of scripts from extracting those parts from a .h file, but mostly hand made for each project
17:16 _mg_ joined #perl6
17:16 timotimo first i read "a bash script"
17:17 timotimo next thought was "NO WAY"
17:18 zengargoyle might be easier to take some other SWIG-like thing and add a Perl 6 backend??
17:18 Skarsnik probably
17:18 * zengargoyle not really sure
17:20 Skarsnik I looked at SWIG but it confuse me, the documentation mentionned writing a small program and SWIG will bind the two language. Not generate the binding file x)
17:20 timotimo isn't the thing about swig that it'll generate C code to bind C++ libraries and such?
17:20 zengargoyle h2xs :P
17:20 timotimo haxors
17:21 ^elyse^ joined #perl6
17:21 Skarsnik It supposed to be able to write perl5 binding
17:21 timotimo yeah, probably via XS
17:21 timotimo because what else was there back then
17:23 Skarsnik yes, but it generate the XS file, so it does seem a strech to assume we can make it generate perl6 nativecall code ~~
17:26 zengargoyle think it'll be a multi-step process though.  maybe parse information and dump somehow to give you the chance to rename things, patch up mistakes, etc.  then use that to generate bindings.
17:35 dalek nqp: b3c4902 | (Jens Rehsack)++ | / (3 files):
17:35 dalek nqp: introduce support for sdkroot and sysroot to support cross-builds
17:35 dalek nqp:
17:35 dalek nqp: To allow building for another location rather the final install prefix,
17:35 dalek nqp: regardless whether chroot based builds, cross-compile or canadian cross sdk
17:35 dalek nqp: is the goal, realize the difference between prefix, the sdk-root and the
17:35 dalek nqp: system root for final target.
17:35 dalek nqp:
17:35 dalek nqp: Signed-off-by: Jens Rehsack <sno@netbsd.org>
17:35 dalek nqp: review: https://github.com/perl6/nqp/commit/b3c49020f9
17:35 dalek nqp: 9f87bb9 | (Jens Rehsack)++ | tools/build/install-jvm-runner.pl:
17:35 dalek nqp: nqp-j: allow experienced user start with other libdir or jars
17:35 dalek nqp:
17:35 dalek nqp: To allow dedicated use of another NQP_DIR or another NQP_JAR list for e.g.
17:35 dalek nqp: cross-compiling NQP.
17:35 dalek nqp:
17:35 dalek nqp: Signed-off-by: Jens Rehsack <sno@netbsd.org>
17:35 dalek nqp: review: https://github.com/perl6/nqp/commit/9f87bb9455
17:35 dalek nqp: d380395 | moritz++ | / (4 files):
17:35 dalek nqp: Merge pull request #252 from rehsack/master
17:35 dalek nqp:
17:35 dalek nqp: introduce support for staging directories during build
17:35 dalek nqp: review: https://github.com/perl6/nqp/commit/d3803950e3
17:35 diana_olhovik joined #perl6
17:37 PerlJam lizmat: re tensorflow, I've been thinking about it, but my problem is always one of time and timing.   I wouldn't be unhappy if someone else did it though  :)
17:38 timotimo hm? using tensorflow for what?
17:39 PerlJam timotimo: provide a perl6 interface for it via NativeCall
17:39 timotimo oh, right
17:40 llfourn incase anyone hasn't seen it: https://www.youtube.com/watch?v=kwxHXgiLsFE # that p6 'release talk' from a few weeks ago finally got uploaded
17:41 hartenfels joined #perl6
17:42 timotimo i just watched it, but i had the feeling i had already seen it
17:43 hankache joined #perl6
17:44 dalek rakudo/nom: bb49e08 | (Jens Rehsack)++ | / (3 files):
17:44 dalek rakudo/nom: introduce support for sdkroot and sysroot to support cross-builds
17:44 dalek rakudo/nom:
17:44 dalek rakudo/nom: To allow building for another location rather the final install prefix,
17:44 dalek rakudo/nom: regardless whether chroot based builds, cross-compile or canadian cross sdk
17:44 dalek rakudo/nom: is the goal, realize the difference between prefix, the sdk-root and the
17:44 dalek rakudo/nom: system root for final target.
17:44 dalek rakudo/nom:
17:44 dalek rakudo/nom: Signed-off-by: Jens Rehsack <sno@netbsd.org>
17:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bb49e08b21
17:44 dalek rakudo/nom: 253e633 | (Jens Rehsack)++ | / (4 files):
17:44 dalek rakudo/nom: builder: add capability to work with staging directories
17:44 dalek rakudo/nom:
17:44 dalek rakudo/nom: To allow building for a staging root which might differ from host and tools to be used,
17:44 dalek rakudo/nom: be more careful about the PATH's to be used. This will allow cross-compiling rakudo
17:44 dalek rakudo/nom: using two builds of nqp: a native one in SDKROOT and a cross-compiled one in SYSROOT.
17:44 dalek rakudo/nom: Using host one remains untouched when run without --sysroot or --sdkroot, respectively.
17:44 dalek rakudo/nom:
17:44 dalek rakudo/nom: Signed-off-by: Jens Rehsack <sno@netbsd.org>
17:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/253e633911
17:44 dalek rakudo/nom: fa50048 | moritz++ | / (5 files):
17:44 dalek rakudo/nom: Merge pull request #580 from rehsack/nom
17:44 dalek rakudo/nom:
17:45 dalek rakudo/nom: add staging dir support for building
17:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fa500480bb
17:45 kjs_ joined #perl6
17:46 dalek star: f0def6d | (Jens Rehsack)++ | / (3 files):
17:46 dalek star: introduce support for sdkroot and sysroot to support cross-builds
17:46 dalek star:
17:46 dalek star: To allow building for another location rather the final install prefix,
17:46 dalek star: regardless whether chroot based builds, cross-compile or canadian cross sdk
17:46 dalek star: is the goal, realize the difference between prefix, the sdk-root and the
17:46 dalek star: system root for final target.
17:46 dalek star:
17:46 dalek star: Signed-off-by: Jens Rehsack <sno@netbsd.org>
17:46 dalek star: review: https://github.com/rakudo/star/commit/f0def6dc7b
17:46 dalek star: dc1ba76 | moritz++ | / (3 files):
17:46 dalek star: Merge pull request #53 from rehsack/master
17:46 dalek star:
17:46 dalek star: add staging dir support for building
17:46 dalek star: review: https://github.com/rakudo/star/commit/dc1ba76ac0
17:48 RabidGravy it's all going off
17:48 timotimo all bets are off?
17:49 jnthn So commit!
17:49 TimToady Not rollback!
17:49 timotimo gien ne va plus
17:49 timotimo gitien?
17:50 TimToady m: say Iterable === Any
17:50 camelia rakudo-moar 326a74: OUTPUT«Method 'iterator' must be implemented by Iterable because it is required by a role␤  in any compose_method_table at gen/moar/m-Metamodel.nqp:2661␤  in any apply at gen/moar/m-Metamodel.nqp:2671␤  in any compose at gen/moar/m-Metamodel.nqp:2807␤  in…»
17:50 TimToady jnthn: you saw this cute one? ^^^
17:50 jnthn TimToady: It's long known
17:51 timotimo jnthn: did you see that amazing thing TimToady put in the channel where a bunch of unicode things turn into 7 when say'd?
17:51 jnthn TimToady: Clearly, we can't pun a role with missing bits to delegate the method to it
17:51 jnthn TimToady: We currently have a list of methods that don't cause punning
17:51 jnthn timotimo: Yeah, ShimmerFairy++ implemented that a while back, no?
17:51 jnthn Argh
17:51 timotimo er, implemented?
17:51 jnthn Those configure changes have busted the build on Win32
17:51 timotimo it looked more like a bug
17:52 TimToady I didn't put it on channel, was just responding
17:52 jnthn I didn't take it as one
17:52 jnthn I suspect \d matches them
17:52 TimToady it's just one step more to make ⅐ return a Rat
17:52 jnthn And we know how to numify anything that has a Unicode numeric value
17:52 timotimo oh
17:52 timotimo i totally misread that!
17:53 dalek mu: b5919fc | PerlJam++ | misc/perl6advent-2015/ (2 files):
17:53 dalek mu: [advent] Get started on Advent 2015
17:53 dalek mu: review: https://github.com/perl6/mu/commit/b5919fcdde
17:53 jnthn Well, it could be, but I'd be surprised given our liking of Unicode things ;)
17:53 timotimo i thought the string "foobar" where f, o, b, a and r are weird unicode numbers, turned into "777777" when printed out
17:53 PerlJam BTW, advent season will be here before you know it.  Everyone start thinking about what they could write for https://perl6advent.wordpress.com/ and add their ideas to https://github.com/perl6/mu/tree/master/misc/perl6advent-2015
17:53 TimToady I don't consider it a bug, was just surprised it snuck in without me noticing :)
17:53 TimToady gee, I wonder what I should write for Christmas...
17:54 timotimo i only considered that a bug because i misread it, etc etc
17:54 TimToady maybe just "Here."
17:54 ribasushi joined #perl6
17:54 jnthn TimToady: https://github.com/rakudo/rakudo/blob/nom/src/Perl6/Metamodel/BOOTSTRAP.nqp#L2938
17:54 timotimo TimToady: i liked the way you ended the tack with something big
17:54 jnthn That's the exlucded list so far
17:55 jnthn TimToady: We can keep adding to it, but my "lists of things to remember" nerve is tingling :)
17:55 jnthn OK, guess I'd better try to unbust the Win32 build :/
17:55 jnthn Well, or configure
17:55 jnthn There's nothing I hate much more than build systems.
17:55 jnthn Well, there are things, but in software, build systems are pretty argh.
17:55 TimToady m: say Failure.^mro
17:55 camelia rakudo-moar fa5004: OUTPUT«((Failure) Nil (Cool) (Any) (Mu))␤»
17:56 TimToady I think we'll just have to live with Nil not having the parens there
17:56 timotimo haha
17:56 timotimo i love the way Nil sticks out there
17:56 TimToady the only alternative is to make it (Nil) everywhere, which I don't want
17:56 timotimo remember when Nil disappeared in lists? would be hilarious if that happened right in there, too
17:57 TimToady m: sub foo (--> Int) { Nil }; say foo  # now works more like Failure
17:57 camelia rakudo-moar fa5004: OUTPUT«Nil␤»
17:58 TimToady the attempt to move Nil outside of Any didn't pan out though...
17:59 TimToady well, gotta go to writing group, where they're making me work on PP6, or whatever it ends up being named
17:59 kjs_ joined #perl6
18:00 PerlJam TimToady++  though ... "making" you?  :)
18:00 jnthn lol
18:00 jnthn Patching string concat with File::Spec->catfile caused the breakage
18:00 jnthn I love how making things better makes them worse :P
18:02 moritz jnthn: sorry, I only tested under linux
18:02 timotimo still hoping for the windows servers on travis-ci
18:03 timotimo they also have mac os servers, but i assume they're not going to give us as much coverage as a windows server would
18:03 timotimo server/vm/whatever
18:03 dalek mu: 39f612c | PerlJam++ | misc/perl6advent-2015/topic-brainstorming:
18:03 dalek mu: [advent] add a small topic brainstorm
18:03 dalek mu: review: https://github.com/perl6/mu/commit/39f612c773
18:03 dalek nqp: 517c8f8 | jnthn++ | tools/lib/NQP/Configure.pm:
18:03 dalek nqp: Avoid stupid catfile behavior, fixing Win config.
18:03 dalek nqp: review: https://github.com/perl6/nqp/commit/517c8f8739
18:03 jnthn moritz: No worries. In you/[Sno]++'s defence, it *is* silly that it broke, and I'd not have caught this in code review either.
18:03 lostinfog joined #perl6
18:06 jnthn Darn, importing the same fix to Rakudo's configure.pm didn't unbust things.
18:07 jnthn oh, there's another catfile
18:07 dalek rakudo/nom: 409cdbb | jnthn++ | tools/lib/NQP/Configure.pm:
18:07 dalek rakudo/nom: Unbust Configure on Windows.
18:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/409cdbb697
18:08 andreoss joined #perl6
18:10 jnthn All fixed.
18:14 [Sno] jnthn: thanks, that's a weird behavior :/
18:15 jnthn [Sno]: Ain't it just.
18:15 jnthn [Sno]: Anyway, np
18:16 domidumont joined #perl6
18:26 abaugher joined #perl6
18:33 zengargoylew joined #perl6
18:35 nine tadzik: ping
18:38 nine .tell tadzik https://github.com/tadzik/File-Find/pull/15
18:38 yoleaux nine: I'll pass your message to tadzik.
18:39 isBEKaml joined #perl6
18:39 grondilu how do I compare buffers?
18:39 grondilu m: say Buf.new(1) == Buf.new(1);
18:39 camelia rakudo-moar 409cdb: OUTPUT«True␤»
18:39 grondilu m: say Buf.new(1, 2) == Buf.new(1, 2);
18:39 camelia rakudo-moar 409cdb: OUTPUT«True␤»
18:39 grondilu m: say Buf.new(1) == Buf.new(2);
18:39 camelia rakudo-moar 409cdb: OUTPUT«True␤»
18:40 grondilu m: say Buf.new(1) ~~ Buf.new(2);
18:40 camelia rakudo-moar 409cdb: OUTPUT«False␤»
18:40 grondilu m: say Buf.new(1) ~~ Buf.new(1);
18:40 camelia rakudo-moar 409cdb: OUTPUT«False␤»
18:40 psch jnthn: i'm guessing the for loop in MVMMultiCache.c:289 is what'd need to learn about rwness..?
18:40 hartenfels grondilu try `eqv`
18:40 PerlJam nine: you know, if dir() had an option to recurse, File::Find could be obsolete :)
18:41 psch oh, unless MVM_multi_cache_add doesn't even keep track of that...
18:41 hartenfels m: say Buf.new(1) eqv Buf.new(2), Buf.new(1) eqv Buf.new(1)
18:41 camelia rakudo-moar 409cdb: OUTPUT«FalseTrue␤»
18:43 nine PerlJam: but File::Find also supports filtering
18:44 nine as does dir...
18:44 Begi1117 joined #perl6
18:44 PerlJam yep (dunno when that got added, but I noticed it the other day)
18:46 andreoss` joined #perl6
18:49 xfix joined #perl6
18:49 _mg_ joined #perl6
18:50 CIAvash joined #perl6
18:51 kjs_ joined #perl6
18:57 andreoss joined #perl6
18:58 psch well, all those different lookup function in MVMMultiCache.c scare me :P
18:58 hankache how do i execute external commands?
18:59 andreoss joined #perl6
18:59 hankache the equivalent of exec() or system() in Perl 5
18:59 grondilu m: say Buf.new(1) eqv Buf.new(2);
18:59 camelia rakudo-moar 409cdb: OUTPUT«False␤»
18:59 grondilu m: say Buf.new(1) eqv Buf.new(1);
18:59 camelia rakudo-moar 409cdb: OUTPUT«True␤»
18:59 grondilu hartenfels: thanks
19:00 sufrostico joined #perl6
19:00 flussence «Stage parse      :  81.476» -- was 89 a few days ago!
19:00 hartenfels grondilu: np
19:01 psch hankache: shell or run probably, see http://doc.perl6.org/routine/shell (and s/shell/run/ respectively)
19:02 hankache gracias psch
19:02 hankache will look into it
19:03 jnthn psch: You'll need to update add and find, and I suggest using a bit flag for "is in a container"
19:04 jnthn psch: Much as we do for definedness
19:05 psch jnthn: how feasible is that for me without any understanding of spesh?  assuming i need to take care of MVM_multi_cache_find_spesh as well
19:05 timotimo i think that's just a version of that that makes sure to not invoke anything and not fail or anything
19:07 jnthn psch: I don't think it'd need much spesh understanidng.
19:07 psch alright, i'll flail my subpar C around a bit then :P
19:08 psch but i guess that means it also needs to pay attention to the new bit flag
19:09 jnthn Sure, you set it in add, and check it in find
19:09 jnthn I *think* there's a spare bit
19:11 jnthn arg_tup[i] = STABLE(arg)->type_cache_id | (IS_CONCRETE(arg) ? 1 : 0);
19:12 yqt joined #perl6
19:12 ribasushi joined #perl6
19:12 jnthn Those type cache IDs are 64 bits apart
19:12 eliasr joined #perl6
19:13 jnthn But some bits are used for native types too
19:13 jnthn So that may need tewakery to allow an extra bit
19:14 [Sno] jnthn: btw - would be great to see an example for windows bat files how to use default directories for nqp/perl6 bootstrappath
19:14 timotimo "64bits apart"? like, "aligned to a full 64bit"? :P
19:15 jnthn timotimo: uh...64 apart :)
19:16 jnthn [Sno]: I'm not really clueful about batch files, I'm afraid.
19:17 * jnthn has to google every time he writes one :)
19:18 andreoss joined #perl6
19:18 [Sno] but you have a big advantage - a running system (even when I do it in a VM, I never know whether I broke it or it has to be done somehow else ^^)
19:23 jnthn True :)
19:35 hankache why does this work
19:35 hankache m: my $command = run 'perl6', '-v', :out; print $command.out.slurp-rest;
19:35 camelia rakudo-moar 409cdb: OUTPUT«run is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting:1␤  in sub run at src/RESTRICTED.setting:14␤  in block <unit> at /tmp/C2liWPd1nC:1␤␤»
19:35 hankache oops
19:35 hankache i can't use run here?
19:36 moritz no
19:36 hankache ah ok
19:36 moritz (you can scream, though :-)
19:36 hankache so why does this work: my $command = run 'perl6', '-v', :out; print $command.out.slurp-rest;
19:36 hankache and not this my $command = run 'perl6 -v', :out; print $command.out.slurp-rest;
19:37 pink_mist because 'perl6 -v' is not a binary on your system, presumably?
19:37 moritz hankache: because you're trying to run a binary 'perl6 -v', and that doesn't exist
19:37 ugexe run takes an argument list, not a string
19:37 moritz hankache: you can use shell() though
19:37 moritz which takes a single string that a shell will interpret and execute
19:37 hankache ok
19:38 _mg_ joined #perl6
19:38 hankache so if i use run i need to split the exec and the args
19:38 moritz only if you get them from a single string
19:38 moritz ... in which case you can also use shell instead of run
19:39 hankache i can't control the result with shell
19:39 hankache that's why i used run
19:40 hankache shell automatically outputs the result
19:41 jnthn You can capture the output stream instead.
19:41 jnthn shell('...', :out) or so
19:41 hankache moritz ugexe pink_mist thanks
19:42 hankache jnthn will try it
19:43 hankache jnthn indeed it works
19:44 psch bits 2 to 6 or so looked free, from a bit of gdb poking
19:44 psch and apparently i have it working spesh-less
19:44 hankache ok so any advantages of one overt the other?
19:44 hankache over*
19:45 skids hankache: you're less likely to run into security isues if you sanitize the args and use run().
19:46 hankache excellent. thanks skids
19:53 AlexDaniel what skids said!
19:53 AlexDaniel hankache: though there is not much sanitizing required, since args are passed as is
19:54 jnthn psch: Did you try some native arg multi-dispathces?
19:55 jnthn 2-6 may be used in that
19:56 DrPete_ joined #perl6
19:56 hankache AlexDaniel but args will be coming from different places so instead of conacatenating theem in a string
19:56 hankache it's easier to pass them as a list
19:56 psch m: multi f(int $x is rw) { "rwint" }; multi f(Int $x) { "Int" }; multi f(str $x) { "str" }; f 2; f my int $x = 5; # works locally as well
19:56 camelia rakudo-moar 409cdb: ( no output )
19:56 AlexDaniel hankache: yes, and it is more correct :)
19:56 psch oh but eh
19:57 psch i'm not actually checking rwness nor output
19:57 jnthn :)
19:58 psch huh
19:58 AlexDaniel hankache: in perl5 though 「system」 will degrade to shell if you pass only one parameter, I'm happy that perl6 does not have such pitfall
19:59 hankache AlexDaniel run will not work wi
19:59 hankache with one param
19:59 AlexDaniel hankache: by the way, if you have to pipe several commands you can still do that with run. See http://doc.perl6.org/type/Proc
19:59 ugexe perl6 -e 'run("ls")'
19:59 ugexe bin  Build.pm  hooks  lib  logotype  META6.json  README.pod  t  xt
20:00 psch well, what i'm actually seeing locally is that it doesn't dispatch to the rw cand at all, neither for int nor num
20:01 psch so uh, mabe i should actually try to figure out what all those bits mean :P
20:01 AlexDaniel ugexe: by the way, it should be noted that 「ls」 output is unparseable
20:01 * flussence wishes he knew some nice, readable way to define/validate nativecall bitflag thingies in terms of p6 enums
20:02 AlexDaniel ugexe: which is why I dislike such examples… normally you will never see run(‘ls’) (or similar) in real code
20:04 RabidGravy flussence, the Audio::Sndfile does that a bit
20:04 flussence ooh, thanks. will have a look...
20:04 RabidGravy the file types are bit masked
20:10 flussence well that code looks pretty nice and readable, even despite github's highlighting butchering most of the file :)
20:11 psch hm, not actually seeing a free bit here
20:12 psch one arg_tup came out to 100110111100001, and type_cache_id for another was 111101101000000
20:12 psch the only zeros in both are 5 to 1 (or 6 to 2, depending if the right most is 1 or 0...) and those are MVM_CALLSITE_ARG_*
20:13 psch (that's still not "i know what this means", but...)
20:14 jnthn psch: Yeah. I think that you can s/64/128/ for the type_cache_id increment, and then << 2 the native type flag (and >> 2 in find)
20:14 jnthn psch: And that frees bit 2 to be your container bit
20:15 psch jnthn: oh, so the highest bit is the one that can be shifted off?
20:15 jnthn The << 2 comment refers to the line like:
20:15 jnthn arg_tup[i] = (arg_type << 1) | 1;
20:15 jnthn arg_tup[i] = (arg_type << 2) | 1;
20:15 jnthn That
20:15 jnthn oops
20:15 jnthn It's << 1 now, I'm suggesting << 2
20:16 jnthn No, 2nd counting from the LSB
20:16 Begi1118 joined #perl6
20:16 kjs_ joined #perl6
20:17 psch jnthn: i'm still stuck on the type_cache_id increment... 6model.c has a + 64 there..?
20:17 jnthn Right, and a 64 in the atomic increment too
20:17 jnthn Make those both 128
20:17 jnthn That just means you get an extra certain-to-be-zero bit
20:18 timotimo .o( might as well turn that into a #define'd constant )
20:18 jnthn Aye
20:18 jnthn We could also just atomic incr the type cache ID and then shift if by the constant
20:18 jnthn *shtift it
20:18 jnthn *shift
20:18 jnthn heh, good job I'm not writing code with this typing :P
20:18 psch o.o
20:18 flussence oh that's neat, «unit enum Foo» DWIM.
20:20 flussence (well, in a kinda pointless way since all the important code comes before the semicolon, but still.)
20:20 timotimo sort of like a =begin end
20:20 timotimo or =finish or something
20:22 flussence looks like you can hang subs off it like a normal module. That seems like it'll come in useful for that bitfield thing I asked about...
20:23 zakharyas joined #perl6
20:24 timotimo interesting. will they just be inside its .WHO? ... like the enum values themselves?
20:24 timotimo that'd be a bit weird
20:25 flussence m: enum Fruit <apple pear> { our sub tomato {'tomato‽'} }; say Fruit::tomato
20:25 camelia rakudo-moar 409cdb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/PBdSHRhL5S␤Unexpected block in infix position (missing statement control word before the expression?)␤at /tmp/PBdSHRhL5S:1␤------> 3enum Fruit <apple pear>7⏏5 { our sub tomato {'tomato‽'} }; say Fr…»
20:26 flussence doesn't work like that, though; hm.
20:26 ugexe m: my %x; %x<y>.grep(*.so)
20:26 camelia rakudo-moar 409cdb: OUTPUT«Cannot call iterator(Any: ); none of these signatures match:␤    (Any:D $: *%_)␤  in block <unit> at /tmp/t9Y6n14ABm:1␤␤»
20:26 flussence m: unit enum Fruit <apple pear>␤our sub tomato {'tomato‽'}␤say Fruit::tomato
20:26 camelia rakudo-moar 409cdb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Ltq9xeP5w1␤Bogus statement␤at /tmp/Ltq9xeP5w1:2␤------> 3o7⏏5ur sub tomato {'tomato‽'}␤    expecting any of:␤        whitespace␤»
20:26 flussence m: unit enum Fruit <apple pear>; # missing semicolon ␤our sub tomato {'tomato‽'}␤say Fruit::tomato
20:26 camelia rakudo-moar 409cdb: OUTPUT«tomato‽␤»
20:27 softmoth_ joined #perl6
20:27 timotimo dude
20:27 timotimo that's weird! :)
20:27 flussence though that first error makes it sound like I'm doing something that's not *supposed* to work, so I'm not sure...
20:28 mr_ron joined #perl6
20:29 El_Che I attended a Python course at work where the instructor was very curious about Perl6.
20:29 dalek roast: 5df60df | usev6++ | S32-str/sprintf.t:
20:29 dalek roast: Expect 'Inf' when 'Inf' is passed to sprintf
20:29 dalek roast:
20:29 dalek roast: that's more consistent than 'inf' or 'INF'
20:29 dalek roast: review: https://github.com/perl6/roast/commit/5df60df443
20:29 jnthn That's nothing, one of the Python teachers at my work has a Perl 6 commit bit :P
20:29 flussence It seems to work identically whether or not the “unit” keyword is there, so maybe that just gets ignored.
20:30 ugexe my %x; %x<y>.grep(*.so) # is this correct in not working anymore?
20:30 El_Che jnthn: you win :)
20:31 flussence ah, yeah, that was it. $?PACKAGE never gets set.
20:31 lizmat m: my %x; %x<y>.grep(*.so)
20:31 camelia rakudo-moar 409cdb: OUTPUT«Cannot call iterator(Any: ); none of these signatures match:␤    (Any:D $: *%_)␤  in block <unit> at /tmp/4fapro0hIE:1␤␤»
20:31 ugexe m: sub foo (:$a) { say $a.grep(*.so) }; foo()
20:31 camelia rakudo-moar 409cdb: OUTPUT«Cannot call iterator(Any: ); none of these signatures match:␤    (Any:D $: *%_)␤  in sub foo at /tmp/JW77TShj2D:1␤  in block <unit> at /tmp/JW77TShj2D:1␤␤»
20:32 lizmat I guess I broke that...
20:32 ^elyse^ joined #perl6
20:32 lizmat ah...I know what's wrong
20:32 [Coke] m: for 1,2,3,4 -> $x { $x.say } ; # should we make a non-texas variant of the -> ?
20:32 camelia rakudo-moar 409cdb: OUTPUT«1␤2␤3␤4␤»
20:33 flussence the subs inside still get namespaced into the enum though, which *is* weird. feels like a bug I probably can't rely on (but would be nice if it stayed)
20:33 lizmat ugexe: testing a fix
20:33 lizmat give me a few mins
20:34 ugexe cool, glad you have an idea
20:34 lizmat m: Any.grep: *.so    # golfed
20:34 camelia rakudo-moar 409cdb: OUTPUT«Cannot call iterator(Any: ); none of these signatures match:␤    (Any:D $: *%_)␤  in block <unit> at /tmp/pK8PsqkCga:1␤␤»
20:34 raoulvdberge joined #perl6
20:35 dalek rakudo/nom: 2940709 | lizmat++ | src/core/Any.pm:
20:35 dalek rakudo/nom: Type objects also want iterators, ugexe++ for spotting
20:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/29407097f7
20:36 rindolf joined #perl6
20:37 hartenfels Hey y'all, I made a module: https://github.com/hartenfels/Text-Markdown-Discount, can someone tell me how to add it to the module ecosystem?
20:39 RabidGravy make a PR adding your projects META.info to the https://github.com/perl6/ecosystem/blob/master/META.list
20:40 hartenfels RabidGravy: Alright, thank you.
20:46 telex joined #perl6
20:48 dalek ecosystem: 0c79e57 | (Carsten Hartenfels)++ | META.list:
20:48 dalek ecosystem: Add Text::Markdown::Discount to ecosystem
20:48 dalek ecosystem:
20:48 dalek ecosystem: See https://github.com/hartenfels/Text-Markdown-Discount
20:48 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/0c79e57d9b
20:48 dalek ecosystem: 5ac2a71 | RabidGravy++ | META.list:
20:48 dalek ecosystem: Merge pull request #90 from hartenfels/master
20:48 dalek ecosystem:
20:48 dalek ecosystem: Add Text::Markdown::Discount to ecosystem
20:48 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/5ac2a71db1
20:50 [Coke] hartenfels++
20:51 CIAvash left #perl6
20:53 PerlJam hartenfels++ indeed.
20:55 hoelzro hartenfels++
20:56 PerlJam I wonder if at some point we'll get something like:   use Clib :stdio; to get at fopen and friends.
20:56 zacts hello #perl6
20:57 PerlJam greetings zacts
20:57 zacts :-)
20:57 zacts I figured out how to make an ASCII / UTF-8 Camelia >%<
20:58 zacts I think it's cool, I might make a t-shirt of it for myself
20:58 zacts with the >%< zoomed in
20:58 zacts and like #!/usr/bin/env perl6 or something
20:59 zacts with a 'say ">%<";' or something like that? but yeah
20:59 zacts just an idea
21:00 timotimo zacts: the official utf-8 camelia is »ö«
21:00 zacts ah yeah? I didn't realize that... that's cooler
21:00 zacts =)
21:01 hartenfels Oh that was quick. And thanks for the postincrements.
21:01 zacts I see it in the topic now though
21:05 hartenfels PerlJam I'd definitely use those instead of rolling my own stdio bindings. Might be worth to start a Clib.pm6.
21:05 RabidGravy or stick it in the existing POSIX
21:06 ifim joined #perl6
21:06 timotimo i think it's been in camelia.txt before it was in the topic
21:06 timotimo hartenfels: do you know "markdeep"? is there any sense in wanting that as a perl6 module? i think its only(?) implementation is javascript :|
21:07 retupmoca https://github.com/cygx/p6-native-libc/ looks like it might have fopen stuff already
21:07 PerlJam sweet
21:07 jantore joined #perl6
21:08 abaugher joined #perl6
21:09 hartenfels timotimo I don't know it, but I guess it'd be glueable if you called into nodejs or some other JavaScript library.
21:10 hartenfels retupmoca Oh neat, I'll just depend on that instead.
21:11 PerlJam though it doesn't look like Native::LibC groups exports ... it would be nice to tag things with :stdio :stdlib :string etc. IMHO  rather than have to list off all the imports explicitly
21:12 hartenfels Also seems to be lacking fdopen, but both those should be an easy enough patch.
21:16 cygx joined #perl6
21:16 PerlJam is the construct  "is native(Str)" guaranteed future proof?  (i.e., it won't blow up because of an undefined value at some point)
21:16 cygx PerlJam: there already is Native::LibC in the ecosystem
21:16 hartenfels It's documented that way in the NativeCall documentation at least.
21:17 cygx PerlJam: I'm busy right now with Other Things, but if you have a feature request...
21:17 habamax joined #perl6
21:17 PerlJam cygx: I think hartenfels has one (maybe in the shape of a PR)
21:18 PerlJam cygx++ btw.
21:18 hartenfels Soonish at least.
21:19 hartenfels If I can think of a sane way to write a test for fdopen
21:22 PerlJam hartenfels: Care to write an advent post? https://perl6advent.wordpress.com/  (not right now, but around advent season)  We could always use more articles.
21:23 PerlJam cygx: you too re advent article.
21:23 hartenfels PerlJam: Sure, but about what? Most of what I learned was of previous advent calendar posts.
21:24 PerlJam hartenfels: your experience writing Text::Markdown::Discount.   What it's like to use Perl 6 from your perspective.  etc.
21:24 PerlJam hartenfels: anything you think is neat about Perl 6
21:24 cygx note that fdopen is from POSIX, not the C standard lib
21:25 cygx so I'd put it into a Native::POSIX module (but still populate the Native::LibC namespace so it gets mapped into libc::, which is how I organize things right now)
21:25 cygx PerlJam: I can probably come up with something to write about
21:26 hartenfels PerlJam: Perl6 is neat all around, aside from its startup time. But I'll see if I can think of something interesting to write.
21:26 PerlJam cool
21:27 * moritz idly wonders if CVE-2015-5307 means he should reboot master.p6c.org
21:27 hartenfels cygx: Oh, I wasn't aware of that. Then I should probably take that out of my module for the sake of portability anyway.
21:28 cygx hartenfels: it's available on Windows as _fdopen, so it is reasonably portable
21:29 cygx it's just not part of the C language standard lib
21:29 espadrine joined #perl6
21:29 cygx the standard lib doesn't do file descriptors
21:30 hartenfels That's what I checked too, so I just assumed it was standard. While the function on its own might work, I don't wanna depend on a Native::POSIX that might not install on systems the module would otherwise work on.
21:36 TEttinger joined #perl6
21:39 njmurphy joined #perl6
21:39 softmoth_ joined #perl6
21:40 espadrine_ joined #perl6
21:44 grondilu m: my @a; @a[3..4] = rand xx 2; say @a
21:44 camelia rakudo-moar 294070: OUTPUT«[]␤»
21:44 grondilu m: my @a; @a[3,4] = rand xx 2; say @a
21:44 camelia rakudo-moar 294070: OUTPUT«[(Any) (Any) (Any) 0.434058554835957 0.714992255868652]␤»
21:44 dalek roast: dca1fae | usev6++ | S04-declarations/my.t:
21:44 dalek roast: Add test for RT #87034
21:44 dalek roast: review: https://github.com/perl6/roast/commit/dca1faef23
21:44 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=87034
21:44 grondilu m: say (my @)[3..4] = rand xx 2;
21:44 camelia rakudo-moar 294070: OUTPUT«()␤»
21:44 grondilu m: say (my @)[3..4] = 1, 2
21:44 camelia rakudo-moar 294070: OUTPUT«()␤»
21:45 grondilu m: say (my @)[3,4] = 1, 2
21:45 camelia rakudo-moar 294070: OUTPUT«(1 2)␤»
21:45 grondilu looks like a bug
21:45 grondilu m: say (my @)[my @ = 3..4] = 1, 2
21:45 camelia rakudo-moar 294070: OUTPUT«(1 2)␤»
21:46 grondilu shouldn't @array[$range] = @stuff work as expected?
21:47 awwaiid whaaa
21:47 psch grondilu: that's RT #124316
21:47 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=124316
21:48 awwaiid what is this (my @) thing?
21:48 psch currently works with explicit flattening, not sure what the desired behavior is
21:48 psch uh, well not in that anon case from the looks of it
21:48 n0xff joined #perl6
21:49 psch m: my @a; my @b; @a[0,1] = 42,43; say @a.perl; @b[^2] = 42,43; say @b.perl; @b[| ^2] = 12,13; say @b.perl # the case in the ticket
21:49 camelia rakudo-moar 294070: OUTPUT«[42, 43]␤[]␤[12, 13]␤»
21:49 grondilu awwaiid: anonymous array
21:49 awwaiid link to doc?
21:49 psch m: say (my @)[| (3..4)] = 1, 2 # just precedence...
21:49 camelia rakudo-moar 294070: OUTPUT«(1 2)␤»
21:50 psch although arguably that should be (Any), (Any), (Any), 1, 2..?
21:50 grondilu awwaiid: in S02:  "Bare sigils may be used as placeholders for anonymous variables:"
21:50 synbot6 Link: http://design.perl6.org/S02.html#
21:50 awwaiid thanks!
21:51 grondilu btw anonymous variables were introduced relatively recently if I'm not mistaken, yet it's a feature I can't live without :)
21:51 mr_ron joined #perl6
21:52 Hotkeys in what situations would one use anonymous variables
21:52 awwaiid are there non one-liner use cases?
21:52 awwaiid ya, what Hotkeys said
21:53 psch i liked the toggle sub someone brought up recently
21:53 psch or whatever it was called
21:53 arnsholt When you're implementing an interface method, and your implementation only needs some of the arguments
21:53 skids m: sub a { state $++; }; a().say; a().say
21:53 camelia rakudo-moar 294070: OUTPUT«0␤1␤»
21:53 arnsholt That's a use for anonymous variables
21:54 arnsholt Or deconstructing a multiple-element list (a la my ($foo, $bar, $blech)), and you only need a couple of the values
21:54 awwaiid arnsholt: ah, so like _ in ruby and others, but kinda typed?
21:54 arnsholt $ is exactly like _
21:54 arnsholt But with types, since Perl 6 has types, yeah
21:55 [Sno] joined #perl6
21:55 gfldex m: my ($,$foo) = 1,2; say $foo;
21:55 camelia rakudo-moar 294070: OUTPUT«2␤»
21:55 Hotkeys is there a prettier way to do inline for stuff with multiple variables (I know you can use $_ when you only need one
21:55 Hotkeys ie
21:55 Hotkeys er
21:55 Hotkeys eg
21:55 Hotkeys -> $k, $v { say "$k: $v" } for %stuff.kv
21:56 Hotkeys like python has the pretty 'foo(x) for k, v in stuff.kv'
21:56 gfldex m: sub oi {$ ^= 1}; say oi, oi; # i don't know what this does, but it seams not to work correctly
21:56 Hotkeys (that's some pseudo stuff)
21:56 spider-mario joined #perl6
21:56 camelia rakudo-moar 294070: OUTPUT«Memory allocation failed; could not allocate 78848 bytes␤»
21:57 Hotkeys I know you can also do 'for %stuff.kv -> $k, $v { say "$k: $v" }"
21:57 psch m: my $a ^= 1, 2; say $a.perl # gfldex
21:57 camelia rakudo-moar 294070: OUTPUT«WARNINGS:␤Useless use of constant integer 2 in sink context (line 1)␤one(one(), 1)␤»
21:57 Hotkeys which is nicer
21:57 psch gfldex: i think you're misunderstanding ^=
21:57 AlexDaniel Hotkeys: $^var1 $^var2 perhaps?
21:57 grondilu you can also use %stuff.pairs
21:57 Hotkeys oh
21:57 psch but yes, the overflow should probably get fixed... :l
21:57 Hotkeys can you do that @ AlexDaniel
21:58 retupmoca m: my %h = (a => 1, b => 2); for %h.kv { say "$^k: $^v" }
21:58 camelia rakudo-moar 294070: OUTPUT«a: 1␤b: 2␤»
21:58 Hotkeys grondilu: that was only an example
21:58 Hotkeys oh fancy
21:58 AlexDaniel Hotkeys: yeah, I love it
21:59 grondilu m: my %h = (a => 1, b => 2); for %h { say .key, ": ", .value }
21:59 camelia rakudo-moar 294070: OUTPUT«a: 1␤b: 2␤»
21:59 skids It's recursively building a Junction of and Junction of...
21:59 AlexDaniel Hotkeys: though I mostly use it in subs
21:59 Hotkeys grondilu: I didn't mean for hashes specifically :P
21:59 Hotkeys I meant just like
21:59 gfldex psch: that is very likely, but should that fail the way it does?
21:59 Hotkeys multiple variables in situations where one would use $_
21:59 grondilu Hotkeys: oh yeah, my bad
21:59 Hotkeys for one variable
21:59 psch gfldex: the issue is what skids++ says.  i don't know if we can know that you don't want to recursively build something until it's too late
21:59 AlexDaniel Hotkeys: yeah, that's pretty much what $^var thingies do
22:00 grondilu yeah self declared variables are the way to go then
22:00 Hotkeys perl6 gets mad when I used placeholders in the repl
22:00 Hotkeys but only sometimes
22:00 skids m: sub oi {$ +^= 1}; say oi, oi; # maybe what was originally intended
22:00 camelia rakudo-moar 294070: OUTPUT«10␤»
22:01 Hotkeys like
22:01 Hotkeys m: my %h = (a => 1, b => 2); say "$^k: $^v" for %h.kv
22:01 camelia rakudo-moar 294070: OUTPUT«5===SORRY!5=== Error while compiling /tmp/l0SlDJaq4Y␤Cannot use placeholder parameter $^k in the mainline␤at /tmp/l0SlDJaq4Y:1␤------> 3my %h = (a => 1, b => 2); say "$^k7⏏5: $^v" for %h.kv␤»
22:01 psch Hotkeys: placeholders are effectively parameters that add themselves to the signature
22:01 Hotkeys am I stuck with proper for blocks
22:01 psch Hotkeys: the mainline doesn't have a signature
22:01 Hotkeys for that kind of thing
22:02 * jdv79 wonders what "we can do better than cpan" means.
22:02 retupmoca m: my %h = (a => 1, b => 2); { say "$^k: $^v" } for %h.kv; # you can do it this way - it just needs to be a block
22:02 camelia rakudo-moar 294070: OUTPUT«a: 1␤b: 2␤»
22:02 jdv79 TimToady: ^
22:02 Hotkeys i guess
22:03 Hotkeys rip
22:04 lizmat jdv79: I think this is more about the cpan client (installation), then about PAUSE / CPAN / MetaCPAN
22:06 grondilu retupmoca: I'm a bit surprised this work.  Shouldn't there be () after the block?
22:07 grondilu m: { say "$^a" } for <hello bye>
22:07 camelia rakudo-moar 294070: OUTPUT«hello␤bye␤»
22:07 grondilu The block is automatically executed.
22:08 retupmoca no, because adding () would try to call the block before the 'for' ever got to see it
22:08 grondilu oh yeah
22:08 psch m: { sub { say "$^a" }($_) } for <hello bye>
22:08 camelia rakudo-moar 294070: OUTPUT«hello␤bye␤»
22:08 retupmoca actually in this case it might try to call the block with 0 arguments for each iteration
22:09 psch m: sub { say "$^a" }($_) for <hello bye> # superstituous block even
22:09 camelia rakudo-moar 294070: OUTPUT«hello␤bye␤»
22:09 retupmoca right, what psch showed
22:10 psch m: { say "$^a" }($_) for <hello bye> # superstituous sub
22:10 camelia rakudo-moar 294070: OUTPUT«hello␤bye␤»
22:10 psch and if you add to that that $^a acts a signature builder it makes sense to work without the parens
22:10 psch if you add parens without $_ inside you get a "too few arguments"
22:11 psch m: { say "$^a" }() for <hello bye> # as here
22:11 camelia rakudo-moar 294070: OUTPUT«Too few positionals passed; expected 1 argument but got 0␤  in block  at /tmp/EdWBb7q51z:1␤  in block <unit> at /tmp/EdWBb7q51z:1␤␤»
22:21 espadrine joined #perl6
22:22 mrf .tell ugexe I am going to push these tests to a branch in my fork for you to look at. They are currently failing but I can't for the life of me work out why: https://github.com/ungrim97/Perl6-Grammar--HTTP/tree/feature/refactor
22:22 yoleaux mrf: I'll pass your message to ugexe.
22:22 zengargoylew left #perl6
22:27 llfourn joined #perl6
22:28 dalek doc: 71f2532 | VZ++ | doc/Language/syntax.pod:
22:28 dalek doc: Fix examples showing underscores in numbers
22:28 dalek doc:
22:28 dalek doc: It was somewhat confusing to claim that `1_000_000` and `10_00_00` evaluate to the same number, make sure that all numbers have the same number of zeroes, even if they have different numbers of underscores.
22:28 dalek doc: review: https://github.com/perl6/doc/commit/71f2532024
22:28 dalek doc: 5a6575e | RabidGravy++ | doc/Language/syntax.pod:
22:28 dalek doc: Merge pull request #192 from vadz/patch-1
22:28 dalek doc:
22:28 dalek doc: Fix examples showing underscores in numbers
22:28 dalek doc: review: https://github.com/perl6/doc/commit/5a6575e8fa
22:29 Skarsnik _ in number? it's weird lol
22:29 RabidGravy he
22:30 llfourn I just watched the p6 announce vid. It was great :D
22:31 llfourn Larry menetioned a list of things that are definitely not going to be in 6.christmas made by jnthn. Anyone got a link?
22:32 psch llfourn: https://gist.github.com/jnthn/040f4502899d39b2cbb4
22:32 llfourn psch: cheers :)
22:33 tardisx joined #perl6
22:39 ifim left #perl6
22:40 Begi1119 joined #perl6
22:49 gfldex joined #perl6
22:54 kjs__ joined #perl6
22:56 tardisx joined #perl6
22:58 grondilu m: multi infix:<*>(Real $k, $v where [&&] map { $_ ~~ Real }, @$v) { [ $k X* @$v ] }; say pi * [1, 2];
22:58 camelia rakudo-moar 294070: OUTPUT«[3.14159265358979 6.28318530717959]␤»
22:58 grondilu m: multi infix:<*>(Real $k, $v where [&&] map { $_ ~~ Real }, @$v) { [ $k X* $v ] }; say pi * [1, 2];
22:58 grondilu ^unexpected infinite recursion
22:59 camelia rakudo-moar 294070: OUTPUT«(timeout)»
23:05 kid51 joined #perl6
23:07 timotimo someone said "anonymous variables are a recent addition"; that's only the syntax for @[...] and %{...} i believe
23:13 grondilu I did say it.  I think it's no more than a year or two.
23:14 grondilu (so "recent" was very relative)
23:18 ugexe mrf: my guess would be the use of | vs ||. `||` represents what the spec as written in the rfc wants
23:18 yoleaux 22:22Z <mrf> ugexe: I am going to push these tests to a branch in my fork for you to look at. They are currently failing but I can't for the life of me work out why: https://github.com/ungrim97/Perl6-Grammar--HTTP/tree/feature/refactor
23:19 dalek rakudo/nom: 4422d81 | lizmat++ | src/core/ (10 files):
23:19 dalek rakudo/nom: Don't use a !=:= b, but !(a =:= b)
23:19 dalek rakudo/nom:
23:19 dalek rakudo/nom: Because it's at least 25x faster.  Either this, or we may want to
23:19 dalek rakudo/nom: prime the grammar for !=:= (because they are used a lot in iterators,
23:19 dalek rakudo/nom: and iterators imply hot paths, generally).  Not directly noticeable
23:19 dalek rakudo/nom: speedup in spectest, but some iterator rich apps may notice improved
23:19 dalek rakudo/nom: performance.
23:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4422d814bb
23:19 lizmat good night, #perl6!
23:20 Skarsnik should the vm/compilater do it if it's faster? x)
23:22 ugexe mrf: otherwise you can end up with obs tokens and whatnot that technically match longer, but are expected to match as a last resort if nothing else matches
23:22 perlawhirl joined #perl6
23:25 perlawhirl is anybody home?
23:26 gfldex m: say 'hi perlawhirl!';
23:26 camelia rakudo-moar 294070: OUTPUT«hi perlawhirl!␤»
23:26 zengargoyle sorta here
23:26 llfourn m: say "I'm always here";
23:26 camelia rakudo-moar 294070: OUTPUT«I'm always here␤»
23:27 perlawhirl hi... i'm trying to work out if i'm able to pass a new rule to a grammar
23:27 zengargoyle just precompiled panda which shaved ~1.5s off `panda list` for ~2x speedup
23:27 perlawhirl so i have the TOP rule... and tokens... can i override the TOP with a new rule made up of tokens that are defined in the grammar, and use that when i call .parse
23:28 llfourn perlawhirl: do you mean can you chose to start with a different rule other than TOP?
23:28 zengargoyle wonder why there's not a rakudobrew or panda --precompile flag
23:28 ugexe because precompile was taken out
23:28 rindolf joined #perl6
23:29 grondilu precompiling panda must be made manually?
23:29 perlawhirl kind of... except the only rule in the grammar is TOP. say i want to re-order the tokens, can i make a new rule and pass that to the grammar?
23:29 grondilu I mean doesn't it do it itself each time we ./rebootstrap or something?
23:30 perlawhirl eg. my rule thingy { <token2> <token1> }; MyGrammar.parse($string, rule => thingy);
23:30 perlawhirl something like that.
23:30 llfourn perlawhirl: you can just make a role { rule my-rule { ... } }
23:30 zengargoyle was there a reason behind taking out precompiling?  (i think i remember whn it did)
23:30 llfourn perlawhirl: and then MyGrrammer.new does MyRole
23:30 zengargoyle perlawhirl: yes, there's an option to .parse to specify a rule to start with.
23:31 llfourn zengargoyle: though perlawhirl wants to use a specific rule object made at runtime
23:31 perlawhirl zengargoyle: I know you can have multiple rules defined in the grammar, and tell it which one to use... but what if i want to define another rule outside of the grammar
23:31 perlawhirl llfourn: i'll look into this role business
23:32 zengargoyle http://doc.perl6.org/type/Grammar#___top
23:32 llfourn perlawhirl: you can actually MyGrammar.^add_method('thingy',my rule thingy { ... }) # I think
23:33 llfourn but applying a role to an instance is better practice
23:33 zengargoyle can't you just access it as Grammar::rule
23:33 zengargoyle a Grammar is just a fancy class and a rule is just a fancy method
23:34 softmoth_ joined #perl6
23:34 llfourn zengargoyle: but you have to still call it on the class to get all the sub-regexes to work
23:34 llfourn s/class/grammar/
23:34 zengargoyle and/or subclass it or maybe add a role.  not sure, haven't tried.
23:35 perlawhirl hmm, that sounds like it should work too... will play around a bit more
23:35 zengargoyle well, guess it does depend on what's in the rule, if it's only things like <ws> <alpha> etc. that are already defined outside of the grammar...
23:35 llfourn m: grammar G { }; role R { }; say G.new does R
23:35 camelia rakudo-moar 4422d8: OUTPUT«G+{R}.new␤»
23:36 llfourn perlawhirl: something like that :)
23:36 * zengargoyle at least that's what i'd try. :P
23:37 llfourn zengargoyle: it kinda breaks encapsulation that way...plus wouldn't the rules have to be 'our'.
23:37 zengargoyle me thinks rule called from outside of grammar might still work... wouldn't rule have closed over any references to other things in the grammar at compile time?
23:37 perlawhirl ok... so subparse is kind of what i want... this works: G.subparse($string, :rule<token1>)
23:37 perlawhirl <token1> is already defined in G
23:38 zengargoyle ah, yeah, probably our.
23:38 psch perlawhirl: what's your use-case, ooc?
23:38 perlawhirl howver, how can i do with multiple tokens, ie. G.subparse($string, :rule<token2><token1>)
23:38 zengargoyle but then methods don't need an our on them.
23:38 * zengargoyle brain hurts.
23:39 llfourn m: grammar G { token fun { } }; G.^find_method('fun') is probably what you mean zengargoyle?
23:39 camelia rakudo-moar 4422d8: OUTPUT«5===SORRY!5===␤Null regex not allowed␤at /tmp/86zIr1B6SD:1␤------> 3grammar G { token fun { 7⏏5} }; G.^find_method('fun') is probably w␤Two terms in a row␤at /tmp/86zIr1B6SD:1␤------> 3{ token fun { } }; G.^find_method('fun')7⏏5 …»
23:39 llfourn m: grammar G { token fun { } }; say G.^find_method('fun') # is probably what you mean zengargoyle?
23:39 camelia rakudo-moar 4422d8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/WexCJB19C7␤Null regex not allowed␤at /tmp/WexCJB19C7:1␤------> 3grammar G { token fun { 7⏏5} }; say G.^find_method('fun') # is prob␤»
23:39 perlawhirl psch: just playing atm to learn... but a use-case might be a date parser
23:39 zengargoyle i'm sorta guessing you could also subclass the grammar to take other parameters and pass in your new rule.
23:41 llfourn perlawhirl: you can't do it wit multiple tokens afaik
23:41 psch perlawhirl: i'm not seeing it... :)
23:41 psch perlawhirl: the questions as asked are mostly solved with inheritance
23:41 psch perlawhirl: e.g. "can i replace TOP?" -"yes, inherit and replace TOP in the subgrammar"
23:41 llfourn perlawhirl: you have to apply a role with whatever you want and then parse from there
23:42 psch similarly, if you want to replace one specific rule you can also override it in the subgrammar
23:43 psch if you want to add a new rule, well that only makes sense if the grammar you want to parse it with knows where to try to match it, so you'd probably have to override TOP again
23:43 zengargoyle i'm thinking like a Grammar to parse like a reciept but then you start getting recipts with different date formats.
23:43 zengargoyle so same grammar but with a different <date>?
23:44 perlawhirl zengargoyle: yes, another good example use-case. ALL receipts have <item> <cost> <date> and <total>... but in a different order
23:44 llfourn zengargoyle: if you want to keep the old format as a possibility you can use a multi which could match either
23:44 * zengargoyle also not sure of 'why not ust subclass'
23:44 ddrown joined #perl6
23:44 psch m: grammar A { token TOP { <a> }; token a { a } }; grammar B is A { token a { aa } }; say A.parse("a"); say A.parse("aa"); say B.parse("aa") # like this...
23:44 camelia rakudo-moar 4422d8: OUTPUT«「a」␤ a => 「a」␤(Any)␤「aa」␤ a => 「aa」␤»
23:45 psch note the (Any), which is A failing to parse "aa"
23:45 perlawhirl yes... I have seen (Any) plenty of times while playing with grammars :)
23:46 zengargoyle perlawhirl: btw, have you tried playing with Grammar::Tracer?
23:47 perlawhirl zengargoyle: nope... will check it out
23:47 sprocket on the subject of grammars, i’ve just started writing my first one and had popped in here to ask if anyone had a good, recent example of one i might refer to :)
23:47 zengargoyle it's a part of Grammar::Debugger i think.
23:47 zengargoyle JSON::Tiny
23:48 zengargoyle ADT had an interesting Grammar/Actions
23:49 sprocket thanks! :)
23:49 zengargoyle probably any module that hase Parse in it's name :)
23:50 skids joined #perl6
23:55 mr_ron joined #perl6

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

Perl 6 | Reference Documentation | Rakudo