»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:01 pippo left 00:10 mattp_ joined, dmol joined 00:14 jnthn_ is now known as jnthn
jnthn Ah, freenode recovered while I was out... 00:15
00:16 mattp_ left 00:20 ilogger2 joined, ChanServ sets mode: +v ilogger2
TimToady partial fix so as not to tickle whatever it is that is depending on greedy map (something in .{}:delete 00:20
I think the basic problem is .reify(*) is being used to represent two different notions 00:21
jnthn .reify or .gimme? 00:22
00:22 mattp_ joined
TimToady I think .gimme(*) is probably okay, from my reading 00:22
jnthn ok 00:23
TimToady but my brane is by no means in tip-top shape
.gimme has it's own eager drive-to-completion, but something is relying on .reify to drive to completion instead, somehow 00:25
and relying on .reify(*) to convey that, I think
fortunately, we can at least carve the sink case off that 00:26
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
*the courage
00:28 mtj_ joined
jnthn Yeah, I dont balem you :) 00:28
*blame
I'll try and give the native call stuff a shove in the right direction on Moar soon. 00:29
With some work/luck, I think we can have a Moar Star in March.
jnthn has a partial queue thingy done for Moar, which is what channels and the scheduler need. 00:33
Too tired to finish it now. I'll give it some more time tomorrow.
colomon jnthn++ 00:46
[Coke] colomon: I think we can remove the comments at the bottom of S32-list/sort.t 00:58
m: role A::B {method foo { "Foo"}}; A::B.WHAT.gist.say 01:06
camelia rakudo-moar b2b333: OUTPUT«(A::B)␤»
[Coke] ^^ we have a test that says that should be B
n: role A::B {method foo { "Foo"}}; A::B.WHAT.gist.say
camelia niecza v24-109-g48a8de3: OUTPUT«(B)␤»
[Coke] who is right, niecza or rakudo? 01:07
lue r: say A.WHAT 01:08
camelia rakudo-parrot b2b333, rakudo-jvm b2b333, rakudo-moar b2b333: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Undeclared name:␤ A used at line 1␤␤»
lue r: role A::B {method foo { "Foo"}}; say A.WHAT
camelia rakudo-parrot b2b333, rakudo-jvm b2b333, rakudo-moar b2b333: OUTPUT«(A)␤»
lue I'm inclined to say niecza's right, but can't say for sure. 01:09
jnthn S12 may have a ruling on it 01:11
jnthn needs some sleep
'night o/
[Coke] on .gist?
colomon \o
[Coke] nr: role A::B {method foo { "Foo"}}; A::B.WHAT.say
camelia rakudo-parrot b2b333, rakudo-jvm b2b333, rakudo-moar b2b333: OUTPUT«(A::B)␤»
..niecza v24-109-g48a8de3: OUTPUT«(B)␤»
[Coke] not sure why the test is explicitly for .gist, either. 01:12
dalek ast: 7bc603c | coke++ | S02-types/lists.t:
remove stale "nom regression" tag
01:13
ast: b1a98e2 | coke++ | S (3 files):
Open tickets for some old rakudo regressions
[Coke] std: say 1 if 2 if 3 { say 3 } 01:17
camelia std 09dda5b: OUTPUT«===SORRY!===␤Missing semicolon at /tmp/Ht45Fl9DU1 line 1:␤------> say 1 if 2⏏ if 3 { say 3 }␤Parse failed␤FAILED 00:01 123m␤»
lue How would that even work? 01:18
[Coke] m: say 1 if 2 if 3 { say 3 }
camelia rakudo-moar b2b333: OUTPUT«===SORRY!=== Error while compiling /tmp/EjEL_Q5O1j␤Confused␤at /tmp/EjEL_Q5O1j:1␤------> say 1 if 2 ⏏if 3 { say 3 }␤ expecting any of:␤ postfix␤»
[Coke] lue: it wouldn't
01:23 _thou joined
[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) ␤…»
..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
[Coke] r: say "asdf".chars 01:30
camelia rakudo-parrot b2b333, rakudo-jvm b2b333, rakudo-moar b2b333: OUTPUT«4␤»
01:31 Alina-malina joined
dalek ast: 84afe04 | coke++ | S02-types/unicode.t:
fudge testfile for rakudo

  (mainly for RT #65170)
01:32
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=65170
dalek kudo/nom: fdfeb7e | coke++ | t/spectest.data:
Run this (fudged) test
[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…»
..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␤ …»
..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, bjz joined, timotimo joined, pnu_ joined, ruoso_ joined, sftp_ joined, Celelibi joined, __sri joined, zamolxes joined 01:36 erkan is now known as Guest56101 01:38 rurban1 joined
[Coke] .ask Util if he can review rt.perl.org/Ticket/Display.html?id=76680 to see if it's still an issue. 01:39
preflex: .ask Util if he can review rt.perl.org/Ticket/Display.html?id=76680 to see if it's still an issue.
bah. Util: ^^
01:46 ggherdov joined
Mouq should probably work on table stuff... 01:49
[Coke]++ # roast 01:50
01:52 itz_ joined
lue Wow, S11 is unbelievably crusty-feeling 01:56
(whoever edited this once thought that one space was good enough for an implicit code block)
Mouq idly wonders if there's a reason why perlcabal.org/syn/ uses ``...'' instead of, e.g., “..” 02:00
Mouq is a nit-picker 02:01
02:01 ribasushi joined
lue Mouq: where does it do that? 02:01
in any case, probably a LaTeX-ism that snuck through :)
02:02 PZt joined
lue Hrm, =code\n =AUTHOR doesn't actually stop =AUTHOR, neither does =for code 02:02
I can see why, though it feels wrong :/
02:04 hoverboard joined, raiph joined
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
*exception to that rule
lue The problem is, it's very possible you want to end a =code or =for code with a new command
I just went with :allow<V> :) I doubt this issue comes up outside of Pod6 stuff anyway. 02:06
raiph Hi guys, wanted to kick around a concept: twitter.com/p6eval 02:07
It's just pure concept, the tweet length @p6eval bio says it all 02:09
Mouq guesses @p6err would be pretty busy
I think it's a cool idea though
lue Don't hashtag until after the code. 02:10
raiph note that it's a p6 "string", not code
02:11 FROGGS_ joined
lue raiph: oh, that seems significantly less useful. 02:11
02:12 Sqirrel joined
raiph lue: you can always put { code } anywhere 02:12
It's like a power tweeting language
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? :)
("twitter with P6" vs. "camelia on twitter") 02:15
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:21
02:30 kaare_ joined 02:32 pecastro joined 02:36 klapperl joined
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:41
02:45 PZt left, lizmat_ joined 02:56 mavcunha joined 02:59 mavcunha left 03:00 mavcunha joined 03:12 perigrin_ joined 03:16 hoverboard left 03:28 raydiak joined 04:08 telex joined 04:10 Alina-malina left 04:11 Guest56101 left 04:12 Guest56101 joined 04:21 Guest56101 left, Guest56101 joined
lue First time I've seen S26 with bolded portions of code. Quite lovely :) 04:26
TimToady
.oO(To boldly go...)
04:38
lue Now that there actually is an S15, big parts of S29 look even more outdated :) 04:41
BenGoldberg
.oO(boldly)
04:43
04:43 hoverboard joined 04:55 bjz left, timotimo left 04:56 pnu_ left, ruoso_ left, sftp_ left, Celelibi left, __sri left, zamolxes left 04:58 immortal joined, immortal left, immortal joined, klapperl_ joined 04:59 slavik joined 05:07 bjz joined, timotimo joined, pnu_ joined, ruoso_ joined, sftp_ joined, Celelibi joined, __sri joined, zamolxes joined 05:11 Guest56101 left, lizmat_ left, klapperl left, raiph left, _thou left, slavik left, klapperl_ left, immortal left, raydiak left, mavcunha left, pecastro left, FROGGS_ left, ribasushi left, itz_ left, ggherdov left, rurban1 left 05:26 Mouq joined, klapperl_ joined, immortal joined, raydiak joined, mavcunha joined, pecastro joined, FROGGS_ joined, ribasushi joined, itz_ joined, ggherdov joined, rurban1 joined, rurban joined, skids joined, pochi joined, tokuhirom joined, Vlavv joined, sunnavy joined, revdiablo joined, stevan_ joined, lee joined, yakudza joined, nwc10 joined, synopsebot joined, silug__ joined 05:27 immortal is now known as Guest23735, xinming joined 05:31 hoelzro joined 05:38 PZt joined 05:39 xenoterracide joined
lue Just a few more synopses, and I'll be ready to push the specs/pod6ify branch. 05:42
05:42 rurban1 left
TimToady is about to push a fairly complete frugal map patch 05:43
Mouq lue++ TimToady++
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:44
the greedy map was covering over the hashiter reentrancy problem 05:45
(which blew up in both -j and -m, so probably at the nqp level) 05:46
the java blew up with some kind of a disallowed concurrent access 05:47
05:49 dylanwh joined
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
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…»
Mouq (yes)
05:52 _thou joined, Yappo__________7 joined, ingy1 joined, xfix joined
lue Wow, just stumbled into a issue with my POD converter. Wanna know what the issue was? :) 05:53
TimToady um, greed map? 05:54
*dy
lue "IO.pod: Perl POD document, UTF-8 Unicode (with BOM) text"
TimToady heh
lue why even
TimToady someone was using an editor 05:55
lue On the plus side, it uncovered a nasty potential negative array index bug :)
I wonder if it's the same person who left out a =back towards the end of the document... 06:00
06:01 pdcawley_ joined
Mouq Delimited head* doesn't work :/ 06:05
I'm not actually sure what it would mean tbh
I was kind of hoping to figure out a way to do =item while creating a ToC entry for it 06:06
*=begin item
lue =begin item works, or at least it was last I checked... 06:07
Mouq lue: I want =begin item *and* a link to it in the table of contents. There's no anchor formatting code :p 06:08
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<>
Mouq ...
Lemme try, I thought X<> meant something else
lue it's for indexing, so I might be wrong here 06:10
06:13 rurban1 joined 06:18 rurban1 left
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:19
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 :)
Mouq lue: I tried that, but L<defn:*> doesn't work :(
lue L<defn:> goes with =defn and D<>
(I was erroneously looking at X<> at the time)
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)
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
lue Mouq: it does, for the POD5 version of the synopses they're collected into one big X tags page
perlcabal.org/syn/index_X.html 06:24
(also there's a index_C.html for whatever reason)
Mouq lue: I mean that the HTML generated from an arbitrary Pod6 page should have an index somewhere, maybe 06:26
06:26 rindolf joined
lue yeah, though indices are more useful with collections of pages :) . perlpod for instance describes X<> as being often ignored. 06:27
06:27 xinming left
lue but yes, it would be useful for some sort of perl6 --doc=HTML --docopts="--index-X" to exist 06:27
06:28 Alina-malina joined 06:29 xinming joined
Mouq I'm also sad "=config item :numbered" doesn't work 06:31
r: =config item :numbered␤=item abcd␤=item efgh␤␤say $=pod 06:32
camelia rakudo-parrot fdfeb7, rakudo-jvm fdfeb7, rakudo-moar fdfeb7: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Preceding context expects a term, but found infix = instead␤at /tmp/tmpfile:1␤------> =⏏config item :numbered␤»
Mouq ?
I really need to fix that too
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
camelia rakudo-jvm fdfeb7: OUTPUT«Pod::Block::Named("name" => "pod").hash␤ Pod::Config<1582218551>␤ Pod::ItemPod::Block::Para␤ abcd␤ Pod::ItemPod::Block::Para␤ efgh␤␤»
..rakudo-parrot fdfeb7: OUTPUT«Pod::Block::Named("name" => "pod").hash␤ Pod::Config<1476049240461090522>␤ Pod::ItemPod::Block::Para␤ abcd␤ Pod::ItemPod::Block::Para␤ efgh␤␤»
..rakudo-moar fdfeb7: OUTPUT«Pod::Block::Named("name" => "pod").hash␤ Pod::Config<140527581498688>␤ Pod::ItemPod::Block::Para␤ abcd␤ Pod::ItemPod::Block::Para␤ efgh␤␤»
Mouq lue: Is that related to the =TITLE not getting code blocks thing you pointed out recently? 06:34
*implicit
lue yeah, just missing a couple more valid block names :)
"Implicit code blocks may only be used within =pod, =item, =defn, =nested, =finish, or semantic blocks." 06:35
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␤␤»
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
Mouq Is that correct? 06:38
:/
lue I think so, judging by the fact that S<> is shown to preserve such leading spaces 06:39
actually, S<> isn't shown doing that, but I would assume.
Mouq lue: I don't see what that has to do with it...
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;
camelia rakudo-parrot fdfeb7, rakudo-jvm fdfeb7, rakudo-moar fdfeb7: OUTPUT«Pod::Block::Named("name" => "pod").hash␤ Pod::Block::Code␤ Foo␤␤»
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␤␤»
Mouq ^^
Not sure how I feel about that
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:42
06:43 mtj_ left
Mouq lue: The argument is that it's more paragraphy this way 06:43
06:44 xinming left
Mouq One line of text followed by another line is the same paragraph 06:44
lue That's why I kinda agree with the current behavior. 06:45
06:47 mtj_ joined
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:48
Mouq thinks it's weird to have Pod::Config... shouldn't the configuration be added directly to the nodes? and are configurations lexical? 06:50
dalek Heuristic branch merge: pushed 56 commits to specs/pod6ify by lue 06:56
Mouq lue++
lue Your pod6ified synopses are here: github.com/perl6/specs/tree/pod6ify
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
lue: \o/ 06:58
lue S22 shows off N<> inside code blocks, looks nice in HTML output :)
Mouq: adding a couple alternations to that parent_pod Grammar.nqp won't require a spectest, I hope? 06:59
07:00 isBEKaml left
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
Mouq Heh. I do indeed like S22's use of N<> 07:02
lue++
lue It's a PITA when editing, but it looks awesome when rendered. 07:03
Just making sure my change to Rakudo will compile, and then I'll push it. 07:04
lue wonders what it would take for something like M<img:pic.png> to work. 07:06
Mouq Uh. Do you mean L<>? 07:07
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
Mouq: M<> is the "use your own formatting code" formatting code
Mouq Yeah... 07:09
:P
:)
dalek kudo/nom: 7d9f4d4 | lue++ | src/Perl6/Grammar.nqp:
Finally, the full & accurate list of implicit-code-block-able blocks.
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* :)
lue goes to run his syngen on the entirety of the specs, and the entirety of roast 07:11
dalek ecs/pod6ify: c84f005 | Mouq++ | S0 (6 files):
Strip =encoding utf8 from files
07:22
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:23
07:27 hoverboard left
lue r: my $a = "perl6"; say "perl6" ~~ /<{$a}>/ 07:28
camelia rakudo-parrot fdfeb7, rakudo-jvm fdfeb7, rakudo-moar fdfeb7: OUTPUT«「perl6」␤␤»
lue r: my $a = "perl6-m"; say "perl6-m" ~~ /<{$a}>/
camelia rakudo-parrot fdfeb7, rakudo-jvm fdfeb7, rakudo-moar fdfeb7: OUTPUT«===SORRY!===␤Unrecognized regex metacharacter - (must be quoted to match literally)␤at eval_0:1␤------> anon regex { ^perl6⏏-m}␤Malformed regex␤at eval_0:1␤------> …»
lue $a in reality is $blink.section , so I have to use <{}>, which as you can see won't always work :/ 07:29
but for now, ♘ #perl6 o/
07:30 berekuk joined
Mouq 'night lue! 07:32
07:32 grondilu joined 07:33 sjohnson joined
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」␤␤»
Mouq Of course, fails if $a contains '
07:36 darutoko joined 07:41 berekuk left 07:50 _thou left 07:51 _thou joined 07:57 BenGoldberg left
dalek kudo/nom: 3c4df1e | Mouq++ | src/ (2 files):
Make X::Syntax:Pod::BeginWithoutEnd slightly more useful

