🦋 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:06 vike joined 00:14 Altai-man joined, Doc_Holliwood left 00:16 sena_kun left 00:51 justsomeguy joined, Kaiepi joined 01:02 justsomeguy left 01:25 Black_Ribbon left 01:30 gnufr33dom joined 01:44 MilkmanDan left, MilkmanDan joined 01:45 molaf left 01:57 molaf joined 02:01 zacts left 02:02 aborazmeh joined, aborazmeh left, aborazmeh joined 02:05 Manifest0 left, Manifest0 joined 02:15 sena_kun joined 02:17 Altai-man left
elcaro rypervenche: You've also got `eqv` and the 3-way comparison ops (cmp, leg, <=>) at your disposal 02:19
m: my @n = 1..9; my @s = @n».Str; say @n cmp @s; say @n eqv @s; say @n eqv @s».Int;
camelia Same
False
True
rypervenche Oooh 02:20
elcaro leg does stringy comparson, <=> does numeric, cmp is dynamic 02:21
but generally useful for those rare times you need to compare lists
m: say (1, 2, 3) cmp (1, 2, 4)
camelia Less
guifa one way to think of them is as pairs 02:22
== and <=>
eq and eqv
~~ and cmp
elcaro you mean... eq and leg ?
02:23 melezhik joined
guifa err 02:23
yes
melezhik .tell @rba looks like there is no longer ssh connection to brezeleisen for rakudist users
tellable6 melezhik, I cannot recognize this command. See wiki for some examples: github.com/Raku/whateverable/wiki/Tellable
melezhik .tell rba: looks like there is no longer ssh connection to brezeleisen for rakudist users 02:24
tellable6 melezhik, I'll pass your message to rba
guifa actually
eqv and cmp are probably the better pair
since ~~ doesn’t always compare stuff
elcaro eqv doesn't do dynamic comparisons, cmp does 02:25
02:26 melezhik left
guifa yeah, it’s an imperfect example I know lol 02:27
02:52 aborazmeh left 03:02 MasterDuke left 03:06 |Sno| joined 03:08 patrickb left 03:09 [Sno] left 03:10 sno joined 03:11 |Sno| left 03:14 sno left 03:15 sno joined 03:17 patrickb joined 03:24 guifa2 left 03:37 dataangel left, zacts joined 03:42 orinthe left 03:46 zacts left 03:47 zacts joined 04:05 dataangel joined 04:11 orinthe joined 04:14 Altai-man joined 04:17 sena_kun left 04:32 rindolf joined 04:42 Prince213 left 04:44 zacts left, Prince213 joined 05:27 stoned75 left 05:28 stoned75 joined 05:32 Prince213 left 05:37 bocaneri joined 05:39 ensamvarg3 joined
moon-child how come m:g is legal, but rx:g isn't? 05:41
05:42 patrickb left 06:03 Guest71214 is now known as aluaces
xinming_ SmokeMachine: What is the native way to handle txn in Red? 06:12
06:16 eiro left 06:18 guifa left, eiro joined 06:20 sjm_uk joined 06:21 guifa joined, skids left
xinming_ SmokeMachine: ignore me, Just grep the source, and found the :trasaction in red-do 06:30
06:46 JJMerelo left 06:47 JJMerelo joined
SmokeMachine xinming_: yes, that’s it. But transactions is something that needs some improvement on Red 06:48
Geth doc: 28a156ea37 | (Tom Browder)++ (committed using GitHub Web editor) | doc/Language/nativecall.pod6
Add short description for a NativeCall helper (#3554)

  * Add short description for a NativeCall helper
  * make language more objective
06:58
linkable6 Link: docs.raku.org/language/nativecall
DOC#3554 [closed]: github.com/Raku/doc/pull/3554 Add short description for a NativeCall helper
JJMerelo m: say Q:val<33> 07:06
camelia 33
JJMerelo m: say Q:<33>
camelia 5===SORRY!5=== Error while compiling <tmp>
Colons may not be used to delimit quoting constructs
at <tmp>:1
------> 3say Q:7⏏5<33>
expecting any of:
colon pair (restricted)
JJMerelo m: say Q<33>
camelia 33
JJMerelo m: say Q:v<33> + 3 07:07
camelia 36
07:07 Sgeo left
Geth doc: 75596da2a8 | (JJ Merelo)++ | doc/Language/quoting.pod6
Additional examples and clarification for #3553
07:11
linkable6 Link: docs.raku.org/language/quoting
DOC#3553 [closed]: github.com/Raku/doc/issues/3553 [docs] Adverbial :h to quoting constructs has no docs.
07:13 Doc_Holliwood joined 07:15 sena_kun joined 07:16 dolmen joined, Altai-man left
JJMerelo .tell leont we need the article today; let me know if you can't and I'll upload it for you. 07:17
tellable6 JJMerelo, I'll pass your message to leont
JJMerelo And we're down to 0 scheduled articles in the 20th anniversary calendar. If you promised one, deliver it now, If you didn't, but intended to, pick a RFC and start writing. 07:19
If you neither did nor intended, please consider it. We're still 7 articles short of the full calendar. 07:20
07:26 dakkar joined 07:30 leont joined
JJMerelo hey, leont 07:33
leont Hey 07:36
Yeah, we need to post that thing.
tellable6 2020-08-12T07:17:36Z #raku <JJMerelo> leont we need the article today; let me know if you can't and I'll upload it for you.
07:39 JJMerelo left
leont Forgot to get back to that yesterday 07:40
How does that work? 07:41
08:31 JJMerelo joined
leont Forgot to get back to that yesterday 08:33
How does that work?
SmokeMachine xinming_: did it work for you? 08:37
08:40 ab5tract_ left 08:41 ab5tract_ joined 09:03 JJMerelo left 09:05 CIAvash left, AlexDaniel` left, Nasrudin left, unclechu left, matiaslina left 09:07 xxpor left 09:10 xxpor joined, AlexDaniel` joined 09:16 ab5tract joined 09:17 unclechu joined, Nasrudin joined, CIAvash joined, matiaslina joined, andrzejku left
ab5tract `cmp` uses the successor/previous methods if available, right? 09:18
tellable6 2020-08-10T07:51:30Z #raku-dev <JJMerelo> ab5tract will do. Also, online now.
09:18 MasterDuke joined
ab5tract feels great to have the blog post out. I probably spent an irrational amount of time on it :) 09:19
09:31 Kaiepi left 09:32 Kaiepi joined, Doc_Holliwood left 10:03 JJMerelo joined 10:05 stoned75 left 10:14 Altai-man joined 10:16 JJMerelo left 10:17 sena_kun left 10:42 Gurra joined 10:44 Gurra left
lizmat forgot to clickbait rakudoweekly.blog/2020/08/10/2020-...ey-please/ yesterday 10:52
jnthn I think I read it but forgot to say lizmat++ :) 10:55
11:01 Gurra joined
Gurra m: my @ah := array-hash('x' => 12, 'm' => 14, 'a' => 32) 11:01
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
array-hash used at line 1
Gurra use ArrayHash
m: my @ah := array-hash('x' => 12, 'm' => 14, 'a' => 32)
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
array-hash used at line 1
Gurra No way to load ext modules here? 11:02
jnthn Probably not with that bot; not sure if evalable6 might offer it 11:04
evalable6: use ArrayHash; my @ah := array-hash('x' => 12, 'm' => 14, 'a' => 32)
evalable6 (exit code 1) 04===SORRY!04=== Er…
jnthn, Full output: gist.github.com/b308c869336fff2d2c...8d44eea3e5
Gurra Well, anyway: I'm trying to export a hash to json with keys in defined order using ArrayHash and JSON::Fast, but that results a array of pairs ... Do I do something wrong or is there another way? 11:05
AlexDaniel` evalable6: use lib `data/all-modules/cpan/HANENKAMP/ArrayHash/`; use ArrayHash; my @ah := array-hash('x' => 12, 'm' => 14, 'a' => 32) 11:06
evalable6 (exit code 1) 04===SORRY!04=== Er…
AlexDaniel`, Full output: gist.github.com/ff3fabae585eb79a00...2418eadd0c
AlexDaniel` * evalable6: use lib ‘data/all-modules/cpan/HANENKAMP/ArrayHash/’; use ArrayHash; my @ah := array-hash('x' => 12, 'm' => 14, 'a' => 32)
evalable6: use lib ‘data/all-modules/cpan/HANENKAMP/ArrayHash/’; use ArrayHash; my @ah := array-hash('x' => 12, 'm' => 14, 'a' => 32) 11:07
evalable6 (exit code 1) 04===SORRY!04=== Er…
AlexDaniel`, Full output: gist.github.com/d8e5b864058fb626a0...bc07be67c9
AlexDaniel` oh come on
Gurra :-) 11:08
AlexDaniel` evalable6: chdir ‘sandbox’; run <git clone>, ‘github.com/zostay/raku-ArrayHash.git’
evalable6 Cloning into 'raku-ArrayHash'...
11:08 MasterDuke left
AlexDaniel` evalable6: use lib ‘sandbox/raku-ArrayHash’; use ArrayHash; my @ah := array-hash('x' => 12, 'm' => 14, 'a' => 32) 11:08
evalable6
AlexDaniel` tadaaaaa
but you need json::fast too? x) 11:09
Gurra How do proceed? Can I use your using or do I have to do it again?
AlexDaniel` evalable6: use lib ‘data/all-modules/cpan/TIMOTIMO/JSON-Fast/’; use lib ‘sandbox/raku-ArrayHash’; use ArrayHash; use JSON::Fast; my @ah := array-hash('x' => 12, 'm' => 14, 'a' => 32) 11:10
evalable6
AlexDaniel` Gurra: yeah, you can copy it
Gurra evalable6: use lib ‘data/all-modules/cpan/TIMOTIMO/JSON-Fast/’; use lib ‘sandbox/raku-ArrayHash’; use ArrayHash; use JSON::Fast; my @ah := array-hash('x' => 12, 'm' => 14, 'a' => 32) 11:11
evalable6
11:11 Kaiepi left
Gurra evalable6: my %h := @ah 11:12
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/twlOaBOebg
Variable '@ah' is not declared
at /tmp/twlOaBOebg:1
------> 03my %h := 08⏏04@ah
AlexDaniel` has to be a single command
or you can put it into a gist
11:12 Kaiepi joined
Gurra Aha! 11:13
evalable6: use lib ‘data/all-modules/cpan/TIMOTIMO/JSON-Fast/’; use lib ‘sandbox/raku-ArrayHash’; use ArrayHash; use JSON::Fast; my @ah := array-hash('x' => 12, 'm' => 14, 'a' => 32); my %h := @ah; to-json %h 11:14
evalable6
Gurra evalable6: use lib ‘data/all-modules/cpan/TIMOTIMO/JSON-Fast/’; use lib ‘sandbox/raku-ArrayHash’; use ArrayHash; use JSON::Fast; my @ah := array-hash('x' => 12, 'm' => 14, 'a' => 32); my %h := @ah; my $j = to-json %h; $j.say
evalable6 [
{
"x": 12
},
{
"m": 14
},
{
"a": 32
}
]
Gurra There we are! Now my question repeated from above: I'm trying to export a hash to json with keys in defined order using ArrayHash and JSON::Fast, but that results in a array of pairs ... Do I do something wrong or is there another way? 11:15
codesections Wait, we can run something from a gist on here? How do we do that? 11:16
Gurra well actually a array of hashes but that's fine
AlexDaniel` e: gist.github.com/AlexDaniel/0af4885...c0976acb66 11:17
evalable6 42
AlexDaniel` codesections: you can use multiple files too
codesections Oh cool, thanks :)
AlexDaniel` e: gist.github.com/AlexDaniel/d96fbd0...6b67b224c7 11:19
evalable6 AlexDaniel`, Using file “foo.p6” as a main file, other files are placed in “./sandbox”
42
AlexDaniel` timotimo: ↑ JSON::Fast question 11:20
11:24 stoned75 joined 11:30 dolmen left 11:52 dolmen joined 12:00 Gurra left 12:04 wamba joined 12:05 MasterDuke joined 12:07 veesh_ joined 12:09 veesh left, veesh_ is now known as veesh 12:15 sena_kun joined 12:17 Altai-man left 12:53 Gurra joined
tbrowder .tell finanalyst great advent article 12:54
tellable6 tbrowder, I'll pass your message to finanalyst
12:55 stoned75 left
rypervenche I'm testing out a *very* simple IRC bot using IRC::Client and I'm using "start" on a "run" sub to have it run Raku code asynchronously without blocking (await). I wand to add some more logic to it with using stderr, but I can't figure out how to best implement the start(s). Since I'm now putting stdout and stderr into variables, I'm not sure how to do this. Any ideas? 12:55
gist.github.com/rypervenche/b5da76...1f3643c59a 12:56
12:58 stoned75 joined 12:59 cpan-raku left
jnthn rypervenche: Did you consider using Proc::Async? 12:59
12:59 cpan-raku joined, cpan-raku left, cpan-raku joined
rypervenche That was part of why I was asking this. I didn't know if I should be using some other type of thing like Proc::Async, or react blocks or something else. 13:00
jnthn Probably things will go more smoothly using Proc::Async in so far as it's async right away, whereas if you use run/Proc then you're using something synchronous and trying to make it behave more async 13:01
(And, while it doesn't really matter, the funny implementation detail here is that Proc/run actually use Proc::Async as an implementation detail anyway)
rypervenche All right, I'll try that out then. Thank you. 13:02
13:02 Gurra left
jnthn Ah, and you best use Proc::Async in combination with supply/react/whenever 13:03
rypervenche Yeah, I'll try using react/whenever and see how that goes. 13:09
13:15 Kaeipi joined 13:16 Kaiepi left 13:22 stoned75 left 13:26 zacts joined 13:33 Sgeo joined 14:10 MasterDuke left 14:13 stoned75 joined 14:14 wamba left, Altai-man joined 14:17 sena_kun left, MilkmanDan left
Geth doc/bag-op-ref: 3bde44d69e | (Stoned Elipot)++ | 2 files
More on { } and < > operators for Bag and BagHash

  - mention <> postcircumfix for BagHash
  - add ref to operators' description
14:23
doc: stoned++ created pull request #3556:
More on { } and < > operators for Bag and BagHash
14:24
14:33 dogbert17 left 14:49 Noisytoot left 14:52 Noisytoot joined 14:55 skids joined 15:04 MilkmanDan joined 15:06 ab5tract left, ab5tract_ left, silug left 15:09 silug joined, MilkmanDan left 15:12 MilkmanDan joined 15:14 silug left
Geth doc: 2f90c50d18 | stoned++ (committed using GitHub Web editor) | 2 files
More on { } and < > operators for Bag and BagHash (#3556)

  - mention <> postcircumfix for BagHash
  - add ref to operators' description
15:16
linkable6 DOC#3556 [closed]: github.com/Raku/doc/pull/3556 More on { } and < > operators for Bag and BagHash
15:18 cpan-raku left, molaf left 15:20 cpan-raku joined, cpan-raku left, cpan-raku joined
rir How is a class declared or enforced as concrete i.e. not sub-classable? 15:21
timotimo you mean "final"? 15:24
jnthn There's no way to restrict that in Raku 15:26
lizmat I guess making all methods 'submethod' comes close ?
jnthn I...guess :) 15:27
timotimo can you give it something like a compose phaser, or override one of the metamethods that would be called during subclassing and just let that die
jnthn There's no particular meta-method that's called on the superclass during subclassing; the relationship is child -> parent. Generally, parent classes don't know about their children 15:28
Roles do know about being composed though, in so far as the role body runs at each compose time 15:29
Given that, I don't think we need a COMPOSE phaser
timotimo m: role dog { say "bark bark! ", ::?CLASS.^name }; class parent is dog { }; class child is parent { }
camelia bark bark! dog
timotimo oh, not is 15:30
m: role dog { say "bark bark! ", ::?CLASS.^name }; class parent does dog { }; class child is parent { }
camelia bark bark! parent
timotimo ok, not called in the child
jnthn No, I'd not expect it to be
timotimo right
jnthn rir: Why do you want to, out of curiosity? 15:31
timotimo m: class parent { method ^compute_mro($class) { say $class.name } }; class child is parent { }
camelia ( no output )
timotimo m: class parent { method ^compute_mro($class) { say $class.name } }; class child is parent { }; say child.^mro
camelia ((child) (parent) (Any) (Mu))
timotimo m: class parent { method ^create_BUILDPLAN($obj) { say $obj.^name; } }; class child is parent { }; 15:33
camelia ( no output )
timotimo m: class parent { has $.bar; method ^create_BUILDPLAN($obj) { say $obj.^name; } }; class child is parent { has $.test };
camelia ( no output )
timotimo not like that obviously
15:35 rindolf left 15:39 Doc_Holliwood joined 15:40 melezhik joined
lizmat one possibility would be to add a trait "is notsubclassable" that would be just a flag, and let the "is type" trait introspect that and die if set ? 15:42
jnthn But why do we want the functionality in the first plae? 15:43
*place
I know there's a meme of "Raku has everything from every language" but a) it's not really true, and b) some things are better not stolen
timotimo right 15:46
tbrowder why can't we have a blogging system similar to github/tpf/perldotcom? 15:52
looks nicer than most worpress stuff, full control, etc. 15:53
timotimo you're refering to the advent calendar that's currently being written to? 15:54
15:54 dolmen_ joined 15:57 dolmen left 16:05 gnufr33dom left
tbrowder no, that’s wordpress 16:08
16:09 melezhik left
tbrowder we tried to get another system for advent last year but gave up and stayed with wordpress 16:10
but it’s still a pita for me and others 16:11
the perl.com blog site looks good and can be fully cli driven by authors.
timotimo mhhh, micropub 16:12
tbrowder with pod writing and auto conversion to markdown it ought to encourage more authors
micropub, that snds famil 16:13
and it would maybe ease lizmat’s job 16:15
for the weekly
16:15 sena_kun joined
timotimo micropub is a specification for how publishable stuff should be posted to different systems 16:15
tbrowder ah 16:16
timotimo like, one protocol (REST-based) for microblogging and blogging and CMSes and such
lizmat tbrowder: the actual putting into a blog, is not really the work :-)
16:17 Altai-man left, silug joined
timotimo there's some cool ideas in the indieweb niche 16:17
tbrowder hey, i know, but still...
timotimo indieweb also pertains to ActivityPub and ActivityStream and such 16:18
tbrowder just don’t mention power shell
timotimo there's a w3c working group note "Social Web Protocols" that gives an overview over activitypub, activitystreams, linked data notifications, micropub, webmention, and websub 16:20
was made aware of it by a lightning talk on the perl conf in the cloud
rir jnthn: Concreting a class doesn't seem that important but if a class is not designed to be subclasses, it is just tighter design to enforce that. 16:22
^ s/lasses/lassed/ 16:27
16:30 ab5tract joined, ab5tract_ joined 16:31 ab6tract joined
jnthn I dunno, quite a few times I've come across something in Java projects where it woulda been easy to solve a problem with a subclass, but it was `final`'d so that door was closed. 16:32
16:32 rindolf joined 16:33 dakkar left 16:35 ab5tract left, ab5tract_ left, ab5tract joined 16:59 dolmen_ left
ab6tract jnthn, have you ever had any encounters with Eiffel? Design by contract is intended to make use of `final` unnecessary as contract unions guarantee that even multiple inheritance can be done safely and sensibly 16:59
thus leaving library implementors much less paranoid about providing less fettered access to the object 17:00
jnthn ab6tract: Not really, other than having been in a talk by its creator. :) 17:07
(as in, attending the talk)
17:07 dolmen_ joined
jnthn I think our PRE and POST are meant to be in that space. 17:08
17:10 JJMerelo joined
JJMerelo .tell leont still nothing scheduled for today. I'm gonna upload your article. Please accept the invitation and I'll assign authorship to you. 17:10
tellable6 JJMerelo, I'll pass your message to leont
jnthn home time & 17:11
17:13 natrys joined
Geth advent: 8836e3e55e | (JJ Merelo)++ | 20th/articles/rfc22.md
Making corrections prior to scheduling
17:17
rir jnthn: I am not aiming to stop inheritance, just raise a flag where behavior should usually put over a group of classes. 17:24
17:29 andrzejku joined 17:33 zacts left 17:37 dolmen_ left
timotimo oh hey ab6tract 17:46
the output of --profile should give you insight into where rat objects are created, and what places call math functions that take rats 17:47
18:02 zacts joined 18:03 JJMerelo left 18:04 Doc_Holliwood left 18:13 Grauwolf_ joined 18:14 Altai-man joined, riasue joined 18:16 sena_kun left 18:17 e left 18:20 AlexDaniel` left, leah2 left, domm left, Grauwolf left, riatre left, molaf joined 18:21 dolmen_ joined, dolmen_ left, Nasrudin left, unclechu left, CIAvash left, matiaslina left 18:23 domm joined 18:24 karupanerura left 18:25 CIAvash joined, leah2 joined 18:26 bocaneri left 18:28 karupanerura joined 18:30 Doc_Holliwood joined 18:32 unclechu joined, AlexDaniel` joined, Nasrudin joined, matiaslina joined 18:34 e joined 18:39 Black_Ribbon joined 19:07 wamba joined 19:09 zacts left 19:14 MasterDuke joined 19:16 zacts joined 19:23 zacts left, zacts joined
AlexDaniel` Gurra: looks like nobody answered your question. Maybe consider opening a bug report for JSON::Fast? I think JSON::Fast is not playing well with ArrayHash-es and that's the problem. I think I had this exact problem in the past. github.com/timo/json_fast/issues 19:24
tellable6 AlexDaniel`, I'll pass your message to Gurra
19:54 molaf left, vike left 20:10 MilkmanDan left 20:13 vike joined 20:14 sjm_uk left 20:15 Kaeipi left 20:16 Kaiepi joined
Geth advent: 058e9850f4 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 20th/README.md
Add RFC 200
20:28
20:42 squashable6 left 20:44 squashable6 joined 20:47 rindolf left
Geth advent: 222550f270 | (Tobias Boege)++ | 20th/README.md
20th: Claim RFC 190 (which also includes 8)
20:49
20:58 zacts left 20:59 zacts joined 21:00 ensamvarg3 left 21:15 sena_kun joined 21:16 Altai-man left 21:18 Kaiepi left 21:20 Kaiepi joined 21:26 molaf joined 21:27 Xliff joined
Xliff \o 21:28
Most efficient way to convert a Blob to a CArray?
;)
m: use NativeCall; my $b = Blob.new(^10); my $c = CArray.new($b); $c.gist.say
camelia CArray cannot be used without a type
in method AT-POS at /home/camelia/rakudo-m-inst-2/share/perl6/core/sources/8660F65A7B3492675BB3B2058DB30E411A4C4E54 (NativeCall::Types) line 93
in method new at /home/camelia/rakudo-m-inst-2/share/perl6/cor…
Xliff m: use NativeCall; my $b = Blob.new(^10); my $c = CArray[uint8].new($b); $c.gist.say
camelia NativeCall::Types::CArray[uint8].new 21:29
Xliff m: use NativeCall; my $b = Blob.new(^10); my $c = CArray[uint8].new($b); $c[$_].say for ^10;
camelia 0
1
2
3
4
5
6
7
8
9
Xliff Can't be that easy... can it? Remember: 'most efficient!'
21:30 wamba left 21:52 Xliff left 21:59 natrys left 22:04 stoned75 left 22:08 MilkmanDan joined 22:10 zacts left 22:22 zacts joined
Geth advent: 564c138d02 | (Jonathan Worthington)++ (committed using GitHub Web editor) | 20th/README.md
Sign up to write an article
22:36
23:04 leont left 23:06 Kaiepi left 23:09 Kaiepi joined 23:11 Doc_Holliwood left