Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-02-23

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:10 mattp_ joined #perl6
00:10 dmol joined #perl6
00:12 jnthn Ah, freenode recovered while I was out...
00:15 lue still think we're missing some, but it's better now :)
00:18 geekosaur freenode just split again a few minutes ago, but it was a smaller one
00:18 geekosaur not quite out of the woods yet
00:19 lue and again :/
00:19 * TimToady is testing a partial fix for greedy map (turns off greed in sink context or if input list is known infinite)
00:20 jnthn TimToady++
00:20 ilogger2 joined #perl6
00:20 TimToady partial fix so as not to tickle whatever it is that is depending on greedy map (something in .{}:delete
00:21 TimToady I think the basic problem is .reify(*) is being used to represent two different notions
00:22 jnthn .reify or .gimme?
00:22 mattp_ joined #perl6
00:22 TimToady I think .gimme(*) is probably okay, from my reading
00:23 jnthn ok
00:23 TimToady but my brane is by no means in tip-top shape
00:25 TimToady .gimme has it's own eager drive-to-completion, but something is relying on .reify to drive to completion instead, somehow
00:25 TimToady and relying on .reify(*) to convey that, I think
00:26 TimToady fortunately, we can at least carve the sink case off that
00:26 TimToady I also made it not allocate the rpa in sink context, but I didn't have to courage to retrofit that to the parrot code
00:26 TimToady *the courage
00:28 mtj_ joined #perl6
00:28 jnthn Yeah, I dont balem you :)
00:28 jnthn *blame
00:29 jnthn I'll try and give the native call stuff a shove in the right direction on Moar soon.
00:29 jnthn With some work/luck, I think we can have a Moar Star in March.
00:33 * jnthn has a partial queue thingy done for Moar, which is what channels and the scheduler need.
00:33 jnthn Too tired to finish it now. I'll give it some more time tomorrow.
00:46 colomon jnthn++
00:58 [Coke] colomon: I think we can remove the comments at the bottom of S32-list/sort.t
01:06 [Coke] m: role A::B {method foo { "Foo"}}; A::B.WHAT.gist.say
01:06 camelia rakudo-moar b2b333: OUTPUT«(A::B)␤»
01:06 [Coke] ^^ we have a test that says that should be B
01:06 [Coke] n: role A::B {method foo { "Foo"}}; A::B.WHAT.gist.say
01:06 camelia niecza v24-109-g48a8de3: OUTPUT«(B)␤»
01:07 [Coke] who is right, niecza or rakudo?
01:08 lue r: say A.WHAT
01:08 camelia rakudo-parrot b2b333, rakudo-jvm b2b333, rakudo-moar b2b333: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Undeclared name:â�¤    A used at line 1â�¤â�¤Â»
01:08 lue r: role A::B {method foo { "Foo"}}; say A.WHAT
01:08 camelia rakudo-parrot b2b333, rakudo-jvm b2b333, rakudo-moar b2b333: OUTPUT«(A)␤»
01:09 lue I'm inclined to say niecza's right, but can't say for sure.
01:11 jnthn S12 may have a ruling on it
01:11 * jnthn needs some sleep
01:11 jnthn 'night o/
01:11 [Coke] on .gist?
01:11 colomon \o
01:11 [Coke] nr: role A::B {method foo { "Foo"}}; A::B.WHAT.say
01:11 camelia rakudo-parrot b2b333, rakudo-jvm b2b333, rakudo-moar b2b333: OUTPUT«(A::B)␤»
01:11 camelia ..niecza v24-109-g48a8de3: OUTPUT«(B)␤»
01:12 [Coke] not sure why the test is explicitly for .gist, either.
01:13 dalek roast: 7bc603c | coke++ | S02-types/lists.t:
01:13 dalek roast: remove stale "nom regression" tag
01:13 dalek roast: review: https://github.com/perl6/roast/commit/7bc603cfd0
01:13 dalek roast: b1a98e2 | coke++ | S (3 files):
01:13 dalek roast: Open tickets for some old rakudo regressions
01:13 dalek roast: review: https://github.com/perl6/roast/commit/b1a98e2844
01:17 jeffreykegler left #perl6
01:17 [Coke] std: say 1 if 2 if 3 { say 3 }
01:17 camelia std 09dda5b: OUTPUT«[31m===[0mSORRY![31m===[0m�Missing semicolon at /tmp/Ht45Fl9DU1 line 1:�------> [32msay 1 if 2[33m�[31m if 3 { say 3 }[0m�Parse failed�FAILED 00:01 123m�»
01:18 lue How would that even work?
01:18 [Coke] m: say 1 if 2 if 3 { say 3 }
01:18 camelia rakudo-moar b2b333: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/EjEL_Q5O1jâ�¤Confusedâ�¤at /tmp/EjEL_Q5O1j:1â�¤------> [32msay 1 if 2 [33mâ��[31mif 3 { say 3 }[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
01:18 [Coke] lue: it wouldn't
01:23 _thou joined #perl6
01:25 [Coke] perl6: say "\x[0041,0300]".graphs;
01:25 camelia niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Unable to resolve method graphs in type Str␤  at /tmp/tmpfile line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4596 (module-CORE @ 576) ␤…»
01:25 camelia ..rakudo-parrot b2b333, rakudo-jvm b2b333, rakudo-moar b2b333: OUTPUT«No such method 'graphs' for invocant of type 'Str'␤  in block  at /tmp/tmpfile:1␤␤»
01:29 BenGoldberg joined #perl6
01:30 [Coke] r: say "asdf".chars
01:30 camelia rakudo-parrot b2b333, rakudo-jvm b2b333, rakudo-moar b2b333: OUTPUT«4␤»
01:31 Alina-malina joined #perl6
01:32 dalek roast: 84afe04 | coke++ | S02-types/unicode.t:
01:32 dalek roast: fudge testfile for rakudo
01:32 dalek roast:
01:32 dalek roast: (mainly for RT #65170)
01:32 dalek roast: review: https://github.com/perl6/roast/commit/84afe04ffa
01:32 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=65170
01:32 dalek rakudo/nom: fdfeb7e | coke++ | t/spectest.data:
01:32 dalek rakudo/nom: Run this (fudged) test
01:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fdfeb7e772
01:34 [Coke] rakudo: multi foo(Int $x is rw) { say "writable" }; multi foo(Int $x) { "readonly" }; foo(42)
01:34 camelia rakudo-jvm b2b333: OUTPUT«Ambiguous call to 'foo'; these signatures all match:␤:(Int $x is rw)␤:(Int $x)␤  in any  at gen/jvm/BOOTSTRAP.nqp:1225␤  in any  at gen/jvm/BOOTSTRAP.nqp:1218␤  in any  at gen/jvm/BOOTSTRAP.nqp:1202␤  in sub foo at /tmp/tmpfile:1␤  in block  a…»
01:34 camelia ..rakudo-parrot b2b333: OUTPUT«Ambiguous call to 'foo'; these signatures all match:␤:(Int $x is rw)␤:(Int $x)␤  in any  at gen/parrot/BOOTSTRAP.nqp:1233␤  in any  at gen/parrot/BOOTSTRAP.nqp:1225␤  in any  at gen/parrot/BOOTSTRAP.nqp:1210␤  in sub foo at /tmp/tmpfile:1␤ …»
01:34 camelia ..rakudo-moar b2b333: OUTPUT«Ambiguous call to 'foo'; these signatures all match:␤:(Int $x is rw)␤:(Int $x)␤  in sub foo at /tmp/tmpfile:1␤  in block  at /tmp/tmpfile:1␤␤»
01:35 erkan joined #perl6
01:35 bjz joined #perl6
01:35 timotimo joined #perl6
01:35 pnu_ joined #perl6
01:35 ruoso_ joined #perl6
01:35 sftp_ joined #perl6
01:35 Celelibi joined #perl6
01:35 __sri joined #perl6
01:35 zamolxes joined #perl6
01:38 rurban1 joined #perl6
01:39 [Coke] .ask Util if he can review https://rt.perl.org/Ticket/Display.html?id=76680 to see if it's still an issue.
01:39 [Coke] preflex: .ask Util if he can review https://rt.perl.org/Ticket/Display.html?id=76680 to see if it's still an issue.
01:39 [Coke] bah. Util: ^^
01:46 ggherdov joined #perl6
01:49 * Mouq should probably work on table stuff...
01:50 Mouq [Coke]++ # roast
01:52 itz_ joined #perl6
01:56 lue Wow, S11 is unbelievably crusty-feeling
01:56 lue (whoever edited this once thought that one space was good enough for an implicit code block)
02:00 * Mouq idly wonders if there's a reason why http://perlcabal.org/syn/ uses ``...'' instead of, e.g., “..”
02:01 * Mouq is a nit-picker
02:01 ribasushi joined #perl6
02:01 lue Mouq: where does it do that?
02:01 lue in any case, probably a LaTeX-ism that snuck through :)
02:02 PZt joined #perl6
02:02 lue Hrm, =code\n    =AUTHOR doesn't actually stop =AUTHOR, neither does =for code
02:02 lue I can see why, though it feels wrong :/
02:04 hoverboard joined #perl6
02:04 raiph joined #perl6
02:05 Mouq lue: Nope, although I think it would make sense for =code|=for code to be an exception there, especially since =begin code disregards all directives inside it
02:05 Mouq *exception to that rule
02:05 lue The problem is, it's very possible you want to end a =code or =for code with a new command
02:06 lue I just went with :allow<V> :)  I doubt this issue comes up outside of Pod6 stuff anyway.
02:07 raiph Hi guys, wanted to kick around a concept: https://twitter.com/p6eval
02:09 raiph It's just pure concept, the tweet length @p6eval bio says it all
02:09 * Mouq guesses @p6err would be pretty busy
02:09 Mouq I think it's a cool idea though
02:10 lue Don't hashtag until after the code.
02:10 raiph note that it's a p6 "string", not code
02:11 FROGGS_ joined #perl6
02:11 lue raiph: oh, that seems significantly less useful.
02:12 Sqirrel joined #perl6
02:12 raiph lue: you can always put { code } anywhere
02:12 raiph It's like a power tweeting language
02:14 raiph You write tweets just like normal, but can insert the time by typing { now }.
02:14 lue Ah, so it's meant to be a twitter helper rather than a Perl 6 showoff, right? :)
02:15 lue ("twitter with P6" vs. "camelia on twitter")
02:21 raiph I think it's at least a year too early for p6ers themselves to risk seeing it as a showoff thing but I'm hypothesizing that the concept of $tweeting is valid, and that p6 double quoted string language (or perhaps a slang variation of it) would be well suited to such a form.
02:30 kaare_ joined #perl6
02:32 pecastro joined #perl6
02:36 klapperl joined #perl6
02:41 raiph We could create a $tweet distro and preload the p6eval server with useful modules and values in its environment. Maybe make it a "sysadmin" one-liner tool where anyone who can tweet is a sysadmin and the system is the public Internet.
02:45 lizmat_ joined #perl6
02:56 mavcunha joined #perl6
03:00 mavcunha joined #perl6
03:12 perigrin_ joined #perl6
03:28 raydiak joined #perl6
04:08 telex joined #perl6
04:12 Guest56101 joined #perl6
04:21 Guest56101 joined #perl6
04:26 lue First time I've seen S26 with bolded portions of code. Quite lovely :)
04:38 TimToady .oO(To boldly go...)
04:41 lue Now that there actually is an S15, big parts of S29 look even more outdated :)
04:43 BenGoldberg .oO(boldly)
04:43 hoverboard joined #perl6
04:58 immortal joined #perl6
04:58 immortal joined #perl6
04:58 klapperl_ joined #perl6
04:58 slavik joined #perl6
05:07 bjz joined #perl6
05:07 timotimo joined #perl6
05:07 pnu_ joined #perl6
05:07 ruoso_ joined #perl6
05:07 sftp_ joined #perl6
05:07 Celelibi joined #perl6
05:07 __sri joined #perl6
05:07 zamolxes joined #perl6
05:26 Mouq joined #perl6
05:26 klapperl_ joined #perl6
05:26 immortal joined #perl6
05:26 raydiak joined #perl6
05:26 mavcunha joined #perl6
05:26 pecastro joined #perl6
05:26 FROGGS_ joined #perl6
05:26 ribasushi joined #perl6
05:26 itz_ joined #perl6
05:26 ggherdov joined #perl6
05:26 rurban1 joined #perl6
05:26 rurban joined #perl6
05:26 skids joined #perl6
05:26 pochi joined #perl6
05:26 tokuhirom joined #perl6
05:26 Vlavv joined #perl6
05:26 sunnavy joined #perl6
05:26 revdiablo joined #perl6
05:26 stevan_ joined #perl6
05:26 lee joined #perl6
05:26 yakudza joined #perl6
05:26 nwc10 joined #perl6
05:26 synopsebot joined #perl6
05:26 silug__ joined #perl6
05:27 xinming joined #perl6
05:31 hoelzro joined #perl6
05:38 PZt joined #perl6
05:39 xenoterracide joined #perl6
05:42 lue Just a few more synopses, and I'll be ready to push the specs/pod6ify branch.
05:43 * TimToady is about to push a fairly complete frugal map patch
05:43 Mouq lue++ TimToady++
05:44 TimToady in trade, I had to force HashIter to to do eager reify, because there's a reentrancy bug in there somewhere, but hashes are finite anyway, so no big deal
05:45 TimToady the greedy map was covering over the hashiter reentrancy problem
05:46 TimToady (which blew up in both -j and -m, so probably at the nqp level)
05:47 TimToady the java blew up with some kind of a disallowed concurrent access
05:49 dylanwh joined #perl6
05:51 TimToady I'll commit the hashiter eagerization separately, in case anyone wants to undo it and find the real underlying issue
05:51 Mouq r: =pod Can I haz C<nest<ed>> angles?␤␤say $=pod.perl
05:51 camelia rakudo-parrot fdfeb7, rakudo-jvm fdfeb7, rakudo-moar fdfeb7: OUTPUT«Array.new(Pod::Block::Named.new(name => "pod", config => ().hash, content => Array.new(Pod::Block::Para.new(config => ().hash, content => Array.new("Can I haz ", Pod::FormattingCode.new(type => "C", config => ().has…»
05:51 Mouq (yes)
05:52 _thou joined #perl6
05:52 Yappo__________7 joined #perl6
05:52 ingy1 joined #perl6
05:52 xfix joined #perl6
05:53 lue Wow, just stumbled into a issue with my POD converter. Wanna know what the issue was? :)
05:54 TimToady um, greed map?
05:54 TimToady *dy
05:54 lue "IO.pod:          Perl POD document, UTF-8 Unicode (with BOM) text"
05:54 TimToady heh
05:54 lue why even
05:55 TimToady someone was using an editor
05:55 lue On the plus side, it uncovered a nasty potential negative array index bug :)
06:00 lue I wonder if it's the same person who left out a =back towards the end of the document...
06:01 pdcawley_ joined #perl6
06:05 Mouq Delimited head* doesn't work :/
06:05 Mouq I'm not actually sure what it would mean tbh
06:06 Mouq I was kind of hoping to figure out a way to do =item while creating a ToC entry for it
06:06 Mouq *=begin item
06:07 lue =begin item works, or at least it was last I checked...
06:08 Mouq lue: I want =begin item *and* a link to it in the table of contents. There's no anchor formatting code :p
06:09 Mouq lue: And of course, I could make a heading for each =begin item, but what fun is that? :P
06:09 lue there's perhaps X<>
06:09 Mouq ...
06:09 Mouq Lemme try, I thought X<> meant something else
06:10 lue it's for indexing, so I might be wrong here
06:13 rurban1 joined #perl6
06:19 Mouq lue: It works... sorta. Pod::To::Text makes it into a named span, but it should really be a named anchor in order to be linked against properly
06:21 Mouq Also lue++ thanks
06:21 lue Mouq: yeah, my mind was in L<defn: > at the time I made that suggestion, so perhaps I'm not to be trusted on that suggestion :)
06:21 Mouq lue: I tried that, but L<defn:*> doesn't work :(
06:21 lue L<defn:> goes with =defn and D<>
06:21 lue (I was erroneously looking at X<> at the time)
06:22 Mouq lue: But X<> is in fact what I was looking for :)
06:22 lue fwiw I've sometimes wanted an anchor code too, if only because sections aren't always reliable (Look at S02#Twigils and S02#Twigils for instance)
06:23 lue maybe it could be H<present|name> (first letter in anchor that isn't taken), and then L<anc:name>
06:23 Mouq I do wonder if an index shouldn't be automatically generated from X<>s though
06:23 lue Mouq: it does, for the POD5 version of the synopses they're collected into one big X tags page
06:24 lue http://perlcabal.org/syn/index_X.html
06:24 lue (also there's a index_C.html for whatever reason)
06:26 Mouq lue: I mean that the HTML generated from an arbitrary Pod6 page should have an index somewhere, maybe
06:26 rindolf joined #perl6
06:26 lue yeah, though indices are more useful with collections of pages :) . perlpod for instance describes X<> as being often ignored.
06:27 lue but yes, it would be useful for some sort of  perl6 --doc=HTML --docopts="--index-X"  to exist
06:28 Alina-malina joined #perl6
06:29 xinming joined #perl6
06:31 Mouq I'm also sad "=config item :numbered" doesn't work
06:32 Mouq r: =config item :numbered␤=item abcd␤=item efgh␤␤say $=pod
06:32 camelia rakudo-parrot fdfeb7, rakudo-jvm fdfeb7, rakudo-moar fdfeb7: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Preceding context expects a term, but found infix = instead�at /tmp/tmpfile:1�------> [32m=[33m�[31mconfig item :numbered[0m�»
06:32 Mouq ?
06:32 Mouq I really need to fix that too
06:33 lue I've discovered a couple not-working things, such as =nested and =defn not getting implicit code blocks (if I feel like it I'll fix that after pushing the pod6ify branch, should just be a grammar fix)
06:33 Mouq r: =begin pod␤=config item :numbered␤=item abcd␤=item efgh␤=end pod␤say $=pod
06:33 camelia rakudo-jvm fdfeb7: OUTPUT«Pod::Block::Named("name" => "pod").hash␤  Pod::Config<1582218551>␤  Pod::Item␤    Pod::Block::Para␤      abcd␤  Pod::Item␤    Pod::Block::Para␤      efgh␤␤»
06:33 camelia ..rakudo-parrot fdfeb7: OUTPUT«Pod::Block::Named("name" => "pod").hash␤  Pod::Config<1476049240461090522>␤  Pod::Item␤    Pod::Block::Para␤      abcd␤  Pod::Item␤    Pod::Block::Para␤      efgh␤␤»
06:33 camelia ..rakudo-moar fdfeb7: OUTPUT«Pod::Block::Named("name" => "pod").hash␤  Pod::Config<140527581498688>␤  Pod::Item␤    Pod::Block::Para␤      abcd␤  Pod::Item␤    Pod::Block::Para␤      efgh␤␤»
06:34 Mouq lue: Is that related to the =TITLE not getting code blocks thing you pointed out recently?
06:34 Mouq *implicit
06:34 lue yeah, just missing a couple more valid block names :)
06:35 lue "Implicit code blocks may only be used within =pod, =item, =defn, =nested, =finish, or semantic blocks."
06:37 lue r: =begin pod␤Foo␤    Bar␤=end pod␤say $=pod;
06:37 camelia rakudo-parrot fdfeb7, rakudo-jvm fdfeb7, rakudo-moar fdfeb7: OUTPUT«Pod::Block::Named("name" => "pod").hash␤  Pod::Block::Para␤    Foo Bar␤␤»
06:38 Mouq r: =begin pod␤Foo␤␤    Bar␤=end pod␤say $=pod;
06:38 camelia rakudo-parrot fdfeb7, rakudo-jvm fdfeb7, rakudo-moar fdfeb7: OUTPUT«Pod::Block::Named("name" => "pod").hash␤  Pod::Block::Para␤    Foo␤  Pod::Block::Code␤    Bar␤␤»
06:38 isBEKaml joined #perl6
06:38 Mouq Is that correct?
06:38 Mouq :/
06:39 lue I think so, judging by the fact that S<> is shown to preserve such leading spaces
06:39 lue actually, S<> isn't shown doing that, but I would assume.
06:39 Mouq lue: I don't see what that has to do with it...
06:40 lue I think the current behavior's correct (despite not feeling so), and it just means more blank lines in the synopses.
06:40 Mouq r: =pod␤    Foo␤␤say $=pod;
06:40 camelia rakudo-parrot fdfeb7, rakudo-jvm fdfeb7, rakudo-moar fdfeb7: OUTPUT«Pod::Block::Named("name" => "pod").hash␤  Pod::Block::Code␤    Foo␤␤»
06:41 Mouq r: =pod␤Not code␤    Foo␤␤say $=pod;
06:41 camelia rakudo-parrot fdfeb7, rakudo-jvm fdfeb7, rakudo-moar fdfeb7: OUTPUT«Pod::Block::Named("name" => "pod").hash␤  Pod::Block::Para␤    Not code Foo␤␤»
06:41 Mouq ^^
06:41 Mouq Not sure how I feel about that
06:42 lue Yeah, my instinct is to say it should be implicit code, though I don't know what arguments could be made for current behavior.
06:43 Mouq lue: The argument is that it's more paragraphy this way
06:44 Mouq One line of text followed by another line is the same paragraph
06:45 lue That's why I kinda agree with the current behavior.
06:47 mtj_ joined #perl6
06:48 * lue wonders if L<doc:S12> is sufficient for synopses, or if there's the remote chance that L<syn:12> or similar is preferable
06:50 * Mouq thinks it's weird to have Pod::Config... shouldn't the configuration be added directly to the nodes? and are configurations lexical?
06:56 dalek Heuristic branch merge: pushed 56 commits to specs/pod6ify by lue
06:56 Mouq lue++
06:56 lue Your pod6ified synopses are here: https://github.com/perl6/specs/tree/pod6ify
06:57 lue Still needs quite a few technical fixes, quite a few more idiomatic fixes, and likely many fixes to rakudo, but it's all parseable Pod6 :)
06:57 * Mouq realizes that =config has to at least partially be handled by perl6 directly b/c of "=config C<> :allow<B>" etc
06:58 Mouq lue: \o/
06:58 lue S22 shows off N<> inside code blocks, looks nice in HTML output :)
06:59 lue Mouq: adding a couple alternations to that parent_pod Grammar.nqp won't require a spectest, I hope?
07:01 Mouq lue: I can't imagine anything it would break
07:01 lue Note to those backlogging: please don't merge pod6ify into master until we have an up-and-running Perl+Pod6 synopsis generator for perlcabal and feather.perl6.nl
07:02 Mouq Heh. I do indeed like S22's use of N<>
07:02 Mouq lue++
07:03 lue It's a PITA when editing, but it looks awesome when rendered.
07:04 lue Just making sure my change to Rakudo will compile, and then I'll push it.
07:06 * lue wonders what it would take for something like M<img:pic.png> to work.
07:07 Mouq Uh. Do you mean L<>?
07:08 lue No, I mean inlining images. Would either require a module providing for M<img: , and/or renderers like ::To::HTML processing =for Image etc.
07:08 lue Mouq: M<> is the "use your own formatting code" formatting code
07:09 Mouq Yeah...
07:09 Mouq :P
07:09 Mouq :)
07:09 dalek rakudo/nom: 7d9f4d4 | lue++ | src/Perl6/Grammar.nqp:
07:09 dalek rakudo/nom: Finally, the full & accurate list of implicit-code-block-able blocks.
07:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7d9f4d438b
07:10 Mouq \o/
07:10 lue Note that I got rid of =output, because that was said to have implicit *nesting*, but not implicit *code blocks* :)
07:11 * lue goes to run his syngen on the entirety of the specs, and the entirety of roast
07:22 dalek specs/pod6ify: c84f005 | Mouq++ | S0 (6 files):
07:22 dalek specs/pod6ify: Strip =encoding utf8 from files
07:22 dalek specs/pod6ify: review: https://github.com/perl6/specs/commit/c84f005db5
07:23 lue Heh, there are going to be a couple of inconsistencies at the start, as I was finding issues with pod_vvi. I wasn't in the mood for reobtaining the old .pod files to reprocess them after I deleted them, so... :)
07:28 lue r: my $a = "perl6"; say "perl6" ~~ /<{$a}>/
07:28 camelia rakudo-parrot fdfeb7, rakudo-jvm fdfeb7, rakudo-moar fdfeb7: OUTPUT«「perl6」␤␤»
07:28 lue r: my $a = "perl6-m"; say "perl6-m" ~~ /<{$a}>/
07:28 camelia rakudo-parrot fdfeb7, rakudo-jvm fdfeb7, rakudo-moar fdfeb7: OUTPUT«[31m===[0mSORRY![31m===[0m�Unrecognized regex metacharacter - (must be quoted to match literally)�at eval_0:1�------> [32manon regex { ^perl6[33m�[31m-m}[0m�Malformed regex�at eval_0:1�------> …»
07:29 lue $a in reality is $blink.section , so I have to use <{}>, which as you can see won't always work :/
07:29 lue but for now, ♘ #perl6 o/
07:30 berekuk joined #perl6
07:32 Mouq 'night lue!
07:32 grondilu joined #perl6
07:33 sjohnson joined #perl6
07:34 Mouq r: my $a = "perl6-m"; say "perl6-m" ~~ /<{"'$a'"}>/
07:34 camelia rakudo-parrot fdfeb7, rakudo-jvm fdfeb7, rakudo-moar fdfeb7: OUTPUT«「perl6-m」␤␤»
07:34 Mouq Of course, fails if $a contains '
07:36 darutoko joined #perl6
07:51 _thou joined #perl6
07:59 dalek rakudo/nom: 3c4df1e | Mouq++ | src/ (2 files):
07:59 dalek rakudo/nom: Make X::Syntax:Pod::BeginWithoutEnd slightly more useful
07:59 dalek rakudo/nom:
07:59 dalek rakudo/nom: And slightly less annoying
07:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3c4df1edaa
07:59 dalek rakudo/nom: 52d6316 | Mouq++ | / (2 files):
07:59 dalek rakudo/nom: Merge branch 'nom' of https://github.com/rakudo/rakudo into nom
07:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/52d6316b82
08:00 berekuk joined #perl6
08:11 dalek rakudo/nom: 83273fa | larry++ | src/core/HashIter.pm:
08:11 dalek rakudo/nom: HashIter::reify now does eager snapshot
08:11 dalek rakudo/nom:
08:11 dalek rakudo/nom: There is some instability in the reentrancy of hashiter, so we force
08:11 dalek rakudo/nom: reify to run to completion in lieu of a bug fix.  But hashes are
08:11 dalek rakudo/nom: finite anyway, and not many people are going to want to do short-circuit
08:11 dalek rakudo/nom: lazy evaluation of a list of keys or values, so not a big deal if we
08:11 dalek rakudo/nom: don't support laziness on hashes for now.  This fix enables maps to
08:11 dalek rakudo/nom: reify their input lists frugally rather than greedily, since greedy map
08:11 dalek rakudo/nom: was hiding the reentrancy problem that this patch hides differently.
08:11 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/83273fae48
08:11 dalek rakudo/nom: 51d3cae | larry++ | src/core/MapIter.pm:
08:11 dalek rakudo/nom: MapIter::reify is now frugal with input list
08:11 dalek rakudo/nom:
08:17 TimToady that's https://github.com/rakudo/rakudo/commit/51d3cae9b145a18525c67fd1e5e862719614319f if you want to see it
08:20 timotimo cool.
08:21 timotimo TimToady: that is totally going into my monday's changes post.
08:23 berekuk joined #perl6
08:24 TimToady and http://rosettacode.org/wiki/Count_in_factors#Perl_6 now takes advantage of that fix :)
08:26 * TimToady supposes there's an RT somewhere that relates, but is going to bed about an hour ago now...
08:26 TimToady zzz &
08:28 pnu_ joined #perl6
08:29 ggherdov joined #perl6
08:35 Zaydon joined #perl6
08:36 zaydon_ joined #perl6
08:45 amkrankruleuen joined #perl6
08:47 SamuraiJack joined #perl6
08:47 Alula joined #perl6
08:48 kurahaupo_mobile joined #perl6
09:32 grondilu rn: my @a = rand xx 3; for @a -> $a is rw { $a = 0 }; say @a;  # just verifying niecza agrees with rakudo here
09:33 camelia rakudo-parrot 51d3ca, rakudo-jvm 51d3ca, rakudo-moar 51d3ca, niecza v24-109-g48a8de3: OUTPUT«0 0 0␤»
09:35 timotimo minor suggestion: <-> $foo is short for -> $fo is rw
09:36 grondilu never redd that. Is that a recently added syntax?
09:37 grondilu I like it, though.
09:37 timotimo i think it was already there when i joined #perl6 for the first time actually
09:38 Mouq joined #perl6
09:47 sqirrel_ joined #perl6
09:47 moritz I'd date it to 2008 or 2009
09:48 berekuk joined #perl6
09:49 timotimo o/ moritz
09:55 moritz <-> was already in present in the 2008 "Move synopses to their new home" comit by pmichaud++
09:55 moritz (imported from svn)
09:56 raiph joined #perl6
09:57 masak antenoon, #perl6
09:57 moritz \o masak, *
10:02 Rotwang joined #perl6
10:05 virtualsue joined #perl6
10:09 grondilu $*OUT = open "test", :w; say "hi" # this is supposed to write "hi" in a file named "test", right?
10:12 timotimo if that doesn't work, maybe "my $*OUT" helps?
10:12 timotimo but yeah, i tshould work
10:14 FROGGS_ if it does not, maybe it is just broken in the mainline? I think I've seen a ticket about something like that
10:15 grondilu seems broken indeed.
10:18 felher joined #perl6
10:19 FROGGS_ hmmmm, wait
10:19 FROGGS_ say "hi" just delegates to nqp::say() and not to nqp::sayfh($*OUT, ...
10:22 timotimo ah.
10:26 masak yeah, that's wrong.
10:26 timotimo seems like a simple-ish fix :)
10:27 masak orthogonally, I think the 'my' should be there in 'my $*OUT' -- seems like it'd create a better-insulated program.
10:27 timotimo aye
10:27 go|dfish joined #perl6
10:29 rindolf joined #perl6
10:37 masak ...to the extent that dynamic variables deliver "insulated" semantics in the first place :P
10:38 timotimo they kind of do
10:41 timotimo hm.
10:41 timotimo so i want to have a variable that gets made available to the user of my module. is that sensible?
10:42 timotimo i guess i can "import $Foo::Module::varname"?
10:43 timotimo that doesn't seem to do it, though :(
10:43 FROGGS_ p: use Test <&pod2text>; say &pod2text
10:43 camelia rakudo-parrot 51d3ca: OUTPUT«===SORRY!===␤Error while importing from 'Test': no EXPORT sub, but you provided positional argument in the 'use' statement␤»
10:44 FROGGS_ this way?
10:44 timotimo well, that clearly didn't work :P
10:44 FROGGS_ why?
10:44 timotimo "no EXPORT sub"
10:44 timotimo i'd have to write my own export sub then
10:45 FROGGS_ are you the module author or not? :P
10:45 timotimo ... yes :|
10:45 FROGGS_ see
10:45 timotimo i'd like a varibale trait "is export", though
10:46 timotimo writing an export sub feels boilerplatey
10:46 FROGGS_ p: class Foo { our $bar is export = 42 }; need Foo; say $bar
10:46 camelia rakudo-parrot 51d3ca: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/swIRYES8mPâ�¤Can't use unknown trait 'is export' in a variable declaration.â�¤at /tmp/swIRYES8mP:1â�¤------> [32mclass Foo { our $bar is export [33mâ��[31m= 42 }; need Foo; say $bar[0mâ�¤    e…»
10:46 FROGGS_ ahh
10:48 FROGGS_ p: multi trait_mod:<is>(Variable:D \r, :$export!) { }; class Foo { our $bar is export = 42 };
10:48 camelia rakudo-parrot 51d3ca: ( no output )
10:48 timotimo :P
10:48 timotimo not very helpful, don't you agree? ;)
10:49 FROGGS_ p: multi trait_mod:<is>(Variable:D \var, :$export!) { EXPORT_SYMBOL(var.VAR.name, 'ALL', var) }; class Foo { our $bar is export = 42 }; say $bar
10:49 camelia rakudo-parrot 51d3ca: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/0PNElPVtzE�Nominal type check failed for parameter '@tags'; expected Positional but got Str instead�at /tmp/0PNElPVtzE:1�------> �»
10:50 FROGGS_ p: multi trait_mod:<is>(Variable:D \var, :$export!) { EXPORT_SYMBOL(var.VAR.name, ['ALL'], var) }; class Foo { our $bar is export = 42 }; say $bar
10:50 camelia rakudo-parrot 51d3ca: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/sRFZYt2_8Oâ�¤Variable '$bar' is not declaredâ�¤at /tmp/sRFZYt2_8O:1â�¤------> [32moo { our $bar is export = 42 }; say $bar[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
10:50 FROGGS_ p: multi trait_mod:<is>(Variable:D \var, :$export!) { EXPORT_SYMBOL(var.VAR.name, ['ALL'], var) }; class Foo { our $bar is export = 42 }; import Foo; say $bar
10:50 camelia rakudo-parrot 51d3ca: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/0wSProviQ5â�¤Variable '$bar' is not declaredâ�¤at /tmp/0wSProviQ5:1â�¤------> [32mr is export = 42 }; import Foo; say $bar[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
10:50 FROGGS_ p: multi trait_mod:<is>(Variable:D \var, :$export!) { EXPORT_SYMBOL(var.VAR.name, ['ALL'], var) }; class Foo { our $bar is export = 42 }; import Foo <$bar>; say $bar
10:50 camelia rakudo-parrot 51d3ca: OUTPUT«===SORRY!===␤Error while importing from 'Foo': no EXPORT sub, but you provided positional argument in the 'use' statement␤»
10:50 timotimo Constants (and enums) are also exportable items. As are variables declared in our scoping:
10:50 timotimo our @foo is export = <foo bar>
10:50 timotimo so just NYI
10:50 FROGGS_ hmpf
10:50 timotimo i think EXPORT_SYMBOL belongs somewhere else
10:50 timotimo time-of-call-wise
10:51 FROGGS_ p: multi trait_mod:<is>(Variable:D \var, :$export!) { say 42; EXPORT_SYMBOL(var.VAR.name, ['ALL'], var) }; class Foo { our $bar is export = 42 }; import Foo <$bar>; say $bar
10:51 camelia rakudo-parrot 51d3ca: OUTPUT«42␤===SORRY!===␤Error while importing from 'Foo': no EXPORT sub, but you provided positional argument in the 'use' statement␤»
10:51 FROGGS_ p: multi trait_mod:<is>(Variable:D \var, :$export!) { say 42; EXPORT_SYMBOL(var.VAR.name, ['ALL'], var) }; class Foo { our $bar is export = 42 }; import Foo; say GLOBAL::
10:51 camelia rakudo-parrot 51d3ca: OUTPUT«42␤("Foo" => Foo).hash␤»
10:52 FROGGS_ p: multi trait_mod:<is>(Variable:D \var, :$export!) { say var.VAR.name; EXPORT_SYMBOL(var.VAR.name, ['ALL'], var) }; class Foo { our $bar is export = 42 }; import Foo; say GLOBAL::
10:52 camelia rakudo-parrot 51d3ca: OUTPUT«$bar␤("Foo" => Foo).hash␤»
10:52 FROGGS_ hmmm
10:53 timotimo oh, huh.
10:54 pippo joined #perl6
10:54 isBEKaml joined #perl6
10:57 berekuk joined #perl6
10:58 timotimo weird. import Module <$foo $bar $baz> ought to work, no?
10:59 FROGGS_ if you had an export sub, yeah
11:01 FROGGS_ that is what I do not understand:
11:01 FROGGS_ p: module Baz; multi trait_mod:<is>(Variable:D \var, :$export!) { say 42; EXPORT_SYMBOL(var.VAR.name, < ALL DEFAULT >, var) }; class Foo { our $bar is export = 42 }; import Foo; our $bar; say Baz.WHO
11:01 camelia rakudo-parrot 51d3ca: OUTPUT«42â�¤Potential difficulties:â�¤    Redeclaration of symbol $barâ�¤    at /tmp/5o3NwLsv3T:1â�¤    ------> [32mr is export = 42 }; import Foo; our $bar[33mâ��[31m; say Baz.WHO[0mâ�¤("Foo" => Foo, "EXPORT" => EXPORT, "\$bar" => Any).hashâ�¤Â»
11:01 FROGGS_ p: module Baz; multi trait_mod:<is>(Variable:D \var, :$export!) { say 42; EXPORT_SYMBOL(var.VAR.name, < ALL DEFAULT >, var) }; class Foo { our $bar is export = 42 }; import Foo; say Baz.WHO
11:01 camelia rakudo-parrot 51d3ca: OUTPUT«42␤("Foo" => Foo, "EXPORT" => EXPORT).hash␤»
11:02 FROGGS_ ohh
11:02 FROGGS_ p: module Baz; multi trait_mod:<is>(Variable:D \var, :$export!) { say 42; EXPORT_SYMBOL(var.VAR.name, < ALL DEFAULT >, var) }; class Foo { our $bar is export = 42 }; import Foo; say $bar
11:02 camelia rakudo-parrot 51d3ca: OUTPUT«42␤No such method 'perl' for invocant of type 'NQPMatch'␤  in method perl at gen/parrot/CORE.setting:1054␤  in method perl at gen/parrot/CORE.setting:1046␤  in method gist at gen/parrot/CORE.setting:1044␤  in method gist at gen/parrot/CORE.sett…»
11:03 grep0r joined #perl6
11:06 FROGGS_ p: module Baz; multi trait_mod:<is>(Variable:D \var, :$export!) { EXPORT_SYMBOL(var.name, < ALL DEFAULT >, var.var) }; class Foo { our $bar is export = 42 }; import Foo; say $bar # bith please :P
11:06 camelia rakudo-parrot 51d3ca: OUTPUT«42␤»
11:06 FROGGS_ ahh, that gorram c key -.-
11:06 FROGGS_ timotimo: ^^
11:07 FROGGS_ p: multi trait_mod:<is>(Variable:D \var, :$export!) { EXPORT_SYMBOL(var.name, < ALL DEFAULT >, var.var) }; class Foo { our $bar is export = 42 }; import Foo; say $bar
11:07 camelia rakudo-parrot 51d3ca: OUTPUT«42␤»
11:07 FROGGS_ ossum
11:08 * FROGGS_ .oO( NYI my hat! )
11:09 pippo_ joined #perl6
11:09 sqirrel_ joined #perl6
11:09 * FROGGS_ spectests
11:10 * masak is writing Perl 6 application code again, and enjoying it
11:11 jnthn grondilu: Not sure what you think is broken; I tried your code here and:
11:11 jnthn > perl6-m -e "$*OUT = open 'test', :w; say 'hi'"
11:12 jnthn > type test
11:12 jnthn hi
11:12 jnthn And &say most certainly does use $*OUT :)
11:13 denis_boyun joined #perl6
11:15 dmol joined #perl6
11:16 Alina-malina joined #perl6
11:16 Alina-malina joined #perl6
11:16 pippo joined #perl6
11:17 erkan joined #perl6
11:28 pdcawley joined #perl6
11:33 Nei_ joined #perl6
11:33 mavcunha_ joined #perl6
11:38 orevdiabl joined #perl6
11:40 tgt joined #perl6
11:42 grep0r joined #perl6
11:43 lee joined #perl6
11:44 moritz $ whois parrot.org|grep Expiry
11:44 moritz Registry Expiry Date: 2019-02-22T10:48:05Z
11:47 pecastro joined #perl6
11:47 ggherdov joined #perl6
11:48 Vlavv joined #perl6
11:49 FROGGS_ joined #perl6
11:49 yakudza joined #perl6
11:55 synopsebot joined #perl6
11:56 FROGGS_ sadly, the export trait does work for our scoped but not for my scoped vars :/
11:58 masak FROGGS_: I'm not 100% sure I would expect/want it to work for my-scoped vars.
11:59 masak FROGGS_: our-scoped vars are per module. my-scoped vars are per block invocation. which "version" of the var do you share?
11:59 masak s/version/incarnation/
11:59 grondilu jnthn: I tried again and it works indeed.  I don't know what went wrong, as I can't reproduce it now.  Nevermind.
12:01 jnthn grondilu: ok
12:02 grondilu ha, found it
12:02 grondilu it does not work with my current install of rakudo*
12:02 moritz FROGGS_: that's because exporting happens at compile time, and at compile time only the proto lexpad is available
12:03 grondilu but it works when I use perl6-m, as it is a most recent compile
12:03 grondilu my version of R* is:  This is perl6 version 2014.01 built on parrot 5.9.0 revision 0
12:03 silug__ joined #perl6
12:03 dylanwh joined #perl6
12:03 erkan joined #perl6
12:03 pochi_ joined #perl6
12:03 stevan__ joined #perl6
12:03 SamuraiJack_ joined #perl6
12:03 sunnavy_ joined #perl6
12:03 klapperl joined #perl6
12:03 nwc10_ joined #perl6
12:03 ribasushi joined #perl6
12:03 itz joined #perl6
12:03 Rotwang joined #perl6
12:03 skids joined #perl6
12:03 raydiak joined #perl6
12:03 Yappo__________7 joined #perl6
12:03 ingy1 joined #perl6
12:03 xfix joined #perl6
12:04 grondilu and my version of perl6-m is:
12:04 grondilu This is perl6 version 2014.02-8-gbfe22c4 built on MoarVM version 2014.02
12:06 FROGGS_ masak / moritz: perfect! I let it throw a nice msg then
12:09 vendethiel joined #perl6
12:10 yihshih joined #perl6
12:12 dmol joined #perl6
12:20 Rotwang is there a mktemp module or something?
12:20 molaf_ joined #perl6
12:28 dmol joined #perl6
12:37 FROGGS_ Rotwang: this? https://github.com/perlpilot/p6-File-Temp/
12:43 Rotwang FROGGS_: thanks, although I've hoped that there will be something in standard rakudo distribution
12:44 Rotwang damn, after a delay it is hard to go back to perl6 and remember all the things
12:47 FROGGS_ it does not seem to be specced
12:48 dalek rakudo/moar-conc: afd40aa | jnthn++ | src/vm/jvm/core/ThreadPoolScheduler.pm:
12:48 dalek rakudo/moar-conc: Further reduce JVM-ness of ThreadPoolScheduler.
12:48 dalek rakudo/moar-conc:
12:48 dalek rakudo/moar-conc: With this, the use of AtomicInteger is eliminated in favor of a lock
12:48 dalek rakudo/moar-conc: (for now; we can do better in the future when we've atomic ops). The
12:48 dalek rakudo/moar-conc: timer related bits are still JVM-specific, but now conditionally built
12:48 dalek rakudo/moar-conc: for the JVM, and we just throw an exception on Moar. Means we can use
12:48 dalek rakudo/moar-conc: the non-timer bits of the scheduler on Moar initially.
12:48 dalek rakudo/moar-conc: review: https://github.com/rakudo/rakudo/commit/afd40aac10
12:49 aborazmeh joined #perl6
12:50 dalek rakudo/moar-conc: d7b2e09 | jnthn++ | / (3 files):
12:50 dalek rakudo/moar-conc: Move ThreadPoolScheduler into src/core/.
12:50 dalek rakudo/moar-conc:
12:50 dalek rakudo/moar-conc: The JVM-specific bits are conditionally compiled for JVM now.
12:50 dalek rakudo/moar-conc: review: https://github.com/rakudo/rakudo/commit/d7b2e0925d
12:50 dalek rakudo/moar-conc: 80d06c2 | jnthn++ | tools/build/Makefile-Moar.in:
12:50 dalek rakudo/moar-conc: Add Semaphore and ThreadPoolScheduler to Moar.
12:50 dalek rakudo/moar-conc: review: https://github.com/rakudo/rakudo/commit/80d06c200f
12:53 virtualsue joined #perl6
12:58 zakharyas joined #perl6
13:00 dmol joined #perl6
13:03 jnthn bbl
13:03 FROGGS_ o/
13:06 Rotwang what does a Cool:D mean?
13:06 Rotwang sub rmdir(Cool:D $directory)
13:06 Rotwang I know what Cool is but not what :D is
13:06 Rotwang except that it is an smiley
13:07 FROGGS_ Defined
13:07 FROGGS_ so you cant pass the typeobject Cool to this sub
13:07 Rotwang are there any other smileys?
13:07 FROGGS_ only an instance of it
13:07 FROGGS_ yes, :U and :T
13:07 FROGGS_ T means Type object, but is NYI
13:08 pippo joined #perl6
13:09 Rotwang ok, thanks
13:10 [Sno] joined #perl6
13:18 dalek rakudo/nom: 505868d | (Tobias Leich)++ | src/core/ (2 files):
13:18 dalek rakudo/nom: implement export trait for our scoped vars
13:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/505868d794
13:30 bjz joined #perl6
13:32 Nei left #perl6
13:36 * grondilu runs 'time perl6-m -e '.say for ^10_000' and notices it got much slower than a few weeks ago.
13:37 pdcawley joined #perl6
13:37 moritz grondilu: try reverting to 52d6316b82a1554092f6778e462ac61a3c8c5fbb and measure again
13:39 vendethiel FROGGS_: what :T supposed to be ?
13:41 mavcunha_ joined #perl6
13:41 pippo left #perl6
13:42 jnthn grondilu: And if you go back before the patch TimToady put in recently and try then?
13:43 pippo joined #perl6
13:43 jnthn Oh, moritz beat me to it :)
13:43 * grondilu is recompiling after reverting 52d6316b82a1554092f6778e462ac61a3c8c5fbb
13:43 jnthn As soon as I saw that patch and worried about this.
13:44 jnthn *I
13:44 pippo left #perl6
13:45 mavcunha joined #perl6
13:50 pippo joined #perl6
13:52 grondilu hum...  same speed.  Maybe I provided the wrong argument to the -m option of git revert?
13:53 * grondilu was told 'Commit 52d6316b82a1554092f6778e462ac61a3c8c5fbb is a merge but no -m option was given.', so he added -m 1
13:55 jnthn grondilu: Oh, I don't think moritz meant revert that commit, but go to that commit
13:56 jnthn git checkout 52d631..
13:56 * colomon just installed fresh rakudo, and now when he tries pandabrew rebootstrap, it seems to hang in the "==> Fetching panda" stage.
13:57 moritz sorry if my instructions were unclear
13:57 * grondilu checks out and recompiles
13:59 FROGGS_ vendethiel: only type objects are allowed then
13:59 tgt joined #perl6
13:59 tadzik colomon: it's just super slow
13:59 tadzik probably
14:00 vendethiel FROGGS_: like `class T { sub fn(T:T:){} }; my T $a .= fn;` ?
14:01 FROGGS_ p: sub foo(:T $bar) { say $bar }; foo(Int)
14:01 camelia rakudo-parrot 51d3ca: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/PgIRN4MxeCâ�¤Malformed parameterâ�¤at /tmp/PgIRN4MxeC:1â�¤------> [32msub foo([33mâ��[31m:T $bar) { say $bar }; foo(Int)[0mâ�¤    expecting any of:â�¤        statement listâ�¤        prefix or…»
14:01 FROGGS_ this is meant to work
14:02 FROGGS_ p: sub foo(:T $bar) { say $bar }; foo(42) # instead of this
14:02 camelia rakudo-parrot 51d3ca: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/U5vMBFhvpkâ�¤Malformed parameterâ�¤at /tmp/U5vMBFhvpk:1â�¤------> [32msub foo([33mâ��[31m:T $bar) { say $bar }; foo(42) # instead[0mâ�¤    expecting any of:â�¤        statement listâ�¤        â€¦Â»
14:02 FROGGS_ p: sub foo(:U $bar) { say $bar }; foo(Int) # like this
14:02 camelia rakudo-parrot 51d3ca: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/4xD9Y0b4H2â�¤Malformed parameterâ�¤at /tmp/4xD9Y0b4H2:1â�¤------> [32msub foo([33mâ��[31m:U $bar) { say $bar }; foo(Int) # like t[0mâ�¤    expecting any of:â�¤        statement listâ�¤        â€¦Â»
14:02 moritz erm no
14:02 FROGGS_ meh
14:02 moritz you have to specify the type
14:02 moritz Mu:U or Any:U or so
14:02 FROGGS_ ohh, of course
14:02 FROGGS_ p: sub foo(Int:U $bar) { say $bar }; foo(Int) # like this
14:02 camelia rakudo-parrot 51d3ca: OUTPUT«(Int)␤»
14:02 moritz and if you want to to be a type cature, it'd have to be ::T
14:02 FROGGS_ p: sub foo(Int:U $bar) { say $bar }; foo(42) # like this
14:02 camelia rakudo-parrot 51d3ca: OUTPUT«Parameter '$bar' requires a type object, but an object instance was passed␤  in sub foo at /tmp/mkkJ4l3wp2:1␤  in block  at /tmp/mkkJ4l3wp2:1␤␤»
14:03 FROGGS_ vendethiel: see?
14:03 zakharyas joined #perl6
14:04 vendethiel FROGGS_: I know about :U and :D, I was asking about :T
14:05 FROGGS_ vendethiel: :T will mostly behave like :U I think, I even don't know where the difference is
14:05 vendethiel oke, thanjs
14:07 vendethiel moritz: oh, you can have type parameters just for subs too ? that's cool
14:07 vendethiel I only read about `role a[::T]` in the synopsis
14:08 vendethiel m: sub a(::T $) { say T; }; a(42);
14:08 camelia rakudo-moar 51d3ca: OUTPUT«(Int)␤»
14:08 grondilu yep, much faster now
14:08 grondilu about twice as fast
14:09 grondilu 6sec against 16secs, to be exact.  So more like three times.
14:16 jnthn grondilu: Thanks for measuring.
14:16 * masak waves, from a train!
14:16 jnthn TimToady: ^^ is quite a big regression :(
14:16 jnthn o/ masak
14:18 moritz vendethiel: the inside of the [] in a role declaration is just a signature
14:18 vendethiel ++moritz, ++FROGGS_ (why's :T needed then ?)
14:19 moritz vendethiel: objects can override their .defined method
14:19 moritz vendethiel: so :D/:U test for defineness, while :T tests for being a type object
14:22 vendethiel one will use the overloaded and the other won't ?
14:22 vendethiel (overloaded .defined method, that is)
14:22 vendethiel moritz++ # alright, got it!
14:22 moritz correct
14:22 moritz (though I think rakudo got that wrong)
14:28 FROGGS_ p6: class Foo { our $bar is export = 42 }; import Foo; say $bar
14:28 camelia niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0m��Trait export not available on variables at /tmp/tmpfile line 1:�------> [32mclass Foo { our $bar is export [33m�[31m= 42 }; import Foo; say $bar[0m��Action method statement_control:import not yet impleme…»
14:28 camelia ..rakudo-parrot 51d3ca, rakudo-jvm 51d3ca, rakudo-moar 51d3ca: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Can't use unknown trait 'is export' in a variable declaration.�at /tmp/tmpfile:1�------> [32mclass Foo { our $bar is export [33m�[31m= 42 …»
14:30 Timbus p: sub foo(Int:U $bar) { say $bar }; foo(True)
14:30 camelia rakudo-parrot 51d3ca: OUTPUT«Nominal type check failed for parameter '$bar'; expected Int but got Bool instead␤  in sub foo at /tmp/VuRlxe18fl:1␤  in block  at /tmp/VuRlxe18fl:1␤␤»
14:31 Timbus oh
14:31 Timbus p: sub foo(Bool:U $bar) { say $bar }; foo(True)
14:31 camelia rakudo-parrot 51d3ca: OUTPUT«Parameter '$bar' requires a type object, but an object instance was passed␤  in sub foo at /tmp/DgAHiNrGVO:1␤  in block  at /tmp/DgAHiNrGVO:1␤␤»
14:31 FROGGS_ p: sub foo(Cool:U $bar) { say $bar }; foo(Int)
14:31 camelia rakudo-parrot 51d3ca: OUTPUT«(Int)␤»
14:34 rurban joined #perl6
14:41 mtk joined #perl6
14:43 mavcunha joined #perl6
14:46 pdcawley_ joined #perl6
14:46 mtk joined #perl6
14:47 bjz joined #perl6
14:47 mavcunha_ joined #perl6
14:57 ggoebel joined #perl6
14:58 ajr joined #perl6
14:59 masak one thing I really like about Perl 6: it's a joy to migrate from loose, unstructured hashes to objects with classes.
15:00 masak by the way, I miss blogging about things like this. I'm seriously considering getting making an Iron Man "pact" with a few people.
15:00 masak let me know if you're interested, and we can discuss terms.
15:00 masak s/getting //
15:02 Rotwang I'm trying to list files with dir this way my $files-to-parse = dir($out-dir, test => .IO.f);
15:03 Rotwang but it returns an empty list, without test it returns all the files
15:03 Rotwang what is wrong with my test?
15:03 jnthn Rotwang: .IO.f will execute immediately.
15:03 jnthn Rotwang: Maybe you wnat *.IO.f
15:04 Rotwang jnthn: this one also doesn't work
15:05 Rotwang p: dir(/tmp)
15:05 camelia rakudo-parrot 505868: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/qf0ut8aX4yâ�¤Unable to parse regex; couldn't find final '/'â�¤at /tmp/qf0ut8aX4y:1â�¤------> [32mdir(/tmp[33mâ��[31m)[0mâ�¤    expecting any of:â�¤        argument listâ�¤        prefix or ter…»
15:05 jnthn Rotwang: Oh, it's 'cus it seems to be being passed the unqualified name...
15:05 Rotwang jnthn: so? what does it mean? [;
15:07 ggoebel1117 joined #perl6
15:09 colomon masak: how iron man?  not sure I'm up to weekly posts at the moment...
15:11 jnthn Rotwang: Well, if you do a dir('foo', test => { say $_ }) you'll see
15:11 jnthn Rotwang: I'm not sure it should be doing this, however.
15:13 TimToady ranges need to be reoptimized, but mapiter is the wrong place to optimize it
15:14 FROGGS_ p: class Foo { our $bar is export = 42 }; import Foo; say $bar
15:14 camelia rakudo-parrot 505868: OUTPUT«42␤»
15:14 FROGGS_ p: class Foo { my $bar is export = 42 }; import Foo; say $bar
15:14 camelia rakudo-parrot 505868: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/MgEpT3Yxto�Can't apply trait 'is export' on a my scoped variable. Only our scoped variables are supported.�at /tmp/MgEpT3Yxto:1�------> [32mclass Foo { my $bar is export [33m�[31m= 42 }…»
15:14 FROGGS_ \o/
15:15 masak colomon: I was thinking weekly, but I'm flexible.
15:16 masak colomon: mst++'s original one had "every 10 days" to give some legroom.
15:16 Rotwang okay, one more question, and I'll leave you guys alone [;
15:16 Rotwang p: True ~~ True
15:16 camelia rakudo-parrot 505868: OUTPUT«Potential difficulties:â�¤    Smartmatch against True always matches; if you mean to test the topic for truthiness, use :so or *.so or ?* insteadâ�¤    at /tmp/drk_UUShw0:1â�¤    ------> [32mTrue ~~[33mâ��[31m True[0mâ�¤Â»
15:16 masak colomon: I'd be willing to go as low as monthly, but I fear that's going to be a little... not often enough.
15:17 colomon masak: I certainly feel like I *should* be blogging fairly often.  but time is pretty precious at the moment around here.
15:17 masak Rotwang: smartmatching against True probably doesn't do what you think it does.
15:17 masak colomon: yes, I understand.
15:17 masak colomon: that's my basic problem too.
15:17 Rotwang masak: this is what I get on R* 2014.1:
15:17 Rotwang > True ~~ True
15:17 Rotwang Null PMC access in get_string()
15:17 masak colomon: but knowing that I "have to" blog would be a help, I think.
15:18 masak colomon: it also eliminates some of my perfectionism.
15:18 Rotwang p: { return True; } ~~ { return True; }
15:18 camelia rakudo-parrot 505868: ( no output )
15:18 masak Rotwang: ouch, that Null PMC access is a new bug :/
15:18 masak can anyone else confirm it?
15:18 FROGGS_ maybe a known REPL bug?
15:19 Rotwang masak: so True ~~ True should return true?
15:19 FROGGS_ masak: it NPMCAs in the REPL but not in -e
15:20 FROGGS_ perhaps it can't stringify a .worry?
15:23 masak Rotwang: yes, $X ~~ True should return True.
15:23 masak FROGGS_: yes, I know.
15:23 masak FROGGS_: still a bug :/
15:23 masak FROGGS_: oh -- you mean you confirmed it?
15:25 FROGGS_ masak: yes
15:26 * masak submits rakudobug
15:26 masak Rotwang++ FROGGS++
15:28 masak FROGGS_: by the way, was that Rakudo Star, or just bleeding Rakudo?
15:29 FROGGS_ masak: This is perl6 version 2014.02-15-g51d3cae built on parrot 6.1.0 revision RELEASE_6_1_0
15:29 FROGGS_ blead that is
15:29 masak gracias.
15:30 aindilis joined #perl6
15:30 FROGGS_ it does not fail using perl6-m though
15:30 FROGGS_ (can't test perl6-j atm)
15:31 masak interesting. including that in the bug report.
15:32 mavcunha joined #perl6
15:36 * TimToady will take a look at the sloth of 'for ^10000' later today
15:37 hoverboard joined #perl6
15:38 masak ++TimToady
15:38 jnthn \o/
15:40 tgt_ joined #perl6
15:42 arnsholt timotimo: Did you ever start a repository for your Perl 6 IPython idea?
15:43 arnsholt timotimo: Nm. Found it
15:55 flussence joined #perl6
16:11 masak r: say slurp
16:11 camelia rakudo-parrot 505868, rakudo-moar 505868: OUTPUT«There were three men came out of the West␤Their fortunes for to try␤And these three men made a solemn vow␤John Barleycorn must die␤␤They've ploughed, they've sewn, they've harrowed him in␤Threw clouds upon his head␤And t…»
16:11 camelia ..rakudo-jvm 505868: OUTPUT«␤»
16:11 masak locally, running Rakudo-on-Moar, I get 'Failed to close filehandle: bad file descriptor', a stacktrace, and a segmentation fault.
16:12 masak known? should I pull latest?
16:12 jnthn masak: How latest is your latest?
16:12 masak I'm on 505868.
16:12 jnthn masak: Those things were common before the Moar IO refactor...
16:12 SamuraiJack_ joined #perl6
16:12 masak hm, but I might not have built lately...
16:12 masak hold on, and I'll rebuild, Justin Case.
16:13 jnthn *nod*
16:13 FROGGS_ it does not explode on my box
16:13 jnthn Just tried type README | perl6-m -e "say slurp" and it's happy here on Windows too
16:14 masak ok, sounds promising. :)
16:14 tadzik works on linux too
16:14 tadzik fast as hell too :)
16:14 masak I'm glad to be back to finding bugs. and even happier to find that they (probably) have been fixed, too. :>
16:14 masak yes, I've noticed the speed thing, too. it's... refreshing.
16:15 FROGGS_ it is
16:15 masak who would have thought? Perl 6... *and* fast. ish.
16:15 jnthn It's not *that* fast yet :P
16:15 tadzik but it's fast*er* :)
16:15 jnthn True :)
16:15 masak definitely faster.
16:15 FROGGS_ in the past (the timespan I am here) I always thought: maybe the Christmas in two years is _the_ Christmas?
16:16 FROGGS_ and this "two years" was a constant
16:16 FROGGS_ now it feels like these two years are more like < 1 year
16:16 ajr joined #perl6
16:17 FROGGS_ dinner &
16:24 kurahaupo_mobile joined #perl6
16:26 zakharyas joined #perl6
16:31 fridim_ joined #perl6
16:32 denis_boyun__ joined #perl6
16:38 BenGoldberg joined #perl6
16:39 rindolf joined #perl6
16:43 zaydon joined #perl6
16:50 Mouq joined #perl6
16:51 molaf_ joined #perl6
16:56 tokuhirom joined #perl6
17:00 ajr_ joined #perl6
17:04 BenGoldberg joined #perl6
17:04 _thou joined #perl6
17:05 sftp joined #perl6
17:06 dalek specs/pod6ify: f00b2e5 | Mouq++ | S32-setting-library/IO.pod6:
17:06 dalek specs/pod6ify: S32/IO: Ensure there's space between text and code
17:06 dalek specs/pod6ify: review: https://github.com/perl6/specs/commit/f00b2e5fb5
17:14 dalek roast: 118cd7b | (Tobias Leich)++ | S11-modules/import.t:
17:14 dalek roast: add tests for "our/my $var is export"
17:14 dalek roast: review: https://github.com/perl6/roast/commit/118cd7bfd0
17:16 Celelibi joined #perl6
17:17 Celelibi joined #perl6
17:17 Adriaaan joined #perl6
17:18 dalek specs/pod6ify: e6effc6 | Mouq++ | S32-setting-library/IO.pod6:
17:18 dalek specs/pod6ify: S32/IO: Some more implicit code fixes missed in last commit
17:18 dalek specs/pod6ify: review: https://github.com/perl6/specs/commit/e6effc6513
17:19 araujo joined #perl6
17:19 masak FROGGS_: I have no idea what people mean when they say "Christmas" anymore.
17:19 masak FROGGS_: all the time I've been here, I've just seen a steady progression of features, improvements, and bug fixes.
17:20 FROGGS_ masak: when I think of the term "Christmas" it is just about an official statement saying that it is "ready"
17:20 masak I don't believe we'll see a great pivot point where everything magically is done, and people from the outside go "well wow, time to start using Perl 6, then".
17:21 jnthn I suspect we'll just become increasingly less hesitant to suggest people use it. :)
17:21 masak and any official declaration of such a point is just as likely to create harmful PR as it is to create beneficial.
17:21 masak jnthn: right. it's a grayscale.
17:21 FROGGS_ masak: well, my hope is to actually use Perl 6 in the near future, but this involves SOAP I fear
17:21 * masak shudders
17:21 masak I've been productively using Perl 6 for application code today, so for me, today, Christmas is fully an unquestionably here.
17:22 FROGGS_ I am not a masochist enough to port SOAP::Lite
17:22 masak good news, by the way: Segmentation fault went away after recompile.
17:22 masak jnthn++ others++
17:23 Mouq FROGGS_: ooc, what's preventing the eleven branches from being merged?
17:23 FROGGS_ Mouq: that compiling Test.pm explodes on jvm for instance
17:23 Mouq well, not totally ooc. to me Christmas <-> v0.0
17:24 Mouq FROGGS_: Oh, ok. FROGGS++ :)
17:25 masak Mouq: what the heck is v0.0 ?
17:25 FROGGS_ and it needs quite a bit discussion and fixing upcoming issues
17:25 masak Mouq: see my point above about "official declaration of such a point".
17:25 Mouq masak: Dunnno
17:25 FROGGS_ v0.0 looks like a smiley
17:25 Mouq masak: Yup
17:26 FROGGS_ masak: the official announcement I am think of might be like: "Module authors please port your stuff, it is fast enough now to be fun doing it."
17:27 Mouq masak: I find Perl 6 to be very usable today, as someone who migrated to it recently BUT I've also dug really deep into Rakudo so I don't think my evaluation is typical of a newcomer
17:27 Mouq err, *typical isn't the right word...
17:27 Mouq *a good representation
17:28 BenGoldberg What's the official version number of perl6?
17:28 grondilu isn't it 6.0.0?
17:28 FROGGS_ what the heck is "perl6" even? :o)
17:29 BenGoldberg perl6 is the name of the language :)
17:29 masak BenGoldberg: we're kind of in a pre-official-version-number age, still.
17:29 FROGGS_ BenGoldberg: rong
17:29 masak BenGoldberg: the individual synopses are versioned, but that means fairly little.
17:29 FROGGS_ Perl 6 is the language name
17:30 BenGoldberg masak, which basically means that it's version 0.blah
17:30 FROGGS_ perl6 is the binary, at least one of them
17:30 masak BenGoldberg: why in the world would it mean that? it means there is no version.
17:30 Mouq r: say $*PERL
17:30 camelia rakudo-parrot 505868: OUTPUT«("name" => "rakudo", "compiler" => {"name" => "rakudo", "ver" => "2014.02-16-g505868d", "release-number" => "", "build-date" => "2014-02-23T15:24:32Z", "codename" => ""}).hash␤»
17:30 camelia ..rakudo-jvm 505868: OUTPUT«("name" => "rakudo", "compiler" => {"codename" => "", "name" => "rakudo", "release-number" => "", "ver" => "2014.02-16-g505868d", "build-date" => "2014-02-23T14:10:58Z"}).hash␤»
17:30 camelia ..rakudo-moar 505868: OUTPUT«("name" => "rakudo", "compiler" => {"name" => "rakudo", "ver" => "2014.02-16-g505868d", "release-number" => "", "build-date" => "2014-02-23T15:18:31Z", "codename" => ""}).hash␤»
17:30 masak BenGoldberg: I imagine there will be a v6.0.0 at some point (of the spec).
17:30 masak but that will take a whole lot of effort still.
17:30 BenGoldberg As long as there's no official version number, people will think of it as still in beta
17:31 masak BenGoldberg: which is a fair assessment as far as I'm concerned.
17:31 BenGoldberg When the version number goes to 1.0, more people will think that it's ready to use.
17:31 Mouq n: say $*PERL
17:31 camelia niecza v24-109-g48a8de3: OUTPUT«(Any)␤»
17:31 * masak .oO( at least that would mean we proceeded out of alpha ) :P
17:32 masak BenGoldberg: Perl 6 1.0 ?
17:32 * BenGoldberg meant to say alpha :)
17:32 BenGoldberg Perl6 1.0 :)
17:33 Mouq std: %=pod
17:33 camelia std 09dda5b: OUTPUT«ok 00:01 121m␤»
17:33 Mouq r: %=pod
17:33 camelia rakudo-parrot 505868, rakudo-jvm 505868, rakudo-moar 505868: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Variable '%=pod' is not declaredâ�¤at /tmp/tmpfile:1â�¤------> [32m%=pod[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
17:33 Mouq n: %=pod
17:33 camelia niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0m��Unhandled reference twigil = at /tmp/dyFuvHiI4G line 1 (EOF):�------> [32m%=pod[33m�[31m<EOL>[0m��Unhandled exception: Unable to resolve method statement_level in type P6+{infix:sym<⊆>},{infix:sym<≼>…»
17:34 masak BenGoldberg: '6' is still the version number, no matter how much or how little Perl 6 is a different language from Perl 5.
17:34 masak BenGoldberg: it isn't and never was spelled 'Perl6'.
17:36 BenGoldberg Another way to get more people interested would be to have a perl6 evalbot join #perl on freenet and irc.perl.org.  That way, instead of saying on one of those channels, "you could do that so much easier with perl 6", one could just type "p6: $better_solution_here"
17:36 Mouq r: =pod X<foo bar|example;code>␤␤say $=pod.perl
17:36 camelia rakudo-parrot 505868, rakudo-jvm 505868, rakudo-moar 505868: OUTPUT«Array.new(Pod::Block::Named.new(name => "pod", config => ().hash, content => Array.new(Pod::Block::Para.new(config => ().hash, content => Array.new("", Pod::FormattingCode.new(type => "X", config => ().hash, content…»
17:36 masak BenGoldberg: interesting idea.
17:37 Mouq X<> doesn't work right yet *grumble*
17:37 masak BenGoldberg: moritz++ already does something similar on PerlMonks, fwiw.
17:37 BenGoldberg :)
17:38 BenGoldberg Another way to promote perl6 would be to convince a college or two to offer a course in how to use it.  Preferably well-recognized schools.
17:39 kurahaupo_mobile 1qp
17:40 masak BenGoldberg: I would sooner see really useful applications written in Perl 6, so that people would flock to it simply because they like the applications.
17:41 BenGoldberg If students have a good incentive to take the course (i.e., it counts as a credit towards their graduation), they'll want to take it.  It could even be an online-only course, as long as the school gives students credit for it.
17:41 BenGoldberg masak, there's no not to try multiple ways to improve perl6's visibility :)
17:43 Mouq Oh, but Pod::To::Text makes up for Rakudo's laziness with pod :D
17:44 masak BenGoldberg: indeed. I wasn't dissing your idea, just noting my preferences.
17:46 dalek rakudo/nom: 1b5b325 | larry++ | src/core/Range.pm:
17:46 dalek rakudo/nom: Range::reify decides range batching now
17:46 dalek rakudo/nom:
17:46 dalek rakudo/nom: So that Map::Iter doesn't have to fake batching decision with
17:46 dalek rakudo/nom: insufficient knowledge.  For now we batch up to 1024 values; a more
17:46 dalek rakudo/nom: sophisticated decision based on max - min is possible, in addition
17:46 dalek rakudo/nom: to any other contextual clues that might indicate one-shot use in
17:46 dalek rakudo/nom: cool code vs repeated use of the range in hot code.
17:46 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1b5b325371
17:47 TimToady that should speed up ^10000 again
17:47 nwc10 I know I'll be in trouble for asking this, but is anyone going to port the IRC logging to Perl 6?
17:48 TimToady you're in trouble
17:48 nwc10 that seems like a useful first test of readiness
17:48 nwc10 I'm already in trouble - I let the dogs go in the water while walking them.
17:48 TimToady actually, I think it's already been done
17:48 nwc10 but that's local trouble, not IRC trouble
17:48 TimToady and at least tested
17:48 nwc10 oooh. I didn't know that
17:49 TimToady it might actually be in use now, don't remember
17:49 TimToady you'd have to ask moritz++ I guess
17:50 masak nwc10++ # reminding us about dogfooding now and then
17:50 nwc10 I see two advantages
17:50 TimToady grondilu: see ^^ patch, should fix the slowness
17:51 nwc10 practical is dogfood - actually finding out where the pain points are, and wearing them down
17:51 nwc10 political/persausion is that a lot of these are Perl 5 channels: http://irclog.perlgeek.de/
17:52 nwc10 and having some of their day to day infrastructure provided by Perl 6 is actions speaking louder than words
17:53 masak nwc10: indeed.
17:53 nwc10 particularly if they don't notice for months
17:54 masak nwc10: not just pain points, mind you: actively used code is an invaluable catcher of bugs as the Perl 6 implementations move.
17:58 Mouq dogfooding has definitely helped flesh out Pod6 this past week
17:58 Mouq Not that there's isn't still a bunch to do
17:59 masak sounds somehow familiar. :)
17:59 masak one step at a time, though.
18:00 masak earlier today I realized that we could improve is_deeply *vastly*, such that it is the envy of most others.
18:00 FROGGS_ that reminds me that I still have labels in the oven >.<
18:00 masak I'd like to do that, during a weekend hackathon sometime.
18:01 pdcawley joined #perl6
18:02 masak _is_deeply was replaced by 'eqv' semantics by pmichaud++ in 2009. that's a good idea in the first place, once we had eqv.
18:03 masak actually, the need for _is_deeply as a helper routine is then gone, and it should probably be inlined into is_deeply.
18:03 mavcunha joined #perl6
18:03 * TimToady now contemplates lol vs tree vs deepmap vs duckmap
18:04 masak anyway, where we fall short is that we just show the expected and actual result, as .perl outputs. we leave the user to figger out the difference.
18:04 TimToady which is why I wanted a testing adverb on comparators
18:05 masak what a nice test output should do, of course, is to point to the first difference, and say what it is, and where it is. that would be enormously helpful.
18:05 TimToady maybe we're getting to the point where that'd be practical
18:05 masak and not just give a textual diff either, but give a diff on the element level.
18:06 masak "Expected 5 elements in array at .[0][1]<items>, but found 3. (Last 2 appear to be missing.)"
18:06 masak that's the kind of brilliant I expect a Perl 6 is_deeply to be -- and it isn't, yet.
18:07 Mouq r: sub infix:<eqv> (\a,\b,:!tap) { infix:<eqv>(a,b) ?? say 'ok' !! say 'nok' }; (1,2,3) eqv (1,2,3) :tap
18:07 camelia rakudo-parrot 505868, rakudo-jvm 505868, rakudo-moar 505868: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Malformed parameterâ�¤at /tmp/tmpfile:1â�¤------> [32msub infix:<eqv> (\a,\b,[33mâ��[31m:!tap) { infix:<eqv>(a,b) ?? say 'ok' !![0mâ�¤    expec…»
18:07 Mouq r: sub infix:<eqv> (\a,\b,:tap!) { infix:<eqv>(a,b) ?? say 'ok' !! say 'nok' }; (1,2,3) eqv :tap (1,2,3)
18:07 camelia rakudo-parrot 505868, rakudo-jvm 505868, rakudo-moar 505868: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Malformed parameterâ�¤at /tmp/tmpfile:1â�¤------> [32msub infix:<eqv> (\a,\b,[33mâ��[31m:tap!) { infix:<eqv>(a,b) ?? say 'ok' !![0mâ�¤    expec…»
18:07 Mouq r: sub infix:<eqv> (\a,\b,:$tap!) { infix:<eqv>(a,b) ?? say 'ok' !! say 'nok' }; (1,2,3) eqv :tap (1,2,3)
18:07 camelia rakudo-parrot 505868, rakudo-jvm 505868, rakudo-moar 505868: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Two terms in a rowâ�¤at /tmp/tmpfile:1â�¤------> [32my 'ok' !! say 'nok' }; (1,2,3) eqv :tap [33mâ��[31m(1,2,3)[0mâ�¤    expecting any of:â�¤  â€¦Â»
18:07 masak TimToady: I'm still very uneasy about testing adverbs on comparators. I have trouble verbalizing why, though I believe I tried once on p6l.
18:07 Mouq r: sub infix:<eqv> (\a,\b,:$tap!) { infix:<eqv>(a,b) ?? say 'ok' !! say 'nok' }; (1,2,3) eqv (1,2,3) :tap
18:07 camelia rakudo-parrot 505868, rakudo-jvm 505868, rakudo-moar 505868: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤You can't adverb thatâ�¤at /tmp/tmpfile:1â�¤------> [32m!! say 'nok' }; (1,2,3) eqv (1,2,3) :tap[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤ …»
18:07 Mouq :/
18:08 Mouq Sorry for the spam
18:08 masak TimToady: I notice I think of it more as a slang, one where (say) all sink-context comparisons are automatically assertions.
18:08 TimToady you want to associate a message somehow too
18:08 masak TimToady: but to be honest, even as I mention that, I don't see how it improves on 'is'.
18:08 masak and 'ok'.
18:09 masak feels like solving a big non-problem.
18:09 TimToady you're talking out of both sides of your mouth
18:09 nwc10 when *is* the next hackathon?
18:09 TimToady you're the one who wanted ok to work better above
18:09 masak TimToady: no, I was talking only of is_deeply.
18:10 masak nwc10: they are irregularly scheduled, so right now there is no next one.
18:10 TimToady masak: it's a general problem with ok vs comparators, not just is_deeply
18:11 TimToady maybe ok just need to become a macro
18:11 masak heh.
18:12 masak yes, a macro *would* have the ability to locate the comparison operator, and then do different logic based on what it is.
18:12 masak but then I think I would spell it OK
18:13 TimToady m: my $a = 0; ++$a for ^100000;
18:13 camelia rakudo-moar 505868: OUTPUT«(timeout)»
18:14 TimToady that shouldn't timeout when r-m updates
18:14 FROGGS_ cool
18:14 masak m: class C { has $.x }; say C.new(:x(42)) eqv C.new(:x(42))
18:15 camelia rakudo-moar 505868: OUTPUT«False␤»
18:15 masak another thing is_deeply could do is to be objects-aware, and to test the above to True.
18:18 masak food &
18:18 7JTAAARUS hmmm is there any doc (or beginnings of such) which is something like "Perl 6 in A Nutshell"
18:18 jercos there's a wikibook on it iirc.
18:18 jercos https://en.wikibooks.org/wiki/Perl_6_Programming
18:19 itz_ ty
18:19 jercos not really a full doc of any kind, but I've found myself running into it while googling things, and some of what it has has been helpful :)
18:22 Mouq masak (or others. I really don't know): Speaking of what itz_ just brought up, do you have the ability to sync doc.perl6.org?
18:23 moritz Mouq: /msg me your public ssh key, and I can give you the ability (I think)
18:24 FROGGS_ TimToady++ # 0m16.800s compared to 0m0.659s
18:26 tadzik wat :o
18:27 FROGGS_ m: my $a = 0; ++$a for ^100000;
18:27 FROGGS_ -----^
18:27 camelia rakudo-moar 505868: OUTPUT«(timeout)»
18:29 TimToady not recompiled yet
18:31 Mouq moritz: kk
18:34 masak itz_: Perl 6 in a nushell: "whoa"
18:34 masak itz_: :P
18:35 masak Mouq: I don't have such an ability :/
18:35 moritz masak: if you /msg me your public ssh key, I can give you that ability
18:36 moritz ftr, anyone with root or sudo on feather2 can, by editing ~p6doc/.ssh/authorized_keys
18:44 dalek doc: 953a4dd | Mouq++ | / (2 files):
18:44 dalek doc: Don't lose camelia image from .gitignore
18:44 dalek doc: review: https://github.com/perl6/doc/commit/953a4ddbf4
18:47 raydiak moritz: re ^, do you think it'd be better to have the static content in a directory which is separate from the output directory? .gitignore is going to become more convoluted as we grow
18:49 dalek doc: da5b15a | Mouq++ | lib/Set.pod:
18:49 dalek doc: Make links in Set.pod somewhat less useless
18:49 dalek doc:
18:49 dalek doc: Links like this should probably handled by L<doc:*>, but NYI
18:49 dalek doc: review: https://github.com/perl6/doc/commit/da5b15a414
18:50 Mouq Oh, they're still useless >:(
18:50 Mouq Wait..
18:52 Mouq It's an escaping issue -_-
18:57 vendethiel what's the diff between `sub a($a? = 4)` and `sub ($a = 4)` ?
18:57 FROGGS_ std: sub a($a? = 4) { }
18:58 TimToady std: sub a($a? = 4) {...}
18:58 camelia std 09dda5b: OUTPUT«Potential difficulties:â�¤  $a is declared but not used at /tmp/WQQJjYQZF7 line 1:â�¤------> [32msub a([33mâ��[31m$a? = 4) { }[0mâ�¤ok 00:01 126mâ�¤Â»
18:58 camelia std 09dda5b: OUTPUT«Potential difficulties:â�¤  $a is declared but not used at /tmp/mnEoPwlsjv line 1:â�¤------> [32msub a([33mâ��[31m$a? = 4) {...}[0mâ�¤ok 00:01 126mâ�¤Â»
18:58 TimToady none
18:58 FROGGS_ lol
18:58 TimToady you won
18:58 vendethiel oke
18:58 FROGGS_ vendethiel: the former is pretty verbose
18:58 TimToady I shouldn't've taken the time to type the ...
18:58 FROGGS_ but that's all
18:58 TimToady = implies ?
18:59 vendethiel yeah that's what I thought; but in an earlier commit I saw `? =` so I was wondering. [ FROGGS_, TimToady ]>>++
18:59 vendethiel ha, this book's chapter title is "return and want" but there's no want, the traps
19:01 vendethiel "The want function is gone". Well, thanks S06
19:03 dalek rakudo/eleven: 41cd5e0 | Mouq++ | src/Perl6/Grammar.nqp:
19:03 dalek rakudo/eleven: Support semantic blocks better, lue++
19:03 dalek rakudo/eleven: review: https://github.com/rakudo/rakudo/commit/41cd5e0043
19:03 dalek rakudo/eleven: 7b43e38 | Mouq++ | src/Perl6/ (2 files):
19:03 dalek rakudo/eleven: Abbreviated Pod blocks can't have configurations
19:04 dalek joined #perl6
19:05 berekuk joined #perl6
19:08 masak std: sub a($a! = 4) { $a }
19:08 camelia std 09dda5b: OUTPUT«[31m===[0mSORRY![31m===[0m�Cannot put a default on a required parameter at /tmp/chT1mgjaYL line 1:�------> [32msub a($a! = 4[33m�[31m) { $a }[0m�Check failed�FAILED 00:01 127m�»
19:08 masak STD++
19:08 masak perl6: sub a($a! = 4) { say $a }; a("OH HAI")
19:09 camelia rakudo-jvm 1b5b32: OUTPUT«(timeout)»
19:09 camelia ..niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Cannot put a default on a required parameter at /tmp/tmpfile line 1:â�¤------> [32msub a($a! = 4[33mâ��[31m) { say $a }; a("OH HAI")[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/l…»
19:09 camelia ..rakudo-parrot 1b5b32, rakudo-moar 1b5b32: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Cannot put default on required parameter $aâ�¤at /tmp/tmpfile:1â�¤------> [32msub a($a! = 4[33mâ��[31m) { say $a }; a("OH HAI")[0mâ�¤    expecting any of:â�¤     …»
19:10 Rotwang joined #perl6
19:12 d4l3k_ joined #perl6
19:15 FROGGS_ m: my $a = 0; ++$a for ^100000;
19:15 camelia rakudo-moar 1b5b32: ( no output )
19:15 FROGGS_ :o)
19:15 timotimo internet connection is super crappy at the moment
19:17 Mouq tadzik: When I run bootstrap.pl on moar-support in panda, I get all the way to ==> Bootstrapping Panda and then get ===SORRY!===␤Missing or wrong version of dependency 'src/gen/m-CORE.setting'
19:18 moritz raydiak: +1 to moving static files to a separate dir
19:18 FROGGS_ Mouq: do you perhaps need to run rebootstrap instead?
19:19 Mouq FROGGS_: Ohh, ok, thank you
19:19 Mouq FROGGS_: That works
19:19 FROGGS_ cool! :o)
19:19 raydiak moritz: call it "static" and do the equivalent of "cp -r static html" at the beginning of generation?
19:19 moritz raydiak: aye
19:20 moritz or "public", if you want to stay closer to what Mojolicious names things
19:21 raydiak sure
19:24 FROGGS_ btw, tomorrow happens: [GSoC 2014] List of accepted mentoring organizations published on the Google Summer of Code 2014 site.
19:24 raydiak I've noticed a preference towards mojolicious in the perl 6 community...is there a history or connection there?
19:25 * timotimo doesn't even know what mojolicious really does
19:26 __sri http://mojolicio.us/
19:26 Timbus hehe, i was wondering where sri was
19:26 timotimo mhm
19:27 __sri a wild sri appears
19:27 Ulti :)
19:27 Ulti __sri can I spam A and B and see you fight?
19:27 __sri coincidentally... you can play with mojolicious in your browser at the moment :) http://liveperl.us/
19:28 Timbus well i always play with mojolicious in my browser
19:28 Timbus :p
19:29 __sri ;p
19:29 timotimo so i was trying to do importation stuffs
19:29 timotimo i'm now at "
19:29 timotimo er ...
19:29 FROGGS_ O.o
19:29 timotimo actually, i think i need something different than use to combine with require
19:30 FROGGS_ timotimo: btw, have you seen that you can export vars now?
19:30 timotimo i can do that now?
19:30 timotimo did you just implement that?
19:30 FROGGS_ p: class Foo { our $bar is export = 42 }; import Foo; say $bar
19:30 camelia rakudo-parrot 1b5b32: OUTPUT«42␤»
19:30 FROGGS_ :o)
19:30 timotimo awesome!
19:30 timotimo thank you
19:31 FROGGS_ you're welcome
19:31 * Mouq is pretty sure panda is hanging on ==> Fetching panda and not just being insanely slow
19:31 Mouq *rebootstrap.pl
19:32 tadzik Mouq: maybe try moving .git someplace else before rebootstarp
19:34 Mouq E.g. 'mv .git ../pandagit'?
19:34 Mouq It still hangs
19:35 BenGoldberg joined #perl6
19:36 FROGGS_ r: say $*VM<properties><perl6.prefix> // $*VM<config><prefix>
19:36 camelia rakudo-parrot 1b5b32, rakudo-moar 1b5b32: OUTPUT«/home/p6eval/rakudo-inst-1␤»
19:36 camelia ..rakudo-jvm 1b5b32: OUTPUT«/home/p6eval/rakudo-inst-2␤»
19:42 Mouq What's odd is that it makes a new director in .work with a fetched Panda
19:42 Mouq *directory
19:43 tgt joined #perl6
19:45 FROGGS_ yes, that is the plan
19:45 Mouq But it's stuck on ==> Fetching panda
19:46 FROGGS_ it takes a few seconds on my box, but it does not hang
19:47 ruoso joined #perl6
19:48 zamolxes_ joined #perl6
19:49 tadzik hmm
19:49 tadzik maybe it's copying all the old .work directories too
19:49 tadzik gah
19:49 Mouq Oh, lemme try something
19:50 TimToady added another solution to http://rosettacode.org/wiki/Almost_prime#Perl_6
19:51 vendethiel joined #perl6
19:51 pnu__ joined #perl6
19:52 _sri joined #perl6
19:52 TimToady (and discovered that @array.kv is greedy inside a map, so need to suss that one out)
19:52 Mouq No, it's copying the *current* .work directory D:
19:53 Mouq So it creates .work/abcd/.work/abcd/.work/abcd
19:53 Mouq and so on
19:53 Mouq tadzik: Unless that's what you meant
19:53 tadzik uhh
19:53 tadzik I've seen that before
19:53 lue hello world o/
19:53 tadzik is your panda fresh?
19:54 tadzik and/or is your rakudo-moar fresh
19:54 Mouq I've rm'd it and cloned a new one :P
19:54 lue r: my $a = "perl6-m"; say "perl6-m" ~~ /<{$a}>/
19:54 tadzik also, are you running panda on moar-support branch?
19:54 camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«[31m===[0mSORRY![31m===[0m�Unrecognized regex metacharacter - (must be quoted to match literally)�at eval_0:1�------> [32manon regex { ^perl6[33m�[31m-m}[0m�Malformed regex�at eval_0:1�------> …»
19:54 FROGGS_ tadzik: it is moar-support, aye
19:54 Mouq I'm on moar-support, my rakudo-moar isn't make clean fresh though
19:55 Ben_Goldberg joined #perl6
19:55 jnthn Mouq: Maybe moar-support is missing Panda fixes from the master panda?
19:55 FROGGS_ tadzik: when I fixed my current issue I'll fix that abspath thingy (which hopefully is tonight)
19:56 tadzik FROGGS_: kewl
19:56 ggoebel1117 joined #perl6
19:56 FROGGS_ jnthn: don't think so
19:56 lue should <{$a}> work in that situation?
19:57 jnthn lue: Looks right to me.
19:57 jnthn lue: You're interpolating it as regex
19:57 FROGGS_ r: my $a = "perl6-m"; say "perl6-m" ~~ /$a/
19:57 jnthn lue: Just do /$a/ if you want to match it literally.
19:57 camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«「perl6-m」␤␤»
19:58 lue jnhtn: the issue is that "$a" is really "$foo.bar" and the // is actually a grammar rule.
19:59 LLamaRider joined #perl6
19:59 Mouq r: my $a = "perl6-m"; say "perl6-m" ~~ /<{$a.subst(/<?-[\w_\d]>/,「\」])}>/
19:59 camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Unable to parse expression in argument list; couldn't find final ')' �at /tmp/tmpfile:1�------> [32merl6-m" ~~ /<{$a.subst(/<?-[\w_\d]>/,「\…»
19:59 Mouq ?
19:59 Mouq r: my $a = "perl6-m"; say "perl6-m" ~~ /<{$a.subst(/<?-[\w_\d]>/,Q'\'])}>/
19:59 camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Unable to parse expression in argument list; couldn't find final ')' �at /tmp/tmpfile:1�------> [32mrl6-m" ~~ /<{$a.subst(/<?-[\w_\d]>/,Q'\'[…»
20:00 Mouq r: my $a = "perl6-m"; say "perl6-m" ~~ /<{$a.subst(/<?-[\w_\d]>/,「\」)}>/
20:00 camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling eval_0â�¤Unrecognized backslash sequence: '\m'â�¤at eval_0:1â�¤------> [32manon regex { ^perl6\[33mâ��[31mm}[0mâ�¤    expecting any of:â�¤        scoped decla…»
20:00 FROGGS_ r: my $a = "perl6-m"; say "perl6-m" ~~ /<{$a.subst(/<?-[\w_\d]>/,「\\」)}>/
20:00 camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«Nil␤»
20:00 jnthn lue: So why can't you just mention $a in the grammar rule, if you want to match it literally?
20:00 jnthn lue: Oh, I see what you mena...
20:01 jnthn Try "$foo.bar()"
20:01 Mouq r: my $a = "perl6-m"; say "perl6-m".uc ~~ /$a.uc/
20:01 camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«Nil␤»
20:01 lue figures it'd be something that didn't cross my mind :)
20:01 Mouq r: my $a = "perl6-m"; say "perl6-m".uc ~~ /$a.uc()/
20:01 camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Null regex not allowedâ�¤at /tmp/tmpfile:1â�¤------> [32m= "perl6-m"; say "perl6-m".uc ~~ /$a.uc([33mâ��[31m)/[0mâ�¤    expecting any of:â�¤   …»
20:01 Mouq Oh
20:01 Mouq r: my $a = "perl6-m"; say "perl6-m".uc ~~ /"$a.uc()"/
20:01 camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«「PERL6-M」␤␤»
20:02 Mouq coolio
20:04 klapperl_ joined #perl6
20:06 Adriaaan joined #perl6
20:08 pecastro joined #perl6
20:11 * Mouq gives up trying to fix it from the outside and just adds a check for '.work' with the '.git' check in Panda::Fetcher
20:11 Mouq ==> Successfully installed panda
20:12 grondilu TimToady: ok I can confirm it's back to fast counting
20:14 tadzik Mouq: that's not a bad idea
20:15 tadzik Mouq: but, what exactly is that check doing?
20:16 Mouq tadzik: https://gist.github.com/Mouq/fbb86c2a79812a86f7c6
20:16 Mouq Skips 'em
20:16 tadzik ah
20:17 tadzik but File::Find still traverses them
20:17 tadzik well, I'm fine with applying that anyway :)
20:17 tadzik especially if it helps
20:17 denis_boyun joined #perl6
20:20 mavcunha joined #perl6
20:22 Mouq Well, I think the problem is the way File::Find::find is lazy
20:26 timotimo well, with take-rw you could give a value back to signalize that a folder is to be skipped
20:32 Mouq OR
20:32 Mouq Instead of my previous hacky patch, you could do this: https://gist.github.com/Mouq/cd9363ce6f20c699af77
20:33 Mouq And it works
20:35 census joined #perl6
20:38 Mouq Or at least, it worked for me
20:40 dalek joined #perl6
20:41 dmol joined #perl6
20:42 moritz m: say 'abc' ~~ /<:alpha>+/
20:42 camelia rakudo-moar 1b5b32: OUTPUT«「abc」␤␤»
20:43 PerlJam joined #perl6
20:43 Mouq m: say 'Medicago sativa' ~~ /<:alphalpha>/
20:43 camelia rakudo-moar 1b5b32: OUTPUT«Nil␤»
20:44 Mouq Clearly a bug ;)
20:48 masak Mouq: :P
20:51 moritz is there a list of all support <:unicodecategory> thingies somewhere?
20:51 moritz *supported
20:52 dalek doc: 511b47b | moritz++ | lib/regexes.pod:
20:52 dalek doc: [regexes] \v, \w, \n
20:52 dalek doc: review: https://github.com/perl6/doc/commit/511b47be5e
20:52 lue moritz: I don't think there's a specific list in the spec
20:53 masak pretty sure there ain't.
20:54 lue It's the "unicode property" matcher. If it's a unicode property, it counts :)
20:55 moritz that's not something I'm willing to put in end-user docs
20:57 moritz m: say 'a' ~~ /<:Lc>/
20:57 camelia rakudo-moar 1b5b32: OUTPUT«Nil␤»
20:57 moritz m: say 'a' ~~ /<:LC>/
20:57 camelia rakudo-moar 1b5b32: OUTPUT«「a」␤␤»
20:57 moritz m: say 'a' ~~ /<:Cased_Letter>/
20:57 camelia rakudo-moar 1b5b32: OUTPUT«「a」␤␤»
20:57 moritz m: say 'a' ~~ /<:Decimal_Number>/
20:57 camelia rakudo-moar 1b5b32: OUTPUT«Nil␤»
20:57 moritz m: say '1' ~~ /<:Decimal_Number>/
20:57 camelia rakudo-moar 1b5b32: OUTPUT«「1」␤␤»
20:58 moritz m: say '1' ~~ /<:Digit>/
20:58 camelia rakudo-moar 1b5b32: OUTPUT«Nil␤»
20:58 TimToady we oughta be able to introspect it
20:58 grep0r joined #perl6
20:59 moritz m: say '1' ~~ /<::Decimal_Number+:Lc>/
20:59 camelia rakudo-moar 1b5b32: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/xip_GQ8sYzâ�¤Unable to parse expression in metachar:sym<assert>; couldn't find final '>' â�¤at /tmp/xip_GQ8sYz:1â�¤------> [32msay '1' ~~ /<::Decimal_Number[33mâ��[31m+:Lc>/[0mâ�¤    expecting a…»
20:59 TimToady ::?
20:59 moritz m: say '1' ~~ /<:Decimal_Number+:Lc>/
20:59 camelia rakudo-moar 1b5b32: OUTPUT«「1」␤␤»
21:01 pmurias joined #perl6
21:02 pmurias masak: re spelling ok OK, I'm not sure if we want to use the C uppercase macro convention
21:05 masak pmurias: I wasn't necessarily thinking of it in terms of C. just in terms of "this is not your regular function invocation".
21:05 masak pmurias: I'm fine with some other syntactic convention indicating that it does code-introspection-like stuff.
21:08 masak how do I know how far a regex got into a string before it failed?
21:08 Mouq r: $*IN.read(8).say
21:08 camelia rakudo-jvm 1b5b32: OUTPUT«Buf:0x<>␤»
21:08 camelia ..rakudo-parrot 1b5b32, rakudo-moar 1b5b32: OUTPUT«Buf:0x<54 68 65 72 65 20 77 65>␤»
21:09 lue Hrm, my synopsis generator spends way too much time HTML-ifying the backlinks when turned on the entire synopses :/
21:09 lue masak: Grammar::Tracer ?
21:09 masak lue: I mean, inside of a program, right after a regex failed.
21:09 FROGGS_ masak: and you might find something about 'highwater' in the clogs
21:09 masak lue: I was planning on putting in one of those ⏏ symbols.
21:10 masak FROGGS_: yes, but isn't 'highwater' fairly specific to STD?
21:10 masak FROGGS_: I was hoping for something already built into regexes/grammars.
21:10 pmurias masak: uppercase for me seems to imply phaser-like semantics
21:10 Mouq I would love to know about 'highwater' type thing for normal regexes
21:11 FROGGS_ :/
21:11 pmurias highwater seems something a lot of grammars would benefit from for error recovery
21:12 FROGGS_ masak: just spec something :o)
21:13 masak pmurias: or constants, or TOP, or @*ARGS...
21:13 * lue wonders how much longer it will be until STD can be parsed by Rakudo, if it can't be already
21:13 FROGGS_ p: "abc" ~~ /\d+/; say $/.perl # problem is that this is not a Match object anymore
21:13 camelia rakudo-parrot 1b5b32: OUTPUT«Nil␤»
21:13 masak r: "abcd" ~~ /abce/; say $/.from; say $/.to
21:13 camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«Nil␤Nil␤»
21:13 masak dang.
21:14 masak ISTR during the PGE days, $/.from contained how far we'd got.
21:14 jnthn masak: If you're willing to be Rakudo-specific then !highwater_pos method on a Cursor may help. It needs to be in a grammar where you're doing tokens, rather than a regex, though.
21:15 masak ah.
21:15 masak jnthn: I'll keep that in mind.
21:15 masak thanks.
21:15 moritz m: say so 'a.' ~~ /^ <+:L+:P>+ $/
21:15 camelia rakudo-moar 1b5b32: OUTPUT«True␤»
21:15 moritz m: say so 'a.' ~~ /^ <+(:L+:P)>+ $/
21:15 camelia rakudo-moar 1b5b32: OUTPUT«[31m===[0mSORRY![31m===[0m�Unrecognized regex metacharacter < (must be quoted to match literally)�at /tmp/tBuuIEXOXl:1�------> [32msay so 'a.' ~~ /^ <+[33m�[31m(:L+:P)>+ $/[0m�Unable to parse regex; couldn't find final '/'�at /tmp/tBuuI…»
21:15 masak I guess I could also just throw in manual calls to a sub that stores away the current cursor position.
21:15 moritz afaict, S05 says that should be allowed
21:16 moritz std: say so 'a.' ~~ /^ <+(:L+:P)>+ $/
21:16 camelia std 09dda5b: OUTPUT«ok 00:01 126m␤»
21:16 moritz n: say so 'a.' ~~ /^ <+(:L+:P)>+ $/
21:16 camelia niecza v24-109-g48a8de3: OUTPUT«True␤»
21:17 Ben_Goldberg rn: print (state $ = 'a') &= 'b';
21:17 moritz m: say so 'a.' ~~ /^ <:L+:P>+ $/
21:17 camelia niecza v24-109-g48a8de3: OUTPUT«(timeout)»
21:17 camelia ..rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«all("a", "b")»
21:17 camelia rakudo-moar 1b5b32: OUTPUT«True␤»
21:18 Mouq j: $*IN.read(8).decode.say
21:18 camelia rakudo-jvm 1b5b32: OUTPUT«␤»
21:20 dalek doc: 7ada731 | moritz++ | lib/regexes.pod:
21:20 dalek doc: [regex] start to document Unicode character classes
21:20 dalek doc: review: https://github.com/perl6/doc/commit/7ada731007
21:22 denis_boyun joined #perl6
21:25 moritz Mouq++ # lots of good p6doc commits
21:26 moritz it's really cool not to be the only one working on it
21:26 geekosaur (is it safe to read my inbox yet? :p )
21:26 Mouq moritz++ awesome documentation :)
21:26 moritz raydiak++
21:26 moritz (though having somebody else actually working on the *contents* has a whole different quality)
21:26 Mouq I'm actually working on getting IO::* fixed
21:27 moritz \o/
21:27 masak I noticed the other day that neither 'run' nor 'shell' are documented.
21:28 masak I'll see about adding them to some TODO.
21:29 dalek doc: fa5823f | (Carl Mäsak)++ | WANTED:
21:29 dalek doc: [WANTED] add 'run' and 'shell'
21:29 dalek doc: review: https://github.com/perl6/doc/commit/fa5823f230
21:37 moritz I'd have an easier time documenting those if they returned a more sensible object (both in spec and implementation)
21:38 jnthn .oO( Ministry of Silly Objects )
21:39 Mouq IO::Spec is ... interesting
21:39 masak moritz: what's the insensible object they return right now?
21:39 Mouq r: say IO::Spec::Win32 ~~ IO::Spec::Unix # seems reasonable
21:39 camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«True␤»
21:40 Mouq r: say IO::Spec::Win32 ~~ IO::Spec
21:40 camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«False␤»
21:40 Ben_Goldberg r: say IO::Spec ~~ IO::Spec::Win32
21:40 camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«False␤»
21:40 Mouq Of course, it's an internal thing class AFAIK
21:40 moritz masak: oh, it seems that my recollection isn't actually true, and it now returns a Proc::Status which behaves quite nicely
21:40 masak "a win32 spec is a kind of unix spec, but not a kind of spec" -- don't you just love inheritance?
21:40 masak moritz: oh, nice.
21:41 moritz well, not as nice as I thought
21:41 moritz $ perl6-m -e 'say so run("blerg", "foo").perl'
21:41 moritz execvp(): No such file or directory
21:41 moritz True
21:41 moritz c'mon
21:42 moritz that's a joke, right? returning a True object, not throwing an exception, but writing an error message to $*ERR? REALLY?
21:44 FROGGS_ moritz: you are calling 'so' on .perl, no?
21:44 moritz *facepalm*
21:44 Mouq hugme: hug moritz
21:44 * hugme hugs moritz
21:44 moritz still, producing the error message on $*ERR instead of exception or in the return value is wrong
21:45 masak agreed.
21:45 FROGGS_ the return value is Proc::Status.new(exit => -1, pid => Any, signal => 254)
21:46 masak r: my regex foo = /aaa/; say "aaa" ~~ /<foo>/
21:46 camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Malformed regexâ�¤at /tmp/tmpfile:1â�¤------> [32mmy regex foo [33mâ��[31m= /aaa/; say "aaa" ~~ /<foo>/[0mâ�¤    expecting any of:â�¤        sc…»
21:46 masak r: my regex foo { aaa }; say "aaa" ~~ /<foo>/
21:46 camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«「aaa」␤ foo => 「aaa」␤␤»
21:46 FROGGS_ moritz: might be an interesting task to catch that error message somehow
21:47 masak in the above, is there a shorter way to match against the regex foo than to write ~~ /<foo>/ ?
21:47 pmurias masak: re "a win32 spec..." is it speced that way somewhere?
21:48 FROGGS_ r: say "aaa" ~~ (my regex foo { aaa })
21:48 camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«「aaa」␤␤»
21:48 FROGGS_ dunno if that counts
21:48 masak pmurias: no idea.
21:48 masak FROGGS_: heh :)
21:58 timo joined #perl6
21:59 dalek doc: e9444f2 | Mouq++ | / (4 files):
21:59 dalek doc: Modernize IO docs
21:59 dalek doc: review: https://github.com/perl6/doc/commit/e9444f2c33
22:06 lue The HTML-ification of backlinks goes at an alright rate (one every 40 seconds it seems), but when you have 752 backlinks, that adds up :) .
22:07 hoverboard joined #perl6
22:07 timo1 joined #perl6
22:08 * Mouq thinks his modifications to rakudo made constructin pod much slower
22:08 Mouq *g
22:08 lue r: say 752 * 40 / 60
22:08 camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«501.333333␤»
22:08 Mouq O.O
22:09 Mouq I think you may want to optimize that
22:09 Mouq Because 8 hours is a little...
22:09 lue Mouq: definitely :D
22:10 lue Mouq: this is the first time I've run all 36 synopses (counting both S17s) through, along with all of the backlinks in roast, so there's no telling if the slowness is your fault (and besides, this is manual search & replace, doubt it's Pod changes)
22:11 lue Also, the timing info is currently me just counting one backlink's time manually :) . I need to add a "rate of conversion" thingy to the output before I know for sure.
22:11 pdcawley joined #perl6
22:13 lue r: say now - BEGIN now; say now - ENTER now;
22:13 camelia rakudo-moar 1b5b32: OUTPUT«0.06384480␤use of uninitialized value of type Nil in numeric context␤Instant:1393193640.951327␤»
22:13 camelia ..rakudo-jvm 1b5b32: OUTPUT«0.142␤use of uninitialized value of type Nil in numeric context␤Instant:1393193640.415␤»
22:13 camelia ..rakudo-parrot 1b5b32: OUTPUT«0.09699861␤use of uninitialized value of type Nil in numeric context  in block  at /tmp/tmpfile:1␤␤Instant:1393193639.503501␤»
22:13 lue anyone know why trying ENTER now fails?
22:14 moritz it probably just doesn't act as an rvalue
22:17 jnthn Yeah, it's exactly that.
22:17 jnthn The phasers, by virtue of firing at different times, make a single way to deal with r-value impossible.
22:21 mavcunha joined #perl6
22:22 lue jnthn: that's alright, there's ways around it :) .
22:23 jnthn To be clear: ENTER should act as an r-value, it's just an NYI
22:23 jnthn But yeah, there's ways around it :)
22:23 lue jnthn: is it fair to say that every phaser with a * by it in S04 should acts as an rvalue ?
22:23 lue s/acts/act/
22:27 jnthn "Phasers marked with a C<*> can be used for their return value."
22:27 jnthn So yes, tha's exactly what the * means
22:28 lue ah, for some reason I only remember it as meaning "can be used braceless"
22:31 dalek rakudo-star-daily: 7bc7c95 | coke++ | log/ (5 files):
22:31 dalek rakudo-star-daily: today (automated commit)
22:31 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/7bc7c955f9
22:32 jnthn lue: No, I think the all take a blorst
22:33 lue Yeah, OK, so I merely misread stuff, that's all :)
22:34 masak 'night, #perl6
22:34 lue ♞ masak o/
22:36 dalek perl6-roast-data: 90598d3 | coke++ | / (5 files):
22:36 dalek perl6-roast-data: today (automated commit)
22:36 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/90598d35d5
22:40 stevan_ joined #perl6
22:41 Mouq r: https://gist.github.com/Mouq/4775767b37254bd1821b
22:41 camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: ( no output )
22:42 Mouq r: https://gist.github.com/Mouq/4775767b37254bd1821b
22:42 camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: ( no output )
22:42 telex joined #perl6
22:44 mtk joined #perl6
22:45 rurban joined #perl6
22:47 dalek doc: 953dc8a | Mouq++ | WANTED:
22:47 dalek doc: Add Pod6 tutorial to WANTED
22:47 dalek doc: review: https://github.com/perl6/doc/commit/953dc8a3bb
22:48 tadzik hm
22:48 tadzik I could maybe write that :)
22:51 pdcawley joined #perl6
22:54 pippo left #perl6
22:56 Mouq r: <a b c d>.Set
22:56 camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: ( no output )
22:56 Mouq r: <a b c d>.Set.say
22:56 camelia rakudo-jvm 1b5b32: OUTPUT«set(b, a, d, c)␤»
22:56 camelia ..rakudo-parrot 1b5b32, rakudo-moar 1b5b32: OUTPUT«set(a, b, c, d)␤»
22:58 Mouq r: <a b c d>.Set(:view).say
22:58 camelia rakudo-jvm 1b5b32: OUTPUT«set(b, a, d, c)␤»
22:58 camelia ..rakudo-parrot 1b5b32, rakudo-moar 1b5b32: OUTPUT«set(a, b, c, d)␤»
22:58 Mouq r: set(<a b c d>).Set(:view).say
22:58 camelia rakudo-jvm 1b5b32: OUTPUT«set(b, a, d, c)␤»
22:58 camelia ..rakudo-parrot 1b5b32, rakudo-moar 1b5b32: OUTPUT«set(a, b, c, d)␤»
23:07 lue Mouq; after 50 backlinks modified, I get an average time of 28.151484299834 s/bl, so..
23:07 lue r: say 28.151484299834 * 752 / 60 / 60
23:07 camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«5.8805322759653244␤»
23:07 lue Only 6 hours! :)
23:15 hoverboard joined #perl6
23:18 dalek doc: 649c078 | raydiak++ | lib/Perl6/Documentable.pm:
23:18 dalek doc: Revise anchor links to match Pod::To::HTML-generated IDs
23:18 dalek doc: review: https://github.com/perl6/doc/commit/649c078891
23:18 dalek doc: 6e2b9c6 | raydiak++ | / (6 files):
23:18 dalek doc: Merge branch 'master' of github.com:perl6/doc
23:18 dalek doc: review: https://github.com/perl6/doc/commit/6e2b9c6060
23:19 raydiak ^^ changed to match changes I just pushed to Pod::To::HTML
23:20 raydiak should fix broken anchors with escaped chars
23:22 Mouq raydiak++: Does Pod::To::HTML get updated?
23:23 raydiak Mouq: yes, already pushed to it
23:23 Mouq raydiak: on feather?
23:24 raydiak Mouq: rerunning htmlify now, and then will sync latest docs to feather
23:24 Mouq Ok, cool
23:24 raydiak unless you mean "did the version of Pod::To::HTML installed on feather already get updated?" then the answer is no
23:25 raydiak but I've no idea what is even on feather, other than "that place I sync html docs to"
23:26 Mouq Oh, wait. I'm dumb :P
23:27 Mouq Don't worry about it; good job :)
23:27 Mouq lue: What's your algorithm for generating backlinks?
23:27 raydiak :) thanks...should fix the searches for lings like ++ under firefox too
23:27 raydiak s/lings/things/
23:27 lue Mouq: if you look at the source, it's effectively a custom implementation of s:g, for some reason that is now lost to me :)
23:28 lue https://github.com/lue/synopsis-generator
23:28 Mouq Oh, you do it at every line?
23:29 Mouq Or wait
23:29 * Mouq is distracted
23:30 lue For whatever reason, instead of just doing s:g (which I'm about to test doing), I just search for matches to replace, one at a time, throughout the entire file.
23:30 lue It's the loop under "Performing post-gen modifications"
23:31 kaare_ joined #perl6
23:33 Mouq But.. so you're adding the links to the Pod and then you fix them in the HTML?
23:33 lue Mouq: yes, because the backlinks have a custom style to them that I can't add in Pod alone (also, this is what the Perl5 generator does)
23:34 Mouq Huh
23:34 Mouq Well
23:34 lue (Unless someone made a M<bl:> of course... :D)
23:35 raydiak hmmm...something is still wrong with anchors with unicode in them
23:35 Mouq lue: There's a way to cheat
23:36 lue I think I see what you may be getting at...
23:37 lue Fun fact: Rakudo's s:g is much faster than my own :P
23:37 jnthn ;)
23:37 lue but it's more wrong :(
23:38 Mouq lue: =for item :class<smartlink-file> L<C<file>, line C<line>|https://github.com/perl6/roast/blob/master/file#line>
23:39 Mouq *=for pod
23:39 lue There's a class config option ‽
23:39 Mouq Nope
23:40 Mouq ...but it wouldn't be hard to add one to Pod::To::HTML, /me thinks
23:40 lue r: my $a = "(A|1)(B|2)"; $a ~~ s:g/\((<.alpha>)\|(<.digit>)\)/[[$0:$1]]/; say $a;
23:40 camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«[[A:1]][[B:2]]␤»
23:41 lue r: my $a = "(A|1)(B|2)"; $a.=subst(/\((<.alpha>)\|(<.digit>)\)/, "[[$0:$1]]", :g); say $a;
23:41 camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«[[:]][[:]]␤»
23:41 lue I think my problem comes from using .subst instead of ~~ s
23:41 berekuk joined #perl6
23:42 Mouq lue: "[[$0:$1]]" isn't going to closure like you need
23:42 Mouq r: my $a = "(A|1)(B|2)"; $a.=subst(/\((<.alpha>)\|(<.digit>)\)/, {"[[$0:$1]]"}, :g); say $a;
23:42 camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«[[A:1]][[B:2]]␤»
23:42 lue I'm using a q:c:to// actually, and it just places the same backlink in every spot :/
23:42 Mouq s/closure/something/
23:43 Mouq I'm saying that the "[[$0:$1]]" will get the $/ from its surroundings
23:44 Mouq instead of from the match you made
23:44 lue Ah, and there was a match previous (to see if it's worth writing the HTML file), so that's where it gets the repeated thing...
23:44 lue I'll try {q:c:to/EOF/}, and let you know how it goes in about 1246.0347964 seconds :)
23:46 Mouq std: DOC
23:46 camelia std 09dda5b: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Undeclared name:â�¤    'DOC' used at line 1â�¤Check failedâ�¤FAILED 00:00 120mâ�¤Â»
23:46 Mouq std: DOC BEGIN { }
23:46 camelia std 09dda5b: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Undeclared name:â�¤    'DOC' used at line 1â�¤Check failedâ�¤FAILED 00:01 124mâ�¤Â»
23:47 lue The current step that slows me down the most is running the Pod->HTML conversion, I wonder if doing it in-code instead of through shell("$*EXECUTABLE_NAME... would be faster
23:47 Mouq lue: I would think so, at least on JVM
23:48 lue luckily I'm using perl6-m :)
23:48 [Coke] haskell people: please update pugs so that eval is spelled EVAL.
23:52 lue (the DOC keyword has always felt incredibly weird to me; I hope that an actual implementation of it would change my mind ☺)
23:53 Mouq lue: It's a ...phaser?
23:53 lue doesn't feel like a phaser to me, and also isn't the handy-dandy S04 list of phasers.
23:54 lue then again, all-caps aren't reserved for phasers. Just look at EVAL ;)
23:55 [Coke] n: say "\\cIa"
23:55 camelia niecza v24-109-g48a8de3: OUTPUT«\cIa␤»
23:55 [Coke] n: say "\\c3a"
23:55 camelia niecza v24-109-g48a8de3: OUTPUT«\c3a␤»
23:55 lue Mouq: what if, instead of DOC use (etc.), we had =use (etc.) ? Would tie in better with its documentation-ness
23:56 Mouq lue: '~' I dunno
23:57 lue I feel like we'd be running up against usable directives at some point if that were to happen though... .oO(==use)
23:58 lue though again, an actual implementation of DOC might settle the weirdness for me :)
23:58 Mouq DOC <statement> should at least be a no-op for now
23:59 lue agreed, and perhaps when running --doc it can warn or die with "NYI" ?
23:59 Mouq But the whole thing requires a re-thinking of how this stuff is put together..
23:59 Mouq lue: Sure
23:59 Mouq lue: YEah

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

Perl 6 | Reference Documentation | Rakudo