[00:03] ¦ doc: 93dbf02e35 | (Ben Davies)++ | doc/Language/unicode_entry.pod6 [00:03] ¦ doc: Remove a couple unnecessary lines from XTerm's unicode config [00:03] ¦ doc: review: https://github.com/perl6/doc/commit/93dbf02e35 [00:03] Link: https://doc.perl6.org/language/unicode_entry [00:09] is there a bot that can run code on the jvm or js backend if you tell it to? [00:10] camelia can, in theory, but i don't think it's set up [00:10] r-j: say "hi" [00:10] camelia: help [00:10] rakudo-jvm 08b449e1a: OUTPUT: «hi␤» [00:10] timotimo: Usage: <(nqp-js|nqp-jvm|debug-cat|rakudo-moar|prof-m|rakudo-jvm|nqp-moarvm|star-m|p5-to-p6|rm|rakudo|r-j|nqp-m|r|p6|nqp|j|rj|sm|p56|perl6|nqp-q|master|star|r-jvm|m|r-m|nqp-mvm)(?^::\s(?!OUTPUT)) $perl6_program> [00:27] *** mowcat left [00:55] ¦ doc: 8a3efdecf4 | (Ben Davies)++ | doc/Language/grammars.pod6 [00:55] ¦ doc: Remove some incorrect statements from the Grammars article [00:55] ¦ doc: [00:55] ¦ doc: The dynamic variables section stated that grammars behave like classes, [00:55] ¦ doc: but they don't; they have a completely different metamodel. [00:55] Link: https://doc.perl6.org/language/grammars [00:55] ¦ doc: review: https://github.com/perl6/doc/commit/8a3efdecf4 [00:56] rakudo-jvm: use NativeCall [00:56] rakudo-jvm 08b449e1a: ( no output ) [00:56] oh, that was fixed it looks like [00:57] after the change to module exports importing NativeCall on the jvm wasn't working for a while [01:01] Has anyone got a good way of tracking uptime in a daemonised perl 6 app? :) [01:02] my app goes straight into a react whenever loop at start [01:03] Xliff: no, sake is an alternative to make [01:05] kawaii: top? [01:05] to see the start time of a process [01:05] AlexDaniel: ah no as in, a timer within the app itself, which would respond to a command :) [01:05] sorry for not being clear enough [01:06] kawaii: what about blin? [01:06] :) [01:06] will need to be tomorrow, had some $family issues to deal with today sadly and wasn't able to complete a run AlexDaniel [01:07] ¦ whateverable: f613a28f59 | (Aleks-Daniel Jakimenko-Aleksejev)++ | Sakefile [01:07] ¦ whateverable: Use a regular cross operator instead of Junctions [01:07] ¦ whateverable: [01:07] ¦ whateverable: It used to work but then Sake was changed and it no longer does. [01:07] ¦ whateverable: review: https://github.com/perl6/whateverable/commit/f613a28f59 [01:13] *** nepugia left [01:14] ¦ whateverable: 8299405d4d | (Aleks-Daniel Jakimenko-Aleksejev)++ | 2 files [01:14] ¦ whateverable: Don't respond to “note:” messages [01:14] ¦ whateverable: [01:14] ¦ whateverable: Seemed like a good idea but nobody uses it in practice. Moreover, [01:14] ¦ whateverable: people sometimes say “note: blah blah” and it triggers needlessly. [01:14] ¦ whateverable: review: https://github.com/perl6/whateverable/commit/8299405d4d [01:16] ¦ whateverable: ee879b28f4 | (Aleks-Daniel Jakimenko-Aleksejev)++ | xt/notable.t [01:16] ¦ whateverable: Test that “note:” definitely does not trigger [01:16] ¦ whateverable: review: https://github.com/perl6/whateverable/commit/ee879b28f4 [02:04] *** Manifest0 left [02:09] *** Manifest0 joined [02:19] *** Manifest0 left [02:20] *** Manifest0 joined [02:58] *** Black_Ribbon joined [04:24] *** Manifest0 left [04:24] *** Manifest0 joined [04:27] *** curan joined [04:29] *** aindilis left [04:33] *** aindilis joined [04:35] *** curan left [04:37] *** aindilis left [04:38] *** aindilis joined [05:03] *** jmerelo joined [05:04] releasable6: status [05:04] jmerelo, Next release will happen when it's ready. R6 is down. At least 1 blocker. 286 out of 666 commits logged (⚠ 1 warnings) [05:05] jmerelo, Details: https://gist.github.com/7e5a9c7044bf355be8ed558390ae83df [05:15] *** nadim left [05:26] *** nadim joined [05:27] *** robertle_ left [05:46] *** nadim left [06:05] *** aborazmeh left [06:09] *** nadim joined [06:14] *** reach_satori_ left [06:20] *** nadim left [06:20] *** ufobat_ joined [06:21] *** nadim joined [06:24] *** ufobat__ left [06:27] *** ufobat_ left [06:35] *** aborazmeh joined [06:35] *** aborazmeh left [06:35] *** aborazmeh joined [07:07] *** [Sno] left [07:09] *** nepugia joined [07:09] *** patrickb joined [07:10] *** domidumont joined [07:31] *** zakharyas joined [07:40] *** antoniog1miz joined [07:49] *** APic left [08:03] *** dakkar joined [08:07] *** scimon joined [08:09] *** mniip left [08:11] *** mniip joined [08:14] *** noisegul joined [08:29] *** sena_kun joined [08:30] *** aborazmeh left [08:38] *** reach_satori_ joined [08:42] *** dolmen joined [08:44] *** abraxxa joined [08:45] *** abraxxa left [08:45] *** abraxxa joined [09:05] weekly: https://www.braincells.com/perl/2019/06/perl_weekly_challenge_week_14.html [09:05] lizmat, Noted! [09:06] Just one answer to top 200 in the perl 6 user survey! https://docs.google.com/forms/d/e/1FAIpQLSfX6cjuhen2xepsr_Cg8eYSdlEE4wbhufgOR1BrDwStby_hNg/viewform [09:06] Please answer if you have not done so already! [09:08] jmerelo: did you make the PR to Pod::To::Cached? [09:08] antoniog1miz: not yet [09:09] antoniog1miz: timotimo has already accepted and (I think) released a new version, but I'm busy with other stuff... Will try to do it this morning [09:10] jmerelo: good [09:11] *** Black_Ribbon left [09:25] *** farcas82regreg joined [09:28] *** satori__ joined [09:30] *** domidumont left [09:32] *** reach_satori_ left [10:08] and another Perl 6 Weekly hits the Net: https://p6weekly.wordpress.com/2019/07/01/2019-26-perlcon-in-riga/ [10:32] *** evalable6 left [10:35] lizmat++ # great work [10:36] *** evalable6 joined [10:51] *** antoniog2miz joined [10:51] *** antoniog1miz left [10:51] lizmat++ [10:54] *** todoalreadydone joined [10:56] hey everyone! i'm new to perl 6 :) [10:56] welcome, todoalreadydone [10:56] i thought perl was a good language for one liners, but my fizzbuzz ended up being 75 lines long. what am i doing wrong? https://hastebin.com/odenewogix.rb [10:57] todoalreadydone: he [10:57] todoalreadydone: not _quite_ perl 6, you know ;-) [11:01] todoalreadydone, you are doing it wrong, you should start with writing moarvm bytecode, it can be aligned in a single line nicely. [11:01] perfect! thank you [11:01] *** todoalreadydone left [11:02] *** dolmen left [11:02] sena_kun: :-) [11:04] *** antoniog2miz left [11:06] AlexDaniel: Blin results in about an hour I think [11:19] Yaay [11:25] *** antoniog1miz joined [11:36] *** antoniog1miz left [11:38] *** domidumont joined [11:38] *** zakharyas left [11:41] ⏳ 1164 out of 1307 modules processed [12:09] *** APic joined [12:15] *** mniip left [12:16] *** mniip joined [12:16] ⏳ 1276 out of 1307 modules processed [12:18] kawaii: yeah! [12:19] *** sno joined [12:21] *** domidumont1 joined [12:23] *** domidumont left [12:25] *** sno left [12:27] in the meantime, still learning p6regex, `if $id ~~ / ^'<@' '!'? \d+ '>'$ | ^\d+$ / { say 'yes' }` I don't know if I'm being too verbose - but $id is a param passed into the method, and I'd like to set the value to JUST the \d+, but still match and extract the \d+ from the first match which contains the entire 'tag'. [12:27] they could be either just a string of numbers, `1241242`, or one of two tag formats `<@2423424>` or `<@!23252323>` [12:28] kawaii: wrap the \d+ in () [12:28] kawaii: the match will go to $/ or will be returned by the smartmatch. [12:28] oooo okay let me try that! [12:29] kawaii: if you want to extract the whole thing (with alternatives), just wrap it all in () [12:29] m: my $id = '<@!234234123415>'; if $id ~~ / ^'<@' '!'? (\d+) '>'$ | ^(\d+)$ / { say 'yes'; say $/; } [12:29] rakudo-moar a26e95bab: OUTPUT: «yes␤「<@!234234123415>」␤ 0 => 「234234123415」␤» [12:29] jmerelo++ [12:30] kawaii: :-) [12:30] *** jmerelo left [12:32] AlexDaniel: special delivery! https://usercontent.irccloud-cdn.com/file/5IWHnr4R/output.tar.gz [12:36] *** xinming_ joined [12:36] *** domidumont joined [12:38] *** xinming left [12:39] *** domidumont1 left [12:50] *** devmikey joined [12:54] *** mowcat joined [12:57] *** dakkar left [12:59] *** dakkar joined [13:00] *** molaf joined [13:09] *** dolmen joined [13:12] *** devmikey left [13:13] if a library i'm writing needs to run a script in a child process, should i still put it in lib even though it's executable or throw it in a blib dir or something? [13:13] it doesn't make sense to put in bin since it's only meant to be used internally [13:14] unless there's a way to tell zef not to install certain binaries or something [13:15] *** pat_js joined [13:15] *** zakharyas joined [13:22] *** lucasb joined [13:27] *** pat_js left [13:27] *** pat_js joined [13:35] based on the help jmerelo gave me earlier, I wrote a method! https://www.irccloud.com/pastebin/FsEsssyy/ [13:35] but, $/.Int does not seem to behave as expected [13:36] because $/'s type is Match [13:36] and I don't think it can be coerced [13:36] https://www.irccloud.com/pastebin/P7osvKkN/ [13:36] *** pat_js left [13:36] It also seems to not be stripping the characters I do not want to match [13:39] in that case you may have to .Str.Int [13:39] * timotimo actually looks at the code [13:39] oh [13:39] you can't .Int it because it's got some junk around the number [13:39] yeah, but my smartmatch should eliminate that, no? [13:40] you're already using ( ) around the \d+, which means you'll probably want to use $0 and $1 instead of $/ [13:40] so $1 for the result of the ()? [13:40] m: say "<\@1234>" ~~ / '<@' '!'? (\d+) '>' | (\d+) /; [13:40] rakudo-moar a26e95bab: OUTPUT: «「<@1234>」␤ 0 => 「1234」␤» [13:40] because $0 would be the entire thing that matched I assume [13:40] m: say "1234" ~~ / '<@' '!'? (\d+) '>' | (\d+) /; [13:40] rakudo-moar a26e95bab: OUTPUT: «「1234」␤ 0 => 「1234」␤» [13:40] no, $0 is the first one [13:41] oh, both get the 0 because of the alteration? [13:45] *** Actualeyes joined [13:46] method extract-id(:$cmd-obj) { [13:46] my $id = $cmd-obj.args; [13:46] if $id ~~ / '<@' '!'? (\d+) '>' | (\d+) / { [13:46] return $0.Int; [13:46] } else { return content => '_sad trombone_ :trumpet:'; } [13:46] } [13:46] ugh, client please stop that [13:47] timotimo: yes [13:47] timotimo: my $user-id = self.extract-id(:$cmd-obj); unless $user-id ~~ / ^\d+$ / { return $user-id; } [13:47] this works :) [13:47] m: say 'b' ~~ /(a)|(b)/; say $0 [13:47] rakudo-moar a26e95bab: OUTPUT: «「b」␤ 0 => 「b」␤「b」␤» [13:48] there's no actual need to have the '<@' '!' (\d+) '>' if you also have the (\d+) in there [13:49] and if you just want the string rather than the match, using .comb(/\d+/) is simpler [13:52] *** rindolf left [13:56] *** pat_js joined [13:56] *** rindolf joined [13:58] timotimo: ah thanks, how do I set the minimum length of \d+? :) [14:00] \d ** {5..*} [14:02] Any tips on modules for writing XML? (Of course, I find some on modules.perl6.org; more looking for "I used X and it was good/ok/terrible" :) [14:05] I've used XML::Writer for SVG. It's a very direct Perl datastructure => XML translater without any bells or whistles [14:06] was good for my use case [14:06] OK...know if it handles namespaces (?) [14:07] it uses pair keys as tag names, so I assume it does, you just have to quote your pairs [14:11] *** satori__ left [14:12] ah, I see :) [14:12] I'll give it a go, thanks [14:14] kawaii: come on, install graphviz :) [14:16] AlexDaniel: https://github.com/perl6/Blin/pull/12 ;) [14:16] Kaiepi: heeyyyy https://github.com/Kaiepi/p6-Digest-BubbleBabble/pull/1 [14:17] I keep missing it because it's not in the readme anywhere [14:17] ah, merged, perfect ;) [14:18] .seen uzluisf [14:18] I haven't seen uzluisf around. [14:20] .seen uzl [14:20] I saw uzl 30 Jun 2019 00:28Z in #perl6: Can somebody show an example of an our-declared class variable and its use across a class hierarchy? As alluded here: https://docs.perl6.org/language/classtut#State [14:20] .tell uzl plz :) https://gitlab.com/uzluisf/quine-mccluskey/merge_requests/1 [14:20] AlexDaniel: I'll pass your message to uzl. [14:31] kawaii: what were the endpoints? How did you run it? [14:31] AlexDaniel: 2019.03 to HEAD [14:32] aaa I'm an idiot I was looking at the wrong file [14:33] *** nadim left [14:34] *** nadim joined [14:37] kawaii: locale is still not set? [14:38] anyway, I think it looks good [14:38] I need to go take a nap though :) [14:38] but I think we're ready [14:38] samcv: ↑ [14:39] samcv: and by that I mean that it looks like we don't have any moar issue blocking, so feel free to go ahead with the release [14:42] *** sno joined [14:46] *** domidumont1 joined [14:48] *** domidumont left [14:54] *** patrickb left [14:59] *** jmerelo joined [14:59] releasable6: status [15:00] jmerelo, Next release will happen when it's ready. R6 is down. At least 1 blocker. 286 out of 666 commits logged (⚠ 1 warnings) [15:00] jmerelo, Details: https://gist.github.com/242a4215682f8caebf5113769647af5b [15:02] i ran into a confusing error while trying to write something a bit weird [15:03] so i have a Net::Telnet::Client and Net::Telnet::Server class, which both either use Net::Telnet::Terminal::UNIX or Net::Telnet::Terminal::Win32 depending on the os [15:03] the client and server are just unit classes, and the terminal modules look something like this https://hastebin.com/sivovafibe.php [15:04] but when i use them it claims merging global symbols failed because of a duplicate definition of Terminal [15:04] where is it getting that from? i checked with git grep and don't see anywhere where that should be happening [15:05] it throws the same error if i try to declare the classes in the terminal modules as Net::Telnet::Client::Terminal and Net::Telnet::Server::Terminal instead [15:08] *** nadim left [15:11] *** demanuel joined [15:11] ye-olde matching-last-namespace-part merge failure bug. used to be on RT somewhere [15:16] maybe not, it's trying to use both Net::Telnet::Terminal::Win32 *and* Net::Telnet::Terminal::UNIX according to RAKUDO_MODULE_DEBUG [15:21] *** ravenousmoose joined [15:24] *** molaf left [15:32] ok when i change `use Net::Telnet::Terminal::UNIX;` to `require Net::Telnet::Terminal::UNIX ;`, now i get an error that Terminal is already exported when it tries to export Net::Telnet::Server::Terminal [15:33] guess i have to split the 2 modules into 4 [15:35] *** nadim joined [15:36] *** ravenousmoose left [15:38] which makes more sense anyways, since the server will eventually need a second file to run in child processes to deal with ptys on unix-like systems [15:40] *** jaldhar left [15:47] *** pat_js left [15:53] *** zakharyas left [16:02] *** jmerelo left [16:08] *** sno left [16:22] *** |oLa| left [16:23] *** |oLa| joined [16:28] *** nepugia left [16:32] *** scimon left [16:37] *** dolmen left [16:40] *** dakkar left [16:42] *** yharnam joined [16:43] *** domidumont joined [16:45] *** domidumont1 left [17:08] *** sno joined [17:15] *** dogbert11 left [17:21] *** Black_Ribbon joined [17:35] *** albertferrico joined [17:35] hello guys, how are you? [17:37] I want to check which version of perl6 I have installed and remove it, to install it again fresh from homebrew, any tips on how to start? [17:37] start with perl6 --version [17:38] -bash: perl6: command not found [17:38] probably interesting to check "which perl6" and "perl6 -e '.say for $*REPO.repo-chain' [17:38] so I guess I don't have it? [17:38] ha, oopsie [17:40] you may have it, but in a location that's not in your $PATH [17:40] * timotimo AFK for a while [17:41] timotimo ok, that sounds possible. So how can I find it? [17:42] timotimo I'm on a macbook pro laptop [17:45] releasable6: status [17:45] xinming_, Next release will happen when it's ready. R6 is down. At least 1 blocker. 286 out of 666 commits logged (⚠ 1 warnings) [17:45] xinming_, Details: https://gist.github.com/db86727caebac786c1695364778cdde7 [17:52] albertferrico: if you use your Finder's "search for files" thing, you can probably find a file named "perl6" or maybe look for "CORE.setting.moarvm" [17:59] osx has `locate` by default i think... `locate bin/perl6` should work [18:03] looks like it's not installed, so I'll try to installed with brew [18:04] I'll do `brew install rakudo-star` [18:04] after, do I need to do something with the PATH? [18:07] I found this https://qiita.com/B73W56H84/items/2153e6211ed617b4605d [18:08] *** domidumont left [18:08] *** mowcat left [18:08] *** yharnam left [18:12] *** albertferrico left [18:25] *** sauvin left [18:26] *** pecastro joined [18:38] *** lembark joined [18:39] *** antoniog1miz joined [18:40] Sanity check: If I wanted to keep POD in a separate file from the module, other than naming it FooBar.pod6 is there any convention for, say, recording it in the META6 or standard location (e.g., next to the module, in docs/FooBar)? [18:40] assets [18:40] you can make an assets dir an specify the contents in the META6.json [18:40] Thank you. [18:40] https://github.com/JJ/p6-pod-load [18:40] in that module you can see an example [18:41] (it's not using assets but resources intstead) [18:44] i.e., something like: [18:44] Uploaded file: https://uploads.kiwiirc.com/files/cd4177e622cf6aba27952e71ab89485e/pasted.txt [18:45] mmm you can delete the lib line from resources [18:45] Thought the "resources" => "whatever gets installed". [18:46] what's the dividing line between them? [18:46] resources is everything you add to the module that "is not the module" [18:47] I dont know how to explain it correctly xd [18:47] lembark: what line? [18:48] You just explained it correctly. [18:48] And succinctly :-) [18:48] good then :) [18:50] is there a way to export a symbol from another module as the current module's own symbol? (like `export { default as Foo } from Bar` in es6) [18:51] i tried using sub EXPORT and using the module's name as the only key in the map returned but other modules can't find the symbol when i try to use it [18:51] mmmmm, you can use unit class or unit grammar but I do not know with functions [18:52] wdym, like subclassing the other module? [18:54] mmm nop, I said unit class to directly export the class, but I think that's not useful in your case [18:54] I suppose you have tried "is export"? [18:57] that wouldn't work for this, maybe i explained what i'm trying to do badly or something [18:57] this is what Net::Telnet::Terminal::Client looks like atm http://fpaste.scsys.co.uk/585188 [18:58] *** empee0 joined [18:58] i'm trying to export either Net::Telnet::Terminal::UNIX::Client or Net::Telnet::Terminal::Win32::Client as Net::Telnet::Terminal::Client itself depending on the os [18:59] the module isn't entirely necessary, but it'd help make my code a bit cleaner [19:01] ooh I see mmm [19:02] oh, maybe is export could work for this if i write `my constant Net::Telnet::Terminal::Client is export = require <...>` [19:05] ...nope, can't use :: in a constant declaration [19:05] huh, i think this is the first time i hear about the assets thing for modules [19:06] (assets is a dir I ussually use, resources is the good one) [19:07] oh [19:07] ok [19:07] at least that's what I normally see in the META6 modules [19:07] how would you do it instead? [19:07] i haven't a clue :) [19:10] ah haha [19:15] ah hah! this works http://fpaste.scsys.co.uk/585189 [19:15] finally found a use for package [19:15] oh nice fix! [19:24] *** natrys joined [19:41] *** antoniog1miz left [19:41] weekly: https://dev.to/antoniogamiz/work-report-week-5-26c7 [19:41] lizmat, Noted! [19:43] ...or not [19:43] Serialization Error: missing static code ref for closure 'run' (gen/moar/stage2/NQPHLL.nqp:2134) [19:43] spoke too soon [19:46] *** devz3ro joined [19:55] *** kaare_ left [19:55] *** kaare_ joined [20:05] *** empee0 left [20:17] what if you use indirect name lookup? `require ::('Net::Telnet::Terminal::Win32::Client')` [20:17] that should prevent the parent namespace from getting created ala [20:18] m: require NativeCall::Types; say ::("NativeCall") [20:18] rakudo-moar d4ceb97e0: OUTPUT: «Type check failed in binding to parameter '$top-existing-pkg'; expected Any but got NativeCall (NativeCall)␤ in block at line 1␤␤» [20:18] uh, well that works for me locally [20:18] $ perl6 -e 'require NativeCall::Types; say ::("NativeCall")' [20:18] (NativeCall) [20:19] *** khisanth_ left [20:19] weird [20:24] the problem was i got the name of the module i was requiring wrong, i forgot to rename it to Net::Telnet::Terminal::UNIX::Server from Net::Telnet::Terminal::ServerMaster [20:25] but that should result in a very explicit error [20:25] it should... [20:26] do we have a "local cache of ecosystem claims there is no such module available publically" output yet … [20:27] does zef have telemetry yet? no [20:28] how do you mean? [20:28] how else would you determine what modules an ecosystem does not contain that is being requested? [20:28] well, how does "zef list" give the names of all modules? [20:29] @json.map(*..keys) or some such [20:29] JSON::Pointer:ver<1.0> [20:29] # JSON::Pointer [20:29] # JSON::Pointer::Relative [20:29] that could be enough of a hint, maybe [20:30] oh you want to take all given ecosystems, and then find dependencies that do not exist in those ecosystems? [20:30] i thought you meant a record of `zef install Doesnt::Exist` [20:31] btw the filename was right, just the module name in the unit class declaration was wrong [20:32] ah that might be why the error was so bad [20:32] *** khisanth_ joined [20:36] *** farcas82regreg left [20:45] *** esh joined [20:46] *** nepugia joined [21:20] *** thundergnat joined [21:20] . [21:21] Does anyone around have Cairo installed? [21:21] most people with a linux system, i'm sure [21:21] Well, I meant the Perl 6 port actually... [21:23] If so, what do you get if you grep /path-to-perl6-install/share/perl6/site/sources$ grep "unit module Cairo" * [21:23] For some reason, I have 24 installs on a clean build from scratch. [21:24] I wonder if that is why Cairo takes so long to install... [21:25] wouldn't you get one match per file in the cairo namespace? [21:25] oh, no, it's a single file [21:25] btw it turned out i didn't have it [21:25] But they are all identical [21:26] It doesn't seem to be a problem really, I just thought it was weird. [21:26] oh haha [21:26] it installs one file per entry in the provides section [21:26] why are they there, that's weird [21:27] thundergnat: `zef list --installed` will tell you everything else installed [21:28] timotimo, BTW any thoughts about getting nativecall pass structs by value working? I really miss not having SDL2_ttf :-( [21:28] oooh [21:28] seeing the list as words instead of sha1s might make it easier to remember what the are [21:28] jeez, that was a thing i was intending to do at some point [21:28] d'oh [21:28] ugexe: i wonder, is Cairo the only module that has the same values for multiple keys in the provides section? we should be able to very easily query that, right? [21:29] also, i'm pretty sure that's not right [21:29] I have a version of ttf working quite nicely locally, except for color handling :-( [21:29] that should be fine [21:29] although the way installation works it'll create X many copies of that same file, and precompile them all [21:30] froggs did it! [21:30] that commit is from 2015 [21:30] it was "add provides section for latest panda (S11 support)" [21:30] you literally can't just "use Cairo", because that's not in there [21:30] its not wrong [21:30] well, it is now [21:31] it may not be wrong, but i do consider it nonsensical in this situation [21:31] yeah, there is no purpose in doing it this way in this case [21:32] it would be when doing -Ilib (not -I. or installed) and the import statement does `use Cario::Foo` before `use Cario` [21:34] all the tests just do `use Cario` so changing it should Just Work [21:35] then installation wont precompile lib/Cairo.pm6 23 times [21:40] thundergnat: good thing you stumbled upon that [21:41] Yeah, Cairo has always been a real drag to install. No wonder if it is compiling it 24 times. [21:44] It was just an accident, I wanted to check something in the source of Cairo but didn't have connectivity so I grepped the sources folder for Cairo and got a whole page of identical entries. [21:45] and said to myself whut? [21:47] *** patrickb joined [21:48] Anyway ugexe++, timotimo++, thanks [21:49] pushed to github [21:51] I have just successfully built and run a rakudo on Windows in "C:\data\p6-repos with spaces\rakudo". [21:53] in the old days before CURI multiple namespaces pointing to the same file didn't duplicate files [21:54] patrickb++ many have tried, one has finally succeeded [22:01] m: sub foo { my $a1; { my $a2; { OUTERS::.keys.say } } }; foo [22:01] rakudo-moar d4ceb97e0: OUTPUT: «($a2 $*DISPATCHER $_)␤» [22:01] Isn't $a1 supposed to be in the list? [22:02] could be a bug in the keys method of the PseudoStash [22:02] there should also be a whole lot more in there i guess? [22:02] like all of the core setting [22:02] m: say OUTER::.keys [22:02] rakudo-moar d4ceb97e0: OUTPUT: «()␤» [22:02] hm. [22:03] PseudoStash doesn't have keys. It just throws ctxlexpad or alike into Map's $!storage. [22:03] I just have discovered it by trying to get CORE:: hold all symbols from from all loaded COREs [22:03] oh [22:04] LEXICAL:: – apparently, same issue. [22:04] i guess that can't work, then :) [22:07] Is there a way to merge lexpads into a new one? [22:12] not to my knowledge [22:13] *** sena_kun left [22:13] Ok, then iteration only. Thanks! [22:16] so, uh, I'm having a really strange issue, where perl is referring to a 'False' method that does not exist [22:16] https://www.irccloud.com/pastebin/grQIULD2/ [22:16] https://www.irccloud.com/pastebin/F9mHqnTh/ [22:17] Yet as you can see, there is no False method here, nor did I ask for one (https://github.com/shuppet/p6-api-discord/blob/master/lib/API/Discord/Channel.pm6) [22:19] m: sub test { return a => 1 }; say test [22:19] rakudo-moar d4ceb97e0: OUTPUT: «a => 1␤» [22:19] where is line 116 from Endpoints.pm6? [22:19] the line above it says "# TODO: I don't think we're handling a failure from this correctly" [22:20] timotimo: `my $val = reduce { $^a."$^b"() }, $r, |@f;` [22:20] are you sure that's correct? :) [22:20] ummmm, no :) [22:21] what's in $r and @f? [22:21] m: say reduce { say $^a, $^b; True }, 1, 2, 3, 4; [22:21] rakudo-moar d4ceb97e0: OUTPUT: «12␤True3␤True4␤True␤» [22:21] m: say reduce { say $^a, $^b; False }, 1, 2, 3, 4; [22:21] rakudo-moar d4ceb97e0: OUTPUT: «12␤False3␤False4␤False␤» [22:22] i assume you've got $r as a starting value and @f has a list of method names? [22:22] I didn't write large chunks of that library, so unsure [22:22] m: say reduce { say $^a, " ", $^b; $^a."$^b"() }, 1, "succ", "succ", "succ", "pred"; [22:22] rakudo-moar d4ceb97e0: OUTPUT: «1 succ␤2 succ␤3 succ␤4 pred␤3␤» [22:22] sounds like it should work, unless there's a False in that list :) [22:23] I'll get a local copy of the lib and add a say @f in there [22:24] m: say reduce { $^a."$^b"() }, (1); [22:24] rakudo-moar d4ceb97e0: OUTPUT: «1␤» [22:24] we do have a CLI debugger that could help you here maybe :) [22:24] m: say reduce { $^a.""() }, (1); [22:24] rakudo-moar d4ceb97e0: OUTPUT: «No such method '' for invocant of type 'Int'. Did you mean any of these?␤ IO␤ fc␤ kv␤ lc␤␤ in block at line 1␤␤» [22:25] seems like those should be the same [22:25] timotimo: so looks like you were right, but I don't know _why_ :) https://www.irccloud.com/pastebin/3UVPVgXu/ [22:30] well, something undefined comes in there [22:33] *** satori__ joined [22:36] *** rindolf left [22:36] timotimo: thanks for telling me about the cli debugger, very interesting output that shows me the internals of my app :) [22:37] *** netrino joined [22:37] that sounds vaguely like the debugger causing a big bad internal error :) :) [22:38] well, I see a lot of `+ Exception Thrown | Died` but since the app doesn't actually die when I see these I assume it refers to the methods themselves [22:39] wait, does my debugger cli do that? [22:39] https://www.irccloud.com/pastebin/2XHcP3bR/ [22:39] timotimo: ^ [22:39] *** nadim left [22:39] oh, that's not the debugger i was talking about lol [22:39] oh :( [22:40] but! that means you have a new toy to show me! [22:40] but if it helps, that's great [22:40] it'd be App::MoarVM::Debugger [22:47] you'll start a perl6 --debug-port=9999 --debug-suspend (if you want it to pause at the start) and then connect the moar-remote 9999 to it [22:48] *** natrys left [22:49] *** netrino left [22:50] timotimo: BTW, zef still can't install App::MoarVM::Debugger. ;) [22:50] `App::MoarVM::Debug` ;) [22:51] timotimo: thanks, I got it working, but I don't think it's going to give any information that is useful for _me_ :( [22:51] oh, is that it [22:51] kawaii: yeah, you'll have to have breakpoints in the right spot, then you can dig down into objects and such [22:55] greppable6: "use Cairo::" [22:55] timotimo, Found nothing! [22:55] greppable6: "use Cairo" [22:55] timotimo, Found nothing! [22:55] greppable6: "Cairo" [22:55] timotimo, 9 lines, 6 modules: https://gist.github.com/b66cd4d9985a16345b9f66c4407b5b79 [22:58] *** goon_ left [23:11] *** lucasb left [23:20] *** patrickb left [23:28] *** Brilpikk3wyn joined [23:47] *** lembark left [23:56] *** pecastro left