»ö« 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.
lookatme morning 00:32
samcv morning lookatme 00:34
Geth doc: fedda5e11b | (Samantha McVey)++ | 2 files
[unicode-grant] Link to UTF8-C8 and NFC Unicode page from IO::Handle

Also fix minor typo on Unicode page.
lookatme samcv, o/ 00:35
samcv hope this page links properly 00:36
samcv i think i've written up my talk's description gist.github.com/samcv/31d52d246999...c2b2b3bf33 i think it looks good. anybody got input? 00:47
hmm says i should have 100 and max 300 works. looks like that's 72 00:50
lookatme samcv++ don't know much about Unicode 00:50
samcv that's my personal goal for unicode in perl 6. that the developer should only need to know the basics. and the rest should be easy to access 00:51
samcv i'm thinking 45 minutes? 20 minutes sounds like too little 00:56
lookatme samcv, They said `Tutorials (up to 180 minutes)` 01:09
samcv idk. how long should it be. you tell me
:P
i'm not sure how long to make it
lookatme Have you read that paper 01:11
act.perlconference.org/tpc-2017-ams...apers.html
samcv yes.. 01:12
180 minutes seems a bit long though
but it says 'up to'
lookatme yeah, ~~ up
samcv so how long do you think I should make it?
lookatme maybe 45 minutes, as you said before, haha 01:13
a lesson about Unicode 01:14
Perl6 Unicode
But I think you should estimate time according your topic, like a lesson prepare 01:16
Sorry about my English :( 01:18
travis-ci Doc build errored. Samantha McVey '[unicode-grant] Link to UTF8-C8 and NFC Unicode page from IO::Handle 01:25
travis-ci.org/perl6/doc/builds/244348827 github.com/perl6/doc/compare/e556e...dda5e11be3
samcv leave me alone travis ;( you just timed out 01:26
samcv cool. got the new flags on the mvm side so you can customize and reverse the sorting of case, diacritics, and letter with the unicode collation algorithm 02:04
samcv hm what arguments would seem good for $*COLLATION.set(primary => 1/-1/0) or maybe primary => More/Less/Same 02:44
though idk how useful More/Less/Same seem?
i mean actually you could supply either. since More/Less/Same really are just 1/-1/0 02:45
lookatme The second one is readable 02:49
But the first one is easy to write ... 02:50
How about make that default argument ? 02:51
Geth gtk-simple: dwarring++ created pull request #79:
fix gtk_simple_use_cairo() as per issue #69
03:02
gtk-simple: 5d0e9df2e4 | (David Warring)++ | lib/GTK/Simple/DrawingArea.pm6
fix gtk_simple_use_cairo() as per issue #69

To get the following to work (display aqua square)
use v6.c; use GTK::Simple; use GTK::Simple::DrawingArea; ... (20 more lines)
gtk-simple: 3ed1531bc4 | (David Warring)++ (committed using GitHub Web editor) | lib/GTK/Simple/DrawingArea.pm6
Merge pull request #79 from dwarring/cairo-callback

fix gtk_simple_use_cairo() as per issue #69
samcv lookatme, yeah the defaults are all 1 03:06
unless you set it otherwise
lookatme Oh. What's the mean of **primary** 03:12
samcv different letters 03:15
secondary is diacritic, tertiary is case
so you will be able to change the sorting of case without effecting the sorting by letter and diacritic for example
or move diacritics before the primary character in the sort instead of them come after 03:16
or you can turn any of the three levels off
fully customizable sort
well maybe not *fully* but as long as you want primary. secondary, tertiary or quaternary(breaking ties with codepoint) 03:17
you can choose any direction enable/disable you wish
lookatme oh, awesome 03:19
Geth gtk-simple: e42501ef73 | (David Warring)++ | examples/18-cairo-draw-handler.pl6
add cairo callback example finalanalyst++
03:20
samcv yeah pretty awesome 03:40
keylet how to split a string like 'string' -> [s t r i n g] 05:43
?
parv str.split( '' ) after guessing it. 05:47
parv hmm ... but not quite ... as there are empty strings at the end; better check the doc 05:51
samcv you want comb keylet 05:53
though they seem to have gone
parv, split('') will give you empty strings at the start and end of the string 05:54
parv fish-slaps self for forgetting "comb". again.
samcv, yup; found that out after looking closely at the output. 05:56
... just goes to show how unfamiliar i still am due to lack of regular non-practice 05:57
oh, wait! that should have been "... lack of regular practice". 06:01
samcv hah. i knew comb did it. and honestly never thought to use split. but makes sense it would "work" 06:04
moritz m: say 'string'.split('').perl 06:07
camelia ("", "s", "t", "r", "i", "n", "g", "").Seq
moritz note that this is likely not what anybody wants (leading and trailing empty strings) 06:08
parv there is layout/css problem with all-in-one perl 6 doc, docs.perl6.org/perl6.xhtml . where should i post a screenshot? 06:10
moritz imgur? 06:11
parv hmm ... would i need an account there? 06:12
samcv moritz, how long and how should the bio be like for submitting a paper for the EU perl conf?
any tips
about to submit mine now
nebuchadnezzar parv: framapic.org/ does not require an account
parv nebuchadnezzar, thanks. 06:13
moritz samcv: maybe a sentence or two? 06:14
samcv: I've given talks at two YAPC::EU's, but I'm not a professional speaker by any account, so take my advice with a grain of salt
nebuchadnezzar Time to go to work :-/ see you
parv hunh. apparently, i can post on imgur sans an account: imgur.com/a/3zDtw 06:15
samcv the more times i type collation (the word), the weirder the spelling of the word seems 06:19
moritz samcv: isn't that the case with most words? :-) 06:32
keylet m: say 'string' ~~ m:g/./ 06:35
camelia (「s」 「t」 「r」 「i」 「n」 「g」)
keylet I don't know if this is too slow, but it works anyway 06:36
lookatme_ m: say "string".comb 06:38
camelia (s t r i n g)
keylet m: say "string".comb.WHAT 06:41
camelia (Seq)
moritz m: (say 'string' ~~ m:g/./)[0].^name 06:46
camelia (「s」 「t」 「r」 「i」 「n」 「g」)
parv is not collecting return value of a sub or a method an error? or, perl 6 would not care either? 06:55
moritz parv: there's an easy way to find out :-)
parv moritz, oy, give me a fish please 06:57
parv turns out calling a value returning sub in void context is just fine w/ rakudo. 07:11
parv is there anything for undefined value besides Nil? 07:19
geekosaur type objects 07:20
m: my Int $x; dd $x
camelia Int $x = Int
parv i meant some value/function that would be undefined. 07:21
... to be returned from a sub.
moritz parv: sorry, was away for a bit; the easiest is to just run a very small, isolated test 07:23
m: sub f() { return 'ignored' }; f(); say "I'm still fine."
camelia I'm still fine.
parv moritz, thanks; no worries. i had done just that. 07:25
geekosaur perl6 has types, there is no untyped undef like perl 5 has 07:29
parv if a class attribute or a simple variable can be defined as "has Int $.x" or my Int $x = 3", then why cannot use the same syntax to return a value from a sub "sub ... { return Int 3 } " (instead of "Int(3)")? 07:30
geekosaur because Int is a type object, the undefined Int value 07:31
it cannot simultaneously be a function callable without parentheses, if you leave off the parentheses you get the type object
parv that (bare Int being a type object) should explain "two terms in a row" message. thanks geekosaur. 07:33
lookatme_ m: sub f() { return Int: 3; }; say f().WHAT; # Why is a List ? 07:34
camelia (List)
lookatme_ m: sub f() { return Int: 3; }; say f().perl; 07:35
camelia (Int, 3)
parv lookatme_, why does "Int: 3" not produce an error while "Int 3" does? 07:37
moritz "Int 3" is two terms in a row, which is a syntax error
geekosaur the colon there is, I think, intended to be an alternative method call (foo.method: parameters). but there is no method to be called so it can't be that. capture perhaps? 07:40
(then "flattened" to a list for some reason) 07:41
lookatme_ m: sub f() { return: Int, 3; }; say f().WHAT; # same
camelia (List)
lookatme_ m: sub f() { return: Int, 3; }; say f().perl; # same
camelia (Int, 3)
geekosaur those two are not doing what you think, and probably not the same thing as the first 07:43
'return:' is a label
m: sub f() { glorp: Int, 3; }; say f().perl; # same
camelia (Int, 3)
lookatme_ geekosaur, yeah, maybe, I just wonder why first one return a List. 07:44
parv could "Int: 3" be "Adverbial pairs (colon pairs)" (docs.perl6.org/language/syntax)? 07:45
geekosaur the colon starts a colon pair, and would be two-terms-in-a-row there 07:46
colon pair is :foo(3) or :3foo or :foo (the latter becoming :foo(True))
lookatme_ parv, no 07:47
parv ok. is there a name for "Int:" syntax so that I could search for that? 07:48
lookatme_ Oh, it's a parameter separator like `,`, but marks the argument to its left as the invocant. 07:50
m: sub f() { Int.return(3) }; say f().perl;
camelia (Int, 3)
lookatme_ But ..
lookatme_ Why I can call a return on Int .. 07:51
geekosaur that was what I was thinking of when I mentioned captures... because I thought that was the only place that was valid
and, also, that question
lookatme_ m: sub f() { 2.return }; say f().perl;
camelia 2
geekosaur and of course searching the source for 'return' is less than helpful :p
lookatme_ OH, return is not only a "sub"(?right), but also a method 07:52
geekosaur welp. looks like 'return' is indeed a method (in Mu)
lookatme_ yeah, that's make sense now 07:53
geekosaur ahah, and its parameter *is* a capture
which is why the invocant syntax works
method return(|) ... 07:54
lookatme_ oh 07:55
pmurias are the encoding we support documented somewhere? I'm looking up what utf8-c is, so that I can implement it for the js backend
geekosaur utf8-c8 doc just got added today
github.com/perl6/doc/commit/e556ea3743 07:56
pmurias the "they will look funny when printed to utf8 file handle" seems suspicious 08:00
parv rants: perl6 doc should replace "undef" with "Nil" already 08:12
pmurias parv: you mean when you are searching for "undef" but mean Nil? 08:16
parv pmurias, no. At least in one example, a comment mentioned "undef" but should there is no such value of function. That specific mention should either be changed to "undefined", "unknown", or "Nil". 08:17
s/but should there is no/but there is no/ 08:18
parv thank you, people. 08:20
see you some some other time.
samcv m: use experimental :collation; <a á A Á ó ø 1 z t ṫ>.collate.say 09:05
camelia (1 a A á Á ó ø t ṫ z)
samcv m: use experimental :collation; $*COLLATION.set(tertiary=> -1); <a á A Á ó ø 1 z t ṫ>.collate.say 09:06
camelia (1 A a Á á ó ø t ṫ z)
samcv nice. 09:06
m: use experimental :collation; $*COLLATION.set(secondary => -1, tertiary=> -1); <a á A Á ó ø 1 z t ṫ>.collate.say
camelia (Á á 1 A a ø ó ṫ t z)
samcv hmm. weird how 1 goes after A there... 09:07
unidump: 1
unicodable6 samcv, gist.github.com/c01e7203aad75947c1...03f1bc4330
samcv unidump a
unidump: a
unicodable6 samcv, gist.github.com/ceee35c0a1871a8516...0e88e97957
lookatme_ m: use experimental :collation; $*COLLATION.set(tertiary=> Less); <a á A Á ó ø 1 z t ṫ>.collate.say 09:09
camelia (1 A a Á á ó ø t ṫ z)
samcv hmm. may have to go back to a more complex method of it 09:10
since from as i can see here. negating both tertiary and secondary can cause primary to be ignored. and make 1 sort after a 09:11
so will have to fix that
samcv as secondary is 33 for both a and 1. and primary is 7231 for 1 and a is 7240. so very close 09:12
bioduds Hi all 11:37
whats up?
bioduds Anyone heard of Tangles? 11:37
Geth perl6.org: 355a391757 | (Tom Browder)++ (committed using GitHub Web editor) | source/resources/index.html
add three new books
11:41
perl6.org: 3c3533cc65 | (Tom Browder)++ (committed using GitHub Web editor) | source/resources/index.html
add status
11:42
Geth perl6.org: 20c21ec18c | (Zoffix Znet)++ (committed using GitHub Web editor) | source/resources/index.html
Reword
12:15
araraloren evening 12:22
moritz hello araraloren 12:24
araraloren moritz, hi, Did you see that code ? 12:31
moritz araraloren: I see lots of code each day, but I don't know if I saw the one you are talking about :-) 12:32
araraloren OH, That's about write parent class attribute: github.com/araraloren/perl6-getopt...n.pm6#L180 12:33
araraloren I can write parent attribute such as `$!value` 12:35
s/can/can not/
moritz why not? 12:45
it's a public attribute, and you can set it through the constructor
perlpilot araraloren: The `$!value` form is private to the class in which it is declared, if you want to access that attribute outside of the class (even via inheritance), you need to use the `$.value` (public) form. 12:48
araraloren moritz, perlpilot thanks, I change it to role now 12:58
zengargoyle reckons no live-stream from YAPC::NA this year, goes back to watching cartoons and reading moritz's book. :) 13:57
perlpilot I was just asking my coworker who is there about live-streaming .... he didn't know, but figuring for the "security" in the building probably not. 13:59
[Coke] lots of 'make xtest' failures in docs. 14:00
xt/trailing-whitespace.t; xt/perl-nbsp.t; xt/space-after-comma.t; xt/examples-compilation.t; xt/aspell.t
zengargoyle irc chatter is a lot of bad wifi, blocked ports, and people having to tether... but they did mention some cameras earlier so i'll hold up hope for eventual recordings. 14:01
[Coke] (some of those may be due to the proc piping bug. :|
El_Che is yapc na being live streamed? 14:13
mscha Quick question: is there a non-destructive version of splice? (I.e., one that leaves the @list alone and returns the result of the splice?) 14:15
perlpilot mscha: that's just a slice
m: my @array = ^10; say @array[5..8]; 14:16
camelia (5 6 7 8)
mscha Yeah, but it gets ugly in more complicated cases.
perlpilot mscha: such as? 14:17
mscha flat @array[^$start], @replacement, @array[($start+$elems)..*]
jnthn Can always just .clone.splice(...) 14:20
jnthn or write a sub of your own that does the "ugly" thing ;) 14:20
mscha jnthn: .clone.splice doesn't make things less ugly (my @b = @a.clone; @b.splice(...); @b). Writing my own sub is of course an option, but that's why I was asking - I was hoping that wasn't necessary. 14:23
jnthn my @b := @a.clone.splice(...) 14:24
Oh wait, splice returns the removed elements 14:25
raschipi mscha: What should it be called? ssplice? 14:28
mscha spliced? 14:33
mscha Or an extra flag to the existing splice routine perhaps. 14:37
eveo m: say +[].^lookup("splice").candidates 14:39
camelia 31
eveo Please no flags :)
raschipi It should probably be implemented as a new routine that calls splice but returns a copy 14:40
eveo In a module... 14:41
m: my @a = ^4; my @b = do with [@a] { .splice: 2, 1, <a b c>; $_ }; dd @a, @b 14:42
camelia Array @a = [0, 1, 2, 3]
Array @b = [0, 1, "a", "b", "c", 3]
eveo m: my @a = ^4; my @b = (.splice: 2, 1, <a b c>; $_).tail with [@a]; dd @a, @b 14:45
camelia Array @a = [0, 1, 2, 3]
Array @b = [0, 1, "a", "b", "c", 3]
eveo m: my @a = ^4; (my @b = [@a]).splice: 2, 1, <a b c>; dd @a, @b 14:46
camelia Array @a = [0, 1, 2, 3]
Array @b = [0, 1, "a", "b", "c", 3]
eveo mscha: ^ I think that's fairly un-ugly
eveo \o 14:48
mscha Well, here's what I'm doing: looping through an array with column 0, 1, ... removed. 14:49
m: my @a = ^5; for ^@a -> $c { say flat @a[^$c,$c^..*] }
camelia (1 2 3 4)
(0 2 3 4)
(0 1 3 4)
(0 1 2 4)
(0 1 2 3)
14:50
timotimo how about a slang that lets us annotate a parameter (at the callsite, not in the sub/method definition) that becomes the return value
mscha Having to use a temporary variable doesn't make that unuglier. :-)
mscha I wouldn't even mind having to use @a[^$c,$c^..*], but that's an array of arrays, so it needs a flat. 14:51
timotimo m: my @a = ^5; for ^@a -> $c { say flat @a[(^*).grep(none($c))] }
camelia (1 2 3 4)
(0 2 3 4)
(0 1 3 4)
(0 1 2 4)
(0 1 2 3)
zengargoyle El_Che: nobody has explicitly stated that there will be recordings, but i'm hopefull. i don't thinke the USPTO location's network is even up to providing decent WiFi, much less live-streaming. :) 14:52
mscha That works too, but is slow for large lists.
m: my @a = ^5; .say for @a.combinations(@a-1) # Hmm, this might work... 14:53
camelia (0 1 2 3)
(0 1 2 4)
(0 1 3 4)
(0 2 3 4)
(1 2 3 4)
timotimo order not guaranteed 14:54
mscha That's true, although Rakudo plays nice at least. 14:55
timotimo yeah, we do have an algo in there that's predictable
keylet can I use type declaration with "has" 15:15
?
m: class A { has $.a = 2; };
camelia ( no output )
keylet m: class A { has Int $.a = 2; }; 15:16
camelia ( no output )
araraloren_ yeah, you can
keylet m: class A { has Int $.a is rw; }; A.a = 'string';
camelia Cannot look up attributes in a A type object
in block <unit> at <tmp> line 1
araraloren_ and Int is a type constraint
A is a type object, you should new a instance
m: class A { has Int $.a is rw; }; A.new.a = 'string'; 15:17
camelia Type check failed in assignment to $!a; expected Int but got Str ("string")
in block <unit> at <tmp> line 1
araraloren_ m: class A { has Int $.a is rw; }; A.new.a = 1;
camelia ( no output )
keylet thanks!
m: class A { has Int $.a is rw = 2; };
camelia ( no output )
keylet m: class A { has Int is rw $.a = 2; };
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed has
at <tmp>:1
------> 3class A { has Int7⏏5 is rw $.a = 2; };
keylet m: class A { has Int $.a = 2 is rw; }; 15:18
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3class A { has Int $.a = 27⏏5 is rw; };
expecting any of:
infix
infix stopper
postfix
statement end
s…
perlpilot keylet: Are you a QA person normally?
keylet perlpilot: No, I'm a developer :) 15:28
perlpilot keylet: Your syntax permutations indicate you may have an aptitude for QA ;) 15:29
leont Currently assembling the list of presentations for Amsterdam, there will be perl6 talks 17:48
user3 I want to predeclare a sub with its signature. why doesn't this work: 17:56
m: f(Int $i); f(3); sub f(Int $i) { say $i }
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in argument list; couldn't find final ')'
at <tmp>:1
------> 3f(Int7⏏5 $i); f(3); sub f(Int $i) { say $i }
expecting any of:
infix
infix stop…
timotimo m: sub f(Int $i) { ... }; f(3); sub f(Int $i) { say $i } 18:01
camelia 3
timotimo user3: ^
you forgot a "sub" in front and { ... } after the signature
user3 m: sub f(Int $i) { .... }; f(3); sub f(Int $i) { say $i } 18:02
camelia 5===SORRY!5=== Error while compiling <tmp>
Unsupported use of . to concatenate strings; in Perl 6 please use ~
at <tmp>:1
------> 3sub f(Int $i) { .... 7⏏5}; f(3); sub f(Int $i) { say $i }
perlpilot user3: ETOOMANYDOTS
user3 m: sub f(Int $i) { ... }; f(3); sub f(Int $i) { say $i }
camelia 3
user3 wow
user3 the first error message was not particular enlightening 18:05
geekosaur it's another example of errors prioritizing a perl 5 trap
perlpilot It's hard to guess what you meant though
user3 *particularly 18:06
[Coke] samcv: in doc commit 0d4110870, you mention "userwide option above.", but userwide only appears once in the doc. 18:21
[Coke] (also "userwide" isn't a word, so it's failing the spelling check) 18:22
user3 I have a file p.6 with these 2 lines: 18:23
user3 multi MAIN('--help') { say 'this'; } 18:24
multi MAIN() { say 'that'; }
I can get the help message with: perl6 p.6 -- --help
how can i get the same result with only: perl6 p.6 --help
perlpilot user3: multi MAIN (:$help) { say 'this' } 18:26
[Coke] multi MAIN(:$help) { say 'this'; }
so close. :)
user3 i have to define $help='--help' first, i assume
but that seems a bit complicated
[Coke] no
literally that line.
user3 oh 18:27
[Coke] :$help in a signature means a named argument called help. when used in MAIN, named args translate as --options 18:27
geekosaur user3, you were writing it as "match a literal string normal parameter", you want "match as an option and set a flag if it is present"
:$help is the syntax for the latter, it sets $help to True if --help was passed as an option
[Coke] if someone passed in --help there, it would be available in that sub as $help , with a value of True 18:28
... again, too slow. :|
[Coke] goes back into lurk mode. :)
geekosaur and in fact you don't need the second multi with that, you can test $help to see what to do 18:29
user3 that works 18:30
ufobat is there a tool for the sql file that will be created via --profile? 19:12
[Coke] has an idea for doc stuff: Make all doc only contributions to a branch (esp. edits through the web api); then all tests have to pass (including xt/) before merging it to master. 19:17
(PRs should have to pass this already)
AlexDaniel unidump: 1a 19:18
unicodable6 AlexDaniel, gist.github.com/e60498f323a61e7a98...8b3c7cbdc0 19:19
eveo ufobat: none that I'm aware of 19:30
ufobat so it still makes sense to use tadziks qt tool and json
b2gills m: dd 'string'.split('') :skip-empty # no-one mentioned the :skip-empty adverb earlier 19:32
camelia ("s", "t", "r", "i", "n", "g").Seq
eveo [Coke]: that sounds like a good way to stifle contributions, especially quick typo fixes. Who'll be testing the branches, considering travis times out half the time? Considering the stuff xt tests test isn't critical, IMO it'd make more sense to leave them alone and only work on them once in a while. In fact, I don't mind making it it part of the Rakudo release process to ensure the docs xt tests pass, if in 19:33
exchange I can edit with web UI without being flagged for each typo. So this way, the typos, the tabs, spaces, non-nbsp Perl 6 and whatever else will at most surive for a month in the doc repo, and there'll be no barriers to contributions
ufobat: you could work with MasterDuke++ to create a tool. 19:34
buggable: eco DBIish
buggable eveo, DBIish 'Database connectivity for Perl 6': github.com/perl6/DBIish 3 other matching results: modules.perl6.org/#q=DBIish
ufobat eveo, my profiling foo is no more then using nytprof :/ 19:36
eveo There's an example of SQL query here (might be outdated, as IIRC columns were renamed): docs.perl6.org/language/performanc...le_locally 19:37
Geth doc: a2d9188655 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Language/performance.pod6
Make SQL example easy to copy-paste
19:38
eveo TIL you can indent =begin =end things in POD6
ufobat huh! i "loose" my time in src/core/Lock.pm 19:40
eveo Hm? A typo somewhere? 19:41
or.. you lose time 19:42
ufobat i mean.. it took far longer then it used to take, and i was wondering why
so i tried to profile it
eveo ufobat: you doing any .kill'ing? or $*KERNEL.signal calls? 19:43
ufobat and Settings::src/core/Lock.pm has a huge time in Exclusive Time
no, not really
i started to use Log::Any
eveo buggable: eco Log::Any
buggable eveo, Log::Any 'Generate and handle logs with pipelines, filters and formatters.': github.com/jsimonet/log-any
eveo shrugs 19:44
timotimo ufobat: time taken waiting for a lock to become free is in that number 19:45
eveo Ahh
ufobat *nod* 19:46
i just need to figure out which and why :)
eveo ufobat: is that with Bailador?
ufobat jup
using Log::Any increased the time for the test cases, round about double the time nwo 19:47
eveo ufobat: "now" do you mean by adding the module or by upgrading rakudo? 19:48
timotimo ufobat: github.com/timo/p6profiler-tools - this can generate a pretty svg from your stuff
also, you can use telemeh to figure out which threads are holding locks for how long
ufobat now be using Log::Any, not changeing rakudo
eveo Ah, *phew* :)
timotimo though it won't give you a "friendly" name for the threads involved
ufobat telemeh? 19:49
timotimo yup, if you Configure.pl your moarvm with --telemeh you get that
you can set MVM_TELEMETRY_LOG to a file 19:50
eveo Well, I see it's using a Channel for stuff and channel uses a lock to protect stuff, so that's probably where you're ghetting your src/core/Lock times from
timotimo the svg graph thing will tell you how much time in lock is spent when coming from what other function
eveo relocates
ufobat okay. i keep that in mind 19:53
ill try to mediate and test a bit to first understand what i am realyl doing ;)
ufobat github.com/ufobat/log-any/blob/mas...y.pm6#L116 <- this place is were 50% of my adittional time comes from 19:57
timotimo you could use .starts-with instead of that regex match 19:58
i wonder if CLIENT:: can help you there 19:59
ufobat sorry, timotimo, i ment the whole unless block 20:00
maybe its the Backtrace.new that takes Locks as well?
timotimo i don't think it would 20:01
did you use the graphviz tool from the profiler tools on your sql data?
that would show you precisely where the lock time comes from
ufobat not yet, i am installing dependencies 20:04
next dependecy ;) 20:07
however - providing :category("foo") reduced one testcase by 6sec 20:08
timotimo i see 20:12
ufobat which binary am i supposed to use?
i am still on dependencies, but i am afarid i am running out of time today. and will continue tomorrow
s/binary/one of your scripts/ 20:14
timotimo the graphviz one 20:15
the other one is so vastly unfinished that it hardly does anything
ufobat did i get this right, i run it directly on the sql thats dumped from profile-filename=03.sql ? 20:16
no
ah!
i need to import this into a sqlite db, right?
anyway, time over ;)
timotimo yeah, sqlite3 -init the_thing_it_spat_out foobar,sqlite
ufobat thank you all for the help
timotimo er, foobar.sqlite
or sqlite3? 20:17
yeah, .sqlite3 is the extension it wants
it could totally invoke sqlite3 for you if you feed it the text instead
Geth doc: c21bf569ef | (Jan-Olof Hendig)++ | doc/Type/Iterator.pod6
Adjusted formatting
20:19
travis-ci Doc build errored. Zoffix Znet 'Make SQL example easy to copy-paste' 20:28
travis-ci.org/perl6/doc/builds/244662786 github.com/perl6/doc/compare/fedda...d9188655f4
hythm hello, is there a website to execute perl6 code online? 20:38
moritz hythm: ideone.com does 20:40
lizmat wasn't there an .io site somewhere as well ?
eveo huggable: glot.io 20:43
huggable eveo, Run Perl 6 in your browser: tio.run/nexus/perl6 or glot.io
eveo hythm: ^ these teo as well. Also, find any code example on perl6.party it's editable (uses glot.io under the hood) 20:44
hythm ideonde.com seems broken, ran say "Hello, World!" and still.... Waiting for compilation
glot.io works great, Thanks guys! 20:45
eveo Any time 20:47
huggable: glot 20:48
huggable eveo, nothing found
eveo buggable: eco glot
buggable eveo, GlotIO 'Use glot.io API: pastebin allowing execution of code': github.com/zoffixznet/perl6-GlotIO
eveo ^ there's also a Perl 6 impl of its api 20:49
travis-ci Doc build errored. Jan-Olof Hendig 'Adjusted formatting' 21:09
travis-ci.org/perl6/doc/builds/244677549 github.com/perl6/doc/compare/a2d91...1bf569ef52
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2017/06/19/...l-6-books/ 21:26
El_Che lizmat: there is a "foo" befoe the "for ^1000" 21:38
[Coke] eveo: sorry I wandered away; if they got fixed on the regular, I'd have nothing to complain about. I'm not seeing the doc site getting a ton of updates with the current setup, so I'm not sure who we'd be stifling. But we've had that argument before. 21:59
I would rather have edits queued and reviewed than immediately pushed into production. 22:00
[Coke] A lot of that effort can be automated, and actually mirros the eventual plan for the rakudo repository that was proposed by jnthn around Christmas tmie. 22:01
[Coke] Not going to set anything up yet. I'll see if I can map something out that wouldn't impede proposed changes made through the UI. 22:01
samcv if you do: run('echo', 'hi', :out); and don't set it to a variable. the filehandle will stay open FOREVER yes? 22:29
eveo lizmat++ good weekly. A couple of corrections, if you have the time. The for ^N {} opt fix was done by timotimo++, not jnthn++, although jnthn++ did some work in that area as well ( github.com/rakudo/rakudo/commit/46...c9c78623c7 ). Also it's Proc that got a major overhaul (it's now written in terms of Proc::Async), I don't think Proc::Async got a rehaul (other than being fixed 22:41
yoleaux 22:17Z <AlexDaniel> eveo: so is RT #131592 resolved now?
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131592
eveo on JVM), just some std binding methods or so.
eveo .tell AlexDaniel no, that ticket is for a segv that should be fixed soon. The stuff I fixed was for lost STDIN data and there wasn't a ticket and tests already existed (they were flopping) 22:42
yoleaux eveo: I'll pass your message to AlexDaniel.
AlexDaniel .
yoleaux 22:42Z <eveo> AlexDaniel: no, that ticket is for a segv that should be fixed soon. The stuff I fixed was for lost STDIN data and there wasn't a ticket and tests already existed (they were flopping)
AlexDaniel ah okay 22:43
eveo samcv: no, all handles get closed when garbage collected and in this case it's just a Channel fed by on Proc::Async.stdout 22:44
samcv ok
so if it's not stored in a variable it gets gcd
eveo I'm no expert, but I think so. 22:45
eveo This is likely fixed now rt.perl.org/Ticket/Display.html?id...et-history 22:46
And this is fixed except for one case in bdfoy's code where stuff is given to perl6 -c I'm not sure why the code doesn't get set right; might be something with piping to /dev/null and maybe something to do with piping **perl 6's stderr to dev null** rt.perl.org/Ticket/Display.html?id...et-history 22:48
m: say Date.new("2017-07-14") - Date.now
camelia No such method 'now' for invocant of type 'Date'. Did you mean any of these?
new
not

