🦋 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 available at irclogs.raku.org/raku-dev/live.html | For MoarVM see #moarvm
Set by lizmat on 8 June 2022.
00:00 reportable6 left 00:01 reportable6 joined 00:02 Xliff left 00:31 squashable6 left, squashable6 joined 02:13 kurahaupo left 05:05 coverable6 left, unicodable6 left, squashable6 left, bisectable6 left, notable6 left, committable6 left, evalable6 left, reportable6 left, sourceable6 left, greppable6 left, bloatable6 left, nativecallable6 left, benchable6 left, statisfiable6 left, shareable6 left, linkable6 left, tellable6 left, releasable6 left, quotable6 left, coverable6 joined, bloatable6 joined 05:06 greppable6 joined, notable6 joined, quotable6 joined, benchable6 joined 05:07 shareable6 joined, unicodable6 joined, sourceable6 joined, committable6 joined, statisfiable6 joined, nativecallable6 joined, tellable6 joined, reportable6 joined, bisectable6 joined, evalable6 joined 05:08 squashable6 joined, linkable6 joined, releasable6 joined 06:00 reportable6 left, reportable6 joined
[Tux] Rakudo v2023.04-89-g10742c991 (v6.d) on MoarVM 2023.04-1-g965be0af5
csv-ip5xs0.845 - 0.911
csv-ip5xs-205.342 - 5.767
csv-parser3.449 - 3.576
csv-test-xs-200.381 - 0.396
test6.790 - 7.415
test-t1.343 - 1.374
test-t --race0.844 - 0.878
test-t-2020.311 - 20.376
test-t-20 --race7.047 - 7.501
06:59
07:55 sena_kun joined 09:22 sena_kun left 09:29 squashable6 left 09:30 squashable6 joined 10:04 sena_kun joined 10:30 Voldenet_ joined, Voldenet left, Voldenet_ is now known as Voldenet 10:32 sena_kun left, sena_kun joined
lizmat seems to draw a blank 11:06
given a native type "num", how do I get the non-native equivalent for that (aka Num) ?
no name trickery, please
nine m: say num.^mro[1] 11:07
camelia (Num)
lizmat ah, duh! 11:08
nine++
nine m: use nqp; say nqp::hllboxtype_n() 11:11
camelia (Num)
nine seems safer 11:12
lizmat yeah, but needed it to be more general
not just for num, but also for int / str
trying to fix the "my Int $x = NaN" compile time error in RakuAST
nine Well there are also hllboxtype_i and hllboxtype_s :) 11:13
lizmat m: subset MyInt; dd MyInt.^mro # this feels LTA 11:55
camelia No such method 'mro' for invocant of type 'Perl6::Metamodel::SubsetHOW'
in block <unit> at <tmp> line 1
12:00 reportable6 left 12:01 reportable6 joined
nine But it makes sense since the subset type itself doesn't have any ancestors. 12:08
lizmat not even Mu ? 12:09
nine Well it delegates type checks and find_method to its refinee 12:10
lizmat so shouldn't a mro method do that ? 12:12
m: subset A; dd (A,).are'
camelia ===SORRY!=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> subset A; dd (A,).are⏏'
expecting any of:
infix
infix stopper
postfix
statement end
statement m…
12:13
lizmat m: subset A; dd (A,).are
camelia A
lizmat m: subset A of Int; dd (A,).are
camelia A
lizmat m: subset A; dd (A,A).are
camelia A
lizmat m: subset A; dd (A,int).are
camelia No such method 'mro' for invocant of type 'Perl6::Metamodel::SubsetHOW'
in block <unit> at <tmp> line 1
nine That depends on whether you want to define ^mro as a required method for all meta types. 12:14
lizmat m: subset A; dd (True,False).are 12:15
camelia Bool
lizmat m: subset A; dd (True,Same).are
camelia Int
lizmat seems to work for enums already, what else do we have?
nine m: dd (module Foo { }, package Bar { }).are 12:18
camelia No such method 'mro' for invocant of type 'Perl6::Metamodel::ModuleHOW'
in block <unit> at <tmp> line 1
Geth rakudo/main: 01790de4c0 | (Elizabeth Mattijsen)++ | src/core.c/RakuAST/Raku.pm6
RakuAST: don't bother with twigils if there are none
12:19
rakudo/main: bc51ff4643 | (Elizabeth Mattijsen)++ | src/core.c/Exception.pm6
Streamline X::Syntax::Number::LiteralType a bit

  - add some sensible defaults
  - format the text at run-time
rakudo/main: 7e78588391 | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/SubsetHOW.nqp
Give subsets their .^mro method

