🦋 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] |
|
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
|