🦋 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.
japhb If you have two classes, say Foo::Bar and Foo::Quux, declared in two separate compunits, and Foo::Bar does `use Foo::Quux;` ... is there a way for Foo::Quux to do the equivalent of `trusts Foo::Bar;` without causing a use loop or erroring due to undefined stub? 00:44
SmokeMachine japhb: maybe stubbing Foo::Bar with `class Foo::Bar {…}`? 03:02
japhb SmokeMachine: Didn't work. That's the one that causes the error about stubbing Foo::Bar but not defining it in that compunit. :-/ 03:06
Voldenet japhb: if you can tolerate hacky and ugly, then maybe something similar to: role UsePrivateMethods[::Class] { submethod FALLBACK(Class: $m, |arg) { Class.^find_private_method($m)(self, |arg) } } 04:07
then `Foo::Quux.new() but UsePrivateMethods[Foo::Bar]` 04:08
my solution sounds tedious to write though 04:09
and with significant overhead too 04:11
japhb Hmmm, yeah, suboptimal. But nice thinking outside the box. :-) 06:04
AlexDaniel alright, so, as I'm trying to fix tellable I somehow decided that it'd be a good idea to update rakudo and everything to their latest version 15:41
versions rather
now I can't get anything to work 🤔 rakudo itself installed just fine with rakubrew, so did zef (again with rakubrew using build-zef command) 15:42
Now I'm getting: Enabled fetching backends [git path curl wget] don't understand git://github.com/samcv/IRC-TextColor.git 15:43
You may need to configure one of the following backends, or install its underlying software - [pswebrequest]
ugexe does git:// still work?
AlexDaniel which is like hmmmm… what exactly do I have set up wrong? I just tried to add the key with `ssh-add` maybe that's gonna help 15:44
ugexe git config --global url..insteadOf git://
that would fix the protocol deprecation thing probabl
AlexDaniel just to be clear, I'm trying to install dependencies of whateverable.
ugexe did you try it again? sometimes the check for file extension (how it determines if it understands a url) intermitently fails for whatever reason 15:46
even when that check is as simple as $url.ends-with(".tar.gz")
AlexDaniel yeah, I'm trying it in a loop pretty much
there's another type of errors which is “Could not find JSON::Fast”, “Could not find URI”, “Could not find File::Directory::Tree 15:47
I kinda assume that's because some modules use something that they don't specify in their dependencies 15:48
here's the full log of my attempts: gist.github.com/AlexDaniel/ed7b2e4...1652d1ee4d 15:51
gfldex japhb: Please don't tell anyone that I told you: gist.github.com/eb28b4d6f21acbd622...ae699f9a68 15:53
AlexDaniel I don't know what depends on CBOR::Simple but sure as hell it wasn't installed as a dependency for anything 15:53
gfldex The .^compose is superstition tho. 15:54
AlexDaniel OK all good, after running zef install in a loop and then installing CBOR::Simple things seem to run now. Well, kinda: `No such method 'IO' for invocant of type 'Any'. Did you mean 'so'?`, but that's in whateverable code, so should be easy to debug 15:56
6c: say Any.IO 15:57
committable6 AlexDaniel, gist.github.com/52ce5d66bf169bddef...4de8102dc8 15:58
AlexDaniel in fact seems to be my own fault :)
ugexe ===> Install [FAIL] for Whateverable:ver<1.0.11>: ===SORRY!=== Error while compiling /Users/ugexe/repos/zef/site#sources/FFCE30B7629EBB9BF4F889999F97C35CAC8EA91C (Whateverable) 16:04
Redeclaration of symbol 'Message'.
at /Users/ugexe/repos/zef/site#sources/FFCE30B7629EBB9BF4F889999F97C35CAC8EA91C (Whateverable):36
------> constant Message = IRC::Client::Message⏏;
thats what i got
on moar-blead anyway
AlexDaniel and it runs!! IT RUNS!! 🎉🤟
almost 16:05
japhb gfldex: Oooh, interesting, thank you.
AlexDaniel ugexe: oh, hm. Maybe if you're installing whateverable as a module, then yes. I'm just trying to install the deps 16:07
and it runs now, the only issue currently is that IRC::Client doesn't seem to connect 🤔 16:08
AlexDaniel it connects! Wheeeeeeeeee! 16:13
tbrowder hi, rakuuns [sic] \o/ 16:28
i'm developing a raku class factory (sort of) 16:29
tbrowder which requires a series of auto-generated modules and progs that each depends on its predecessor being unchanged since the last time it was used. 16:31
i can do some xtra labor and create shasums for each and store them somewhere, but is there a more elegant and rakuish way to do that? 16:33
codesections is working on some kind of persistent raku thing but i don't think it has been released yet. 16:35
tbrowder i first design a text template to describe the class. then i use that with a raku program to generate the class definition module. then i use the same program to create a separate module that defines subs using the class, and so on. 16:40
my use case is for rapid prototyping and trial of a multi-user db system while we zero in on the final design. during the trial a website will always be able to use the db even while it is changing. 16:43
i guess i could define a json object to keep the pertinent shasums by filename and use JSON::Fast in the using programs--that should work fine. thanks for letting me ruminate 16:49
gfldex lolibloggedalittle: gfldex.wordpress.com/2022/03/27/trust-issues/ 18:37
Geth doc/search-categories-update: 17 commits pushed by Altai-man++
review: github.com/Raku/doc/compare/89b139...aef6353f6d
20:00
El_Che (rakudo-pkg has been updates, last week release escaped from my radar, my apologies) 20:23
Geth Documentable/search-categories-streamlined: 63e93320da | Altai-man++ | META6.json
Update dependency version
20:44
[Coke] altai-man: some xtest failures on that branch: gist.github.com/coke/358bffab0b88c...ea613dcbfa 20:47
(in raku/doc)
melezhik how can I set timeout setting for mysql in DBIIsh? 20:48
I gave this error on and off - ⚠ sparky DBDish::mysql: Error: The client was disconnected by the server because of inactivity. See wait_timeout and interactive_timeout for configuring this behavior. (1)
gave -> have
Geth Documentable/search-categories-streamlined: 49a2dd8451 | Altai-man++ | META6.json
Update dependency name
guifa given a situation like class A { class B { has $!parent is built }; method new { self.bless: ……… } }  22:21
err and "also is B"
is there a way I can easily make "$!parent" equal to the instantiated A ? 22:22
ugexe i dunno if its relevant but classes aren't lexically scoped 22:25
drakonis guifa: i saw that you were working on binary grammars, are you still waiting for rakuast to continue?
ugexe B is available outside of class A
guifa ugexe: yeah, that's not too much of an issue in this case. The full golf seemed more nonsensical though ( class A { has $!a; method new { self.bless: …… } } such that $!a is equal to its associated object 22:29
I guess I could maybe do it via a TWEAK, but that looks kinda ugly 22:35
gotta have B trust A, make a private setter method and ten do self!B::private-setter(self)
drakonis: actually, I can mostly get it finished up now and have it fairly usable I think (at least within grammars, as it's much easier for me to add methods than install lexical subs right now). 22:38
drakonis ah, cool.
guifa Right now I'm just aiming to get Intl::CLDR cleaned up, it's just ... a lot. Once that's done I'll swing back to Binex. When summer comes around, $day-job won't be as much in my way and I can have a bit more time to work on it 22:40
drakonis oh, that's a neat project. 22:41