Mostly because we expect the .are method to be able to be run on any selection of types, including subtypes.
   subset A of Int;
   subset B of A;
   dd B.^mro; # (B, A, Int, Cool, Any, Mu)
12:37
roast: e232b04437 | (Elizabeth Mattijsen)++ | S12-subset/type-subset.t
Fix test, because in RakuAST this is a compile time error

And in legacy grammar, this is a runtime error when it *could* (and probably *should*) have been a compile time error. Marked as todo for now.
12:56
rakudo/main: 4f6da10a6e | (Elizabeth Mattijsen)++ | src/Raku/ast/variable-declaration.rakumod
RakuAST: add type check in simple variable declarations

If the initializer is a literal, then check with the variable type and issue a sorry if they do not match.
rakudo/main: 6e20165a1f | (Elizabeth Mattijsen)++ | src/core.c/Exception.pm6
Don't mangle the type name too much
lizmat 824/1355
afk&
tbrowder__ hi, trying to create a hash of keys whose values are arrays (NOT lists): 13:50
m: my %h = { a = [1,2]}; say %h<a>.WHAT 13:52
camelia ===SORRY!=== Error while compiling <tmp>
Preceding context expects a term, but found infix = instead.
Did you make a mistake in Pod syntax?
at <tmp>:1
------> my %h = { a =⏏ [1,2]}; say %h<a>.WHAT
tbrowder__ m: my %h = {a => [1,2]}; say %h<a>.WHAT 13:53
camelia Potential difficulties:
Useless use of hash composer on right side of hash assignment; did you mean := instead?
at <tmp>:1
------> my %h = {a => [1,2]}⏏; say %h<a>.WHAT
(Array)
tbrowder__ why do i need the ':=' binding operator? 13:55
that may be the root of a lot of problems i've had with hashes lately 13:56
nine You don't:
m: my %h = a => [1, 2]; dd %h
camelia Hash %h = {:a($[1, 2])}
vrurg tbrowder__: Basically, internally, a hash is created only to be used as a producer of iterator of pairs to initialize the hash on LHS. The compiler just warns you about the very ineffective way of doing something. 13:59
tbrowder__ m: my %h = a => [1,2]; say %h<a>.WHAT 14:00
camelia (Array)
tbrowder__ ok, got it. the {} confused the issue, THANKS
m: my %h := { a => [1,2]}; say %h<a>.WHAT 14:02
camelia (Array)
tbrowder__ nine, vrurg thanks 14:03
16:54 sourceable6 left, committable6 left, unicodable6 left, coverable6 left, bloatable6 left, linkable6 left, greppable6 left, quotable6 left, statisfiable6 left, benchable6 left, tellable6 left, squashable6 left, bisectable6 left, nativecallable6 left, evalable6 left, releasable6 left, shareable6 left, reportable6 left, notable6 left 16:55 greppable6 joined, evalable6 joined, nativecallable6 joined, sourceable6 joined 16:56 benchable6 joined, notable6 joined, bisectable6 joined, shareable6 joined, committable6 joined, squashable6 joined, tellable6 joined, bloatable6 joined, unicodable6 joined 16:57 linkable6 joined, statisfiable6 joined, quotable6 joined, releasable6 joined, coverable6 joined, reportable6 joined 17:01 sena_kun left 17:35 dogbert17 joined 17:37 sena_kun joined 17:44 kurahaupo joined 18:00 reportable6 left, reportable6 joined
Geth rakudo/main: 6f482ca006 | (Elizabeth Mattijsen)++ | 3 files
Separate =input/=output from =code

  - introduces the Pod::Block::Input and Pod::Block::Output classes,
   subclasses of Pod::Block::Code (so that current renderers will
   still be able to see them as Pod::Block::Code blocks).
  - adapt the legacy grammar to create these new classes for =input
   and =output pod
  - adapt RakuAST legacy podification also accordingly
This will now allow pod renderers to render =input and =output pod differently from =code pod.
18:39
[Coke] Nice - we had adopted :lang<output> as a way to get some kind of classification in the raku docs, we should consider updating. 19:58
vrurg BTW, speaking of the docs. Our docs say that if there are extra docs they're to be put under doc/. But the directory is not installed with the distribution, thus these are not available for rakudoc. Isn't it something overlooked in distribution design? 20:05
And either way, what would be the approach of keeping documentation separate from modules? 20:07
20:36 kurahaupo left 20:37 kurahaupo joined 20:53 squashable6 left, squashable6 joined 20:58 kurahaupo left 20:59 kurahaupo joined 21:08 kurahaupo left 21:09 kurahaupo joined 21:25 kurahaupo left 21:26 kurahaupo joined 21:28 kurahaupo left 21:51 sena_kun left 22:36 kurahaupo joined