4 Jul 2022
uzl[m] I am planning to watch some of the Raku videos... Would the person running the Youtube channel be interested in timestamps for the videos? 13:39
Also will the videos make it to The Raku Conference (www.youtube.com/channel/UCnKoF-Tkn...U3Bc_jUA)? 13:40
CIAvash: I'm failing to build rakudo-bin from AUR. It says "ERROR: One or more PGP signatures could not be verified!". Any idea about this? 13:46
Voldenet jjatria: I meant AT-KEY to access SameSite for cookie as string, it wouldy much allow handling any future changes and additions to cookies 14:47
s/wouldy/would/
s/much//
jjatria Voldenet: that should be fairly easy to add, it would basically be an alias for `$cookie.get('samesite')` 15:34
Voldenet there's one inconsistency though: .get('HttpOnly') will not work, but .get('SameSite') will 15:38
jjatria If `.get('HttpOnly')` doesn't work then that's a bug; it _should_ be working 15:39
Voldenet > return .(self) with self.^can($key).first; 15:40
jjatria Ah, that should be canonicalised to lc 15:41
Voldenet++ spotting bugs left and right 🎉 15:43
CIAvash uzl: It's mentioned in the comments, you need to import the key via `gpg --keyserver hkps://keys.openpgp.org --receive-keys DB2BA39D1ED967B584D65D71C09FF113BB6410D0` 15:48
uzl[m] CIAvash: Thanks 🙏! I should have looked in there first haha 18:18
CIAvash no problem 18:19
5 Jul 2022
guifa o/ 06:22
Xliff \o 12:55
Can the current implementation of macros be used like a sub? 12:56
I would like to make a set of need statements reusable. Is that possible with the current implementation? 13:01
m: use MONKEY-SEE-NO-EVAL; use experimental :macros; macro hai { quasi { say "O, HAI" } }; hai 13:02
camelia O, HAI
Xliff That works... but this doesn't...
use MONKEY-SEE-NO-EVAL; use experimental :macros; my $a = 42; macro a { quasi { $a } }; say a
evalable6 (Mu)
Xliff I would expect that second one to emit '42'. Can someone tell me what I am doing wrong? 13:03
jjatria Xliff: I think the issue is that the value needs to be available at compile time 13:25
m: use MONKEY-SEE-NO-EVAL; use experimental :macros; constant A = 42; macro a { quasi { A } }; say a
camelia 42
jjatria See the end of docs.raku.org/syntax/macros 13:26
m: use MONKEY-SEE-NO-EVAL; use experimental :macros; macro a($x) { quasi { {{{$x}}} } }; my $a = 42; say a $a 13:33
camelia 42
jjatria That also works
Xliff Ah! Thank you both! 13:37
Can macros be exported? 13:38
m: package A { macro b is export { quasi { say 'HI!' }; }; };
camelia ===SORRY!=== Error while compiling <tmp>
Use of macros is experimental; please 'use experimental :macros'
at <tmp>:1
------> package A { macro⏏ b is export { quasi { say 'HI!' }; }; }
Xliff m: use experimental :macros; package A { macro b is export { quasi { say 'HI!' }; }; };
camelia ( no output )
Xliff m: use experimental :macros; package A { macro b is export { quasi {need NativeCall }; }; }; import A; b; CArray.^name.say 13:46
camelia ===SORRY!=== Error while compiling <tmp>
Undeclared name:
CArray used at line 1. Did you mean 'array', 'Array'?
Xliff Hmmm.. -- Do I need to worry that the need call is lexicalized in the quasi block, when it should be lexicalized into the calling one? 13:47
dakkar I fear that falls under "macros aren't fully implemented" 14:09
I agree it should affect the caller
Xliff Ah well. I was hoping there was a way to make my life easier by putting repetitive code like need statements within a macro. 14:17
All in due time, I guess.
dakkar m: use experimental :macros; package A { macro b is export { quasi {use NativeCall }; }; }; import A; b; CArray.^name.say 14:31
camelia ===SORRY!=== Error while compiling <tmp>
Undeclared name:
CArray used at line 1. Did you mean 'array', 'Array'?
dakkar ok, the problem wasn't that `need` doesn't import symbols
Xliff: github.com/LLFourn/p6-CompUnit-Uti...-exporting may help make your life easier 14:39
tellable6 dakkar, I'll pass your message to Xliff
jjatria Looking more into SameSite, I don't think that can be done without access to the public suffix list, which we don't seem to have at the moment in Raku 14:59
And I guess in that case, the hardest thing would be to make it so that it doesn't go stale (since the list is updated several times a week) 15:00
I did see a Rust library that checked for updates every day and auto-minted a release, but I don't think we have any prior art for that sort of thing in zef 15:01