🦋 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: ... | log inspection situation still under development | For MoarVM see #moarvm
Set by lizmat on 22 May 2021.
ugexe though sometimes i fear my compulsion to collaborate and design before implementing public apis may be a determent compared to moving faster 00:00
00:07 discord-raku-bot left, discord-raku-bot joined 00:08 reportable6 left 00:10 reportable6 joined 00:14 elcaro_ is now known as elcaro 00:26 discord-raku-bot left, discord-raku-bot joined 00:30 discord-raku-bot left, discord-raku-bot joined
drakonis where can i see raku 6.e and 6.f's development? 01:49
i know that problem-solving has a project with tasks related to 6.e 01:50
02:27 ugexe left 03:43 ggoebel_ left 06:08 reportable6 left 06:37 ggoebel_ joined 06:41 ggoebel_ left 07:10 reportable6 joined 07:41 ggoebel_ joined 08:42 Xliff joined 08:43 ggoebel_ left
nine ugexe: you mean "what if the to be deployed dists are already there?". As it is they'd be overwritten. We assume that such a check would have been done beforehand, e.g. zef wouldn't build and test something that it cannot install anyway. 08:48
drakonis: I don't think there are any real plans for 6.f yet
MasterDuke 6.e you can see here github.com/rakudo/rakudo/tree/master/src/core.e 08:49
Xliff is there a 'return' equivalent in nqp? 08:51
lizmat return ? 08:53
Xliff sub a { return 1 } # Although in this case, that's redundent 08:54
# Redundant
lizmat nqp: sub a { return 1 }; nqp::say(a()) 08:55
camelia Routine declaration requires a signature at line 2, near "{ return 1"
at gen/moar/stage2/NQPHLL.nqp:1059 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPHLL.moarvm:panic)
from <unknown>:1 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/nqp.moarvm:routine_…
lizmat nqp: sub a() { return 1 }; nqp::say(a())
camelia 1
Xliff will that work in nqp::stmts?
lizmat yes, it does, know from experience
Xliff Oh goodie!
lizmat however, if it is NQP code in Rakudo, make sure that you get your () right, as in Rakudo, return is just a sub 08:56
Xliff Thanks! 08:58
09:01 MasterDuke left
Geth rakudo: 190e303d9f | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 2 files
Make previous values in REPL accessible with `$*N` (#4796)

Inspired by:
   www.reddit.com/r/rakulang/comments...hell_like/
Indexed previous values available as $*0, $*1, $*2...., and all previous values as the array @*_.
... (14 more lines)
09:02
09:03 linkable6 left 09:04 linkable6 joined 09:11 MasterDuke joined
Xliff lizmat: Cool feature! 09:38
lizmat ugexe: I try to find the best way between getting completely frustrated by bikeshedding in PRs and being too bold in pushing commits without PRs 09:40
I see the .deploy and .self-destruct methods on CURS as steps towards making the test/install process of modules in general, and zef in particular, a lot faster 09:41
because it would allow for modules to be installed to only have to be precompiled once
Xliff lizmat: Does .new work in nqp or is that create()? If so, how can I pass a parameter to new? 09:46
lizmat .new is a Raku construct, so no 09:49
you can nqp::create(class)
and bind attributes with nqp::bindattr and friends
Xliff Ah, thanks.
lizmat Xliff: assuming you're in actual NQP, not nqp code inside Rakudo
Xliff And if I'm inside an nqp block inside Rakudo? 09:59
lizmat then you're still in Rakudo, and .new will work 10:31
(sorry, was afk for a bit)
Geth rakudo: a56d239d0c | (Elizabeth Mattijsen)++ | src/core.c/Exception.pm6
Add mention of 'sub' potentially missing

In response to github.com/rakudo/rakudo/issues/4827 The error message would now state:
   Variable '$verbose' is not declared. Perhaps you forgot a 'sub' if
   this was intended to be part of a signature?
10:34
10:39 linkable6 left, evalable6 left, linkable6 joined
lizmat github.com/Raku/problem-solving/pu...1076219560 10:45
11:39 linkable6 left 11:42 evalable6 joined 11:50 ggoebel_ joined 12:08 reportable6 left
Geth rakudo/master: 31 commits pushed by (Elizabeth Mattijsen)++
review: github.com/rakudo/rakudo/compare/a...370b74c258
12:19
lizmat splitting src/core.c/Distribution.pm6 into separate files for each class / role while keeping history
12:22 discord-raku-bot left 12:23 discord-raku-bot joined 13:11 reportable6 joined
Xliff Does nqp have a way to do 'next'? 14:20
I see the QAST::Op, but that says "not directly callable"
lizmat next in Rakudo is just a sub that issues a CONTROL message 14:23
nqp::handle allows you to "catch" that
see Any-iterable.pm6 for plenty of examples 14:24
Xliff Thanks.
14:40 ggoebel__ joined 14:43 ggoebel_ left 14:46 ggoebel_ joined 14:48 ggoebel__ left
MasterDuke `Method 'signature' not found for invocant of class 'Sub'` that's too bad 14:58
nqp: my int $i := 0; while $i++ < 5 { next if $i == 3; say($i); }      # nqp also has 'next' 15:09
camelia 1
2
4
5
15:41 linkable6 joined
MasterDuke m: multi trait_mod:<is>(Routine:D $r, :$purish!) { for $r.signature.params -> $p { warn "$p.name() is not readonly, is $r.name() really pure?" if !$p.readonly } }; sub foo($a is rw) is purish { $a += 1 }; my $a = 1; say foo($a); say $a 15:57
camelia Potential difficulties:
$a is not readonly, is foo really pure?
at <tmp>:1
------> if !$p.readonly } }; sub foo($a is rw) ⏏is purish { $a += 1 }; my $a = 1; say fo
2
2
MasterDuke the check ^^^ is what i was trying to add to github.com/rakudo/rakudo/blob/mast...#L424-L428 but that gives `Method 'signature' not found for invocant of class 'Sub'` when building rakudo. then i tried moving the  trait to Routine.pm6, but that causes `Method 'hash' not found for invocant of class 'Capture'` when 16:00
building rakudo
16:23 discord-raku-bot left, discord-raku-bot joined 17:14 Kaipi left 18:07 reportable6 left 18:09 reportable6 joined 18:42 melezhik joined 18:43 Kaipi joined 19:03 melezhik left
Geth rakudo: usev6++ created pull request #4829:
Revert "An object will never work if native is expected"
19:31
bartolin m: multi f(int $i) { $i + $i }; my $a = 3; my int $b = 2; $a := $b; say f $a
camelia ===SORRY!=== Error while compiling <tmp>
Calling f(Mu) will never work with any of these multi signatures:
(int $i)
at <tmp>:1
------> my $a = 3; my int $b = 2; $a := $b; say ⏏f $a
bartolin MasterDuke: I'm afraid the reference to Mu in the error message isn't the biggest problem with 73d5e74d96 (github.com/rakudo/rakudo/issues/4823) 19:32
19:33 linkable6 left
Geth rakudo: 94d4820a7b | (Christian Bartolomäus)++ (committed using GitHub Web editor) | src/Perl6/bootstrap.c/BOOTSTRAP.nqp
Revert "An object will never work if native is expected" (#4829)

This reverts commit 73d5e74d96197312da62509058a0970668913bc8.
That commit turned out to be incorrect. For more background see
   github.com/rakudo/rakudo/issues/4823
... (15 more lines)
19:36
rakudo: 77ca7a4bcd | (Elizabeth Mattijsen)++ | lib/CompUnit/Repository/Staging.rakumod
Remove : in self-destruct code

Leftover from change from private method to sub. Spotted by hythm++
20:17
20:26 ggoebel_ left 20:42 ggoebel_ joined
Geth rakudo: 15abaf412d | (Elizabeth Mattijsen)++ | src/core.c/Distribution/Locally.pm6
Gradually type Distribution::Locally a bit
20:52
lizmat and that concludes my hacking for today& 20:53
21:43 sena_kun joined
japhb Canary says: YAMLish:ver<0.0.6> fails tests at Rakudo HEAD 21:50
22:36 ggoebel_ left 22:54 ggoebel_ joined 23:35 linkable6 joined