[00:00] *** Xliff left [00:06] *** MilkmanDan joined [00:13] *** oddp left [00:14] *** sena_kun joined [00:17] *** Altai-man left [00:47] *** guifa2 joined [00:50] *** markong left [00:55] *** aborazmeh joined [00:55] *** aborazmeh left [00:55] *** aborazmeh joined [00:58] *** orinthe left [00:58] *** orinthe joined [01:40] I just found my new favorite ANSI codes lol, \x0101b#3 and \x0101b#4 [01:45] *** molaf left [01:46] What do those do? [01:58] *** molaf joined [02:05] *** Manifest0 left [02:06] *** Manifest0 joined [02:14] *** Altai-man joined [02:16] *** sena_kun left [02:25] *** rjeli left [02:32] *** timeless left [02:32] *** rjeli joined [02:35] *** timeless joined [02:35] *** gnufr33dom joined [02:45] *** stoned75 left [02:47] *** stoned75 joined [02:49] *** aborazmeh left [02:54] *** rjeli left [02:56] *** rjeli joined [03:00] *** caasih left [03:00] *** caasih joined [03:14] timotimo: double sized text [03:14] try this out [03:25] *** melezhik joined [03:30] .tell @demostanis - Sparrowdo is not paranoid about security at all, I'd be glad to consider your suggestion if you really _need_ to have Sparrowdo more secure [03:30] melezhik, I cannot recognize this command. See wiki for some examples: https://github.com/Raku/whateverable/wiki/Tellable [03:30] so far it just works for me ... [03:30] 2020-07-31T17:40:47Z #raku melezhik thank you, i'll take a look [03:34] .tel demostanis: Sparrowdo is not paranoid about security at all, I'd be glad to consider your suggestions if you really _need_ to have Sparrowdo more secure. So far it works for me [03:35] .tell demostanis: Sparrowdo is not paranoid about security at all, I'd be glad to consider your suggestions if you really _need_ to have Sparrowdo more secure. So far it works for me [03:35] melezhik, I'll pass your message to demostanis [03:35] yeah, that the way, hopefully tellable will tell ))) [03:36] .tell demostanis: "In a docker container as root, sparrowdo tried to run sudo..." - sparrowdo has --no_sudo option [03:36] melezhik, I'll pass your message to demostanis [03:45] .tell codesections "it seems like the vulnerability is exposing a local config-management tool to user input" that's right. anyway this level of paranoia could be easily achieved though [03:45] melezhik, I'll pass your message to codesections [03:47] by just adding something like `Str :$ssh_user where /^^\w+/$$` [03:47] inside `main` [03:47] *** zacts joined [03:48] *** lucasb left [03:48] *** zacts left [03:48] I just never needed that, and probably this type of constraints should be done in the program that _uses_ a sparrowdo, not sparrowdo itself [04:04] *** melezhik left [04:14] *** sena_kun joined [04:16] *** Altai-man left [05:03] raku -e 'say "This is little\n\x001b#3This is big\n\x001b#4This is big"' [05:03] ^^ timotimo check that out :-) [05:12] *** stoned75 left [05:26] *** Sgeo left [05:32] *** skids left [05:40] *** ab5tract joined [05:43] .tell JJMerelo yeah that's the one! the Hilbert matrix does cute things to floats when it encounters it's inverse. [05:43] ab5tract, I'll pass your message to JJMerelo [06:14] *** Altai-man joined [06:16] *** sena_kun left [07:00] *** molaf left [07:08] *** JJMerelo joined [07:11] ¦ ecosystem: alabamenhu++ created pull request #522: Add DateTime::Timezones [07:11] ¦ ecosystem: review: https://github.com/Raku/ecosystem/pull/522 [07:16] ¦ ecosystem: 01194bb416 | L'Alabameñu++ (committed using GitHub Web editor) | META.list [07:16] ¦ ecosystem: Add DateTime::Timezones [07:16] ¦ ecosystem: review: https://github.com/Raku/ecosystem/commit/01194bb416 [07:16] ¦ ecosystem: b9c37fc68e | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | META.list [07:16] ¦ ecosystem: Merge pull request #522 from alabamenhu/patch-8 [07:16] ¦ ecosystem: [07:16] ¦ ecosystem: Add DateTime::Timezones [07:16] ¦ ecosystem: Thanks! [07:16] ¦ ecosystem: review: https://github.com/Raku/ecosystem/commit/b9c37fc68e [07:20] Well, we're down to the last article. We need more articles. [07:20] noted. I'll work on one this afternoon [07:20] Just gotta decide which RFC [07:20] BTW, the article today by alabamenhu is excellent https://raku-advent.blog/2020/08/08/rfc-223-superpositions/ [07:21] ty! [07:21] Or guifa2 [07:21] There are a couple posted at the repo, if bad comes to worse, I'll post those ones myself. I don't want to do it without permission, anyhow [07:21] .tell moritz you ready to post your article in WP or you want me to do it for you? [07:21] JJMerelo, I'll pass your message to moritz [07:22] .tell p6steve you ready to post that in the blog or are you OK if I do it for you? [07:22] JJMerelo, I'll pass your message to p6steve [07:24] Are there any things to watch when creating a role with an infix operator method? Something like: role Addable { method infix:<⊕>(Int:D \x) of Int:D { self + x + 42 } } [07:24] Then trying to use it like: my Int \value = 33 but Addable; say value ⊕ 23; [07:25] Raku sees this as a syntax error I think. [07:25] stu002 infix are binary operators. [07:26] stu002 you probably need to add Addable:D: to the signature [07:27] Also the infixes should be defined outside of the role, otherwise they can only be seen by the role [07:28] Aha -- that's my misunderstanding. I Assumed they had the same scoping rules of a role method. [07:28] guifa2 but then they can't use self, which might be private... makes more sense to define them outside, anyway... [07:30] class A { has $.x }; multi sub infix:<⊕> ($i, $j) { $i.x + $j.x + 42 }; say A.new(:100x) ⊕ A.new(:10x) [07:30] guifa2, rakudo-moar 798614cb7: OUTPUT: «152␤» [07:30] Granted, I used a class, but works the same for a role [07:31] JJMerelo, guifa2: Good advice -- thanks. [07:31] If you're extending any of the built ins like + - etc, it's absolutely essential to use multi sub (instead of just sub) and to type your signature, e.g. [07:31] multi sub infix:<⊕> (A $i, A $j) [07:37] Do these infix sub's have the same package visibility rules as "regular" sub's? [07:38] Using one of them with an "is export" trait from a package actually make Raku (rakudo-star 20.01) segfault. [07:38] yikes, they shouldn't be doing that [07:38] but "is export" is what you'd want to do [07:39] Any chance you're using them in a BEGIN phaser? [07:39] No -- but it may have been fixed in Rakudo star since 20.01 (which is the latest on MacOS) [07:40] Very, very new to Raku so probably doing something completely silly. [07:40] Eh, regardless you shouldn't be causing a segmentation fault :-) [07:40] *** leont joined [07:40] Hold onto that code or post it up somewhere if you don't mind and maybe I can golf it tomorrow to figure out the cause [07:41] * guifa2 is about to pass out since it's almost 4am lol [07:41] Will do. BTW, removing the "multi" from the "multi sub" stopped the segfault. [07:42] Sleep tight. [07:52] *** sno left [07:58] *** oddp joined [08:02] JJMerelo: I can schedule the article, you just need to tell me for which day :-) [08:02] 2020-08-08T07:21:57Z #raku moritz you ready to post your article in WP or you want me to do it for you? [08:03] Monday AM [08:03] And thanks [08:04] that's the 10th, right? [08:12] scheduled. [08:13] moritz all good! Thanks a lot. [08:13] With that one, we're halfway through the 20th anniversary calendar :-) [08:14] *** sena_kun joined [08:16] *** Altai-man left [08:32] *** marcusr left [08:33] *** marcusr joined [08:44] * moritz slightly chuckles at https://raku.org/archive/rfc/288.html [08:47] moritz yep, CGI... [08:47] well, those were our worries back then... [09:06] *** JJMerelo left [09:20] *** satori__ left [09:20] *** satori__ joined [09:36] *** JJMerelo joined [09:45] *** cpan-raku left [09:48] er, guys don't laff, i'm still using cgi with raku [09:49] tbrowder: and there's nothing wrong with that, if it works for you [09:50] it's just not as central to web development as it once was, and so the idea of including it into the language proper seems a bit... old fashioned [09:59] tbrowder it's a quick and dirty way of getting stuff done... [09:59] IIRC, it's been phased out of the Perl core too. [10:00] m: say Version.new("v0.0.1") [10:00] rakudo-moar 798614cb7: OUTPUT: «vv.0.0.1␤» [10:00] CGI was first released with perl 5.004, deprecated (will be CPAN-only) in v5.19.7 and removed from v5.21.0 [10:00] m: say Version.new("0.0.1") [10:00] rakudo-moar 798614cb7: OUTPUT: «v0.0.1␤» [10:00] m: say Version.new("v.0.0.1") [10:00] rakudo-moar 798614cb7: OUTPUT: «vv.0.0.1␤» [10:01] yes, i know. at heart though the cgi is really easy to deal with using raku. [10:01] tbrowder the problem is that you upload and compile every single time. [10:02] but i only came to that understanding when converting from perl [10:04] You use CGI directly, interpreting URL and standard input or whatever? Or some library of yours? [10:05] yes, but it's not a sig factor in my usage. i do mean to use reverse proxy some day but i'm still collecting howtos for tls handling and multiple virtual hosts with apache macros. [10:07] Wow, awesome. [10:08] I've just seen PAUSE keeps using Perl6 for the upload directory [10:09] The repo is in GitHub, but does not seem exceptionally well maintained... Also, I don't know the master-to-deployment ratio... [10:10] i'm not exactly sure how it works but for most of my handling i have the server side includes call my raku handler which then has access to the standard cgi vars plus all the tls vars. then i can get info from my users. [10:10] So I don't know if it's worth the while to dig into it and change the default directory at all. It might be much more difficult than just changing a string, I guess... [10:10] tbrowder it if works for you... great [10:14] *** Altai-man joined [10:16] *** sena_kun left [10:24] *** cpan-raku joined [10:24] *** cpan-raku left [10:24] *** cpan-raku joined [10:48] *** wamba joined [10:52] *** demostanis joined [10:53] Hello people! I'm still fixing bugs, and I have a new one: How can I handle broken promises which were `await`ed? .then() doesn't seem to be a solution as it's running inside of a loop and waiting for last promise to end before [10:53] 2020-08-08T03:35:14Z #raku demostanis: Sparrowdo is not paranoid about security at all, I'd be glad to consider your suggestions if you really _need_ to have Sparrowdo more secure. So far it works for me [10:53] 2020-08-08T03:36:48Z #raku demostanis: "In a docker container as root, sparrowdo tried to run sudo..." - sparrowdo has --no_sudo option [10:53] *** JJMerelo left [10:54] ... before calling next promise* [10:56] melezhik: I was just checking some existing projects written in Raku, but I don't plan on using Sparrowdo. Also security doesn't seem to be that important as it's supposed to be running locally. [10:56] demostanis, I'll pass your message to melezhik [11:08] Oh I found randomly X::Await::Died [11:08] But it isn't documented [11:10] CATCH { when X::Await::Died { say .message; last } } [11:19] *** Kaiepi left [11:19] *** Kaiepi joined [11:20] *** sjm_uk left [11:20] *** aborazmeh joined [11:20] *** aborazmeh left [11:20] *** aborazmeh joined [11:35] *** wamba left [11:56] guifa2: out of the terminals i tried, only Konsole seems to implement that :( [11:57] hmm, there seems to be an exegesis missing (E07): https://raku.org/archive/doc/design/exe/E07.html [11:57] 2020-08-07T16:44:19Z #raku ab5tract you mean this one? https://gist.github.com/ab5tract/3e25e4a2ce63a349b7eb4601a85b6993 [11:59] also curious whether anyone has further back story for this sentence from synopsis 9? https://raw.githubusercontent.com/perl6/specs/master/S09-data.pod: "This synopsis summarizes the non-existent Apocalypse 9, which [11:59] discussed in detail the design of Perl 6 data structures. It was [11:59] primarily a discussion of how the existing features of Perl 6 combine [11:59] to make it easier for the PDL folks to write numeric Perl." [12:01] New module released to CPAN! Opt::Handler (0.0.3) by 03TBROWDER [12:01] so the content of the synopsis is the result of this discussion. That's a cool detail! But if anyone has any links or memories from that discussion I can put them into my post on rationals" [12:10] *** wamba joined [12:14] *** sena_kun joined [12:16] *** Altai-man left [12:36] *** ab5tract left [12:51] *** ab5tract joined [12:55] *** ab5tract left [12:57] *** domidumont joined [12:59] *** _jrjsmrtn joined [13:00] *** __jrjsmrtn__ left [13:08] *** ab5tract joined [13:14] *** oddp left [13:22] *** cacao26 joined [13:37] *** cacao26 is now known as cacao [13:42] *** ab5tract left [13:55] *** aborazmeh left [13:57] *** ab5tract joined [14:12] *** sno joined [14:13] *** cacao left [14:14] *** Altai-man joined [14:17] *** sena_kun left [14:20] *** sno left [14:23] *** Sgeo joined [14:33] *** rir joined [14:39] *** rir left [14:40] *** ab5tract left [15:00] *** MilkmanDan left [15:00] *** sjm_uk joined [15:11] *** ab5tract joined [15:13] *** MilkmanDan joined [15:20] *** zacts joined [15:29] timotimo: hmm, I guess I shouldn’t assume that this stuff works in all. Its implementation is so old school (print it twice) I figured it’d have better support lol [15:29] I wonder if there’s a way to detect if the feature is available and output accordingly [15:29] *** zacts left [15:32] well, there's termcap i guess? [15:37] If I have a token named and I want to remove '-' from what it matches, is that possible? I'm trying to find the correct syntax. somethiing like this? [15:38] may have to put a + in front of valid-chars [15:38] *** sno joined [15:43] timotimo: + is implied for the first item [15:44] i thought it might sometimes be required for syntax disambiguation [15:45] Oh, that seems to have fixed it. [15:45] What would it be ambiguous with? [15:46] *** JJMerelo joined [15:47] calling of subrules or something [15:47] *** sno left [15:47] i'm a bit fuzzy on this exact part [15:48] are you writing literally or is it more like <[abcd]-[-]> ? [15:48] i expect literally "valid-chars" [15:49] as in, there'd be a regex valid-chars already [15:49] if the former works my guess is what prevents the ambiguitiy is a method/subrule would require a colon like [15:50] I don't think when I made fuzzytoken I could just do and had to always calli t as or [15:51] timotimo: oddly I can't in terminfo/termcap anything relating to the double sized letters. Hrm.... more investigation required [15:52] same :( [15:56] So I guess it's that time of the year when we do user surveys, right? [16:04] https://www.asciiart.eu/animals/insects/butterflies I've got some ideas with this [16:05] that doesn't really clearly state anything about licensing [16:10] timotimo: fair, although I was more looking at using some of the smaller ones where I could easily make my own variations [16:10] *** JJMerelo left [16:11] there's one that uses q 9 p 6 for the wing designs and I'd just need to switch them to align the p 6 with Camelia [16:11] *** sjm_uk left [16:11] it's too bad that raku grammars don't easily allow us to put multi-line operators in code [16:12] is there a reason that operators have to be explicit text, and can't use regex? (I mean, I'm sure there is, but it seems an odd restriction) [16:12] hmm. [16:13] if a line that contains a multi-line operator must not have regular code in it, it could be easier to slang it [16:13] if lines can overlap, on the other hand ... oh lord ... [16:13] *** oddp joined [16:14] since it would require alignment to fit. you better not also have wide characters in your code lines [16:15] *** sena_kun joined [16:15] o.O wait what unholy thing are you trying to do? [16:15] here's an ugly and terrible sketch [16:15] / \ [16:16] my $foo = | 5 + 3 | [16:16] \ / [16:16] *** Altai-man left [16:16] multi-line operators :) [16:16] ahhhhhh [16:16] I thought you mean doing like [16:17] my $foo = 5 start-of-operator\n\n\n\n\-end-of-operator 6; [16:17] I think the most proper way to do something like that is a slang, and a complicated one at that. [16:18] multi-line operators like sums or integrals or limits? [16:18] *** ab5tract left [16:21] actually, you could probably fake sums/integrals by using my $sum = [end value] \nl [summation operator] [formula] \nl [start value] [16:22] oh wait, you can't make NL an operator ha [16:24] guifa2: do you know how to define a new slang in core grammar? [16:24] tbrowder: I've been having a lot of trouble doing that with binex [16:24] *** xinming left [16:24] binex?? [16:24] binary regex [16:25] ah [16:25] *** xinming joined [16:25] basically, to make binary pattern matching easy [16:25] begex [16:25] is yr work on a public branch in rakudo? [16:26] sjn: and butterflies! [16:26] I have all the elements basically ready … except being able to shoehorn things in to be able to use inline code blocks, etc. It may be that jnhtn++ 's RakuAST might help there so I've held off on doing it [16:27] But there are some good examples of simpler ones where you can fairly easy piece together control sequences to allow Perl-style control-word block block block without needing a comma like Raku would [16:28] the inline SQL is an example of it [16:28] and the for-else [16:29] *** rindolf joined [16:30] ok. i've been looking for a good cookbook for doing it. ShimmerFairy had a project that demoed a rewrite of pod handling but afaik it never got incorporated in core, so that "little" howto hook is missing. i think it would aid core pod work immensely. [16:32] the slang that is. some features she had were way beyond what i would ever dream of needing, but cool nevertheless. [16:33] I'm going to try getting a Rakudo set up so I can test integrating Binex into core. I think it would be an awesome addition there, but I need to really work out every kink before I start thinking about that. Maybe 6.f or 6.g ha [16:37] But I think you can follow the inline-sql or for-else models for POD because you're just modifying the pod language [16:37] and that's better supported that putting in a new language entirely [16:40] are those models in core or in module grammars that hook into core? [16:42] They're module grammars that hook into it [16:43] *** molaf joined [16:44] tbrowder: https://github.com/tony-o/perl6-slang-sql [16:44] and https://p6weekly.wordpress.com/2019/09/23/2019-38-for-else-itch/ [16:44] err [16:44] http://blogs.perl.org/users/damian_conway/2019/09/itchscratch.html [16:55] *** zacts joined [17:07] thnx! [17:25] timotimo: more investigating shows that the double height is one of those specs that xterm has and one or two other terminal emulators but sadly a lot don't. Gnome's libvte has maintainer that's virulently against putting it in [17:25] *** MilkmanDan left [17:27] *** MilkmanDan joined [17:31] well, that sounds like we won't be getting it :( [17:34] It's sad, I have such pretty output from my updater script [17:36] are the vte devs also against putting in sixel support? [17:37] It looks like there's only an experimental fork [17:37] https://imgur.com/erR1eFC <-- output from my updater script [17:40] HubToDate's first release!!!! https://github.com/demostanis/hubtodate/releases/tag/v0.4 [17:41] It's still in BETA tho [17:41] There are many bugs [17:42] weekly: https://github.com/demostanis/hubtodate/releases/tag/v0.4 [17:42] guifa2, Noted! (weekly) [17:42] What does weekly do? [17:47] it adds the message to a list, which lizmat usually evaluates when she writes the Raku weekly blog/newsletter/whatever [17:47] Oh ok that's cool [17:47] Thanks for adding me to the list [17:51] *** molaf left [17:53] If you haven't read the rakudo weekly, you definitely should [17:53] It's a great way to keep up to date on the work that people re doing [17:53] I've read some article already, it's interesting [17:57] I wonder [17:57] Is there a niec way a module could self update? [17:57] Even better, if during the installation process it yells at the user and says "Hey, you want me to self update?" [18:01] *** sjm_uk joined [18:03] HubToDate auto updates when you run it [18:10] demostanis: good job. [18:10] ++ [18:14] *** Altai-man joined [18:14] *** defaultxr left [18:16] *** sena_kun left [18:20] *** Altai-man left [18:23] and that at the bottom is double-width-single-height text? [18:23] *** wamba left [18:23] so, you know how programs nowadays(tm) ship a whole browser with their code ... [18:24] why not have a terminal emulator that has a few silly extra features, like support for in-line images, or "proper" GUI widgets mixed into the buffer, and ship that with your program [18:26] timotimo: indeed. [18:26] I actually have seen some neat techniques for showing images in terminals by manipulating the old greyscale-esque text displays and combining with fore/background color switches [18:27] *** Altai-man joined [18:27] have you seen sixel? [18:28] Not until you had mentioned it earlier today [18:28] I was only aware of, e.g, https://github.com/atanunq/viu [18:28] libsixel has some impressive examples [18:29] i know there's a program somewhere that uses more than just upper half block to display images in the terminal [18:29] like there's also triangle-halves and such [18:30] Yeah, I've seen the triangle one I just can't remember what it's called [18:32] and of course in xterm you can get the windowid and use the X protocol with that [18:32] also, you can do it like nnn and have an xembed hoster (forgot the name, it's linked from there) do display-stuff fr you [18:38] I want to get more into terminal programming. But only so much time in a day lol [18:40] true [18:40] and it can be quite fiddly [18:40] hey do you want to build a simple module that gives you a whole-screen-except-input-line scrollable thingie? [18:41] you probably already know of codes for making regions of the screen scrollable and such [18:41] Eh I literally look them up as I feel like I need them hahahaha [18:42] scrolling via up/down arrows shouldn't be too hard [18:43] *** domidumont left [18:43] *** zxcvz joined [18:43] *** domidumont joined [18:52] but probably also wants line editing with histry recall [18:53] Hmm, that might be tougher [18:53] *** domidumont left [18:54] *** domidumont joined [18:55] *** wamba joined [18:59] you know how linenoise wanted to be a "readline but not as huge" and ended up very big anyway because turns out terminals are terrible? [19:00] *** clarjon1 left [19:02] *** ab5tract joined [19:03] Terminal stuff is where I feel like the world is really in need of a reboot. [19:03] But it would just inevitably become one standard in a sea of thousands [19:04] https://xkcd.com/927/ [19:04] 2020-08-08T03:45:41Z #raku codesections "it seems like the vulnerability is exposing a local config-management tool to user input" that's right. anyway this level of paranoia could be easily achieved though [19:22] codesections: that's exatly what I had in mind (I even quoted that in my dissertation) [19:22] :) [19:24] *** sjm_uk left [19:29] wow [19:30] By using my timezones I was able to make a world clock in less than a dozen lines of code [19:34] *** st_elmo left [19:34] https://gist.github.com/alabamenhu/70f753835e0f7a28f7ad7e2d56b9603e [19:34] *** john_parr_ joined [19:34] *** john_parr_ is now known as st_elmo [19:35] *** st_elmo left [19:40] guifa2: i rember reading Damian's blog. But I didn't see the direct applicability, except references to the nqp and qast chunks which i think are very useful. the problem as i see it is the actual pod grammar serializes child some pod objects prematurely and it's difficult (and likely inefficent) to reverse that to properly assemble the whole class. [19:40] *some child pod objects [19:43] one glaring example: the first line in a defn block is sucked into the whole block when it shouldn't be. some valid cases are ok, but some are not. [19:45] tbrowder: I'm not sure if this is related, but also: the Pod Declarator block for a sub isn't serializable [19:45] at least not in a round-trip way [19:46] because it has a WHEREFORE block referencing the Sub's memory location [19:51] yes, that's kind of a mixed bag. it's lately been realized it's not attaching properly to all definitions as s26 seems to say. aside from that, the original implementation normalized the decl block text that was captured when it shouldn't have. i have a branch in work that i believe tests well so far on the leading decl blocks, but not trailing. [19:52] i think you pointed out the other day a good clue about trailing decls being attached to signatures and i don't think i've followed that yet. [19:54] Yeah, I remember all that (I opened the issue you mentioned) [19:55] I was raising a separate point (which isn't really related, I guess, but your use of the word "serializable" prompted me to bring it up [19:55] all along i've read s26 as being associated with user classes and functions but you i think said they should work with all objects including built-ins. [19:56] and i agree. [19:58] *** gordonfish left [19:58] oh nice, if you only have one whenever block in a react block [19:58] you can just say "react whenever foo { … }" [19:59] *** gordonfish- joined [20:00] Well, I don't know about "all" objects – jnthn++ made the point that there'd be an issue documenting e.g., `Blocks`, which seems fair enough [20:00] But Roast says they should work for variables and constants: https://github.com/Raku/roast/blob/master/S26-documentation/why-both.t#L283-L299 [20:04] yeah, my words are usually a bit fuzzy [20:10] *randomly fuzzy [20:12] since you have some interest in pod, i would aappreciate some feedback on an idea i have for a different approach for handling pod grammar. [20:13] Sure thing [20:15] *** sena_kun joined [20:16] *** Altai-man left [20:21] during parsing as pod blocks are recognized assemble them into nqp classes without serializing until they are complete. this first step would be done without too much, if any, grammar change, but it should clean up a lot of the Actions and Pod code. the primary improvement for step one should be clarity and a bit more progress on NYI bits. [20:24] there are several examples of problem pod like the defn block including... [20:26] *** wamba left [20:26] block types with and without config info, # alias for numbering, recursive paras, pod tables and formatted text, etc. [20:34] *** ab5tract left [20:36] Is that the full idea you'd like my thoughts on? (Just want to confirm) [20:45] well, it's not a formal proposal, but a direction i want to take but not if the big dogs don't like it. so far i've floated the idea a time or two but got nada feedback. [20:50] i guess i should make it more formal but haven't had the energy...i'm pretty much in linear mode with not much multiprocessing. [20:53] haha, fair enough! I don't have a *ton* of useful, thoughts, unfortunately, but since you asked …: [20:54] That seems fine, as far as I know – but I haven't yet dug into nqp or Rakudo's internals. Basically, that seems like an implimentation detail that *could* be cleaner or faster, but I don't know enough to have an informed opinion [20:55] If I'm understanding your proposal, that wouldn't have any impact for the module author using Pod, would it? [20:58] no, except hopefully improve the situation by checking off some nyi items. it would not be moving backward at all. roast will be maintained (except where it is known to be incorrect in the decl block format situation). [20:58] *** MilkmanDan left [21:00] yeah, that's what I thought. In that case, it seems like I'm the wrong person to respond – you don't need thoughts from someone who is interested in Pod, you need thoughts from someone who knows about nqp/Rakudo internals. And that'd not (yet) me :) From first principles, your suggestion makes sense, but I don't trust that [21:00] *** rjbs- joined [21:00] *** rjbs left [21:22] *** rindolf left [21:23] *** rjbs- left [21:28] *** rjbs joined [21:28] *** rjbs left [21:29] *** rjbs joined [21:32] *** demostanis left [21:36] thnx anyway, nice to chat today. take care. [21:47] *** MilkmanDan joined [22:14] *** Altai-man joined [22:16] *** sena_kun left [22:32] *** stu002 joined [22:44] *** MilkmanDan left [22:46] *** sno joined [22:54] *** vike left [22:54] *** MilkmanDan joined [23:02] Is there a way to lazily assign to a variable? something like `lazy my $a = expensive-calculation()` ? [23:07] (with the goal of having `expensive-calculation` called 0 or 1 times – 0 times if $a is never used and 1 time if $a is used, potentially many times) [23:08] How are macOS Raku users installing rakudo? rakudo-star is at 20.01 on Homebrew. Should I compile my own version or use rakubrew? [23:14] *** oddp left [23:14] *** MilkmanDan left [23:18] I don't use Raku on a mac, sorry [23:19] *** vike joined [23:20] m: sub slow() { sleep 1; 42}; my $a = lazy gather { take slow }; say $a[0]; say $a[0]; [23:20] rakudo-moar 798614cb7: OUTPUT: «42␤42␤» [23:20] that ^^^^ achieves the effect I'm looking for, but is really clunky [23:22] stu002: I think a lot of people use rakubrew on Mac. [23:24] *** aborazmeh joined [23:24] *** aborazmeh left [23:24] *** aborazmeh joined [23:25] For the grammar gurus out there, what's the best way to know/figure out the structure of your grammar tree. For example, when creating my actions, what's the best way to know if the method I'm creating will be acting on a single item or an array-like item? [23:25] Up until now I've been doing it rather visually, but as my grammar gets more complex, it's a bit hard to follow sometimes. [23:35] proposal for any raku/apache experts: have you used raku with cro or bailador or any other http raku server behind an apache reverse proxy server USING TLS? if so, i would pay real money for the apache https conf code that works with apache macro for virtual hosts. (this offer is transferable to any other if interested, make [23:35] if interested contact me by private msg [23:42] tbrowder: Do you want TLS between apache and cro, or to use apache to do the TLS setup? [23:42] Well, or both :) [23:47] if anyone is interested in running the latest and greatest apache 2.4.43 with openssl 1.1.1g you can see my detailed build from source (debian 10) instructions at https://github.com/tbrowder/config-scripts [23:48] I think it would be cool to see examples of all of those cases, perhaps somewhere where everyone could benefit from them. [23:51] jnthn, i have apache running very securely (A+) and with some managed domains (moving slowly). i use apache macros to define virtual host configuratios. i would like to move to reverse proxy sites while continuing using the macros. [23:53] so the main block is getting the apache reverse proxy right along with the tls certs from lets encrypt. i think the [23:55] so i would like to plug in cro, with tls, behind the proxy, with one or more instances of cro running i guess is what would be required. [23:56] excuse the ff pls [23:56] *** MilkmanDan joined [23:59] one per vhost, different port per each. easy if the macro syntax is right. that seems to be close hold.