Bowlslaw AlexDaniel: As far as I can tell, it waits on a Supply, and...does the code you type whenever the stuff in the whenever block happens 00:00
AlexDaniel if I had to summarize it in one sentence, I'd say that it does sequential processing of asynchronous events
but I'm not sure if others understand what I try to say by that
and if it's the right way to explain it 00:01
Bowlslaw it's easier then typing out .tap and all that crap
which i don't really get at all
AlexDaniel well, more importantly it .taps do something completely different 00:02
s/it//
Bowlslaw o
ok, well
AlexDaniel m: Promise.in(1).tap: { sleep ∞ }; Promise.in(2).tap: { say ‘It taps!’; exit }
camelia No such method 'tap' for invocant of type 'Promise'. Did you mean any of these?
Map
map

in block <unit> at <tmp> line 1
Bowlslaw i don't know
AlexDaniel m: Promise.in(1).Supply.tap: { sleep ∞ }; Promise.in(2).Supply.tap: { say ‘It taps!’; exit } 00:03
camelia ( no output )
AlexDaniel m: Promise.in(1).Supply.tap: { sleep ∞ }; Promise.in(2).Supply.tap: { say ‘It taps!’; exit }; sleep ∞
camelia It taps!
AlexDaniel Bowlslaw: fwiw here's a cool react example: docs.perl6.org/type/Proc::Async 00:04
00:05 jrra joined
Bowlslaw moritz has a cool example in his Perl 6 Fundamentals book using Proc::Async 00:05
00:15 BenGoldberg joined
AlexDaniel Bowlslaw: I created this ticket D#2135 00:21
synopsebot D#2135 [open]: github.com/perl6/doc/issues/2135 [docs] So what the hell is react/whenever
Bowlslaw haahhaha 00:23
i 00:24
I didn't learn it from the docs, even though i've read them multiple times
jnthn showed me a piece of code as an example
00:28 MasterDuke joined
tobs re: react whenever. I found this while tracing the sources. It's reassuring: github.com/rakudo/rakudo/blob/mast....pm6#L2033 00:36
Bowlslaw lol 00:37
00:57 markoong left 00:58 markoong joined 00:59 Xliff left
Bowlslaw AlexDaniel: Can you tell me why this doesn't work? pastebin.com/0ExeaCZD 01:00
it gets the links on the initial page, but then it doesn't get any more
i forgot a line in that paste but it still doesn't work 01:02
AlexDaniel which line? :) 01:03
AlexDaniel is installing DOM::Tiny
01:03 markoong left
Bowlslaw hehe 01:03
return if $depth <= 0;
as the first line of the sub 01:04
it just keeps getting the initial link over and over
well, it grabs the initial link for whatever the $depth value is 01:05
AlexDaniel Bowlslaw: but that's because it finds a link to / on every page 01:06
right?
Bowlslaw: remove “while $depth ≥ 0 {” line 01:08
Bowlslaw: this works: gist.github.com/AlexDaniel/50fcc38...37ed89eb0e 01:09
I mean, it crawls
it does die a bit later because of something else in HTTP::UserAgent, but you can probably debug that separately
Bowlslaw hmmmmm 01:11
oh yeah...
I must've forgotten to remove that bit from earlier 01:12
@_@
thanks
oh i see what i did to make it die 01:13
@_@ 01:14
benjikun AlexDaniel: yeah, the doc page on concurrency could be better for newbies 01:17
Bowlslaw AlexDaniel: I suppose I should clear the @links array before I use it again... 01:42
hahahhahaha
AlexDaniel Bowlslaw: why?
it's always empty when crawl is entered 01:43
01:43 ChoHag left
Bowlslaw hmmmm 01:43
well it looks like it is starting from the beginning every time 01:44
LOL it crawls the entire github repo 01:45
oh wait, that's just me being silly 01:46
it looks like it works fine except for what you mentioned 01:47
hmm 01:51
01:51 ChoHag joined
AlexDaniel Bowlslaw: honestly, if I were you I'd just use run(:out, ‘curl’, …).out.slurp 01:54
instead of HTTP::UserAgent 01:55
Bowlslaw LOL
whaaaaat
AlexDaniel that's obviously not portable, but it's much faster and will work better
Bowlslaw hmmmmmmmm
AlexDaniel buggable: eco curl 01:56
buggable AlexDaniel, Found 2 results: LibCurl, Net::Curl. See modules.perl6.org/s/curl
AlexDaniel ↑ also something that can be considered
Bowlslaw cool 01:57
yet more rewrites, haha
AlexDaniel Bowlslaw: actually, I tried rewriting your script like this: gist.github.com/AlexDaniel/4b0f0ac...21a3e459b0 01:58
but I stumbled upon this regression: github.com/rakudo/rakudo/issues/2008
and I also don't know when to close the channel :)
Bowlslaw hmmm 02:00
this is much more difficult than i thought it would be
02:01 aborazmeh joined, aborazmeh left, aborazmeh joined
AlexDaniel Bowlslaw: actually, it's not, can you try this? gist.github.com/AlexDaniel/d268f43...bb854a1c76 02:03
you'd need to catch exceptions properly, but otherwise it crawls in multiple threads 02:04
Bowlslaw hmm 02:05
oh eah, i forgot about exceptions 02:06
i definately want to implement those properly
AlexDaniel hm… but again, the channel is never closed :)
Bowlslaw why does that matter? 02:07
AlexDaniel Bowlslaw: once the website is fully crawled, the program will just sleep forever
Bowlslaw hmmm
Geth doc: 8cefbeffb6 | (Will "Coke" Coleda)++ | doc/Language/glossary.pod6
whitespace
02:10
synopsebot Link: doc.perl6.org/language/glossary
Bowlslaw gotta learn about your code 02:11
some things i haven't seen, but you did keep the algorithm it seems
02:12 imcsk8_ joined 02:13 dogbert2 joined 02:15 imcsk8 left
Bowlslaw AlexDaniel: does my script run multi-threaded? 02:16
how can I verify myself?
AlexDaniel Bowlslaw: which one?
02:16 dogbert17 left
Bowlslaw github.com/Bowlslaw/webcrawler/blo...crawler.p6 02:18
AlexDaniel Bowlslaw: no 02:19
02:19 john_parr joined
Bowlslaw then what is the react/whenever doing? 02:20
02:20 nopl left
AlexDaniel Bowlslaw: in this case nothing important 02:20
Bowlslaw: you can also write my $response = await $ua.get($url); 02:21
ah actually, you don't even need that
just my $response = $ua.get($url); will do
02:21 nopl joined
AlexDaniel if you want workers you'll need to `start` some, or use hyper/race 02:22
Bowlslaw @_@ 02:26
this is not clear at all...
AlexDaniel Bowlslaw: `react` is just a way of processing events, it does not start new threads by itself 02:27
Bowlslaw hmm 02:33
AlexDaniel Bowlslaw: here's another crude example that does it using more than one thread: gist.github.com/AlexDaniel/521c27e...d3a528718a
note that all I did was `start crawl($link, $file, $depth - 1);`
semaphore stuff is in there to prevent hundrends of threads working at the same time 02:34
maybe someone more knowledgeable can propose an easier way to do that? 02:35
02:54 aborazmeh left 03:01 stmuk_ joined 03:04 stmuk left 03:18 Bowlslaw left 03:30 CoolGuy18 joined
CoolGuy18 hello 03:30
p6: say 3;
camelia 3
CoolGuy18 p6: say 'hello'; 03:31
camelia hello
CoolGuy18 p6: say 'hell\no';
camelia hell\no
CoolGuy18 p6: say "hell\no";
camelia hell
o
CoolGuy18 bye
03:31 CoolGuy18 left
AlexDaniel byyyyyyeee 03:32
:)
03:36 Khisanth left 03:49 kaare__ left 03:52 Khisanth joined 03:56 fatguy joined
AlexDaniel squashable6: next 04:02
squashable6 AlexDaniel, ⚠🍕 Next SQUASHathon in 4 days and ≈5 hours (2018-07-07 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
fatguy i've been running this sample script pastebin.com/8gwgjaB3 for more than 10 days on linux system with 4GB memory 04:16
it basically just write to file with it cpu and memory usage. memory usage increase 1% daily on average 04:18
AlexDaniel fatguy: is it linear?
fatguy: but anyway, can you create a ticket? 04:38
huggable: rakudobug
huggable AlexDaniel, Report bugs on github.com/rakudo/rakudo/issues/new If you don't have access to GitHub, you can email your report to [email@hidden.address] . See also: github.com/rakudo/rakudo/wiki/rt-introduction
fatguy AlexDaniel: not constantly, here are from 20 -30 June : 0.9 1.0 0.9 1.3 1.0 1.3 0.9 0.9 1.4 0.8 1.1 (on average 1.1%)
ok
04:43 xtreak joined 04:52 curan joined 04:54 sno left 04:56 lizmat left 05:01 kaare__ joined 05:05 jmerelo joined 05:20 BenGoldberg left 05:29 wamba joined
jmerelo m: say GLOBALish.WHO 05:36
camelia GLOBAL
jmerelo m: say GLOBALish.perl
camelia GLOBAL
jmerelo m: say $*REPO.^mro 05:37
camelia ((Installation) (Any) (Mu))
05:46 fatguy left
perlawhirl hi perlers 06:13
this seems inconsistent
m: <0000 0001>».comb.say
06:13 charsbar left
camelia (() (0 0 0 1)) 06:13
perlawhirl why is IntStr 0 special 06:14
jmerelo perlawhirl: hum
perlawhirl bisectable6: <0000 0001>».comb.say
bisectable6 perlawhirl, Bisecting by output (old=2015.12 new=4bdb978) because on both starting points the exit code is 0
perlawhirl, bisect log: gist.github.com/5d15691f2e5bef5d01...aed2305ffe
perlawhirl, (2017-03-11) github.com/rakudo/rakudo/commit/d4...26bc76be53
jmerelo m: <0000 0001>.map: .comb.say
AlexDaniel 6c: <0000 0001>».comb.say
camelia No such method 'comb' for invocant of type 'Any'
in block <unit> at <tmp> line 1
jmerelo m: <0000 0001>.map: *.comb.say 06:15
camelia ()
(0 0 0 1)
committable6 AlexDaniel, gist.github.com/a98a4d6ca940bf5a17...3690f66386
AlexDaniel c: d444f655^,d444f655 <0000 0001>».comb.say
committable6 AlexDaniel, ¦d444f655^: «((0 0 0 0) (0 0 0 1))␤» ¦d444f65: «(() (0 0 0 1))␤»
AlexDaniel perlawhirl: yeah, looks like regression to me 06:16
perlawhirl: can you file a ticket?
perlawhirl sure
the things you find when trying to solve a childrens puzzle, haha 06:17
06:26 sno joined 06:29 robertle joined 06:33 fake_space_whale left 06:41 damnlie left 06:43 damnlie joined
masak perlawhirl: what puzzle is that, ooc? 06:53
06:55 lookatme joined, lookatme_q joined
jmerelo m: my %hash = { foo => { bar => baz}}; say %hash 06:55
camelia 5===SORRY!5===
Undeclared routine:
baz used at line 1. Did you mean 'bag'?

Other potential difficulties:
Useless use of hash composer on right side of hash assignment; did you mean := instead?
at <tmp>:1
------> 3my…
jmerelo m: my %hash = { foo => { bar => 'baz'}}; say %hash
camelia Potential difficulties:
Useless use of hash composer on right side of hash assignment; did you mean := instead?
at <tmp>:1
------> 3my %hash = { foo => { bar => 'baz'}}7⏏5; say %hash
{foo => {bar => baz}}
jmerelo m: my %hash = { foo => { 'bar' => 'baz'}}; say %hash 06:56
camelia Potential difficulties:
Useless use of hash composer on right side of hash assignment; did you mean := instead?
at <tmp>:1
------> 3my %hash = { foo => { 'bar' => 'baz'}}7⏏5; say %hash
{foo => {bar => baz}}
jmerelo m: my %hash = { foo => { 'bar' => 'baz'} }; say %hash
camelia Potential difficulties:
Useless use of hash composer on right side of hash assignment; did you mean := instead?
at <tmp>:1
------> 3my %hash = { foo => { 'bar' => 'baz'} }7⏏5; say %hash
{foo => {bar => baz}}
jmerelo m: my %hash = { foo => 'bar' => 'baz' }; say %hash
camelia Potential difficulties:
Useless use of hash composer on right side of hash assignment; did you mean := instead?
at <tmp>:1
------> 3my %hash = { foo => 'bar' => 'baz' }7⏏5; say %hash
{foo => bar => baz}
06:57 lookatme_q left
jmerelo m: my %hash = ( foo => 'bar' => 'baz' ); say %hash 06:59
camelia {foo => bar => baz}
lookatme m: my %hash = %{ foo => { 'bar' => 'baz' } }; say %hash 07:00
camelia {foo => {bar => baz}}
lookatme m: my %hash := { foo => { 'bar' => 'baz' } }; say %hash 07:01
camelia {foo => {bar => baz}}
lookatme m: my %hash = { foo => { 'bar' => 'baz' } }; say %hash
camelia Potential difficulties:
Useless use of hash composer on right side of hash assignment; did you mean := instead?
at <tmp>:1
------> 3my %hash = { foo => { 'bar' => 'baz' } }7⏏5; say %hash
{foo => {bar => baz}}
lookatme :)
07:04 |oLa| joined 07:13 domidumont joined 07:18 domidumont left, domidumont joined 07:27 Xliff joined
Geth doc: 155cbd0ed6 | (JJ Merelo)++ | doc/Language/hashmap.pod6
Improves text on hash assignment
07:37
synopsebot Link: doc.perl6.org/language/hashmap
07:38 pmurias joined 07:40 xtreak left 07:42 wamba left, xtreak joined 07:46 xtreak left 07:47 spycrab0 left 07:48 kaare__ is now known as kaare_ 07:50 zakharyas joined 07:52 tphilipp joined, tphilipp is now known as disc0rd_ 07:53 tphilipp joined, tphilipp left 08:01 scimon joined 08:09 xtreak joined 08:10 domidumont left 08:12 wamba joined, domidumont joined, xtreak_ joined 08:15 xtreak left 08:18 disc0rd_ left 08:35 Ven` joined 08:39 sena_kun joined 08:47 hami joined 08:55 hami left 08:58 rindolf joined
Geth doc: 5465e22449 | (JJ Merelo)++ | doc/Language/hashmap.pod6
More clarifications on hash definition
09:05
synopsebot Link: doc.perl6.org/language/hashmap
09:11 Ven` left 09:20 Ven` joined 09:27 lizmat joined 09:51 xtreak_ left 09:54 xtreak joined 10:03 zakharyas left 10:05 zakharyas joined 10:09 aborazmeh joined, aborazmeh left, aborazmeh joined 10:16 DeepIO joined 10:29 aborazmeh left 10:48 ChoHag left 10:50 p6noob left 10:51 ChoHag joined 11:00 konsolebox joined
Geth doc: Scimon++ created pull request #2137:
Modify without example
11:06
11:15 Ven` left 11:23 n1ge joined, n1ge left
lizmat weekly: perlmonks.org/?node_id=1217692 11:28
notable6 lizmat, Noted!
11:30 zakharyas left 11:31 xtreak left 11:32 eliasr joined 11:33 xtreak joined 11:40 spycrab0 joined 11:44 markoong joined 11:48 benjikun2 joined 11:49 benjikun left 11:57 Altreus_ is now known as Altreus 12:09 Ven` joined 12:10 MasterDuke left 12:13 ChoHag left
Geth doc: f60f274bab | (Simon Proctor)++ (committed using GitHub Web editor) | doc/Language/control.pod6
Modify without example

The example given for without raises an error about stringifying which seems LTA. The update displays the type of `$answer` that seems more useful as an example.
12:14
synopsebot Link: doc.perl6.org/language/control
Geth doc: 086ed9226c | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | doc/Language/control.pod6
Merge pull request #2137 from Scimon/master

Modify without example Thanks!
12:16 xtreak left
scimon I was just playing about with without and noticed that. 12:16
jmerelo scimon: it's awesome. Thanks!
scimon: keep playing around :-)
scimon I'll do my best. 12:23
12:25 ChoHag joined 12:30 noganex joined 12:36 jmerelo left
Geth perl6.org: hankache++ created pull request #116:
perl6intro.com supports https
12:43
perl6.org: 883bbd6321 | (Naoum Hankache)++ | 2 files
perl6intro.com supports https
12:44
perl6.org: 5eceaf3eab | (Naoum Hankache)++ (committed using GitHub Web editor) | 2 files
Merge pull request #116 from hankache/master

  perl6intro.com supports https
jkramer How would I do this correctly?
m: for <foo bar baz lol>.pairs.rotor(2 => -1) -> $a, $b { say "a should be 0 => foo, b should be 1 => bar, instead a is $a and b is $b" } 12:45
camelia a should be 0 => foo, b should be 1 => bar, instead a is 0 foo 1 bar and b is 1 bar 2 baz
Too few positionals passed; expected 2 arguments but got 1
in block <unit> at <tmp> line 1
jkramer This doesn't work either:
m: for <foo bar baz lol>.pairs.rotor(2 => -1) -> ($a, $b) { say "a should be 0 => foo, b should be 1 => bar, instead a is $a and b is $b" }
camelia Too few positionals passed to '<anon>'; expected 2 arguments but got 0 in sub-signature
in block <unit> at <tmp> line 1
jnthn for flat <foo bar baz lol>.pairs.rotor(2 => -1) -> $a, $b { say "a = $a, b = $b" } 12:46
evalable6 a = 0␉foo, b = 1␉bar
a = 1␉bar, b = 2␉baz
a = 2␉baz, b = 3␉lol
12:46 kaare_ left
jkramer Ah so you flatten the whole thing first and then have the for divide it in groups of two elements 12:47
jnthn Yes
m: for <foo bar baz lol>.pairs.rotor(2 => -1) -> [$a, $b] { say "a = $a, b = $b" }
camelia Too few positionals passed to '<anon>'; expected 2 arguments but got 0 in sub-signature
in block <unit> at <tmp> line 1
jkramer Is there no syntax that allows me to disassemble a list into elements in the signature?
jnthn Hm, I thought might do it 12:48
Though it will probably be multiple times slower than the for flat approach
jkramer I thought I could probably do something with | or * in the signature but I guess not 12:49
Yup, using the flat one, thanks :)
jnthn m: for <foo bar baz lol>.pairs.rotor(2 => -1).skip(1) -> [$a, $b] { say "a = $a, b = $b" }
camelia Too few positionals passed to '<anon>'; expected 2 arguments but got 0 in sub-signature
in block <unit> at <tmp> line 1
jnthn huh, where's the 0 coming from
timotimo m: for <foo bar baz lol>.pairs.rotor(2 => -1) -> @ [$a, $b] { say "a = $a, b = $b" }
camelia Too few positionals passed to '<anon>'; expected 2 arguments but got 0 in sub-signature
in block <unit> at <tmp> line 1
jnthn m: dd <foo bar baz lol>.pairs.rotor(2 => -1)
camelia ((0 => "foo", 1 => "bar"), (1 => "bar", 2 => "baz"), (2 => "baz", 3 => "lol")).Seq
timotimo it's not accidentally interpreting pairs as nameds?
jnthn oh, maybe it is 12:50
timotimo m: for <foo bar baz lol>.pairs.rotor(2 => -1) -> *%x { dd %x }
camelia Too many positionals passed; expected 0 arguments but got 1
in block <unit> at <tmp> line 1
jnthn I didn't think List.Capture did that though :/
timotimo er, of course
m: for <foo bar baz lol>.pairs.rotor(2 => -1) -> $ (*%x) { dd %x }
camelia {"0" => "foo", "1" => "bar"}
{"1" => "bar", "2" => "baz"}
{"2" => "baz", "3" => "lol"}
timotimo yeah, it's doing that
jnthn Hm. I guess it often makes some sense, but not here
masak is utterly confused by the .rotor API 12:58
"it's simple! just send in your argument as a Pair!"
timotimo multiple pairs, actually
well, potentially
masak o.O
12:59 mcmillhj joined
timotimo m: .say for (^16).rotor(2 => -1, 3 => -2, 4 => 1) 12:59
camelia (0 1)
(1 2 3)
(2 3 4 5)
(7 8)
(8 9 10)
(9 10 11 12)
(14 15)
masak kind of falls into the same bucket for me as people abusing Complex instances as 2D coordinates 13:00
tadzik Euclidean space can be pretty Complex 13:02
timotimo masak: how would you design an API like rotor's? 13:03
13:04 yqt joined
masak timotimo: I wish I had an excellent answer for that prepared 13:05
timotimo that's okay, you can point out something's bad without having a better suggestion at the ready, IMO
masak yes, but in a way I don't like doing that
Ven` .oO( clearly a RotorBeanFactoryFactory is the answer )
masak I think what I feel I'm missing is a little more clarity in terms of named arguments or something 13:06
timotimo List.rotor(Ratchet.new(2, -1), Ratchet.new(3, -2))
Ven` if I had a ratchet it'd be yours to have~
masak timotimo: still doesn't quite answer what those two positionals to Ratchet.new are -- so, same problem 13:07
timotimo .rotor(take => [2, 3], offset => [-1, -1])
masak now things are wrongly grouped :P 13:08
masak .oO( I'm here to complain and chew gum, and I'm all out of gum )
jnthn I found "2 => -1" as "take 2 items, take 1 step back" quite pleasant :) 13:09
Ven` also reads it that way
masak fair enough
jnthn I grant it's terse if you don't know that's how to read it 13:10
masak I think it's possible to both find the syntax quite pleasant _once you know it_, and to admit that it's rather unclear by default
timotimo i like this rotor api more than the previous draft that, i think, just put the numbers as individual positionals
masak ugh, agreed 13:11
but the Pairs here are used neither as hash entries nor as named arguments, just as "useful structure"
cons pairs, essentially ;)
like, if Perl 6 had a `(2, 1)` tuple syntax, we'd use that here 13:13
(and that would be a lot less arbitrary)
lizmat and the difference between a Tuple and a List being ?
Ven` Fixed size 13:14
masak yeah, guess sp
so*
timotimo not lazy 13:15
lizmat I mean, supporting a syntax like List.rotor( (2,-1),(3,-2),(4,1) ) would be easily supportable
masak a Pair has the implied semantics of "key" and "value" which .rotor doesn't care about at all
Ven` (also the typed version of a tuple would have a type per elem :P)
masak Ven`: so would a Pair, I guess
Ven` a Pair is just a 2-elems tuple, methinks
masak I mean, per .key and .value
jnthn git cherry-pick mast 13:16
gah
wrong window, then realized and enter instead of backspace :P
Ven`
.oO( spoiler! )
masak in a Pair, you're allowed to change the .value but not the .key 13:17
lizmat in a Tuple you would not be allowed to change either, in my book :-)
masak right 13:18
my point is that it's an abuse of Pair in .rotor because Pair means a lot of things that .rotor doesn't use/need/want
...but, again, I'm not up in arms about this. I'm not revolting, just openly expressing my confusion ;) 13:20
jnthn I guess it's arguably establishing a mapping between the number of steps forward and the number of steps back 13:21
13:21 Ven` left 13:22 Ven` joined
jnthn At least, I'd guess that was the thinking (I didn't design it, but that's how I'd justify such a design :P) 13:22
masak jnthn: a mapping where the keys are non-unique, then... :P
timotimo even worse, an ordered mapping 13:23
Juerd I've abused => in Perl 5 for many things that were even less pairlike
masak Juerd: yeah, but... :P
Juerd system ssh => @args;
masak Juerd: I heard in Perl 5, the `=>` is pronounced "fat comma" :P
Juerd Yep. I will probably forever remember it with that tame 13:24
s/tame/name/
Just like $ is "string", because of a$ in basic.
masak well, yeah
I mean, abuses of types isn't the end of the world either 13:26
just, you know, a possible design smell
jnthn suspects the design was more visual thinking than type thinking :)
masak as a person who evolves macros to hijack the syntax of code to do exotic things, I guess I ought to be more in favor of that kind of thing... :P 13:27
jnthn Natural langauges seem to also do similar hacks, just with sounds rather than visually. :)
13:28 kaare_ joined
masak specifically, see github.com/masak/007/issues/294#is...-392330477 13:28
(probably one of the most useful 007 issue comments of late, and well worth exposing to #perl6)
'macros are for "offsetting computation"' 13:29
13:29 skids joined
Ven` The question asked there is easy to answer: What are objects=>Objects are a poor man's closure! 13:30
jnthn Me: Wait, what on earth happened there where we declined that guys name? Teacher: Oh, his name sounds like a plural word, so we just applied the plural declension rules. :P
Makes zero sense in terms of semantics, but sometimes the phonetics win, I gues. :) 13:31
masak Ven`: your colors are showing :P
Ven` (I (don't know) what (you mean)) 13:32
masak :P
13:32 zakharyas joined
masak .oO( Kirkegaard's LISP: everything is an expression of despair ) 13:32
masak .oO( sorry, your name was plural, so it has been declined ) 13:35
Ven` applying a declension rule in french is "decliner" :P.
masak we're inclined to decline 13:36
masak .oO( when the playing field is not even, you're inclined towards Lean methods ) 13:38
13:42 wamba left
jnthn
.oO( A methodology from Pisa... )
13:42
jkramer Is there a way to get a Capture of the arguments the current sub was called with in order to pass it on to another sub? 13:43
I basically want something like callwith, but I want to keep the arguments and change the sub/method/object instead :) 13:44
jnthn |c 13:45
In the signature
c will be a Capture
masak m: sub foo(|c) { say c.^name }; foo(1, 2, 3)
camelia Capture
jkramer jnthn: Yeah but I still want to use positional and named parameters in the sub :) 13:46
13:46 noganex left
jkramer More like: foo($x, $y, :$z) { say $x; bar(get-capture-somehow); } 13:47
13:47 noganex joined
jnthn No, there's not a way to do that 13:47
But you can write `sub foo(|c ($x, $y, :$z)) { say $x; bar(|c) }` 13:48
jkramer Ok, thanks :)
Oh ok that does the job :)
jnthn That is, take the caputre and unpack it too
The underlying issue here is that various important opts rely on us being able to opt the Capture away 13:49
We actually look for the use of callsame and friends to know that we can't do it
But otherwise, we require it to be made explicit that it's wanted 13:50
13:50 curan left 13:59 wamba joined
pmurias nblogs.perl.org/users/pawel_murias/2...pdate.html - truffle backend blog post 14:20
lizmat pmurias: already listed for the weekly :-) 14:21
14:21 Ven` left 14:30 Ven` joined 15:03 turdmonkey joined 15:05 turdmonkey is now known as Bowlslaw
Bowlslaw Good morning, everyone. 15:05
masak \o 15:06
15:07 noganex_ joined 15:08 Khisanth left 15:10 noganex left 15:13 zakharyas left 15:16 zakharyas joined 15:18 jmerelo joined 15:21 Khisanth joined
moritz o/ 15:27
jmerelo moritz: hi!
Ven` \o
15:32 yqt left 15:36 zakharyas left 15:39 damnlie left, damnlie joined
Xliff \o 15:40
yoleaux 09:09Z <jnthn> Xliff: Thanks, it's fixed now :)
15:42 psychoslave joined, reportable6 joined 15:45 benjikun joined
Xliff ===SORRY!=== 15:46
Probable version skew in pre-compiled 'site#sources/F726BBCA8E1B0C2F39831AD4BD03281DBAF878F2 (OpenSSL::Bio)' (cause: no object at index 2107)
^ Anyone know what might cause this?
15:46 benjikun2 left 15:48 SHODAN joined
jkramer Out of curiosity, is there a way to extract the values from a junction and use it as some kind of grep? 15:51
Probably not
15:52 sno left 15:53 psychoslave left
buggable New CPAN upload: FindBin-0.1.8.tar.gz by LEMBARK modules.perl6.org/dist/FindBin:cpan:LEMBARK 15:54
15:55 domidumont left 15:57 zakharyas joined 15:58 zakharyas left 16:01 psychoslave joined, zakharyas joined
moritz jkramer: there are workarounds, but it's designed to make it hard, because if you use a junction that way, you're misusing it 16:02
16:03 robertle left, MilkmanDan left
Ven` There's an item in the FAQ about that, if you *really really* want to. 16:04
16:05 MilkmanDan joined
Ven` I suppose it could be useful for e.g. a testing library... 16:05
lizmat so do we have an official page for the processed results of the perl 6 survey, or just the raw Google data one ?
16:07 scimon left
Ven` The page docs.perl6.org/features links to a "'features' method" which 404s. MMhh 16:08
Sounds like that page shouldn't even exist.. 16:09
16:11 psychoslave left 16:13 bwisti joined
Bowlslaw I'm learning how to implement Perl 6's multi-threaded capabilities by making a web crawler. Can anyone tell me why this version seems to sleep after going through just 1 iteration of the depth? gist.github.com/Bowlslaw/fb16404d5...3a23ebde86 16:20
I've been going over this for a while and I cannot find any reason
Maybe the channel isn't closed?
IF so, why isn't it iterating the correct depth?
jmerelo lizmat: not yet. 16:21
lizmat: I should prepare one, I guess.
Bowlslaw Hmm, actually, it is still going, but it sat for a around 10 mins with no feedback...
Wait a minute... 16:22
moritz Bowlslaw: I think you can scrap the react { whenever .. } thingy
just do 16:23
jkramer moritz: Ven` I don't really need/want to. :) I was just trying to think of a nice way to say "if any of $x, $y or $z equal 5, set them to 10" or something like that
moritz my $response = $ua.get(url)
jkramer I guess map will have to do, but it feels wrong to map over 2-3 values in seperate variables :)
moritz jkramer: for $x, $y, $z { $_ = 10 if $_ == 5 } 16:24
Bowlslaw: and you get parallel execution from having a worker pool
jkramer moritz: That's even worse than map :D 16:25
moritz Bowlslaw: but there is another problem: you never close the channel
jkramer: why? I like it :-)