🦋 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
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
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
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
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
lizmat github.com/Raku/problem-solving/pu...1076219560 10:45
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
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.
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
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
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
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
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
japhb Canary says: YAMLish:ver<0.0.6> fails tests at Rakudo HEAD 21:50