[00:04] *** BenGoldberg joined [00:04] *** mcmillhj left [00:05] Who is Zoffix right now? I need to ask about IRC::Client ... [00:06] elfoonto [00:06] ... but not here? Hmmm [00:07] zoffix tends to pop in and out of existence [00:07] How do you .tell someone who keeps changing nick all the dang time? [00:07] they left, yes [00:07] (and I see I pegged them without much evidence :) [00:07] yay, worked [00:07] *** cdg left [00:09] *** cognominal left [00:09] Gah, well: Anyone currently in here successfully use IRC::Client in a Rakudo built today? [00:09] *** labster left [00:10] I guess you could md5 before installing, geekosaur? [00:10] I'm trying to figure out if I failed my daily stupidity check, or I got unlucky and IRC::Client is allergic to a recent commit. [00:10] to check if a man in the middle attack occurred, no? [00:11] I hope you mean sha256; md5 is long since compromised for that use, and sha1 is unreliable [00:11] could be, yes [00:11] would prevent such hotspot geeks, right? [00:12] https should already be good enough, if we can get the certificate pinned in the curl commandline maybe? [00:12] excellent [00:12] yes, there is no session [00:12] no hijacking I guess [00:13] Im putting up a whole series of linux distros now to test it [00:13] first was ubuntu 14.04 [00:13] later ill try on my old mac [00:14] *** cognominal joined [00:14] obscuring the file also helps [00:14] with https, am I right? [00:14] I mean, along with https [00:15] *** mcmillhj joined [00:16] doc: 51d7a8d | gfldex++ | doc/Language/control.pod6: [00:16] doc: alias swtich to given for search [00:16] doc: review: https://github.com/perl6/doc/commit/51d7a8d7e5 [00:16] japhb: bisectable6, benchable6, and committable6 all use IRC::Client [00:16] with a somewhat recent Rakudo [00:17] if someone gets a trusted certificate for rakudo.org and MITMs you, you can still be pwned ... [00:18] and unfortunately that kind of thing is a somewhat common occurrence [00:18] like if you have an antivirus or something the OEM installed that ships a CA in order to "protect" you from stuff in https encrypted connections [00:18] cf. various entities getting certs for both microsoft.com and google.com [00:18] and when the software also accidentally ships the private key to go with that certificate authority ... [00:18] or deliberately, in the dell case [00:18] lenovo also had a case of that [00:19] japhb: This is Rakudo version 2016.07.1-148-g9cbd855 built on MoarVM version 2016.07-17-g40948f6 [00:19] who would be responsible for acquiring such a certificate for perl6.org, guys? [00:20] im using 2016.04 [00:20] *** mcmillhj left [00:25] *** richi235 left [00:27] what? [00:27] I have the feeling you did not understand what was said there and now you want a fake perl6.org cert to hijack the site with? [00:28] *** eyck joined [00:28] also I have the feeling you are so convinced that something *fundamentally insecure* is critically important to have and therefore cannot possibly be fundamentally insecure, it's just a matter of tweaking things right to make it safe [00:29] and yes, I have seen lots of justifications for why "just set the server up right and it's perfectly safe" that prove that the people that wrote them *do not understand network security* [00:31] *** girafe left [00:32] *** mcmillhj joined [00:35] *** mempko left [00:35] MasterDuke: I figured out the problem -- no SSL support in IRC::Client. [00:37] *** mcmillhj left [00:37] ahh, didn't realize that. good to know [00:42] *** mcmillhj joined [00:47] *** gfldex left [00:47] *** mcmillhj left [00:49] *** pierre_ joined [01:05] *** mcmillhj joined [01:05] *** ItayAlmog left [01:08] *** labster joined [01:13] *** bjz joined [01:14] *** Actualeyes joined [01:14] *** mcmillhj left [01:16] *** mcmillhj joined [01:19] *** bjz_ joined [01:20] *** bjz left [01:21] *** mcmillhj left [01:23] *** lambd0x left [01:23] *** bjz_ left [01:24] *** BenGoldberg left [01:25] *** MasterDuke left [01:26] *** bjz joined [01:27] *** BenGoldberg joined [01:30] *** ItayAlmog joined [01:31] *** pierre_ left [01:32] *** pierre_ joined [01:45] *** ilbot3 left [01:47] *** ilbot3 joined [01:49] *** bjz_ joined [01:50] *** bjz left [01:52] *** skrshn left [01:53] *** mcmillhj joined [01:57] *** mcmillhj left [02:00] *** itaipu joined [02:11] If I want to "create" a "alias" for the class word, I can use the EXPORTHOW... Is there anything like that for the has word? [02:13] *** labster left [02:14] *** pierre_ left [02:14] *** labster joined [02:16] m: module EXPORTHOW {constant DEFINE::just-a-class = Metamodel::ClassHOW}; say just-a-class Name {} [02:16] rakudo-moar ec9e81: OUTPUT«5===SORRY!5=== Error while compiling ␤Missing initializer on constant declaration␤at :1␤------> 3module EXPORTHOW {constant DEFINE:7⏏5:just-a-class = Metamodel::ClassHOW}; sa␤» [02:18] m: module EXPORTHOW {module DEFINE {constant just-a-class = Metamodel::ClassHOW}}; say just-a-class Name {} [02:18] rakudo-moar ec9e81: OUTPUT«5===SORRY!5=== Error while compiling ␤Undeclared name:␤ Name used at line 1␤Undeclared routine:␤ just-a-class used at line 1␤␤» [02:22] m: package EXPORTHOW {package DEFINE {constant just-a-class = Metamodel::ClassHOW}}; say just-a-class Name {} [02:22] rakudo-moar ec9e81: OUTPUT«5===SORRY!5=== Error while compiling ␤Undeclared name:␤ Name used at line 1␤Undeclared routine:␤ just-a-class used at line 1␤␤» [02:22] Something like that... [02:23] But is there a way to do that with the "has" key word? [02:23] *** pierre_ joined [02:24] And for methods? [02:27] *** mcmillhj joined [02:27] *** pierre_ left [02:32] *** mcmillhj left [02:39] *** aries_liuxueyang left [02:39] *** noganex joined [02:42] *** noganex_ left [02:43] Slangs [02:46] *** aries_liuxueyang joined [02:51] *** labster left [02:51] *** mcmillhj joined [02:53] *** bob777 joined [02:53] *** eliasr left [02:56] *** mcmillhj left [02:59] *** atweiden left [02:59] *** richi235 joined [03:02] *** mempko joined [03:02] *** pierre_ joined [03:12] *** cibs left [03:15] *** cibs joined [03:26] *** mcmillhj joined [03:30] *** mcmillhj left [03:38] *** beatdown left [03:46] *** MilkmanDan left [03:48] *** MilkmanDan joined [03:52] *** mcmillhj joined [03:56] *** mcmillhj left [03:58] *** mempko left [04:08] *** mcmillhj joined [04:09] *** Actualeyes left [04:10] *** mempko joined [04:13] *** mcmillhj left [04:15] *** Cabanossi left [04:16] *** khw left [04:19] *** Cabanossi joined [04:21] *** mcmillhj joined [04:22] *** labster joined [04:26] *** mcmillhj left [04:27] *** zapwai left [04:34] *** mcmillhj joined [04:35] *** mempko left [04:36] *** gabiruh left [04:36] *** sftp left [04:36] *** mindos left [04:37] *** pierre_ left [04:37] *** canopus left [04:37] *** kipd left [04:37] *** DrParis left [04:38] *** zostay left [04:38] *** peteretep left [04:38] *** Lucas_One left [04:38] *** olinkl left [04:38] *** mcmillhj left [04:38] *** sftp joined [04:39] *** mindos joined [04:40] *** zostay joined [04:40] *** peteretep joined [04:40] *** kipd joined [04:40] *** olinkl joined [04:40] *** Lucas_One joined [04:41] *** kent\n left [04:41] *** kent\n joined [04:42] *** DrParis joined [04:42] *** gabiruh joined [04:44] *** ponbiki joined [04:44] *** ponbiki is now known as Guest43351 [04:44] *** canopus joined [04:46] *** Matthew[m] left [04:46] *** pierre_ joined [04:46] *** kent\n is now known as kentnl [04:48] *** JimmyZ joined [04:49] *** kentnl is now known as kent\n [04:50] *** ItayAlmog left [04:51] *** pierre_ left [04:52] *** Matthew[m] joined [04:54] *** mcmillhj joined [04:55] *** skids left [04:59] *** mcmillhj left [05:03] *** pnu_ left [05:03] *** mrsolo left [05:03] *** tbrowder left [05:03] *** Guest58374 left [05:04] *** pnu_ joined [05:05] *** Guest58374 joined [05:05] *** tbrowder joined [05:06] *** mrsolo joined [05:06] *** PotatoGim joined [05:07] *** woolfy joined [05:07] *** w4and0er96 joined [05:13] *** jnap_ joined [05:18] *** mcmillhj joined [05:23] *** mcmillhj left [05:25] tail -3 ~/.bashrc\nexport PATH\nPATH=$HOME/.rakudo/bin:$PATH\nexport PATH\nYou have new mail.\n$ should work :) [05:27] except when you use virtual environment managers which expect that .bashrc does not undo the path changes they just made [05:28] geekosaur: err... .bashrc are now autogenerated too ?? :) [05:28] (some uses of perlbrew; rvm; hsenv; more generally stuff like modules) [05:31] *** canopus left [05:37] *** canopus joined [05:38] *** Actualeyes joined [05:40] geekosaur: looks hsenv introduces new layer so installation needs to be level-up from this. or just implementation of meta-tools that operate on environment from inside is needed :> [05:41] so, the real point is, you use an environment manager to point your current shell to a particular installation of something. you fire up vim, and expect it to also be using that. but vim loads your .bashrc when it runs an external command, which undoes the modified $PATH --- oops [05:42] err... there was RFC discussion on #perl6-dev yesterday... do this means that pasting links from HN is now prohibited without thinking&proposing RFC paper ?? [05:42] *** ufobat joined [05:44] geekosaur: that's why you need meta-part there, it needs to modify .bashrc template for every env usage :) [05:46] that's not scalable to modules or nikola or other such systems where the sysadmins manage the environment configs for possibly hundreds of users with different shells [05:47] *** pierre_ joined [05:50] * Woodi finally become proper X desktop user by learning to use that virtual desktop feature from twm/fvwm times :) [05:52] *** pierre_ left [05:57] *** pierre_ joined [05:59] Woodi: welcome to the 20th century! :-) [06:00] *** pierre_ left [06:01] *** pierre_ joined [06:11] *** itaipu left [06:15] *** mcmillhj joined [06:18] *** Wiertek joined [06:19] *** woolfy left [06:19] *** woolfy1 joined [06:20] *** pierre___ joined [06:20] *** mcmillhj left [06:20] *** wamba joined [06:21] *** wtw_ joined [06:21] *** pierre_ left [06:21] *** wtw left [06:21] *** wtw_ left [06:21] *** wtw_ joined [06:21] *** firstdayonthejob joined [06:22] *** pmurias joined [06:24] *** zacts joined [06:28] *** mempko joined [06:29] *** brrt joined [06:30] ok, I'm not sure fvwm had that in 1999 [06:30] *** nadim joined [06:34] *** firstdayonthejob left [06:34] *** AlexDaniel left [06:36] *** berthos joined [06:39] *** berthos left [06:39] *** domidumont joined [06:43] *** domidumont left [06:45] *** domidumont joined [06:45] *** mcmillhj joined [06:45] it did [06:46] original twm didn't [06:47] *** darutoko joined [06:49] *** mcmillhj left [06:49] probably thinking of ctwm, from 1992 [06:50] *** nine joined [06:54] *** Wiertek left [06:56] *** domidumont left [06:57] *** domidumont joined [07:00] *** mcmillhj joined [07:01] *** CIAvash joined [07:03] *** brrt left [07:04] *** mcmillhj left [07:12] *** mohae_ joined [07:14] *** mohae left [07:18] *** BenGoldberg left [07:19] *** labster left [07:19] *** gucore joined [07:22] *** dsp_ left [07:23] *** dsp_ joined [07:25] *** espadrine_ joined [07:31] *** Wiertek joined [07:34] *** woolfy1 left [07:34] *** woolfy joined [07:35] *** canopus left [07:36] *** zakharyas joined [07:40] *** canopus joined [07:46] *** mempko left [07:49] *** domidumont left [07:50] *** RabidGravy joined [07:51] *** mcmillhj joined [07:56] *** mcmillhj left [08:01] *** girafe joined [08:03] *** labster joined [08:04] *** vendethiel left [08:06] *** espadrine_ left [08:07] *** grondilu joined [08:07] *** nightsh joined [08:07] how do I recursively list all regular files in a directory? [08:08] *** dolmen joined [08:09] grondilu: use File::Find or Path::Iterator [08:09] *** pierre___ left [08:10] yeah, just saw it on rosettacode [08:11] *** dakkar joined [08:14] *** pierre_ joined [08:16] *** yoleaux joined [08:16] *** ChanServ sets mode: +v yoleaux [08:19] *** leont joined [08:21] *** nightsh left [08:22] good antenoon, #perl6 [08:26] *** Actualeyes left [08:29] *** brrt joined [08:31] *** mcmillhj joined [08:34] *** vendethiel joined [08:34] *** jonas3 joined [08:34] *** smls joined [08:36] *** mcmillhj left [08:45] *** ItayAlmog joined [08:47] *** Sgeo_ joined [08:48] *** rindolf joined [08:48] *** ItayAlmog left [08:49] *** ItayAlmog joined [08:51] *** Sgeo left [08:51] *** mcmillhj joined [08:51] *** perl6p4 joined [08:52] *** ab6tract joined [08:52] o/ #perl6 [08:53] i seem to be confused about array slicing [08:53] m: my @a = [ 1 xx 5 ], [ 2 xx 5], [3 xx 5], [4 xx 5]; say @a[][2]; say @a[*][2] [08:53] rakudo-moar ec9e81: OUTPUT«[3 3 3 3 3]␤[3 3 3 3 3]␤» [08:53] ab6tract: or you found a bug :) [08:53] i thought for sure one of those syntaxes (or another that i am forgetting) used to give a list of all the second elements of the arrays [08:54] *** ItayAlmog left [08:54] *** vendethiel left [08:55] lizmat: are you saying i ain't crazy (at least not about this)? [08:56] *** mcmillhj left [08:56] well, @a[*] is basically the same as @a[], which is basically the same as @a [08:56] m: my @a = [1 xx 5], [2 xx 5], [3 xx 5], [4 xx 5]; say @a[*;2] [08:56] rakudo-moar ec9e81: OUTPUT«(1 2 3 4)␤» [08:56] so that's just saying @a[2], which looks correct [08:56] ab6tract: ^^ [08:57] right, but wasn't there a slice syntax for getting at every second element? [08:57] of a multi dim [08:57] I think that's still NYI ? [08:57] oh [08:57] lol [08:57] masak just showed me :) [08:57] ah, ok, must not be awake then :-) [08:57] there's something wrt to multidim slicing that's NYI still [08:58] Of *course* Perl6 does APL-style slicing. :/ [08:58] DrForr: you seem disappointed at this. [08:58] *** perl6p4 left [08:58] It means I have *more* work :) [08:58] maybe we can bacronym APL to be Another Perly Language :) [08:58] *** nine left [08:58] *** nadim left [08:58] *** ufobat left [08:58] *** aries_liuxueyang left [08:58] *** imcsk8 left [08:58] *** Ulti left [08:58] *** hanekomu left [08:58] *** mtj_ left [08:58] *** jdv79 left [08:58] *** mniip left [08:58] *** broquaint left [08:58] *** dylanwh left [08:58] *** shadowpaste left [08:58] *** xdbr left [08:58] *** jervo left [08:59] *** mniip joined [08:59] *** sjohnson joined [08:59] *** rafl joined [08:59] *** remmie joined [09:00] *** dylanwh joined [09:00] The major problem is that APL does strict L-to-R evaluation; I'd need to add a slang that ignores precedence in order to make the operations properly line up. [09:01] *** ggherdov left [09:02] *** leont left [09:02] *** leont_ joined [09:03] *** jervo joined [09:03] *** nine joined [09:03] *** nadim joined [09:03] *** ufobat joined [09:03] *** aries_liuxueyang joined [09:03] *** imcsk8 joined [09:03] *** Ulti joined [09:03] *** hanekomu joined [09:03] *** mtj_ joined [09:03] *** jdv79 joined [09:03] *** broquaint joined [09:03] *** shadowpaste joined [09:03] *** xdbr joined [09:03] *** TheDir_ joined [09:03] *** jeek joined [09:03] *** gypsydave5 joined [09:03] *** jast joined [09:03] *** margeas joined [09:03] *** aries_liuxueyang left [09:04] *** ggherdov joined [09:04] *** MorayJ joined [09:05] *** mcmillhj joined [09:06] *** aries_liuxueyang joined [09:07] *** gucore is now known as fridim___ [09:08] *** ggherdov left [09:09] *** ggherdov joined [09:09] *** mcmillhj left [09:18] *** pierre_ left [09:19] *** Sgeo_ left [09:19] *** mcmillhj joined [09:20] *** Sgeo_ joined [09:21] *** girafe left [09:23] *** pierre_ joined [09:24] *** mcmillhj left [09:25] *** leont_ left [09:26] DrForr: does it? isn't there some precedence so "1 2 3 4 rho 2 2" knows that the first block of numbers are an array, and "2 2" is another array passed as argument to rho? [09:27] *** domidumont joined [09:28] *** pierre_ left [09:28] Well, that was at least the impression I got when I last read the official manual (which I have in storage back in the States.) I'm sure the memory has faded, though. [09:36] *** pierre_ joined [09:38] *** TEttinger left [09:38] *** pierre_ left [09:38] *** pierre_ joined [09:45] *** brrt left [09:47] *** CIAvash left [09:47] *** michiamodiego joined [09:47] *** brrt joined [09:48] *** michiamodiego left [09:49] *** di_ego joined [09:52] *** di_ego left [09:54] *** CIAvash joined [10:13] ecosystem: 81e535d | ab5tract++ | META.list: [10:13] ecosystem: Update Terminal::Print META6.json location [10:13] ecosystem: review: https://github.com/perl6/ecosystem/commit/81e535d81c [10:18] *** Sgeo_ left [10:22] *** girafe joined [10:23] nadim: you've already missed a lot of interesting discussion over in #perl6-toolchain starting at http://irclog.perlgeek.de/perl6-toolchain/2016-08-29#i_13112051 [10:23] nadim: also my proposal at https://github.com/perl6/toolchain-bikeshed/blob/master/build.md [10:23] *** pierre_ left [10:24] *** Sgeo joined [10:30] *** lambd0x joined [10:30] Hi everyone! [10:37] *** margeas left [10:42] *** bioduds left [10:42] Afternoon. [10:43] *** itaipu joined [10:48] *** eyck left [11:02] *** labster left [11:07] *** eyck joined [11:11] *** kaare__ joined [11:13] Hi! [11:13] Hwo can I get an exception object inside CATCH { ... } ? [11:13] $_ [11:14] thanks! [11:14] m: die "foo"; CATCH { dd $_ } [11:14] rakudo-moar f0e6ae: OUTPUT«X::AdHoc.new(payload => "foo")␤foo␤ in block at line 1␤␤» [11:15] ok, thanks lizmat: [11:16] sorry, for silly question, I read about payload , but still can't understand how to use it in my exception classes ... [11:19] die "foo" is basically short for X::AdHoc.new(payload => "foo").throw [11:19] other exceptions have other parameters [11:20] so payload method only makes a sense for X::AdHoc class? [11:21] yes [11:21] m: say 24 / my $ = 0; CATCH { dd $_ } # other example [11:21] rakudo-moar f0e6ae: OUTPUT«X::Numeric::DivideByZero.new(using => "div", numerator => 24)␤Attempt to divide 24 by zero using div␤ in block at line 1␤␤Actually thrown at:␤ in block at line 1␤␤» [11:21] *** pmurias left [11:22] ok, thanks lizmat: [11:22] how to disable variables interpolation inside regular expressions ? [11:23] to have something /$foo/ where $foo is not a variable ... [11:23] just put it in single quotes [11:23] that'll guarantee no interpolation happens [11:24] nine, I'll look at it right now [11:26] nine: so when I explain a problem you profit of the occasion to cleanup your nose and get a small raccoon out of it. http://imgur.com/a/mBNte [11:26] thanks timotimo: , I guessed this, probably had some other errors in other parts of my regexps ... [11:28] could be, yes [11:28] LOL [11:28] hehe [11:28] Well if the image was larger, I could talk myself out of this... [11:28] melezhik: have you tried perl6-debug-m yet? (you need to install a front-end module) [11:28] perl6-debug-m for what ? [11:29] nine: IMVHO, and I know a lot of people will not get it, forget make, forget make, forget make. also, in my experience, declarative systems will fail. or rather they will deprecate rapidly. Maybe we can continue this on the toolchain channel. [11:29] melezhik: for your regex parsing? [11:29] nadim: please. I wouldn't mind you reposting that [11:30] ah, I am confident enough to manage on my own, thanks for advise anyway ... [11:30] nadim: that was just nine switching the tape recorder up his nose to "record" :-) [11:31] can't find to how to have tests without plan at https://docs.perl6.org/language/testing if I have only done-testing at the end, I still have a Parse errors: No plan found in TAP output [11:32] just a done-testing at the end should be enough [11:32] m: use Test; ok 1; done-testing [11:32] rakudo-moar f0e6ae: OUTPUT«ok 1 - ␤1..1␤» [11:32] ahh, got now, seems like program flow does not reach a done-testing call [11:32] that's the reason ... [11:32] it's ok now [11:33] Or 'plan 42;' at the top, if you know the number of tests or can compute them. [11:33] worst case, just END { done-testing } :P [11:33] lizmat: he's sneaky like that [11:33] *** jonadab left [11:35] strange enough if I have asserts in CATCH {} block seems like done-testing also needs to be called inside CATCH {} block; If I have done-testing just at the end of the file I have "No plan found in TAP output" [11:38] m: say 24 / my $ = 0; CATCH { default { dd $_ } } # use default to disarm the exception [11:38] rakudo-moar f0e6ae: OUTPUT«X::Numeric::DivideByZero.new(using => "div", numerator => 24)␤» [11:38] m: use Test; die; CATCH { default { dd $_ } }; done-testing [11:38] rakudo-moar f0e6ae: OUTPUT«X::AdHoc.new(payload => "Died")␤» [11:39] m: use Test; ok "foo"; die; CATCH { default { dd $_ } }; ok "bar"; done-testing [11:39] rakudo-moar f0e6ae: OUTPUT«ok 1 - ␤X::AdHoc.new(payload => "Died")␤» [11:39] hmmm [11:39] m: use Test; ok "foo"; die; CATCH { default { dd $_ } }; ok "bar"; END done-testing [11:39] rakudo-moar f0e6ae: OUTPUT«ok 1 - ␤X::AdHoc.new(payload => "Died")␤1..1␤» [11:39] was able to reproduce lizmat: ? [11:39] melezhik: I guess using END is best then :-) [11:40] yes, but this one is obscure , don't you think? [11:42] *** MilkmanDan left [11:42] Having a CATCH block in the mainline of your test file is sure obscure :) [11:44] yeah, tests need to get improved , for sure, I just trying to say that I expect that done-testing works at the end of my code, without any additional magic with END { ... } [11:44] m: use Test; ok "foo"; die; CATCH { .resume }; ok "bar"; done-testing [11:44] rakudo-moar f0e6ae: OUTPUT«ok 1 - ␤ok 2 - ␤1..2␤» [11:44] I think the misunderstanding was about what CATCH does [11:44] the CATCH doesn't prevent the exception to be thrown per se [11:45] why you focus on CATCH? I just found that done-testing does not work for some cases [11:45] melezhik: what is the case it doesn't work ? [11:45] ok, let me write an explanatory code [11:46] I thought you already did ... [11:46] *** itaipu_ joined [11:46] I've tracked weird behavior in a custom sub EXPORT I am writing. [11:46] If I send anything but an empty map, I get the following error: "Cannot find method 'package_at_key': no method cache and no .^find_method [11:46] " [11:48] Maybe related to https://rt.perl.org/Public/Bug/Display.html?id=128010 [11:48] ?? [11:49] *** itaipu left [11:49] *** brrt left [11:50] *** girafe left [11:54] *** mcmillhj joined [11:55] *** vendethiel joined [11:55] *** smls left [11:55] melezhik: After a CATCH has handled the exception, the block enclosing the CATCH is left (which in your case is the mainline of the program). done-testing isn't something magical, it's just a normal subroutine call (like all the test subs). So you exit the mainline of the program before there's any chance to reach done-testing and run it. [11:57] https://gist.github.com/melezhik/5a3b0b77e8e094bf10d37bad60b0a542 [11:57] please take a look at this [11:57] *** rindolf left [11:58] melezhik: after the CATCH block is executed, execution stops: it never reaches the done-testing in that case [11:58] doc: 37999cd | MasterDuke17++ | doc/Language/glossary.pod6: [11:58] doc: Fix typo in 'Colon Pair' indexing [11:58] doc: review: https://github.com/perl6/doc/commit/37999cdde3 [11:59] *** mcmillhj left [11:59] *** MorayJ left [12:00] "after the CATCH block is executed, execution stops: it never reaches the done-testing in that case" does it stated at https://docs.perl6.org/language/exceptions ? [12:00] *** rindolf joined [12:01] *** itaipu_ left [12:01] *** itaipu joined [12:02] melezhik: yes. [12:02] melezhik: from that page: "Exceptions interrupt control flow and divert it away from the statement following the statement that threw it." [12:02] https://docs.perl6.org/language/exceptions#Resuming_of_Exceptions [12:03] (in fact, the sentence is not completely correct. interruption happens at the resolution of sequence points, not statements.) [12:04] masak: it's about exceptions , but not that clear (at least I can't this that everything going _after_ CATCH blocks will be never executed ... ) [12:04] *** domidumont left [12:05] not quite [12:05] melezhik: "Exceptions interrupt control flow" [12:05] *** domidumont joined [12:05] melezhik: it's right there in those words [12:05] m: { die "oh no!"; say "not executed"; CATCH { default { } }; say "also not executed?" }; say "end of the thing" [12:05] rakudo-moar f0e6ae: OUTPUT«end of the thing␤» [12:05] ah. [12:05] melezhik: It's not about "not after the CATCH block", it's about "not after the point of the throw" [12:06] yes, it's not about "after the CATCH"... what jnthn++ said [12:06] masak: and? ... I know what exceptions are , please reread my lines about catch blocks [12:06] melezhik: plonk [12:06] But yes, I agree that page could be more clear. [12:06] *** Wiertek left [12:06] melezhik: If you expect control to reach your done-testing statement, your understanding of exceptions has some way to go :) [12:07] The easiest way to deal with this is just to shove the throwing statement and your CATCH inside of a try { ... } [12:07] lunch time & [12:07] guys forget about done-testing, I am just tying to say that according to exceptions docs it's not clear that code goes after CATCH {} will be never executed [12:08] *** ItayAlmog joined [12:08] it is not about I can't have my tests done in right way, it's about ,,, well more about documentation, imho [12:09] melezhik: you're welcome to open an issue on the perl6/docs repo, or even contribute the docs yourself [12:09] perl6/doc that is [12:09] on github [12:09] yes, sure , I just want to be sure that I do not want judge anybody I just want to be sure, that other get my thoughts ... [12:11] *** domidumont left [12:11] now I know how CATCH works in perl6, thanks for explanations, I just tried to say this behavior is not clear after my reading perl6 exceptions docs, that is it. [12:12] won't tell more on this topic :)) [12:12] right, but we're saying "we don't know how to make it clearer if you don't help, so please help, we'd love that" [12:12] *** domidumont joined [12:13] mst: sure [12:13] melezhik: don't stop with that topic. Please use your newly gained understanding to improve the docs. [12:13] melezhik++ # I look forward to the patch [12:13] moritz: , mst: will think about perl6 doc contribution [12:13] *** mcmillhj joined [12:14] It's just a Git PR away :) [12:15] DrForr: sure ... :) [12:15] *** bjz_ left [12:15] Fork, checkout a new doc branch, hack hack, commit, PR. *boom*. [12:16] good boom or bad boom? :) [12:16] only one way to find out [12:17] Boom today, boom tomorrow. There's *always* a boom tomorrow. [12:17] hm. when's next boomday? [12:17] fish: ddate: command not found... - grrrrrr [12:18] Tomorrow, of course. (Good grief, have you all forgotten Babylon 5?...) [12:18] *** MasterDuke joined [12:18] * arnsholt <3 Babylon 5 [12:18] btw, if perl6 CATCH {} has something similar like "ensure" block like in ruby, where someone could put a code which will be executed _unconditionally_, right after all the "when" blocks executed ... ? [12:19] *** vendethiel left [12:19] melezhik: yeah, LEAVE should do that [12:19] ahh, good [12:20] who's the boom king? [12:20] Well, masak used to be king of the bug reports, so maybe he is? =) [12:20] no, no, no. i'm the boom king! [12:21] anyway, AFK for a bit [12:21] . o ( Say hello to my *BOOM* stick ) [12:21] (if you don't know what i was referencing, it's "She's So Hot Boom" by Flight of the Conchords, and it comes highly recommended - especially with the video that goes with it) [12:22] *** garu joined [12:23] Inline-Perl5/raccoon: e746858 | niner++ | / (3 files): [12:23] Inline-Perl5/raccoon: Experimental support for experimental raccoon build system [12:23] Inline-Perl5/raccoon: review: https://github.com/niner/Inline-Perl5/commit/e74685849a [12:29] *** CIAvash left [12:29] hi everyone! not sure if it's a bug, a not-implemented-yet or a by-design thing, but "my regex fú { \. }; say 'w00t' if 'a.b' ~~ / /;" is borking with "Error encoding ASCII string: could not encode codepoint 250" [12:30] if I change fú with fu it works, of course [12:32] (tested against moar-nom aa5e494. running rakudobrew build moar now) [12:32] *** bjz joined [12:34] *** sufrostico joined [12:35] bisect: my regex fú { \. }; say 'w00t' if 'a.b' ~~ / / [12:35] MasterDuke, On both starting points (good=2015.12 bad=ec9e814) the exit code is 1 and the output is identical as well [12:35] MasterDuke, Output on both points: ===SORRY!===␤Error encoding ASCII string: could not encode codepoint 250 [12:35] *** n1lp7r joined [12:36] timotimo: thanks for the "boom" reference. I enjoyed watching https://www.youtube.com/watch?v=a-sawvtJxDI :) [12:36] have heard the song before but not seen the video [12:36] p6: my regex fú { \. }; say 'w00t' if 'a.b' ~~ / /; [12:36] rakudo-moar f0e6ae: OUTPUT«===SORRY!===␤Error encoding ASCII string: could not encode codepoint 250␤» [12:37] I guess it fails on HEAD as well :/ [12:37] that's a bug :( [12:38] moritz: excelent! is it easy enough that someone who's never had any contact with the codebase *cough*me*cough* can take a stab a it? Or will I be doing more damage than good? :D [12:39] garu: I don't know [12:39] garu: it's not immediately obvious where the bug comes from, so I can't tell [12:40] then I guess the answer is no. no worries, I'm happy I could help spotting it anyway :) [12:41] what's codepoint 250? is there any non-ASCII in that camelia eval? [12:42] *** ItayAlmog left [12:43] masak: regex fú [12:43] the ú isn't ASCII :-) [12:43] .u ú [12:43] U+00FA LATIN SMALL LETTER U WITH ACUTE [Ll] (ú) [12:48] geez, I gotta set up this term correctly... [12:50] masak: i more thought of https://www.youtube.com/watch?v=JT5AQIlmM0I when i mentioned the video that goes with it :) [12:50] it has a bit of the story from the series at the beginning, but it's super funny, too. [12:54] other favourites include "i'm not crying", "you don't have to be a prostitute", "carol brown", "frodo don't wear the ring", "mother uckers", and so many more :) [12:54] *** neuron joined [12:55] *** tonar joined [12:56] bisect: :१x [12:56] tonar, For the given starting points (good=2015.12 bad=ec9e814), exit code on a ‘good’ revision is 1 (which is bad), bisecting with inverted logic [12:56] tonar, bisect log: https://gist.github.com/20bd24e49edd56c97325efda0224876d [12:56] tonar, (2016-06-12) https://github.com/rakudo/rakudo/commit/054a54a [12:57] committable6: 2016.04 :१x [12:57] tonar, ¦«2016.04»: ===SORRY!===␤Error encoding ASCII string: could not encode codepoint 2407 «exit code = 1» [12:57] garu: ^ the fix for your thing is likely the same. (see commit from bisectable) [12:57] *** darutoko left [12:57] s/same/similar/; [12:59] And the docs for nqp ops are here: https://github.com/perl6/nqp/blob/master/docs/ops.markdown [13:00] You don't need the radix one, but maybe something or other :) [13:00] *** tonar left [13:02] so what's RT #128306 exactly? [13:02] Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=128306 [13:02] thank you, synopsebot6 [13:03] oh, does that mean the fix got b0rked in the mean time? then why did bisectable show that commit and not the one that b0rked it recently(ish)? [13:05] *** eliasr joined [13:06] *** Sgeo left [13:07] *** tonar joined [13:07] https://github.com/perl6/doc/pull/876 - CATCH blocks and the following code [13:07] my vision of it [13:08] timotimo: the 128306 is a resolved ticket. It had the same error as garu's issue, and thus its fix may be at least helpful to garu's desire to attempt to fix the bug. Nothing got broken after it got fixed. I've used commitable robot to execute code on a pre-fix commit. [13:09] melezhik: Yay! [13:10] melezhik: that's not accurate. The CATCH block can go anywhere in the block. It's the code after the thrown *exception* that will never get executed. [13:11] tonar: I see [13:11] melezhik: you can put that CATCH and LEAVE right at the start of the block and effect would be nearly* the same (*the only difference is when they are at the very end, which affects block's return value) [13:12] "The CATCH block can go anywhere in the block" , what do you mean by ? A some other block, like try { ... } ? [13:13] the block outside of CATCH [13:13] ок, moritz: makes a sense now [13:14] m: CATCH { default { 'sploops'.say } }; die "zomg!"; say 'we are OK' [13:14] rakudo-moar a45202: OUTPUT«sploops␤» [13:14] I will probably adjust my patch soon [13:14] m: CATCH { default { 'sploops'.say } }; say 'this still gets printed because it is before the exception thrown by die that follows'; die "zomg!"; say 'we are OK' [13:14] rakudo-moar a45202: OUTPUT«this still gets printed because it is before the exception thrown by die that follows␤sploops␤» [13:15] tonar: you know a lot about stuff, but i never read your name before ... are you The Z? :P [13:15] m: say 'this still gets printed because it is before the exception thrown by die that follows'; die "zomg!"; say 'we are OK'; CATCH { default { 'sploops'.say } }; [13:15] rakudo-moar a45202: OUTPUT«this still gets printed because it is before the exception thrown by die that follows␤sploops␤» [13:15] tonar: make a sense for me, will update my MR soon [13:15] timotimo: Tthe Z? Never heard of her. [13:15] *** skids joined [13:15] :) [13:17] *** itaipu left [13:19] *** cdg joined [13:19] *** ufobat left [13:20] *** MilkmanDan joined [13:21] *** tonar left [13:23] *** girafe joined [13:26] *** itaipu joined [13:29] *** wamba left [13:34] huh, this "Girls Who Code DSM" account apparently has only a single tweet and it's about perl6 ... strange [13:35] that's really weird, the DSM's only at version 5 [13:36] *** MilkmanDan left [13:37] what does DSM stand for in your context? [13:38] *** MilkmanDan joined [13:39] enwp.org/DSM_V [13:40] oh, that thing [13:40] as long as it doesn't classify perl 6 as a disorder ... [13:42] *** neuron left [13:44] *** darutoko joined [13:46] *** jonadab joined [13:51] its spectrum now [13:51] Perl Spectrum Disorder? [13:51] *** mspo joined [13:51] could be either 5, or 6, or in some older patients, 4? :) [13:56] *** MilkmanDan left [13:58] *** zacts left [14:00] tonar: have just updated my MR - https://github.com/perl6/doc/pull/876/files [14:02] *** gfldex joined [14:06] *** MilkmanDan joined [14:06] melezhik: "upper block" instead of "outer block"? [14:08] yeah, outer is better name for this [14:08] *** Wiertek joined [14:08] *** rindolf left [14:10] *** tokomer joined [14:13] *** MilkmanDan left [14:14] *** rindolf joined [14:14] *** bobv joined [14:15] *** darutoko left [14:15] *** MilkmanDan joined [14:19] *** woolfy left [14:23] *** woolfy joined [14:26] *** Guest43351 is now known as ponbiki [14:27] m: enum Options(); sub f(+@a where @a.all ~~ Options){ dd @a }; f(Foo, Bar); [14:27] rakudo-moar a45202: OUTPUT«[Options::Foo, Options::Bar]␤» [14:27] s/upper/outer/ [14:27] commited [14:30] melezhik: looks good to me, but I'm also a bit distracted :-) [14:32] *** itaipu left [14:33] m: enum Options(); enum Options2(); sub f(+@a where @a.all ~~ (Options|Options2)){ dd @a }; f(Foo, Buzz); [14:33] rakudo-moar a45202: OUTPUT«Constraint type check failed for parameter '@a'␤ in sub f at line 1␤ in block at line 1␤␤» [14:33] m: enum Options(); enum Options2(); sub f(+@a where @a.all ~~ (Options,Options2).any){ dd @a }; f(Foo, Buzz); [14:33] rakudo-moar a45202: OUTPUT«Constraint type check failed for parameter '@a'␤ in sub f at line 1␤ in block at line 1␤␤» [14:33] i did expect that to work [14:34] lizmat: that's ok, so do I ;-) , at my regular job ... [14:34] *** itaipu joined [14:36] i do not expect that to work anymore :) [14:36] m: enum Options(); enum Options2(); sub f(+@a where @a.any ~~ (Options,Options2).any){ dd @a }; f(Foo, Buzz); [14:36] rakudo-moar a45202: OUTPUT«[Options::Foo, Options2::Buzz]␤» [14:37] that works but is wrong [14:38] how do I say "all members of LHS must be member of either of the members of RHS"? [14:41] *** khw joined [14:44] all(@lhs) (elem) any(@rhs) "? [14:45] *** rindolf left [14:45] m: enum Options(); enum Options2(); sub f(+@a where @a.all (elem) (Options,Options2).any){ dd @a }; f(Foo, Buzz); [14:45] rakudo-moar a45202: OUTPUT«Constraint type check failed for parameter '@a'␤ in sub f at line 1␤ in block at line 1␤␤» [14:46] *** AlexDaniel joined [14:46] gfldex: does it work outside of a where clause ? [14:47] m: enum Options(); enum Options2(); say (Foo, Buzz).all (elem) any(Options,Options2) [14:47] rakudo-moar a45202: OUTPUT«all(any(False, False), any(False, False))␤» [14:47] m: enum Options(); enum Options2(); say (Foo, Buzz) (elem) any(Options,Options2) [14:47] rakudo-moar a45202: OUTPUT«any(False, False)␤» [14:48] *** rindolf joined [14:51] *** zacts joined [14:52] m: enum Options(); enum Options2(); say all(Foo, Buzz) (elem) (Foo, Bar, Buzz) [14:52] rakudo-moar a45202: OUTPUT«all(True, True)␤» [14:52] m: enum Options(); enum Options2(); say all(Foo, Buzz, 5) (elem) (Foo, Bar, Buzz) [14:52] rakudo-moar a45202: OUTPUT«all(True, True, False)␤» [14:52] m: enum Options(); enum Options2(); say so all(Foo, Buzz, 5) (elem) (Foo, Bar, Buzz) [14:52] rakudo-moar a45202: OUTPUT«False␤» [14:53] *** pmurias joined [14:53] nine: what's racoon? [14:54] pmurias: it's basically a module installer that can be included in the distribution itself [14:54] use case: install Inline::Perl5 without needing panda [14:55] m: enum Options(); enum Options2(); say Options (|) Options2; [14:55] rakudo-moar a45202: OUTPUT«set((Options), (Options2))␤» [14:55] m: enum Options(); enum Options2(); say Options::.keys (|) Options2::.keys; [14:55] rakudo-moar a45202: OUTPUT«set(Foo, Bar, Buzz)␤» [14:56] i would expect (|) on enums to return a union of enum keys (objects, not Str) [15:00] m: enum Options(); enum Options2(); say Options::.values (|) Options2::.values; [15:00] rakudo-moar a45202: OUTPUT«set(Foo, Buzz, Bar)␤» [15:00] .values actually [15:03] *** Actualeyes joined [15:07] *** pyrimidine left [15:07] <[Coke]> .seen supernovus [15:07] I saw supernovus 22 Apr 2016 23:27Z in #perl6: Well, I'm going to have to run. Have a great day/night everyone. I hope to fix up some of my long neglected libraries at some point when I'm not completely overloaded with work! :-) [15:08] *** mempko joined [15:13] *** AlexDaniel left [15:15] *** darutoko joined [15:18] doc: 66b49f8 | MasterDuke17++ | doc/Language/terms.pod6: [15:18] doc: Add :123abc form to Pair description [15:18] doc: review: https://github.com/perl6/doc/commit/66b49f8fbb [15:19] pmurias: a raccoon is like a panda but smaller :) It's meant as a bootstrapping and packaging tool. Cases where you don't need all the features that panda or zef provide. Most notably installation of dependencies. [15:22] It looks like the DSM in "Girls Who Code DSM" is short for Des Moines [15:26] *** khw left [15:31] *** fridim___ left [15:37] *** pyrimidine joined [15:38] *** tokomer left [15:39] *** mempko left [15:39] <[Coke]> is http::easy not async? [15:40] gfldex: please rakudobug that [15:41] *** lostinfog joined [15:43] m: enum Options ; sub f(Foo $foo?){}; f(Foo); [15:43] rakudo-moar a45202: ( no output ) [15:43] m: enum Options ; sub f(Foo() $foo?){}; f(0); [15:43] rakudo-moar a45202: OUTPUT«Method 'Options' not found for invocant of class 'Int'␤ in sub f at line 1␤ in block at line 1␤␤» [15:43] m: enum Options ; sub f(Foo() $foo?){}; f(); [15:43] rakudo-moar a45202: OUTPUT«Method 'Options' not found for invocant of class 'Any'␤ in sub f at line 1␤ in block at line 1␤␤» [15:43] that one, I mean [15:43] m: enum Options ; sub f(Foo $foo?){}; f(); [15:43] rakudo-moar a45202: OUTPUT«Invocant requires an instance of type Int, but a type object was passed. Did you forget a .new?␤ in sub f at line 1␤ in block at line 1␤␤» [15:43] er, that one [15:44] *** zacts left [15:45] TimToady: filed as #129160 [15:45] Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=129160 [15:46] *** pmurias left [15:48] *** cibs left [15:49] *** pmurias joined [15:49] <[Coke]> What's the Foo type there? only that specific enum value? [15:50] <[Coke]> m: sub f(3 $a) { $a }; say f(4); say f(3); [15:50] rakudo-moar a45202: OUTPUT«Constraint type check failed for parameter '$a'␤ in sub f at line 1␤ in block at line 1␤␤» [15:50] *** cibs joined [15:50] <[Coke]> m: sub f(3 $a) { $a }; say f(3); [15:50] rakudo-moar a45202: OUTPUT«3␤» [15:50] <[Coke]> huh. [15:52] <[Coke]> specifying an instance value seems not entirely helpful, but ok. [15:52] <[Coke]> (moreso on multis, I suppose.) [15:52] m: sub f(3 $a?) { $a }; say f() [15:52] rakudo-moar a45202: OUTPUT«Invocant requires an instance of type Int, but a type object was passed. Did you forget a .new?␤ in sub f at line 1␤ in block at line 1␤␤» [15:53] *** pmurias left [15:53] arguably it might not be a bug, but we should think about it [15:54] m: sub f(3 $a = 2) { $a }; say f() [15:54] rakudo-moar a45202: OUTPUT«Constraint type check failed for parameter '$a'␤ in sub f at line 1␤ in block at line 1␤␤» [15:54] <[Coke]> ... should I tag it RFC instead of BUG? ;) [15:54] yeah [15:54] TimToady: forgetting a comma: sub f(3 $a?) versus sub f(3,$a?) becomes an easy bug to miss ? [15:55] you take your chances in life... [15:55] true [15:55] sometimes missing commas blow up rockets [15:56] I mean, we could certainly require an absence of TTIAR inside siggies, but then you'd have to write sub f (Int & $x) {} or some such [15:56] so we've always gone with "implicit and" inside sigs [15:57] * [Coke] could use a sig today. [15:57] m: sub foo (Int 3 $x) {} [15:57] rakudo-moar a45202: OUTPUT«5===SORRY!5=== Error while compiling ␤A parameter may only have one prefix type constraint␤at :1␤------> 3sub foo (Int 37⏏5 $x) {}␤» [15:58] in the original design, that would just work [15:59] m: sub foo (Int Str $x) {say $x}; foo(<42>) [15:59] rakudo-moar a45202: OUTPUT«5===SORRY!5=== Error while compiling ␤A parameter may only have one prefix type constraint␤at :1␤------> 3sub foo (Int Str7⏏5 $x) {say $x}; foo(<42>)␤» [15:59] m: sub foo (IntStr $x) {say $x}; foo(<42>) [15:59] rakudo-moar a45202: OUTPUT«42␤» [16:00] m: sub foo (Int $x where Str) {say $x}; foo(<42>) [16:00] rakudo-moar a45202: OUTPUT«42␤» [16:00] we shoved most of that into the 'where' category [16:03] *** bob777 left [16:05] *** ab6tract left [16:06] *** araujo_ joined [16:08] *** MilkmanDan left [16:10] *** araujo left [16:10] *** araujo__ joined [16:12] *** araujo_ left [16:16] *** araujo__ left [16:21] *** leont_ joined [16:21] *** khw joined [16:21] *** itaipu left [16:22] *** MilkmanDan joined [16:26] *** MilkmanDan left [16:27] *** kyclark joined [16:28] I think I've asked this sort of thing several times, but how do I write a MAIN sig that requires a list of existing files? http://lpaste.net/182555 [16:28] *** domidumont left [16:29] *** tofu_ joined [16:30] kyclark: where @files>>.f.all [16:30] (i think) [16:31] *** tofu_ left [16:34] This seems to work: sub MAIN (*@files where all(@files) ~~ File) { [16:35] but the error message is unclear for the user "Constraint type check failed for parameter '@files'" [16:37] can types have custom error messages? [16:37] I can say [email@hidden.address] to get files -- how can I negate the grep? [16:37] To get not-files? [16:38] m: sub test (*@a where (all(@a) ~~ Int or die "oh no!") { }; test (1, 2, 3); test (9, 9, "nine") [16:38] rakudo-moar a45202: OUTPUT«5===SORRY!5=== Error while compiling ␤Unexpected block in infix position (missing statement control word before the expression?)␤at :1␤------> 3a where (all(@a) ~~ Int or die "oh no!")7⏏5 { }; test (1, 2, 3); test (9, 9, "nine"␤…» [16:38] m: sub test (*@a where (all(@a) ~~ Int or die "oh no!")) { }; test (1, 2, 3); test (9, 9, "nine") [16:38] rakudo-moar a45202: OUTPUT«oh no!␤ in sub test at line 1␤ in block at line 1␤␤» [16:38] kyclark: you can grep for (none(File)) [16:39] Hecking sweet. [16:39] *** leont_ left [16:41] *** MilkmanDan joined [16:42] *** dakkar left [16:43] i wonder if we should introduce an optimized Junction for none of only one argument ... [16:44] kyclark: the open method will do the check and produce a proper error message for you. Working with file systems and assuming eagerness may provide you with surprises. [16:46] *** jonas3 left [16:46] *** MilkmanDan left [16:48] *** mempko joined [16:54] *** MilkmanDan joined [17:02] *** andrzejku joined [17:03] *** domidumont joined [17:06] kyclark: it's nice to provide absolute paths and check for dangling symlink (what does not work right now because of rakudobug) https://gist.github.com/gfldex/6c6b1fc11ee6906627717d91e90702c3 [17:09] *** firstdayonthejob joined [17:09] Right now I'm just doing "unless $file.IO.f" check in the loop. Good enough? [17:10] *** Wiertek left [17:10] you will get odd error messages, esp. for your audience who may never have heared of symlinks [17:11] kyclark: also that a file is there doesn't have to mean that you can read it. But .open should handle that case. [17:11] given a hash %h and an array such as my @abc = , how do I access %h ? [17:11] * gfldex goes to check [17:12] m: class Hats {has uint8 $.f;}; my $h = Hats.new; my uint8 $u = -1; $h.^attributes(:local)[0].set_value($h, $u); say $u; say $h.f [17:12] rakudo-moar a45202: OUTPUT«255␤-1␤» [17:12] I would've expected both to be 255... any ideas here? [17:13] m: my %h = 'a'..'c' Z=> 1..*; say %h.join(', ') [17:13] rakudo-moar a45202: OUTPUT«1, 2, 3␤» [17:14] kyclark: nope, that's a slice. I was refering to a nested structure. [17:14] *** wamba joined [17:14] Dang it, I thought I had the answer. :-) [17:14] m: my %h = a => b => c => 4; my @path = ; my $a = %h; $a = $a{$_} for @path; say $a # grondilu [17:14] rakudo-moar a45202: OUTPUT«4␤» [17:14] Mostly I do asking, so I got excited I might answer. [17:14] grondilu: see: https://github.com/gfldex/perl6-rakudo-slippy-semilists [17:16] grondilu: also, expect slowness. You may be better of with stiching the key together by hand. But you have to be careful with your values in that case. [17:16] *** zakharyas left [17:17] m: my %a; %a = "hi"; my @l = ; say (%a, |@a).reduce(-> %a, $e { %a{$e} }); [17:17] rakudo-moar a45202: OUTPUT«5===SORRY!5=== Error while compiling ␤Variable '@a' is not declared. Did you mean '%a'?␤at :1␤------> 3> = "hi"; my @l = ; say (%a, |7⏏5@a).reduce(-> %a, $e { %a{$e} });␤» [17:17] m: my %a; %a = "hi"; my @l = ; say (%a, |@l).reduce(-> %a, $e { %a{$e} }); [17:17] rakudo-moar a45202: OUTPUT«hi␤» [17:17] m: constant %FOO = a => 1, b => 2, c => 3; say "OH HAI" [17:17] rakudo-moar a45202: OUTPUT«5===SORRY!5=== Error while compiling ␤Type check failed in constant declaration of %FOO; expected Associative but got List (List)␤at :1␤------> 3constant %FOO = a => 1, b => 2, c => 37⏏5; say "OH HAI"␤ expecting any of:␤ …» [17:18] TimToady: why is it that `my %foo` works, but not `constant %FOO` in the above. feels to me it violates Least Surprise :) [17:18] m: my %a; %a = "hi"; my @l = ; sub infix:<(HE)>(%a, $e) { %a{$e} }; say [(HE)] %a, |@l [17:18] rakudo-moar a45202: OUTPUT«hi␤» [17:18] m: my %h; %h = 1; my $a = %h; $a = $a{$_} for ; say $a [17:18] masak: IIRC constant got implicit binding [17:18] rakudo-moar a45202: OUTPUT«1␤» [17:18] *** awwaiid left [17:19] right, constants with sigils don't really work ATM [17:19] and as a lvalue? [17:19] grondilu: the module I linked should support lvalues [17:20] m: my %h; my $e = %h; $e := $e{$_} for ; $e := "foo"; say %h; [17:20] rakudo-moar a45202: OUTPUT«(Any)␤» [17:21] timotimo: "ATM"? so in the cuture, my eval above might not fail? [17:22] gfldex: I'll look into it. Btw travis seems broken for this module. [17:23] m: my %h; say %h{'a';'b';'c'} = 1; dd %h; my $e := %h{'a';'b';'c'}; $e = 2; dd %h; [17:23] rakudo-moar a45202: OUTPUT«(1)␤Hash %h = {:a(${:b(${:c(1)})})}␤Cannot assign to an immutable value␤ in block at line 1␤␤» [17:26] *** shinobicl joined [17:26] *** dustinm` left [17:26] grondilu: travis is fine, the readme was wrong [17:27] indeed, for some reason the travis logo did not show up I had to hard refresh. [17:28] i sneaked in and added one "s" twice [17:28] oh ok [17:29] I'm slightly confused, though. If this postfix operator is specced why is it NYI and requires a module? [17:29] it's designed, not specced [17:30] *** MilkmanDan left [17:30] also I said postfix but you describe it as postcircumfix and use is as a prefix. Not sure what's going on. [17:30] i did add postcircumfix:<{; }>:exists to rakudo but failed for the other two [17:31] oh silly me [17:32] it's postcircumfix:<{|| }> not prefix:<||> [17:32] *** Ancient__ joined [17:32] techically it could be prefix:<||> if there would be a buildin type called SemiList (or somesuch) [17:32] with that it would become trivial to add it to rakudo [17:33] *** Ancient__ left [17:33] *** Ancient__ joined [17:33] masak: i have no clue :S [17:34] Have you considered making a SemiList module instead? [17:35] grondilu: it would need to go into 6.d anyways and it ain't no december yet [17:37] *** Ancient__ left [17:39] m: proto extract(%, $) {*}; multi extract(%h, Str $p) { %h{$p} }; multi extract(%h, Pair $p) { extract(%h{$p.key}, $p.value) }; (my %h) = "foo!"; say extract(%h, [=>] ) [17:39] rakudo-moar a45202: OUTPUT«foo!␤» [17:39] On one machine, I installed Perl 6 from Rakudo Star, so how do I build panda now? On another machine, I used rakudobrew. [17:39] *** vendethiel joined [17:39] lol, I'm happy with that one. [17:40] kyclark: * comes with panda build in [17:40] maybe what we just need is define AT-KEY(Pair $) [17:40] Or make a lisp-style list role. [17:41] *** MilkmanDan joined [17:41] m: proto extract(%, $) is rw {*}; multi extract(%h, Str $p) { %h{$p} }; multi extract(%h, Pair $p) { extract(%h{$p.key}, $p.value) }; my %h; extract(%h, [=>] ) = "foo"; say %h [17:41] rakudo-moar a45202: OUTPUT«Type check failed in binding to ; expected Associative but got Any (Any)␤ in sub extract at line 1␤ in block at line 1␤␤» [17:42] m: proto extract(%, $) is rw {*}; multi extract(%h, Str $p) { %h{$p} }; multi extract(%h, Pair $p) { extract(%h{$p.key}, $p.value) }; (my %h) = Mu; extract(%h, [=>] ) = "foo"; say %h [17:42] rakudo-moar a45202: OUTPUT«Cannot modify an immutable Mu␤ in block at line 1␤␤» [17:42] m: proto extract(%, $) is rw {*}; multi extract(%h, Str $p) { %h{$p} }; multi extract(%h, Pair $p) { extract(%h{$p.key}, $p.value) }; (my %h) := "foo"; extract(%h, [=>] ) = "foo"; say %h [17:42] rakudo-moar a45202: OUTPUT«Cannot assign to a readonly variable or a value␤ in block at line 1␤␤» [17:42] m: proto extract(%, $) is rw {*}; multi extract(%h, Str $p) { %h{$p} }; multi extract(%h, Pair $p) { extract(%h{$p.key}, $p.value) }; (my %h) = "foo"; extract(%h, [=>] ) = "bar"; say %h [17:42] rakudo-moar a45202: OUTPUT«Cannot modify an immutable Str␤ in block at line 1␤␤» [17:42] hum, lvalue is challenging [17:44] m: my %h; say %h{'a';'b';'c'} = (my $a = 1); dd %h; %h{'a';'b';'c'} = 2; dd %h [17:44] rakudo-moar a45202: OUTPUT«(1)␤Hash %h = {:a(${:b(${:c(1)})})}␤Hash %h = {:a(${:b(${:c(2)})})}␤» [17:44] you need to assign a container [17:44] m: my %h; say %h{'a';'b';'c'} = (my $ = 1); dd %h; %h{'a';'b';'c'} = 2; dd %h [17:44] rakudo-moar a45202: OUTPUT«(1)␤Hash %h = {:a(${:b(${:c(1)})})}␤Hash %h = {:a(${:b(${:c(2)})})}␤» [17:45] m: proto extract(%, $) is rw {*}; multi extract(%h, Str $p) { %h{$p} }; multi extract(%h, Pair $p) { extract(%h{$p.key}, $p.value) }; (my %h) = my $ = "foo"; extract(%h, [=>] ) = "bar"; say %h [17:45] rakudo-moar a45202: OUTPUT«Cannot modify an immutable Str␤ in block at line 1␤␤» [17:45] we don't need no stinkin' variable names ofc [17:45] m: proto extract(%, $) is rw {*}; multi extract(%h, Str $p) { %h{$p} }; multi extract(%h, Pair $p) { extract(%h{$p.key}, $p.value) }; (my %h) := my $ = "foo"; extract(%h, [=>] ) = "bar"; say %h [17:45] rakudo-moar a45202: OUTPUT«Cannot assign to a readonly variable or a value␤ in block at line 1␤␤» [17:46] *** domidumont left [17:46] m: my %h; %h{1} = 2; %h{1} = 3; [17:46] rakudo-moar a45202: ( no output ) [17:47] actually I vote for bug. It's a normal Hash even if it's keys are multidim. And Hash is not Map. [17:47] *** domidumont joined [17:48] * gfldex gets his rakudobug form [17:48] how would you golf it? [17:49] m: my %h; %h{1;2;3} = 1; %h{1;2;3} = 2; [17:49] rakudo-moar a45202: ( no output ) [17:50] *** Ven joined [17:50] that does not die, does it? [17:51] m: my %h; say %h{1;2} = 1; dd %h; my $e := %h{1;2}; $e = 2; dd %h; [17:51] rakudo-moar a45202: OUTPUT«(1)␤Hash %h = {"1" => ${"2" => 1}}␤Cannot assign to an immutable value␤ in block at line 1␤␤» [17:52] m: my %h; say %h{1} = 1; dd %h; my $e := %h{1}; $e = 2; dd %h; [17:52] rakudo-moar a45202: OUTPUT«1␤Hash %h = {"1" => 1}␤Hash %h = {"1" => 2}␤» [17:52] *** domidumont left [17:53] ok, I see the issue better now [17:53] well, I don't want to be negative or anything, but that confirms what I say sometimes. [17:54] not well tested those multidim Hashs [17:54] "everytime I try to do something more or less serious in Perl 6, I encounter a bug" [17:54] i do encounter to but less and less these days [17:54] though "more or less serious" is not exactly what I mean. [17:55] I mean more like: "something that has a purpose per se, not just toying with the language". [17:56] that's how you find bugs in a compiler/language after all [17:56] I guess. [17:56] it might also be an observational biais. I don't pay nearly as much attention when everything goes fine. [17:57] it took python 9 years to become useful, so we are well within the deadline :) [17:59] I use multidim hashes whenever I want to deal with a small database. I tend to put it all in a single Hash, and then I encounter bugs like this. [18:00] so if multidim Hashes are not well tested, it may be LTA [18:01] * grondilu suddenly wonders if he really understand what a multidim Hash is. [18:01] it may be a very simple fix [18:01] *** dustinm` joined [18:01] it's a nested Hash (unless someone goes in with the big optimisation hammer) [18:02] ok, "nested Hash" is easier to understand for me. [18:02] but it autovivifies wrong. It binds to a value where it could copy the value into a new container and bind to that [18:02] Along those liines, I was playing yesterday with wanting a Hash of Arrays, e.g., %h{'key'} = and I was having a bear of a time figuring out how to get the list out of the hash. [18:03] should be straightforward. [18:04] m: (my %h) = ; say %h.perl [18:04] rakudo-moar a45202: OUTPUT«$("a", "b")␤» [18:04] not sure what's the issue. Maybe you forgot to slip it? [18:04] m: (my %h) = ; say |%h, 'c' [18:04] rakudo-moar a45202: OUTPUT«abc␤» [18:05] m: (my %h) = ; d |%h, 'c' [18:05] rakudo-moar a45202: OUTPUT«5===SORRY!5=== Error while compiling ␤Undeclared routine:␤ d used at line 1␤␤» [18:05] m: (my %h) = ; dd |%h, 'c' [18:05] rakudo-moar a45202: OUTPUT«"a"␤"b"␤"c"␤» [18:05] You can see my progress here: https://github.com/kyclark/metagenomics-book/blob/master/perl6/kmers/assemble.pl6 [18:05] m: my %h; %h.push: (a=>1); %h.push: (a=>2); dd %h; [18:05] rakudo-moar a45202: OUTPUT«Hash %h = {:a($[1, 2])}␤» [18:06] m: my %h; %h{'key'} = ; my @list = %h; dd @list; [18:06] rakudo-moar a45202: OUTPUT«Array @list = [("val1", "val2", "val3"),]␤» [18:06] vs my $list = %h; [18:07] vs my @list = |%h [18:07] m: my %h; %h{'key'} = ; my $list = %h; dd $list; [18:07] rakudo-moar a45202: OUTPUT«List $list = $("val1", "val2", "val3")␤» [18:07] you assigned a list to an Array [18:07] likely not what you want [18:07] *** spider-mario joined [18:08] m: my %h; %h{'key'} = ; my $list := %h; dd $list; [18:08] rakudo-moar a45202: OUTPUT«List %h = $("val1", "val2", "val3")␤» [18:08] Right, but I knew the value was a list-y/sequence-y/array-ish thing [18:08] also, as long as you don't want to change the Array, leave it a list and use binding [18:08] so, use brackets [18:08] [] [18:08] *** cygx joined [18:08] The differences seem very subtle to me, and I don't feel confident explaining them to beginners. [18:09] m: my %h; %h{1;2} = 42; say %h{1;2}.VAR.WHAT # ??? [18:09] rakudo-moar a45202: OUTPUT«(List)␤» [18:09] tell them is like a tuple. [18:09] I thought about using %h.append to build up the hash, but when only one item exists, then it's just a Str [18:09] use .push with a Pair as argument [18:09] all the more reasons to use brackets [18:09] *** AndyBotwin joined [18:09] *** jonadab left [18:11] kyclark: to actually understand what is going on you need to know the difference between iterators and Arrays. One is behaviour the other is storage of data. [18:11] those are very different concepts [18:11] * grondilu nods [18:12] that is a problem with a Last Language ofc. You get problems with seamingly magic behaviour in the eye of the noob. [18:12] I disagree in principle. [18:13] "we're a last language" shouldn't be an excuse not to explain things in a simple way. [18:13] *** araujo joined [18:13] if I had enough ram to compile rakudo I'd love to do a docs :) [18:15] *** jonadab joined [18:18] *** mcmillhj left [18:20] *** Actualeyes left [18:20] *** mcmillhj joined [18:21] *** jt__ joined [18:22] So this is interesting (to me): [18:23] m: my %h1; for -> $v { %h1.push($v) }; say %h1.WHAT [18:23] rakudo-moar a45202: OUTPUT«(Array)␤» [18:23] When I build it up with "push" it's an Array, but when declared like this it's a List [18:23] m: my %h2; %h2{'key'} = ; say %h2.WHAT [18:23] rakudo-moar a45202: OUTPUT«(List)␤» [18:23] Regardless, I can't do my @l1 = %h; [18:24] m: .WHAT.say [18:24] rakudo-moar a45202: OUTPUT«(List)␤» [18:24] And I think what bothers me about that is that I would expect the context of the assignment to determine the shape of the data structure [18:24] *** domidumont joined [18:25] i would not because is a List of Str values _literal_ [18:25] *** mcmillhj left [18:25] the idea behind .push creating an Array container is that you will likely push more after pushing once [18:26] m: my @list = ; put @list.join(', ') [18:26] rakudo-moar a45202: OUTPUT«a, b, c␤» [18:28] m: my $list = ; $list.join(', ') [18:28] rakudo-moar a45202: ( no output ) [18:28] m: my $list = ; put $list.join(', ') [18:28] rakudo-moar a45202: OUTPUT«a, b, c␤» [18:28] Either way Perl seems to handle the list-y thing properly there. [18:29] actually, the real reason is: [18:29] m: my %h; %h = ; %h.push: 'd'; dd %h [18:29] rakudo-moar a45202: OUTPUT«Cannot call 'push' on an immutable 'List'␤ in block at line 1␤␤» [18:29] Array is the mutable version of List [18:30] Either way I feel that assiging something list-y to a @list should do that without the "|" slip business. Just my opinion. [18:31] As someone trying to teach this to beginners, I'm trying to justify the extra syntax and understanding. [18:31] *** mcmillhj joined [18:32] m: my $list = ; $list.push('d') [18:32] rakudo-moar a45202: OUTPUT«Cannot call 'push' on an immutable 'List'␤ in block at line 1␤␤» [18:32] m: my @list = ; @list.push('d') [18:32] rakudo-moar a45202: ( no output ) [18:32] it's actually easier to explain with Hash and Map. You want an enum to be constant (constant both for the "length"-part as of the value part), so you need a type that is Hashy but immutable. [18:33] m: my @list := ; @list.push('d') [18:33] rakudo-moar a45202: OUTPUT«Cannot call 'push' on an immutable 'List'␤ in block at line 1␤␤» [18:33] m: my @list = ; @list.push('d'); dd @list [18:33] rakudo-moar a45202: OUTPUT«Array @list = ["a", "b", "c", "d"]␤» [18:33] *** Actualeyes joined [18:34] ihg right, @ doesn't itemize but $ does and the things *inside* a @ or % do [18:34] *** labster joined [18:34] listy immutability becomes very important when you program functional but explaining functional takes time (and footgun use on the side of the beginners) [18:36] I've taught Perl 5 to beginners many times. I believe that the removal of sigil inflection (e.g., $list[0], $hash{'key'}) def makes it easier to understand that variables. I was under the impression that @ would always mean "items in a series" and $ means "one thing" but that "one thing" can also be "items in a series" and so I'm a bit confused [18:36] *** smls joined [18:37] *** mcmillhj left [18:38] if you know what pointers are (if you come from C or C++) it makes sense very easily [18:38] kyclark: @ talks about the array as a collection of objects, $ talks about the array itself as a single object [18:41] *** mcmillhj joined [18:41] m: say ["a", "b", "c"].WHAT [18:41] rakudo-moar a45202: OUTPUT«(Array)␤» [18:41] m: say ("a", "b", "c").WHAT [18:41] rakudo-moar a45202: OUTPUT«(List)␤» [18:41] m: my @list = ("a", "b", "c"); say @list.WHAT [18:41] rakudo-moar a45202: OUTPUT«(Array)␤» [18:41] assignment is copying, and @-variables default to Array [18:41] It's odd to me that "()" == List in one context and Array in another [18:42] kyclark: see above ;) [18:42] Right, not trying to be dense. [18:42] But check this: [18:42] m: my @list = ["a", "b", "c"]; dd @list [18:42] rakudo-moar a45202: OUTPUT«Array @list = ["a", "b", "c"]␤» [18:43] I would almost expect the data structure to be [[["a", "b", "c"]] [18:43] it's still List in all contexts. it's assigning a List to a @-sigil that deconstructs the list and reconstitutes it as an Array [18:43] which is what I get when I try to copy the List out of the Hash [18:43] kyclark: single argument rule [18:43] m: dd my @ = [], [18:43] rakudo-moar a45202: OUTPUT«Array @ = [["foo", "bar"],]␤» [18:44] *** cdg left [18:44] add a comma if you want to bypass it [18:44] * grondilu is not sure about the spelling here :/ [18:44] m: say .pick [18:44] rakudo-moar a45202: OUTPUT«comma␤» [18:45] neh it's gotta be coma [18:45] m: my $a = ; my @a = ; put Q:a:s/$a @a/; [18:45] rakudo-moar a45202: OUTPUT«a b c @a␤» [18:45] i'm pretty sure :a used to work [18:45] (it's spelled comma :P) [18:45] m: my $a = ; my @a = ; put Q:qq/$a @a/; [18:45] m: say <, , chameleon> [18:45] rakudo-moar a45202: OUTPUT«a b c @a␤» [18:45] rakudo-moar a45202: OUTPUT«(, , chameleon)␤» [18:45] *** AlexDaniel joined [18:48] *** cygx left [18:49] *** MilkmanDan left [18:50] *** jt__ left [18:52] *** sufrostico left [18:54] *** perlawhirl joined [18:54] *** labster left [18:57] *** labster joined [18:57] *** cygx joined [18:57] *** itaipu joined [18:57] *** cygx left [18:58] kyclark: just reading backlog... i too was confused at first with listy things inside hashes. [18:58] *** awwaiid joined [18:58] the key to understanding them is the second sentence of the Hash doc: "The values are all scalar containers" [18:59] scalars are singular. if you want to iterate over the values as a list, you need to destructure it as so... [18:59] m: my %x; %x = []; .say for %x; .say for %x.list [18:59] rakudo-moar a45202: OUTPUT«[bar baz qux]␤bar␤baz␤qux␤» [18:59] *** domidumont left [19:02] *** n1lp7r left [19:02] *** mohae joined [19:03] <[Coke]> docs.perl6.org - doesn't say what qqx// does with out or err on the process. [19:05] *** mohae__ joined [19:05] *** mohae_ left [19:08] *** mohae left [19:09] *** TheLemonMan joined [19:11] *** darutoko left [19:12] m: say $A::a; [19:12] rakudo-moar a45202: OUTPUT«(Any)␤» [19:12] say $a; [19:12] m: say $a; [19:12] rakudo-moar a45202: OUTPUT«5===SORRY!5=== Error while compiling ␤Variable '$a' is not declared␤at :1␤------> 3say 7⏏5$a;␤» [19:12] Why does the $A::a seem to be a valid (though uninitialised) variable? [19:13] m: say A::a; [19:13] rakudo-moar a45202: OUTPUT«Could not find symbol '&a'␤ in block at line 1␤␤Actually thrown at:␤ in block at line 1␤␤» [19:14] That looks fine. [19:17] *** Cabanossi left [19:20] *** Actualeyes left [19:28] *** perlawhirl left [19:30] *** mr-foobar left [19:32] *** rindolf left [19:36] *** jonadab left [19:38] hi all [19:38] *** canopus left [19:38] is there an equivalent of Perl Dancer for Perl6 already? Something like a Dancer2? [19:42] bailador? [19:43] *** Actualeyes joined [19:44] *** canopus joined [19:45] bailador is close [19:45] Prancer I think is also a Dancer clone, no? [19:45] bailador now has an active maintainer, unlike most of my other project s:P [19:46] *** TEttinger joined [19:49] *** andrzejku left [19:57] <[Coke]> they aren't on #perl6, are they? [20:02] *** bobv left [20:06] *** mcmillhj left [20:10] [Coke]: FYI, RT #117739 and RT #118607 can be closed/resolved [20:10] Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=117739 [20:10] Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=118607 [20:11] why doesnt perl6 have monotheic protonbeams yet? [20:14] and both are or were closed already, thanks all [20:15] ugexe: I would imagine it's because no one found a shark to mount them on... [20:15] *** smls left [20:18] *** itaipu left [20:21] *** mcmillhj joined [20:22] *** zakharyas joined [20:22] m: say "foo-bar" ~~ /+/ [20:22] rakudo-moar a45202: OUTPUT«「foo」␤ ident => 「foo」␤» [20:23] * grondilu thought '-' was in ident [20:23] no, it's in [20:24] token identifier { <.ident> [ <.apostrophe> <.ident> ]* } [20:24] *** zengargoyle left [20:25] ok, good to know [20:26] *** mcmillhj left [20:26] but can't I use it? [20:27] m: say "foo-bar" ~~ // [20:27] rakudo-moar a45202: OUTPUT«Method 'identifier' not found for invocant of class 'Cursor'␤ in block at line 1␤␤» [20:29] *** mr-foobar joined [20:31] for the people that do the releases, please check https://github.com/nxadm/rakudo-pkg (with the result packages here: http://claudio.ulyssis.be/perl6/ ). The idea is to create native Linux packages with docker (no VMs or dangling local sources). [20:32] .oO(packaging wheel-shoulderers++) [20:32] *** mcmillhj joined [20:34] hmm, do twigils in signature parameters make any sense ? [20:34] well, nine wasn't happy with rakudobrew for non core devs, and we need to keep nine happy :) [20:36] TheLemonMan: you mean for this: https://docs.perl6.org/type/Signature#Optional_and_Mandatory_Parameters [20:36] El_Che, nope, the '!' and '.' twigils [20:37] *** mcmillhj left [20:37] the problems with rakudobrew are: (1) every so often it gets confused and you have to toss its repos and start over (2) it gets you WIP stuff that isn't ready for end users yet [20:37] *** aries_liuxueyang left [20:37] TheLemonMan: yes, I thought so. But what usage do you have in mind [20:38] *** aries_liuxueyang joined [20:39] *** kaare__ left [20:39] geekosaur: yeah, I agree. But packaging is painful, hence the docker-fpm compromise. However, it would be good to know what's expected/needed so they are used on the rakudo site. Otherwise, the packages will not be discoverable. [20:40] *** wamba left [20:40] An advanced user can use it to create his/her own packages of course, maar the end products is not the pkg creation tools, but the packages themselves [20:41] TheLemonMan: Yes, they are used in BUILD all the time to bind directly to attributes. [20:42] *** setty1 left [20:42] skids, can you point me to a place where they're used ? [20:42] TheLemonMan: https://docs.perl6.org/language/classtut#index-entry-BUILD [20:43] *** setty1 joined [20:43] Unfortunately, there's also RT#125437 regarding them. [20:43] Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=125437 [20:48] *** mcmillhj joined [20:53] *** mcmillhj left [20:54] * [Coke] is amused by: https://boingboing.net/2016/08/31/puke-i-am-your-phava-code-th.html [20:59] *** MilkmanDan joined [20:59] *** itaipu joined [21:01] *** skids left [21:02] m: "foo" ~~ /$ = <.ident>++/; (my %){$} [21:02] rakudo-moar a45202: ( no output ) [21:02] *** zakharyas left [21:02] m: "foo" ~~ /$ = <.ident>++/; (my %){$} [21:02] rakudo-moar a45202: OUTPUT«Type List does not support associative indexing.␤ in block at line 1␤␤Actually thrown at:␤ in block at line 1␤␤» [21:02] m: "foo" ~~ /$ = <.ident>++/; (my %){~$} [21:02] rakudo-moar a45202: ( no output ) [21:03] not sure why I have to enfore string conversion here [21:04] m: "foo" ~~ /$ = <.ident>+/; (my %){~$} [21:04] rakudo-moar a45202: ( no output ) [21:04] m: "foo" ~~ /$ = <.ident>+/; (my %){$} [21:04] rakudo-moar a45202: OUTPUT«Type List does not support associative indexing.␤ in block at line 1␤␤Actually thrown at:␤ in block at line 1␤␤» [21:04] m: "foo" ~~ /$ = [<.ident>+]/; (my %){$} [21:04] rakudo-moar a45202: ( no output ) [21:05] meh [21:05] *** mcmillhj joined [21:05] *** perlpilot left [21:05] *** cdg joined [21:06] *** cdg left [21:06] *** cdg joined [21:08] <[Coke]> is the complaint that you have to the string conversion instead of {} doing it for you automatically? [21:08] <[Coke]> to *do [21:10] *** MilkmanDan left [21:11] *** Zoffix joined [21:12] El_Che, what about that repo? [21:12] El_Che, or re-phrased... what do you want me to do? [21:12] *** Actualeyes left [21:13] Zoffix: hi, I would like to know what's needed to put native packages on the download link [21:13] *** leont_ joined [21:13] So beginners have a more accessible option than building from source [21:15] (at least on Linux) [21:15] *** itaipu left [21:16] *** itaipu joined [21:16] perlawhirl, that helps immensely! Thanks. [21:17] Sorry was in class. [21:18] Zoffix: the idea is to create an infra to easily build packages. [21:18] El_Che, can all of them be built on debian? [21:18] *** leont_ is now known as leont [21:19] Zoffix: yes [21:19] it just used dockers, it will run on any 64-bit host [21:20] I'm currently working on automating the entire Rakudo release process. I would guess creating those packages can be just part of it. And we can upload them to http://rakudo.org/downloads/ ... say in `pre-built-packages` dir [21:20] well, the release bot would upload them there [21:21] as long as the download links are deterministic (as they are now) it should be a full automated process [21:21] \o/ [21:21] Cool. I bookmarked that repo and will look at it closer when I have fewer beers in my hand :P [21:22] we need to make sure they are tested before putting them for the first time on the webpage. So far, "they work for me" [21:22] :) [21:22] *** ItayAlmog joined [21:24] :) [21:24] have fun with the beers, and ping me to change whatever needed [21:25] will do [21:27] *** Actualeyes joined [21:28] *** mohae__ left [21:29] *** mohae joined [21:30] *** bstamour joined [21:30] *** kyclark left [21:31] Hi everyone, I'm having issues installing the module DOM::Tiny using panda. [21:31] It downloads fine, passes all tests, but afterward, I am receiving the following message [21:31] "Failed to open file /home/bryan/.panda-work/1472764873_1/lib/DOM/Tiny.pm: no such file or directory" [21:32] I created the .panda-work directory manually, and re-ran panda install DOM::Tiny [21:32] hi! what means "Error while importing from 'JSON::Schema': no such tag 'qwer'" ? [21:32] But to no avail. In fact, the directory I created was removed as well. Has anyone else experienced this kind of issue? [21:33] bstamour, it got broken META file. Once sec [21:33] Im running: use JSON::Schema :qwer; [21:34] Zoffix: thanks. [21:34] bstamour, cd $(mktemp -d); git clone https://github.com/zoffixznet/p6-DOM-Tiny; git checkout patch-1; panda install . [21:34] hum!!! it thinks thats something like :ver<>, right?! [21:34] bstamour, I sent a PR to get it fixed, but unsure when it'll get merged: https://github.com/zostay/p6-DOM-Tiny/pull/1 [21:35] so, I can't use a sub EXPORTER(*%pars){...} ? [21:35] sub EXPORT(*%pars){...} [21:36] Looking now 😊 [21:36] \o/ [21:36] Zoffix: so far so good. Running tests. [21:36] Merged [21:37] :-) [21:37] wow, that's what I call service [21:37] :) [21:38] Perfect timing. Just say down at the lappy after coming back from my kiddos guitar lessons. [21:38] zostay: does that mean I'll be able to panda install it directly now? [21:38] i.e. panda install DOM::Tiny [21:38] bstamour, should be able to, yeah [21:38] If that's all that was broke, yes [21:38] okay. Testing now. Thanks for the quick help everyone. [21:38] If it doesn't just go, let me know and I can fix it [21:38] * Zoffix namedrops Test::META to avoid such issues :D [21:38] Will do. [21:39] I need dzil or something for p6 to automate that stuff. I suck at mundane tasks that computers should do for me. [21:40] * Zoffix nods [21:40] But yeah, I've messed up my metas pretty consistently [21:42] worked like a charm [21:42] one more round of thanks. [21:42] :-) [21:43] \o/ [21:45] SmokeMachine____, IME no. I've looked at https://docs.perl6.org/language/modules#EXPORT_ and I see sentence "Whereas UNIT::EXPORT packages deal with the named parameters passed to use," but I've not explored that further [21:45] *** espadrine_ joined [21:46] bstamour: let me know of any bugs, it's still pretty new and relatively untested [21:46] *** cpage_ left [21:47] *** mcmillhj left [21:47] hum! thats it! thanks Zoffix! [21:48] *** Ven left [21:49] *** MilkmanDan joined [21:51] *** n1lp7r joined [21:54] *** bjz left [21:55] *** bjz joined [21:55] *** bjz left [21:57] *** MasterDuke left [21:59] *** bjz joined [21:59] *** vendethiel left [22:00] *** mcmillhj joined [22:01] *** Sgeo joined [22:07] *** mcmillhj left [22:11] *** n1lp7r left [22:12] *** bjz left [22:13] *** bjz joined [22:13] *** john51 joined [22:13] *** cdg left [22:13] *** cdg joined [22:15] *** Sgeo left [22:15] *** Sgeo joined [22:16] *** MasterDuke joined [22:17] *** firstdayonthejob left [22:18] *** bisectable6 left [22:18] *** mcmillhj joined [22:18] *** bisectable6 joined [22:19] *** firstdayonthejob joined [22:22] *** mcmillhj left [22:24] *** firstdayonthejob left [22:24] :q [22:24] 14 Aug 2016 21:57Z raydiak: https://github.com/raydiak/Math-Symbolic/issues/3 [22:25] *** pierre_ joined [22:28] *** bjz left [22:29] *** pierre_ left [22:30] *** daedalus_ joined [22:30] *** nadim left [22:30] *** leont left [22:30] *** mcmillhj joined [22:30] *** Zoffix left [22:31] *** MorayJ joined [22:34] *** daedalus_ left [22:34] *** TheLemonMan left [22:35] *** mcmillhj left [22:36] *** mcmillhj joined [22:36] *** felher joined [22:37] *** lostinfog left [22:38] *** spider-mario left [22:41] *** mcmillhj left [22:44] *** cpage_ joined [22:48] *** bjz joined [22:49] *** mcmillhj joined [22:49] *** RabidGravy left [22:50] *** cdg left [22:53] *** espadrine_ left [22:54] *** mcmillhj left [22:58] *** skids joined [22:58] *** bjz left [23:03] oh lord, the cat is holding my hand against his head with both his paws [23:05] *** cpage_ left [23:06] *** cpage_ joined [23:11] good kitty [23:13] *** sufrostico joined [23:13] *** labster left [23:16] *** mcmillhj joined [23:21] *** mcmillhj left [23:22] *** labster joined [23:27] *** mcmillhj joined [23:31] *** mcmillhj left [23:41] *** mcmillhj joined [23:41] *** labster left [23:44] *** girafe left [23:46] *** mcmillhj left [23:52] *** aries_liuxueyang left [23:53] *** itaipu left [23:53] *** mcmillhj joined [23:57] *** jonadab joined [23:58] *** mcmillhj left [23:59] *** mr-foobar left