🦋 Welcome to Raku! raku.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: colabti.org/irclogger/irclogger_log/raku Set by ChanServ on 14 October 2019. |
|||
00:26
skyl4rk left
00:27
skyl4rk joined
00:29
wamba joined
00:38
sena_kun left
00:41
benjif joined
00:43
finanalyst left
|
|||
SmokeMachine | Did someone changed my post date or did I do something wrong? | 00:44 | |
tbrowder | Smoke | 00:45 | |
00:47
stoned75 left
|
|||
tbrowder | SmokeMachine: if it was scheduled for 21 Dec it's on time. time should be 0001 UTC. i show that as 47 minutes ago | 00:47 | |
good post, btw! | 00:48 | ||
jmerelo has been shuffling articles a bit to cover no-shows... | 00:49 | ||
00:50
lucasb left
|
|||
SmokeMachine | tbrowder: maybe that was that... I thought iy would be on 22nd... | 00:51 | |
tbrowder: thanks! | |||
:) | |||
tbrowder | hm, 22?, | 00:52 | |
SmokeMachine | yes... I hope I have not made something wrong... | 00:53 | |
tbrowder | haven't heard from jmerelo recently, but i'll see what schedule is now... | ||
00:54
sena_kun joined
|
|||
tbrowder | planned schedule it on raku/raku-advent-2019 | 00:54 | |
that schedule showd you on 21 dec, all is gut! | 00:56 | ||
ff: in us english slang that's "fannie fatigue" or "finger fumble" | 00:57 | ||
00:59
mspo joined
|
|||
tbrowder | SmokeMachine: in yr post there is one bad link... | 01:00 | |
no bad link now, but i get flaky stuff from wordpress...don't like it at all | 01:03 | ||
SmokeMachine | tbrowder: great... thanks! | 01:04 | |
tbrowder | docs look nice | 01:05 | |
SmokeMachine | :) | 01:06 | |
tbrowder | ok, i found bad link, but not in advent post | 01:07 | |
i went to docs, beginner tutorial.. | 01:08 | ||
SmokeMachine | I think that really does not exist... | 01:09 | |
tbrowder | clicked on "Red architecture" link and got 404... | ||
SmokeMachine | :( | 01:10 | |
tbrowder | what doesn't exist? | ||
SmokeMachine | many tutorials/docs... | 01:12 | |
this is the only docs that exist: github.com/FCO/Red/tree/master/docs | 01:13 | ||
tbrowder | well p, | 01:15 | |
i was talking about starting at the link in the advent post to "reading 'the documentation'" took me to "fco.github.io" | 01:19 | ||
on that page is a link to "Beginner tutorial" | 01:20 | ||
that link takes me to a page with a link to "Red architecture" which gives me a 404 | 01:22 | ||
01:28
wamba left
|
|||
SmokeMachine | that page is generated by that link I've sent you... | 01:30 | |
the "Red architecture" still does not exist... I have to fix that... | 01:31 | ||
Red:api<2> was released! twitter.com/raku_cpan_new/status/1...76096?s=20 | 01:39 | ||
01:42
wamba joined
01:43
wamba left
01:44
gabiruh left
|
|||
vrurg_ | SmokeMachine++!! | 01:57 | |
01:59
kalkin- joined
|
|||
SmokeMachine | \o/ | 02:01 | |
02:03
kalkin left
02:18
wildtrees left
02:37
sena_kun left
02:44
cpan-raku left
02:45
cpan-raku joined,
cpan-raku left,
cpan-raku joined
02:54
sena_kun joined
03:08
no-n is now known as pony
03:55
benjif left
04:00
holyghost joined
04:22
benjif joined
04:39
sena_kun left
04:54
sena_kun joined
05:35
entonian joined
06:18
AlexDaniel left,
cognomin_ joined
06:21
cognominal left
06:26
sauvin joined
06:31
cognominal joined
06:34
cognomin_ left
06:38
sena_kun left
06:53
sena_kun joined
|
|||
guifa | jnthn: I just realized your advent day post went to the wrong calendar | 07:10 | |
07:34
ricar joined
07:38
benjif left
07:47
RobRaku joined
08:17
ricar left
08:21
epony left,
xinming_ left
08:22
xinming_ joined
08:39
rindolf joined,
sena_kun left
08:54
sena_kun joined
09:22
jmerelo joined
09:48
stoned75 joined
09:52
epony joined,
stoned75 left
09:54
stoned75 joined
09:57
RobRaku left
09:59
kalkin- left
10:05
kalkin- joined
|
|||
kalkin- | modules.raku.org/search/?q=slang+sql ← 0 results | 10:06 | |
zmodules.raku.org/search/?q=slang ← Slang::SQL is first result | |||
10:08
chloekek joined
10:09
Voldenet left
10:12
cpan-raku left
10:13
cpan-raku joined,
cpan-raku left,
cpan-raku joined,
mid_laptop joined
|
|||
chloekek | I see there are some CPAN URLs in ecosystem-api.p6c.org/projects.json, does this make sense? | 10:19 | |
10:21
mid_laptop left
10:22
mid_laptop joined
10:39
sena_kun left
10:48
Voldenet joined,
Voldenet left,
Voldenet joined
10:55
sena_kun joined
|
|||
SmokeMachine | is there any public API that give me all raku modules published that depends on another specific module? | 11:19 | |
sena_kun | SmokeMachine: zef rdeps? | 11:20 | |
oops, *rdepends | |||
SmokeMachine | sena_kun: I didn't know that, thanks! | ||
jmerelo | SmokeMachine: p6-river also computes that, but just that. | ||
sena_kun | zef rdepends Crypt::Random gives you some output | ||
SmokeMachine | jmerelo: Hi! do you know if some one have changed the date of my post? I did I make something wrong? | 11:21 | |
chloekek | I’m a bit confused about #| POD. | 11:25 | |
Can I have multiple lines of #| POD, or do I have to use #|( … ) in that case? | |||
And is it possible to attach normal POD, like =head1 … =cut, to a declaration instead of using #|? | 11:26 | ||
SmokeMachine | jmerelo: www.irccloud.com/pastebin/k4bEQT06/ | 11:27 | |
11:28
wamba joined
|
|||
jmerelo | SmokeMachine: if anyone did, it was me... | 11:29 | |
SmokeMachine | sena_kun: do you know if there is a way to make `zef rdepends` return only the most recent version of each module? | ||
jmerelo | SmokeMachine: I rearranged posts to cover those that were missing and so on. | ||
SmokeMachine | jmerelo: I'm just afraid I may have done something wrong... | 11:30 | |
jmerelo | SmokeMachine: please open an issue there. That should have worked... | ||
SmokeMachine: why? | |||
sena_kun | SmokeMachine: I am not sure, but you can do a raku one-liner | ||
like .split, then .Version on the second piece, put into separate buckets using .categorize, then select first based on version, pretty print | 11:31 | ||
SmokeMachine | jmerelo: my post was scheduled (or at least I think it was) for tomorrow, but it was published today... | ||
11:31
jmerelo left
|
|||
chloekek | It seems that it is not possible to do any formatting within #| POD. | 11:32 | |
Because Pod::Block::Declarator.leading returns Str. | 11:33 | ||
11:33
kensanata joined
|
|||
chloekek | OTOH, when I want to document a declaration with =head1, then I must repeat the signature in the POD. | 11:33 | |
CIAvash | chloekek: Just saw your code from a few days ago, if you are interested, you can use hyperoperators there. | 11:38 | |
m: our constant @archive-extensions = <.tar.gz .tgz .zip>; my @rsync-includes := ‘*/’, “/id/*/*/*/Perl6/*” «~« |@archive-extensions ; say “--include=” «~« @rsync-includes; | |||
camelia | (--include=*/ --include=/id/*/*/*/Perl6/*.tar.gz --include=/id/*/*/*/Perl6/*.tgz --include=/id/*/*/*/Perl6/*.zip) | ||
chloekek | Nice! | ||
SmokeMachine | what makes more sense to create a test to verify if my new Red version has broken any of the modules that depends on that (only 2 currently), test the last version of each module or test every version? | 11:56 | |
12:10
chloekek left
|
|||
moritz | depends on your change/deprecation policy | 12:12 | |
but given the current maturity state of the ecosystem, I'd personally go with the latest version only | |||
SmokeMachine | moritz: thanks | 12:16 | |
12:24
kalkin- left
|
|||
SmokeMachine | moritz: do you think this makes sense? github.com/FCO/Red/blob/master/.gi...em.yml#L23 | 12:24 | |
12:32
chloekek joined
|
|||
moritz | SmokeMachine: looks sensible | 12:37 | |
12:38
sena_kun left
12:40
finanalyst joined
12:50
Altai-man joined
12:51
Altai-man is now known as sena_kun
12:55
cpan-raku left
|
|||
tbrowder | .tell chloekek in the next release you should be able to have limited user formatting in the pod leading declarator blocks. i need to put that in the docs, but turning the handling on at the moment requires an environment variable to be set. | 13:13 | |
tellable6 | tbrowder, I'll pass your message to chloekek | ||
13:13
dogbert11 joined,
benjif joined
|
|||
chloekek | .tell tbrowder amazing! | 13:14 | |
tellable6 | chloekek, I'll pass your message to tbrowder | ||
13:14
dogbert17 left
|
|||
tbrowder | goal is to have an appropriate program option to turn it on but i haven't yet grokked option handling | 13:15 | |
you can try it out on the master branch. see pr | 13:16 | ||
rakudo pr... | |||
chloekek | Time to download 2964 tarballs with Raku distributions in them. | 13:18 | |
tbrowder | chloekek: sorry, i lied, pr was stalled because of so much delay for lsst release. i just got my dev setup built again yesterday. i'll try to get the pr ready soon. | 13:22 | |
in the meantime, if someone can point me to how to mod the raku program option handling... | 13:24 | ||
13:29
finanalyst left
|
|||
sena_kun | releasable6, help | 13:32 | |
releasable6 | sena_kun, status | status link # See wiki for more examples: github.com/perl6/whateverable/wiki/Releasable | ||
sena_kun | releasable6, changelog gist.github.com/Altai-man/ed744868...59e7cfb951 | 13:34 | |
releasable6 | sena_kun, It looks like a URL, but mime type is ‘text/html; charset=utf-8’ while I was expecting something with ‘text/plain’ or ‘perl’ in it. I can only understand raw links, sorry. | ||
sena_kun | releasable6 changelog gist.githubusercontent.com/Altai-m...quick-test | ||
13:36
ufobat__ left
|
|||
sena_kun | releasable6, status | 13:36 | |
releasable6 | sena_kun, Next release in ≈5 hours. There are no known blockers. 0 out of 288 commits logged | ||
sena_kun, Details: gist.github.com/161b43f1280ee94aff...acfb1eb676 | |||
sena_kun | hmm | ||
releasable6, changelog gist.githubusercontent.com/Altai-m...quick-test | |||
releasable6 | sena_kun, Successfully fetched the code from the provided URL | ||
sena_kun, Unknown changelog format | |||
13:36
kensanata left
13:44
xinming_ left
13:45
xinming_ joined
|
|||
sena_kun | m: my $_ = 42; (-> { say $_ }).perl.say; | 13:45 | |
camelia | Potential difficulties: Redeclaration of symbol '$_' at <tmp>:1 ------> 3my $_7⏏5 = 42; (-> { say $_ }).perl.say; -> { #`(Block|62375016) ... } |
13:46 | |
13:58
lucasb joined
14:07
patrickb joined
14:10
kotrcka joined
14:13
patrickb left
|
|||
AlexDaniel` | sena_kun: it needs a full file | 14:29 | |
sena_kun: but it knows how to parse the wiki | 14:30 | ||
so editing github.com/rakudo/rakudo/wiki/ChangeLog-Draft is enough for the bot | |||
sena_kun | AlexDaniel`, I have another question: in releasable unreviewed commits I see some commits older than the release, e.g. github.com/rakudo/rakudo/commit/e7...22c6a2c904 is Nov 5, but the release was Nov 26. what am I missing? | 14:33 | |
AlexDaniel` | branch merge? | 14:34 | |
it's not older than the release | |||
master (#3280) | |||
it's on master but not on any tag, so it's a new commit | |||
releasable is right | |||
sena_kun | d'oh | ||
I am dummy, didn't see the PR link | 14:35 | ||
sorry | |||
14:36
wamba left
14:37
Altai-man_ joined
14:39
sena_kun left
14:48
wamba joined
|
|||
tbrowder | need module distro help please: given installed modules Foo and Bar when in a script using them, how do i access a file in %*RESOURCES for Foo as opposed to Bar when they have the same name? i have to go but please .tell me. thnx. | 14:53 | |
15:00
RobRaku joined
15:07
RobRaku left
15:14
dogbert11 left
15:15
dogbert11 joined
15:18
cpan-raku joined,
cpan-raku left,
cpan-raku joined
15:19
RobRaku joined
|
|||
tyil | didn't even know you could access the %*RESOURCES of module outside of the module that ships them | 15:20 | |
15:23
dogbert11 left
15:24
dogbert11 joined
15:25
RobRaku left
15:26
RobRaku joined
15:30
RobRaku left
|
|||
Kaiepi | greppable6, Supply.migrate | 15:38 | |
greppable6 | Kaiepi, 1 line, 1 module: gist.github.com/bfd5d626b812166f9b...d4a58e601a | ||
Kaiepi | greppable6, .migrate | ||
greppable6 | Kaiepi, 28 lines, 10 modules: gist.github.com/4f6d3c03531c15a455...c007b67cf4 | ||
15:40
RobRaku joined
15:45
RobRaku left
15:47
RobRaku joined
15:54
RobRaku left
|
|||
uzl[m] | chloekek: Re #| POD: You can have multiple lines of #| for the multiline comments, just like #| with bracketing characters. I just wish multiline comments weren't formatted into a single line (For instance, newlines are all removed). And you're right, not POD formatting within a declarator block. | 16:05 | |
Altai-man_ | lizmat, ping? | 16:09 | |
lizmat | pong | ||
Altai-man_ | lizmat, hi! can you please explain what github.com/rakudo/rakudo/pull/3280 does, if it is user-observable? | 16:10 | |
I played with .perl method on different chunks of code dancing around parameters, but couldn't spot any difference | |||
lizmat | m: dd ({ ... }).signature | 16:11 | |
camelia | :(;; $_ is raw = OUTER::<$_>) | ||
lizmat | that's the only case now where the $_ is the same as the $_ of the outer context | ||
m: dd (sub { ... }).signature | 16:12 | ||
camelia | :() | ||
lizmat | m: dd (-> $_ { ... }).signature | ||
camelia | :($_) | ||
lizmat | m: dd (-> ;; $_ is raw { ... }).signature | ||
camelia | :(;; $_ is raw) | ||
lizmat | Altai-man_: does that explain it to you ? | ||
Altai-man_ | thanks! I am logging it as "Made `.perl` method call on signature of {...} display `$_` variable from outer scope" | 16:14 | |
lizmat | Altai-man_ ++ | ||
Altai-man_ | m: say $*RAKU | 16:19 | |
camelia | Perl 6 (6.d) | ||
16:27
lucasb left
|
|||
lizmat | yeah, that still needs to be taken care of | 16:29 | |
as many other internal things | |||
Altai-man_ | lizmat, github.com/rakudo/rakudo/blob/mast...de.pm6#L39 <- do we have tests for that? It doesn't work for me with `Cannot assign to an immutable value` and looking at the code I understand why: the named param is immutable | ||
we can either mark the parameter as is copy or do some other trick | |||
lizmat | I'll mark it as "is copy" | 16:30 | |
Altai-man_ | lizmat++ | ||
Altai-man_ .oO ( maybe I should've done that to gain some commits to rakudo ) | |||
lizmat | Altai-man_: if you want, please do :-) | 16:31 | |
since I put in the hack, which was not complete, I felt responsible to fix it | |||
but if you want to do it, by all means! | |||
16:37
sena_kun joined
16:39
kensanata joined,
Altai-man_ left
|
|||
sena_kun | heh, this modem connection is truly, truly irredeemable... | 16:39 | |
lizmat | seems we lost Geth again ?? | 16:40 | |
pinging tyil | |||
moritz | a new instance of geth has a too long gethation period :D | 16:44 | |
16:45
dogbert17 joined
16:46
kotrcka left
16:48
dogbert11 left
|
|||
guifa | uzl[m] & chloekek: adding in the newlines was tbrowder’s work IIRC, so it should be available soon. | 17:15 | |
17:47
wildtrees joined
17:48
wildtrees left,
wildtrees joined
|
|||
sena_kun | lizmat, does github.com/rakudo/rakudo/commit/a5...920d86d41a count as an optimization? | 17:49 | |
17:51
wildtrees left
17:52
gabiruh joined
17:57
sena_kun left
17:58
sena_kun joined
18:03
sena_kun left
18:04
sena_kun joined
|
|||
tbrowder | tyil: and i'm not sure you can either, but if you can't i don't see the utility of them unless during installation they can get placed somewhere. | 18:24 | |
18:28
wildtrees joined
|
|||
tbrowder | hm, wonder if something like this would work: in module Foo define a sub that grabs a %?RESOURCES file and spurts it to a user-defined path which is input to the sub? trying that... | 18:31 | |
tyil | geth is up | 18:35 | |
geth is in this very channel | |||
guifa | Am I crazy to make a module that just provides an exception sub class and nothing else? | 18:36 | |
unit module Intl::Exception; class X::Intl is Exception { }; # nothing else lol | 18:37 | ||
(otherwise I’m not sure how catching on just X::Intl would be if multiple modules all define it) | 18:38 | ||
tyil | lizmat: is the webhook showing an error in github? | 18:40 | |
for geth? | |||
I'll restart it either way for good measure, but the bot itself is connected to irc just as I would expect | 18:46 | ||
18:46
Geth_ joined,
Geth left
18:57
Altai-man_ joined
18:58
sena_kun left
19:18
Altai-man_ left
19:19
sena_kun joined
|
|||
chloekek | .tell jmerelo I collected (and automated the collection of) a bunch of data about packages including historic versions, maybe this can be used to improve package discovery and reproducible builds. For each version: tarball URL, tarball hash, META6.json info. | 19:31 | |
tellable6 | chloekek, I'll pass your message to jmerelo | ||
tbrowder | ok, my theory on extracting a resource from %?RESOURCES worked, hooray!! | 19:49 | |
19:56
wamba left
20:13
mid_laptop left
|
|||
SmokeMachine | tbrowder: how? | 20:20 | |
tbrowder | ah, you'll have to wait until advent day 23 to see! ;-D | 20:21 | |
SmokeMachine | :) | 20:24 | |
20:40
finanalyst joined
20:43
xi left
20:45
xi joined
21:18
gabiruh left
21:20
Altai-man_ joined
21:23
sena_kun left,
vividsnow left
|
|||
Geth_ | advent: e0e8845685 | (Tom Browder)++ (committed using GitHub Web editor) | raku-advent-2020/schedule take the first slot |
21:29 | |
moritz | tbrowder: wow, you're early on this one :D | 21:33 | |
tbrowder | well, you know, to beat the rush ;-D | ||
guifa | haha wow | 21:40 | |
chloekek | p6: my $query := ‘foo % bar _ baz \ lol’; say S:g/(<[%_\\]>)/\\$0/ given $query; | 21:41 | |
camelia | foo \% bar \_ baz \\ lol | ||
21:57
kensanata left
|
|||
chloekek | p6: class C { has Str $x; }; my %h = x => Any; C.new(|%h); | 21:57 | |
camelia | ( no output ) | ||
chloekek | p6: class C { has Str $.x; }; my %h = x => Any; C.new(|%h); | 21:58 | |
camelia | Type check failed in assignment to $!x; expected Str but got Any (Any) in block <unit> at <tmp> line 1 |
||
chloekek | This is a bummer. | ||
I guess I can remove undefined entries from the hash. | |||
p6: class C { has Str $.x; }; my %h = x => Nil; C.new(|%h.pairs.grep(*.value.defined)); | 21:59 | ||
camelia | ( no output ) | ||
chloekek | p6: class C { has Str $.x; has Str $.y; }; my %h = x => Nil, y => 'a'; C.new(|%h.pairs.grep(*.value.defined)); | 22:01 | |
camelia | Default constructor for 'C' only takes named arguments in block <unit> at <tmp> line 1 |
||
Geth_ | doc: 52d05f7ea2 | (Tom Browder)++ (committed using GitHub Web editor) | doc/Language/variables.pod6 Tidy grammar and spelling |
22:05 | |
chloekek | p6: (|{a => 1, b => Nil}).perl.say | 22:08 | |
camelia | slip(:b(Any), :a(1)) | ||
chloekek | p6: (|{a => 1, b => Nil}.pairs).perl.say | ||
camelia | slip(:b(Any), :a(1)) | ||
chloekek | p6: (|{a => 1, b => Nil}.pairs.grep(*.value.defined)).perl.say | 22:09 | |
camelia | slip(:a(1),) | ||
chloekek | p6: (|{a => 1}).perl.say | ||
camelia | slip(:a(1),) | ||
chloekek | :| | ||
p6: (\(|{a => 1})).perl.say | 22:11 | ||
camelia | \(:a(1)) | ||
chloekek | p6: (\(|{a => 1, b => Nil}.pairs.grep(*.value.defined))).perl.say | ||
camelia | \(:a(1)) | ||
chloekek | p6: class C { has Str $.x; }; my %h = x => Nil; C.new(|\(|%h.pairs.grep(*.value.defined))); | 22:12 | |
camelia | ( no output ) | ||
chloekek | Ok that’s rather silly. | ||
22:21
kensanata joined
|
|||
moritz | p6: class C { has Str $.x; }; my %h = x => Nil; C.new(|%h.pairs.grep(*.value.defined).hash)).perl.say | 22:29 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Unexpected closing bracket at <tmp>:1 ------> 3ew(|%h.pairs.grep(*.value.defined).hash)7⏏5).perl.say |
||
moritz | p6: class C { has Str $.x; }; my %h = x => Nil; C.new(|%h.pairs.grep(*.value.defined).hash).perl.say | ||
camelia | C.new(x => Str) | ||
chloekek | p6: my $s := |{a => 1, b => Nil}.pairs.grep(*.value.defined); class C { has Int $.a; has Int $.b }; C.new($s) | 22:31 | |
camelia | Default constructor for 'C' only takes named arguments in block <unit> at <tmp> line 1 |
||
chloekek | p6: my $s := |{a => 1, b => Nil}.pairs.grep(*.value.defined); class C { has Int $.a; has Int $.b }; C.new(|$s) | ||
camelia | Default constructor for 'C' only takes named arguments in block <unit> at <tmp> line 1 |
||
chloekek | It seems that | is not slip if it is in an argument lst. | ||
list* | |||
p6: my $s := |{a => 1, b => Nil}; class C { has Int $.a; has Int $.b }; C.new($s) | 22:32 | ||
guifa | | has a different function in argument lists | ||
camelia | Default constructor for 'C' only takes named arguments in block <unit> at <tmp> line 1 |
||
guifa | it defines a capture | ||
chloekek | p6: class C { has Str $.x; }; my %h = x => Nil; C.new(|\(|%h.pairs.grep(*.value.defined))); | ||
camelia | ( no output ) | ||
chloekek | Then why does this not fail? | ||
guifa | Err, sorry I meant to say | is different in parameters, it’s fine in arguments. The reason it doesn’t fail is that is that you haven’t forced $.x to be defined | 22:34 | |
If you output C you’ll see what happens: | |||
p6: class C { has Str $.x; }; my %h = x => Nil; say C.new(|\(|%h.pairs.grep(*.value.defined))); | 22:35 | ||
camelia | C.new(x => Str) | ||
guifa | The value of $.x is Str — an undefined type object | ||
p6: class C { has Str:D $.x; }; my %h = x => Nil; say C.new(|\(|%h.pairs.grep(*.value.defined))); | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Variable definition of type Str:D requires an initializer at <tmp>:1 ------> 3class C { has Str:D $.x7⏏5; }; my %h = x => Nil; say C.new(|\(|%h. expecting any of: constraint |
||
guifa | Notice the addition of the smiley constraint :D after Str — it says that $.x has to be not just a Str, but a defined Str | 22:36 | |
and so it errors | |||
I’m actually writing a little doc on that topic right now | |||
chloekek | I mean, why doesn’t it fail with the error Default constructor for 'C' only takes named arguments? | ||
guifa | Named arguments are by default optional and you don’t have to provide for all of them, and you can even provide extra ones without problem. Positional arguments are by default required and passing more or less than expect causes problems. | 22:38 | |
22:38
pilne left
|
|||
guifa | since you didn’t overload new(), it goes with the default one | 22:39 | |
22:39
pilne joined
|
|||
guifa | and the default new() only takes named arguments (its signature is *%args, IIRC) | 22:41 | |
23:03
rindolf left
23:08
kensanata left
23:21
sena_kun joined
23:23
Altai-man_ left
|
|||
chloekek | p6: my %h = 'a' => Str; (%h<a> //= '') .= split(','); say %h<a>.perl | 23:29 | |
camelia | $(("",).Seq) | ||
chloekek | p6: my %h = 'a' => Str; %h<a> //= '' .= split(','); say %h<a>.perl | ||
camelia | Cannot modify an immutable Str () in block <unit> at <tmp> line 1 |
||
chloekek | p6: my %h = 'a' => Str; (%h<a> //= '') .= split(',').cache; say %h<a>.perl | 23:31 | |
camelia | $(("",).Seq) | ||
chloekek | p6: my %h = 'a' => Str; (%h<a> //= '') = <a b c>; say %h<a>.perl | 23:32 | |
camelia | $("a", "b", "c") | 23:33 | |
chloekek | Oh I am so confused. | ||
Lists and sequences and arrays are so complicated compared to Perl 5. | |||
tobs | They are. In this case I would expect (%h<a> //= '') to assign '' but still return the Scalar container for the key "a" in %h, which then gets assigned the list (itemized). | 23:35 | |
chloekek | p6: my %h = 'a' => Str; (%h<a> //= '') := <a b c>; say %h<a>.perl | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Cannot use bind operator with this left-hand side at <tmp>:1 ------> 3 = 'a' => Str; (%h<a> //= '') := <a b c>7⏏5; say %h<a>.perl |
||
chloekek | p6: my %h = 'a' => Str; %h<a> //= ''; %h<a> := <a b c>; say %h<a>.perl | ||
camelia | ("a", "b", "c") | ||
chloekek | It would be easier if scalar container introduction was explicit. | 23:36 | |
Would be nice to have a pragma for that. | |||
p6: my %h = 'a' => Str; %h<a> //= ''; %h<a> := $(<a b c>); say %h<a>.perl | |||
camelia | $("a", "b", "c") | ||
tobs | I think the idea is that for a user, a Hash is just a Map with implicit containers in every slot. The Scalar containers are what enables mutability of Hash over Map. | 23:41 | |
23:45
kalkin- joined
|
|||
chloekek | Ah, I don’t have to mutate the hash, since I’m spurting it into an argument list and I can supply an override afterwards. | 23:48 | |
my @meta-tags = split(‘,’, %^r<meta-tags> // ‘’).grep(?*).sort; SearchResult.new(|%^r, :@meta-tags); | |||
23:55
finanalyst left
23:56
EuAndreh[m] joined
|