🦋 Welcome to the IRC channel of the core developers of the Raku Programming Language (raku.org #rakulang). This channel is logged for the purpose of history keeping about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | Logs can be inspected at colabti.org/irclogger/irclogger_log/raku-dev | For MoarVM see #moarvm
Set by lizmat on 26 April 2021.
Geth rakudo: vrurg++ created pull request #4373:
Make 6.e PseudoStash a child of 6.c PseudoStash
01:52
releasable6 Next release in ≈1 day and ≈15 hours. There are no known blockers. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft 03:00
nine japhb: ah, yes, sorry for the noise! 08:33
[Tux] kline.sh/ 09:02
[Tux] Rakudo v2021.04-43-gface292a0 (v6.d) on MoarVM 2021.04-64-g0cf502a68
csv-ip5xs0.852 - 0.876
csv-ip5xs-208.400 - 8.813
csv-parser25.329 - 26.392
csv-test-xs-200.368 - 0.370
test7.587 - 7.984
test-t1.993 - 2.017
test-t --race0.913 - 0.930
test-t-2036.604 - 37.305
test-t-20 --race9.850 - 10.021
10:52
ggoebel .tell Tux thx, irc.libera.chat it is... Does anyone know if/what colabti.org intends to do with regards to archiving channels? Or is there an alternative? 11:31
tellable6 ggoebel, I'll pass your message to [Tux]
lizmat ggoebel: I'm not sure what colabti will do 12:01
but I'm keeping local logs of the channels on libera
ggoebel lizmat: it looks like your work is very timely 12:02
lizmat and these will at some point also be searchable on the official version that can now be checked in beta on logs.liz.nl 12:02
ggoebel: looks like indeed... although I was not aware that things were developing like that on Freenode 12:03
ggoebel lizmat: all the same, thank you for your prescience and work on this 12:04
Xliff \o 13:19
What's the best way to convert a Str to a Buf (not a Blob)? 13:20
nwc10 o/
"ask someone who isn't me" :-(
Xliff Buf.new( $str.encode )? seems a bit redundant.
nwc10: LOL. Bad day?
nwc10 no, much simpler. I have no idea. 13:21
leont $str.encode.Buf 13:27
Xliff Oh, LOL! leont++
Given this, do I really need to write my own Buf comparitor or am I missing something? 13:28
tio.run/##ZY3BDoIwEETvfMWG9AAJEERF...C2j@Z0mMPw
lizmat m: "foo".encode.Buf
camelia No such method 'Buf' for invocant of type 'utf8'
in block <unit> at <tmp> line 1
Xliff Yeah. Just noticed that.
lizmat otoh, Buf[uint32].new("foo".encode) should almost be a noop 13:29
Xliff Why uint32, lizmat? 13:30
lizmat cause that's the internal representation of Uni 13:31
Xliff lizmat: Also, is there a builtin that I can use to compare contents of 2 Bufs?
lizmat m: dd Buf.new(112) eq Buf.new(112) # yes! 13:32
camelia Bool::True
lizmat m: dd Buf.new(112) eq Buf.new(113)
camelia Bool::False
Xliff Does that internally coerce to Str? 13:33
lizmat nope
afaik
Xliff lizmat++ # Thanks! 13:34
lizmat m: dd $_ for &infix:<eq>.candidates>>.file 13:35
camelia "SETTING::src/core.c/Stringy.pm6"
"SETTING::src/core.c/Stringy.pm6"
"SETTING::src/core.c/Buf.pm6"
"SETTING::src/core.c/Str.pm6"
"SETTING::src/core.c/Str.pm6"
lizmat meh, of course, encode creates uint8's 13:37
nothing to do with Uni
m: dd Blob.new.Buf # that feels like a strange oversight 13:39
camelia No such method 'Buf' for invocant of type 'Blob'
in block <unit> at <tmp> line 1
leont thought there was such a method, sorry for the confusion 13:42
Xliff So... in my ongoing quest to get a handle on the Perl6 parser in userland, I've run across this: 15:45
$GRAMMAR.^lookup('parse') throws the following: 15:48
No such method 'lookup' for invocant of type 'NQPClassHOW' where $GRAMMAR is a Perl6::Grammar
If I do $GRAMMAR.parse($text), where $text is a block of Perl6 code 15:49
I get: "Could not locate compile-time value for symbol Block"
Do I need to prep the Perl6::Grammar somehow, before it is used? 15:50
ugexe m: use Perl6::Grammar:from<NQP>; use Perl6::Actions:from<NQP>; my $source = q|{ say 42 }|; my $*LINEPOSCACHE; my $p6g = Perl6::Grammar.parse($source, :actions(Perl6::Actions)); say $p6g.ast.dump 15:54
camelia - QAST::CompUnit :W<?> :UNIT<?> :CAN_LOWER_TOPIC<?>
[pre_deserialize]
- QAST::Stmt
- QAST::Stmt
- QAST::Op(loadbytecode)
- QAST::VM
[moar]
- QAST::SVal(ModuleLoader.moarvm)
Xliff ugexe++ # Thanks! 16:18
Xliff Is there a more compact way of doing this? 17:42
tio.run/##ZY3BDoIwEETvfMWG9AAJEERF...C2j@Z0mMPw
Sorry. Wrong channel. Will repost on #raku 17:43
lizmat ugexe: stuff like "Can only parameterize with native int types, not 'T'." :-( 17:56
sena_kun releasable6, status 19:17
releasable6 sena_kun, Next release in ≈23 hours. There are no known blockers. 0 out of 43 commits logged
sena_kun, Details: gist.github.com/7eadf7b0473b4918ce...1ca21412f4
Geth rakudo/blob-coercers: ac5fb7a678 | (Elizabeth Mattijsen)++ | src/core.c/Buf.pm6
Add .Buf / .Blob coercers to Blob / Buf

This is a bit of a special case, as Buf / Blob are both *roles*, yet they are generally used as classes with their default parameterization.
Therefore, the .Buf and .Blob coercers return the type **with the same parameterization** as the source. This feels like the most logical ... (8 more lines)
19:39
rakudo: lizmat++ created pull request #4374:
Add .Buf / .Blob coercers to Blob / Buf
lizmat inspired by discussion earlier today on #raku-dev 19:41
Xliff leont ugexe ^^ 19:46
leont Yes, that seems like a good idea 19:47
Xliff lizmat++
japhb lizmat: Commented on the commit 19:49
Geth rakudo/blob-coercers: 29eb58ab95 | (Elizabeth Mattijsen)++ | src/core.c/Buf.pm6
Remove dead code, japhb++
19:51
releasable6 Next release in ≈19 hours. There are no known blockers. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft 23:00