in block <unit> at <tmp> line 1
eveo m: say Date.new("2017-07-14") - Date.todayu
camelia No such method 'todayu' for invocant of type 'Date'. Did you mean 'today'?
in block <unit> at <tmp> line 1
eveo m: say Date.new("2017-07-14") - Date.today
camelia 24
eveo .in 24d Zoffix fix xt on docbuild
yoleaux eveo: I'll remind you on 13 Jul 2017 22:48Z
lizmat eveo: corrections made, eveo++ 22:50
eveo [Coke]: I'll fix then all the xt tests as part of rakudo's release process. We might not have a whole load of contributions flying in, but still, it's pretty distracting to be called in to hunt for some typo, and *new contributors* who don't know much about our setup might be put off from contributing at all if the process is difficult (and keep in mind, contributors to docs might feel encouraged to contribute 22:53
to other repos). The problem with the setup is there's no clear protocol for what to do *when stuff breaks*. Who fixes it? A contributor who might not appear for months? The setup jnthn++'s pre-Christmas proposal deliniates suffers from the same problem. As a commit might depend on nqp/MoarVM bumps + it's a bit tough to pin it to roast's state. I think the current system is sufficiently reliable: if a dev
feels their commit might break something they do it in a branch.
lizmat++ thanks 22:54
rouking Hey 22:54
eveo \o
rouking Wondering about some new syntax I haven't seen before--particularly the colon before post in this: 22:55
`$request = HTTP::Request.new(:post($!base-url~$url));`
$request = HTTP::Request.new(:post($!base-url~$url));
eveo + we have Toaster now that, if automated, can make nom branch even stabler
rouking: it's new in Perl 6, but now new to Perl 6
rouking: same as post => $!base-url~$url
m: my $b = 'f'; my $u = 'oo'; say [post => $b ~ $u] 22:56
camelia [post => foo]
eveo huggable: colonpairs
huggable eveo, All the shortcuts of colonpairs: twitter.com/zoffix/status/839807414211854337
eveo rouking: colonpairs are ubiquitous in Perl 6, so there's lots of shortcuts to write them ^
eveo calls it a day 22:58
\o
timotimo wait, Proc::Async.stdout uses channel? i would have expected supply (except if you just coerced that supply to a channel in which case that's splendid) 22:59
ugexe .tap: { $channel.send($_) } 23:00
timotimo no need for that
timotimo m: my $s = supply { for ^20 { emit $_ } }; for $s.Channel -> $v { say "received $v" } 23:01
camelia received 0
received 1
received 2
received 3
received 4
received 5
received 6
received 7
received 8
received 9
received 10
received 11
received 12
received 13
received 14
received 15
received 16
received 17
received 18…
ugexe channel doesn't have a way to react to close/quit
.tap: { $channel.send($_) }, quit => { ... }; 23:02
er, Proc::Async uses a supply afaik. but Proc uses the method above with a channel^ 23:03
jnthn The Channel serves as a buffer
Since the reads are done synchronous, but Proc::Async is spewing stuff out as it arrives 23:04
So we shove it in the channel, and then synchronous reads just read off the channel, which nicely handles the blocking too.
ugexe why isn't .act used instead of .tap? 23:05
jnthn Sleep time; 'night o/
ugexe: Because they're the same almost always
jnthn (You *can* make a Supply that doesn't enforce delivering values one at a time, but you have to work pretty hard to make that happen.) 23:06
jnthn The only built-in way to achieve it is making a Supplier and calling something like .unsanitized-Supply 23:07
Everything else is a serial Supply
ugexe ah, i was thinking it would help with, say, .act: { $str ~= $_ }
jnthn No, for Proc::Async it doesn't matter if you use .tap or .act 23:08
ugexe cool, thanks 23:09
jnthn looks at the thermometer, sighs, and figures he'll give sleep a go anyway... 23:10
timotimo good luck! 23:10
jnthn 'night o/
timotimo i expect many of us in europe are going to have a bad time WRT sleep the next days ;(
timotimo thursday it'll be 35 to 38 (feels like 39 to 42) deg celsius ;( 23:15