»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋
Set by Zoffix on 25 July 2018.
squashable6 🍕 vrurg++ opened pull request “Fix incorrect handling of unknown 6.c modifiers”: github.com/rakudo/rakudo/pull/2941 00:33
squashable6 🍕 vrurg++ merged pull request “Fix incorrect handling of unknown 6.c modifiers”: github.com/rakudo/rakudo/pull/2941 00:56
squashable6 🍕 vrurg++ wrote a comment on “Rakudo no longer builds properly on OpenBSD”: github.com/rakudo/rakudo/issues/29...-497899712 01:03
guifa Decided to start doing some blogging on random stuff I find. Here’s my first one — would appreciate feedback :-) 02:08
tenesianu.blogspot.com/2019/05/per...roids.html
vrurg guifa++ 02:17
MasterDuke guifa: "tertiary operators" is usually "ternary operators". "I don’t there’s much" looks like it's missing a "think". "(one of these powerful things of given)" should be "... the powerful ...". "of some of some" has duplicated words 02:18
MasterDuke but very nice article, guifa++ 02:18
guifa MasterDuke: d’oh. Fixing now 02:19
jmerelo squashable6: status 06:24
squashable6 jmerelo, 🍕🍕 SQUASHathon is in progress! The end of the event in 1 day and ≈7 hours. See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
jmerelo, Log and stats: gist.github.com/327ef283fdac9a5c8f...2e2e1d0a21
andrzejku !seen loren 06:26
.seen loren
yoleaux I saw loren 8 Jul 2016 13:51Z in #perl6: <loren> e, ^_^ .. haha don't mind
andrzejku .seen araraloren 06:26
yoleaux I saw araraloren 3 May 2019 17:59Z in #perl6: <araraloren> I am not sure
andrzejku :(
lizmat weekly: tenesianu.blogspot.com/2019/05/per...roids.html 06:42
notable6 lizmat, Noted!
andrzejku ya the language looks really hakish 07:04
squashable6 🍕 patzim++ wrote a comment on “Move the core comp unit repo to a separate folder”: github.com/rakudo/rakudo/pull/2940...-497921798 07:33
Geth doc: bbe06beec5 | (JJ Merelo)++ | doc/Language/grammars.pod6
Rearranging for #1729
09:06
synopsebot Link: doc.perl6.org/language/grammars
squashable6 🍕 JJ++ wrote a comment on “Regex bug on custom <ws>”: github.com/rakudo/rakudo/issues/12...-497927558
squashable6 🍕 patzim++ synchronize pull request “ Fix non-reloc install &…”: github.com/rakudo/rakudo/pull/2939 10:29
squashable6 🍕🍕🍕 First contribution by lizmat++! ♥ 10:41
HarmtH I am working on solving my issue github.com/rakudo/rakudo/issues/2929 10:47
And I just figured out the root cause is this bug:
m: class foo { multi method isdefined (Any:D: --> True) {}; multi method isdefined (Any:U: --> False) {}; method defined (--> False) {} }; say "defined foo.new: " ~ defined foo.new; say "foo.new.isdefined: " ~ foo.new.isdefined
camelia defined foo.new: False
foo.new.isdefined: True
HarmtH Can anyone point me to the code where Class:U: and Class:D: are calculated? 10:49
Have no idea where to look
HarmtH (I would expect foo.new.isdefined to return False, i.e. that Any:U: is entered) 10:55
tobs HarmtH: sorry for not answering your question, but first: that behaviour seems right for me
HarmtH: foo.new is an instance of the class, so it's defined I'd think
m: class foo { multi method isdefined (Any:D: --> True) {}; multi method isdefined (Any:U: --> False) {}; }; say foo.isdefined; say foo.new.isdefined 10:56
camelia False
True
tobs the type object is :U in that sense, an instance is :D
HarmtH It's not very consistent 10:57
HarmtH tobs: I see now, :D is for DEFINITE and not defined :-( 11:18
tobs HarmtH: and what I found out is that a call to DEFINITE compiles down to a specific NQP instruction, p6definite, so that's where you find your answer. 11:20
HarmtH tobs: Thanks :-)
But I guess 'fixing' it would introduce a whole lot of other bugs
HarmtH errors 11:22
Why I'm intesting in it is because @a[-1] returns a Failure, and a Failure doesn't hit multi method EXISTS-POS(Any:U: Any:D $ --> False) { } in Any.pm6 11:23
So that @a[-1][0] returns True 11:24
squashable6 🍕 lizmat++ opened pull request “Give SetHash a set/unset method”: github.com/rakudo/rakudo/pull/2942 12:38
cpan-p6 New module released to CPAN! Result (0.2.4) by 03SAMGWISE
lizmat HarmtH: maybe adding a 'multi method EXISTS-POS(Any:U: Failure:D $ --> False) { }' candidate would be a solution ? 12:45
squashable6 🍕 lizmat++ wrote a comment on “--profile doesn't show any callees / allocations”: github.com/rakudo/rakudo/issues/29...-497942825 12:52
🍕 lizmat++ closed issue “--profile doesn't show any callees / allocations”: github.com/rakudo/rakudo/issues/2934
lizmat HarmtH: ping 12:53
squashable6 🍕 patzim++ synchronize pull request “ Fix non-reloc install &…”: github.com/rakudo/rakudo/pull/2939 12:59
xinming When I use flatten array as arg, I got error which is too many args. I forgot the concrete error it produces. But a bit curious, how many numbers of arg is limited? 13:14
lizmat xinming: I think the only limit is the number of elements in a list 13:20
squashable6 🍕 rehsack++ opened issue “Push doesn't push items as documented”: github.com/rakudo/rakudo/issues/2943 13:29
🍕🍕🍕 First contribution by rehsack++! ♥
Geth ¦ problem-solving: AlexDaniel assigned to jnthn Issue Helper function on SetHashes github.com/perl6/problem-solving/issues/35 13:30
squashable6 🍕 jnthn++ wrote a comment on “Push doesn't push items as documented”: github.com/rakudo/rakudo/issues/29...-497945752 13:35
🍕🍕🍕 First contribution by jnthn++! ♥
🍕 jnthn++ closed issue “Push doesn't push items as documented”: github.com/rakudo/rakudo/issues/2943
🍕 patzim++ submitted a review on pull request “ Fix non-reloc install &…”: github.com/rakudo/rakudo/pull/2939...-244587041
🍕 patzim++ wrote a comment on a review for “ Fix non-reloc install &…”: github.com/rakudo/rakudo/pull/2939...r289604989
[Sno] jnthn: please don't close - the example was badly copied 13:36
squashable6 🍕 patzim++ submitted a review on pull request “ Fix non-reloc install &…”: github.com/rakudo/rakudo/pull/2939...-244587081
🍕 patzim++ wrote a comment on a review for “ Fix non-reloc install &…”: github.com/rakudo/rakudo/pull/2939...r289605027
🍕 rehsack++ wrote a comment on “Push doesn't push items as documented”: github.com/rakudo/rakudo/issues/29...-497945965 13:38
🍕 patzim++ synchronize pull request “ Fix non-reloc install &…”: github.com/rakudo/rakudo/pull/2939 13:39
🍕 patzim++ submitted a review on pull request “ Fix non-reloc install &…”: github.com/rakudo/rakudo/pull/2939...-244587162
🍕 patzim++ wrote a comment on a review for “ Fix non-reloc install &…”: github.com/rakudo/rakudo/pull/2939...r289605089
antoniogamiz can you use "is export" for class declaration in modules? 13:46
squashable6 🍕 lizmat++ wrote a comment on “Push doesn't push items as documented”: github.com/rakudo/rakudo/issues/29...-497946486 13:47
🍕 lizmat++ reopened issue “Push doesn't push items as documented”: github.com/rakudo/rakudo/issues/2943
timotimo yes you can
antoniogamiz ty 13:48
squashable6 🍕 patzim++ wrote a comment on “ Fix non-reloc install &…”: github.com/rakudo/rakudo/pull/2939...-497946674 13:49
antoniogamiz where can I learn a little about grammars? 14:01
or where I could the meaning of things like <.alpha>?
sena_kun antoniogamiz, doc pages?
timotimo m: say Grammar.^methods(:all)>>.name 14:02
camelia (parse subparse parsefile BUILDALL snapshot_braid punct !alt prematch postmatch !braid !cursor_start_cur !reduce_with_match switch_to_slang dump INDRULE !LITERAL !clone_match_at !highexpect xdigit make clone from chars caps blank ACCEPTS CURSOR_OVERLA…
timotimo not all of them are "interesting" for your purpose
sena_kun antoniogamiz, docs.perl6.org/language/regexes#Pr...er_classes <-
antoniogamiz uoh 14:03
sena_kun grammars are made of regexes
antoniogamiz aahh I was searching with the dot
sena_kun so it is better to read about regexes at first, and then go to grammars
since grammars are, well, I won't repeat myself. :)
antoniogamiz ok, ty sena :)
timotimo the . means "don't capture this" 14:04
other than that <alpha> and <.alpha> are the same
antoniogamiz oh cool 14:05
moritz I think the . also means "always call as a method" 14:07
timotimo there's also <my-own-name=alpha> and <my-own-name=.alpha>
moritz m: my &a := regex { a+ }; say 'aaa' ~~ /<a>/
camelia No such method 'a' for invocant of type 'Match'. Did you mean 'at'?
in block <unit> at <tmp> line 1
moritz m: my &a := regex { a+ }; say 'aaa' ~~ /<&a>/
camelia 「aaa」
timotimo i think it's more that without & it won't look for lexical regexen
moritz ok, it seems <a> also alwas calls as a method, so never mind me 14:08
timotimo m: my &a := regex { a+ }; say 'aaa' ~~ /<.&a>/
camelia 「aaa」
timotimo you can combine "look for lexical" with "don't capture" this way around
moritz <&a> already doesn't capture 14:09
m: my &a := regex { a+ }; say 'aaa' ~~ /<a=&a>/
camelia 「aaa」
a => 「aaa」
moritz it only captures if the letter after < matches \w 14:10
timotimo ooh, right 14:10
squashable6 🍕 lizmat++ wrote a comment on “Push doesn't push items as documented”: github.com/rakudo/rakudo/issues/29...-497949169 14:25
uzl Hello, #perl6! 14:30
m: my $n = 4; '1'.fmt("%04d").put
camelia 0001
uzl m: my $n = 4; '1'.fmt("%0{$n}d").put
camelia Use of uninitialized value of type Any in string context.
Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.
in block <unit> at <tmp> line 1
Your printf-style directives specify 0 arguments, but 1 argume…
uzl m: my $n = 4; '1'.fmt("%0{$n.Str}d").put 14:31
camelia Use of uninitialized value of type Any in string context.
Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.
in block <unit> at <tmp> line 1
Your printf-style directives specify 0 arguments, but 1 argume…
uzl Is it possible to interpolate inside a printf directive? If so, how do I do it? 14:31
BTW, what's the squashaton about today? 14:32
uzl m: my $n = 4; '1'.fmt(('%0', $n, 'd').join).put 14:37
camelia 0001
timotimo sprintf is supposed to have some syntax for that purpose 14:38
other than that you can literally just use regular string interpolation there
since format strings are just strings
dogbert17 m: say sprintf("%0*d", 4, 1) 14:40
camelia 0001
dogbert17 uzl: ^^ is it this you're looking for? 14:42
uzl dogbert17: Oh, great! That does it ;-)! 14:43
Thanks!
lizmat squashable6: status 14:44
squashable6 lizmat, 🍕🍕 SQUASHathon is in progress! The end of the event in ≈23 hours. See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
lizmat, Log and stats: gist.github.com/8a46b42c139690f32a...036d8e0b80
uzl timotimo: Is it the same syntax used by dogbert17's example?
timotimo i was refering just to regular old "%{$foo}s" which will literally just put $foo in there 14:45
(important to have the parenthesis, otherwise the s will be interpreted as part of the variable name 14:46
uzl m: my $n = 4; "%04s".sprintf(1).put 14:48
camelia 0001
uzl m: my $n = 4; "%0{$n}s".sprintf(1).put
camelia Use of uninitialized value of type Any in string context.
Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.
in block <unit> at <tmp> line 1
Your printf-style directives specify 0 arguments, but 1 argume…
uzl For some reason it doesn't seem to work in that example. I might be doing something wrong though. 14:49
antoniogamiz this regex / ^ \s* $ / detects empty lines and lines with one space? 14:52
am I right?
squashable6 🍕 ugexe++ wrote a comment on “Push doesn't push items as documented”: github.com/rakudo/rakudo/issues/29...-497951336 14:55
squashable6 🍕 lizmat++ wrote a comment on “Push doesn't push items as documented”: github.com/rakudo/rakudo/issues/29...-497951476 14:57
uzl antoniogamiz: Do you mean a single whitespace? 15:02
antoniogamiz yep, or zero
uzl So two whitespaces wouldn't match? 15:03
m: "".match: /^^ \s? $$/
camelia ( no output )
antoniogamiz I think so, beacuse of \s* 15:04
uzl m: put "".match: /^^ \s? $$/
camelia
uzl m: put " ".match: /^^ \s? $$/
camelia
uzl m: put " ".match: /^^ \s? $$/
camelia Use of Nil in string context

in block <unit> at <tmp> line 1
antoniogamiz why do use double ^^ and $$?
uzl antoniogamiz: \s* matches zero or more whitespaces. You might want to use ? for specifically zero or one 15:05
timotimo ^^ and $$ are per-line versions of ^ and $, right? 15:06
antoniogamiz aahh my mistake ty uzl 15:06
uoh today I have a lot of TILs hahaah
uzl timotimo: the docs say so. start and end of line respectively.
antoniogamiz: we're all doing it ;-). that's what I love about P6. 15:07
antoniogamiz uzl: totally :) 15:09
antoniogamiz what's doing this code <type=longname>? 15:19
an alias of longname regex?
patrickb .seen sergot 15:20
yoleaux I saw sergot 24 Jan 2019 14:32Z in #perl6: <sergot> oh, Mar and May...
timotimo antoniogamiz: yeah, it'll be available under both names then 15:22
if you put a . after the =, the name on the right won't be present in the match object
which is sometimes something you want
antoniogamiz mmmmmm ok, thank you :) 15:23
timotimo and just for completeness sake there's also the $<bloop>=a+ syntax
to give a name to something that's not a "call"
AFKBBL
moritz it's a capture that's not a call :D 15:24
thundergnat m: gist.github.com/thundergnat/e14ca4...a3f603ab5f 15:40
camelia |0|
uno: 0
uno: 1
|1|
uno: 1

