🦋 Welcome to the MAIN() IRC channel of the Raku Programming Language (raku.org). This channel is logged for the purpose of keeping a history about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | Log inspection is getting closer to beta. If you're a beginner, you can also check out the #raku-beginner channel!
Set by lizmat on 25 August 2021.
perryprog Yup. Check out the section "Successfully used in production at" on raku.org 00:01
tbrowder Petr: jnthn’s xls module is best. mine is in limbo for now.
Petr thanks 00:04
tbrowder but Raku’s Inline::Perl5 module is very usable for interface with many Perl modules. and its author is very helpful if you run into problems
perryprog is the author you
Petr I cant find Raku books, nothing 00:06
I from dotnet and have problems with learning )) 00:08
berber44 what is "test-t benchmark"? Is this the same as roast test suit? 00:13
Petr what you think about Gumbo? seems to be outdated 00:15
berber44 I've read in Rakudo Weekly that new dispatch mechanism made test-t benchmark 20% faster. Does it mean that roast test suit runs 20% faster? 00:16
tbrowder perryprog: author is @nine 00:27
perryprog darn, thought you being cheeky :P
tbrowder ;-D 00:28
tbrowder he helped and updated the module when i was trying to interface with a Perl XLS module: John McNamara’s excellent xls writer modules 00:31
which i have used for over 20 yrs
Tirifto Hello again! Raku is throwing me this error: ‘Cannot look up attributes in a Door type object’. Door is a class I made, but I can’t think of anything that would prevent attribute lookup. Are there any well-known gotchas I may have missed? 00:32
tbrowder how are attrs defined? code example? 00:33
can we see Door class decl? 00:35
and its use? a gist? 00:36
Petr Can Raku run on android devices& 00:40
?
Tirifto tbrowder: I’m working on a small (text-based) game for a jam; Door is an Entity (basic game object) supposed to link Rooms together. For design reasons, I don’t actually put Door objects into Rooms, but I make Doorside objects, each of which is supposed to refer to a Door and delegate its messages to it. But the ‘name’ method didn’t work as intended when called on Doorside. I thought maybe I misunderstood how d 00:48
elegation worked, so I tried to override it with a custom method that just called ‘name’ on the Door object explicitly. That’s when I got the error.
Here’s a link to the relevant pieces of code; I can send more if that helps, I just wanted to avoid all the side clutter. zerobin.net/?e1a93ba281fc2ef0#WxeV...bMyDCjzDk=
Tirifto Oh wait. 00:52
Ohh, when Raku says ‘Door type object’ it literally means the object representing the Door type. I wrongly thought it meant any object whose type was Door. That gives me a clue as to what might be wrong. Sorry for the confusion. >_< 00:54
(The gist I printed actually tipped me off; thanks!)
Juerd Tirifto: It may help to know that a typed variable starts out containing the type object 00:56
Tirifto: So simply having "class Door { has $.foo }; my Door $d; $d.foo;" will get you that error 00:57
That's because $d is not defined, and thus contains the type object
Tirifto Juerd: I sort of knew about it but hadn’t realised the implication in this situation. Thank you for pointing that out. >_< 00:59
Juerd The error message may be slightly LTA because it could mention that the value is not defined to help out people unfamiliar with this pattern.
Tirifto Hmm… that sounds nice to have! 01:05
berber44 Hello! Could someone give any hint please what is "test-t benchmark" in the Raku ecosystem? 01:09
Tirifto berber44, this is just a wild guess, but perhaps it refers to Rakudo’s internal performance tests? Raku programs often have tests in the ‘t’ directory, and the only mention of ‘test-t benchmark’ I found was in an article discussing performance improvements in Rakudo. 01:17
Yet another question: When method calls are delegated to another object, they work with the delegatee’s attributes and not with the original object’s attributes, right? 01:21
Geth doc: doomvox++ created pull request #3971:
order-of-declaration and multi-dispatch
01:24
tbrowder Tirifto: so do you need any help now? 01:28
Tirifto tbrowder: Not badly. ^ ^ The original problem was resolved, but now I have a new one with delegation. I can likely just read through the documentation and work around it, though. 01:30
berber44 Tirifito, I was asking regarding this line in the recent Rakudo weekly: "The really good news is that the well-known test-t benchmark..." And it seems that no one knows anything about this "well-known" benchmark. :-(((((" 01:32
tbrowder if you have any probs, a complete example in a gist helps very much those who are helping you
Tirifto berber44, there seems to be a comment form on the article; perhaps you could submit a question there? 01:35
berber44 Good idea. 01:36
tbrowder “well-known” probably means to core devs
berber44 Ahh, thanks.
Tirifto tbrowder, thanks for the hint! 01:37
tbrowder the Raku “ecosystem” is large and not always easily described to newcomers. please feel free to file an issue in the appropriate place (ask for advice for what “appropriate” is here) 01:39
berber44 tbrowder, thanks! 01:43
tbrowder .tell berber44 you are very welcome 02:03
tellable6 tbrowder, I'll pass your message to berber44
Xliff . 03:10
japhb .tell berber44 test-t is part of a benchmark suite whose performance results are posted semi-regularly to #raku-dev by |Tux|. You can find them in the channel logs. 05:13
tellable6 japhb, I'll pass your message to berber44
Od1n hello 07:01
melezhik . 13:53
Petr can i compile my programm to exe? 17:23
lizmat not at the current time 17:24
it's on the wish-list though :-)
Petr ok, continue using perl 5 )) 17:25
moon-child til this is koscher 17:30
moon-child m: sub infix:<op>($x, $y, $z) {} 17:30
camelia ( no output )
moon-child roasted, too
guifa o/ 17:58
moon-child \o
guifa so random question: if I switch to the RakuAST branch, will that also have the new-disp stuff in it? I know they were being worked on in parallel for a while. I imagine much of the work was orthogonal so the answer is probably yes, but wanted to check 19:36
lizmat I think RakuAST has been rebased on new-disp, yes 19:42
MasterDuke i believe rakuast was just rebased after new-disp was merged, so yeah
lizmat so you'd be getting all of the new-disp goodies
chloekek m: try open('/not/exist'); say $!.WHAT; 19:43
camelia (AdHoc)
chloekek m: open('/not/exist').WHAT 19:44
camelia ( no output )
chloekek m: open('/not/exist').WHAT.say
camelia (Failure)
raydiak m: sub infix:<op> ($x, $y, $z) is assoc<list> { $x + $y - $z }; say 1 op 2 op 3 # moon-child 19:55
camelia 0
moon-child right, that works with assoc<list>, but roast tests doing it with an assoc<right>! 19:56
raydiak heh...idk about that one :)
raydiak with a named it lets it take an adverb, but 3 positionals? no idea 19:58
moon-child m: sub infix:<op>($x, $y, $z) is assoc<right> { $x + $y * $z }; say [op] [1, 2, 3, 4, 5] 19:59
camelia 47
moon-child ^ what roast tests 20:00
raydiak which test is it in? maybe there's something in the syns about it 20:02
raydiak I mean which file 20:02
moon-child S32-list/rduce.t 20:03
raydiak not sure why you'd define something as an operator if it only works for reduction. interesting though, I guess 20:10
git blame points to TimToady 20:14
tonyo_ why would that be an infix anyway? 20:17
raydiak that's why it's confusing, you can never directly use it as an infix operator 20:21
[Coke] all blame points to TimToady! 20:31
tonyo_ if the signature was different i'd be one thing
[Coke] (in a good way. :)
tonyo_ m: sub infix:<op>($x, *@a) is assoc<right> { $x + [*] @a }; say 1 op (2,3,4); 20:32
camelia 25
tonyo_ i'd meaning it'd
raydiak agreed, that would at least do something 20:36
monochromec Is there a developer advocate or spokesperson of the project? 20:45
Or somebody who may be willing to advocate the language in a news outlet?
tonyo_ monochromec: in what capacity? 20:50
monochromec Doing an episode on the project as part of a FLOSS podcast. 20:51
[Coke] Do you have a news outlet in mind/all set just looking or a person, or are you looking for a marketing person?
monochromec A project coordinator or some other dev with a technical background who can talk about the project, its roadmap and history (esp. the things that set Raku apart from Perl) would be ideal. 20:53
[Coke] lizmat, codesections, maybe someone from the steering committe. ^^ 20:57
tonyo_ the history part might vary widely depending upon who steps forward
monochromec And how would I get in touch with the steering committee? Is there a mailing list or something similar? 21:03
[Coke] I'd volunteer jnthn, but I don't want to add to his plate. :)
.ask lizmat any suggestions for monochromec's request for someone to talk about Raku on a podcast? 21:04
tellable6 [Coke], I'll pass your message to lizmat
[Coke] she'll see it when she comes back, she's on the RSC.
leave an email or something?
monochromec Mail address is [email@hidden.address] Thanks for your help! 21:05
Mail address is gig@lininlaws.eu. Thanks for your help!
[Coke] thanks for helping us get the word out! 21:09
guifa lizmat++ MasterDuke++ Both of those are critical to getting Intl::Format::DateTime up and running. new-disp fixes some weird compilation issues with the DateTime::Timezones and RakuAST…well… obviously for constructing formatters à la lizmat's new .fmt ^_^ 21:18
Petr It is possible to run raku on android& 21:19
?
guifa Petr: Possible, sure. But I don't know of any pre-made library for it. 21:20
but someone else might
Petr Cant find any info about
raydiak istr there was talk about someone getting it to work on termux 21:22
guifa So there's two routes I'd look at initially: you can build Rakudo on the JVM, although I'm not sure if it runs okay with ART (I suppose it should though), or you can also use the JS build of Rakudo inside of a WebView and communicate that way, but that's definitely a crazy round about way to do it 21:24
Petr thanks 21:27
raydiak .tell Petr I also found a mention of someone running it under debian in UserLAnd (play.google.com/store/apps/details?id=tech.ula) 21:37
tellable6 raydiak, I'll pass your message to Petr