»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
HelpBot[perl6] tbrowder: on my box .lines vs .split for 1 mil-line file shows .split to be 1.590551x faster. If you saw no difference, the way you were measuring is flawed. 00:01
Probably drowned by all those regex option parsing, unless you're excluding those times.
tbrowder: and in this investigation, telling perl 5 to perform encoding made it 1.5x slower. So again, you should be able to see the differences in timing very clearly if you're measuring just the IO: www.reddit.com/r/perl6/comments/6h...s/dixps6s/ 00:03
00:04 astj joined, dubi0us left 00:07 dubi0us joined, zapwai joined
tbrowder my test times are user times as reported by the GNU system 'time' command. they are averaged over three trials, and they are supposed to reflect a real environment shared with other processes. but i'll look at your suggestions, thnx 00:08
00:10 astj left 00:11 dubi0us left
HelpBot[perl6] But the user times includes all the other bits. 00:15
So the comparison is very lopsided. Even if you rename the timings from IO to "some programs", they'd still be lopsided because, excluding IO, you're doing very different things in the two programs. You should measure the time inside the test scripts and print out the times and parse them out of the output instead of using `time` 00:16
HelpBot[perl6] was contemplating a benching system for core recently 00:20
00:20 Cabanossi left
HelpBot[perl6] You just create a small file that has some code in it and it becomes part of the bench suite. Make enough of these and you can bench the entire Perl 6. Make a reliable-enough ruler and you can also add tests to watch for regressions. 00:21
timotimo HelpBot[perl6]: maybe there's a bit of stuff you can steal from japhb's perl6-bench? 00:22
HelpBot[perl6] Where is it? 00:23
00:23 buggable left, Cabanossi joined, buggable joined, ChanServ sets mode: +v buggable
HelpBot[perl6] huggable: bench 00:24
huggable HelpBot[perl6], nothing found
HelpBot[perl6] huggable: bench :is: github.com/japhb/perl6-bench
huggable HelpBot[perl6], Added bench as github.com/japhb/perl6-bench
HelpBot[perl6] Thanks.
00:25 literal_ joined 00:26 lookatme joined
timotimo it has a bunch of microbenchmarks already built-in 00:26
and we used to run them daily on moarvm.org/measurements/
lookatme morning
HelpBot[perl6] \o 00:28
00:30 BenGoldberg joined
lookatme ^_< 00:33
literal_ Is there a way to know the callee of a sub without needing to pass any information? 00:48
01:01 cdg joined
HelpBot[perl6] m: sub foo { bar }; sub bar { callframe(1).code.name.say } 01:03
camelia ( no output )
HelpBot[perl6] m: sub foo { bar }; sub bar { callframe(1).code.name.say }; foo
camelia foo
01:04 cdg_ left 01:05 cdg left 01:10 Actualeyes joined, Actualeyes left 01:12 dubi0us joined
zengargoyle m: sub f { !!! X::NYI.new: feature => &?ROUTINE.name }; f(); 01:13
camelia f not yet implemented. Sorry.
in sub f at <tmp> line 1
in block <unit> at <tmp> line 1
zengargoyle an, nm, one level down. 01:14
zengargoyle thinks it must be bedtime. 01:15
01:16 dubi0us left 01:18 nullcone_ left 01:22 dubi0us joined, astj joined 01:28 astj left 01:38 reino4477 joined
reino4477 hi, how can I use a reserved word as a name of a method? 01:39
01:41 dubi0us left 01:44 ilbot3 left
tbrowder what very different things are being done? 01:46
01:48 ilbot3 joined, ChanServ sets mode: +v ilbot3 01:49 reino4477 left
awwaiid reino4477: what's an example of a reserved word that doesn't work? 01:50
BenGoldberg m: class Foo { method my { 42 } }; say Foo.my; 01:51
camelia 42
BenGoldberg m: class Foo { method self { 42 } }; say Foo.self;
camelia 42
BenGoldberg m: class Foo { method ^strange { 42 } }; say Foo.^strange; 01:52
camelia Too many positionals passed; expected 1 argument but got 2
in method strange at <tmp> line 1
in block <unit> at <tmp> line 1
BenGoldberg m: class Foo { method ^strange(|) { 42 } }; say Foo.^strange; 01:53
camelia 42
01:54 mcmillhj joined 01:55 dubi0us joined 01:57 Actualeyes joined, Actualeyes left 01:58 mcmillhj left 02:00 dubi0us left 02:04 cog_ left, cog_ joined 02:05 dubi0us joined 02:19 noganex_ joined, dubi0us left, pilne left 02:20 ggoebel left 02:22 noganex left 02:30 mcmillhj joined 02:33 ggoebel joined 02:34 mcmillhj left 02:38 mcmillhj joined 02:42 mcmillhj left 02:46 astj joined 02:51 Actualeyes1 joined 02:57 pompomcrab joined 03:05 Actualeyes1 left, Cabanossi left 03:06 Actualeyes joined, dubi0us joined 03:07 Cabanossi joined 03:10 Actualeyes left 03:11 dubi0us left 03:18 geekosaur joined 03:24 literal_ left 03:25 grondilu_ joined 03:28 grondilu left 03:35 dubi0us joined 03:38 kurahaupo left 03:39 kurahaupo joined, dubi0us left 03:43 pompomcrab left 03:44 dubi0us joined 03:47 fatguy joined 03:48 khw left 03:53 dubi0us left 03:59 dubi0us joined 04:03 dubi0us left 04:08 dubi0us joined 04:09 astj left 04:17 astj joined 04:20 Cabanossi left 04:21 astj left 04:22 Cabanossi joined, dubi0us left 04:31 Actualeyes joined 04:51 dubi0us joined
lookatme How can I write action for token like this: `token target { <style1> | <style2> | <style3> }` 04:52
s/action/actions/
04:55 dubi0us left 04:59 wamba joined 05:00 dubi0us joined 05:02 broquaint left 05:05 dubi0us left 05:10 dubi0us joined, Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 05:14 dubi0us left 05:19 dubi0us joined 05:20 ufobat joined 05:23 dubi0us left
ufobat github.com/rakudo/rakudo/commit/40...3adec180bf Zoffix++ 05:27
05:27 raiph joined, raiph left 05:29 dubi0us joined 05:38 dubi0us left 05:44 BenGoldberg left 05:52 stmuk_ joined 05:55 stmuk left
seatek You know, whoever put those matching guesses in error messages in... the ones that say, hey, dummy, maybe you really meant to say "this thing" ... they're a real smart alec. ;) I love those though. The guesses are really good too. 06:01
06:03 titsuki_ joined 06:08 skids left 06:12 dubi0us joined 06:15 astj joined, |oLa| joined 06:16 astj left, astj joined 06:17 astj left, astj joined 06:20 Bucciarati joined 06:21 |oLa|1 joined 06:22 |oLa| left 06:25 domidumont joined 06:26 dubi0us left, |oLa|1 left 06:28 astj_ joined 06:29 fatguy left 06:30 |oLa| joined, domidumont left 06:31 astj left, dubi0us joined, domidumont joined 06:32 zapwai left 06:35 dubi0us left 06:42 linuksz joined 06:45 dubi0us joined 06:47 gfldex_ left 06:48 wamba left 06:51 reino4477 joined 06:52 reino4477 left 06:53 linuksz left 06:54 dubi0us left 06:59 |oLa| left, dubi0us joined 07:04 dubi0us left, abraxxa joined 07:08 melezhik joined 07:09 robertle left, dubi0us joined 07:13 dubi0us left 07:14 jamesaxl joined, cschwenz joined 07:18 dubi0us joined 07:20 Cabanossi left 07:22 Cabanossi joined 07:23 dubi0us left, cosimo left 07:25 cosimo joined 07:28 dubi0us joined
Geth ecosystem: 52ba465c8d | seatek++ (committed using GitHub Web editor) | META.list
Update META.list
07:31
07:32 dubi0us left 07:35 wamba joined, parv joined 07:42 dubi0us joined 07:44 reino4477 joined
reino4477 how can I create my own exception? 07:44
parv reino4477 is Exceptional 07:47
07:47 dubi0us left
reino4477 parv: tnx 07:48
lookatme m: my class FE is Exception { }; FE.new(message => "123").throw 07:49
camelia FE exception produced no message
in block <unit> at <tmp> line 1
lookatme m: my class FE is Exception { }; FE.new("123").throw
camelia Default constructor for 'FE' only takes named arguments
in block <unit> at <tmp> line 1
lookatme m: my class FE is Exception { }; FE.new(msg => "123").throw
camelia FE exception produced no message
in block <unit> at <tmp> line 1
lookatme m: my class FE is Exception { has $.message; }; FE.new(message => "123").throw 07:50
camelia 123
in block <unit> at <tmp> line 1
07:53 reino4477 left, reino4477 joined 07:54 reino4477 left
parv Does #perl6 get rakudo build (nearly?) everyday? 07:57
07:59 astj_ left 08:00 Actualeyes left 08:04 alnewkirk joined
lookatme IDK :) 08:06
probably not
08:07 rindolf joined 08:14 lowbro_ joined
parv hunh. everytime i notice the revision in rakudo-moar output, it /seems/ to be the new one i had installed some days/weeks/months ago. 08:15
08:15 dubi0us joined 08:18 g3 joined 08:20 dubi0us left 08:25 dubi0us joined 08:29 dubi0us left 08:30 zakharyas joined 08:34 reino4477 joined
reino4477 I can't find any info about the difference between subroutines and methods, where can I find it? 08:34
08:35 dubi0us joined
lookatme reino4477, check out method document :docs.perl6.org/type/Method 08:43
08:44 dubi0us left
melezhik Hi! How to declare mandatory parameter in sub MAIN ? 08:44
lookatme and also sub: docs.perl6.org/type/Sub
melezhik, add ! after parameter
melezhik thanks. lookatme: 08:45
always forget the syntax ))
lookatme more practice :)
melezhik sure
and the syntax will be "in fingers" 08:46
Geth doc: 9e46c5c274 | (Jan-Olof Hendig)++ | 3 files
Fixed a few broken links. AlexDaniel++
08:51
reino4477 tnx 08:54
08:55 reino4477 left 08:59 pmurias joined 09:01 rindolf left, rindolf joined 09:03 reino4477 joined
reino4477 how can I specify a variable of type Hash <Str Str>? 09:04
or a return type of a method
09:05 lizmat left
reino4477 my Hash<Str Str> a; ----> doesn't work 09:05
moritz m: Hash{Str, Str}
camelia 5===SORRY!5=== Error while compiling <tmp>
Autovivifying object closures not yet implemented. Sorry.
at <tmp>:1
------> 3Hash{Str, Str}7⏏5<EOL>
09:06 konsolebox left
moritz hmm 09:06
m: my Str %h; say %h.^name
camelia Hash[Str]
moritz oh
m: say Hash[Str, Str]
camelia (Hash[Str,Str])
lookatme reino4477, perl6 use `[]` for type parameter 09:08
reino4477 tnx 09:09
lookatme There are many perl6 tutorial : perl6.org/resources/ 09:12
reino4477
reino4477 by the way, what's the most common way to specify a return value syntax a) --> b) of c) returns ?
09:13 dubi0us joined
reino4477 there're 4, which is usually used? 09:13
geekosaur "returns" is deprecated
--> is the preferred one
lookatme I prefer `-->`
reino4477 it works without a comma before it and with it too, should a command be used? 09:14
geekosaur I still think --> is in the wrong place especially since it's visually claiming to take part in MRO when in fact it doesn't
reino4477 sub s1(Str --> Int) {}; and sub s2(Str, --> Int) {}; 09:15
geekosaur: what do you use instead of the -->? 09:16
geekosaur we don;t use the comma and I would be wary of that syntax being used for something else in the future
09:16 bjz joined 09:17 dubi0us left
lookatme m: say (Str, --> Int) ~~ (Str --> Int) 09:17
camelia 5===SORRY!5=== Error while compiling <tmp>
Confused
at <tmp>:1
------> 3say (Str,7⏏5 --> Int) ~~ (Str --> Int)
expecting any of:
statement end
statement modifier
statement modifier loop
geekosaur I did not say I don't use --> since --> has been legislated as The Way. I just think that was the wrong decision'
lookatme m: say :(Str, --> Int) ~~ :(Str --> Int)
camelia True
lookatme current they are equivalent 09:18
09:21 reino4477 left 09:22 dubi0us joined 09:23 lizmat joined 09:26 dubi0us left 09:27 parv left 09:31 lookatme left 09:32 dubi0us joined 09:36 dubi0us left 09:37 ptolemarch left 09:41 dubi0us joined 09:45 dubi0us left 09:51 Cabanossi left 09:52 Cabanossi joined 09:53 bjz left 09:55 dubi0us joined 09:56 bjz joined
Geth doc: 88cd831a92 | (Jan-Olof Hendig)++ | doc/Type/IO.pod6
Fixed broken link
09:59
doc: 9baa6797ae | (Jan-Olof Hendig)++ | 2 files
Fixed a few indentation problems
09:59 dubi0us left 10:05 dubi0us joined
HelpBot[perl6] "returns" isn't deprecated. TimToady wanted to deprecate it in 6.d, but there's resistance to that. 10:08
10:09 TEttinger left 10:14 dubi0us left
Geth doc: a5904cb70e | (Jan-Olof Hendig)++ | 2 files
Fixed a bunch of broken links. AlexDaniel++
10:16
HelpBot[perl6] .tell parv you should only ever use releases and not "build every day" off a random commit. Non-release commits aren't as thoroughly tested and it isn't uncommon for them to have some regressions. People who build them are like people who do 30 over speed limit: they think they know better and would like to get (bugfixes) fast, but eventually they'll come across a untested pothole that wipes all their data. 10:19
yoleaux HelpBot[perl6]: I'll pass your message to parv.
10:19 dubi0us joined
timotimo i ... i'm like that :o 10:22
10:24 dubi0us left 10:27 broquaint joined
Ulti gist.github.com/MattOates/0c051cb3...a42ef96b78 <--- is the difference in perf here simply the number of assignments required? 10:31
I assume P5 is doing some kind of gross direct writing to the same SV with low level C style block memcpy and P6 is creating whole new Buf objects? 10:32
HelpBot[perl6] Ulti: I'd guess assignments are the least expensive thing there. It's fewer going out to the file and reading chunks from it. 10:33
Ulti that would explain the very minimal difference between the read buffer size on P5 and the almost linear relationship in time with P6
10:33 dubi0us joined
Ulti HelpBot[perl6]: P5 is barely affected though with what is logically the same "speed up" 10:34
HelpBot[perl6] timotimo: at least you hang in #perl6-dev. I've seen people rock a 2017.04.02-\d+ rakudo so they definitely had some sort of bug there.
Ulti: it gets 30% faster 10:35
10:35 lowbro left
HelpBot[perl6] would like to see such "barely" in Rakudo :) 10:35
timotimo moar definitely does create new Buf objects for each read there 10:36
10:37 dubi0us left
Ulti the Rakudo relationship is the multiplier for difference in length /8 in a linear relationship o____O 10:37
HelpBot[perl6] It's worse than that. $*IN by default is in utf8 mode, so you're also filling up the decoder for no reason 10:38
Ulti: but your code is not a 1-to-1 relationship to Perl 5's version
Ulti well its as close as you can get without NQP
afaik? 10:39
HelpBot[perl6] No
Ulti orly
HelpBot[perl6] You're reading in char mode basically. Also you have phaser support on that while
jnthn Pretty sure it can see there's not phasers, though. :)
Ulti surely the phaser support is a constant not linearly worse
HelpBot[perl6] Ulti: try: perl6 -e '$*IN.encoding: Nil; $ while my $buf = $*IN.read: 1024' 10:40
Yes, your major loss is in filling decode
r
Ulti k k
jnthn It's assuming you might do mixed mode binary/text because the encoding is set by default, though, as HelpBot[perl6] said
And that implies 2 extra copies/allocations each time
HelpBot[perl6] Ulti: ok, never mind the `$ while` bit, but set $*IN.encoding 10:41
Ulti HelpBot[perl6]: even worse real 0m20.516s
HelpBot[perl6] Ulti: what perl6 version are you using?
Ulti did it a second time for IO cache effects and it went up to 21.8
Rakudo version 2017.06-103-g2a8d1e7ce built on MoarVM version 2017.06-29-ga51ba620 10:42
also Im not saying this is suddenly slower
HelpBot[perl6] Ulti: this one time perl6 -e '$*IN.encoding: Nil; while ( my $buf = $*IN.read(1024) ) {}'
Ulti: is that the one you tried?
Hard to believe it's slower, considering it should bypassing doing a whole ton of work :/
jnthn It bypasses work, but note that it also does no buffering 10:43
HelpBot[perl6] ah
Ulti HelpBot[perl6]: that last one 18.774
HelpBot[perl6] right
Ulti which is still slower than my original while :S
jnthn In binary mode, the .read and .write you get are basically going straight down to read/write calls 10:44
It's not unlikely that a profile would show up some more useful info
And probably some optimization opportunities 10:45
HelpBot[perl6] Ulti: you should get better perf with switched encoding when reading 0x100000 and larger chunks :)
Ulti oh adding the profiler made the one liner wig out
HelpBot[perl6]: yeah I mean 1024 is like 1980s level OS buffer sizes 10:46
HelpBot[perl6] As for seeing phasers. I just went off this: www.reddit.com/r/perl6/comments/6h...s/dixps6s/ 10:47
Where `$ while 1` is much faster than `loop {}`1
well a bit faster
Ulti: how come you're benching IO BTW? 10:48
You're like the 3rd or 4th person I see doing it this week. Comparing to Perl 5 in all cases.
Ulti because everything else is fast enough >;3
P5 has unreasonably fast IO for a scripting language is the main problem with that comparisson too 10:49
jnthn True, though we're already about matching it in at least the case of reading lines in UTF-8
10:49 travis-ci joined
travis-ci Doc build errored. Jan-Olof Hendig 'Fixed a few indentation problems' 10:49
travis-ci.org/perl6/doc/builds/248718962 github.com/perl6/doc/compare/9e46c...aa6797ae0a
10:49 travis-ci left
Ulti Ruby for example takes Pi seconds :D to 3 sigfig anyway 10:52
Geth doc: 1f2799d524 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Language/functions.pod6
Amend %*SUB-MAIN-OPTS docs

