»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋
Set by Zoffix on 25 July 2018.
00:03 MasterDuke joined, p6bannerbot sets mode: +v MasterDuke, MasterDuke left, MasterDuke joined, herbert.freenode.net sets mode: +v MasterDuke, p6bannerbot sets mode: +v MasterDuke
buggable New CPAN upload: AttrX-Mooish-v0.4.6.tar.gz by VRURG modules.perl6.org/dist/AttrX::Mooish:cpan:VRURG 00:33
01:05 mniip left 01:11 lookatme_r joined 01:12 p6bannerbot sets mode: +v lookatme_r, mniip joined, p6bannerbot sets mode: +v mniip 01:13 lookatme_r left 01:14 kerframil joined, p6bannerbot sets mode: +v kerframil
fake_space_whale m: class T { }; &T 01:19
camelia 5===SORRY!5=== Error while compiling <tmp>
Illegally post-declared type:
T used at line 1
01:38 leont left 01:56 molaf left 02:09 molaf joined 02:10 p6bannerbot sets mode: +v molaf
Geth doc: 70cab3440b | Coke++ | doc/Type/Grammar.pod6
word variant
02:22
doc: 87748322a0 | Coke++ | doc/Language/glossary.pod6
pass finicky link test
synopsebot Link: doc.perl6.org/type/Grammar
Link: doc.perl6.org/language/glossary
02:41 cpage left 02:42 itaipu joined 02:43 p6bannerbot sets mode: +v itaipu 02:47 dylanwh left 02:48 dylanwh joined 02:49 p6bannerbot sets mode: +v dylanwh 02:55 MasterDuke left 03:07 kerframil left 03:11 kerframil joined, p6bannerbot sets mode: +v kerframil 03:16 itaipu left 03:42 lichtkind left 03:56 lichtkind joined, p6bannerbot sets mode: +v lichtkind 04:01 avar left, avar joined, avar left, avar joined, p6bannerbot sets mode: +v avar 04:08 lichtkind left 04:21 lichtkind joined, p6bannerbot sets mode: +v lichtkind 04:29 lichtkind left 04:36 molaf left 04:39 sno left 04:41 lichtkind joined 04:42 p6bannerbot sets mode: +v lichtkind 04:47 cpage joined 04:48 p6bannerbot sets mode: +v cpage, curan joined, p6bannerbot sets mode: +v curan 04:52 lichtkind left 05:07 lichtkind joined, p6bannerbot sets mode: +v lichtkind 05:16 lichtkind left 05:29 spycrab0 left 05:30 lichtkind joined 05:31 p6bannerbot sets mode: +v lichtkind 05:34 sno joined, rindolf joined 05:35 p6bannerbot sets mode: +v sno, p6bannerbot sets mode: +v rindolf 05:42 EXCEPTS joined, domidumont joined 05:43 p6bannerbot sets mode: +v domidumont, lichtkind left 05:45 EXCEPTS left 05:48 TeamBlast left, mephinet left, zostay left, skaji left, reu left 05:49 TeamBlast joined, skaji joined, p6bannerbot sets mode: +v skaji, zostay joined, p6bannerbot sets mode: +v zostay, jcallen left, integral left, Spot_ left, olinkl left, xq left, p6bannerbot sets mode: +v TeamBlast 05:50 mirlur[m] left, lance_w[m] left, Juerd left, integral joined, Juerd joined, olinkl joined, p6bannerbot sets mode: +v olinkl, mirlur[m] joined, p6bannerbot sets mode: +v mirlur[m], lance_w[m] joined, p6bannerbot sets mode: +v lance_w[m], jcallen joined, p6bannerbot sets mode: +v jcallen, Spot_ joined, p6bannerbot sets mode: +v Spot_, p6bannerbot sets mode: +v integral 05:51 p6bannerbot sets mode: +v Juerd, reu joined, p6bannerbot sets mode: +v reu 05:52 mephinet joined, p6bannerbot sets mode: +v mephinet 05:56 lichtkind joined 05:57 p6bannerbot sets mode: +v lichtkind 06:06 lichtkind left 06:07 lichtkind joined 06:08 p6bannerbot sets mode: +v lichtkind
SmokeMachine m: my @a := gather loop { take &++ }; .say for @a.head: 5 06:10
camelia Type check failed in binding; expected Positional but got Seq (?)
in block <unit> at <tmp> line 1
SmokeMachine m: my @a = lazy gather loop { take &++ }; .say for @a.head: 5
camelia Type check failed in assignment to &; expected Callable but got Int (1)
in code at <tmp> line 1
in block <unit> at <tmp> line 1
06:11
El_Che notable6: weekly, new rakudo-pkg 2018.08 pkgs (+ added support for Alpine 3.8 and openSUSE 15.0). Packages on the release page and deb/rpm repos updated. github.com/nxadm/rakudo-pkg/
notable6 El_Che, I cannot recognize this command. See wiki for some examples: github.com/perl6/whateverable/wiki/Notable
SmokeMachine m: my @a = lazy gather loop { take $++ }; .say for @a.head: 5
camelia 0
1
2
3
4
06:12 hammer0657 joined, lichtkind_ joined, lichtkind left, xq joined, p6bannerbot sets mode: +v xq 06:13 p6bannerbot sets mode: +v lichtkind_ 06:16 hammer0657 left, lichtkind_ left 06:17 lichtkind_ joined 06:18 p6bannerbot sets mode: +v lichtkind_, vike1 left 06:20 vike joined 06:21 p6bannerbot sets mode: +v vike, domidumont left
El_Che notable6 weekly new rakudo-pkg 2018.08 pkgs (+ added support for Alpine 3.8 and openSUSE 15.0). Packages on the release page and deb/rpm repos updated. github.com/nxadm/rakudo-pkg/ 06:33
nope?
notable6 weekly: new rakudo-pkg 2018.08 pkgs (+ added support for Alpine 3.8 and openSUSE 15.0). Packages on the release page and deb/rpm repos updated. github.com/nxadm/rakudo-pkg/ 06:34
lizmat then: new rakudo-pkg 2018.08 pkgs (+ added support for Alpine 3.8 and openSUSE 15.0). Packages on the release page and deb/rpm repos updated. github.com/nxadm/rakudo-pkg/
06:39 [Sno] joined, sno left, p6bannerbot sets mode: +v [Sno]
AlexDaniel weekly: new rakudo-pkg 2018.08 pkgs (+ added support for Alpine 3.8 and openSUSE 15.0). Packages on the release page and deb/rpm repos updated. github.com/nxadm/rakudo-pkg/ 06:43
notable6 AlexDaniel, Noted!
AlexDaniel El_Che: or “notable6: weekly smth smth”
El_Che thx :) 06:44
AlexDaniel: cheers for the release 06:49
AlexDaniel \o/
06:52 robertle joined, spycrab0 joined, p6bannerbot sets mode: +v spycrab0 06:53 p6bannerbot sets mode: +v robertle 07:06 HaraldJoerg joined 07:07 p6bannerbot sets mode: +v HaraldJoerg 07:11 fake_space_whale left 07:25 domidumont joined 07:26 p6bannerbot sets mode: +v domidumont 07:34 zakharyas joined, HaraldJoerg left 07:35 p6bannerbot sets mode: +v zakharyas 07:37 HaraldJoerg joined 07:38 p6bannerbot sets mode: +v HaraldJoerg 07:40 pmurias joined, p6bannerbot sets mode: +v pmurias 07:41 Ven` joined, dakkar joined 07:42 p6bannerbot sets mode: +v Ven`, p6bannerbot sets mode: +v dakkar
El_Che AlexDaniel: 2018.09 will be a small one, I suppose 07:42
07:44 pmurias left
AlexDaniel El_Che: depends on whether we merge jnthn's stuff 07:45
07:49 pmurias joined 07:50 p6bannerbot sets mode: +v pmurias 07:56 zakharyas left 07:57 zakharyas joined, lichtkind__ joined, p6bannerbot sets mode: +v zakharyas 07:58 p6bannerbot sets mode: +v lichtkind__, lichtkind_ left 08:09 lichtkind__ left 08:14 pmurias left, pmurias joined 08:15 zakharyas left, Ven` left, p6bannerbot sets mode: +v pmurias 08:18 pmurias left, sena_kun joined 08:19 p6bannerbot sets mode: +v sena_kun, pmurias joined 08:20 p6bannerbot sets mode: +v pmurias, lichtkind__ joined 08:21 p6bannerbot sets mode: +v lichtkind__ 08:26 Ven` joined 08:27 stalled29 joined, p6bannerbot sets mode: +v Ven` 08:29 ExtraCrispy joined, stalled29 left 08:30 p6bannerbot sets mode: +v ExtraCrispy 08:36 angelds joined, p6bannerbot sets mode: +v angelds 08:39 lizmat left 08:45 ExtraCrispy left 08:48 n0nada25 joined, n0nada25 left
rindolf Hi all! how can I fix this - {($p5-vers.map: -> $x {" - '" ~ $x.Str ~"'\n"}).join('')} ? 08:50
m: <5 6 7>.map: -> $x { "foo" ~ $x ~ "b" } 08:51
camelia ( no output )
rindolf m: say (<5 6 7>.map: -> $x { "foo" ~ $x ~ "b" }) 08:52
camelia (foo5b foo6b foo7b)
rindolf m: say (<5 6 7>.map: -> $x { "foo" ~ $x.Str ~ "b" })
camelia (foo5b foo6b foo7b)
rindolf p6eval: say (<5 6 7>.map: -> $x { "foo" ~ $x.Str ~ "b" }) 08:53
camelia: help
camelia rindolf: Usage: <(debug-cat|rakudo-jvm|p5-to-p6|star-m|nqp-jvm|rakudo-moar|nqp-js|prof-m|nqp-moarvm|master|nqp-mvm|r-j|p56|r|perl6|rj|rakudo|r-m|m|sm|rm|nqp-q|j|star|p6|nqp-m|nqp|r-jvm)(?^::\s(?!OUTPUT)) $perl6_program>
08:53 lizmat joined
AlexDaniel rindolf: sorry, so what's the issue? 08:53
08:54 p6bannerbot sets mode: +v lizmat
rindolf AlexDaniel: www.shlomifish.org/Files/files/text/f.txt 08:55
08:57 ExtraCrispy joined
rindolf AlexDaniel: any idea? 08:58
08:58 p6bannerbot sets mode: +v ExtraCrispy
rindolf perl6: say (<5 6 7>.map: -> $x { "foo" ~ $x.Str ~ "b" }) 08:59
camelia (foo5b foo6b foo7b)
08:59 zakharyas joined
AlexDaniel rindolf: where's the code for that? github.com/shlomif/perl6-CI-Gen/bl...n.pm6#L152 09:00
rindolf lizmat: hi
09:00 p6bannerbot sets mode: +v zakharyas
AlexDaniel rindolf: I mean, it complains about line 152, that's line 152… 09:00
09:02 leont joined
rindolf AlexDaniel: i think it is github.com/shlomif/perl6-CI-Gen/bl...n.pm6#L231 09:02
AlexDaniel: but it has a mind of its own 09:03
09:03 p6bannerbot sets mode: +v leont
rindolf AlexDaniel: see github.com/shlomif/perl6-CI-Gen/bl...n.pm6#L231 09:06
is there a perl workshop now? 09:07
noone answers
AlexDaniel rindolf: have you tried golfing the issue? 09:09
rindolf AlexDaniel: no
09:10 zakharyas left, lichtkind__ left
AlexDaniel because yeah, it's weird 09:13
09:19 ExtraCrispy left
rindolf AlexDaniel: had a missing -I. 09:22
09:23 lichtkind__ joined
rindolf AlexDaniel: so it used the old code 09:23
09:23 p6bannerbot sets mode: +v lichtkind__ 09:28 itaipu joined 09:29 p6bannerbot sets mode: +v itaipu
rindolf AlexDaniel: thanks 09:29
09:34 sotona joined 09:35 p6bannerbot sets mode: +v sotona 09:36 ExtraCrispy joined, p6bannerbot sets mode: +v ExtraCrispy 09:39 sotona left, spycrab0 left 09:50 pmurias left 09:56 zakharyas joined 09:57 p6bannerbot sets mode: +v zakharyas
rindolf github.com/shlomif/ci-gen-framework 10:02
10:08 sena_kun left 10:16 pmurias joined, p6bannerbot sets mode: +v pmurias
El_Che rindolf: cro does this as well, no fan: zef install --force-install . 10:19
at the back of my mind a voice yells: it's broken! it's broken!
rindolf El_Che: cro? 10:21
El_Che jnthn's web framework
(very nice, try it out)
tyil ^
its simple yet powerful
rindolf El_Che: cro.services/ - what does that have to do w generating ci scripts? 10:23
10:23 xoryo joined, p6bannerbot sets mode: +v xoryo 10:31 pmurias left 10:41 noganex left
rindolf El_Che: this is just temporary 10:50
10:51 araujo joined, araujo left, araujo joined, p6bannerbot sets mode: +v araujo 10:52 p6bannerbot sets mode: +v araujo
DrForr Maybe I can install it now, again. Having the docker route available might be better though. 11:05
11:11 lichtkind__ left 11:14 hudo joined, aindilis left 11:15 aindilis` joined, p6bannerbot sets mode: +v hudo 11:16 p6bannerbot sets mode: +v aindilis`
hudo Im using Net::SSH::Any and my $sshan = Net::SSH::Any->new($scphost, user => $scpuser, password => $scppassword ) ; results in 11:18
lizmat hudo: that looks like Perl 5 code
hudo Scalar found where operator expected at /usr/local/share/perl/5.20.2/Net/SSH/Any/Backend/Net_OpenSSH.pm line 48, near "// $any"
(Missing operator before $any?)
lizmat hudo: this channel discusses Perl 6 issues 11:19
hudo uuh wrong channel , sorry
DrForr hudo: Wrong channel? This is for perl 6 :)
lizmat hudo: no pb
DrForr meditates on how 'net/clearFlags' could be implemented in the existing JSONRPC module. 11:20
And wishes there were a way to move windows between Win10 virtual desktops. 11:21
11:22 scimon joined 11:23 p6bannerbot sets mode: +v scimon, lichtkind__ joined 11:24 p6bannerbot sets mode: +v lichtkind__, kerframil left
DrForr It'd be nice to have a submethod or something that could create a hierarchy there... 11:25
(not really a p6 submethod, but something that'd act like a nested class... 11:26
11:58 saki joined, saki left 12:05 mcmillhj joined 12:06 p6bannerbot sets mode: +v mcmillhj 12:07 saki joined, saki left 12:11 Xliff joined 12:12 Xliff left 12:13 Xliff joined, p6bannerbot sets mode: +v Xliff
Xliff \o 12:14
Is there a way to force a module to recompile (or at least re-run the BEGIN and CHECK blocks) 12:15
12:17 lizmat left 12:18 lizmat joined, lizmat left
masak Xliff: remove the cached bytecode? 12:25
Xliff What's the easiest way to do that with a given module? 12:26
masak: There should be a way to force compile a module. :/
Or at least re-run BEGIN/CHECK phasers. 12:27
masak not really disagreeing with you, though I don't have an actual use case for it myself 12:28
Xliff Loading pre-compile resources?
pre-compiled, really
masak at runtime?
Xliff No. Compile-time
masak I'm not following -- but now it kind of feels like you're on the wrong abstraction a little bit, and expecting a behavior that doesn't come naturally when precompiling 12:29
Xliff *sigh*
masak I'm hesitant to invoke the "X/Y problem" thing, but...
jnthn Sounds like you want INIT, not EGIN
*BEGIN
Which runs every load time 12:30
Xliff I do NOT want INIT.
If I wanted INIT, I would be using it.
See this:
our $bytes is export;
BEGIN {
$bytes = '/dev/urandom'.IO.open.read(1024);
}
That is in a module.
12:30 lichtkind__ left
Xliff It's a manufactured case, but it can be extended. 12:30
So $bytes is loaded with chars from /dev/urandom. I want those same bytes to be reused until I tell the module to get a new set. 12:31
The only way I can do that is to change the actual module, which MAY NOT need changes.
It's a PERFECT case for selective pre-compilation. 12:32
masak suggestion: have a script that reads 1024 bytes from /dev/urandom, and creates a .pm6 file from it
then you'd be playing with the rules of precompilation, not against them
jnthn OK, then you'll probalby need to implement a CompUnitRepo or whatwever that does selective precompilation.
Xliff masak: That was the original implementation, then I began experimenting with phasers.
jnthn Or what masak said
masak Xliff: your original hunch might've been the right one ;) 12:33
Xliff masak: Some rules were made to be bent.
:)
masak I can't stop you from inventing wheels that don't strictly need to be built
Xliff jnthn: What would reimplementing CompUnitRepo grant me?
masak in fact, I'm all about that, so do whatever you like ;)
Xliff LOL
12:34 Ven` left
jnthn Xliff: I dunno how exactly it's factored today, but I think you'd be able to get control over when a precomp'd version is loaded and when it's regenerated 12:34
Xliff jnthn: OK. That's .... an option.
So here's what I came up and was hoping I wouldn't have to do anything about it... 12:35
Add a counter to the module and just use another script to up the version number. :?
:/, even
That's the bargain basement solution. I was hoping there was an easier way.
Thanks jnthn++, masak++
jnthn Well, it'd work, but at this point I don't understand why you don't just write the random data to an ordinary file, read from it, and update the file whenever needed. :) 12:36
masak your original way was the easier way
jnthn But I guess that example is a simplification of what you really have.
Xliff Right. I do NOT want file access every time I use the module.
jnthn But...loading bytecode from disk is a file access??
moritz you could install the module on a RAM disk 12:37
jnthn Or do you mean per `use`?
Xliff So, is there some taboo against holding data in precompiled bytecode that I am missing?
I mean per 'use' 12:38
jnthn But then I'm still confuesd 'cus INIT doesn't run per use, it runs per time the module is loaded into the process.
The module isn't reloaded and INIT isn't re-run for each use.
A given module is only loaded once, and its INIT run only once.
Xliff OK. Usecase: I have a static set of resources that are NOT distributed with the module, but are stored at a known location. 12:39
Actually, scratch that.
I would like data to be pre-compiled into the module so I do not have to rely on accessing that data every time I run the program.
I am using BEGIN {} to do this and it works exactly the way I want it to.
Unless... I need to refresh that data due to the fact that it has gone stale. This is supposed to happen very rarely. 12:40
So why do I need to burden application data to handle this file access, when storing it into a pre-compiled module does what I want? 12:41
12:41 lizmat joined 12:42 p6bannerbot sets mode: +v lizmat
masak but it doesn't do what you want. that's why you're complaining about it now 12:42
Xliff It does what I want. It works perfectly....until I need to refresh the data.
masak which is when it doesn't do what you want
Xliff Yes. :P
masak anyway, the suggestions are above 12:43
moritz you want a magic DWIM solution
I suggest implementing one that fits your wishes
Xliff But, and pardon if this is insensitive, the suggestions above are NOT what I need. I considered those and rejected them due to requirements.
masak it's not insensitive. but be aware that you are working against the grain here
Xliff OK, then bargain versioning it is. Thanks. 12:44
masak the "X/Y problem" is when you're trying to use a mechanism Y to solve a problem X, but mechanism Y isn't really such a good fit for it
Geth doc: 95dd2aabfc | (JJ Merelo)++ | doc/Language/5to6-perlop.pod6
Fixes a couple of links