|0|
uno: 0
uno: 1
dos: 0
dos: 1
|1|
uno: 1
dos: 1
thundergnat Explicit for loop variables shouldn't behave differently from implicit ones? 15:41
I suspect that ^^ is buggy behavior.
lizmat weekly: medium.com/@mdango/fun-with-perl-6...33bc160239 15:47
notable6 lizmat, Noted!
squashable6 🍕 thundergnat++ opened issue “Odd interaction between …”: github.com/rakudo/rakudo/issues/2944 15:50
🍕🍕🍕 First contribution by thundergnat++! ♥
antoniogamiz time to come back to university exams, bye! :D 15:56
Geth ¦ problem-solving: AlexDaniel assigned to jnthn Issue Removed Syntactic Feature github.com/perl6/problem-solving/issues/36 16:27
AlexDaniel squashable6: status 16:37
squashable6 AlexDaniel, 🍕🍕 SQUASHathon is in progress! The end of the event in ≈21 hours. See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
AlexDaniel, Log and stats: gist.github.com/4103e0efd1c173e818...3799e55118
squashable6 🍕 lizmat++ edited issue “Sub push doesn't die on named parameters”: github.com/rakudo/rakudo/issues/2943 17:16
🍕 lizmat++ closed issue “Sub push doesn't die on named parameters”: github.com/rakudo/rakudo/issues/2943
squashable6 🍕 lizmat++ wrote a comment on “Sub push doesn't die on named parameters”: github.com/rakudo/rakudo/issues/29...-497962986 17:27
Geth doc: 2cb9441e58 | (JJ Merelo)++ | doc/Language/grammars.pod6
Deindent
19:08
synopsebot Link: doc.perl6.org/language/grammars
doc: e89a63b184 | (JJ Merelo)++ | doc/Language/grammars.pod6
Reflow and deindent
doc: c0e9876265 | (JJ Merelo)++ | doc/Language/grammars.pod6
Adds more examples to the definition of ws

