»ö« 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.
hythm is it possible to customize the validation of an assignment operation? for instance if I have my Int @a, this will allow only Int to be stored in @a, is it possible to customize this further to make it only accept adding two items at once ( @a.append: 1, 2 # works), (@a.append: 1 # fails) 00:41
timotimo not that i know 00:42
hythm ok another question, if I want to see how shaped arrays are implemented in the code, which repo I need to look into, is it Rakudo, NQP or moar? 00:44
MasterDuke .tell hythm github.com/rakudo/rakudo/blob/mast...Array.pm6, github.com/rakudo/rakudo/blob/mast...Array.pm6, ... would probably be a good place to start 01:16
yoleaux MasterDuke: I'll pass your message to hythm.
tbrowder o/ #perl6 01:30
anyone know of a helper script to give a first cut at using nativecall for a library? 01:32
MasterDuke tbrowder: gptrixie i think is the name 01:32
tbrowder okay, thanks 01:33
MasterDuke github.com/Skarsnik/gptrixie 01:34
and wow, modules.perl6.org is very slow for me today
MasterDuke if anyone is using Compress::Zlib, it hopefully will get a bunch faster soon github.com/retupmoca/P6-Compress-Zlib/pull/19 03:52
mantovani MasterDuke: how faster ? 03:55
MasterDuke just for reading, but a bit over 10x 03:56
mantovani <3 03:57
MasterDuke++
MasterDuke and uses a lot less ram 03:58
guifa Nice! 04:38
jmerelo squashable6: status 05:48
squashable6 jmerelo, ⚠🍕 Next SQUASHathon in 3 days and ≈6 hours (2019-03-02 UTC-14⌁UTC+12). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
AlexDaniel masak: I see no point in writing 2**32 when I can write 2³² 06:01
it's shorter and easier to read 06:02
and I do use multidigit superscripts 06:03
also, you'd see things differently if you were able to type non-ascii characters 06:06
Geth doc: e0a4e7e878 | (JJ Merelo)++ | doc/Type/Mu.pod6
Deletes the second alternative for deep cloning

Which does not actually work. A small reflow here and there. Closes #2627
06:13
synopsebot Link: doc.perl6.org/type/Mu
jmerelo releasable6: status 06:17
releasable6 jmerelo, Next release will happen when it's ready. 4 blockers. 319 out of 319 commits logged
jmerelo, Details: gist.github.com/75357bffaa18721fb7...e848ffa1f7
jmerelo AlexDaniel: there's been a breaking change in zef. The location of the files has changed. Now no old versions of zef will get updated with the new stuff in the repos 06:34
AlexDaniel: github.com/ugexe/zef/issues/289 06:41
AlexDaniel: and this is one of the issues I have with the modules stuff, which apparently can only be handled by people that are personally certified and declared Experts by someone. 06:42
adu And thus begins perl6 certification 06:43
jmerelo Apparently, the problem is simply that those indices take some time to update, both of them. 06:47
I also have an issue with that... When you click in some newly announced distro in Twitter, it's not there yet because the update cycle is 12 hours. 06:49
jmerelo Other than comma, is there any other editor that runs directly Perl 6 code? 07:16
moritz I don't quite understand this question. Comma doesn't run Perl 6 code itself, it invokes rakudo 07:19
so do vim, emacs and the likes
discord6 <Rogue> you can configure a lot of command-line editors to run code like that
jmerelo How does emacs invoke rakudo?
moritz: I meant load a file, click on "run", run the code. I don't know how to do that with emacs or atom. It's probably some easy thing to do, but I haven't figured it out yet... 07:20
moritz jmerelo: I don't know about emacs, in vim you do something like imap <F5> <Esc>:w<CR>:!clear;perl6 %<CR> 07:22
to bind the F5 key to run the code for you (and save first, that's the :w)
adu What's comma? 07:26
moritz commaide.com/ 07:29
adu Cool 07:31
masak wait, so $_ was a dynamic lexical all this time? 08:27
(reading news.perlfoundation.org/2019/02/jan...l-6-d.html ) 08:28
masak ok, I found it in S02: "C<$_>, C<$!> and C<$/> are always dynamic" 08:46
so, what about $! and $/, are they still dynamic?
lizmat m: dd $_.VAR.dynamic for $_,$!,$/ # masak 09:07
camelia Bool::False
Bool::True
Bool::True
masak lizmat: thank you <3 09:18
lizmat clickbaits p6weekly.wordpress.com/2019/02/25/...scalaring/ 09:23
Xliff m: NQPRoutine ~~ Routine 09:40
camelia 5===SORRY!5=== Error while compiling <tmp>
Expected a term, but found either infix ~~ or redundant prefix ~
(to suppress this message, please use a space like ~ ~)
at <tmp>:1
------> 3NQPRoutine ~~7⏏5 Routine
Xliff m: say NQPRoutine ~~ Routine
camelia 5===SORRY!5=== Error while compiling <tmp>
Expected a term, but found either infix ~~ or redundant prefix ~
(to suppress this message, please use a space like ~ ~)
at <tmp>:1
------> 3say NQPRoutine ~~7⏏5 Routine
Xliff m: say (NQPRoutine ~~ Routine) 09:41
camelia 5===SORRY!5=== Error while compiling <tmp>
Expected a term, but found either infix ~~ or redundant prefix ~
(to suppress this message, please use a space like ~ ~)
at <tmp>:1
------> 3say (NQPRoutine ~~7⏏5 Routine)
Xliff m: NQPRoutine
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared name:
NQPRoutine used at line 1
Xliff m: usq nqp; NQPRoutine
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared name:
NQPRoutine used at line 1
Undeclared routines:
nqp used at line 1
usq used at line 1
Xliff WTF?
masak please be more specific. 09:42
Xliff m: Routine.ACCEPTS(NQPRoutine).say
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared name:
NQPRoutine used at line 1
masak Xliff: you're aware that you can also do random experimentation via privmsg with camelia, right?
Xliff NQPRoutine is a thing I am running into.
masak Xliff: it's down on the nqp layer. AFAIK it's not exposed. 09:43
Xliff masak: You have asked this question before. My response was a simple "Yes". Please do not ask again when you KNOW the answer.
masak: And my point is yes it is'
Cannot resolve caller ACCEPTS(Routine:U: NQPRoutine); none of these signatures match:
Hence my PUBLIC experimentation with camelia, which EVERYONE does. 09:44
So how did I get that error message from Rakudo without a "use nqp", praytell?
lizmat Xliff: one possibility: something in NQP is calling Perl 6 and passes on something from NQP that Perl 6 doesn't know about 09:46
we would need a full --ll-exception backtrace to figure out why 09:47
Xliff: can you create a gist of the problem ?
Xliff lizmat: A gist? Yes. A test case or golf? Not at the moment. 09:48
lizmat can you gist a stacktrace ?] 09:49
:-)
masak Xliff: public experimentation with camelia is fine, I guess. we can't be super-sensitive to it. bit it's also _kind_ to do the initial experimentation privately, and then publicly share the result
Xliff: I was reminding you of that. sorry if I came off snarky.
Xliff masak: Yet I see you active and the only time I see you make that admonishment is when I do it. 09:51
The channel is not active at the moment. I had a test case I thought would work straight off the bat. It didn't,. 09:52
All I ask is that you be consistent and either stop doing it or admonish everyone else.
masak Xliff: you may feel like you're the only one I've reminded. you're not. 09:56
lizmat likes to remind everyone here she's still waiting for a gist to look at :-) 09:57
Xliff lizmat: And here it is gist.github.com/Xliff/b4c5b6c100d8...1e809b5777 09:58
masak: I'll take you at your words, but I may go to the channel logs and check for myself. 09:59
But until then, I'd appreciate it if you'd back off. 10:00
lizmat Xliff: I'd say the my $c = callframe($nf).code; produces a $c that is a NQPRoutine 10:04
Xliff lizmat: Yes, I'd agree.
And up until now...surprisingly... that hasn't been a problem.
lizmat hmmm... there was a trick to detect that, we use that somewhere in core 10:05
Xliff The line in question that triggers the error is here: github.com/Xliff/p6-GtkPlus/blob/m...ion.pm6#L9
lizmat brb& 10:06
Xliff cbwood@cbwood-VirtualBox2:~/Projects/rakudobrew/moar-master$ find . -name \*.pm -exec grep -Hn NQPRoutine {} \; 10:07
o_O
Er. That command returns no results, hence my surprise. 10:08
Neither does cbwood@cbwood-VirtualBox2:~/Projects/rakudobrew/moar-master$ find . -name \*.pm -exec grep -Hn NQPRoutine {} \;
Xliff my knowhow NQPRoutine { ... } 10:13
That means it'
That means it's not a class, or a package, correct?
What is a knowhow?
It's got methods, so let's assume it's something specific to nqp 10:14
Xliff m: .say for Routine.^can('package'); 10:17
camelia package
Xliff So I guess that's my workaround.
Although I hope .^can is supported by NQPRoutine 10:18
scimon Slides done fr LPM on Thursday (the second talk idea I had as I got half way through the first and realised I didn't have everything setup to test it and it was going to take a lot of work). So that's cool. 14:19
lizmat_ scimon++ 14:24
SmokeMachine scimon: I haven't done mine yet... :( 14:44
scimon SmokeMachine: Just to a live demo. I'm sure it'll be awesome :) 15:03
Geth doc: 3c88a9b353 | cfa++ | doc/Type/Rational.pod6
Fix typo, closes #2635.
15:55
synopsebot Link: doc.perl6.org/type/Rational
jmerelo squashable6: status 16:24
squashable6 jmerelo, ⚠🍕 Next SQUASHathon in 2 days and ≈19 hours (2019-03-02 UTC-14⌁UTC+12). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
jmerelo almost there!
patrickb o/ 16:37
p6: say "yes" if v2018.12 >= v2018.12.*+ 16:40
camelia yes
patrickb ^ is this intended behavior? 16:41
timotimo p6: say "yes" if v2018.12 after v2018.12.*+ 16:42
camelia yes
timotimo m: say (v2018.12.*+).perl 16:43
camelia v2018.12.*+
patrickb I'm asking because breaks on my machine with moar 2018.12. That release did not have timotimos CStruct change, but NativeHelpers-Blob already uses the new repr because of the above check.
timotimo yeah, sorry, that just got reverted
the cstruct internals change
patrickb timotimo: I don't understand. 16:47
timotimo i think you may actually want ~~ for version comparison involving * or + or what have you 16:48
patrickb I wanted to find out if the check here: github.com/salortiz/NativeHelpers-...Rs.pm6#L60 is wrong or the comparison logic...
timotimo i believe letters after a dot will be considered "before" (like rc5) and numbers "after" (like 2018.12.2) and i suppose *+ falls under "not numbers, so letters" 16:48
timotimo m: say v2018.12 ~~ 2018.12.*+ 16:49
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed postfix call
at <tmp>:1
------> 3say v2018.12 ~~ 2018.12.*7⏏5+
timotimo m: say v2018.12 ~~ v2018.12.*+
camelia True
timotimo m: say v2018.13 ~~ v2018.12.*+
camelia True
timotimo m: say v2018.13 ~~ v2018.12.*
camelia False
patrickb So given the next release (2019.02?) will also not have the changed cstruct repr, the check should probably be: `$*VM.version > v2019.2` right? 16:53
Wait, but that revert did not revert the cstruct order, only the other thing in your commit. 16:55
patrickb So the correct check in NativeHelpers-Blob should be: $*VM.version >= v2019.2 16:56
I'll put a PR together.
bolshoi Hi TimToady 16:59
Is Perl6 going to have a name that is not Perl6? 17:01
sena_kun "Raku" is accepted as an alias(not a complete rename). 17:02
jmerelo .seen timtoady
yoleaux I saw TimToady 12 Nov 2018 16:33Z in #perl6: * TimToady is officially back from vacation, but completely trashed due to helping SoCal family deal with wildfire evacuations (nothing of ours burnt down, thankfully), and now I get to breathe all the smoke in NorCal, so it's gonna be a while before I'm back in sync enough to act like a BDFL...and maybe that's a good thing :)
jmerelo bolshoi: so short answer, no.
bolshoi Raku is japanese?
TimToady was studying japanese 17:03
sena_kun you might look at it this way, I think. :)
bolshoi last time I checked
sena_kun I am not sure it was the intention all the way, but, at the very least, we have a working compiler called "Rakudo", so. 17:04
bolshoi yep
sena_kun but there is also jisho.org/word/%E6%A5%BD <- of course.
bolshoi very interesting 17:05
www.thesprucecrafts.com/raku-2746086 17:06
sena_kun .oO ( and now I can lamely pun about Raku... Go )
bolshoi Raku generally refers to a type of low-firing process that was inspired by traditional Japanese raku firing
patrickb PR created. 17:07
bolshoi not having a number in it speeds up writing on the terminal and calling the program ;)
also raku would be short and easy
I liked it
:)
hope it sticks
jmerelo thinks that's unlikely. 17:13
AlexDaniel jmerelo: where are you getting that “no” answer 17:26
we didn't have any infrastructure to make a proper decision and agree on it
now we will have it on github.com/perl6/problem-solving
whether it will make “Raku” as a name more useful or not, I don't know 17:27
but the short answer is definitely not “no”, it's “we're working on it”
jmerelo still thinks that a new name is unlikely
AlexDaniel your pessimism is irrelevant
jmerelo AlexDaniel: yet you keep responding to it :-) 17:28
AlexDaniel because others might believe it
jmerelo AlexDaniel: ... out of its sheer irrelevancy? 17:30
See, it was introduced a few months ago. I kinda liked it at the beginning, but eventually, it didn't really stick. Very few, if anyone, is now pushing for it being used in the community. So I don't really think it will stick. 17:31
jmerelo However, I've been wrong in the past, so it might stick after all. Who knows. 17:32
AlexDaniel: it's great that we have that kind of mechanism, BTW. Good job on that.
discord6 <Rogue> To get it adopted, lots of names would have to change 18:47
discord6 <Rogue> In my opinion, we should try to adopt it as it will solve the "getting perl 5 answers on searches" problem, plus I'm just lazy and find it hard to constant explain to people that Perl 6 is not a daughter language to PErl 5 18:48
<Rogue> constantly*
jmerelo Rogue: it's a sister language 18:49
discord6 <Rogue> right, but for the unitiated it sounds like a close successor, which it isn't
<Rogue> uninitiated*
jmerelo Rogue: it's a "your mileage may vary" successor. 18:50
tadzik it's a bit of a "It would've been a good idea 15 years ago" imho 18:51
jmerelo As a matter of fact, it's a successor for every other language. A 100-year language.
tadzik: you mean the name?
discord6 <Rogue> We're stuck with what we're stuck with at this point, and no amount of wishing to timeline alterations will do anything 18:52
<Rogue> s/to/for/
<Rogue> I cannot seem to type correctly today
jmerelo Rogue I don't see the adopting happening soon. The contentious issue is precisely the "successor" part. I don't know if you followed the naming wars of last November. It was not pretty. 18:54
tadzik jmerelo: yeah 18:55
natrys Hi, did the monthly rakudo releases stopped? 18:57
jmerelo natrys: not really. They have a new, more thorough process now, so they are taking more time than usual
releasable6: status
releasable6 jmerelo, Next release will happen when it's ready. 3 blockers. 319 out of 320 commits logged
jmerelo, Details: gist.github.com/a372cc2e910472bdbd...b60a7e8d8d
jmerelo natrys: ^^^ almost there.
natrys jmerelo: I see, that's good to know 18:58
timotimo yeah, we're going through ecosystem modules extra-thoroughly to make sure they don't break 19:00
a few of them have pointed out rakudo bugs
jmerelo timotimo++ 19:01
Xliff m: say Any::IterateOneWithoutPhasers ~~ Block 19:24
camelia 5===SORRY!5=== Error while compiling <tmp>
Expected a term, but found either infix ~~ or redundant prefix ~
(to suppress this message, please use a space like ~ ~)
at <tmp>:1
------> 3say Any::IterateOneWithoutPhasers ~~7⏏5 Block
timotimo isn't that inside of Rakudo::Internals::Iterator or something 19:25
Xliff m: say GLOBAL.^name
camelia GLOBAL
Xliff timotimo: Yeah. Probably.
timotimo m: say Rakudo::Iterator::IterateOneWithoutPhasers 19:25
camelia Could not find symbol '&IterateOneWithoutPhasers'
in block <unit> at <tmp> line 1
Xliff m: say GLOBAL ~~ Block
camelia False
timotimo m: say Rakudo::Internals::Iterator::IterateOneWithoutPhasers 19:26
camelia Could not find symbol '&IterateOneWithoutPhasers'
in block <unit> at <tmp> line 1
timotimo *shrug*
Xliff Right. I'm getting that from callframe() 19:27
timotimo ah, you got that in trying to find if your callers are internal to your module
Xliff This issue pops up when callframe is called from within map
Still wish I could just figure out how to detect the is-hidden-from-backtrace role 19:28
timotimo have you checked how the backtrace printer does it?
Xliff Oooh. I should do that, shouldn't I.
timotimo look for next-interesting-index 19:29
Xliff Thanks.
timotimo good luck! i'll be afk for a bit
Xliff timotimo++: Thanks for the hint!
lizmat www.bbc.com/news/world-europe-47370291 # Fat Rat trying to get out of the sewer 19:51
jmerelo lizmat: that Fat Rat is not normalized 19:52
tadzik I thought it's gonna be something about Trump %) 19:53
AlexDaniel omg poor animal 19:53
jmerelo antoniogamiz o/
lizmat manwar: o/ 19:53
manwar What is wrong with this line? say q:raw/:raw (no interpolation) even backslash has no special meaning: \\ \/; 19:54
yoleaux 23 Feb 2019 07:03Z <jmerelo> manwar: yes, but that will fail if use-ok returns false, so it's better if you do that in a different test, different numeration.
jmerelo hi, manwar
manwar hi jmerelo 19:54
AlexDaniel m: say Q/(no interpolation) even backslash has no special meaning: \\ \/;
camelia (no interpolation) even backslash has no special meaning: \\ \
AlexDaniel manwar: I'm not sure I understand the question, did you mean something like this ↑ ? 19:55
manwar That line is from here: examples.perl6.org/categories/cook...ction.html
say q:raw/:raw (no interpolation) even backslash has no special meaning: \\ \/;
is throwing error
jmerelo manwar: it might be the case that some examples do not really work... 19:56
manwar Couldn't find terminator / (corresponding / was at line 3)
jmerelo manwar: as a matter of fact, I just released a module for testing scripts... We might include it in the examples repo and run it periodically
manwar Thats really cool 19:57
antoniogamiz Hi! I'm a very new user of Perl 6! I hope to learn a lot from you and have a great time :D
manwar Hi lizmat :-) 19:58
AlexDaniel c: 2014.01 say q:raw/:raw (no interpolation) even backslash has no special meaning: \\ \/; 19:59
committable6 AlexDaniel, gist.github.com/c530415d0150038b33...d8be91bad4
AlexDaniel manwar: that example is wrong, yes. Maybe it's very very old
manwar: use Q// instead
manwar: or its unicode variant 「」 20:00
manwar Thanks AlexDaniel
I am just learning from example
AlexDaniel m: say 「:raw (no interpolation) even backslash has no special meaning: \\ \」
camelia :raw (no interpolation) even backslash has no special meaning: \\ \
manwar different interpolation
AlexDaniel manwar: also maybe file an issue here so that we can fix the example github.com/perl6/doc/issues/
manwar OK will do that 20:01
jmerelo Apparently everyone is spilling the beans about having been selected for GSoC
manwar What is GSoC
jmerelo Google Summer of Code 20:03
manwar OK. what is all about? 20:05
jmerelo Google pays people to develop stuff for Perl (and other organizations)
gotta leave now. See you tomorrow!
moritz more to the point, google pays students to get involved with open source projects, in the form of mentored projects 20:06
organizations can propose projects, but students can also come up with their own ideas 20:07
manwar AlexDaniel, just submitted the issue. github.com/perl6/doc/issues/2636
tadzik gsoc is great. It pretty much bootstraped my programming career 20:08
AlexDaniel manwar++ 20:09
antoniogamiz well I have to leave now, I hope to see you tomorrow! Bye :) 20:15
El_Che was Perl accepted? Wow, great news 20:28
manwar Bye everyone, have to leave now. Thanks 20:34
tyil hmm
cpan-p6_ New module released to CPAN! Font-FreeType (0.1.7) by 03WARRINGD 20:34
cpan-p6_ New module released to CPAN! AttrX-Mooish (v0.6.1) by 03VRURG 20:34
New module released to CPAN! gtk-v3 (0.6.2) by 03MARTIMM
New module released to CPAN! PDF-Font-Loader (0.2.4) by 03WARRINGD
New module released to CPAN! Readline (0.1.5) by 03JGOFF
cpan-p6_ New module released to CPAN! Grammar-Common (0.2.0) by 03JGOFF 20:34
New module released to CPAN! Desktop-Notify-Progress (0.0.1) by 03FRITH 20:35
tyil the bot was dead for a while ;~;
sorry for spam
I wonder if I can expose something to work as an alive check to ensure its still connected properly
so kubernetes will restart it when it disconnects for any reason
lizmat tyil: oddly, it did the most recent first 20:36
perhaps reverse the order so at least the order in which they are reported is correct >
?
tyil that's easy to do, I will :) 20:37
thanks lizmat ~
it'll take years to rebuild it on train wifi, but the change has been added for whenever I do rebuild it (which will hopefully be in a couple hours) 20:39
Xliff timotimo: Well, next-interesting-index was a good call, unfortunately it only works on BackRrace objects, not CallFrames 20:42
timotimo Xliff: you can literally just create a Backtrace object at any point :) 20:46
Xliff timotimo: I know. I am reworking the callframe code. 20:49
How expensive is Backtrace.new?
timotimo dunno, probably not very cheap
Xliff :/
timotimo i mean, Backtrace.new is probably cheap
using the backtrace object would be the expensive part
Xliff Ah.
timotimo it seems like creating the Backtrace object is as expensive as throwing an exception and catching it 20:50
Xliff I can deal with that.