Which will close #2296, and also refers to #561. There might be other links in the same page, will have to revise it.
synopsebot Link: doc.perl6.org/language/5to6-perlop
Xliff masak: I understand. However I am surprised that a VM that uses bytecode doesn't have a way to force recompilation of that bytecode. 12:45
And yes. X/Y.
However there are times when X/X is not what you want.
masak Xliff: maybe I've missed that feature in other VMs. which VMs are you thinking of that have a flag or something for "force recompilation"?
Xliff Java? 12:46
masak in Java, I compile manually
but yeah, if you're expecting that, then I can understand the disappointment better ;)
Xliff In perl6, every program is compiled manually. It's the modules I would like a modicum of control over.
masak anyway. my bargaining with you isn't going to make your situation better, or change your mind. hope you manage to implement a solution that does everything you want. 12:47
Xliff OK. So bargain-basement versioning it is. And I can probably do that faster than re-implementing CompRepoUnit...
Yeah. Convert code to a template, have it parse existing code to get previous version, increment it, rewrite template with new version. *sigh* 12:48
12:48 saki joined 12:49 p6bannerbot sets mode: +v saki 13:07 kerframil joined, p6bannerbot sets mode: +v kerframil, pmurias joined
lizmat weekly: blog.matatu.org/tailgrep 13:08
notable6 lizmat, Noted!
13:08 p6bannerbot sets mode: +v pmurias
pmurias Xliff: write the sha1 of the data file to a separate module containing only it 13:08
Xliff: use that version of data containing module
13:09 kerframil left, pmurias left 13:12 pmurias joined 13:13 p6bannerbot sets mode: +v pmurias 13:17 aindilis` left 13:18 aindilis joined 13:19 p6bannerbot sets mode: +v aindilis
timotimo those are some pretty spinners 13:22
13:24 Ven` joined 13:25 p6bannerbot sets mode: +v Ven` 13:26 spycrab0 joined, p6bannerbot sets mode: +v spycrab0
Xliff pmurias: Thanks! That's not a bad idea. Still means writing a template, though. 13:27
pmurias Xliff: the generated module would be like 1 line long 13:31
AlexDaniel haha I liked the one with unicode spinners 13:32
13:32 saki left
pmurias Xliff: re the VM not having the ability to force a recompile, there is always rm 13:32
Xliff: but precompilation should be automatic and modules shouldn't be playing tricks with it 13:33
Xliff pmurias: Wouldn't I have to put the sha1 into a string?
AlexDaniel ah f it has « $filename » trap
lizmat Xliff: isn't the INIT phaser what you need? 13:35
pmurias Xliff: in the main module you have 'use ModuleWithChecksumOfData'
Xliff: in the ModuleWithChecksumofData you have the sha1 in a string (even a comment would work)
lizmat: Xliff wants the data to be serialized
Xliff pmurias: OK, thanks! 13:36
lizmat ah, ok, /me shuts up :-)
13:37 ccntrq joined 13:38 p6bannerbot sets mode: +v ccntrq 13:41 scimon left
Xliff lizmat: Why ":$spinners is copy" ? 13:48
(BTW... love the article. Very educational.)
lizmat Xliff: not mine, was just the messenger 13:49
Xliff Ooh. OK.
lizmat or are you referring to my opensource.com article ?
Xliff Nope. The one with the spinners. :) 13:50
lizmat ok :-) 13:51
breinbaas lizmat: off course, now I'm curious for the opensource.com article (and can't find it) 13:53
would you have a link? 13:54
lizmat opensource.com/article/18/8/containers-perl-6
breinbaas thank you
13:55 scimon joined, angelds left 13:56 p6bannerbot sets mode: +v scimon, AlexDani` joined 13:57 p6bannerbot sets mode: +v AlexDani`
rindolf gvim/vim does a poor job of syntax highlighting p6 13:59
moritz I find it workable 14:00
14:00 zakharyas left 14:01 zakharyas joined, AlexDaniel left
vrurg rindolf: did you try github.com/vim-perl/vim-perl6 ? 14:01
14:01 p6bannerbot sets mode: +v zakharyas 14:02 hudo left
rindolf vrurg: no 14:03
14:03 scimon left
buggable New CPAN upload: App-Mi6-0.1.9.tar.gz by SKAJI modules.perl6.org/dist/App::Mi6:cpan:SKAJI 14:03
vrurg It's much better than the bundled support.
14:03 scimon joined
rindolf vrurg: i use github.com/vim-perl/vim-perl 14:04
14:04 p6bannerbot sets mode: +v scimon
vrurg rindolf: It's README says: "For Perl 6 files, please see vim-perl6." ;) 14:05
rindolf vrurg: i have some problems w here docs
14:05 zakharyas left 14:06 AlexDani` is now known as AlexDaniel, AlexDaniel left, AlexDani` joined 14:07 p6bannerbot sets mode: +v AlexDani`
rindolf vrurg: tried it now - no help 14:07
vrurg I don't know for other workarounds then, sorry. Is it some specific form of a here doc? Perhaps worth reporting on github? 14:09
rindolf vrurg: see github.com/shlomif/perl6-CI-Gen/bl...CI/Gen.pm6 14:19
vrurg: it is q:to/.../
vrurg: strange, now it is better 14:20
seems like pgup/pgdn confuses it 14:22
vrurg rindolf: Keep in mind that sometimes vim needs to sync the highlight with previous lines of code if you scroll from the bottom to top. Because it's a slow process the syncing is limited with some number of lines. Increasing it might help sometimes but would slow down the render.
So, from pgup/pgdn I conclude that this is your case. Just get used to it.
rindolf vrurg: ah 14:23
14:42 curan left 14:43 MilkmanDan left 14:44 MilkmanDan joined, p6bannerbot sets mode: +v MilkmanDan 14:49 lizmat left, Sgeo joined 14:50 p6bannerbot sets mode: +v Sgeo, Sgeo__ left 14:55 Ven` left 14:59 Ven` joined, p6bannerbot sets mode: +v Ven` 15:13 jorik22 joined 15:15 jorik22 left 15:16 robertle left 15:17 molaf joined 15:18 p6bannerbot sets mode: +v molaf 15:19 fake_space_whale joined 15:20 p6bannerbot sets mode: +v fake_space_whale 15:23 thowe left
scimon HTTP::Status seems to have drop out of ecosystem and has 10 modules depending on it (if I'm understanding this correctly) I've got a Travis build failing and this seems to be the issue. Anyone else seen this? 15:24
Geth ecosystem/http-status-patch: ef1e966810 | (Simon Proctor)++ (committed using GitHub Web editor) | META.list
HTTP::Status META File updated 7 days ago
15:28
scimon Looks like the META.info file was updated to META6.json
Geth ecosystem: Scimon++ created pull request #409:
HTTP::Status META File updated 7 days ago
15:31
15:31 leont left 15:35 lizmat joined 15:36 p6bannerbot sets mode: +v lizmat 15:38 integral left, integral joined, adams.freenode.net sets mode: +v integral, p6bannerbot sets mode: +v integral
Geth ecosystem: ef1e966810 | (Simon Proctor)++ (committed using GitHub Web editor) | META.list
HTTP::Status META File updated 7 days ago
15:40
ecosystem: 750e4fc717 | (Aleks-Daniel Jakimenko-Aleksejev)++ (committed using GitHub Web editor) | META.list
Merge pull request #409 from perl6/http-status-patch

HTTP::Status META File updated 7 days ago
15:41 ExtraCrispy left 15:42 domidumont left 15:46 spycrab0 left 15:49 zakharyas joined 15:50 p6bannerbot sets mode: +v zakharyas 15:56 robertle joined, ExtraCrispy joined 15:57 p6bannerbot sets mode: +v robertle, p6bannerbot sets mode: +v ExtraCrispy 15:59 snowolf24 joined 16:00 snowolf24 left 16:08 pmurias left 16:10 zakharyas left 16:21 spycrab0 joined, p6bannerbot sets mode: +v spycrab0, acerbic21 joined 16:24 acerbic21 left 16:31 noganex joined 16:32 p6bannerbot sets mode: +v noganex, scimon left 16:34 dakkar left 16:36 Erenzie3 joined 16:40 Erenzie3 left
buggable New CPAN upload: Trait-Env-0.4.1.tar.gz by SCIMON modules.perl6.org/dist/Trait::Env:cpan:SCIMON 16:43
16:59 Khisanth left 17:00 Ven` left 17:02 [Sno] left 17:18 lgtaube joined 17:19 p6bannerbot sets mode: +v lgtaube, Khisanth joined 17:20 p6bannerbot sets mode: +v Khisanth 17:22 zakharyas joined, p6bannerbot sets mode: +v zakharyas 17:32 itaipu left 17:37 pecastro joined, p6bannerbot sets mode: +v pecastro 17:38 AlexDani` is now known as AlexDaniel, iviv is now known as ii, ii is now known as iviv 17:40 Bossaker joined, p6bannerbot sets mode: +v Bossaker, rfold joined 17:41 p6bannerbot sets mode: +v rfold 17:45 Bossaker left 17:48 zakharyas left 17:58 [Sno] joined 17:59 p6bannerbot sets mode: +v [Sno] 18:12 [particle] left, [particle]1 joined 18:13 p6bannerbot sets mode: +v [particle]1 18:16 |oLa| joined, p6bannerbot sets mode: +v |oLa| 18:30 sauvin left 18:57 ccc joined, p6bannerbot sets mode: +v ccc
ccc What is the perl6 equivalent to perldoc? 18:58
moritz docs.perl6.org/
ccc Yes perl has online docs too but I'm talking about something I can invoke from the command line 18:59
e.g. perldoc -f split 19:00
moritz there is a command line tool p6doc, but it's very bare bones
ccc So if I type p6doc Module, it will give me the information for that installed Module? 19:01
Ok, I'm playing with it now 19:03
buggable New CPAN upload: Trait-Env-0.5.0.tar.gz by SCIMON modules.perl6.org/dist/Trait::Env:cpan:SCIMON
19:08 pmurias joined 19:09 p6bannerbot sets mode: +v pmurias
pmurias m: say 0.expmod(-200, 1) 19:09
camelia 0
pmurias ^^ is this a BUG? 19:10
moritz m: say expmod(0, -200, 1) 19:13
camelia 0
moritz you mean because 0**$negative_number shouldn't be defined?
m: say 0**-200 19:14
camelia Attempt to divide 1 by zero using div
in block <unit> at <tmp> line 1
pmurias moritz: diving by zero isn't supposed to work
* dividing
masak that's not _automatically_ true under mod, though
need to think about it for a while
well -- seems straightforward that 0 doesn't have a multiplicative inverse, even under mod 19:15
but I did need to think about it ;)
so, yes, I vote "bug" 19:16
pmurias masak: say expmod(2, -2, 1) could be better documented 19:17
m: say expmod(2, -2, 1)
camelia 0
moritz my suspicion is that rakudo simply uses libtommath's expmod implementation, and that library is focused on integers, and probably doesn't do anything sensible with negative exponents 19:19
pmurias the rounding down to integers sort of makes sense 19:21
but it might be sensible to catch the attempt to divide by zero
rindolf hi all! what is the most idiomatic way to write $ret = {|%h<_>, |%h{%h.keys.grep: -> $x {$x ne '_'}}:kv, |$ret}; 19:25
moritz m: say expmod(2, -2, 5)
camelia 4
moritz m: say expmod(2, -2, 3)
camelia 1
moritz I think it just drops the sign from the exponent?
the 0 seems to be from $any_integer % 1 == 0
rindolf moritz: any idea? 19:27
currently it gives a runtime error 19:28
moritz rindolf: what do you want to achieve?
rindolf moritz: 1. i want to merge hashes 19:29
moritz: 2. i want a hash slice minus one key
moritz m: my %h = a => 1, b => 2, c => 3; say %h.grep(none(*.key eq 'b')) 19:30
camelia (c => 3 a => 1)
moritz there's your hash slice with one key removed
and merging two hashes: what do you want to happen on collissions?
m: my %h = a => 1, b => 2; my %c = b => 3, c => 4; %h ,= %c; say %h 19:31
camelia {a => 1, b => 3, c => 4}
moritz overwrite
m: my %h = a => 1, b => 2; my %c = b => 3, c => 4; %h.push(%c); say %h
camelia {a => 1, b => [2 3], c => 4}
19:31 pmurias left
moritz contract into an array 19:31
19:32 pmurias joined 19:33 p6bannerbot sets mode: +v pmurias
rindolf moritz: i want to prepend keys 19:34
not append them
moritz then reverse the order 19:35
rindolf moritz: ok
moritz: is there a non destructive, fp way? 19:38
like %h = (%x, %h) in p5?
moritz but that doesn't prepend, that overwrites
just in a different order 19:39
timotimo you can just my %target; %target.push(%a); %target.push(%b)
rindolf timotimo: ah
moritz but yes, %h = (%x, %h) works
rindolf moritz: ok
moritz timotimo: or jsut my %target = %a; %target.push(%b)
timotimo m: my %a = :1a, :2b; my %b = :3b, :4c; my %result = do given (my %) { .push(%a); .push(%b); $_ }; say %result.perl 19:40
camelia {:a(1), :b($[2, 3]), :c(4)}
timotimo a little statement-form of that :)
indeed, moritz
rindolf $ret = (|%h<_>, |%h.grep(none(*.key ne '_')), |$ret); 19:41
should i get rid of the pipes?
$ret is a hash ref 19:42
pmurias moritz: the 0 seems to be from 0 ** any-positive-integer == 0
m: say expmod(0, 0, 100)
camelia 1
pmurias m: say expmod(0, 3, 100)
camelia 0
rindolf www.nntp.perl.org/group/perl.perl6...g2325.html 19:45
no answer here 19:46
timotimo: any idea?
moritz work with hashes, not with refs :D 19:48
Geth doc: 5bef9ff916 | (JJ Merelo)++ | doc/Type/Exception.pod6
Adds information on how to change `die` message

Which closes #2293. Adds examples and some reflow too.
19:51
synopsebot Link: doc.perl6.org/type/Exception
rindolf sigh 19:52
fine, i'll do it w push
why must it be so hard? 19:53
moritz is push so hard? 19:55
19:57 aindilis left
rindolf moritz: github.com/shlomif/perl6-CI-Gen/co...f435d73b42 - thanks 20:00
moritz rindolf: none and ne is double negation 20:01
I used none(... eq ...)
you can also *.key ne '_' without the junction, which would probably me more idiomatic 20:02
rindolf moritz: ah
moritz m: my %h = a => 1, b => 2, c => 3; say %h.grep(*.key ne 'b') 20:03
camelia (c => 3 a => 1)
20:04 Ven` joined 20:05 p6bannerbot sets mode: +v Ven` 20:09 Ven` left 20:12 bobby-jim joined, p6bannerbot sets mode: +v bobby-jim
bobby-jim I managed to build Rakudo on my Pi Zero... took hours... but worth it! 20:16
timotimo whew, yeah, i can imagine that'll take a while 20:19
bobby-jim nohup and went home, let it run all night
had to install swapspace daemon. 20:20
timotimo i wonder what "perf record" will say gets the most ticks, probably GC marking if i'd have to guess
bobby-jim Next time I'll want to run performance stats 20:21
timotimo right
wouldn't surprise me if the "system" time would outgrow the "user" time by more than 10x
how much ram does that device have?
also, i hope the swapping didn't take too much of a toll on your swap device, like, if it was an sd card 20:22
bobby-jim "Tiny": 500mb.
Yeah, an SD card is the drive.
timotimo oof, yeah, that's not much 20:23
i imagine i can get close to an approximation of the experience by setting up a VM with that much ram
i wonder how much zram would be worth for this workload
bobby-jim Made me wonder if build performance could be "improved", but meh.
timotimo there's opportunities for sure 20:24
but it's hairy
and without measuring first, i wouldn't dare start on anything more than single-line changes
bobby-jim I think zram might help a lot. While I was looking at it, it seemed as though it didn't use more than a gig of memory, but I'm not sure. 20:25
timotimo is that a 32bit system?
80.79user 0.88system 1:19.94elapsed 102%CPU (0avgtext+0avgdata 1419940maxresident)k 20:27
this is with jit on, which will consume a bit more ram 20:28
er, that's the core setting compilation
bobby-jim Yeah, I think 32bit. Arm11 apparently. 20:29
timotimo OK, that means smaller pointers on top of not having a JIT compiler 20:30
84.57user 0.63system 1:24.49elapsed 100%CPU (0avgtext+0avgdata 1388648maxresident)k
this is without the jit compiler on my system 20:31
20:38 Sgeo left 20:42 HaraldJoerg left 20:45 bobby-jim left 20:48 leont joined 20:49 p6bannerbot sets mode: +v leont
leont p6: multi foo { }; sub bar(Sub $sub) { say $sub.multi }; bar(&foo); 20:51
camelia False
leont That's a bug, right?
20:52 jmerelo_ joined, p6bannerbot sets mode: +v jmerelo_
jmerelo_ releasable6: status 20:52
releasable6 jmerelo_, Next release in ≈10 days and ≈22 hours. 0 blockers. 0 out of 32 commits logged
jmerelo_, Details: gist.github.com/ce022ce36a2359ebb8...0f4c38c4dd
jmerelo_ So, 2018.08 is out?
pmurias wouldn't cross compiling Rakudo be a much better strategy than building it on Pi? 20:53
buggable New CPAN upload: I18n-Simple-0.1.2.tar.gz by TYIL modules.perl6.org/dist/I18n::Simple:cpan:TYIL
timotimo one day i want a Magnum PI. it'd come with a helicopter i reckon 20:55
20:55 Sgeo joined 20:56 p6bannerbot sets mode: +v Sgeo, lizmat left 20:57 leont left 21:05 beeman left
jmerelo_ timotimo: and an attitude. 21:07
21:11 beeman joined, p6bannerbot sets mode: +v beeman, jmerelo_ left, pmurias left 21:13 pmurias joined
japhb timotimo: I'm hoping the case looks like this: en.wikipedia.org/wiki/Ferrari_308_...GTB_qv.jpg 21:13
21:13 p6bannerbot sets mode: +v pmurias 21:18 pmurias left, epony left 21:20 pmurias joined, aindilis joined 21:21 p6bannerbot sets mode: +v pmurias, p6bannerbot sets mode: +v aindilis 21:29 robertle left 21:32 mcmillhj left
timotimo tbh i didn't watch much Magnum PI outside the few times i caught it when i was rather a lot younger, so i remember barely anything apart from the hawaii shirts, the mustache, and the helicopter 21:34
21:35 Sgeo left 21:43 mcmillhj joined 21:44 p6bannerbot sets mode: +v mcmillhj, MasterDuke joined, p6bannerbot sets mode: +v MasterDuke 21:46 MasterDuke left, MasterDuke joined, herbert.freenode.net sets mode: +v MasterDuke, p6bannerbot sets mode: +v MasterDuke 21:47 mcmillhj left 21:54 rindolf left 21:58 epony joined, p6bannerbot sets mode: +v epony 22:04 sftp left 22:06 sftp joined, p6bannerbot sets mode: +v sftp, Kaiepi joined 22:07 rfold left, p6bannerbot sets mode: +v Kaiepi 22:09 rindolf joined, mcmillhj joined 22:10 p6bannerbot sets mode: +v rindolf, p6bannerbot sets mode: +v mcmillhj 22:13 pmurias left 22:14 mcmillhj left 22:16 pmurias joined, Sgeo joined 22:17 p6bannerbot sets mode: +v pmurias, p6bannerbot sets mode: +v Sgeo 22:20 Sgeo_ joined, p6bannerbot sets mode: +v Sgeo_, Ven` joined 22:21 p6bannerbot sets mode: +v Ven` 22:22 pmurias left, Sgeo left 22:25 Ven` left 22:29 mcmillhj joined 22:30 p6bannerbot sets mode: +v mcmillhj 22:33 mcmillhj left 22:46 mcmillhj joined, p6bannerbot sets mode: +v mcmillhj 22:47 aindilis` joined, aindilis left 22:48 p6bannerbot sets mode: +v aindilis` 22:50 mcmillhj left
TimToady .tell leont no, not a bug, because &foo actually represents the implicit proto, not the multi; try $sub.candidates[0].multi instead 22:52
yoleaux TimToady: I'll pass your message to leont.
23:03 Herby_ joined 23:04 p6bannerbot sets mode: +v Herby_
Herby_ o/ 23:04
timotimo o/ 23:05
Herby_: thank you for your positive comments btw :)
Herby_ it was a great article :) 23:06
23:06 rindolf left
timotimo hopefully i have a few more of those in me 23:07
Herby_ timotimo: how familiar are you with NativeCall? 23:17
would be interesting to see how a solution in NativeCall performs compared to your others 23:18
timotimo hard to say, i can already think of like three different ways to implement it 23:19
if you build a function that stores start and end offsets in a big array, for example, that wouldn't have a whole lot of transfer overhead i think 23:20
then the majority of time would be spent going through the file and reading out the chunks of string inside
an array of c strings could be interesting, but that'll do triple copying in total, i think 23:21
23:23 leont joined
Herby_ hmm 23:23
timotimo and having one callback every time you "found" a chunk sounds extra bad :)
Herby_ do you think the results would likely fall somewhere between the fastest p6 implementation, and the NQP implementation? 23:24
my naive reasoning being since using nqp is not ideal, maybe NativeCall could make up for some of the performance 23:25
timotimo really don't know, there's always the cost of going back and forth between both "worlds" 23:26
Herby_ gotcha. do you think a math heavy problem would suffer the same? thinking of that other recent benchmark post: brrt-to-the-future.blogspot.com/201...hmark.html 23:27
timotimo well, you can put the whole calculation into a C function 23:30
call it with an int, receive the float from it, that's cheap
Herby_ my C knowledge is pretty much zero. So for a problem like that, instead of dipping in to nqp, it would be better to utilize NativeCall? 23:31
23:32 mcmillhj joined 23:33 p6bannerbot sets mode: +v mcmillhj
timotimo not necessarily, since you have to get that C through a C compiler first 23:33
and i don't think you can load the result directly into memory, so you'll have to go through a file on the filesystem 23:34
that makes it unwieldy
23:37 mcmillhj left
Herby_ k. thanks for the explanations. and i look forward to your next article :) 23:37
timotimo no problem :) 23:39
fwiw, there's no reason we can't build a C compiler in nqp or perl6 and NativeCall into what it compiles directly
except it's a lot of work to build a full C compiler that gives good performance
MasterDuke what, it's not as simple as 'use LLVM;'? 23:41
timotimo i have no clue how libllvm or whatever is used to be honest 23:42
MasterDuke heh, neither do i 23:43
23:46 leont left
Herby_ MasterDuke: o/ 23:46
23:46 mcmillhj joined 23:47 pecastro left, p6bannerbot sets mode: +v mcmillhj 23:51 mcmillhj left, aindilis` left 23:52 daxim left
MasterDuke \ 23:55
23:57 mcmillhj joined, drot7 joined 23:58 p6bannerbot sets mode: +v mcmillhj, drot7 left