And slightly less annoying
07:59
kudo/nom: 52d6316 | Mouq++ | / (2 files):
Merge branch 'nom' of github.com/rakudo/rakudo into nom
08:00 berekuk joined 08:10 berekuk left
dalek kudo/nom: 83273fa | larry++ | src/core/HashIter.pm:
HashIter::reify now does eager snapshot

There is some instability in the reentrancy of hashiter, so we force reify to run to completion in lieu of a bug fix. But hashes are finite anyway, and not many people are going to want to do short-circuit lazy evaluation of a list of keys or values, so not a big deal if we don't support laziness on hashes for now. This fix enables maps to reify their input lists frugally rather than greedily, since greedy map was hiding the reentrancy problem that this patch hides differently.
08:11
rakudo/nom: 51d3cae | larry++ | src/core/MapIter.pm:
rakudo/nom: MapIter::reify is now frugal with input list
rakudo/nom:
08:14 _thou left
TimToady that's github.com/rakudo/rakudo/commit/51...719614319f if you want to see it 08:17
timotimo cool. 08:20
TimToady: that is totally going into my monday's changes post. 08:21
08:23 berekuk joined
TimToady and rosettacode.org/wiki/Count_in_factors#Perl_6 now takes advantage of that fix :) 08:24
TimToady supposes there's an RT somewhere that relates, but is going to bed about an hour ago now... 08:26
zzz & 08:27
08:28 Mouq left, pnu_ left, pnu_ joined 08:29 ggherdov left, ggherdov joined 08:35 Zaydon joined 08:36 Zaydon left, zaydon_ joined 08:45 amkrankruleuen joined 08:47 SamuraiJack joined, Alula joined 08:48 kurahaupo_mobile joined 09:28 berekuk left
grondilu rn: my @a = rand xx 3; for @a -> $a is rw { $a = 0 }; say @a; # just verifying niecza agrees with rakudo here 09:32
camelia rakudo-parrot 51d3ca, rakudo-jvm 51d3ca, rakudo-moar 51d3ca, niecza v24-109-g48a8de3: OUTPUT«0 0 0␤» 09:33
timotimo minor suggestion: <-> $foo is short for -> $fo is rw 09:35
grondilu never redd that. Is that a recently added syntax? 09:36
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 09:43 Mouq left 09:47 sqirrel_ joined
moritz I'd date it to 2008 or 2009 09:47
09:48 berekuk joined
timotimo o/ moritz 09:49
moritz <-> was already in present in the 2008 "Move synopses to their new home" comit by pmichaud++ 09:55
(imported from svn)
09:56 raiph joined
masak antenoon, #perl6 09:57
moritz \o masak, *
10:02 Rotwang joined 10:05 virtualsue joined
grondilu $*OUT = open "test", :w; say "hi" # this is supposed to write "hi" in a file named "test", right? 10:09
timotimo if that doesn't work, maybe "my $*OUT" helps? 10:12
but yeah, i tshould work
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:14
grondilu seems broken indeed. 10:15
10:16 rindolf left 10:18 felher joined
FROGGS_ hmmmm, wait 10:19
say "hi" just delegates to nqp::say() and not to nqp::sayfh($*OUT, ...
timotimo ah. 10:22
masak yeah, that's wrong. 10:26
timotimo seems like a simple-ish fix :)
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 10:29 rindolf joined, Alina-malina left
masak ...to the extent that dynamic variables deliver "insulated" semantics in the first place :P 10:37
timotimo they kind of do 10:38
hm. 10:41
so i want to have a variable that gets made available to the user of my module. is that sensible?
i guess i can "import $Foo::Module::varname"? 10:42
that doesn't seem to do it, though :( 10:43
FROGGS_ p: use Test <&pod2text>; say &pod2text
camelia rakudo-parrot 51d3ca: OUTPUT«===SORRY!===␤Error while importing from 'Test': no EXPORT sub, but you provided positional argument in the 'use' statement␤»
FROGGS_ this way? 10:44
timotimo well, that clearly didn't work :P
FROGGS_ why?
timotimo "no EXPORT sub"
i'd have to write my own export sub then
FROGGS_ are you the module author or not? :P 10:45
timotimo ... yes :|
FROGGS_ see
timotimo i'd like a varibale trait "is export", though
writing an export sub feels boilerplatey 10:46
FROGGS_ p: class Foo { our $bar is export = 42 }; need Foo; say $bar
camelia rakudo-parrot 51d3ca: OUTPUT«===SORRY!=== Error while compiling /tmp/swIRYES8mP␤Can't use unknown trait 'is export' in a variable declaration.␤at /tmp/swIRYES8mP:1␤------> class Foo { our $bar is export ⏏= 42 }; need Foo; say $bar␤ e…»
FROGGS_ ahh
p: multi trait_mod:<is>(Variable:D \r, :$export!) { }; class Foo { our $bar is export = 42 }; 10:48
camelia ( no output )
timotimo :P
not very helpful, don't you agree? ;)
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«===SORRY!=== Error while compiling /tmp/0PNElPVtzE␤Nominal type check failed for parameter '@tags'; expected Positional but got Str instead␤at /tmp/0PNElPVtzE:1␤------> ␤»
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«===SORRY!=== Error while compiling /tmp/sRFZYt2_8O␤Variable '$bar' is not declared␤at /tmp/sRFZYt2_8O:1␤------> oo { our $bar is export = 42 }; say $bar⏏<EOL>␤ expecting any of:␤ postfix␤»
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
camelia rakudo-parrot 51d3ca: OUTPUT«===SORRY!=== Error while compiling /tmp/0wSProviQ5␤Variable '$bar' is not declared␤at /tmp/0wSProviQ5:1␤------> r is export = 42 }; import Foo; say $bar⏏<EOL>␤ expecting any of:␤ postfix␤»
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
camelia rakudo-parrot 51d3ca: OUTPUT«===SORRY!===␤Error while importing from 'Foo': no EXPORT sub, but you provided positional argument in the 'use' statement␤»
timotimo Constants (and enums) are also exportable items. As are variables declared in our scoping:
our @foo is export = <foo bar>
so just NYI
FROGGS_ hmpf
timotimo i think EXPORT_SYMBOL belongs somewhere else
time-of-call-wise
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␤»
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::
camelia rakudo-parrot 51d3ca: OUTPUT«42␤("Foo" => Foo).hash␤»
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␤»
FROGGS_ hmmm
timotimo oh, huh. 10:53
10:54 pippo joined, isBEKaml joined 10:56 berekuk left 10:57 berekuk joined
timotimo weird. import Module <$foo $bar $baz> ought to work, no? 10:58
FROGGS_ if you had an export sub, yeah 10:59
that is what I do not understand: 11:01
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
camelia rakudo-parrot 51d3ca: OUTPUT«42␤Potential difficulties:␤ Redeclaration of symbol $bar␤ at /tmp/5o3NwLsv3T:1␤ ------> r is export = 42 }; import Foo; our $bar⏏; say Baz.WHO␤("Foo" => Foo, "EXPORT" => EXPORT, "\$bar" => Any).hash␤»
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
camelia rakudo-parrot 51d3ca: OUTPUT«42␤("Foo" => Foo, "EXPORT" => EXPORT).hash␤»
FROGGS_ ohh 11:02
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
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
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␤»
FROGGS_ ahh, that gorram c key -.-
timotimo: ^^
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␤»
FROGGS_ ossum
FROGGS_ .oO( NYI my hat! ) 11:08
11:08 berekuk left 11:09 pippo_ joined, sqirrel_ left, pippo left, sqirrel_ joined
FROGGS_ spectests 11:09
11:10 sqirrel_ left
masak is writing Perl 6 application code again, and enjoying it 11:10
jnthn grondilu: Not sure what you think is broken; I tried your code here and: 11:11
> perl6-m -e "$*OUT = open 'test', :w; say 'hi'"
> type test 11:12
hi
And &say most certainly does use $*OUT :)
11:13 denis_boyun joined 11:14 pippo_ left 11:15 dmol joined 11:16 Alina-malina joined, Alina-malina left, Alina-malina joined, pippo joined 11:17 virtualsue left, Guest23735 left, erkan joined 11:20 raiph left 11:28 zaydon_ left, pdcawley joined 11:30 pdcawley_ left 11:33 Nei_ joined, mavcunha_ joined 11:38 orevdiabl joined 11:40 tgt joined 11:42 Rotwang left, kurahaupo_mobile left, SamuraiJack left, klapperl_ left, raydiak left, mavcunha left, pecastro left, FROGGS_ left, ribasushi left, itz_ left, ggherdov left, rurban left, skids left, pochi left, tokuhirom left, Vlavv left, sunnavy left, stevan_ left, revdiablo left, lee left, yakudza left, nwc10 left, synopsebot left, silug__ left, isBEKaml left, Yappo__________7 left, ingy1 left, xfix left, erkan left, grep0r left, dylanwh left, grep0r joined 11:43 Nei_ is now known as Nei, lee joined
moritz $ whois parrot.org|grep Expiry 11:44
Registry Expiry Date: 2019-02-22T10:48:05Z
11:47 pecastro joined, ggherdov joined 11:48 Vlavv joined 11:49 FROGGS_ joined, yakudza joined 11:55 synopsebot joined
FROGGS_ sadly, the export trait does work for our scoped but not for my scoped vars :/ 11:56
masak FROGGS_: I'm not 100% sure I would expect/want it to work for my-scoped vars. 11:58
FROGGS_: our-scoped vars are per module. my-scoped vars are per block invocation. which "version" of the var do you share? 11:59
s/version/incarnation/
grondilu jnthn: I tried again and it works indeed. I don't know what went wrong, as I can't reproduce it now. Nevermind.
jnthn grondilu: ok 12:01
grondilu ha, found it 12:02
it does not work with my current install of rakudo*
moritz FROGGS_: that's because exporting happens at compile time, and at compile time only the proto lexpad is available
grondilu but it works when I use perl6-m, as it is a most recent compile 12:03
my version of R* is: This is perl6 version 2014.01 built on parrot 5.9.0 revision 0
12:03 silug__ joined, dylanwh joined, erkan joined, pochi_ joined, stevan__ joined, SamuraiJack_ joined, sunnavy_ joined, klapperl joined, nwc10_ joined, ribasushi joined, itz joined, Rotwang joined, skids joined, raydiak joined, Yappo__________7 joined, ingy1 joined, xfix joined
grondilu and my version of perl6-m is: 12:04
This is perl6 version 2014.02-8-gbfe22c4 built on MoarVM version 2014.02
FROGGS_ masak / moritz: perfect! I let it throw a nice msg then 12:06
12:09 vendethiel joined 12:10 yihshih joined 12:11 dmol left 12:12 dmol joined 12:19 pippo left
Rotwang is there a mktemp module or something? 12:20
12:20 molaf_ joined 12:24 nwc10_ is now known as nwc10 12:27 dmol left 12:28 dmol joined
FROGGS_ Rotwang: this? github.com/perlpilot/p6-File-Temp/ 12:37
Rotwang FROGGS_: thanks, although I've hoped that there will be something in standard rakudo distribution 12:43
damn, after a delay it is hard to go back to perl6 and remember all the things 12:44
FROGGS_ it does not seem to be specced 12:47
dalek kudo/moar-conc: afd40aa | jnthn++ | src/vm/jvm/core/ThreadPoolScheduler.pm:
Further reduce JVM-ness of ThreadPoolScheduler.

