Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2017-05-08

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 lizmat joined #perl6
00:03 labster joined #perl6
00:10 mcmillhj joined #perl6
00:16 Cabanossi joined #perl6
00:40 pierre_ joined #perl6
00:46 Cabanossi joined #perl6
01:18 Actualeyes joined #perl6
01:31 Mebel joined #perl6
01:48 ilbot3 joined #perl6
01:48 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
02:16 Cabanossi joined #perl6
02:30 itsame joined #perl6
02:46 Cabanossi joined #perl6
03:15 Cabanossi joined #perl6
03:16 itsame joined #perl6
03:33 mcmillhj joined #perl6
03:45 Cabanossi joined #perl6
03:56 Geth ¦ doc: 50b6194e5f | (Lloyd Fournier)++ (committed using GitHub Web editor) | doc/Type/Supply.pod6
03:56 Geth ¦ doc: Fix signature of sub signal(....)
03:56 Geth ¦ doc:
03:56 Geth ¦ doc: s/@*signals/*@signals/ and add the default for :$scheduler = $*SCHEDULER
03:56 Geth ¦ doc: review: https://github.com/perl6/doc/commit/50b6194e5f
04:00 Actualeyes joined #perl6
04:04 pierre_ joined #perl6
04:06 wamba joined #perl6
04:09 pierre_ joined #perl6
04:11 mcmillhj joined #perl6
04:13 aborazmeh joined #perl6
04:13 aborazmeh joined #perl6
04:16 mr-foobar joined #perl6
04:24 lizmat joined #perl6
04:25 mcmillhj joined #perl6
04:35 mcmillhj joined #perl6
04:45 Cabanossi joined #perl6
04:53 curan joined #perl6
04:57 xtreak joined #perl6
05:07 itsame joined #perl6
05:34 lowbro joined #perl6
05:34 lowbro joined #perl6
05:45 Cabanossi joined #perl6
05:55 CIAvash joined #perl6
05:59 pierre_ joined #perl6
06:08 lizmat joined #perl6
06:15 Cabanossi joined #perl6
06:19 lowbro_ joined #perl6
06:19 Grauwolf joined #perl6
06:19 Grauwolf joined #perl6
06:19 daxim joined #perl6
06:19 aborazmeh joined #perl6
06:19 aborazmeh joined #perl6
06:20 Actualeyes joined #perl6
06:21 wamba joined #perl6
06:23 CIAvash[m] joined #perl6
06:32 jonas1 joined #perl6
06:45 Cabanossi joined #perl6
06:47 mcmillhj joined #perl6
06:49 domidumont joined #perl6
06:54 domidumont joined #perl6
06:58 andrzejku joined #perl6
07:04 abraxxa joined #perl6
07:07 aborazmeh joined #perl6
07:07 aborazmeh joined #perl6
07:10 mcmillhj joined #perl6
07:11 rindolf joined #perl6
07:14 wamba joined #perl6
07:15 anton_p joined #perl6
07:15 Cabanossi joined #perl6
07:28 wamba joined #perl6
07:34 zakharyas joined #perl6
07:46 lizmat joined #perl6
07:52 mcmillhj joined #perl6
07:52 lizmat joined #perl6
07:57 parv joined #perl6
08:03 g4 joined #perl6
08:09 geekosaur joined #perl6
08:11 geekosaur joined #perl6
08:12 sena_kun joined #perl6
08:15 xtreak joined #perl6
08:17 geekosaur joined #perl6
08:18 xtreak joined #perl6
08:26 geekosaur joined #perl6
08:29 cpage_ joined #perl6
08:33 raiph joined #perl6
08:35 El_Che moritz: It seems congratulations are in order!
08:42 moritz El_Che: hm?
08:42 El_Che moritz: https://www.apress.com/gp/book/9781484228982
08:43 El_Che moritz: saw it on perl weekly. I thought you were working on an ebook only edition
08:43 moritz El_Che: thanks! The ebook was basically the work-in-progress/prototype
08:43 moritz El_Che: and I considered whether to go through the hassle of creating a dead tree book when apress contacted me
08:43 El_Che yeah, I missed the part when you got a publisher
08:44 * moritz El_Che also thanks for your feedback re Docker deployment
08:44 moritz erm, that was meant to go into privmsg
08:44 El_Che you bastard ( :) ) triggered me to work on a the alpine packages
08:45 El_Che almost there, rakudo compiles fine now, but the packaging dies (ruby prob)
08:45 El_Che all related to alpine not using libc by default
08:45 moritz El_Che: the most awesome thing thing would be alpine + rakudo + zef
08:45 El_Che almost there
08:45 El_Che really, the difficult part is done
08:45 moritz because that could be the basis for deploying p6 apps
08:46 wamba joined #perl6
08:46 El_Che going to a full pkg of a few dozens of megabytes from 300mb is a huge win
08:49 El_Che I am at the place where I now can create the pkg if I want, but I want it to be integrated with the build process of the other packages (so I don't have to do it manually)
08:54 vytas joined #perl6
08:59 ufobat joined #perl6
09:00 Cabanossi joined #perl6
09:04 geekosaur joined #perl6
09:08 geekosaur joined #perl6
09:12 stmuk_ I thought alpine had stack smashing protection which broke moar? is that fixed in moar?
09:18 El_Che stmuk_: it's compiled and tests pass (haven't used it beyond that)
09:22 xtreak joined #perl6
09:23 xtreak joined #perl6
09:24 timeless joined #perl6
09:24 stmuk_ cool
09:31 El_Che stmuk_: lots of trial and error though
09:32 stmuk_ I feel your pain :)
09:41 mxco86 joined #perl6
09:42 AlexDaniel joined #perl6
09:54 Spot__ joined #perl6
10:00 stmuk joined #perl6
10:07 itsame joined #perl6
10:11 Actualeyes joined #perl6
10:12 xtreak joined #perl6
10:15 xtreak joined #perl6
10:17 geekosaur joined #perl6
10:21 pmurias joined #perl6
10:22 wamba joined #perl6
10:27 zakharyas joined #perl6
10:36 bubble1994 joined #perl6
10:37 astj joined #perl6
10:38 eater m: for (0..10) -> $i { start { print "ay" ~ " "; last; print "oy"; } if $i eq 0; print $i ~ " "; }; sleep .2;
10:38 camelia rakudo-moar 3f7d13: OUTPUT: «0 ay 1 2 3 4 5 6 7 8 9 10 »
10:38 eater hehe
10:39 eater you can create an fake return/break statement in a start block, by wrapping it in a for
10:40 astj joined #perl6
10:41 gregf_ joined #perl6
10:44 timotimo for a real return you'd have to start a sub
10:45 timotimo m: say await do for ^10 -> $i { start sub test { return "hey" if $i == 4; $i } }
10:45 camelia rakudo-moar 3f7d13: OUTPUT: «(sub test () { #`(Sub|59247176) ... } sub test () { #`(Sub|59247328) ... } sub test () { #`(Sub|59247480) ... } sub test () { #`(Sub|59247632) ... } sub test () { #`(Sub|59247784) ... } sub test () { #`(Sub|59247936) ... } sub test () { #`(Sub|59248088) …»
10:45 timotimo but not like that
10:45 timotimo m: say await do for ^10 -> $i { start sub test { return "hey" if $i == 4; $i }() }
10:45 camelia rakudo-moar 3f7d13: OUTPUT: «(0 1 2 3 hey 5 6 7 8 9)␤»
10:47 eater timotimo: I know now but I found this when I didn't know :')
10:47 AlexDaniel m: say await do for ^10 -> $i { start anon sub { return "hey" if $i == 4; $i }() }
10:47 camelia rakudo-moar 3f7d13: OUTPUT: «(0 1 2 3 hey 5 6 7 8 9)␤»
10:47 AlexDaniel m: say await do for ^10 -> $i { start sub { return "hey" if $i == 4; $i }() }
10:47 camelia rakudo-moar 3f7d13: OUTPUT: «(0 1 2 3 hey 5 6 7 8 9)␤»
10:47 timotimo honestly, i'm surprised the "last" in there doesn't make things explode
10:48 AlexDaniel yes
10:49 timotimo oh
10:49 timotimo i know
10:49 timotimo m: say await do for (0..10) -> $i { start { print "ay" ~ " "; last; print "oy"; } if $i eq 0; print $i ~ " "; };
10:49 camelia rakudo-moar 3f7d13: OUTPUT: «0 ay 1 2 3 4 5 6 7 8 9 10 Must specify a Promise, Channel, or Supply to await on (got a Bool)␤  in block <unit> at <tmp> line 1␤␤»
10:49 timotimo m: .perl.say for do for (0..10) -> $i { start { print "ay" ~ " "; last; print "oy"; } if $i eq 0; print $i ~ " "; };
10:49 camelia rakudo-moar 3f7d13: OUTPUT: «0 ay 1 2 3 4 5 6 7 8 9 10 Bool::True␤Bool::True␤Bool::True␤Bool::True␤Bool::True␤Bool::True␤Bool::True␤Bool::True␤Bool::True␤Bool::True␤Bool::True␤»
10:49 colomon joined #perl6
10:49 AlexDaniel c: releases for (0..10) -> $i { start { print "ay" ~ " "; last; print "oy"; } if $i eq 0; print $i ~ " "; }; sleep .2;
10:49 timotimo huh.
10:50 committable6 AlexDaniel, ¦2015.12,2016.03,2016.06,2016.11,2017.01,2017.02,2017.04.3: «0 ay 1 2 3 4 5 6 7 8 9 10 » ¦2016.01.1,2016.02,2016.04,2016.05,2016.07.1,2016.08.1,2016.09,2016.10,2017.03: «ay 0 1 2 3 4 5 6 7 8 9 10 » ¦2016.12,HEAD(3f7d133): «0 1 ay 2 3 4 5 6 7 8 9 10 »
10:50 AlexDaniel uh, it's just random I guess
10:50 timotimo i was expecting the "last" would instead of doing anything throw an exception a la "can't last without a loop"
10:51 eater AlexDaniel: the ay position?
10:51 AlexDaniel eater: yea
10:51 eater because that's just CPU timing
10:51 AlexDaniel sure
10:51 timotimo oh wait, there's an "if $i eq 0" after the start { }
10:51 timotimo that threw me for a loop
10:51 eater haha
10:51 timotimo so it only really starts one single task there for printing the numbers
10:52 timotimo that's also why it returns True for all the iterations
10:52 eater ye
10:52 timotimo m: for (0..10) -> $i { say await start { print "ay" ~ " "; last; print "oy"; } if $i eq 0; print $i ~ " "; }; sleep .2;
10:52 camelia rakudo-moar 3f7d13: OUTPUT: «ay ===SORRY!===␤last without loop construct␤»
10:52 timotimo there's that exception i meant
10:52 eater hahaha
10:52 timotimo so the "last" could just be a "die 'oh no'" instead
10:52 timotimo for the basically exact same effect
10:53 eater m: for (0..10) -> $i { start { print "ay" ~ " "; last; print "oy"; }.then({ say $_; }) if $i eq 0; print $i ~ " "; }; sleep .2;
10:53 camelia rakudo-moar 3f7d13: OUTPUT: «ay 0 1 2 3 4 5 6 7 8 9 10 Promise.new(scheduler => ThreadPoolScheduler.new(initial_threads => 0, max_threads => 16, uncaught_handler => Callable), status => PromiseStatus::Broken)␤»
10:53 eater threads silently fail
10:53 eater so there is your answer
10:53 timotimo if you don't await them, the scheduler is supposed to tell you about an unhandled exception
10:54 timotimo oh, maybe the uncaught handler is "Callable" as in "an undefined Callable"
10:54 timotimo m: say $*SCHEDULER.uncaught_handler()
10:54 camelia rakudo-moar 3f7d13: OUTPUT: «(Callable)␤»
10:54 timotimo m: say $*SCHEDULER.uncaught_handler()()
10:54 camelia rakudo-moar 3f7d13: OUTPUT: «Cannot invoke this object (REPR: Uninstantiable; Callable)␤  in block <unit> at <tmp> line 1␤␤»
10:54 timotimo yeah
10:54 eater hmm
10:54 timotimo i thought it had one by default that prints exceptions out
10:54 eater that should be fixed
10:54 AlexDaniel what was the NYI return equivalent for non-subs?
10:55 timotimo "leave"
10:56 AlexDaniel yea!
10:56 timotimo "no, i was telling you to leave!" :P
10:56 eater >leave not yet implemented. Sorry.
10:57 eater timotimo: :D
10:57 AlexDaniel RT #124960
10:57 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=124960
10:58 AlexDaniel a bunch of tests here https://github.com/perl6/roast/blob/d1baf2e7a3e56cd6619c46040d04ed6daebc1d02/S04-statements/leave.t
10:58 AlexDaniel there were so many times I needed this… :'(
11:00 Cabanossi joined #perl6
11:01 eater leave even has an return value
11:01 moritz implement it!
11:01 eater DAMN
11:07 daxim raiph, <http://redd.it/69kdit#dha2bq5>
11:11 eater moritz :s give me time to figure out how the internals even work
11:12 AlexDaniel .oO( sigspace? )
11:12 timotimo https://mamot.fr/users/cdc/updates/165666
11:19 moritz eater: ok
11:21 eater timotimo: that // next;
11:21 eater so dirty :')
11:21 timotimo i don't think it's dirty :)
11:21 timotimo however
11:21 timotimo that skips over the sleep, so it'll retry very fast very often
11:23 eater yeah
11:24 eater I just wanted to toot that
11:24 timotimo if you wanna toot it, toot it, otherwise i will toot the toot
11:25 moritz eater: ... time's up :-)
11:25 timotimo moritz so pushy today )
11:25 timotimo ;)
11:25 eater moritz: :s
11:28 ChoHag joined #perl6
11:32 AlexDaniel .oO( does not look like moritz git push-ed a lot today, so maybe not so much :P )
11:34 astj joined #perl6
11:34 astj joined #perl6
11:35 jnthn timotimo: fwiw, if you don't await a Promise then the exceptions vanish; so far as the scheduler is concerned the exception has handled because it was caught and shoved into the Promise.
11:35 jnthn *was handled
11:35 timotimo jnthn: of course, but before i put an await there it still exceptioned
11:36 timotimo we create $*SCHEDULER with just ThreadPoolScheduler.new
11:36 timotimo we don't pass an uncaught_handler, and there's no default value for uncaught_handler either
11:36 timotimo i seem to recall we used to have an uncaught handler, so i wonder why it's gone now
11:37 jnthn I thought we would stack trace and exit
11:37 timotimo oh, *exit*, even?
11:37 timotimo well, we can certainly implement that
11:37 jnthn If there's no uncaught_handler
11:37 timotimo oh!
11:37 timotimo let me look
11:37 jnthn m: $*SCHEDULER.cue: { die "oops" }; sleep 2
11:37 camelia rakudo-moar 3f7d13: OUTPUT: «Unhandled exception in code scheduled on thread 3␤oops␤  in block  at <tmp> line 1␤␤»
11:37 jnthn Like that
11:37 jnthn Seems it's already working
11:38 timotimo huh
11:38 jnthn m: $*SCHEDULER.cue: { die "oops" }; sleep 2; say 'never here'
11:38 camelia rakudo-moar 3f7d13: OUTPUT: «Unhandled exception in code scheduled on thread 3␤oops␤  in block  at <tmp> line 1␤␤»
11:38 timotimo m: start { die "oh no" }; sleep 2
11:38 camelia rakudo-moar 3f7d13: ( no output )
11:38 ChoHag joined #perl6
11:38 timotimo ah
11:38 timotimo i re-read your message and now it makes sense
11:39 timotimo maybe what i was remembering was related to sinking promises?
11:39 jnthn Maybe, but we never decided on that :)
11:39 timotimo okay, no decision
11:39 timotimo yeah i can imagine that
11:39 Geth ¦ doc: f897a9c7ab | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Language/rb-nutshell.pod6
11:39 Geth ¦ doc: Fix incorrect output in example
11:39 Geth ¦ doc:
11:39 Geth ¦ doc: Fixes #1299
11:39 Geth ¦ doc: review: https://github.com/perl6/doc/commit/f897a9c7ab
11:39 jnthn If we do anything, then it may just be for a syntactic `start` in void context that gets the special handling, though.
11:39 itaipu joined #perl6
11:40 timotimo ah, we already special-compile start
11:40 timotimo so we can totally figure out if it's being sunk
11:40 jnthn Meanwhile, I just fixed IO::Socket::Async::SSL to handle verification when sites use wildcards in the certificates. :)
11:41 llfourn jnthn++
11:41 timotimo sweet
11:42 anton_p joined #perl6
11:53 raschipi joined #perl6
11:59 xtreak joined #perl6
12:09 pierre_ joined #perl6
12:09 nadim_ joined #perl6
12:09 stmuk_ joined #perl6
12:10 nadim_ hi, (^10). pick is pick one from the list 0..9 but what is (^10.pick)?
12:11 llfourn m: say ^10.pick, ^10.pick
12:11 camelia rakudo-moar 3f7d13: OUTPUT: «Potential difficulties:␤    Precedence of ^ is looser than method call; please parenthesize␤    at <tmp>:1␤    ------> 3say ^107⏏5.pick, ^10.pick␤    Precedence of ^ is looser than method call; please parenthesize␤    at <tmp>:1␤    ---…»
12:12 llfourn nadim_: an error?
12:13 nadim_ no, it did generate something for me, a 11MB html file instead for a 75 KB file
12:13 itsame joined #perl6
12:13 raschipi m: (^10). pick
12:13 camelia rakudo-moar 3f7d13: ( no output )
12:13 raschipi m: say (^10). pick
12:13 camelia rakudo-moar 3f7d13: OUTPUT: «7␤»
12:13 timotimo m: say 10.pick; say 10.pick; say 10.pick
12:13 llfourn m: say ^(10.pick), ^(10.pick)
12:13 camelia rakudo-moar 3f7d13: OUTPUT: «10␤10␤10␤»
12:13 camelia rakudo-moar 3f7d13: OUTPUT: «^10^10␤»
12:14 timotimo 10.pick is handled like [10].pick
12:14 timotimo so ^10.pick is the same as ^10
12:15 nadim_ I still don't get it. does it .pick for all the elements generated by ^10?
12:15 timotimo no
12:15 geekosaur joined #perl6
12:15 raschipi It' a question of precedence.
12:15 timotimo it picks all the elements generated by 10
12:15 timotimo which is just a single element, namely 10
12:16 timotimo when you pick a random element out of one elements, you'll always get that single element
12:16 raschipi It's about what happens first.
12:16 timotimo that's why ^10.pick is the same as ^10
12:16 nadim_ I had (^10_000.pick), and I go more numbers than I wanted
12:17 timotimo yeah, that'll give you 10_000 numbers, from 0 to 9_999
12:17 timotimo you need to either put a space in front of .pack so it'll make the precedence a little less tight, or put parethesis around (^10_000)
12:18 nadim_ that's done, long tome ago, just wanted to make sure what the second did
12:18 timotimo did you get that error message?
12:18 nadim_ I got no error message
12:19 nadim_ are you sure it is 10_000 number?
12:19 nadim_ m: say (^10.pick)
12:19 camelia rakudo-moar 3f7d13: OUTPUT: «Potential difficulties:␤    Precedence of ^ is looser than method call; please parenthesize␤    at <tmp>:1␤    ------> 3say (^107⏏5.pick)␤^10␤»
12:19 nadim_ I'll re-run the code, maybe I missed the error
12:20 nadim_ no error message, my rakudo is a week old or so
12:21 timotimo really strange
12:21 timotimo perhaps precompilation-related?
12:21 timotimo i.e. you only got the error during installation and it just re-uses the generated code without giving you the error over and over
12:22 nadim_ it's my code, and it gets re-run
12:23 timotimo perhaps i can look into it; you got a link to that?
12:23 nadim_ I'll push it to github a bit later and will tell you where it is
12:24 nadim_ that will test Data::Dump::Tree::DHTML on another box too.
12:24 nadim_ BTW, anyone having a big data structure to dump?
12:25 pmurias joined #perl6
12:25 timotimo heh. heh. heh. heh.
12:25 timotimo i have a terrible idea :P
12:25 timotimo you know you can --profile --profile-filename=foobar.json?
12:26 MasterDuke_ heh, i was thinking the same thing...
12:26 timotimo MasterDuke_: profiler work ruined us
12:27 llfourn what's the state of the profiler?
12:27 nadim_ that sounds like a good idea actually
12:27 nadim_ it will be huge that's for sure
12:27 timotimo llfourn: i wanted to make a TUI interface for the profiler. it didn't get very far yet, just a little bit
12:27 llfourn TUI?
12:27 timotimo Terminal User Interface
12:28 nadim_ curses
12:28 timotimo not curses in my case
12:28 llfourn ah ok. But it can output to json?
12:28 astj joined #perl6
12:28 nadim_ tput?!
12:28 llfourn (or is that what it always did and the angular thing just read from it...)
12:28 timotimo nope, straight up just ansi escapes and newlines
12:28 MasterDuke_ llfourn: the default output is json data wrapped in html, but you can get it to exclude the html
12:28 timotimo it can output to json, but that's not cool
12:29 MasterDuke_ or as sql statements
12:29 timotimo we now have an output mode that spits out sql in sqlite compatible format
12:29 timotimo thanks to MasterDuke_ over here
12:29 llfourn nice.
12:29 timotimo i had uploaded a few screenshots to imgur, but imgur is currently "over capacity"
12:29 * llfourn goes to try it
12:31 timotimo llfourn: https://github.com/perl6/nqp/pull/354#issuecomment-296382898 - check this out, too
12:31 astj joined #perl6
12:31 timotimo though i think we renamed a few of the fields in between that pr and now?
12:32 MasterDuke_ yep
12:32 astj joined #perl6
12:33 llfourn --profile --profile-filename=tmp.json #  malloc: *** error for object 0x7f8d6cb0c200: incorrect checksum for freed object - object was probably modified after being freed.
12:33 MasterDuke_ i was going to update the docs page with some of those examples, but i don't think 2017.04 included that PR (or the subsequent one that renamed some fields)
12:34 MasterDuke_ llfourn: were you trying to profile something multi-threaded?
12:35 llfourn MasterDuke_: there are no start blocks
12:35 timotimo is there async i/o?
12:35 llfourn There is asyncio in the base but I don't think it hit any of it
12:36 timotimo hm, okay
12:36 timotimo interesting
12:36 llfourn there is also a signal().tap but I don't think I hit that eithert
12:36 timotimo that'd also call the i/o thread to be spawned
12:36 timotimo cause*
12:37 MasterDuke_ timotimo: speaking of such things, any further ideas on how to gather profile data from multiple threads?
12:37 timotimo we'll need a mechanism to stop other threads from running
12:37 timotimo the gc has something very similar already
12:38 timotimo but the orchestrate code is a wee bit scary
12:38 llfourn RTs for profiling go to rakudobug@perl.org?
12:38 timotimo hmm, not sure
12:39 timotimo i'd put it in moarvm/moarvm if it's a memory-corruption issue like the one you had
12:39 timotimo can you run it with perl6-valgrind-m and try to reproduce the issue?
12:39 * llfourn goes to do that
12:39 timotimo cool
12:40 * llfourn has to install valgrind
12:41 MasterDuke_ llfourn: you'll also get more useful results if your moarvm is compiled with --debug=3
12:41 timotimo oh, right, that too
12:42 timotimo otherwise probably no funciton names or anything
12:42 llfourn yeah I will give this a go tomorrow and re-setup my debug rakudo build :)
12:42 timotimo okay, thanks for your cooperation!
12:43 llfourn thanks for your assistance!
12:43 timotimo it's what give my life meaning! ;)
12:44 llfourn ^_^
12:44 Woodi hi today :)
12:45 Cabanossi joined #perl6
12:48 Woodi I have rakudo compiled to /opt/lib/some/where and -e sayHalloWorld tries to open every .moar in ./ and blib/ and *then* it finds it in installation location... for users installation 2/3 stat64 calls can be removed...
12:48 timotimo how many of those are there?
12:50 Woodi and there are *lots* of ModuleLoader.moravm lstat64 calls... all failed. my build is broken ?
12:50 Woodi timotimo: 3 per .moarvm file
12:51 Woodi maybe just @*LIB or something can be fixed ?
12:52 nadim_ How do I not pick the same number twice form a list? do I need to remove the picked number manually or is there a niffty way to do it?
12:52 moritz nadim_: .roll
12:52 moritz m: say ('a'..'z').roll(5)
12:52 camelia rakudo-moar 3f7d13: OUTPUT: «(m a z o x)␤»
12:53 timotimo nadim_: you need to .pick(amount)
12:53 timotimo that'll give you elements without putting them back in the pool it picks from
12:53 timotimo but once the .pick is over the original data structure won't have changed
12:53 nadim_ thanks
12:53 timotimo so .pick, .pick, .pick can give you the same element three times
12:53 nadim_ ah!
12:54 mcmillhj joined #perl6
12:55 MasterDuke_ m: say (^10).BagHash.grab(3)
12:55 camelia rakudo-moar 3f7d13: OUTPUT: «[1 4 5]␤»
12:55 nadim_ so I need to manually handle it if I have, say, $l = ^10 ; $l.pick; $l.pick ?
12:56 AlexDaniel BagHash ↑
12:56 MasterDuke_ m: my $a = (^10).BagHash; say $a.grab(3); dd $a
12:56 camelia rakudo-moar 3f7d13: OUTPUT: «[8 5 1]␤BagHash $a = (9=>1,0=>1,4=>1,3=>1,7=>1,6=>1,2=>1).BagHash␤»
12:56 AlexDaniel m: my $x = (^5).BagHash; say $x.grab(NaN); say $x
12:56 camelia rakudo-moar 3f7d13: OUTPUT: «[3 4 0 1 2]␤BagHash.new()␤»
12:57 AlexDaniel \:-o
12:57 timotimo oh lord :)
12:57 geekosaur joined #perl6
12:59 rindolf joined #perl6
13:00 AlexDaniel not sure why this happens
13:01 AlexDaniel m: my $x = (^5).BagHash; say $x.pick(NaN); say $x
13:01 camelia rakudo-moar 3f7d13: OUTPUT: «(4 3 2 1 0)␤BagHash.new(1, 0, 4, 3, 2)␤»
13:01 timotimo it's removing until $num-removed == $num-to-take?
13:01 AlexDaniel yea but…
13:01 AlexDaniel m: my $x = (^5).BagHash; say $x.pick(-Inf); say $x
13:01 camelia rakudo-moar 3f7d13: OUTPUT: «This type cannot unbox to a native integer: P6opaque, Num␤  in block <unit> at <tmp> line 1␤␤»
13:02 AlexDaniel then this would have worked also?
13:02 timotimo oh, huh
13:05 AlexDaniel alright, RT #131270
13:05 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=131270
13:06 AlexDaniel fucking NaNs :)
13:07 breinbaas joined #perl6
13:07 breinbaas left #perl6
13:07 breinbaas joined #perl6
13:09 MasterDuke_ should probably mention it to lizmat since she's been doing all that work on bag/set recently
13:09 itaipu joined #perl6
13:11 AlexDaniel well, this is an old “feature”
13:11 curan joined #perl6
13:11 AlexDaniel but sure
13:12 AlexDaniel .tell lizmat MasterDuke said that you may be interested in RT #131270
13:12 yoleaux AlexDaniel: I'll pass your message to lizmat.
13:12 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=131270
13:15 Cabanossi joined #perl6
13:18 skids joined #perl6
13:28 robertle joined #perl6
13:30 robertle m: say [{ a => '1'}].perl
13:30 camelia rakudo-moar 3f7d13: OUTPUT: «[:a("1")]␤»
13:30 robertle m: say [{ a => '1'},].perl
13:30 camelia rakudo-moar 3f7d13: OUTPUT: «[{:a("1")},]␤»
13:30 robertle is that implicit flattening of the inner expected? desired? I find it kinda surprising...
13:32 itsame joined #perl6
13:33 raschipi m: say [{ a => '1'}].WHAT
13:33 camelia rakudo-moar 10e9d0: OUTPUT: «(Array)␤»
13:34 lowbro joined #perl6
13:35 timotimo yes, it's the "single argument rule"
13:35 timotimo it's what makes it possible to have [<foo bar baz>]
13:35 nadim_ what's the name of STDOUT in the P6 world? *STDOUT ? to put it in a documentation
13:36 timotimo $*OUT
13:37 timotimo https://docs.perl6.org/language/variables#index-entry-%24%2AOUT
13:37 nadim_ \o/
13:37 robertle timotimo: right, got it now and found S07 that explains it nicely. powerful, but running with knives...
13:37 timotimo the "stdout" in there should be searchable
13:49 haxmeister is anyone aware of a module that will help me parse javascript generated pages?
13:50 nadim_ HTML::Parser maybe
13:54 eater timotimo: what is the use of [<1 2 3>]?
13:58 AlexDaniel haxmeister: what does that mean?
13:58 timotimo eater: makes an array with the stuff in the list
13:58 eater timotimo: what does <> make then?
13:58 AlexDaniel eater: a List
13:58 eater ah, list vs array?
13:58 AlexDaniel yep
13:59 AlexDaniel m: say <1 2 3>.Array
13:59 camelia rakudo-moar 10e9d0: OUTPUT: «[1 2 3]␤»
13:59 AlexDaniel this works too
14:00 eater thanks
14:00 AlexDaniel m: say Array(<1 2 3>)
14:00 camelia rakudo-moar 10e9d0: OUTPUT: «[1 2 3]␤»
14:04 huggable joined #perl6
14:04 AlexDaniel huggable: hug all
14:04 * huggable hugs all
14:05 * huggable hugs me
14:05 AlexDaniel right…
14:06 ilmari huggable: hug the abyss
14:06 * huggable hugs the abyss
14:06 kurahaupo joined #perl6
14:08 gregf_ m: [<1 2 3>,[1,2,3]].map: {$^a.^name.say}
14:08 camelia rakudo-moar 10e9d0: OUTPUT: «List␤Array␤»
14:10 wamba joined #perl6
14:27 araraloren joined #perl6
14:31 cdg joined #perl6
14:45 Cabanossi joined #perl6
14:49 jnap_ joined #perl6
14:49 abraxxa joined #perl6
14:59 sufrostico joined #perl6
15:08 nicq20 joined #perl6
15:08 nicq20 Hi \o
15:12 AlexDaniel hello
15:13 araraloren o\
15:14 geraud joined #perl6
15:15 Cabanossi joined #perl6
15:16 khw joined #perl6
15:16 cyphase joined #perl6
15:17 espadrine joined #perl6
15:19 parisba joined #perl6
15:20 haxmeister AlexDaniel: I want to get into data scraping from the web.. but these days the pages are often generated with javascript and the source of the page will be a lot of hard to follow javascript mumbo jumbo. some provide an API with json but most do not provide such to the public
15:20 haxmeister AlexDaniel: I need to have a useragent that will process the javascript ideally
15:21 AlexDaniel haxmeister: well, if you are able to get some HTML out of it, then Gumbo is the answer. If not, then Selenium::WebDriver
15:22 haxmeister selenium::webdriver?... that perl6 ready of course?
15:22 AlexDaniel (so https://github.com/Skarsnik/perl6-gumbo and https://github.com/azawawi/perl6-selenium-webdriver)
15:22 haxmeister ty AlexDaniel
15:23 AlexDaniel I tried Selenium::WebDriver a day or two ago and wasn't able to get it to work
15:23 AlexDaniel but you'll probably have better luck :)
15:28 abraxxa joined #perl6
15:29 st_elmo joined #perl6
15:29 kyan joined #perl6
15:30 haxmeister AlexDaniel: maybe I will.. only thing that sucks for me is gentoo's package manager isn't worked out for perl6 very good these days.. it's been recommended that I manually download and install modules
15:30 AlexDaniel haxmeister: hm, why not install zef and let it manage the thing?
15:31 haxmeister AlexDaniel: well using separate package managers can cause issues in a source distribution
15:31 raschipi_ joined #perl6
15:33 haxmeister AlexDaniel: provisions were made for perl5 to make portage handle the module installs.. but there is some issue that is adding complexity with perl6 modules.. can't quite remember what it was
15:44 geraud joined #perl6
15:46 tadzik joined #perl6
15:46 haxmeister AlexDaniel: ok I asked again.. there is the issue with the module names being converted to hashes.. and some modules needing modules to install a module in a circular type fashion
15:47 AlexDaniel \:-o
15:47 AlexDaniel really don't see how all that is a problem, but whatever
15:47 haxmeister not a problem with perl6 so much
15:48 haxmeister but they like to have portage handle module installs.. so they generally like to make a script that will create an ebuild automatically.. currently they have to code each one
15:48 wamba joined #perl6
15:52 haxmeister they are short handed you know :/
15:52 isacloud joined #perl6
16:05 mrsolo joined #perl6
16:06 itsame joined #perl6
16:12 CIAvash[m] joined #perl6
16:12 unclechu joined #perl6
16:12 dp[m] joined #perl6
16:12 wictory[m] joined #perl6
16:12 M-Illandan joined #perl6
16:12 Matthew[m] joined #perl6
16:12 ilmari[m] joined #perl6
16:12 mienaikage joined #perl6
16:13 xui_nya[m] joined #perl6
16:14 * [Coke] hurls https://github.com/erikwiffin/0.30000000000000004/issues/101#issuecomment-298281973 if someone wants to make a PR demonstrating how we don't just print the right rounded out number, but actually do the math right.
16:14 domidumont joined #perl6
16:15 Cabanossi joined #perl6
16:18 abraxxa joined #perl6
16:20 ChoHag_ joined #perl6
16:21 [Coke] win 8
16:21 buggable [Coke], Thank you for entering Accidental /win Lottery! The next draw will happen in 4 weeks, 7 hours, 38 minutes, and 29 seconds
16:31 ChoHag joined #perl6
16:32 Ven joined #perl6
16:32 Sound joined #perl6
16:34 araraloren I make a module can generate terminal table. Anyone interested can go to have a look https://github.com/araraloren/perl6-terminal-table
16:39 Sound_ joined #perl6
16:39 timotimo i'd like to know what sets it apart from the other ~4 terminal table modules
16:42 kyan_ joined #perl6
16:51 mcmillhj joined #perl6
16:52 nowan joined #perl6
17:01 TreyHarris So it seems ilke the canonical Emacs perl6-mode has been abandoned (9 months of author inattentiveness), but the fork under the perl6/ GitHub project can't be made official for Emacs packaging because it's a fork. I've made a tasklist on GitHub to track this, and right now we're still in step #2--wait a week to see if the original author returns after informing him of our intentions to take over
17:01 TreyHarris maintenance--but assuming he doesn't respond or blesses the transfership, we'll need an Owner of the GitHub project to handle working with GitHub support to break the fork and move over the open issues. (This is something they do, but only in a support-ticket context, there's no interface or API for it.) I'm not an Owner so would one being willing to help me with this next week?
17:02 TreyHarris I'm running the mechanics and logistics of the task otherwise (see https://github.com/perl6/perl6-mode/issues/11 if you're interested)
17:08 PotatoGim joined #perl6
17:09 TreyHarris jnthn, moritz, [Coke], timotimo, perlpilot: you're the GitHub Owners I'm aware of on this channel, so if one of you could volunteer to help me next week on ^^^, I'd appreciate it
17:09 timotimo yeah, i own github. it makes me very rich
17:10 * TreyHarris grins
17:10 TreyHarris GitHub perl6 project Owners, I meant ;-)
17:10 timotimo do i actually own that?
17:10 TreyHarris timotimo: are you not "timo" on GitHub?
17:10 TreyHarris https://github.com/orgs/perl6/people?utf8=%E2%9C%93&amp;query=%20role%3Aowner
17:10 timotimo i am
17:11 TreyHarris You're listed there ^^
17:12 timotimo so next week, is that the week that started today?
17:12 TreyHarris no, the deadline we gave was Sunday 14 May
17:12 TreyHarris so sometime after that
17:13 tbrowder joined #perl6
17:14 timotimo oh, now that i actually read what you were saying above, i understand what's going on
17:14 timotimo sorry, kind of distracted
17:16 TreyHarris timotimo: no worries. doesn't have to be you, just putting out a call. I'd do it but the request must come from an Owner
17:16 TreyHarris I've done this before for another project, though, so I can lead whoever steps up through it.
17:16 nicq20 left #perl6
17:19 TreyHarris Hm, I think you can mention a whole project role in an issue, so maybe I'll request help that way
17:20 itsame joined #perl6
17:22 [Coke] I will very likely not have time
17:22 [Coke] sorry, TreyHarris
17:23 TreyHarris [Coke]: np
17:28 TreyHarris yeah, you can mention the org-admin team which is equivalent. Sorry timotimo and [Coke] for the re-notification.
17:41 Ven joined #perl6
17:46 lighttrr joined #perl6
18:00 Cabanossi joined #perl6
18:01 lizmat joined #perl6
18:09 itaipu joined #perl6
18:11 setty1 joined #perl6
18:16 lighttrr joined #perl6
18:18 itsame joined #perl6
18:20 xinming joined #perl6
18:22 robertle joined #perl6
18:29 nicq20 joined #perl6
18:37 sufrostico joined #perl6
18:37 st_elmo joined #perl6
18:37 abraxxa joined #perl6
18:41 Ven joined #perl6
18:42 labster joined #perl6
18:43 xinming joined #perl6
18:44 haxmeister poopers... I don't have zef
18:46 [Coke] do you have panda?
18:47 kyan joined #perl6
18:47 haxmeister apparently not
18:48 st_elmo joined #perl6
18:50 hobbs do you have the prisoner of zenda?
18:50 avalenn joined #perl6
18:51 lighttrr joined #perl6
18:52 Geth ¦ ecosystem: 5e7a967db7 | (Sterling Hanenkamp)++ | META.list
18:52 Geth ¦ ecosystem: Rename META.info to META6.json for Template-Anti
18:52 Geth ¦ ecosystem: review: https://github.com/perl6/ecosystem/commit/5e7a967db7
18:53 ChoHag joined #perl6
18:53 [Coke] https://github.com/ugexe/zef shows you how to install zef without a package manager.
18:53 [Coke] need git and an install of perl6. (you could probably also use github to grab a .tgz if needed)
18:54 haxmeister ty
18:54 El_Che Freddie Mercury was a huge zef fan
18:54 El_Che "Zef me Zef me Zef me / I can't face this life alone / Zef me Zef me Oh... / I'm naked and I'm far from home"
18:54 st_elmo joined #perl6
18:56 haxmeister it's installing
18:56 haxmeister git comes standard on funtoo :-D
18:57 El_Che funtoo? Is that gentoo users that *really* love to compile stuff? :)
18:59 haxmeister yes.. my OS and all updates are compiled from source every time
18:59 haxmeister I've been using it for years now.. I'm hooked..lol
19:00 El_Che haxmeister: does it means new versions of soft often?
19:00 El_Che -s
19:01 haxmeister there are some large packages like chrome and firefox that have binaries available if you don't want to sit through the compile time.. but I don't use them
19:02 haxmeister El_Che: everytime you update your system, it compiles any updates from scratch
19:02 raschipi_ For Perl6 and GCC, you still need binaries too.
19:03 haxmeister I make my own binaries
19:03 haxmeister from source
19:03 haxmeister and that includes updates to GCC
19:03 raschipi_ So it can't run in any kind of less-powerful platform too. Debian is working hard on automating cross-compilation so that they can drop the requirement to compile everything in the target platform.
19:04 raschipi_ How do you bootstrap it?
19:04 gfldex raschipi_: it was bootstrapped years ago
19:04 raschipi_ You need GCC to create a GCC binary.
19:05 raschipi_ Well, like I said, you need binary distribution of the C compiler.
19:05 raschipi_ And it's depedencies.
19:05 haxmeister you build funtoo by first installing a stage3 tarball that contains a binary GCC.. typically you will keep that binary until there's an update for it, which will be compiled on your machine
19:05 El_Che haxmeister: nice
19:05 kentnl for gcc, you get an initial binary GCC when you do your initial gentoo install. "OS bootstrap", after that you're compiling new gccs with old gccs.
19:05 Geth ¦ ecosystem: 2dd68402b6 | (Sterling Hanenkamp)++ | META.list
19:05 Geth ¦ ecosystem: Renaming the METAs for 5 more ov my modules
19:05 Geth ¦ ecosystem:
19:05 Geth ¦ ecosystem: Including: ArrayHash, HTTP::Headers, Path::Router, P6W, and DateTime::DST
19:05 Geth ¦ ecosystem: review: https://github.com/perl6/ecosystem/commit/2dd68402b6
19:05 haxmeister but if you want native compilation you can just tell it to recompile it
19:06 haxmeister so the binaries I'm making are native to my hardware.. or I could set it to compile everything to some generic GCC flags and make them more portable
19:07 raschipi_ Deos it run with the Gentoo patches? Gentoo is one of the most modified systems out there, they patch source the most between distros.
19:07 raschipi_ Does*
19:09 haxmeister funtoo is like a mod of gentoo... the founder and creator of Gentoo, Daniel Robbins, created Funtoo which has it's own set of forked packages and special softwares that ease installation
19:09 gfldex "ease installation" :->
19:09 haxmeister but still uses gentoo repos under the hood.. so funtoo clones gentoo repo
19:10 haxmeister it is much easier.. it even comes with a binary kernel.. the debian-kernel no doubt
19:11 haxmeister so you have a jumpstart with a binary kernel.. and then retain the ability to compile a custom one from an already working system
19:12 xinming joined #perl6
19:12 kentnl Gentoo doesn't actually have a policy of being "highly patched", we do try to follow upstream ( actually, last I looked, debian maintains far more perl patches than we do )
19:13 haxmeister gentoo does fairly well with perl5.. perl6 has been a slow implementation.. but it's still technically new
19:13 kentnl pretend funtoo is a little like ubuntu, it can cheat and steal gentoo's packages verbatim, and then layer its own on top
19:13 haxmeister yes
19:13 haxmeister ^
19:13 kentnl ( the analogy is funtoo->gentoo as ubuntu->debian )
19:13 haxmeister I would agree...
19:13 haxmeister except it doesn't intend to separate at any time..
19:14 haxmeister it's like a proving ground for ideas that tend to drift up to gentoo
19:15 kentnl Gentoo will probably have better perl6 support eventually, just needs somebody to both care, have time to work out how, work out what needs to be done, etc. And that's kinda hard when your plate is full cleaning up the catastrophe of Perl5 breaking '.' in @INC
19:16 raschipi_ Gentoo patches the build systems, knowing how to compile things in Gentoo doesn't help everywhere else.
19:17 kentnl I'm not sure how that statement makes sense.
19:18 * lizmat is working on the P6W
19:19 lizmat please let me know if you think I will miss something specific
19:19 wamba joined #perl6
19:19 raschipi_ Debian has a similar system to what Gentoo has, it's called "build profiles", but developers keep it to a minimum to avoid the problem of creating a bubble.
19:19 El_Che lizmat: did you mention the ubunu@windows pgks last week?
19:19 raschipi_ https://wiki.debian.org/BuildProfileSpec
19:19 haxmeister anyway.. I think it's been a pretty good job between a language that wants to use it's own package system, and an OS that doesn't like to use anybody elses.
19:19 lizmat El_Che: nope, I didn't: what should I seay ?
19:21 El_Che "The Ubuntu 16.04 packages were made compatible with the Windows 10 Linux Subsystem. Just run /opt/rakudo/fix_windows10 after install. https://github.com/nxadm/rakudo-pkg/releases/tag/2017.03_03
19:21 haxmeister raschipi_: somewhere in the background there are debian devs who are doing what gentoo users do daily.. we just get the luxury of native compilation at the cost of ..well.. waiting for compilation..lol
19:21 lizmat El_Che++
19:22 raschipi_ The debian build system supports local compilation, but to change the way the package is built one has to use the software own build system instead of USE flags.
19:23 haxmeister ah I see
19:23 yqt joined #perl6
19:23 haxmeister haven't used debian in 10yrs or so.. but it stands on it's own.. one of the best
19:25 El_Che lizmat: Windows Subsystem for Linux (aka Bash or Ubuntu on Windows 10)
19:26 El_Che lizmat: that's the correct name
19:26 lizmat cool
19:28 El_Che the 16.04 pkg works with Windows 10 1703 (Creator's Update, with Ubuntu 16.04) and Windows 10 1607 (Anniversary Edition, with Ubuntu 14.04). The rakudo 16.04 pkgs work on both
19:28 kentnl the gentoo workflow is a bit more like the LFS workflow. Thus, extended patching is generally detrimental because it just creates work and conflicts
19:29 haxmeister well manual installation of zef isn't working
19:29 kentnl debian also has the luxury of "compile one source tree, emit >1 binary asset packages, end user installs only 1 of these assets"
19:29 kentnl haxmeister: define "Isn't working"
19:30 haxmeister command not found
19:30 kentnl at which point? where?
19:30 kentnl which command?
19:30 raschipi_ In other distros, one would have to give configuration options to Configure.pl to change the way Rakudo is built (for example, to use a different backend). In Gentoo, a user expects it will be available with a USE flag.
19:30 haxmeister I cloned git to perl6
19:30 haxmeister folder
19:31 haxmeister and ran the perl install command.. it completed successfully
19:31 kentnl raschipi_: end users can also supply configuration parameters themselves through configuration files, and there's support for user-supplied patches as well
19:31 kentnl the USE flags are simply the set of well defined and officially supported behaviours.
19:31 kentnl You can deviate from those significantly if you're wearing your adult trousers
19:32 kentnl haxmeister: I'm guessing you needed some step to update $PATH somewhere that you might have missed
19:32 raschipi_ Of course they can, but they usually don't. In my experience, Gentoo users don't know how to compile things any better than users from other distros.
19:33 kentnl That's mostly true. But its usually a path of necessity/skill. You don't tweak the official config stuff unless you need to, and that's where you get your hands dirty
19:34 kentnl ( but customizing the build is way easier than building dpkgsrc packages IME ;) )
19:34 haxmeister nah.. we know how to compile things using the system we have in place quite well.. and that compilation is sufficient to produce software that is useable on debian or any other distro
19:34 kentnl I wouldn't term that as "knowing how to compile". That's just "knowing how to install" ;)
19:35 haxmeister well no
19:35 kentnl the OS and the maintainers know how to compile, you're just re-using their experise.
19:35 haxmeister sure
19:35 haxmeister but perl6
19:35 haxmeister :)
19:36 Geth ¦ ecosystem: nicqrocks++ created pull request #338: Add WebService::Slack::Webhook
19:36 Geth ¦ ecosystem: review: https://github.com/perl6/ecosystem/pull/338
19:36 kentnl But if you actually know how to *compile* something yourself ( as opposed to simply installing it ), that knowledge is relatively portable
19:36 kentnl because the gentoo install process is more or less a codification of that. Its just bash! ;)
19:37 haxmeister bash and python
19:37 kentnl ( reasonably straight forward to hack up an ebuilds source and turn it into a travis-ci driver )
19:37 haxmeister mostly python
19:37 gfldex that's not very perltriotic
19:37 haxmeister you can't learn C without knowing how to compile things... not on linux anyway
19:38 gfldex we need to change that :->
19:38 kentnl python doesn't do any of the compiling, its just a wrapper that serves for dependency management, environment, and final image deployment.  All the real work happens in bash, python just invokes the bash entry points.
19:39 haxmeister you know how it works quite well kentnl .. I'm impressed.. usually when I mention I'm using funtoo I get "you must be a glutton for punishment"..lol
19:39 kentnl ( you could write an implementation of portage in Perl, or even Perl6, and it would still be able to wrap bash and drive the ebuilds )
19:39 kentnl I mean, we already have 2 unofficial alternative portage implementations, one of them is written in C++!
19:40 haxmeister I'd like to see one in perl6.. I would find that interesting
19:41 haxmeister I think an awesome thing would be to implement the ebuilds in perl6 too
19:41 haxmeister or a DSL based from perl6
19:41 kentnl just the glue layer to bash is the hard sauce where the real horror shows occur. Like, "contents of INI files stored in env vars, wut?" horrors.
19:42 * kentnl has tried to handle this part in perl before and that horror show is always what stops me
19:42 haxmeister nah..
19:42 haxmeister lol
19:42 haxmeister you have to do it all or none.. you can't just do a little at a time..lol
19:42 geekosaur kentnl, you should look at how termcap used to work sometime >.>
19:43 rindolf joined #perl6
19:43 kentnl haxmeister: you need about 30 specific magical environement variables in place (Some of them are filehandle IDs) *just* to source the main ebuild.sh that drives the "load EAPI specific logic" :/
19:44 kentnl and that's not even doing any build, that's just extracting metadata.
19:44 kentnl and they wonder why its slow. *cough*
19:44 haxmeister lol
19:44 haxmeister it's not really slow.. we gentoo/funtoo users are just used to things being snappy
19:45 kentnl Oh its slow alright. You're getting the luxury of a metadata cache ;)
19:45 Cabanossi joined #perl6
19:45 kentnl you nuke that and the slowness becomes much more apparent.
19:46 raschipi_ All of that is fine and has my approval. But the average Gentoo user doesn't have nearly as big of a Unix beard as they imagine.
19:46 haxmeister well.. I don't have any problems or complaints.. I like my distro..lol
19:46 kentnl haxmeister: ( this is not a thin that affects you of course, but if you start doing a lot of maintainer stuff, these slowdowns can be a serious headache )
19:46 haxmeister I'm not interested in that
19:47 kentnl and of course, the nature of those caches being distributed means that if high-used shared elements change, you can get spikes of 150mb rsyncs :/
19:47 haxmeister I'm not interested in writing bash scripts to build other peoples software.. don't really care about any of that stuff
19:47 haxmeister we use git on funtoo
19:49 haxmeister what I'm down for is learning perl6 and all it's glory in every way it can be applied on my OS or across the web
19:49 Geth ¦ ecosystem: f6a98405bd | Nic++ (committed by Zoffix Znet) | META.list
19:49 Geth ¦ ecosystem: Add WebService::Slack::Webhook (#338)
19:49 Geth ¦ ecosystem:
19:49 Geth ¦ ecosystem: Add module to easily send messages to Slack using a webhook.
19:49 Geth ¦ ecosystem: review: https://github.com/perl6/ecosystem/commit/f6a98405bd
19:49 kentnl I'd have to look into how they do metadata caches. The only way git for master is performant on gentoo is sync fetches a metadata cache independently via rsync, and then runs a quick "fixup" pass to clear up anything that changed in the interim
19:49 kentnl ( well, maybe its a git-metadata cache, but the delta is still the same, large )
19:50 kentnl like, changes to eutils.eclass tends to need >4000 files get updated in the cache.
19:51 haxmeister syncing has never been something that I thought was time consuming.. it basically just syncs the funtoo tree from GIT
19:52 haxmeister the funtoo tree is produced by some scripts on a server that sync from the gentoo tree and apply all the forks/special sauce.. so it takes only as much time as it takes to git sync
19:53 kentnl right, but you still have to generate the metadata *somehow*, so either you're generating it locally during sync, or you're going to need emerge to prime it on demand ( which is slow as well )
19:53 kentnl http://www.funtoo.org/Project_Unfork # agrees with me
19:55 haxmeister you know I'm not a funtoo administrator.. I've made some small contributions to the website and I donate and have a funtoo container.. but all of this stuff is not really interesting to me
19:55 kentnl even before we transitioned to git, the perl-experimental overlay had frequent complaints about it being slow ( which was a side effect of git overlays lacking caches )
19:55 haxmeister my system performs adequately
19:56 kentnl kk :). I hope it continues to do so.
19:56 haxmeister lol
19:56 kentnl Though I also suspect the problem becomes more visible the more you have installed.
19:56 haxmeister but writing a package manager in perl6.. that could be fun
19:57 haxmeister I think getting worked up over a 2 minute wait for dep calculation is a trivial matter when you have already decided to subject yourself to hours of compile time
19:58 haxmeister syncing my system takes less than 15 seconds
19:58 haxmeister I'm running XFCE4
19:58 kentnl Its when you have to wait 2 minutes for a dep calculation to install 1 package that takes only 10 seconds to install you start complaining :)
19:58 haxmeister lol
19:58 haxmeister it doesn't bother me
19:59 haxmeister its a difficult problem to solve you know.. it's the traveling salesman problem
19:59 raschipi_ Debian just recently got metadata diffs available for download. It used to take a while. Then someone decided to do it with topological diffs (pdiff) and it got worse. Now it goes fast. And Debian has much more metadata than Gentoo, so it's surprising it got so much time to fix.
19:59 aindilis joined #perl6
20:01 kentnl haxmeister: its not /quite/ a travelling salesman problem, but classes of graph optimisations are all fun :)
20:02 kentnl especially graphs with permutational conditions
20:02 raschipi_ Another thing they're doing is dividing packages into more repositories so that people don't have to download all the metadata.
20:02 raschipi_ There's a different repository for packages containing debug sysmbols and another for packages that differ in the ports.
20:04 kentnl You kinda need a larger staff than we have to be able to maintain multiple architectures concurrently without them sharing a path.
20:05 kentnl though we do kinda have the ability to support eschoteric arches unofficially without any effort too
20:05 raschipi_ For Perl6 or Gentoo in general?
20:06 kentnl Gentoo in general. Like, you can run Gentoo on an m68k without having to hope somebody packaged binaries for you as long as you can convince the bootstrap/base system to work
20:07 kentnl And we don't need to have anybody dedicated to supporting i386 just for you to try see if you can get something working on it. Granted you'll need to be wearing adult pants again, but most of the hard shared logic will be ready for you to abuse.
20:08 raschipi_ I have heard Gentoo was having a more critical lack of developers than other distributions. What has to be done once in other distros (write some combination of caommands that build the package), in Gentoo the developers are expected to generalize (write a program that builds this package in every conceivable configuration).
20:09 kentnl ( And we have built-in support for cross-compiling and running in prefixes, even though those features are themselves a bit fragile, people can get them to be useful despite the lack of maintainers )
20:10 kentnl Yeah. Pretty much. We have to think more like a very caring upstream would, because we don't have the luxury of being able to control our build environment absolutely.
20:11 cdg joined #perl6
20:11 kentnl Like, there's an entire class of problems for Perl5 ( '.' in @INC removal ) where debian users will have a much easier time than we will, and debian maintainers can work around it locally without needing to propagate the relevant hacks to users, simply because on debian, "build and test" only can happen on the maintainers machine
20:11 kentnl whereas gentoo supports both building and testing on the users machine.
20:12 kentnl ( that's its most perlish aspect, the only thing its missing is a good equivalent of cpan-testers reporting system )
20:14 raschipi_ In Debian, the developer has to write a script that will build the package, it's called debian/control
20:14 raschipi_ It will be run by dak in every configuration debian supports (arch+kernel)
20:15 raschipi_ But it only has to support one configuration. (except for special cases in the toolchain)
20:16 haxmeister kentnl: I think it would be an interesting study to build a linux distro with perl6 as the primary language for the package manager.. and extended perl6 support
20:17 haxmeister kentnl: could call it Perly Linux
20:17 raschipi_ That would be a very big endeavor.
20:17 kentnl Yeah, dibs not. :)
20:17 haxmeister kentnl: pick the core system and make a tarball with the new package manager..
20:18 kentnl The most insane thing I consider doing with Perl is writing an Init replacement, and I'm not insane enough to even write a line of that code.
20:19 haxmeister no need to replace init.. I'm suggesting after that level
20:19 haxmeister perl6 is just so well suited to such a thing.. IMO more suited than python
20:19 raschipi_ Free software development is picking up steam faster than distros grow in capacity. That will lead to distro agglutination.
20:21 kentnl If you ever thought CPAN felt a bit like a graveyard some days, ... yeah. The whole of OpenSource is starting to look like that.
20:21 raschipi_ It's past the time a small group of people can go and launch a new distro. The bigger ones will eat the others.
20:21 haxmeister well I'm interested from a computer science standpoint..
20:22 haxmeister nobody is going to make a fortune or a living off a new linux distro
20:22 haxmeister but if the science of OS development is interesting to you (as it is to me).. then that could be exciting and fun
20:23 Geth Swapped META.info → META6.json in 2 dists in https://github.com/perl6/ecosystem/commit/5063dc0d67
20:24 raschipi_ Well, distro packaging is just devops on meth. It's a practical job that needs to be done. There's not much science to it, just new algorithms. OS development happens mostly outside distros.
20:24 haxmeister but my current interest is web scraping.. and especially if I can make that happen in perl6 :D
20:25 kentnl Yeah. Distro packaging is just a lot of grunt work, and then you eventually find a few ways of automating parts of that grunt work
20:26 haxmeister all methods are also subs/functions.. mind blowing perl6 magic
20:26 nicq20 left #perl6
20:27 [Coke] looks like perl6/doc's 'make xtest' is passing again, be nice if it kept passing.
20:27 [Coke] not all methods are subs.
20:28 haxmeister the builtins pretty much are
20:28 haxmeister well.. in practice it feels tha tway
20:28 haxmeister really it's more like every built in sub is really a method
20:29 haxmeister like .say and say "something"
20:29 haxmeister or recent one I used .trans or trans()
20:29 [Coke] sure, a lot of them are. (but each one is coded manually, and not every one is.)
20:30 haxmeister that's handy perl6 magic.. means less looking up stuff
20:30 itsame joined #perl6
20:31 haxmeister I can write it the way that makes most sense to me.. really all should be that way if they arent'
20:31 n0vacane joined #perl6
20:31 n0vacane left #perl6
20:31 haxmeister but if every function is also an object.. and a subclass of the top class at some point.. then yes they all are
20:32 raschipi_ The impression I have is that people complaining about GNOME or Red Hat or Systemd pushing things ot taking over things are actually feeling this problem where distros can't keep up with development.
20:32 alphah haxmeister: "I think it would be an interesting study to build a linux distro with perl6 as the primary language for the package manager.. and extended perl6 support", I'm actually doing that now, Writing package manager for a new distro with Perl6. I'm  doing that as study to learn perl6, as I'm coming from System Admin background, and shell scripting, but no real development projects, so it's gonna be challenging.
20:32 rindolf joined #perl6
20:33 haxmeister alphah: your ripping my heart out.. if my talent level was high enough I would melt all over that
20:33 haxmeister alphah: would still like to peak at it though
20:35 alphah haxmeister: nothing serious tho, I'm still at early stage, https://github.com/alphah77/galaxy/tree/master ,
20:36 haxmeister sweet
20:38 perigrin joined #perl6
20:39 haxmeister alphah: fun naming convention :D
20:40 haxmeister the grammars... ugh.. greek to me..lol
20:41 alphah it's gonna be scientific Linux,, so it can amek sense :P... in Galaxy package manager world, a distro is "galaxy",, you can unisntall (or blackhole)) some packages,,, install, (or gravity) some packages ,,
20:42 alphah yeah greek to me as well, when I look at it now :D
20:42 haxmeister lol
20:43 haxmeister I'm still struggling to find what I need to read to produce a module or package so I can separate my code for cryin' outloud..lol
20:44 haxmeister but hands down my favorite thing to do is regex.. I could do that all day
20:45 Cabanossi joined #perl6
20:52 alphah I don't know how to organize code as module or package as well :(, I just look at other projects and try to do same
20:54 haxmeister why is that such an obscure subject in perl6.. ??
20:54 moritz https://docs.perl6.org/language/modules.html
20:55 perlpilot moritz++
20:56 raschipi_ When something is added to the ecosystem, is it uploaded automatically to CPAN?
20:57 lizmat raschipi_: no, but my hope is that soon we will be able to upload Perl 6 distributions to CPAN
20:58 lizmat http://act.qa-hackathon.org/qa2017/  # nine, tadzik and lizmat will be there
21:00 ugexe http://www.cpan.org/authors/id/N/NI/NINE/Perl6/Inline-Perl5-0.26.meta - http://www.cpan.org/authors/id/N/NI/NINE/Perl6/Inline-Perl5-0.26.tar.gz
21:01 ugexe meta file just needs to point at the .tar.gz but otherwise works already even
21:01 perlpilot lizmat: It would be useful if someone documented how to do it.  Or, if there's still work to be done, documented what that work is.   (I don't know if this is already on someone's agenda or not)
21:01 haxmeister that's a tough read moritz ..:/..lol
21:02 lizmat perlpilot: the problem isn't technical, really  :-(
21:03 perlpilot lizmat: oh.  Hrm.
21:03 lizmat it's more a PR / management type issue
21:03 perlpilot Well, I hope this year's toolchain summit works that stuff out then  :)
21:04 lizmat that is my hope as well
21:04 haxmeister sounds like this year is going to be giant leaps for perl6 :)
21:05 lizmat perlpilot: it will be the 5th QA Hackathon / Toolchain Summit where this will be discussed  :-(
21:05 lizmat http://act.qa-hackathon.org/qa2013/ was the first
21:08 * haxmeister sends good vibes to the hackathon preemptively
21:10 kyan joined #perl6
21:12 brrt joined #perl6
21:15 ChoHag joined #perl6
21:17 itsame joined #perl6
21:27 anton_p joined #perl6
21:36 haxmeister yeah I can't get zef goin
21:39 haxmeister https://pastebin.com/Zm10bumu
21:44 gfldex haxmeister: `perl6 -Ilib bin/zef install .` <-- please note the "."
21:45 Cabanossi joined #perl6
21:46 haxmeister what's the . for?
21:46 haxmeister glob?
21:47 gfldex you run this inside the zef dir, what tells zef to install what it finds in the $CWD, what happens to be zef.
21:48 haxmeister oh.. ./ kk
21:49 haxmeister well it seems to have worked
21:49 haxmeister :-).. let's try zef now
21:50 mcmillhj joined #perl6
21:50 gfldex haxmeister: i would like to recommend `zef install META6::bin`
21:50 gfldex :->
21:51 haxmeister it put it in ~/.perl6/bin
21:51 haxmeister out of PATH.. but that's ok
21:52 gfldex it may put more stuff there as time ticks by. Could be worth the hassle.
21:52 haxmeister just want to be careful .. can't do any root installs.. and I'll be fine
21:53 haxmeister eventually gentoo/funtoo will catch up with perl6 module installs
21:53 lizmat and another Perl 6 Weekly hits the Net: https://p6weekly.wordpress.com/2017/05/08/2017-19-albatross_i/
21:53 gfldex haxmeister: if you want it to talk to github look at the bottom of https://github.com/gfldex/perl6-meta6-bin#github
21:54 haxmeister ~/.perl6/bin $ ./zef install Selenium::WebDriver this seems to be working
21:55 timotimo "MoarVMproject" wants a space, lizmat :)
21:55 haxmeister gfldex: what is that for?.. how would that make it different?
21:55 haxmeister gfldex:  so zef can install from git?
21:55 lizmat timotimo: you're right, it does so now  :-)
21:57 gfldex haxmeister: META6::bin provides `meta6` what allows funky stuff like `meta6 --fork-module=META6::bin; cd perl6-meta6-bin; sh fix-all-the-bugs.sh`
21:58 SCHAPiE joined #perl6
21:58 haxmeister yeah I have no idea what any of that is..lol
21:58 gfldex haxmeister: if you want to start you own module, you could run `meta6 --new-module=Haxmeister::S::Super::Module; cd perl6-haxmeister-s-super-module`
21:58 haxmeister oh ok..
21:59 haxmeister but what I have now is sufficient for using modules currently available right?
21:59 gfldex and --fork-module does exactly what it says on the tin (if the module is on github that is)
21:59 haxmeister s/using/installing
21:59 gfldex zef will install modules just fine
21:59 rindolf joined #perl6
22:00 El_Che lizmat: "The past week felt a bit dreary, the weather was meh" <-- I read "meth"
22:00 El_Che :)
22:00 haxmeister gfldex: maybe I'll wait till I have something worth contributing before I worry abou tthat.lol
22:00 haxmeister anywayy gotta go.. cheerz perl6
22:00 gfldex if you want to put a module into the ecosystem you need a proper `meta6.json`-file. That comes with quite a few pitfalls and that's why I wrote meta6.
22:02 El_Che thx lizmat for p6weekly
22:02 lizmat :-)
22:03 BuildTheRobots joined #perl6
22:03 kurahaupo joined #perl6
22:08 mcmillhj joined #perl6
22:13 kurahaupo joined #perl6
22:18 kurahaupo joined #perl6
22:24 mcmillhj joined #perl6
22:26 kipd joined #perl6
22:31 skids joined #perl6
22:33 lizmat_ joined #perl6
22:40 mcmillhj joined #perl6
22:40 Geth ¦ doc: 6c2b8b201a | (Zoffix Znet)++ | 2 files
22:40 Geth ¦ doc: [io grant] Document IO::Path/IO::Handle.comb
22:40 Geth ¦ doc: review: https://github.com/perl6/doc/commit/6c2b8b201a
22:48 inokenty joined #perl6
22:54 cyphase joined #perl6
22:55 mcmillhj joined #perl6
23:05 itsame joined #perl6
23:14 pierre_ joined #perl6
23:16 mcmillhj joined #perl6
23:23 raschipi joined #perl6
23:24 samcv what is the POD6 variable?
23:24 samcv dynamic variable
23:26 mcmillhj joined #perl6
23:29 samcv found it $=pod
23:30 Cabanossi joined #perl6
23:39 SmokeMachine joined #perl6
23:40 mcmillhj joined #perl6
23:56 kurahaupo joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo