»ö« 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.
00:30 Cabanossi left 00:31 wamba left 00:32 lookatme joined
lookatme morning 00:32
00:33 Cabanossi joined 00:34 nadim left
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
00:37 dolmen_ joined 00:42 dolmen_ left
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
00:50 kurahaupo left
lookatme samcv++ don't know much about Unicode 00:50
00:51 kurahaupo joined
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
00:53 bwisti joined
samcv i'm thinking 45 minutes? 20 minutes sounds like too little 00:56
01:03 AlexDaniel left
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
01:11 bwisti left
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
01:22 aborazmeh joined, aborazmeh left, aborazmeh joined 01:25 travis-ci joined
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
01:25 travis-ci left
samcv leave me alone travis ;( you just timed out 01:26
01:31 Cabanossi left 01:32 semigloss joined 01:33 Cabanossi joined 01:42 tardisx joined 01:46 ilbot3 left 01:48 ilbot3 joined, ChanServ sets mode: +v ilbot3
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
02:11 xerx left, bwisti joined 02:13 pilne left 02:15 aborazmeh left 02:17 Voldenet left 02:28 noganex joined 02:30 Cabanossi left 02:31 noganex_ left 02:33 Cabanossi joined
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
03:03 cpage_ joined
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
03:21 semigloss left 03:29 lookatme left, lookatme joined
samcv yeah pretty awesome 03:40
03:43 Cabanossi left 03:46 Cabanossi joined 03:52 khw left 03:59 cognominal left 04:00 TEttinger joined 04:17 lookatme_ joined 04:19 lookatme left 04:34 parv joined 04:35 bwisti left 04:40 raiph joined 04:44 Cabanossi left 04:46 Cabanossi joined 04:50 aindilis joined 04:51 ramortegui_ joined 04:53 lookatme_ left, lookatme_ joined 05:20 domidumont joined 05:24 domidumont left 05:25 domidumont joined 05:29 uberbaud joined 05:39 xtreak joined 05:43 keylet joined
keylet how to split a string like 'string' -> [s t r i n g] 05:43
?
05:46 ramortegui_ left
parv str.split( '' ) after guessing it. 05:47
05:48 wamba joined 05:49 BenGoldberg left
parv hmm ... but not quite ... as there are empty strings at the end; better check the doc 05:51
05:52 keylet left, domidumont left
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
06:07 abraxxa joined
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
06:11 domidumont joined
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
06:19 |oLa| joined 06:20 nadim_ joined 06:24 |oLa| left
moritz samcv: isn't that the case with most words? :-) 06:32
06:35 keylet joined
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)
06:43 ufobat joined
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 :-)
06:55 cognominal joined
parv moritz, oy, give me a fish please 06:57
07:06 lowbro joined, lowbro left, lowbro joined
parv turns out calling a value returning sub in void context is just fine w/ rakudo. 07:11
07:15 Cabanossi left, espadrine joined 07:16 Cabanossi joined 07:18 cognominal left
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.
07:24 grondilu left
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
07:38 ufobat left, domidumont left 07:39 domidumont joined
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)
07:43 zakharyas joined, rindolf joined
lookatme_ geekosaur, yeah, maybe, I just wonder why first one return a List. 07:44
07:45 uberbaud left
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
07:47 mscha left
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 ..
07:51 Voldenet joined, Voldenet left, Voldenet joined
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
07:58 dogbert17 left
pmurias the "they will look funny when printed to utf8 file handle" seems suspicious 08:00
08:00 jonas2 joined 08:09 Voldenet left 08:10 Voldenet joined 08:11 Voldenet left, Voldenet joined
parv rants: perl6 doc should replace "undef" with "Nil" already 08:12
08:13 Cabanossi left
pmurias parv: you mean when you are searching for "undef" but mean Nil? 08:16
08:16 Cabanossi joined 08:17 |oLa| joined
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
08:19 lookatme_ left, lookatme_ joined, dakkar joined, |oLa| left, |oLa|1 joined
parv thank you, people. 08:20
see you some some other time.
08:20 parv left 08:21 lookatme_ left, lookatme_ joined 08:25 wamba left 08:29 domidumont left 08:31 kyan left 08:40 keylet left 08:41 domidumont joined 08:45 domidumont left, Cabanossi left 08:46 Cabanossi joined, domidumont joined 08:51 nattefrost joined 09:03 domidumont left
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)
09:06 espadrine left
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
09:11 jervo joined
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
09:14 Cabanossi left 09:16 Cabanossi joined 09:19 chee left 09:21 esh_ is now known as esh 09:27 |oLa|1 left 09:29 |oLa| joined 09:30 wamba joined 09:45 lookatme_ left 09:46 domidumont joined 09:51 keylet joined 09:55 wamba left 10:02 lowbro left 10:04 zakharyas left 10:05 zakharyas joined 10:07 stmuk joined 10:09 stmuk_ left 10:14 Cabanossi left 10:15 cognominal joined 10:16 Cabanossi joined 10:19 ufobat joined 10:27 dp[m] left, mienaikage left, jast left, jast joined 10:28 mienaikage joined, keylet left 10:32 lizmat left, lizmat joined 10:33 AlexDaniel joined, AlexDaniel left 10:39 cognominal left 10:42 dp[m] joined 10:45 Cabanossi left 10:46 Cabanossi joined 11:01 AlexDaniel joined 11:03 nattefrost left 11:04 nattefrost joined 11:06 kurahaupo left, kurahaupo joined 11:11 wamba joined 11:14 Cabanossi left 11:16 Cabanossi joined 11:23 cognominal joined, TEttinger left 11:24 xtreak left 11:30 pmurias left 11:37 bioduds joined
bioduds Hi all 11:37
whats up?
11:37 bbkr left
bioduds Anyone heard of Tangles? 11:37
11:40 rumble joined, grumble is now known as Guest38774, Guest38774 left, rumble is now known as grumble
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
11:44 Cabanossi left 11:45 Cabanossi joined 11:46 lowbro joined, lowbro left, lowbro joined 11:47 raschipi joined 11:59 [ptc] left 12:01 ufobat left 12:03 [ptc] joined 12:09 kurahaupo left 12:10 kurahaupo joined
Geth perl6.org: 20c21ec18c | (Zoffix Znet)++ (committed using GitHub Web editor) | source/resources/index.html
Reword
12:15
12:18 kyan joined 12:22 araraloren joined
araraloren evening 12:22
moritz hello araraloren 12:24
12:25 AlexDaniel left 12:29 zakharyas left 12:30 kurahaupo_ joined
araraloren moritz, hi, Did you see that code ? 12:31
12:31 kurahaupo_ left, kurahaupo_ joined 12:32 zakharyas joined
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
12:32 kurahaupo left, kurahaupo_ left 12:33 kurahaupo joined
araraloren OH, That's about write parent class attribute: github.com/araraloren/perl6-getopt...n.pm6#L180 12:33
12:33 [ptc] left
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
12:48 wamba left
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
12:52 jast left 12:53 mcmillhj joined
araraloren moritz, perlpilot thanks, I change it to role now 12:58
13:03 bwisti joined 13:04 wamba joined 13:06 grondilu joined 13:13 dmaestro joined 13:19 araraloren_ joined 13:22 araraloren left 13:29 araralonre__ joined 13:31 kyan left, dmaestro left 13:32 araraloren_ left 13:35 dmaestro joined 13:43 araraloren_ joined 13:46 araralonre__ left 13:48 domidumont left 13:51 sufrostico left 13:53 sufrostico joined 13:54 leah2 left 13:55 abraxxa left 13:56 domidumont joined
zengargoyle reckons no live-stream from YAPC::NA this year, goes back to watching cartoons and reading moritz's book. :) 13:57
13:58 leah2 joined
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. :|
14:02 domidumont left, domidumont joined 14:08 konsolebox left 14:11 jast joined 14:12 konsolebox joined
El_Che is yapc na being live streamed? 14:13
14:14 mscha joined
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
14:20 cdg joined
jnthn or write a sub of your own that does the "ugly" thing ;) 14:20
14:21 mscha left, mscha joined
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
14:26 dmaestro left
raschipi mscha: What should it be called? ssplice? 14:28
mscha spliced? 14:33
14:35 bioduds left
mscha Or an extra flag to the existing splice routine perhaps. 14:37
14:38 eveo joined
eveo m: say +[].^lookup("splice").candidates 14:39
camelia 31
eveo Please no flags :)
14:39 |oLa|1 joined 14:40 nattefrost left
raschipi It should probably be implemented as a new routine that calls splice but returns a copy 14:40
14:41 mr-fooba_ joined, |oLa| left
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]
14:43 mr-foobar left, Actualeyes left
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]
14:45 geekosaur left
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
14:47 geekosaur joined
eveo \o 14:48
14:48 eveo left
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^..*] }
14:50 raschipi left
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. :-)
14:51 cdg_ joined
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)
14:53 cdg left
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
14:56 khw joined 14:59 Actualeyes joined 15:03 alimon joined 15:09 raschipi joined 15:14 zakharyas left 15:15 keylet joined
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?
15:27 domidumont left
keylet perlpilot: No, I'm a developer :) 15:28
perlpilot keylet: Your syntax permutations indicate you may have an aptitude for QA ;) 15:29
15:31 domidumont joined 15:39 dmaestro joined 15:42 wamba left 15:44 Cabanossi left 15:46 Cabanossi joined 15:52 wamba joined 15:54 araraloren_ left 15:55 zakharyas joined 15:56 |oLa|1 left, domidumont left, zakharyas left 15:57 zakharyas joined 16:00 |oLa| joined 16:02 dha joined 16:09 dha left 16:10 dmaestro left 16:12 wamba left, |oLa| left 16:13 smash joined 16:14 araujo joined, araujo left, araujo joined 16:21 lowbro left 16:22 raschipi left 16:37 raiph left 16:38 dogbert17 joined 16:39 keylet left 16:43 ChoHag left 16:46 setty1 joined, ufobat joined 16:47 pilne joined 16:53 |oLa| joined 16:57 ilmari left, ilmari joined 17:00 lucasb joined, dakkar left 17:07 zakharyas left 17:15 Cabanossi left, astj left 17:16 Cabanossi joined 17:27 andrzejk_ joined 17:30 hankache joined 17:32 wamba joined 17:34 Exodist left, Exodist joined 17:39 leont joined 17:43 Exodist left 17:45 Exodist joined
leont Currently assembling the list of presentations for Amsterdam, there will be perl6 talks 17:48
17:49 mr-foobar joined 17:50 mr-foob__ joined 17:51 espadrine joined 17:52 mr-fooba_ left 17:54 mr-foobar left 17:55 user3 joined, kyan joined
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…
17:56 mr-foobar joined 18:00 mr-foob__ left, mr-fooba_ joined
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
18:02 uberbaud joined
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
18:03 mr-foobar left
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
18:06 mr-foobar joined, KotH left, KotH joined, uberbaud left 18:07 mr-fooba_ left, kurahaupo_ joined 18:09 kurahaupo left, jast left 18:10 kurahaupo_ left, jast joined, kurahaupo joined, dogbert11 joined 18:11 kurahaupo_ joined 18:12 kurahaupo__ joined, hankache left, peteretep_ joined, labster_ joined, dustinm`_ joined, hankache joined 18:13 BuildTheRobots_ joined 18:14 jkva__ joined, llfourn_ joined, kurahaupo left 18:15 mcmillhj_ joined, ilmari_ joined, eyck_ joined, Exodist left, sivoais_ joined, sQuEE` joined 18:16 kurahaupo_ left, Exodist joined 18:18 ccakes_ joined 18:19 ilmari left, bwisti left, mcmillhj left, u-ou left, sQuEE left, jkva_ left, BuildTheRobots left, chansen_ left, peteretep left, dogbert17_ left, ccakes left, salva left, giraffe left, Matthew[m] left, SCHAPiE left, llfourn left, eyck left, sivoais left, labster left, dustinm` left, JimmyZ left, timotimo left, jeek left, ilmari_ is now known as ilmari, jkva__ is now known as jkva_, peteretep_ is now known as peteretep 18:20 BuildTheRobots_ is now known as BuildTheRobots, mcmillhj_ left 18:21 mcmillhj joined
[Coke] samcv: in doc commit 0d4110870, you mention "userwide option above.", but userwide only appears once in the doc. 18:21
18:21 labster_ is now known as labster
[Coke] (also "userwide" isn't a word, so it's failing the spelling check) 18:22
18:22 jeek joined, u-ou joined, giraffe joined 18:23 araujo left, timotimo joined, bwisti joined
user3 I have a file p.6 with these 2 lines: 18:23
18:23 JimmyZ joined
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
18:24 salva joined 18:25 kurahaupo__ left, kurahaupo joined
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
18:27 Matthew[m] joined
[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. :)
18:28 vetmaster joined
geekosaur and in fact you don't need the second multi with that, you can test $help to see what to do 18:29
18:29 SCHAPiE joined
user3 that works 18:30
18:42 hankache left 18:47 konsolebox left 18:48 andrzejk_ left 18:53 mcmillhj left 18:56 konsolebox joined 18:58 mcmillhj joined 19:03 itaipu joined, andrzejk_ joined 19:04 domidumont joined 19:06 user3 left
ufobat is there a tool for the sql file that will be created via --profile? 19:12
19:16 AlexDaniel joined
[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
19:23 domidumont left 19:29 ChoHag joined, eveo joined
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
19:36 dolmen_ joined
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
19:40 jonas2 left
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
19:44 synopsebot6 joined, ChanServ sets mode: +v synopsebot6
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
19:51 eveo left
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 ;)
19:55 mniip joined
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
19:59 cpage_ left
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
20:04 TEttinger joined
ufobat not yet, i am installing dependencies 20:04
next dependecy ;) 20:07
however - providing :category("foo") reduced one testcase by 6sec 20:08
20:09 chansen_ joined 20:12 kyan left
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
20:21 andrzejk_ left 20:22 andrzejk_ joined 20:25 kyan joined 20:26 gensym joined 20:28 travis-ci joined
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
20:28 travis-ci left 20:34 cpage_ joined
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 ?
20:42 itaipu left 20:43 eveo joined
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
20:51 eveo left 21:00 Cabanossi left, kyan left 21:01 Cabanossi joined 21:03 mcmillhj left 21:06 andrzejk_ left 21:09 travis-ci joined
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
21:09 travis-ci left 21:12 cpage_ left 21:14 kyan joined 21:15 dolmen_ left 21:21 mienaikage left, committable6 left, unclechu left, bisectable6 left, greppable6 left, evalable6 left, benchable6 left, yoleaux left, wtw left, daxim left, kybr left, b2gills left, statisfiable6 left, unicodable6 left, quotable6 left, bloatable6 left, masak left, jcallen left, f3ew left, arnsholt left, f3ew_ joined, masak joined, Peter_R joined, arnsholt joined, jcallen joined, kybr joined, daxim joined 21:22 masak is now known as Guest62702, b2gills joined 21:24 adrusi left, espadrine left, mcmillhj joined 21:26 mienaikage joined
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2017/06/19/...l-6-books/ 21:26
21:26 adrusi joined, yoleaux joined, ChanServ sets mode: +v yoleaux, wtw joined 21:28 unclechu joined 21:29 mcmillhj left 21:32 wamba left 21:33 grumble left 21:36 Sgeo_ left, grumble joined
El_Che lizmat: there is a "foo" befoe the "for ^1000" 21:38
21:40 mcmillhj joined 21:41 cpage_ joined 21:43 wtw left, yoleaux left 21:44 mcmillhj left 21:45 yoleaux joined, ChanServ sets mode: +v yoleaux, itaylor57 left 21:46 itaylor57 joined 21:47 setty1 left 21:48 wtw joined 21:56 mcmillhj joined
[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
22:00 kyan left
[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
22:01 mcmillhj left
[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
22:12 mcmillhj joined 22:13 kyan joined 22:14 rindolf left 22:16 mcmillhj left 22:21 ccakes_ is now known as ccakes, ufobat left
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
22:30 dolmen_ joined 22:33 dolmen_ left 22:38 eveo joined 22:39 Sgeo joined
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.
22:41 mcmillhj joined
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
22:45 ChoHag left 22:46 mcmillhj left, mscha left, ChoHag joined
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
22:52 mcmillhj joined
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
22:54 rouking joined
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 ^
22:57 mcmillhj left, nadim_ left
eveo calls it a day 22:58
\o
22:58 eveo left
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
23:01 mcmillhj joined
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
23:05 mcmillhj left
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
23:06 |oLa| left
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
23:09 cdg_ left
ugexe cool, thanks 23:09
jnthn looks at the thermometer, sighs, and figures he'll give sleep a go anyway... 23:10
23:10 BenGoldberg joined
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 ;(
23:11 mcmillhj joined
timotimo thursday it'll be 35 to 38 (feels like 39 to 42) deg celsius ;( 23:15
23:16 mcmillhj left 23:22 mcmillhj joined 23:26 mcmillhj left 23:30 pochi_ joined, pochi left 23:33 mcmillhj joined 23:38 mcmillhj left, lucasb left 23:41 ChoHag left 23:42 sufrostico left 23:43 sufrostico joined 23:49 mcmillhj joined 23:54 mcmillhj left 23:56 ramortegui joined