With this, the use of AtomicInteger is eliminated in favor of a lock
  (for now; we can do better in the future when we've atomic ops). The
timer related bits are still JVM-specific, but now conditionally built for the JVM, and we just throw an exception on Moar. Means we can use the non-timer bits of the scheduler on Moar initially.
12:48
12:49 aborazmeh joined
dalek kudo/moar-conc: d7b2e09 | jnthn++ | / (3 files):
Move ThreadPoolScheduler into src/core/.

The JVM-specific bits are conditionally compiled for JVM now.
12:50
kudo/moar-conc: 80d06c2 | jnthn++ | tools/build/Makefile-Moar.in:
Add Semaphore and ThreadPoolScheduler to Moar.
12:53 virtualsue joined 12:58 zakharyas joined 12:59 dmol left 13:00 dmol joined 13:03 virtualsue left
jnthn bbl 13:03
FROGGS_ o/
Rotwang what does a Cool:D mean? 13:06
sub rmdir(Cool:D $directory)
I know what Cool is but not what :D is
except that it is an smiley
FROGGS_ Defined 13:07
so you cant pass the typeobject Cool to this sub
Rotwang are there any other smileys?
FROGGS_ only an instance of it
yes, :U and :T
T means Type object, but is NYI
13:08 pippo joined
Rotwang ok, thanks 13:09
13:10 [Sno] joined 13:17 tgt left 13:18 bjz left
dalek kudo/nom: 505868d | (Tobias Leich)++ | src/core/ (2 files):
implement export trait for our scoped vars
13:18
13:30 bjz joined 13:32 Nei left 13:35 pdcawley left
grondilu runs 'time perl6-m -e '.say for ^10_000' and notices it got much slower than a few weeks ago. 13:36
13:37 pdcawley joined
moritz grondilu: try reverting to 52d6316b82a1554092f6778e462ac61a3c8c5fbb and measure again 13:37
13:39 mavcunha_ is now known as mavcunha
vendethiel FROGGS_: what :T supposed to be ? 13:39
13:41 mavcunha_ joined, pippo left
jnthn grondilu: And if you go back before the patch TimToady put in recently and try then? 13:43
13:43 pippo joined
jnthn Oh, moritz beat me to it :) 13:43
grondilu is recompiling after reverting 52d6316b82a1554092f6778e462ac61a3c8c5fbb
jnthn As soon as I saw that patch and worried about this.
13:44 mavcunha left
jnthn *I 13:44
13:44 pippo left 13:45 mavcunha joined 13:46 mavcunha_ left 13:50 pippo joined
grondilu hum... same speed. Maybe I provided the wrong argument to the -m option of git revert? 13:52
grondilu was told 'Commit 52d6316b82a1554092f6778e462ac61a3c8c5fbb is a merge but no -m option was given.', so he added -m 1 13:53
jnthn grondilu: Oh, I don't think moritz meant revert that commit, but go to that commit 13:55
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.
moritz sorry if my instructions were unclear 13:57
grondilu checks out and recompiles
FROGGS_ vendethiel: only type objects are allowed then 13:59
13:59 tgt joined
tadzik colomon: it's just super slow 13:59
probably
vendethiel FROGGS_: like `class T { sub fn(T:T:){} }; my T $a .= fn;` ? 14:00
FROGGS_ p: sub foo(:T $bar) { say $bar }; foo(Int) 14:01
camelia rakudo-parrot 51d3ca: OUTPUT«===SORRY!=== Error while compiling /tmp/PgIRN4MxeC␤Malformed parameter␤at /tmp/PgIRN4MxeC:1␤------> sub foo(⏏:T $bar) { say $bar }; foo(Int)␤ expecting any of:␤ statement list␤ prefix or…»
14:01 zakharyas left
FROGGS_ this is meant to work 14:01
p: sub foo(:T $bar) { say $bar }; foo(42) # instead of this 14:02
camelia rakudo-parrot 51d3ca: OUTPUT«===SORRY!=== Error while compiling /tmp/U5vMBFhvpk␤Malformed parameter␤at /tmp/U5vMBFhvpk:1␤------> sub foo(⏏:T $bar) { say $bar }; foo(42) # instead␤ expecting any of:␤ statement list␤ …»
14:02 mavcunha left
FROGGS_ p: sub foo(:U $bar) { say $bar }; foo(Int) # like this 14:02
camelia rakudo-parrot 51d3ca: OUTPUT«===SORRY!=== Error while compiling /tmp/4xD9Y0b4H2␤Malformed parameter␤at /tmp/4xD9Y0b4H2:1␤------> sub foo(⏏:U $bar) { say $bar }; foo(Int) # like t␤ expecting any of:␤ statement list␤ …»
moritz erm no
FROGGS_ meh
moritz you have to specify the type
Mu:U or Any:U or so
FROGGS_ ohh, of course
p: sub foo(Int:U $bar) { say $bar }; foo(Int) # like this
camelia rakudo-parrot 51d3ca: OUTPUT«(Int)␤»
moritz and if you want to to be a type cature, it'd have to be ::T
FROGGS_ p: sub foo(Int:U $bar) { say $bar }; foo(42) # like this
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␤␤»
FROGGS_ vendethiel: see? 14:03
14:03 zakharyas joined
vendethiel FROGGS_: I know about :U and :D, I was asking about :T 14:04
FROGGS_ vendethiel: :T will mostly behave like :U I think, I even don't know where the difference is 14:05
vendethiel oke, thanjs
moritz: oh, you can have type parameters just for subs too ? that's cool 14:07
I only read about `role a[::T]` in the synopsis
m: sub a(::T $) { say T; }; a(42); 14:08
camelia rakudo-moar 51d3ca: OUTPUT«(Int)␤»
grondilu yep, much faster now
about twice as fast
6sec against 16secs, to be exact. So more like three times. 14:09
jnthn grondilu: Thanks for measuring. 14:16
masak waves, from a train!
jnthn TimToady: ^^ is quite a big regression :(
o/ masak
moritz vendethiel: the inside of the [] in a role declaration is just a signature 14:18
vendethiel ++moritz, ++FROGGS_ (why's :T needed then ?)
moritz vendethiel: objects can override their .defined method 14:19
vendethiel: so :D/:U test for defineness, while :T tests for being a type object
vendethiel one will use the overloaded and the other won't ? 14:22
(overloaded .defined method, that is)
moritz++ # alright, got it!
moritz correct
(though I think rakudo got that wrong)
FROGGS_ p6: class Foo { our $bar is export = 42 }; import Foo; say $bar 14:28
camelia niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Trait export not available on variables at /tmp/tmpfile line 1:␤------> class Foo { our $bar is export ⏏= 42 }; import Foo; say $bar␤␤Action method statement_control:import not yet impleme…»
..rakudo-parrot 51d3ca, rakudo-jvm 51d3ca, rakudo-moar 51d3ca: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Can't use unknown trait 'is export' in a variable declaration.␤at /tmp/tmpfile:1␤------> class Foo { our $bar is export ⏏= 42 …»
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␤␤»
Timbus oh 14:31
p: sub foo(Bool:U $bar) { say $bar }; foo(True)
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␤␤»
FROGGS_ p: sub foo(Cool:U $bar) { say $bar }; foo(Int)
camelia rakudo-parrot 51d3ca: OUTPUT«(Int)␤»
14:33 SamuraiJack_ left 14:34 rurban joined 14:40 bjz left 14:41 mtk joined 14:43 mtk left, mavcunha joined 14:46 pdcawley_ joined, pdcawley left, mtk joined 14:47 bjz joined, mavcunha_ joined 14:48 mavcunha left, rurban left 14:57 ggoebel joined 14:58 ajr joined, ajr is now known as Guest25754, Guest25754 is now known as ajr_
masak one thing I really like about Perl 6: it's a joy to migrate from loose, unstructured hashes to objects with classes. 14:59
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
let me know if you're interested, and we can discuss terms.
s/getting // 15:01
Rotwang I'm trying to list files with dir this way my $files-to-parse = dir($out-dir, test => .IO.f); 15:02
but it returns an empty list, without test it returns all the files 15:03
what is wrong with my test?
jnthn Rotwang: .IO.f will execute immediately.
Rotwang: Maybe you wnat *.IO.f
Rotwang jnthn: this one also doesn't work 15:04
p: dir(/tmp) 15:05
camelia rakudo-parrot 505868: OUTPUT«===SORRY!=== Error while compiling /tmp/qf0ut8aX4y␤Unable to parse regex; couldn't find final '/'␤at /tmp/qf0ut8aX4y:1␤------> dir(/tmp⏏)␤ expecting any of:␤ argument list␤ prefix or ter…»
jnthn Rotwang: Oh, it's 'cus it seems to be being passed the unqualified name...
Rotwang jnthn: so? what does it mean? [;
15:07 ggoebel1117 joined
colomon masak: how iron man? not sure I'm up to weekly posts at the moment... 15:09
jnthn Rotwang: Well, if you do a dir('foo', test => { say $_ }) you'll see 15:11
Rotwang: I'm not sure it should be doing this, however.
TimToady ranges need to be reoptimized, but mapiter is the wrong place to optimize it 15:13
FROGGS_ p: class Foo { our $bar is export = 42 }; import Foo; say $bar 15:14
camelia rakudo-parrot 505868: OUTPUT«42␤»
FROGGS_ p: class Foo { my $bar is export = 42 }; import Foo; say $bar
camelia rakudo-parrot 505868: OUTPUT«===SORRY!=== 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␤------> class Foo { my $bar is export ⏏= 42 }…»
FROGGS_ \o/
15:15 aborazmeh left
masak colomon: I was thinking weekly, but I'm flexible. 15:15
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 [;
p: True ~~ True
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␤ ------> True ~~⏏ True␤»
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.
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.
colomon: yes, I understand.
colomon: that's my basic problem too.
Rotwang masak: this is what I get on R* 2014.1:
> True ~~ True
Null PMC access in get_string()
masak colomon: but knowing that I "have to" blog would be a help, I think.
colomon: it also eliminates some of my perfectionism. 15:18
Rotwang p: { return True; } ~~ { return True; }
camelia ( no output )
masak Rotwang: ouch, that Null PMC access is a new bug :/
can anyone else confirm it?
FROGGS_ maybe a known REPL bug?
15:18 zakharyas left
Rotwang masak: so True ~~ True should return true? 15:19
FROGGS_ masak: it NPMCAs in the REPL but not in -e
perhaps it can't stringify a .worry? 15:20
masak Rotwang: yes, $X ~~ True should return True. 15:23
FROGGS_: yes, I know.
FROGGS_: still a bug :/
FROGGS_: oh -- you mean you confirmed it?
FROGGS_ masak: yes 15:25
masak submits rakudobug 15:26
Rotwang++ FROGGS++
FROGGS_: by the way, was that Rakudo Star, or just bleeding Rakudo? 15:28
FROGGS_ masak: This is perl6 version 2014.02-15-g51d3cae built on parrot 6.1.0 revision RELEASE_6_1_0 15:29
blead that is
masak gracias.
15:30 aindilis joined
FROGGS_ it does not fail using perl6-m though 15:30
(can't test perl6-j atm)
masak interesting. including that in the bug report. 15:31
15:32 mavcunha joined 15:34 mavcunha_ left
TimToady will take a look at the sloth of 'for ^10000' later today 15:36
15:37 hoverboard joined
masak ++TimToady 15:38
jnthn \o/
15:40 tgt left, tgt_ joined
arnsholt timotimo: Did you ever start a repository for your Perl 6 IPython idea? 15:42
15:43 Celelibi left
arnsholt timotimo: Nm. Found it 15:43
15:48 dmol left 15:55 flussence joined 16:10 rindolf left
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…»
..rakudo-jvm 505868: OUTPUT«␤»
masak locally, running Rakudo-on-Moar, I get 'Failed to close filehandle: bad file descriptor', a stacktrace, and a segmentation fault. 16:12
known? should I pull latest?
jnthn masak: How latest is your latest?
masak I'm on 505868.
jnthn masak: Those things were common before the Moar IO refactor...
16:12 SamuraiJack_ joined
masak hm, but I might not have built lately... 16:12
hold on, and I'll rebuild, Justin Case.
jnthn *nod* 16:13
FROGGS_ it does not explode on my box
jnthn Just tried type README | perl6-m -e "say slurp" and it's happy here on Windows too
masak ok, sounds promising. :) 16:14
tadzik works on linux too
fast as hell too :)
masak I'm glad to be back to finding bugs. and even happier to find that they (probably) have been fixed, too. :>
yes, I've noticed the speed thing, too. it's... refreshing. 16:15
FROGGS_ it is
masak who would have thought? Perl 6... *and* fast. ish.
jnthn It's not *that* fast yet :P
tadzik but it's fast*er* :)
16:15 ajr_ left
jnthn True :) 16:15
masak definitely faster.
FROGGS_ in the past (the timespan I am here) I always thought: maybe the Christmas in two years is _the_ Christmas?
and this "two years" was a constant 16:16
now it feels like these two years are more like < 1 year
16:17 ajr joined, ajr is now known as Guest81355, Guest81355 is now known as ajr_
FROGGS_ dinner & 16:17
16:24 kurahaupo_mobile joined 16:26 zakharyas joined 16:31 fridim_ joined 16:32 denis_boyun__ joined 16:34 denis_boyun left, ggoebel1117 left 16:38 BenGoldberg joined, molaf_ left 16:39 rindolf joined 16:43 zaydon joined 16:50 Mouq joined 16:51 molaf_ joined 16:56 tokuhirom joined 16:59 ajr_ left 17:00 ajr_ joined, hoverboard is now known as american 17:03 BenGoldberg left 17:04 BenGoldberg joined, _thou joined 17:05 sftp_ left, sftp joined, denis_boyun__ left
dalek ecs/pod6ify: f00b2e5 | Mouq++ | S32-setting-library/IO.pod6:
S32/IO: Ensure there's space between text and code
17:06
17:06 american is now known as hoverboard
dalek ast: 118cd7b | (Tobias Leich)++ | S11-modules/import.t:
add tests for "our/my $var is export"
17:14
17:16 Celelibi joined, Celelibi left 17:17 Celelibi joined, Adriaaan joined
dalek ecs/pod6ify: e6effc6 | Mouq++ | S32-setting-library/IO.pod6:
S32/IO: Some more implicit code fixes missed in last commit
17:18
17:19 araujo joined
masak FROGGS_: I have no idea what people mean when they say "Christmas" anymore. 17:19
FROGGS_: all the time I've been here, I've just seen a steady progression of features, improvements, and bug fixes.
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".
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.
jnthn: right. it's a grayscale.
FROGGS_ masak: well, my hope is to actually use Perl 6 in the near future, but this involves SOAP I fear
masak shudders
I've been productively using Perl 6 for application code today, so for me, today, Christmas is fully an unquestionably here.
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.
jnthn++ others++
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
Mouq well, not totally ooc. to me Christmas <-> v0.0
FROGGS_: Oh, ok. FROGGS++ :) 17:24
masak Mouq: what the heck is v0.0 ? 17:25
FROGGS_ and it needs quite a bit discussion and fixing upcoming issues
masak Mouq: see my point above about "official declaration of such a point".
Mouq masak: Dunnno
FROGGS_ v0.0 looks like a smiley
Mouq masak: Yup
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:26
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
err, *typical isn't the right word...
*a good representation
BenGoldberg What's the official version number of perl6? 17:28
grondilu isn't it 6.0.0?
FROGGS_ what the heck is "perl6" even? :o)
BenGoldberg perl6 is the name of the language :) 17:29
masak BenGoldberg: we're kind of in a pre-official-version-number age, still.
FROGGS_ BenGoldberg: rong
masak BenGoldberg: the individual synopses are versioned, but that means fairly little.
FROGGS_ Perl 6 is the language name
BenGoldberg masak, which basically means that it's version 0.blah 17:30
FROGGS_ perl6 is the binary, at least one of them
masak BenGoldberg: why in the world would it mean that? it means there is no version.
Mouq r: say $*PERL
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␤»
..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␤»
..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␤»
masak BenGoldberg: I imagine there will be a v6.0.0 at some point (of the spec).
but that will take a whole lot of effort still.
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.
BenGoldberg When the version number goes to 1.0, more people will think that it's ready to use.
Mouq n: say $*PERL
camelia niecza v24-109-g48a8de3: OUTPUT«(Any)␤»
masak .oO( at least that would mean we proceeded out of alpha ) :P
BenGoldberg: Perl 6 1.0 ? 17:32
BenGoldberg meant to say alpha :)
Perl6 1.0 :)
Mouq std: %=pod 17:33
camelia std 09dda5b: OUTPUT«ok 00:01 121m␤»
Mouq r: %=pod
camelia rakudo-parrot 505868, rakudo-jvm 505868, rakudo-moar 505868: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Variable '%=pod' is not declared␤at /tmp/tmpfile:1␤------> %=pod⏏<EOL>␤ expecting any of:␤ postfix␤»
Mouq n: %=pod
camelia niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Unhandled reference twigil = at /tmp/dyFuvHiI4G line 1 (EOF):␤------> %=pod⏏<EOL>␤␤Unhandled exception: Unable to resolve method statement_level in type P6+{infix:sym<⊆>},{infix:sym<≼>…»
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
BenGoldberg: it isn't and never was spelled 'Perl6'.
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
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…»
masak BenGoldberg: interesting idea.
Mouq X<> doesn't work right yet *grumble* 17:37
masak BenGoldberg: moritz++ already does something similar on PerlMonks, fwiw.
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:38
kurahaupo_mobile 1qp 17:39
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:40
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
masak, there's no not to try multiple ways to improve perl6's visibility :)
Mouq Oh, but Pod::To::Text makes up for Rakudo's laziness with pod :D 17:43
masak BenGoldberg: indeed. I wasn't dissing your idea, just noting my preferences. 17:44
dalek kudo/nom: 1b5b325 | larry++ | src/core/Range.pm:
Range::reify decides range batching now