Thanks go @jnthn for his clarification in StackOverflow. Closes #1729
tobs I'm trying to make one of my modules release-ready. One of the warts is that I compile a binary and put it into "resources" as part of Build.pm. But I can't execute it because it's not chmod +x'd when installed and I'm not supposed to change modes of installed resources. 19:10
Is there a canonical path I can put the file into? I don't want to leave garbage behind when the module gets uninstalled. 19:11
(I'm not very keen on having to turn the program into a shared object instead, but it would be doable in this case...) 19:12
lizmat tobs: no idea atm, perhaps also ask on #perl6-dev and/or StackOverflow ? 19:21
tobs oh, my memories are coming back: R#2571
synopsebot R#2571 [open]: github.com/rakudo/rakudo/issues/2571 %?RESOURCES execute bit lost on installation
tobs squashable6: status
squashable6 tobs, 🍕🍕 SQUASHathon is in progress! The end of the event in ≈18 hours. See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
tobs, Log and stats: gist.github.com/34be849fc85f1c5567...b33c94f41f
tobs :)
lizmat: will do 19:22
HarmtH lizmat: Yes was think of that as well, thank you. Will try to make a pull request later today 19:36
lizmat ++HarmtH
lizmat weekly: perl6.eu/roman.html 20:05
notable6 lizmat, Noted!
squashable6 🍕 lizmat++ wrote a comment on “Large non-Infinite gists are eager”: github.com/rakudo/rakudo/issues/29...-497975640 20:34
🍕 lizmat++ closed issue “Large non-Infinite gists are eager”: github.com/rakudo/rakudo/issues/2920
squashable6 🍕 lizmat++ wrote a comment on “Fix is-lazy propagation bug in List::Reifier”: github.com/rakudo/rakudo/pull/2493...-497975702 20:35
🍕 lizmat++ reopened pull request “Fix is-lazy propagation bug in List::Reifier”: github.com/rakudo/rakudo/pull/2493
squashable6 🍕 ugexe++ wrote a comment on “Move the core comp unit repo to a separate folder”: github.com/rakudo/rakudo/pull/2940...-497977253 20:59
timotimo gfldex: i think you can $*IN.lines.Channel.Supply to get a "worker" that receives the messages for you 21:08
gfldex timotimo: No such method 'Channel' for invocant of type 'Seq' 21:12
timotimo oh, hum, i must have misremembered 21:14
it could be .Supply.Channel and then whenever that 21:15
gfldex timotimo: that does run but seams to add a buffer 21:17
timotimo: also a Channel in IO::Handle may flood RAM
gfldex timotimo: if you want to tinker yourself: gist.github.com/017ea656c81a0d9b71...d13f53fdb4 21:18
Having a queue in IO::Handle.lines seams to be a good idea as long as the length of that queue aint ∞ 21:22
timotimo oh, there's an "allowance" system for backpressure for that exact reason 21:23
i forgot what it's called
gfldex there is Concurrent::BoundedChannel in the ecosystem that does quite a bit of extra work to limit the queue length 21:25
timotimo ah, hmm 21:28
timotimo BBL 21:30
squashable6 🍕 AlexDaniel++ wrote a comment on “Large non-Infinite gists are eager”: github.com/rakudo/rakudo/issues/29...-497979845 21:45
🍕🍕🍕 First contribution by AlexDaniel++! ♥
🍕 AlexDaniel++ reopened issue “Large non-Infinite gists are eager”: github.com/rakudo/rakudo/issues/2920
🍕 AlexDaniel++ labeled issue “Large non-Infinite gists are eager” (tests needed): github.com/rakudo/rakudo/issues/2920
squashable6 🍕 MasterDuke17++ opened issue “Possible slowdown in grep or is-prime or tail”: github.com/rakudo/rakudo/issues/2945 23:15
🍕🍕🍕 First contribution by MasterDuke17++! ♥
squashable6 🍕 MasterDuke17++ edited issue “Possible slowdown in is-prime”: github.com/rakudo/rakudo/issues/2945 23:17
namibj fg 23:34
b2gills m: react whenever Supply.from-list($*IN.lines,:schedular($*SCHEDULAR)) { .say } 23:36
camelia »Wann treffen wir drei wieder zusamm?«
»Um die siebente Stund‘, am Brückendamm.«
»Am Mittelpfeiler.«
»Ich lösche die Flamm.«
»Ich mit«

»Ich komme vom Norden her.«
»Und ich vom Süden.…