Since the dynamic no longer exists by default and needs a `my`ing
10:53
10:54 travis-ci joined
travis-ci Doc build passed. Jan-Olof Hendig 'Fixed a bunch of broken links. AlexDaniel++' 10:54
travis-ci.org/perl6/doc/builds/248723785 github.com/perl6/doc/compare/9baa6...904cb70e11
10:54 travis-ci left
Ulti so yeah 5x slower than the latest Ruby in a contrived weird IO use case, that really is not that bad given Ruby itself was probably at that level not long ago at all certainly whilst everyone was doing Rails 10:56
Geth specs: 2eb5cd1e7a | (Zoffix Znet)++ (committed using GitHub Web editor) | v6d.pod
Add reminder to toss $*MAIN-ALLOW-NAMED-ANYWHERE

backwards compat support in 6.d
10:57
10:57 araraloren joined
araraloren evening 10:58
HelpBot[perl6] morning
10:58 donaldh joined
Ulti HelpBot[perl6] but to more directly answer your question the sorts of files that are routine size for me are about 100GB, so a factor of 45x just to shovle that through a script is unfortunately for my professional use case almost the only thing that matters. The correct solution is for me to write some P6 bindings to bioinformatics IO libraries, which is the solution all other languages really have. I just wanted to know if its feasible to write these so 11:03
11:04 grondilu_ left
Ulti like even in P5 its all XS to libraries that manage the major binary formats 11:04
I think thats kind of correct anyway it means you have code with a similar API across languages which is better for the user anyway 11:05
lizmat just committed github.com/perl6/doc/commit/a72b15...e6685f98d8 11:07
11:13 dubi0us joined
HelpBot[perl6] lizmat++ # I didn't even thing about using assignment doh 11:13
weird. geth receivwd that commit but there's no more output in the log. it just exited :/ 11:16
.o( killed by OS? ) 11:17
11:17 Geth joined, ChanServ sets mode: +v Geth
HelpBot[perl6] feels like a l337 haxor shelling into the bot's server and restarting it from a phone while riding on the bus :) 11:18
11:19 rindolf left
tbrowder ref my r/w tests, i should rename them something like "real world" tests. i made them because reading and processing large data files is a large part of the work fllow for such things as fea and genomics among other things. real world perl users want to see how p6 is stacking up to p5. but i will refine them to show ascii vs utf8 for each of p5 and p6. 11:19
Geth doc: a72b152868 | (Elizabeth Mattijsen)++ | doc/Language/functions.pod6
Hopefully improve SUB-MAIN-OPTS doc
11:19 dubi0us left
HelpBot[perl6] tbrowder: a better refinement would be testing equivalnt programs :/ 11:21
11:21 Khisanth joined
tbrowder why are they not equivalent? 11:22
HelpBot[perl6] It's fine to publish data that shows P6 is 30x slower than Perl 5, but not if your Perl 6 script is doing different work
tbrowder ok, i'm not smart enough to see what you mean, please elucidate 11:23
HelpBot[perl6] tbrowder: from what I recall yesterday, you were also measuring a bunch of options parsing using regexes in perl 6 (where "real world" code would likely use .starts-with/.contains) and I didn't see any option handling in your Perl 5 script at all
11:24 dubi0us joined
tbrowder the option handling was only to decide which read method is to be used. it 11:25
HelpBot[perl6] Yes, but you're still including the time to run it in your measurementd
HelpBot[perl6] gives up trying to explain the issue with that bench setup
tbrowder it is only used once. liz and timotimo suggested that early on. i can't believe it is significant, but it is easily removed. 11:26
[Coke] sums up: 'everything takes time' and 'only compare like to like'. 11:27
"can't believe" doesn't enter into benchmarking.
that's the whole point of benchmarking.
11:27 dubi0us left
[Coke] to measure the actual thing. 11:27
HelpBot[perl6] tbrowder: yesterday you said .split vs .lines and making Perl 5 do encoding had no difference too, yet I showed you 1.5x-2.1x differences. Why measure anything if you "can't believe" and think a 1.5x diff is not significant :/ 11:29
AlexDaniel dogbert2: I think solving the <a><a> issue will get rid of most of the warnings
El_Che In case someone missed it: fayerplay.com/perl-is-schrodinger_state/ <- kind of harsh 11:30
HelpBot[perl6] And I also quoted jnthn++'s measurements for the same task you're benching and his results are 1.24x slower, whike yours show 20x slowr
El_Che good timing! 11:31
tbrowder you showed me results of yours or jnthn's tests, i still maintain mine are valid rw tests, not micro-statement measurements
HelpBot[perl6] *sigh*
11:32 dubi0us joined
tbrowder don't sigh, show me the code 11:32
HelpBot[perl6] What code?
tbrowder his tests
HelpBot[perl6] I told you you're testing non-equivalent scripts amd you dismiss the differences as not mattering 11:33
11:33 wamba left
tbrowder ok, fix my code 11:33
[Coke] he's given you several concrete items that can be fixed.
HelpBot[perl6] ok, hire me. $150/hour
[Coke] well, s/fixed/changed/ 11:34
El_Che HelpBot[perl6]: I see your point reading the backlog
HelpBot[perl6] El_Che: more precise, my point is we shouldn't give more ammunition to people who articles you just posted who scream Perl 6 is non-optimizeable. 11:35
tbrowder i don't think i could change anything to satisfy him, but i'll tweak a bit...
HelpBot[perl6] And it's fine if the 20x slower mark is the real data, not wildly different scripts 11:36
11:36 dubi0us left
El_Che HelpBot[perl6]: It's not about that. People will read it anyway, so it's good to know what was written 11:36
tbrowder i don't agree with "wildly"
HelpBot[perl6] tbrowder: you also say 2.1x speed difference is not significant, so what does it matter? 11:37
Hell, show data that says we're 100x slower. I won't have beef with that, but show accurate data 11:38
tbrowder i didn't say that, i don't use that way of comparing times
ok, no more wasted bandwidth, PRs welcome 11:40
bye
11:43 travis-ci joined
travis-ci Doc build errored. Zoffix Znet 'Amend %*SUB-MAIN-OPTS docs 11:43
travis-ci.org/perl6/doc/builds/248733623 github.com/perl6/doc/compare/a5904...2799d524c1
11:43 travis-ci left 11:45 HelpBot[perl6] left 11:46 robertle joined 11:47 dubi0us joined 11:51 Cabanossi left, seatek left, dubi0us left
dogbert2 AlexDaniel: all ACCEPTS links here are broken, wonder where the author intended them to point: docs.perl6.org/type/ComplexStr#method_ACCEPTS 11:52
yoleaux 00:45Z <AlexDaniel> dogbert2: I've updated everything. github.com/perl6/doc/issues/561
11:52 Cabanossi joined
dogbert2 yeah, have removed a bunch of broken links already 11:52
AlexDaniel dogbert2: Numeric#ACCEPTS, Str#ACCEPTS and no link respectively 11:53
11:53 bjz left
dogbert2 AlexDaniel: cool, all Allmorphs have this problem 11:54
11:54 travis-ci joined
travis-ci Doc build errored. Elizabeth Mattijsen 'Hopefully improve SUB-MAIN-OPTS doc' 11:54
travis-ci.org/perl6/doc/builds/248736639 github.com/perl6/doc/compare/1f279...2b1528684e
11:54 travis-ci left 11:55 rindolf joined
AlexDaniel well, it's #method_ACCEPTS, but you get the point :) 11:56
11:57 dubi0us joined 12:00 cschwenz left
Geth doc: 32b2ebcba5 | (Jan-Olof Hendig)++ | 4 files
Fixed even more broken links. AlexDaniel++
12:04
12:06 dubi0us left 12:15 araujo left 12:17 lambd0x joined, raschipi joined
timotimo at least the create-large-file.p6 thing doesn't actually get faster when changing the encoding to ascii, which means that the utf8 encoder fast path (if there is one) is rather good! 12:21
lambd0x Hi there everyone! I wanted to know wether someone has already tried to extract in xml, txt, obj and pdf file in perl6. I was looking for it yesterday in Perl6 and could only find a way to create PDF files, not to parse it. In addition, in Perl, there are some modules, but articles regarding it are from 7 years ago and even back then, the authors reported not been able to achieve what they wanted (parsing 12:23
txt from a pdf). Nevertheless I was looking for a pure perl6 solution, would anyone have some experience with this? Thx in advance.
12:23 araujo joined
zengargoyle notes after backloging that all 3 of my modules are probably subtly broken re encoding and probably only work on ascii data. :/ 12:25
timotimo which modules are those? 12:26
FWIW, when i encode $str x 50 and only call write 1/50th of the time instead, the whole program finishes in 0.5s 12:27
zengargoyle Search::Dict (binary search on dictionary files), Text::Fortune (fortune files), and Algorithm::Trie::libdatrie (a trie library binding).
timotimo this is for a 382 megabytes big file
ah, hmm 12:28
zengargoyle the first two were mostly 'ports' from p5 modules as inspiration.
the third was just playing with NativeCall and library building in a dist. 12:29
Ulti lambd0x: and you've checked out the ecosystem modules related? github.com/p6-pdf/PDF-p6
lambd0x Ulti: yes, but it looks like a pdf management only module (create, update, etc..) 12:33
12:33 wamba joined
timotimo it looks like it can parse, too, though? 12:35
like, you open the file and you get something vaguely object-graph-y out of it? 12:36
> $doc<Root><Pages><Kids>[0]<Contents>.decoded
BT /F1 24 Tf 100 250 Td (Hello, world!) Tj ET
12:38 araraloren_ joined
Geth DBIish: melezhik++ created pull request #94:
An example how to pass dbname as file for qqlite
12:39
12:40 jamesaxl left 12:41 araraloren left 12:45 linuksz joined
linuksz is here someone using Arch Linux? 12:45
raschipi Many people use ARCH LINUX too. 12:46
linuksz how do you install modules? from AUR? of using zef? 12:47
raschipi No idea.
zengargoyle probably zef. :)
12:48 travis-ci joined
travis-ci Doc build passed. Jan-Olof Hendig 'Fixed even more broken links. AlexDaniel++' 12:48
travis-ci.org/perl6/doc/builds/248754850 github.com/perl6/doc/compare/a72b1...b2ebcba50c
12:48 travis-ci left
zengargoyle i think there are some debian people still trying to figure out how to manage packaging of modules. 12:49
12:50 abraxxa left
lambd0x what's the diff between moar and moar-blead as vm? 12:50
timotimo the arch people have this tool that's supposed to install perl6 packages (maybe by creating an arch package for them first?) but it's not up to date with the latest module API
lambd0x: with moar-blead you're running an untested version that can have bugs nobody has found yet
12:50 Cabanossi left
lambd0x timotimo: thx :D 12:50
linuksz there are many packages in AUR, which use alacryd for installing the module to the packaging directory, but alacryd don't work 12:51
timotimo right
12:52 Cabanossi joined 12:54 wamba left 12:56 linuksz left 13:00 mcmillhj joined 13:02 donaldh_ joined 13:03 donaldh left, donaldh_ is now known as donaldh 13:12 jamesaxl joined 13:20 skids joined 13:27 cschwenz joined 13:29 cschwenz left 13:36 astj joined 13:37 nicq20 left 13:40 nicq20 joined 13:41 pmurias left 13:45 astj left 13:47 lucasb joined 13:50 Cabanossi left 13:52 Cabanossi joined 13:56 abraxxa joined 14:13 abraxxa left 14:20 Cabanossi left 14:22 Cabanossi joined 14:24 bjz joined 14:34 Exodist joined
DrForr_ I'll ask over here as well just in case - --profile seems to be dumping core on a 4GB Ubuntu Linux VM. 14:40
AlexDaniel wasn't it fixed recently? 14:48
DrForr_ This was on rakudobrew from yeterday, doesn't get much more "recently" :) 14:50
jnthn Believe it was fixed in github.com/MoarVM/MoarVM/commit/3d3d0d05df
DrForr_ So it may not have propagated. I was just hoping to get some profile data so I can see when a major slowdown occurred. 14:51
Rebuilding. 14:52
araraloren_ Quick question: How to create actions for token like : `token pair { <style1> | <style2> | <style3> } 14:53
jnthn make ($<style1> // $<style2> // $<style3>).ast 14:54
araraloren_ jnthn, thanks
jnthn Though it might well have been cleaner to use protoregexes instead :)
Another alternative is 14:55
token pair { <style=.style1> | <style=.style2> ... } and then the action is just make $<style>.ast
araraloren_ em, thanks 14:56
14:56 dubi0us joined 14:58 committable6 left
araraloren_ I will try to make a protoregex. 14:58
DrForr_ Rebuilt, testing.
14:59 committable6 joined, ChanServ sets mode: +v committable6 15:00 dubi0us left, dubi0us joined 15:05 dubi0us left 15:06 Cabanossi left 15:07 Cabanossi joined
DrForr_ Dumping core after about 3 lines, just like last time. May not have actually picked up moarVM changes... 15:07
15:08 dubi0us joined 15:12 dubi0us left 15:27 AlexDaniel left
ufobat in perl5 / Moose there is a around 'methodname' => sub { $orig = shift; $self = shift; ... } is there something similar in perl6? 15:32
ugexe m: proto method foo(|) { say "before"; {*}; say "after" }; multi method foo($a) { say $a }; foo(100) # kinda the same 15:33
camelia 5===SORRY!5===
Undeclared routine:
foo used at line 1

Other potential difficulties:
Useless declaration of a has-scoped method in mainline (did you mean 'my method foo'?)
at <tmp>:1
------> 3proto method7⏏5 foo(|) …
ugexe m: proto sub foo(|) { say "before"; {*}; say "after" }; multi sub foo($a) { say $a }; foo(100) # kinda the same
camelia before
100
after
ufobat i want do to this in a role that i add with does at runtime 15:34
will try it :D thx ugexe
ugexe you could probably use something like `multi whatever(|c) { ...; nextsame(|c) }`
15:35 cdg_ joined
ugexe `multi whatever(|c) { ...; my $val = [next|call]same(|c); say $val; ...; }` 15:35
15:38 domidumont left 15:40 domidumont joined 15:42 ptolemarch joined 15:43 kyan left
Geth doc: d75b0ea6d5 | (Jan-Olof Hendig)++ | doc/Language/unicode.pod6
Fixed broken link
15:56
15:56 lichtkind left
ufobat ugexe, what is c in this example? a constant? could i retrive values from this c? 15:58
16:00 lowbro_ left
Geth doc: 6372a29881 | (Jan-Olof Hendig)++ | doc/Language/quoting.pod6
Fix more broken links
16:02
16:03 khw joined 16:05 Cabanossi left 16:07 Cabanossi joined 16:09 lichtkind joined, domidumont left
DrForr_ Maybe the emulation bit has flipped on my laptop... 3 minutes for a test suite is annoying. 16:14
16:14 pompomcrab joined
raschipi ufobat: It's a capture 16:19
16:20 cosimo left 16:28 cosimo joined, ramortegui joined
ufobat raschipi: thank you! 16:32
16:34 domidumont joined 16:35 dubi0us joined, dubi0us left 16:36 robertle left 16:41 dubi0us joined
raschipi ufobat: The 'signature' and 'capture' docs are required reading. 16:42
16:42 donaldh left 16:46 dubi0us left 16:47 dubi0us joined 16:52 dubi0us left, travis-ci joined
travis-ci Doc build errored. Jan-Olof Hendig 'Fix more broken links' 16:52
travis-ci.org/perl6/doc/builds/248844773 github.com/perl6/doc/compare/d75b0...72a29881fe
16:52 travis-ci left 17:01 cdg joined 17:02 cdg left, cdg joined, cdg_ left
araraloren_ m: my $c = \(a => 4, "z" => "bcd"); say $c.[0]; say $c.[1]; say $c.<z>; say $c.<a>; 17:03
camelia z => bcd
Nil
Nil
4
17:03 cdg_ joined 17:04 domidumont left 17:07 cdg left
araraloren_ What's difference between `a => 4` and `"z" => "bcd"` in a Capture ?? 17:08
raschipi One is a named argument and the other is a pair in a positional parameter 17:09
17:09 mr-fooba_ joined 17:10 mr-foobar left
raschipi the bareword/string as key is significant in this case 17:10
17:10 lambd0x left
araraloren_ so If I want capture all Pair parameter, should I use *@ instead of *% ? 17:11
raschipi m: my $c = \("a" => 4, z => "bcd"); say $c.[0]; say $c.[1]; say $c.<z>; say $c.<a>;
camelia a => 4
Nil
bcd
Nil
araraloren_ like "a" => "c"
timotimo DrForr_: but profiling works now? 17:12
araraloren_ m: sub f (*%args) { say %args; }; f("a" => "c")
raschipi Now you're talking about signature binding, which is something else
camelia Too many positionals passed; expected 0 arguments but got 1
in sub f at <tmp> line 1
in block <unit> at <tmp> line 1
DrForr_ timotimo: Nope.
araraloren_ m: sub f (*@args) { say @args; }; f("a" => "c")
camelia [a => c]
araraloren_ raschipi, thanks
raschipi np 17:13
timotimo were you able to update your moar sufficiently?
DrForr_ Unknown...
raschipi m: sub f (*%args) { say %args; }; f(a => "c")
camelia {a => c}
araraloren_ I can not use named parameter, they are contain some special letter 17:14
timotimo well, perl6 --version could tell us 17:15
[Coke] whips up a perl 6 script to help figure out various weight goals based on bmi, kilo/stone/pounds, etc.
DrForr_ It's the latest - 'empty out bbs that were killed' is the latest log entry for MoarVM.
raschipi right, I was testing for myself in this case.
timotimo that's the one that fixes profiling, in theory
pompomcrab so i worked as a perl dev 2004-2009 and loved it, moved on to ruby/js, but have been playing with perl6 for the past 6 months. i love it. kudos to everyone involved in the 6 community. p6 dings all my linguistic autistic buttons. tbh i hope p6 could be The Next Big Language. that is all. k thx bai
[Coke] pompomcrab: thanks! 17:16
timotimo cool
DrForr_ No luck so far.
araraloren_ another short question.Can I add a type constraint for `*@` ?
raschipi If you want each pair as a positional, *@ will contain them all. But you should also test **@ and see which one do you prefer when you give it a single list.
timotimo and also +@ 17:17
araraloren_ em, ok
raschipi araraloren_: no, you'll have to test them yourself. But it's possible to throw the "wrong parameter type" exception yourself and people that will use will never know. 17:18
araraloren_ raschipi, em, I got it.
raschipi For people used to perl5, testing a parameter list feels natural 17:20
17:21 pilne joined
araraloren_ raschipi, I am not familiar with perl5 17:21
When I saw perl6, I stopped learn perl5 :) 17:22
jnthn m: sub foo(*@a where all(@a) ~~ Int) { }; foo(1,2,3) 17:24
camelia ( no output )
jnthn m: sub foo(*@a where all(@a) ~~ Int) { }; foo(1,"2",3)
camelia Constraint type check failed in binding to parameter '@a'; expected anonymous constraint to be met but got Array ($[1, "2", 3])
in sub foo at <tmp> line 1
in block <unit> at <tmp> line 1
17:24 mr-fooba_ left
araraloren_ jnthn++ 17:25
samcv interestingly i've actually used my Font::QueryInfo a few times to find out what characters a font supports. it's pretty nice 17:29
17:30 aindilis left
DrForr_ I need to have someone else run this test suite to see if 3min is just me... 17:30
samcv font-query-all("FantasqueSansMono-Regular.ttf".IO)<charset>.grep({'a'.ord ~~ $_ }) 17:31
maybe i should add a convenience function to query if a font supports a certain character though i should probably cache the results maybe so i don't have to query the font a tons of times. though that's simple enough
timotimo DrForr_: linky please? 17:34
is this the perl6 parser one?
17:36 mr-foobar joined, cdg_ left
DrForr_ I don't have it up yet. 17:37
No, it's not.
17:39 cdg joined 17:41 domidumont joined
DrForr_ github.com/drforr/perl6-Format-Lisp 17:43
17:44 |oLa| joined 17:51 Cabanossi left 17:52 Cabanossi joined
timotimo oh, you implemented a complete programming language in perl6 17:54
17:56 mr-foobar left
timotimo how do you run the tests? 17:56
17:58 domidumont left
DrForr_ perl6 -Ilib t/01-parse-text.t # that's it. 17:58
And there's no language backing it yet, I'm just on the parser stage.
It's very much unoptimized, but having to wait for 3 minutes for a test suite to run is really cramping my style. 17:59
17:59 bjz left, mr-foobar joined 18:00 mr-fooba_ joined 18:04 mr-foobar left, robertle joined 18:05 seatek joined 18:06 astj joined, bjz joined 18:10 dubi0us joined 18:14 dubi0us left 18:30 AlexDaniel joined 18:33 |oLa| left 18:39 pompomcrab left, literal_ joined 18:43 domidumont joined, setty1 joined 18:51 Cabanossi left, linuksz joined
linuksz i have an array of objects. all objects has a $.time variable. i want to sort the array by the objects' $.time variable. is there any way to do that? 18:52
18:53 wamba joined, Cabanossi joined
geekosaur @a.sort( { $^a.time cmp $^b.time } ) ? 18:54
AlexDaniel hm, what about .sort: { .time }
raschipi I suggest .sort({ .time }) to bridge this divide. 18:56
geekosaur looks like it should work, yes 18:57
linuksz now trying them.
geekosaur checking arity might be a bit of a surprise...
jnthn tends to write it .sort(*.time)
AlexDaniel yea
jnthn Note that it returns the sorted elements
Use @a.=sort(*.item) to do it in place 18:58
18:58 dubi0us joined
raschipi geekosaur: are you aware of other languages that check arity like this? 18:59
geekosaur most distinguish them by something more than arity in my experience 19:01
19:03 dubi0us left
geekosaur it has the feel of ancient C varargs abuse, but (a) I'm not sure moderns know stuff that ancient to be worried about it (b) it was (K&R, even) C, so "arity" wasn't really a thing, making it much more fragile than it might otherwise be 19:04
raschipi It's overloaded on the arity of the first argument. It's a well stablished pattern. 19:06
19:07 xinming_ left 19:08 MasterDuke joined 19:12 sena_kun joined
sjn o/ 19:13
sena_kun o/
raschipi oi, sjn
sena_kun m: my @a = 1,2,3; say (@a xx 3).flat;
camelia (1 2 3 1 2 3 1 2 3)
19:14 kybr joined
moritz I really enjoyed this rant on (among other things) message brokers: programmingisterrible.com/post/1623...th-in-half 19:15
sena_kun m: my @a = 1,2,3; (6,6,6,6,6) Z~ (@a xx *).flat; 19:16
camelia Potential difficulties:
Useless use of Z~ in sink context
at <tmp>:1
------> 3my @a = 1,2,3; (6,6,6,6,6) 7⏏5Z~ (@a xx *).flat;
sena_kun Wow.
AlexDaniel wow what?
19:17 cdg left
sena_kun I thought (@a xx *).flat should fail, but it just did what I wanted. 19:17
sjn m: subset Filename of Str where { *.IO.e // die "file $_ not found in $*CWD" }; sub MAIN (Filename $in = "in.txt") { ... }; # does not work
camelia Stub code executed
in sub MAIN at <tmp> line 1
in block <unit> at <tmp> line 1
sena_kun Perl 6 is "Wow, cool". :)
timotimo DrForr_: 7.57user 0.56system 0:08.17elapsed 99%CPU (0avgtext+0avgdata 2640112maxresident)k
AlexDaniel what did it do for you, by the way…
m: my @a = 1,2,3; say (6,6,6,6,6) Z~ (@a xx *).flat
camelia (61 62 63 61 62)
timotimo DrForr_: maybe your system is swapping?
AlexDaniel why does it stop on 62?
ah, oops 19:22
zengargoyle goes OH GAWD again as people are still trying to use an app I stopped developing in 2010.
AlexDaniel there are five 6-es… oops…
sena_kun AlexDaniel, I mean the cycling of list.
AlexDaniel sena_kun: how dare you put five 6s, not 6!
sjn Am I being too ambitious with subtypes in my code? ^^
AlexDaniel :)
sena_kun AlexDaniel, ;)
timotimo zengargoyle: people are still trying to use apps development stopped for in 1980 :)
19:22 ramortegui left, Xliff__ joined, baest_ joined
zengargoyle not when the README says: WARNING: You probably shouldn't use this. 19:22
timotimo haha, "probably shouldn't"
raschipi Haha
19:22 Spot___ joined
nicq20 fire 19:22
19:22 FROGGS joined
seatek moritz: that was a great read :) full circle, really ;) 19:22
timotimo a full-circle developer? :D
19:22 PotatoGim joined, Spot___ is now known as Spot__
zengargoyle still works on Debian. only Ubuntu f'd thing up enough to break it on and off. but it's also Gtk2 .... 19:22
19:22 avalenn joined, dubi0us joined
timotimo DrForr_: i'd wager the vast majority of time is spent precompiling Grammar.pm6 19:23
i'm profiling the compile thereof now
zengargoyle and GNOME. i should have never ever gotten into making a GUI app.
19:25 dubi0us left
zengargoyle it's trickled down to about one burst of emails every 6 months or so. 19:25
timotimo cool, only 1.7 megs of profile html file :S
19:25 epony left
pilne my quandry lies in that my interests lie in game logic/ai (as a hobbyist programmer) and would like to deploy to the android store, or as a webapp, but i smeggin hate gui stuffs... and i hate having to work outside of perl6, like, i go and work on rosetta code for perl6 to remind myself how fun coding is these days, everything else feels so... akward now lol. 19:26
timotimo fascinating, 50% time spent in GC
77% of inclusive time spent in mergesubstates 19:27
zengargoyle pilne: have you tried /r/dailyprogrammer? i should start doing that again. 19:28
pilne i haven't run outta fun on rosetta yet, but i'll definitely check it out zengargoyle
timotimo the program spends most of its time freeing up almost exactly half the nursery for the next run, then it shifts its behavior by going up from 7.5k gen2 roots to 44k gen2 roots and freeing 0% of the nursery each GC run 19:29
pilne as someone who used to love python's readability, ruby's "magic", and is always (usually unecesarily) worrying about multi-core-capable, perl6 just "gets it right"
19:29 dubi0us joined
timotimo i.e. catastrophic behavior 19:29
full GCs go up to about 1 second
pilne that does sound like something went charlie-foxtrot on your
s/your/you 19:30
timotimo coldfusion?
pilne cluster fuck (:
anyone ever built perl6 in termux?
timotimo termux? i only know tmux 19:31
pilne it is nifty, it's a little distro within an app.. that doesn't require a rooted phone 19:33
also have gnuroot-debian to mess with too
19:33 dubi0us left 19:39 dubi0us joined
timotimo DrForr_: you read my stuff? 19:42
19:44 dubi0us left, konsolebox joined 19:45 user3 joined
user3 I'm new to perl 6. Someone gave me this code to print all files recursively in the current directory. How can I modify it to print only the files with the extension .txt 19:46
say -> $p = $*CWD { $p.f ?? $p !! dir($p)>>.&?BLOCK.Slip }()
evalable6 (exit code 1) Failed to get the directory contents of '/home/bisectable/git/whateverable/all-modules/Tux/CSV/csv-rust-qckrdr': Failed to open dir: 2
in block <unit> at /tmp/6Q5N6Oz9GX line 1
user3 Other question: how can I post code without having it evaluated automatically? 19:47
19:47 rindolf left
raschipi user3, evalable6 will detect Perl6 code and run it, so you can't avoid it. 19:48
user3 # say -> $p = $*CWD { $p.f ?? $p !! dir($p)>>.&?BLOCK.Slip }()
ahah i just defeated evalable6 :-P
19:48 rindolf joined
user3 :-P :-P :-P 19:49
:)
by the way, the code above works just fine 19:50
19:50 Cabanossi left
raschipi Then we need to go and run code evalable6 could run for us. 19:50
AlexDaniel well, evalable does this only if you start your message with “say” :)
timotimo say so if True 19:51
user3 I tried to add test => / txt$ / in the code above but that did no good
lucasb say it isn't so
raschipi say {it isn't so}
evalable6 raschipi, Full output: gist.github.com/d945ffca0c07fe40e4...f49093ceca
(exit code 1) 04===SORRY!04=== Error while compiling /tmp/bEo3rZnNQW
Prefix …
raschipi user3: you need grep 19:52
user3 in particular i tried to replace $p.f by ($p.f && !~~ /\.txt$/)
19:52 Cabanossi joined
moritz $p.f && $p !~~ /.../ 19:53
user3 i also tried ($p.f && $p.extension !eq '.txt')
AlexDaniel yeah, and only if your message looks like code… :)
FROGGS I thought you need to filter the result of dir($p)
user3 yes 19:54
19:54 dubi0us joined
user3 but I dont quite understand the code above 19:54
it's too advanced for me at this stage
FROGGS your own or the suggestions?
user3 someone gave me this code
FROGGS -> $p { $p.f ?? $p !! dir($p)>>.&?BLOCK.Slip }($*CWD) 19:55
timotimo DrForr_: it'd probably cause the code to be wrong, but if i replace all | with || in token TOP Grammar.pm6 will finish compiling in about 15 seconds rather than 95
FROGGS this is the same
(basically)
timotimo well, 97 really
ohai FROGGS
FROGGS also this: sub foo ($p) { $p.f ?? $p !! dir($p)>>.&?BLOCK.Slip }; say foo($*CWD)
hi timotimo 19:56
user3: do you get what the last shown example does?
user3 FROGGS: i tried it, prints nothing
FROGGS it print a lot for me... 19:57
prints*
user3: I'm talking about the example with the foo subroutine
user3 oops it works now
AlexDaniel whispers “Rakudo::Internals.DIR-RECURSE” 19:58
19:58 dubi0us left
user3 but how to I clean lyfilter out .txt 19:58
FROGGS -> $p { } # <--- this is an anonymous sub btw, with a parameter $p
user3 cleanly
* cleanly filter out .txt 19:59
yes
Geth doc: 9a369c76c8 | (Moritz Lenz)++ | doc/Language/regexes.pod6
Explain s[...] = replacement form of substitution
lucasb m: say < 1.foo 2.txt 3.bar 4.txt >.grep(*.ends-with('.txt')) 20:00
camelia (2.txt 4.txt)
20:01 noganex_ left
DrForr_ timotimo: Thank you very much for the comment, doing tat shortly. 20:01
FROGGS this seems to work: sub foo ($p) { $p.f ?? $p !! dir($p)>>.&?BLOCK.Slip }; say foo($*CWD).grep(*.ends-with(".txt") 20:02
does .&?BLOCK make it recurse? 20:03
20:04 dubi0us joined
user3 i've lots of name of the user who gave me this great code 20:04
lol
lost
the name
FROGGS hehe
20:04 domidumont left, bjz left 20:05 MasterDuke left 20:08 dubi0us left
user3 moritz, i just noticed your suggestion. it works. thx 20:10
20:13 dubi0us joined
raschipi moritz: What he talks about in the end of the blogpost, a solution for discovery would something like mDNS, right? The problem with mDNS is that it doesn't work across subnets? 20:15
ugexe m: my $files = -> *@_ { my @d = @_.grep(*.d); grep *.defined, (&?BLOCK(@d.map(*.&dir)) if @d).Slip, @_.grep(*.f).Slip; }; say $files($*CWD).grep(*.extension eq "txt"); 20:18
camelia ("/home/camelia/perl5/perlbrew/perls/perl-5.20.1/lib/site_perl/5.20.1/auto/share/dist/File-ShareDir/subdir/sample.txt".IO "/home/camelia/perl5/perlbrew/perls/perl-5.20.1/lib/site_perl/5.20.1/auto/share/dist/File-ShareDir/sample.txt".IO "/home/camelia/per… 20:19
timotimo DrForr_: you're a tattoo artist?
user3 ugexe, i think you're the one who gave me this code
moritz raschipi: there are many approaches to service discovery
raschipi: I don't know which one(s) the author tried
20:20 noganex joined
ugexe that could be written better but `... with @whatever` gives &?BLOCK the wrong block 20:20
ufobat i want to have a $object as a key of hash, i dont need to retreive the object anymore so its okay thats it is being stringified
i am just afraid that $obj.perl doesnt allway get the same result
moritz but I can really understand his point about the convenience about using a message broker for service discovery; we do that at $work too
ufobat order of a hash or something..
ugexe make your own .perl method? 20:21
20:21 zakharyas left
ufobat in perl5 i would do refaddr() from Scalar::Util 20:21
ugexe i think WHICH is for that
moritz ufobat: you could use an object hash for that, no? 20:22
20:22 dubi0us left
ufobat moritz, I dont know them :( 20:22
but i think .WHICH is faster?
20:23 dubi0us joined
ugexe you would implement .WHICH doing something like hashing all the key/values you want to normalize 20:23
ufobat just reading docs.perl6.org/type/Hash#index-ent...bject_hash
El_Che raschipi: consul is also DNS based and not limited to a subnet 20:24
ufobat i think for my case the provied .WHICH is sufficient :) a different object instance shoud be a different key in the hash
raschipi DNS-SD too. 20:25
20:26 cpage__ joined 20:27 dubi0us left
ufobat i think a object SetHash would be cool, but thats not possible, right? 20:27
moritz my: my %h{Any}; my $key = []; %h{ $key } = 42; say %h.keys[0].perl; # for ufobat
m: my %h{Any}; my $key = []; %h{ $key } = 42; say %h.keys[0].perl; # for ufobat
camelia [] 20:28
20:29 dubi0us joined
ufobat thanks for the help :) i know what to do now :) 20:30
20:30 shadowpaste joined 20:32 literal_ left 20:34 dubi0us left 20:35 travis-ci joined
travis-ci Doc build passed. Moritz Lenz 'Explain s[...] = replacement form of substitution' 20:35
travis-ci.org/perl6/doc/builds/248920240 github.com/perl6/doc/compare/6372a...369c76c881
20:35 travis-ci left, mcmillhj left
awwaiid dear lazyweb: is there a regex replace that returns the value without modifying the var? 20:44
ah, maybe .subst 20:45
20:46 user3 left
FROGGS r: my $a = 'abc'; say S/b/d/ given $a; say $a # awwaiid 20:48
camelia adc
abc
awwaiid fancy
20:49 FROGGS left, Cabanossi left 20:50 jamesaxl left 20:52 Cabanossi joined 20:57 mcmillhj joined 20:59 raschipi left, ufobat left 21:01 dubi0us joined 21:02 mcmillhj left 21:03 literal_ joined 21:04 linuksz left 21:08 cpage__ left 21:09 rindolf left 21:10 cpage__ joined 21:11 dubi0us left 21:12 mcmillhj joined 21:16 dubi0us joined 21:17 mcmillhj left 21:21 Cabanossi left 21:22 Cabanossi joined 21:23 TEttinger joined 21:24 epony joined 21:25 dubi0us left 21:29 mcmillhj joined 21:34 mcmillhj left 21:43 mcmillhj joined 21:47 sena_kun left, tbrowder joined 21:48 mcmillhj_ joined 21:49 mcmillhj left
AlexDaniel .tell moritz clog handles unicode rather poorly nowadays… ¦ appears as ¦ and I don't think this issue existed previously 22:01
yoleaux AlexDaniel: I'll pass your message to moritz.
22:05 dubi0us joined 22:10 setty1 left 22:15 dubi0us left 22:17 mcmillhj_ left 22:18 lucasb left 22:20 dubi0us joined 22:24 dubi0us left 22:29 mcmillhj joined 22:30 dubi0us joined 22:31 literal_ left 22:35 mcmillhj left 22:44 BenGoldberg joined
Geth doc: e2754690c9 | (Jan-Olof Hendig)++ | doc/Type/IO/Handle.pod6
Some formatting adjustments
22:46
22:49 ctilmes left 22:51 Cabanossi left 22:52 Cabanossi joined 22:57 wamba left 23:02 BenGoldberg left 23:20 Cabanossi left 23:22 Cabanossi joined 23:37 travis-ci joined
travis-ci Doc build errored. Jan-Olof Hendig 'Some formatting adjustments' 23:37
travis-ci.org/perl6/doc/builds/248971385 github.com/perl6/doc/compare/9a369...754690c9ba
23:37 travis-ci left 23:51 Cabanossi left 23:52 Cabanossi joined 23:55 astj left 23:58 lichtkind left