So that Map::Iter doesn't have to fake batching decision with insufficient knowledge. For now we batch up to 1024 values; a more sophisticated decision based on max - min is possible, in addition to any other contextual clues that might indicate one-shot use in cool code vs repeated use of the range in hot code.
17:46
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?
TimToady you're in trouble 17:48
nwc10 that seems like a useful first test of readiness
I'm already in trouble - I let the dogs go in the water while walking them.
TimToady actually, I think it's already been done
nwc10 but that's local trouble, not IRC trouble
TimToady and at least tested
nwc10 oooh. I didn't know that
TimToady it might actually be in use now, don't remember 17:49
you'd have to ask moritz++ I guess
masak nwc10++ # reminding us about dogfooding now and then 17:50
nwc10 I see two advantages
TimToady grondilu: see ^^ patch, should fix the slowness
nwc10 practical is dogfood - actually finding out where the pain points are, and wearing them down 17:51
political/persausion is that a lot of these are Perl 5 channels: irclog.perlgeek.de/
and having some of their day to day infrastructure provided by Perl 6 is actions speaking louder than words 17:52
masak nwc10: indeed. 17:53
nwc10 particularly if they don't notice for months
masak nwc10: not just pain points, mind you: actively used code is an invaluable catcher of bugs as the Perl 6 implementations move. 17:54
Mouq dogfooding has definitely helped flesh out Pod6 this past week 17:58
Not that there's isn't still a bunch to do
17:59 kurahaupo_mobile left
masak sounds somehow familiar. :) 17:59
17:59 pdcawley_ left
masak one step at a time, though. 17:59
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 >.<
masak I'd like to do that, during a weekend hackathon sometime.
18:01 mavcunha left, pdcawley joined
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:02
actually, the need for _is_deeply as a helper routine is then gone, and it should probably be inlined into is_deeply. 18:03
18:03 mavcunha joined
TimToady now contemplates lol vs tree vs deepmap vs duckmap 18:03
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
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
masak and not just give a textual diff either, but give a diff on the element level.
"Expected 5 elements in array at .[0][1]<items>, but found 3. (Last 2 appear to be missing.)" 18:06
that's the kind of brilliant I expect a Perl 6 is_deeply to be -- and it isn't, yet.
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«===SORRY!=== Error while compiling /tmp/tmpfile␤Malformed parameter␤at /tmp/tmpfile:1␤------> sub infix:<eqv> (\a,\b,⏏:!tap) { infix:<eqv>(a,b) ?? say 'ok' !!␤ expec…»
18:07 mavcunha left
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«===SORRY!=== Error while compiling /tmp/tmpfile␤Malformed parameter␤at /tmp/tmpfile:1␤------> sub infix:<eqv> (\a,\b,⏏:tap!) { infix:<eqv>(a,b) ?? say 'ok' !!␤ expec…»
Mouq r: sub infix:<eqv> (\a,\b,:$tap!) { infix:<eqv>(a,b) ?? say 'ok' !! say 'nok' }; (1,2,3) eqv :tap (1,2,3)
camelia rakudo-parrot 505868, rakudo-jvm 505868, rakudo-moar 505868: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Two terms in a row␤at /tmp/tmpfile:1␤------> y 'ok' !! say 'nok' }; (1,2,3) eqv :tap ⏏(1,2,3)␤ expecting any of:␤ …»
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.
Mouq r: sub infix:<eqv> (\a,\b,:$tap!) { infix:<eqv>(a,b) ?? say 'ok' !! say 'nok' }; (1,2,3) eqv (1,2,3) :tap
camelia rakudo-parrot 505868, rakudo-jvm 505868, rakudo-moar 505868: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤You can't adverb that␤at /tmp/tmpfile:1␤------> !! say 'nok' }; (1,2,3) eqv (1,2,3) :tap⏏<EOL>␤ expecting any of:␤ …»
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.
TimToady you want to associate a message somehow too
masak TimToady: but to be honest, even as I mention that, I don't see how it improves on 'is'.
and 'ok'.
feels like solving a big non-problem. 18:09
TimToady you're talking out of both sides of your mouth
nwc10 when *is* the next hackathon?
TimToady you're the one who wanted ok to work better above
masak TimToady: no, I was talking only of is_deeply.
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
maybe ok just need to become a macro 18:11
masak heh.
yes, a macro *would* have the ability to locate the comparison operator, and then do different logic based on what it is. 18:12
but then I think I would spell it OK
TimToady m: my $a = 0; ++$a for ^100000; 18:13
camelia rakudo-moar 505868: OUTPUT«(timeout)»
TimToady that shouldn't timeout when r-m updates 18:14
FROGGS_ cool
masak m: class C { has $.x }; say C.new(:x(42)) eqv C.new(:x(42)) 18:15
camelia rakudo-moar 505868: OUTPUT«False␤»
masak another thing is_deeply could do is to be objects-aware, and to test the above to True.
food & 18:18
7JTAAARUS hmmm is there any doc (or beginnings of such) which is something like "Perl 6 in A Nutshell"
jercos there's a wikibook on it iirc.
en.wikibooks.org/wiki/Perl_6_Programming
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 kaare_ left
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:22
moritz Mouq: /msg me your public ssh key, and I can give you the ability (I think) 18:23
FROGGS_ TimToady++ # 0m16.800s compared to 0m0.659s 18:24
tadzik wat :o 18:26
FROGGS_ m: my $a = 0; ++$a for ^100000; 18:27
-----^
camelia rakudo-moar 505868: OUTPUT«(timeout)»
TimToady not recompiled yet 18:29
Mouq moritz: kk 18:31
masak itz_: Perl 6 in a nushell: "whoa" 18:34
itz_: :P
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
ftr, anyone with root or sudo on feather2 can, by editing ~p6doc/.ssh/authorized_keys 18:36
18:41 Adriaaan left
dalek c: 953a4dd | Mouq++ | / (2 files):
Don't lose camelia image from .gitignore
18:44
18:46 ajr_ left
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:47
dalek c: da5b15a | Mouq++ | lib/Set.pod:
Make links in Set.pod somewhat less useless

Links like this should probably handled by L<doc:*>, but NYI
18:49
Mouq Oh, they're still useless >:( 18:50
Wait..
It's an escaping issue -_- 18:52
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) {...}
camelia std 09dda5b: OUTPUT«Potential difficulties:␤ $a is declared but not used at /tmp/WQQJjYQZF7 line 1:␤------> sub a(⏏$a? = 4) { }␤ok 00:01 126m␤»
std 09dda5b: OUTPUT«Potential difficulties:␤ $a is declared but not used at /tmp/mnEoPwlsjv line 1:␤------> sub a(⏏$a? = 4) {...}␤ok 00:01 126m␤»
TimToady none
FROGGS_ lol
TimToady you won
vendethiel oke
FROGGS_ vendethiel: the former is pretty verbose
TimToady I shouldn't've taken the time to type the ...
FROGGS_ but that's all
TimToady = implies ?
vendethiel yeah that's what I thought; but in an earlier commit I saw `? =` so I was wondering. [ FROGGS_, TimToady ]>>++ 18:59
ha, this book's chapter title is "return and want" but there's no want, the traps
19:01 Rotwang left
vendethiel "The want function is gone". Well, thanks S06 19:01
19:02 SamuraiJack_ left
dalek kudo/eleven: 41cd5e0 | Mouq++ | src/Perl6/Grammar.nqp:
Support semantic blocks better, lue++
19:03
rakudo/eleven: 7b43e38 | Mouq++ | src/Perl6/ (2 files):
rakudo/eleven: Abbreviated Pod blocks can't have configurations
19:04 dalek joined, ChanServ sets mode: +v dalek 19:05 berekuk joined 19:08 tgt_ left
masak std: sub a($a! = 4) { $a } 19:08
camelia std 09dda5b: OUTPUT«===SORRY!===␤Cannot put a default on a required parameter at /tmp/chT1mgjaYL line 1:␤------> sub a($a! = 4⏏) { $a }␤Check failed␤FAILED 00:01 127m␤»
masak STD++
perl6: sub a($a! = 4) { say $a }; a("OH HAI")
camelia rakudo-jvm 1b5b32: OUTPUT«(timeout)» 19:09
..niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Cannot put a default on a required parameter at /tmp/tmpfile line 1:␤------> sub a($a! = 4⏏) { say $a }; a("OH HAI")␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/l…»
..rakudo-parrot 1b5b32, rakudo-moar 1b5b32: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Cannot put default on required parameter $a␤at /tmp/tmpfile:1␤------> sub a($a! = 4⏏) { say $a }; a("OH HAI")␤ expecting any of:␤ …»
19:11 Rotwang joined 19:12 d4l3k_ joined 19:13 dalek left, d4l3k_ is now known as dalek
FROGGS_ m: my $a = 0; ++$a for ^100000; 19:15
camelia ( no output )
FROGGS_ :o)
timotimo internet connection is super crappy at the moment
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:17
moritz raydiak: +1 to moving static files to a separate dir 19:18
FROGGS_ Mouq: do you perhaps need to run rebootstrap instead?
Mouq FROGGS_: Ohh, ok, thank you 19:19
FROGGS_: That works
FROGGS_ cool! :o)
raydiak moritz: call it "static" and do the equivalent of "cp -r static html" at the beginning of generation?
moritz raydiak: aye
or "public", if you want to stay closer to what Mojolicious names things 19:20
raydiak sure 19:21
19:22 darutoko left
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?
timotimo doesn't even know what mojolicious really does 19:25
__sri mojolicio.us/ 19:26
Timbus hehe, i was wondering where sri was
timotimo mhm
__sri a wild sri appears 19:27
Ulti :)
__sri can I spam A and B and see you fight?
__sri coincidentally... you can play with mojolicious in your browser at the moment :) liveperl.us/
Timbus well i always play with mojolicious in my browser 19:28
:p
__sri ;p 19:29
timotimo so i was trying to do importation stuffs
i'm now at "
er ...
FROGGS_ O.o
timotimo actually, i think i need something different than use to combine with require
FROGGS_ timotimo: btw, have you seen that you can export vars now? 19:30
timotimo i can do that now?
did you just implement that?
FROGGS_ p: class Foo { our $bar is export = 42 }; import Foo; say $bar
camelia rakudo-parrot 1b5b32: OUTPUT«42␤»
FROGGS_ :o)
timotimo awesome!
thank you
FROGGS_ you're welcome 19:31
Mouq is pretty sure panda is hanging on ==> Fetching panda and not just being insanely slow
*rebootstrap.pl
tadzik Mouq: maybe try moving .git someplace else before rebootstarp 19:32
Mouq E.g. 'mv .git ../pandagit'? 19:34
It still hangs
19:35 BenGoldberg left, BenGoldberg joined
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␤»
..rakudo-jvm 1b5b32: OUTPUT«/home/p6eval/rakudo-inst-2␤»
Mouq What's odd is that it makes a new director in .work with a fetched Panda 19:42
*directory
19:43 tgt joined
FROGGS_ yes, that is the plan 19:45
Mouq But it's stuck on ==> Fetching panda
FROGGS_ it takes a few seconds on my box, but it does not hang 19:46
19:47 ruoso joined 19:48 zamolxes_ joined
tadzik hmm 19:49
maybe it's copying all the old .work directories too
gah
Mouq Oh, lemme try something 19:50
TimToady added another solution to rosettacode.org/wiki/Almost_prime#Perl_6
19:50 vendethiel left, ruoso_ left, zamolxes left, pnu_ left, __sri left 19:51 vendethiel joined, pnu__ joined 19:52 _sri joined
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:
So it creates .work/abcd/.work/abcd/.work/abcd 19:53
and so on
tadzik: Unless that's what you meant
tadzik uhh
I've seen that before
lue hello world o/
tadzik is your panda fresh?
and/or is your rakudo-moar fresh 19:54
Mouq I've rm'd it and cloned a new one :P
lue r: my $a = "perl6-m"; say "perl6-m" ~~ /<{$a}>/
tadzik also, are you running panda on moar-support branch?
camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«===SORRY!===␤Unrecognized regex metacharacter - (must be quoted to match literally)␤at eval_0:1␤------> anon regex { ^perl6⏏-m}␤Malformed regex␤at eval_0:1␤------> …»
FROGGS_ tadzik: it is moar-support, aye
Mouq I'm on moar-support, my rakudo-moar isn't make clean fresh though
19:55 Ben_Goldberg joined
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)
tadzik FROGGS_: kewl 19:56
19:56 ggoebel1117 joined, BenGoldberg left
FROGGS_ jnthn: don't think so 19:56
lue should <{$a}> work in that situation?
jnthn lue: Looks right to me. 19:57
lue: You're interpolating it as regex
FROGGS_ r: my $a = "perl6-m"; say "perl6-m" ~~ /$a/
jnthn lue: Just do /$a/ if you want to match it literally.
camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«「perl6-m」␤␤»
lue jnhtn: the issue is that "$a" is really "$foo.bar" and the // is actually a grammar rule. 19:58
19:59 LLamaRider joined
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«===SORRY!=== Error while compiling /tmp/tmpfile␤Unable to parse expression in argument list; couldn't find final ')' ␤at /tmp/tmpfile:1␤------> erl6-m" ~~ /<{$a.subst(/<?-[\w_\d]>/,「\…»
Mouq ?
r: my $a = "perl6-m"; say "perl6-m" ~~ /<{$a.subst(/<?-[\w_\d]>/,Q'\'])}>/
camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Unable to parse expression in argument list; couldn't find final ')' ␤at /tmp/tmpfile:1␤------> rl6-m" ~~ /<{$a.subst(/<?-[\w_\d]>/,Q'\'[…»
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«===SORRY!=== Error while compiling eval_0␤Unrecognized backslash sequence: '\m'␤at eval_0:1␤------> anon regex { ^perl6\⏏m}␤ expecting any of:␤ scoped decla…»
FROGGS_ r: my $a = "perl6-m"; say "perl6-m" ~~ /<{$a.subst(/<?-[\w_\d]>/,「\\」)}>/
camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«Nil␤»
jnthn lue: So why can't you just mention $a in the grammar rule, if you want to match it literally?
lue: Oh, I see what you mena...
Try "$foo.bar()" 20:01
Mouq r: my $a = "perl6-m"; say "perl6-m".uc ~~ /$a.uc/
camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«Nil␤»
lue figures it'd be something that didn't cross my mind :)
Mouq r: my $a = "perl6-m"; say "perl6-m".uc ~~ /$a.uc()/
camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Null regex not allowed␤at /tmp/tmpfile:1␤------> = "perl6-m"; say "perl6-m".uc ~~ /$a.uc(⏏)/␤ expecting any of:␤ …»
Mouq Oh
r: my $a = "perl6-m"; say "perl6-m".uc ~~ /"$a.uc()"/
camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«「PERL6-M」␤␤» 20:02
Mouq coolio
20:03 grep0r left 20:04 klapperl_ joined 20:06 Adriaaan joined, klapperl left, pecastro left 20:08 pecastro joined
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
==> Successfully installed panda
grondilu TimToady: ok I can confirm it's back to fast counting 20:12
20:13 grondilu left
tadzik Mouq: that's not a bad idea 20:14
Mouq: but, what exactly is that check doing? 20:15
Mouq tadzik: gist.github.com/Mouq/fbb86c2a79812a86f7c6 20:16
Skips 'em
tadzik ah 20:17
but File::Find still traverses them
well, I'm fine with applying that anyway :)
especially if it helps
20:17 denis_boyun joined 20:20 mavcunha joined
Mouq Well, I think the problem is the way File::Find::find is lazy 20:23
timotimo well, with take-rw you could give a value back to signalize that a folder is to be skipped 20:26
Mouq OR 20:32
Instead of my previous hacky patch, you could do this: gist.github.com/Mouq/cd9363ce6f20c699af77
And it works 20:33
20:35 census joined
Mouq Or at least, it worked for me 20:38
20:38 dalek left 20:40 dalek joined, ChanServ sets mode: +v dalek 20:41 dmol joined
moritz m: say 'abc' ~~ /<:alpha>+/ 20:43
camelia rakudo-moar 1b5b32: OUTPUT«「abc」␤␤»
20:43 PerlJam joined
Mouq m: say 'Medicago sativa' ~~ /<:alphalpha>/ 20:43
camelia rakudo-moar 1b5b32: OUTPUT«Nil␤»
Mouq Clearly a bug ;) 20:44
masak Mouq: :P 20:48
20:48 Sqirrel left
moritz is there a list of all support <:unicodecategory> thingies somewhere? 20:51
*supported
dalek c: 511b47b | moritz++ | lib/regexes.pod:
[regexes] \v, \w, \n
20:52
lue moritz: I don't think there's a specific list in the spec
masak pretty sure there ain't. 20:53
20:54 hoverboard is now known as SuchBsnsElf
lue It's the "unicode property" matcher. If it's a unicode property, it counts :) 20:54
moritz that's not something I'm willing to put in end-user docs 20:55
m: say 'a' ~~ /<:Lc>/ 20:57
camelia rakudo-moar 1b5b32: OUTPUT«Nil␤»
moritz m: say 'a' ~~ /<:LC>/
camelia rakudo-moar 1b5b32: OUTPUT«「a」␤␤»
moritz m: say 'a' ~~ /<:Cased_Letter>/
camelia rakudo-moar 1b5b32: OUTPUT«「a」␤␤»
moritz m: say 'a' ~~ /<:Decimal_Number>/
camelia rakudo-moar 1b5b32: OUTPUT«Nil␤»
moritz m: say '1' ~~ /<:Decimal_Number>/
camelia rakudo-moar 1b5b32: OUTPUT«「1」␤␤» 20:58
moritz m: say '1' ~~ /<:Digit>/
camelia rakudo-moar 1b5b32: OUTPUT«Nil␤»
TimToady we oughta be able to introspect it
20:58 SuchBsnsElf is now known as hoverboard, grep0r joined
moritz m: say '1' ~~ /<::Decimal_Number+:Lc>/ 20:59
camelia rakudo-moar 1b5b32: OUTPUT«===SORRY!=== Error while compiling /tmp/xip_GQ8sYz␤Unable to parse expression in metachar:sym<assert>; couldn't find final '>' ␤at /tmp/xip_GQ8sYz:1␤------> say '1' ~~ /<::Decimal_Number⏏+:Lc>/␤ expecting a…»
TimToady ::?
moritz m: say '1' ~~ /<:Decimal_Number+:Lc>/
camelia rakudo-moar 1b5b32: OUTPUT«「1」␤␤»
21:00 pnu__ is now known as pnu 21:01 LLamaRider left, pmurias joined
pmurias masak: re spelling ok OK, I'm not sure if we want to use the C uppercase macro convention 21:02
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
pmurias: I'm fine with some other syntactic convention indicating that it does code-introspection-like stuff.
how do I know how far a regex got into a string before it failed? 21:08
Mouq r: $*IN.read(8).say
camelia rakudo-jvm 1b5b32: OUTPUT«Buf:0x<>␤»
..rakudo-parrot 1b5b32, rakudo-moar 1b5b32: OUTPUT«Buf:0x<54 68 65 72 65 20 77 65>␤»
lue Hrm, my synopsis generator spends way too much time HTML-ifying the backlinks when turned on the entire synopses :/ 21:09
masak: Grammar::Tracer ?
masak lue: I mean, inside of a program, right after a regex failed.
FROGGS_ masak: and you might find something about 'highwater' in the clogs
masak lue: I was planning on putting in one of those ⏏ symbols.
FROGGS_: yes, but isn't 'highwater' fairly specific to STD? 21:10
FROGGS_: I was hoping for something already built into regexes/grammars.
pmurias masak: uppercase for me seems to imply phaser-like semantics
Mouq I would love to know about 'highwater' type thing for normal regexes
FROGGS_ :/ 21:11
pmurias highwater seems something a lot of grammars would benefit from for error recovery
FROGGS_ masak: just spec something :o) 21:12
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
FROGGS_ p: "abc" ~~ /\d+/; say $/.perl # problem is that this is not a Match object anymore
camelia rakudo-parrot 1b5b32: OUTPUT«Nil␤»
masak r: "abcd" ~~ /abce/; say $/.from; say $/.to
camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«Nil␤Nil␤»
masak dang.
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.
masak ah. 21:15
jnthn: I'll keep that in mind.
thanks.
moritz m: say so 'a.' ~~ /^ <+:L+:P>+ $/
camelia rakudo-moar 1b5b32: OUTPUT«True␤»
moritz m: say so 'a.' ~~ /^ <+(:L+:P)>+ $/
camelia rakudo-moar 1b5b32: OUTPUT«===SORRY!===␤Unrecognized regex metacharacter < (must be quoted to match literally)␤at /tmp/tBuuIEXOXl:1␤------> say so 'a.' ~~ /^ <+⏏(:L+:P)>+ $/␤Unable to parse regex; couldn't find final '/'␤at /tmp/tBuuI…»
masak I guess I could also just throw in manual calls to a sub that stores away the current cursor position.
moritz afaict, S05 says that should be allowed
std: say so 'a.' ~~ /^ <+(:L+:P)>+ $/ 21:16
camelia std 09dda5b: OUTPUT«ok 00:01 126m␤»
moritz n: say so 'a.' ~~ /^ <+(:L+:P)>+ $/
camelia niecza v24-109-g48a8de3: OUTPUT«True␤»
Ben_Goldberg rn: print (state $ = 'a') &= 'b'; 21:17
moritz m: say so 'a.' ~~ /^ <:L+:P>+ $/
camelia niecza v24-109-g48a8de3: OUTPUT«(timeout)»
..rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«all("a", "b")»
rakudo-moar 1b5b32: OUTPUT«True␤»
21:18 denis_boyun left
Mouq j: $*IN.read(8).decode.say 21:18
camelia rakudo-jvm 1b5b32: OUTPUT«␤»
dalek c: 7ada731 | moritz++ | lib/regexes.pod:
[regex] start to document Unicode character classes
21:20
21:22 denis_boyun joined 21:25 zaydon left
moritz Mouq++ # lots of good p6doc commits 21:25
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 )
Mouq moritz++ awesome documentation :)
moritz raydiak++
(though having somebody else actually working on the *contents* has a whole different quality)
Mouq I'm actually working on getting IO::* fixed
moritz \o/ 21:27
masak I noticed the other day that neither 'run' nor 'shell' are documented.
I'll see about adding them to some TODO. 21:28
21:29 timotimo left
dalek c: fa5823f | (Carl Mäsak)++ | WANTED:
[WANTED] add 'run' and 'shell'
21:29
moritz I'd have an easier time documenting those if they returned a more sensible object (both in spec and implementation) 21:37
jnthn
.oO( Ministry of Silly Objects )
21:38
Mouq IO::Spec is ... interesting 21:39
masak moritz: what's the insensible object they return right now?
Mouq r: say IO::Spec::Win32 ~~ IO::Spec::Unix # seems reasonable
camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«True␤»
Mouq r: say IO::Spec::Win32 ~~ IO::Spec 21:40
camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«False␤»
Ben_Goldberg r: say IO::Spec ~~ IO::Spec::Win32
camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«False␤»
Mouq Of course, it's an internal thing class AFAIK
moritz masak: oh, it seems that my recollection isn't actually true, and it now returns a Proc::Status which behaves quite nicely
masak "a win32 spec is a kind of unix spec, but not a kind of spec" -- don't you just love inheritance?
moritz: oh, nice.
moritz well, not as nice as I thought 21:41
$ perl6-m -e 'say so run("blerg", "foo").perl'
execvp(): No such file or directory
True
c'mon
that's a joke, right? returning a True object, not throwing an exception, but writing an error message to $*ERR? REALLY? 21:42
FROGGS_ moritz: you are calling 'so' on .perl, no? 21:44
moritz *facepalm*
Mouq hugme: hug moritz
hugme hugs moritz
moritz still, producing the error message on $*ERR instead of exception or in the return value is wrong
masak agreed. 21:45
FROGGS_ the return value is Proc::Status.new(exit => -1, pid => Any, signal => 254)
masak r: my regex foo = /aaa/; say "aaa" ~~ /<foo>/ 21:46
camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Malformed regex␤at /tmp/tmpfile:1␤------> my regex foo ⏏= /aaa/; say "aaa" ~~ /<foo>/␤ expecting any of:␤ sc…»
masak r: my regex foo { aaa }; say "aaa" ~~ /<foo>/
camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«「aaa」␤ foo => 「aaa」␤␤»
FROGGS_ moritz: might be an interesting task to catch that error message somehow
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?
FROGGS_ r: say "aaa" ~~ (my regex foo { aaa }) 21:48
camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«「aaa」␤␤»
FROGGS_ dunno if that counts
masak pmurias: no idea.
FROGGS_: heh :) 21:49
21:51 hoverboard left 21:58 timo joined, timo is now known as Guest28743
dalek c: e9444f2 | Mouq++ | / (4 files):
Modernize IO docs
21:59
22:01 Guest28743 is now known as timotimo 22:02 Rotwang left 22:06 timotimo left
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:06
22:07 hoverboard joined, timo1 joined 22:08 timo1 is now known as timotimo
Mouq thinks his modifications to rakudo made constructin pod much slower 22:08
*g
lue r: say 752 * 40 / 60
camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«501.333333␤»
Mouq O.O
I think you may want to optimize that 22:09
Because 8 hours is a little...
lue Mouq: definitely :D
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:10
22:11 pdcawley left
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
22:11 pdcawley joined
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␤»
..rakudo-jvm 1b5b32: OUTPUT«0.142␤use of uninitialized value of type Nil in numeric context␤Instant:1393193640.415␤»
..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␤»
lue anyone know why trying ENTER now fails?
moritz it probably just doesn't act as an rvalue 22:14
jnthn Yeah, it's exactly that. 22:17
The phasers, by virtue of firing at different times, make a single way to deal with r-value impossible.
22:19 mavcunha left 22:21 mavcunha joined
lue jnthn: that's alright, there's ways around it :) . 22:22
jnthn To be clear: ENTER should act as an r-value, it's just an NYI 22:23
But yeah, there's ways around it :)
lue jnthn: is it fair to say that every phaser with a * by it in S04 should acts as an rvalue ?
s/acts/act/
22:24 rindolf left
jnthn "Phasers marked with a C<*> can be used for their return value." 22:27
So yes, tha's exactly what the * means
22:28 denis_boyun left
lue ah, for some reason I only remember it as meaning "can be used braceless" 22:28
dalek kudo-star-daily: 7bc7c95 | coke++ | log/ (5 files):
today (automated commit)
22:31
22:32 FROGGS_ left
jnthn lue: No, I think the all take a blorst 22:32
lue Yeah, OK, so I merely misread stuff, that's all :) 22:33
masak 'night, #perl6 22:34
lue masak o/
dalek rl6-roast-data: 90598d3 | coke++ | / (5 files):
today (automated commit)
22:36
22:39 stevan__ left 22:40 stevan_ joined, mtk left 22:41 telex left
Mouq r: gist.github.com/Mouq/4775767b37254bd1821b 22:41
camelia ( no output )
Mouq r: gist.github.com/Mouq/4775767b37254bd1821b 22:42
camelia ( no output )
22:42 telex joined 22:44 mtk joined 22:45 skids left, rurban joined
dalek c: 953dc8a | Mouq++ | WANTED:
Add Pod6 tutorial to WANTED
22:47
tadzik hm 22:48
I could maybe write that :)
22:48 pdcawley left 22:51 pdcawley joined 22:52 tgt left 22:54 pippo left
Mouq r: <a b c d>.Set 22:56
camelia ( no output )
Mouq r: <a b c d>.Set.say
camelia rakudo-jvm 1b5b32: OUTPUT«set(b, a, d, c)␤»
..rakudo-parrot 1b5b32, rakudo-moar 1b5b32: OUTPUT«set(a, b, c, d)␤»
Mouq r: <a b c d>.Set(:view).say 22:58
camelia rakudo-jvm 1b5b32: OUTPUT«set(b, a, d, c)␤»
..rakudo-parrot 1b5b32, rakudo-moar 1b5b32: OUTPUT«set(a, b, c, d)␤»
Mouq r: set(<a b c d>).Set(:view).say
camelia rakudo-jvm 1b5b32: OUTPUT«set(b, a, d, c)␤»
..rakudo-parrot 1b5b32, rakudo-moar 1b5b32: OUTPUT«set(a, b, c, d)␤»
22:58 Adriaaan left 23:04 rurban left
lue Mouq; after 50 backlinks modified, I get an average time of 28.151484299834 s/bl, so.. 23:07
r: say 28.151484299834 * 752 / 60 / 60
camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«5.8805322759653244␤»
lue Only 6 hours! :)
23:14 hoverboard left 23:15 hoverboard joined
dalek c: 649c078 | raydiak++ | lib/Perl6/Documentable.pm:
Revise anchor links to match Pod::To::HTML-generated IDs
23:18
c: 6e2b9c6 | raydiak++ | / (6 files):
Merge branch 'master' of github.com:perl6/doc
raydiak ^^ changed to match changes I just pushed to Pod::To::HTML 23:19
23:20 zakharyas left
raydiak should fix broken anchors with escaped chars 23:20
23:22 census left
Mouq raydiak++: Does Pod::To::HTML get updated? 23:22
raydiak Mouq: yes, already pushed to it 23:23
Mouq raydiak: on feather?
raydiak Mouq: rerunning htmlify now, and then will sync latest docs to feather 23:24
Mouq Ok, cool
raydiak unless you mean "did the version of Pod::To::HTML installed on feather already get updated?" then the answer is no 23:25
but I've no idea what is even on feather, other than "that place I sync html docs to"
Mouq Oh, wait. I'm dumb :P 23:26
Don't worry about it; good job :) 23:27
lue: What's your algorithm for generating backlinks?
raydiak :) thanks...should fix the searches for lings like ++ under firefox too
s/lings/things/
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 :)
github.com/lue/synopsis-generator 23:28
Mouq Oh, you do it at every line? 23:29
Or wait
Mouq is distracted
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
It's the loop under "Performing post-gen modifications"
23:31 kaare_ joined
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)
Mouq Huh 23:34
Well
lue (Unless someone made a M<bl:> of course... :D)
raydiak hmmm...something is still wrong with anchors with unicode in them 23:35
Mouq lue: There's a way to cheat
lue I think I see what you may be getting at... 23:36
Fun fact: Rakudo's s:g is much faster than my own :P 23:37
jnthn ;)
lue but it's more wrong :(
Mouq lue: =for item :class<smartlink-file> L<C<file>, line C<line>|github.com/perl6/roast/blob/master...e#line> 23:38
*=for pod 23:39
lue There's a class config option ‽
Mouq Nope
23:39 berekuk left
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;
camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«[[A:1]][[B:2]]␤»
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«[[:]][[:]]␤»
lue I think my problem comes from using .subst instead of ~~ s
23:41 berekuk joined
Mouq lue: "[[$0:$1]]" isn't going to closure like you need 23:42
r: my $a = "(A|1)(B|2)"; $a.=subst(/\((<.alpha>)\|(<.digit>)\)/, {"[[$0:$1]]"}, :g); say $a;
camelia rakudo-parrot 1b5b32, rakudo-jvm 1b5b32, rakudo-moar 1b5b32: OUTPUT«[[A:1]][[B:2]]␤»
lue I'm using a q:c:to// actually, and it just places the same backlink in every spot :/
Mouq s/closure/something/
I'm saying that the "[[$0:$1]]" will get the $/ from its surroundings 23:44
instead of from the match you made
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...
I'll try {q:c:to/EOF/}, and let you know how it goes in about 1246.0347964 seconds :)
Mouq std: DOC 23:46
camelia std 09dda5b: OUTPUT«===SORRY!===␤Undeclared name:␤ 'DOC' used at line 1␤Check failed␤FAILED 00:00 120m␤»
Mouq std: DOC BEGIN { }
camelia std 09dda5b: OUTPUT«===SORRY!===␤Undeclared name:␤ 'DOC' used at line 1␤Check failed␤FAILED 00:01 124m␤»
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
lue luckily I'm using perl6-m :) 23:48
[Coke] haskell people: please update pugs so that eval is spelled EVAL.
lue (the DOC keyword has always felt incredibly weird to me; I hope that an actual implementation of it would change my mind ☺) 23:52
23:52 berekuk left
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.
then again, all-caps aren't reserved for phasers. Just look at EVAL ;) 23:54
[Coke] n: say "\\cIa" 23:55
camelia niecza v24-109-g48a8de3: OUTPUT«\cIa␤»
[Coke] n: say "\\c3a"
camelia niecza v24-109-g48a8de3: OUTPUT«\c3a␤»
lue Mouq: what if, instead of DOC use (etc.), we had =use (etc.) ? Would tie in better with its documentation-ness
Mouq lue: '~' I dunno 23:56
lue I feel like we'd be running up against usable directives at some point if that were to happen though... .oO(==use) 23:57
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
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..
lue: Sure
lue: YEah