Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2017-01-28

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:03 brokenchicken m: sub infix:meow<foo>sym«bar» {}
00:03 camelia rakudo-moar cfae23: OUTPUT«===SORRY!===␤Cannot find method 'wanted' on object of type NQPMu␤»
00:05 brokenchicken :sym<> is colonpair!
00:08 dfcarpenterak joined #perl6
00:14 pyrimidine joined #perl6
00:32 wamba joined #perl6
00:39 cdg joined #perl6
00:46 aborazmeh joined #perl6
00:46 aborazmeh joined #perl6
00:58 Cabanossi joined #perl6
01:01 cibs joined #perl6
01:03 pecastro joined #perl6
01:10 telex joined #perl6
01:12 kybr joined #perl6
01:17 itcharlie1 left #perl6
01:32 bjz joined #perl6
01:43 Cabanossi joined #perl6
01:49 brokenchicken This word game I got is weird... Lets you use "yolo", "rape", and "porn", but tells you "shit" is not a word!
01:50 brokenchicken This one: http://store.steampowered.com/app/373970/ good to pass time while spectesting :)
01:51 MasterDuke hm, i feel like i could spend more time than i should in that game
01:52 brokenchicken It's pretty good.
01:54 MasterDuke i play/have played lots of word games
01:57 cpage_ joined #perl6
02:00 bjz joined #perl6
02:08 pyrimidine joined #perl6
02:08 hartenfels joined #perl6
02:08 Geth specs: d98ee5412c | (Zoffix Znet)++ | v6d.pod
02:08 Geth specs: Add reminder for 6.d
02:08 Geth specs:
02:08 Geth specs: To properly reserve all C<< :sym<> >> colonpairs on subroutines
02:08 Geth specs: Impl[^1] (commented out) and tests[^2] (fudged) already exist.
02:08 Geth specs:
02:08 Geth specs: [1] https://github.com/rakudo/rakudo/commit/48abeeef26
02:08 Geth specs: [2] https://github.com/perl6/roast/commit/53d6e8491d
02:08 Geth specs: review: https://github.com/perl6/specs/commit/d98ee5412c
02:08 brokenchicken .oO( why is that document in Perl 5 POD and not, say, Markdown... )
02:09 user__ joined #perl6
02:11 Geth joined #perl6
02:13 Cabanossi joined #perl6
02:16 k-man joined #perl6
02:27 ggoebel joined #perl6
02:40 k-man joined #perl6
02:46 Cabanossi joined #perl6
02:47 ilbot3 joined #perl6
02:47 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:47 bjz joined #perl6
02:49 travis-ci joined #perl6
02:49 travis-ci Doc build errored. Antonio Quinonez 'more updates to regexes pod'
02:49 travis-ci https://travis-ci.org/antqu​inonez/doc/builds/196063097 https://github.com/antquinonez/doc/​compare/17cc0670735c...7d912f83e0f9
02:49 travis-ci left #perl6
02:50 travis-ci joined #perl6
02:50 travis-ci Doc build passed. Antonio Quinonez 'Merge remote-tracking branch 'upstream/master''
02:50 travis-ci https://travis-ci.org/antqu​inonez/doc/builds/196064952 https://github.com/antquinonez/doc/​compare/7d912f83e0f9...26a6f5acf98f
02:50 travis-ci left #perl6
03:07 travis-ci joined #perl6
03:07 travis-ci Doc build passed. Antonio Quinonez 'Merge branch 'master' of https://github.com/antquinonez/doc'
03:07 travis-ci https://travis-ci.org/antqu​inonez/doc/builds/196066687 https://github.com/antquinonez/doc/​compare/26a6f5acf98f...a04de47095dc
03:07 travis-ci left #perl6
03:13 Cabanossi joined #perl6
03:36 cibs joined #perl6
03:40 haxmeister joined #perl6
03:44 noganex joined #perl6
03:58 Cabanossi joined #perl6
04:10 Cabanossi joined #perl6
04:14 cpage_ joined #perl6
04:47 dfcarpenterak joined #perl6
04:55 Cabanossi joined #perl6
05:01 perlawhirl joined #perl6
05:04 agentzh joined #perl6
05:06 haxmeister is it possible to go back to the previous command in perl6 repl?
05:09 Actualeyes joined #perl6
05:15 BenGoldberg m: sub postfix:<!>($n) { [*] 2..$n }; sub infix:<C>($n, $k) { $n! / ($k * ($n-$k)!) }; say 5 C 2
05:15 camelia rakudo-moar c6e37e: OUTPUT«10␤»
05:17 haxmeister eh?
05:38 Geth doc: antquinonez++ created pull request #1166: some more edits/re-writes
05:38 Geth doc: review: https://github.com/perl6/doc/pull/1166
05:40 dj_goku haxmeister: try the up arrow? zef install Linenoise maybe too?
05:41 haxmeister up arrow just gives me codes.. not previous command
05:42 haxmeister linenoise does this?
05:42 dj_goku I think so yes.
05:42 haxmeister ok ty
05:47 bjz joined #perl6
05:55 Cabanossi joined #perl6
05:58 pyrimidine joined #perl6
06:03 haxmeister left #perl6
06:04 Tonik joined #perl6
06:27 LeCamarade joined #perl6
06:27 agentzh joined #perl6
06:28 LeCamarade Hello, all;
06:28 LeCamarade Has anyone built Rakudo Star on FreeBSD 32-bit ARM
06:28 LeCamarade ?
06:29 LeCamarade I get one last step failing thus:
06:29 LeCamarade linking libmoar.so
06:29 LeCamarade clang: error: no such file or directory: '3rdparty/dyncall/dyncallback/libdyncallback_s.a'
06:29 LeCamarade clang: error: no such file or directory: '3rdparty/dyncall/dynload/libdynload_s.a'
06:29 LeCamarade *** Error code 1
06:30 LeCamarade It dies there. So close, yet so far ... :-\
06:30 labster joined #perl6
06:36 hartenfels1 joined #perl6
06:48 LeCamarade joined #perl6
06:50 ufobat joined #perl6
06:52 CIAvash joined #perl6
07:10 Cabanossi joined #perl6
07:12 domidumont joined #perl6
07:12 samcv is there a variable I can check to get the line in the source file my program is on?
07:19 domidumont joined #perl6
07:28 parv joined #perl6
07:31 moritz m: say $?LINE
07:31 camelia rakudo-moar c6e37e: OUTPUT«1␤»
07:31 moritz samcv: ^^
07:31 samcv nice
07:33 bjz joined #perl6
07:35 espadrine_ joined #perl6
07:50 wamba joined #perl6
07:54 parv if moar vm (and/or nqp) is (are) installed extrernally, does the building rakudo phase require them to be present in $PATH, or could the respective install directories be given when starting Configure.pl?
07:55 Cabanossi joined #perl6
07:55 parv README.md on github does not say anythig in that regard.
08:04 LeCamarade I think it requires them to be in --prefix.
08:05 LeCamarade When I give it a --prefix where they aren't, it complains when I also give it --backends=moar
08:10 bjz joined #perl6
08:12 RabidGravy joined #perl6
08:17 parv (reading Configure.pl) --sdkroot option could be used to provide alternate path (so that rakudo could be installed, via --prefix, in a separate dir). At least there is proper --with-nqp option for the path, but none for moar vm.
08:19 bjz_ joined #perl6
08:22 toolforger joined #perl6
08:22 toolforger Hi everybody
08:23 toolforger What do I do when I see roast going into an endless loop on rakudo-j?
08:34 lizmat toolforger: you try to find out where the loop occurs and golf it down to a small piece of code you can put in a rakudobug report ?
08:35 parv does link to rlwrap -- http://utopia.knoware.nl/~hlub/uck/rlwrap/ -- tend to timeout?
08:36 toolforger parv: yes, for me it does (connecting from CH)
08:37 parv toolforger, thanks
08:37 toolforger lizmat: I have the name of the looping test somewhere, but my Perl knowledge is pretty limited so I'm not too sure about my ability to golf it down
08:38 toolforger Is there a simple way to run an individual test?
08:40 bjz joined #perl6
08:41 toolforger parv: utopia does not even react to pings. The host is probably not down but seriously misconfigured.
08:41 lizmat toolforger: do you mean a single test file ?  or a single test inside a file?
08:41 toolforger lizmat: both :-)
08:41 lizmat the former is:  make t/spec/foo/bar.t
08:42 lizmat the latter is: comment out the lines you don't want to test and ignore the "incorrect number of tests" message :-)
08:45 toolforger lol
08:45 toolforger okay
08:45 toolforger sounds like a viable plan
08:45 toolforger how to I put in a rakudobug report?
08:46 lizmat email to rakudobug@perl.org
08:47 toolforger that works :-)
08:48 toolforger I do not know which of the tests fail, there is no output apart from the test file name and the line of dots - is there a way to quickly converge on which line is actually looping?
08:49 lizmat you can run it directly as a script
08:49 lizmat perl6 t/spec/foo/bar.t
08:49 lizmat or if it has been fudged:
08:49 LeCamarade
08:50 lizmat perl6 t/spec/foo/bar.rakudo.jvm
08:50 lizmat and maybe perl6-j
08:51 toolforger oh, wait
08:51 toolforger I see that "make t/spec/..." gives me more detailed output
08:53 toolforger I am trying "make t/spec/S3*/*", which seems to emit some useless error messages but then I'm after an endless loop, not a specific error message
08:54 toolforger but it doesn't seem to run the tests on the jvm
08:55 toolforger unless it runs jvm after moarvm
08:58 toolforger no it doesn't :-(
09:03 lizmat which backends did you build ?
09:03 lizmat fwiw, I always keep 2 clones of the rakudo repo: one for jvm and one for moarvm
09:06 darutoko joined #perl6
09:08 agentzh joined #perl6
09:10 toolforger I have backends=moar,jvm
09:11 lizmat ok, I have no (recent) experience with that setup  :-(
09:11 toolforger I think I'll just rerun make spectest
09:12 toolforger I was under the impression I need a moarvm installation to build rakudo-j, that's why I was doing the two in one installation
09:13 lizmat ah, no, you don't need MoarVM to be able to build the JVM backend  :-)
09:13 toolforger ok, I'll try that then
09:14 toolforger though it was helpful to have both
09:14 toolforger I wouldn't have noticed that rakudo-on-jvm is considerably slower than rakudo-on-moar
09:15 dfcarpenterak joined #perl6
09:17 toolforger oh right
09:17 toolforger I was running the internal commands as reported by make -n
09:18 toolforger to be able to skip the github updates, because I am offline a lot
09:19 toolforger Hmm... make -n tells me it runs both backends
09:19 pyrimidine joined #perl6
09:20 toolforger make -n t/spec/S22-package-format/local.t runs only --moar
09:20 toolforger it is also doing dubious things, like copying perl6-m over perl6 and chmodding it 755
09:21 toolforger running a test suite shouldn't touch the current installation, just on principle
09:22 lizmat agree
09:22 toolforger preparing a rakudobug for that
09:23 dfcarpenterak joined #perl6
09:23 lizmat toolforger++
09:23 toolforger thx
09:28 Vynce joined #perl6
09:30 RabidGravy there are a lot of good things about travis-ci but when I find myself spending time working around the environment in the tests I do wonder
09:33 El_Che just a crazy idea, but the docker support is very nice if you're able to encapsulate the build. That is what I do for the built of rakudo packages: https://github.com/nxadm/rakud​o-pkg/blob/master/.travis.yml
09:45 RabidGravy yeah, actively considering that right now
09:46 El_Che ping me in case you need input
09:48 El_Che RabidGravy: https://github.com/nxadm/rakudo-pk​g/blob/master/docker/pkg_rakudo.sh . That script is called from the container to download released tar balls. It's trivial to do a git checkout instead
09:48 Ven joined #perl6
09:55 Cabanossi joined #perl6
09:56 ShoaibJahejo joined #perl6
09:57 RabidGravy with Audio::Liquidsoap there are multiple problems on travis,  prime among them is that ubuntu packages a stupidly old liquidsoap and building one (it's written in ocaml) would be way too painful
09:58 ShoaibJahejo joined #perl6
09:59 Vasyl joined #perl6
09:59 ShoaibJahejo joined #perl6
09:59 El_Che you could build them using a ubuntu 16.10 build?
10:00 ShoaibJahejo joined #perl6
10:00 ShoaibJahejo joined #perl6
10:01 * RabidGravy wonders whether docker is being funny when it generates a container name "backstabbing_knuth"
10:01 El_Che haha
10:02 El_Che that's one of the better names so far
10:06 Ven joined #perl6
10:13 moritz tkrt
10:13 toolforger lizmat, rakudobugs are in and confirmed
10:24 AlexDaniel joined #perl6
10:25 Cabanossi joined #perl6
10:34 lizmat toolforger: thanks
10:39 cpage_ joined #perl6
10:40 toolforger left #perl6
10:49 AlexDaniel samcv: you may also be interested in callframe
10:49 AlexDaniel m: say callframe
10:49 camelia rakudo-moar 960a78: OUTPUT«<tmp> at line 1␤»
10:56 holyghost joined #perl6
11:06 rindolf joined #perl6
11:09 lukaramu joined #perl6
11:36 pyrimidine joined #perl6
11:40 Cabanossi joined #perl6
11:46 hankache_ joined #perl6
11:47 cpage_ joined #perl6
11:50 Ven joined #perl6
11:50 RabidGravy bad fedora no cookie
11:58 hankache joined #perl6
12:05 dalek DBIish: c8a3351 | (Kaare Rasmussen)++ | / (2 files):
12:05 dalek DBIish: If a pg type isn't found, it becomes an Any type. Can't typecast those.
12:05 dalek DBIish: Also, add a test for enum types in Pg.
12:05 dalek DBIish: review: https://github.com/perl6/DBIish/commit/c8a33515f3
12:05 dalek DBIish: 16d9a25 | RabidGravy++ | / (2 files):
12:05 dalek DBIish: Merge pull request #86 from kaare/master
12:05 dalek DBIish:
12:05 yoleaux 24 Jan 2017 15:38Z <AlexDaniel> dalek: Please switch this bot to Geth
12:05 dalek DBIish: Except Any types from casting, and add an enum example for PostgreSQL
12:05 dalek DBIish: review: https://github.com/perl6/DBIish/commit/16d9a250d4
12:05 pmurias joined #perl6
12:05 AlexDaniel .tell dalek Please switch this bot to Geth
12:05 yoleaux AlexDaniel: I'll pass your message to dalek.
12:05 AlexDaniel who can change the settings of https://github.com/perl6/DBIish ?
12:06 RabidGravy joined #perl6
12:07 moritz AlexDaniel: I can
12:07 AlexDaniel Geth: help
12:07 Geth AlexDaniel, Source at https://github.com/perl6/geth To add repo, add an 'application/json' webhook on GitHub pointing it to http://geth.perl6.party/?chan=#perl6 and choose 'Send me everything' for events to send | use `ver URL to commit` to fetch version bump changes
12:07 AlexDaniel moritz: ↑
12:08 timotimo could this abizy thing just fucking stop >_<
12:09 moritz AlexDaniel: done; please test
12:10 AlexDaniel er, the only way to test it is to commit something I guess
12:10 AlexDaniel let's see
12:11 Geth DBIish/gethtest: 33bf0516fb | (Aleks-Daniel Jakimenko-Aleksejev)++ | testfile
12:11 Geth DBIish/gethtest: Just testing Geth
12:11 Geth DBIish/gethtest: review: https://github.com/perl6/DBIish/commit/33bf0516fb
12:11 AlexDaniel moritz: \o/
12:13 JJMerelo joined #perl6
12:13 hankache hello #perl6
12:13 sammers joined #perl6
12:13 lizmat hankache o/
12:13 hankache hiya lizmat
12:13 wamba joined #perl6
12:14 JJMerelo This is probably a dumb question
12:14 yoleaux 27 Dec 2016 12:57Z <tbrowder> JJMerelo: i'm happy to use
12:14 yoleaux 27 Dec 2016 13:00Z <tbrowder> JJMerelo: i'm happy to make my fork more usable, but i am NOT a lisp-literate person, either; would be great to hear more from henrik about his plans
12:14 yoleaux 4 Jan 2017 15:57Z <tbrowder> JJMerelo: see new wiki
12:14 JJMerelo But why are number radices limited to 36?
12:15 lizmat JJMerelo: (0..9,"a".."z").elems = 36
12:15 JJMerelo https://github.com/rakudo/rakudo/blob/b54834dca38c​4f8ebf7e2bf1869910700603cd84/src/core/Str.pm#L1304
12:15 hankache windows users, what terminal do you use? Any alternative to cmd.exe?
12:16 JJMerelo OK, makes sense as long as you limit yourself to using those letters...
12:16 lizmat JJMerelo: right, so what would one use beyond 36 ?
12:17 JJMerelo @lizmat that's not so much an issue as actually using that expression instead of the number 36
12:17 JJMerelo Because in the "Exception.pm" the number 36 also shows up magically
12:18 JJMerelo https://github.com/rakudo/rakudo/blo​b/ee2e8a5f51ac95d574431dd8f3bdfaa8af​a85aa7/src/core/Exception.pm#L1497
12:18 AlexDaniel JJMerelo: oh, so you mean the error message is LTA?
12:18 JJMerelo Sorry, no comprendo LTA
12:18 AlexDaniel Less Than Awesome
12:18 JJMerelo Hum, not really.
12:19 timotimo JJMerelo: did you see my tweet?
12:19 timotimo m: say :60[6,6,6]
12:19 camelia rakudo-moar 960a78: OUTPUT«21966␤»
12:19 JJMerelo More that maybe it would be better to have a constant, somewhere, saying ADMISSIBLE-CHARACTERS-IN-NUMBERS
12:19 JJMerelo @timotimo no, but that's awesome
12:20 JJMerelo And then have Str.pm and Exception.pm use that constant. It's more of a documentation issue, really, but only for the sake of avoding dummy questions such as my own.
12:21 lizmat JJMerelo: https://github.com/rakudo/rakudo/commit/9d0a6c00f7
12:21 JJMerelo @lizmat that's awesome :-)
12:35 domidumont joined #perl6
12:38 pyrimidine joined #perl6
12:41 Cabanossi joined #perl6
12:51 z448 joined #perl6
12:55 Ven joined #perl6
12:57 Rawriful joined #perl6
13:00 Rawriful joined #perl6
13:02 cibs joined #perl6
13:06 ocbtec joined #perl6
13:09 agentzh joined #perl6
13:17 MasterDuke joined #perl6
13:20 bpmedley joined #perl6
13:26 Cabanossi joined #perl6
13:26 sena_kun joined #perl6
13:39 itcharlie joined #perl6
13:39 cale2 joined #perl6
13:42 spider-mario joined #perl6
13:43 sammers joined #perl6
13:45 domidumont joined #perl6
13:54 KotH joined #perl6
13:56 Geth DBIish: f4067d88cc | (Jonathan Stowe)++ | 9 files
13:56 Geth DBIish: Retab and fix indentation
13:56 Geth DBIish: review: https://github.com/perl6/DBIish/commit/f4067d88cc
13:56 Geth DBIish: 8e0cb3ea80 | (Jonathan Stowe)++ | lib/DBIish/CommonTesting.pm6
13:56 Geth DBIish: Use a Bool
13:56 Geth DBIish: review: https://github.com/perl6/DBIish/commit/8e0cb3ea80
14:10 itcharlie left #perl6
14:24 timotimo actually, do y'all think the error in :60<123> should suggest using :60[1, 2, 3] syntax?
14:35 pyrimidine joined #perl6
14:37 Ven joined #perl6
14:38 Tonik joined #perl6
14:40 RabidGravy [446/940] and I'm already concerrned about my laptop going on fire
14:41 RabidGravy Ardour is a great program but it's a behemoth
14:42 pyrimidi_ joined #perl6
14:46 Ven joined #perl6
14:47 cale2 How up to date is this book: https://cloud.github.com/downloa​ds/perl6/book/2012.05.23.a4.pdf
14:47 cale2 Using Perl 6
14:48 cale2 I guess it says 2012 lol. Not sure if there is an updated version
14:50 lizmat cale2: I think you can consider https://leanpub.com/perl6 an up-to-date reboot of that
14:51 AlexDaniel huggable: books
14:51 huggable AlexDaniel, "Perl 6 At A Glance"  https://deeptext.media/perl6-at-a-glance/ (print only for now); "Perl 6 By Example": https://leanpub.com/perl6 (can order preview digital copies)
14:51 cale2 lizmat: That's not done yet :)
14:51 cale2 and none of the other ones are done either :)
14:51 AlexDaniel false
14:51 cale2 i'm not buying a print book, sorry
14:51 lizmat https://deeptext.media/perl6-at-a-glance  # a print book
14:51 lizmat but done  :-)
14:52 cale2 If there's a github for the Using Perl 6 book, I can go through it and update any code examples that don't work anymore
14:52 lizmat cale2++
14:53 MasterDuke https://github.com/perl6/book
14:58 cale2 thanks
15:02 sammers joined #perl6
15:05 brokenchicken m: :60<123>
15:05 camelia rakudo-moar a83294: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Radix 60 out of range (allowed: 2..36)␤at <tmp>:1␤------> 3:60<123>7⏏5<EOL>␤»
15:05 brokenchicken m: say :60[1, 2, 3]
15:05 camelia rakudo-moar a83294: OUTPUT«3723␤»
15:07 brokenchicken timotimo: not really :)
15:09 sena_kun by the way, what does the second line?
15:09 brokenchicken m: say 60²*1 + 60¹*2 + 3
15:09 camelia rakudo-moar a83294: OUTPUT«3723␤»
15:09 timotimo it does 30 + 2 * 60 + ... yeah
15:10 sena_kun hmm... okay, thanks.
15:10 timotimo m: say :100[1, 2, 3, 4, 5]
15:10 camelia rakudo-moar a83294: OUTPUT«102030405␤»
15:10 timotimo why did i write 30 + there and not 3 +? oh well
15:11 brokenchicken m: say 60²*1 + 60¹*2 + 60⁰*3 # even
15:11 camelia rakudo-moar a256ef: OUTPUT«3723␤»
15:12 kurahaupo joined #perl6
15:16 mr-foobar joined #perl6
15:18 pyrimidine joined #perl6
15:18 cibs joined #perl6
15:23 RabidGravy okay a question of taste:  Archive::LibArchive or Archive::Libarchive ?
15:24 brokenchicken LibArchive
15:25 sena_kun +1 for LibArchive
15:25 RabidGravy I think that's the one I prefer too but I keep flipping
15:26 timotimo lIBaRCHIVE
15:26 Cabanossi joined #perl6
15:28 RabidGravy m: say "libarchive".comb.map({ Bool.pick ?? uc $_ !! $_}).join("")
15:28 camelia rakudo-moar a256ef: OUTPUT«libaRChIVe␤»
15:43 benchable6_ joined #perl6
15:46 agentzh joined #perl6
15:47 dfcarpenterak joined #perl6
15:54 dj_goku joined #perl6
15:54 dj_goku joined #perl6
15:55 Cabanossi joined #perl6
15:58 TEttinger joined #perl6
16:07 cale2 Is there an `in` operator that checks if an element is in a list?
16:07 cale2 returns true or false
16:07 brokenchicken sortof
16:08 brokenchicken m: say 42 ∈ ^100
16:08 camelia rakudo-moar a256ef: OUTPUT«True␤»
16:08 brokenchicken BUT
16:08 brokenchicken m: say 42 ∈ [<42>]
16:08 camelia rakudo-moar a256ef: OUTPUT«False␤»
16:08 curt__ joined #perl6
16:08 brokenchicken It cares much about object identity
16:08 brokenchicken See also .first
16:09 brokenchicken or junctions
16:09 brokenchicken m: say 42 == any ^100
16:09 camelia rakudo-moar a256ef: OUTPUT«any(False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, …»
16:09 brokenchicken m: say so 42 == any ^100
16:09 camelia rakudo-moar a256ef: OUTPUT«True␤»
16:10 cale2 hm...
16:10 cale2 I guess I could use a junction if the list is small, right?
16:10 cale2 can I convert a list of strings to a junction?
16:10 brokenchicken You can make a junction out of a list of string yes. Same as above
16:11 brokenchicken m: say "meow" eq any <foo bar meow moo>
16:11 camelia rakudo-moar a256ef: OUTPUT«any(False, False, True, False)␤»
16:11 brokenchicken m: say so "meow" eq any <foo bar meow moo>
16:11 camelia rakudo-moar a256ef: OUTPUT«True␤»
16:11 brokenchicken m: say so "meow" eq <foo bar meow moo>.any
16:11 camelia rakudo-moar a256ef: OUTPUT«True␤»
16:11 brokenchicken (there are also `one`, `none`, and `all` junctions, depending on your need)
16:11 itcharlie joined #perl6
16:13 cale2 This doesn't really seem very "make the easy things easy" if you ask me
16:13 brokenchicken Really?
16:13 cale2 `if elem in list`
16:13 cale2 now that's easy
16:13 brokenchicken `if elem ∈ list`
16:13 brokenchicken I don't see what the winge is here about
16:14 cale2 I'm working on updating the Using Perl 6 book. It's only the first chapter and I don't want to introduce Junctions
16:14 cale2 And I also don't want to explain why the reader can't type this bizarre character
16:14 brokenchicken if list.first: elem { ... }
16:14 brokenchicken `if elem (elem) list`
16:14 brokenchicken `if elem eq any list`
16:15 brokenchicken "I like the Python way and Perl 6 is yuky" is what I hear TBH
16:15 cale2 brokenchicken: You're really just writing off any criticism
16:16 cale2 `if elem ∈ list` that requires explaining how to type unicode for people that prob have never had to before
16:16 cale2 `if elem eq any list` that requires explaining junctions
16:16 profan there isnt a non-unicode equivalent to the character?
16:16 cale2 `if elem in list` requires explaining a for loop, which we already have done.
16:16 brokenchicken cale2: I already pointed out the (elem) Texas version
16:17 brokenchicken cale2: if elem in list requires explaining what sort of comparison `in` does. Is "42" in [42] ?
16:17 brokenchicken cale2: I may be dismissing critisism, but you're dismissing things you already understand as not requiring any explanation and therefore superior.
16:18 brokenchicken profan: It's (elem). All fancy ops have a Texas versions. https://docs.perl6.org/language/unicode_texas.html
16:18 profan right
16:18 cale2 Is "42" in [42] ? I don't know, you'd have to explain this in P6 as well.
16:25 Cabanossi joined #perl6
16:36 dalek Inline-Perl5: c125bfc | niner++ | / (2 files):
16:36 dalek Inline-Perl5: Rewrite publication of wrapper packages
16:36 dalek Inline-Perl5:
16:36 dalek Inline-Perl5: Previously we relied on hacks and implementation details to get our wrapper
16:36 dalek Inline-Perl5: packages into the user's namespace. This did not work all that well anymore
16:36 dalek Inline-Perl5: after module loading became lexical in rakudo. This rewrite replaces those
16:36 dalek Inline-Perl5: hacks with an implementation that uses the same mechanism that handles symbols
16:36 yoleaux 12:05Z <AlexDaniel> dalek: Please switch this bot to Geth
16:36 dalek Inline-Perl5: from native Perl 6 modules.
16:36 dalek Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/c125bfc667
16:37 pyrimidine joined #perl6
16:37 AlexDaniel nine: hey
16:37 AlexDaniel Geth: help
16:37 Geth AlexDaniel, Source at https://github.com/perl6/geth To add repo, add an 'application/json' webhook on GitHub pointing it to http://geth.perl6.party/?chan=#perl6 and choose 'Send me everything' for events to send | use `ver URL to commit` to fetch version bump changes
16:37 AlexDaniel nine: ↑ ?
16:37 AlexDaniel .tell dalek Please switch this bot to Geth
16:37 yoleaux AlexDaniel: I'll pass your message to dalek.
16:38 AlexDaniel can't do it myself unfortunately
16:38 AlexDaniel ah, it's not even in perl6 org
16:39 nine AlexDaniel: updated. Thanks for the reminder!
16:48 cale2 brokenchicken: you can see my PR. I used the membership operator as it looks like Junctions are touched on much later.
16:49 * brokenchicken sees no PRs
16:52 cale2 When is this page gonna be updated for the january release of R*? https://perl6.org/downloads/
16:53 brokenchicken When it occurs
16:53 brokenchicken There was an RC recently, so I'd guess the release will happen soon
16:54 MasterDuke brokenchicken: https://github.com/perl6/book/pull/85
16:55 Geth Inline-Perl5: 208f97d1d0 | (Stefan Seifert)++ | META6.json
16:55 Geth Inline-Perl5: Version 0.23
16:55 Geth Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/208f97d1d0
17:01 brokenchicken cale2: I invited you to perl6 org so you can merge that PR yourself. One note: the <...> don't assume everything inside are strings
17:01 brokenchicken m: dd <42 42e0 .5 1+0i>
17:01 camelia rakudo-moar 4e7ab2: OUTPUT«(IntStr.new(42, "42"), NumStr.new(42e0, "42e0"), RatStr.new(0.5, ".5"), ComplexStr.new(<1+0i>, "1+0i"))␤»
17:01 brokenchicken ^ they create allomorphs
17:02 brokenchicken m: dd <:16<FF>> # and have magics
17:02 camelia rakudo-moar 4e7ab2: OUTPUT«IntStr.new(255, ":16<FF>")␤»
17:02 cale2 brokenchicken: I'm wondering if we should link to the docs at times like that. I don't know how to create nice links in POD format though
17:02 brokenchicken L<some text|https://some.link>
17:02 cale2 thanks
17:04 khw joined #perl6
17:07 cdg joined #perl6
17:09 itcharlie left #perl6
17:13 bwisti joined #perl6
17:22 ChoHag joined #perl6
17:23 pyrimidine joined #perl6
17:35 Geth whateverable: 962dc22caa | (Daniel Green)++ | Benchable.p6
17:35 Geth whateverable: Be smarter about the messages Benchable gives
17:35 Geth whateverable:
17:35 Geth whateverable: * Only say we're zooming/bisecting if there are in fact any performance
17:35 Geth whateverable:   differences found
17:35 Geth whateverable: * Report the preliminary results before starting to bisect
17:35 Geth whateverable: * Report any results so far if the total timeout is hit
17:35 Geth whateverable:
17:35 Geth whateverable: Closes #38 and #62
17:35 Geth whateverable: review: https://github.com/perl6/wha​teverable/commit/962dc22caa
17:35 Geth ecosystem: titsuki++ created pull request #293: Add Algorithm::LibSVM to ecosystem
17:35 Geth ecosystem: review: https://github.com/perl6/ecosystem/pull/293
17:35 Geth ecosystem: e8291b3c53 | titsuki++ | META.list
17:35 Geth ecosystem: Add Algorithm::LibSVM to ecosystem
17:35 Geth ecosystem:
17:35 Geth ecosystem: See https://github.com/titsuki/p6-Algorithm-LibSVM
17:35 Geth ecosystem: review: https://github.com/perl6/e​cosystem/commit/e8291b3c53
17:35 Geth ecosystem: f014dd3fc8 | (Itsuki Toyota)++ | META.list
17:36 Geth ecosystem: Merge pull request #293 from titsuki/add-libsvm
17:36 Geth ecosystem:
17:36 Geth ecosystem: Add Algorithm::LibSVM to ecosystem
17:36 Geth ecosystem: review: https://github.com/perl6/e​cosystem/commit/f014dd3fc8
17:38 Geth joined #perl6
17:38 Geth book: 9815903579 | Cale++ | src/basics.pod
17:38 Geth book: Updated the Basics chapter (#85)
17:38 Geth book:
17:38 Geth book: * Add file extension to open('scores')
17:38 Geth book:
17:38 Geth book: Did not compile without this.
17:38 Geth book:
17:38 Geth book: * Update basics.pod
17:38 Geth book:
17:38 Geth book: Not sure if I formatted the text correctly. I just put in new lines when the line was getting too long.
17:38 Geth book:
17:38 Geth book: * Add links to docs
17:38 Geth book: review: https://github.com/perl6/book/commit/9815903579
17:38 * brokenchicken just re-delivered that one to ensure Geth bug got fixed
17:39 pyrimidine joined #perl6
17:39 cale2 One part of the book says that the <,> operator "constructs a Parcel, which is a sequence of objects". I think it's better to go with what the docs say. "Constructs a List from its arguments"
17:40 brokenchicken Yeah, Parcel is no longer a thing
17:40 RabidGravy gosh
17:40 RabidGravy I'd actually forgotten about Parcel
17:52 cflor joined #perl6
17:55 pyrimidine joined #perl6
17:58 BenGoldberg joined #perl6
18:01 cale2 How exactly is the POD format converted to PDF?
18:01 cale2 Can it also be converted easily to other formats?
18:01 cale2 For example, I'm wondering if we could convert POD files to Markdown
18:02 brokenchicken whoa... metacpan.org got majorly logo-fied lol
18:03 brokenchicken cale2: yeah. I'm guessing the book is written in Perl 5 pod? There's a whole bunch of converters: https://metacpan.org/search?q=Pod+to+pdf
18:03 brokenchicken buggable: eco pod
18:03 buggable brokenchicken, Found 12 results: Pod::To::HTML, Pod::Parser, Pod::Perl5, Pod::PerlTricks, Pod::Strip. See http://modules.perl6.org/#q=pod
18:03 brokenchicken And if it's Perl 6 pod, we have ::HTML and ::Markdown
18:03 BenGoldberg joined #perl6
18:06 brokenchicken The README has "To build the PDF version of this book...." section
18:06 brokenchicken And the README starts with "This repository is retained only for archival purposes.  The project is currently considered dead..."
18:08 cale2 brokenchicken: If it's not possible to generate a new book file, then I won't bother. Otherwise I can keep updating
18:10 brokenchicken Presumable the instructions describe a way to build that's still works.
18:12 brokenchicken cale2: you could check with moritz++ if he is looking for any helping hands for his book instead.
18:13 brokenchicken (there's #perl6book that used to be for perl6/book but from what I understand now is for moritz's book)
18:15 espadrine_ joined #perl6
18:15 agentzh joined #perl6
18:16 cale2 ah good call
18:16 cale2 The example code from the operators chapter is a bit odd, to be honest.
18:17 cale2 m: my @scores = 'Ana' => 8, 'Dave' => 6, 'Charlie' => 4, 'Beth' => 4; say 1 + [max] @scores».key».chars;
18:17 camelia rakudo-moar 4e7ab2: OUTPUT«8␤»
18:17 cale2 I'm wondering why not just use a % for scores instead though...
18:17 cale2 m: my %scores = 'Ana' => 8, 'Dave' => 6, 'Charlie' => 4, 'Beth' => 4; say 1 + [max] %scores.keys».chars;
18:17 camelia rakudo-moar 4e7ab2: OUTPUT«8␤»
18:19 brokenchicken m: my @scores = 'Ana' => 8, 'Ana' => 42; dd @scores
18:19 camelia rakudo-moar 4e7ab2: OUTPUT«Array @scores = [:Ana(8), :Ana(42)]␤»
18:19 brokenchicken m: my %scores = 'Ana' => 8, 'Ana' => 42; dd %scores
18:19 camelia rakudo-moar 4e7ab2: OUTPUT«Hash %scores = {:Ana(42)}␤»
18:20 cale2 moritz: what do you think? Should I stop updating the old book and help proof yours instead?
18:24 cale2 brokenchicken: I guess Arrays don't dedup and they maintain their order. Perhaps it would be good to explain when to use each, idk. Difficulty is in having a strong focus on who the audience is
18:29 pyrimidine joined #perl6
18:32 TimToady m: say [1,2,42,3,4] ~~ (**, 42, **)  # another way
18:32 camelia rakudo-moar 4e7ab2: OUTPUT«True␤»
18:33 brokenchicken m: say 2 ≤ 3 ≥ 1 ≠ 2
18:33 camelia rakudo-moar 4e7ab2: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Confused␤at <tmp>:1␤------> 3say 27⏏5 ≤ 3 ≥ 1 ≠ 2␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        statement modifier␤    …»
18:34 brokenchicken hehe... Perl 7 gives true for ^ that :P It's now officially more advanced than all the other Perls :P
18:34 Ven joined #perl6
18:34 Actualeyes joined #perl6
18:35 brokenchicken m: say 2 <= 3 >= 1 != 2
18:35 camelia rakudo-moar 4e7ab2: OUTPUT«True␤»
18:35 brokenchicken m: say 2 <= 3 >= 1 != 1
18:35 camelia rakudo-moar 4e7ab2: OUTPUT«False␤»
18:37 brokenchicken m: sub infix:<≤> { [<=] @_ }; say 2 ≤ 4 ≤ 5
18:37 camelia rakudo-moar 4e7ab2: OUTPUT«True␤»
18:37 brokenchicken m: sub infix:<≤> { [<=] @_ }; say 2 ≤ 4 ≤ 3
18:37 camelia rakudo-moar 4e7ab2: OUTPUT«True␤»
18:37 brokenchicken Close enough... :P
18:38 brokenchicken Ah, it ends up comparing Bool (which is 1) with 3
18:38 brokenchicken m: sub infix:<≤> is assoc('chain') { [<=] @_ }; say 2 ≤ 4 ≤ 3
18:38 camelia rakudo-moar 4e7ab2: OUTPUT«False␤»
18:38 brokenchicken m: sub infix:<≤> is assoc('chain') { [<=] @_ }; say 2 ≤ 4 ≤ 5
18:38 camelia rakudo-moar 4e7ab2: OUTPUT«False␤»
18:38 TimToady same problem really, we parse them as binaries when they should be processed as alternative values and functions
18:38 brokenchicken Ah, I see
18:38 brokenchicken m: sub infix:<≤> is assoc('chain') { dd @_ }; say 2 ≤ 4 ≤ 5
18:38 camelia rakudo-moar 4e7ab2: OUTPUT«[4, 5]␤[2, Nil]␤Nil␤»
18:39 TimToady though I guess it works there
18:39 TimToady oh, wait, it dint
18:40 brokenchicken m: sub infix:<≤> is assoc('list') { [<=] @_ }; say 2 ≤ 4 ≤ 5
18:40 camelia rakudo-moar 4e7ab2: OUTPUT«True␤»
18:40 brokenchicken m: sub infix:<≤> is assoc('list') { [<=] @_ }; say 2 ≤ 4 ≤ 3
18:40 camelia rakudo-moar 4e7ab2: OUTPUT«False␤»
18:40 brokenchicken yey
18:40 brokenchicken (though it'd break when other ops are mixed I think)
18:41 brokenchicken m: sub infix:<≤> is assoc('list') { [<=] @_ }; say 2 ≤ 4 > 3
18:41 camelia rakudo-moar 4e7ab2: OUTPUT«False␤»
18:41 brokenchicken yup
18:51 notbenh joined #perl6
18:51 agentzh joined #perl6
18:56 Cabanossi joined #perl6
19:05 moritz m: indir '/tmp' { say $*CWD }
19:05 camelia rakudo-moar 4e7ab2: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unexpected block in infix position (missing statement control word before the expression?)␤at <tmp>:1␤------> 3indir '/tmp'7⏏5 { say $*CWD }␤    expecting any of:␤        infix␤        infix …»
19:05 moritz m: indir '/tmp', { say $*CWD }
19:05 camelia rakudo-moar 4e7ab2: OUTPUT«"/tmp".IO␤»
19:05 BenGoldberg joined #perl6
19:07 BenGoldberg m: sub infix:<≤> is assoc('list') { [<=] @_ }; say 2 ≤ 4 < 5;
19:07 camelia rakudo-moar 4e7ab2: OUTPUT«True␤»
19:07 BenGoldberg m: sub infix:<≤> is assoc('list') { [<=] @_ }; say 2 ≤ 2 < 5;
19:07 camelia rakudo-moar 4e7ab2: OUTPUT«True␤»
19:08 BenGoldberg m: dd $/.VAR
19:08 camelia rakudo-moar 4e7ab2: OUTPUT«Invocant requires an instance of type Mu, but a type object was passed.  Did you forget a .new?␤  in block <unit> at <tmp> line 1␤␤»
19:08 BenGoldberg m: my $introspect = $/.VAR; dd $introspect;
19:08 camelia rakudo-moar 4e7ab2: OUTPUT«Invocant requires an instance of type Mu, but a type object was passed.  Did you forget a .new?␤  in block <unit> at <tmp> line 1␤␤»
19:08 BenGoldberg m: my $introspect = $/.VAR;
19:08 camelia rakudo-moar 4e7ab2: ( no output )
19:08 BenGoldberg m: say $/.VAR;
19:08 camelia rakudo-moar 4e7ab2: OUTPUT«Nil␤»
19:09 BenGoldberg m: say $*/.VAR;
19:09 camelia rakudo-moar 4e7ab2: OUTPUT«5===SORRY!5===␤Unrecognized regex metacharacter ; (must be quoted to match literally)␤at <tmp>:1␤------> 3say $*/.VAR7⏏5;␤Unable to parse regex; couldn't find final '/'␤at <tmp>:1␤------> 3say $*/.VAR;7⏏5<EOL>␤␤»
19:09 BenGoldberg m: say $?/.VAR;
19:09 camelia rakudo-moar 4e7ab2: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unsupported use of $? variable; in Perl 6 please use $! for handling child errors also␤at <tmp>:1␤------> 3say $?7⏏5/.VAR;␤»
19:10 brokenchicken What are you trying to do?
19:15 BenGoldberg I was looking at some old examples, one of which was examining default values by doing $foo.VAR.default; One of the examples was $/.VAR.default, which doesn't work, cause $.VAR is Nil.
19:16 BenGoldberg https://perl6advent.wordpress.com/2013/12/​20/day-20-how-to-mangle-the-initial-state/
19:18 raschipi joined #perl6
19:19 timotimo $.VAR will be a reference to self.VAR
19:19 moritz m: say $/.VAR.default
19:19 camelia rakudo-moar 4e7ab2: OUTPUT«Nil␤»
19:19 moritz loooks correct to me
19:19 moritz a failed match returns Nil
19:20 moritz m: my $x = 42; say $x.VAR.default
19:20 camelia rakudo-moar 4e7ab2: OUTPUT«(Any)␤»
19:22 moritz m: say ('x' x int.Range.max + 1).chars
19:22 camelia rakudo-moar 4e7ab2: OUTPUT«0␤»
19:22 pyrimidine joined #perl6
19:23 kyan joined #perl6
19:26 Cabanossi joined #perl6
19:27 labster joined #perl6
19:31 BenGoldberg m: dd Nil;
19:31 camelia rakudo-moar 4e7ab2: OUTPUT«Nil␤»
19:31 BenGoldberg m: dd int.Range
19:31 camelia rakudo-moar 4e7ab2: OUTPUT«-9223372036854775808..9223372036854775807␤»
19:31 BenGoldberg m: say int.Range.pick
19:31 camelia rakudo-moar 4e7ab2: OUTPUT«2413258564425961281␤»
19:32 BenGoldberg . o O (Next time someone says, pick a number, any number, ^ that's what i'll do ;))
19:33 trnh joined #perl6
19:33 trnh joined #perl6
19:33 TEttinger BenGoldberg: I pick phi. that is, the base-36 number where the digits are p, h, i
19:35 moritz m: say :36<phi>
19:35 camelia rakudo-moar 4e7ab2: OUTPUT«33030␤»
19:35 moritz not bad
19:35 BenGoldberg m: 'phi'.parse-base(36).say;
19:35 camelia rakudo-moar 4e7ab2: OUTPUT«33030␤»
19:35 TEttinger nice
19:36 BenGoldberg m: 'perl'.parse-base(36).say;
19:36 camelia rakudo-moar 4e7ab2: OUTPUT«1185537␤»
19:36 TEttinger do radices above 36 work somehow?
19:36 BenGoldberg m: 'perl'.parse-base(37).say;
19:36 camelia rakudo-moar 4e7ab2: OUTPUT«Radix 37 out of range (allowed: 2..36)␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
19:36 TEttinger m: 'perl'.parse-base(30).say;
19:36 camelia rakudo-moar 4e7ab2: OUTPUT«688431␤»
19:37 TEttinger m: 'perl'.parse-base(28).say;
19:37 camelia rakudo-moar 4e7ab2: OUTPUT«560553␤»
19:37 TEttinger m: 'perl6'.parse-base(28).say;
19:37 camelia rakudo-moar 4e7ab2: OUTPUT«15695490␤»
19:38 KotH joined #perl6
19:45 mawkish__ joined #perl6
19:47 pyrimidine joined #perl6
20:12 agentzh i'm writing a perl 6 program with 8K LOC and 46 compilation units. the biggest hurdle i'm facing is that everytime i edit a single .pm6 file, it takes for total 6 ~ 12 sec to compile and load in rakudo :(
20:12 yoleaux 26 Jan 2017 02:34Z <MasterDuke> agentzh: according to timotimo, 'will probably have to "up" a few times until you find a frame that has "tc" in it', before the `print MVM_dump_backtrace(tc)`
20:13 agentzh MasterDuke: maybe it can be automated by a gdb python extension? like this? https://github.com/openres​ty/openresty-gdb-utils#lbt
20:14 agentzh i wonder if anyone has ever worked on a perl 6 (not nqp) project of this size.
20:14 agentzh the delay on compilation is unbearable i'm afraid.
20:15 agentzh my laptop is a mid-2015 15 inch macbook pro with the best CPU and biggest ram in that model.
20:15 agentzh without the .precomp cache, it takes more than 30 sec to compile and load everythign.
20:17 agentzh i have another perl 5 project of 16K LOC planned to be ported to Perl 6. but now it seems that even the current 8K LOC perl 6 project is not feasible for simple editing and hacking :(
20:17 agentzh will anyone give me some insights here?
20:18 agentzh RAKUDO_MODULE_DEBUG=1 shows that rakudo is precompiling other unchanged compilation units.
20:18 gfldex Rakudo is far from fast yet, there is a lot of work to be done.
20:18 agentzh solely compiling the current edited compilation unit is fast enough.
20:18 gfldex also, you may have written your Perl 6 project in Perl 5.
20:19 brokenchicken agentzh: do the unchanged depend on the changed?
20:19 agentzh wondering if it's possible to convince rakudo to avoid recompiling other unchanged compilation units.
20:19 agentzh brokenchicken: yes.
20:19 brokenchicken agentzh: well, that's why it's recompiling them.
20:19 agentzh brokenchicken: can this be disabled?
20:20 agentzh brokenchicken: since i seldom or never change the API
20:20 brokenchicken agentzh: but you'd get broken then
20:20 brokenchicken *broken code
20:20 gfldex agentzh: do you code functional?
20:20 agentzh brokenchicken: wondering if it's possible to do API validation automatically.
20:20 agentzh in C, we have the header files for the API protocol.
20:20 agentzh so if the header files do not change, no need to recompile other cu.
20:21 agentzh gfldex: i use OO exclusively.
20:21 wololoooo joined #perl6
20:21 gfldex C got a linker while Perl 6 cant
20:21 agentzh just need suggestions to get over the compilation time hurdle.
20:21 agentzh it makes me feel like hacking on the oldest machine in the world :)
20:22 gfldex I try to avoid OO with Perl 6 because functional tends to be less self-entangling
20:22 brokenchicken agentzh: Have a preprocessor shove all of them into a single file before compilation?
20:22 agentzh gfldex: i can't avoid OO since the whole thing is a compiler that relies on OO for AST representation and transformation.
20:23 brokenchicken That's what we do with rakudo's files
20:23 agentzh turning it into functional style like in Haskell results in a lot of "copying rules" and code duplication which i learned from my haskell compiler.
20:24 agentzh brokenchicken: why a single file?
20:24 agentzh brokenchicken: i do not have a preprocessor.
20:25 gfldex Rakudo will scan quite a few directories every time you `use Module;`
20:26 agentzh gfldex: i don't think those scans can take several seconds will they?
20:26 agentzh i have a very fast PICe SSD.
20:26 gfldex the problem is not the storage system
20:27 agentzh tell me more :)
20:27 agentzh it seems to be CPU intensive.
20:28 agentzh 100% of moar most of the time.
20:28 agentzh 100% CPU
20:28 gfldex IO didn't get optimised much yet and the compiler isn't smart enough yet to avoid creating loads of objects just to thow them away after using them once
20:28 gfldex it's mostly memory bound actually
20:29 gfldex but a CPU waiting for the cache to deliver will wait 100% of the time
20:29 agentzh so the workaround is to concatenate everything into a single pm6 or p6 file?
20:29 gfldex yes
20:30 agentzh seems like i also need to rewrite "unit class foo" in my .pm6 file preprocessor :)
20:30 agentzh okay, i'll try.
20:30 agentzh thanks for the suggestion.
20:30 timotimo it'd be a lot of work to make our serialization scheme work with re-using old versions if "nothing changed"
20:30 timotimo well, really you want to have existing code work with new versions of their dependencies without recompiling the new thing
20:30 timotimo ... i might be misunderstanding
20:31 timotimo but we essentially have a bunch of references to IDs of things rather than some identifier that might stay the same
20:37 agentzh timotimo: i just want rakudo only to recompile CUs that do not change since the last compilation.
20:38 agentzh timotimo: i just want rakudo avoid recompiling CUs that do not change since the last compilation.
20:38 timotimo right. when a CU doesn't change, it won't be recompiled
20:38 gfldex that's a lot harder then one might think
20:38 timotimo but if its dependency is no longer available, it has to change
20:38 gfldex for one you can't trust filesystem much
20:39 timotimo well, we already check sha1sum i believe
20:39 gfldex GNU Make acutally tries to detect clock skews when running on nfs
20:39 araujo joined #perl6
20:41 brokenchicken agentzh: OOC you don't have any extra dirs you add with `use lib` or -I, other than the dir that just has modules, right?
20:42 brokenchicken agentzh: for filysystem CUR, rakudo collects all the files in -I and shas them. That can be very slow if the path has lots of files in it
20:43 gfldex i wonder if Rakudo could steal gits sha1s
20:44 gfldex zfs and btrfs got them already too, but sadly they wont tell
20:48 agentzh brokenchicken: right, i only have -Ilib on the perl6 command line. and no use of "use lib".
20:52 Charlie left #perl6
21:04 MasterDuke agentzh: could you compile with --profile-compile and see what exactly the slow parts are?
21:06 agentzh MasterDuke: --profile-compile leads to an infinite loop as reported here: https://rt.perl.org/Public/Bug/Dis​play.html?id=130645#ticket-history
21:07 agentzh also checked with the latest git nom branch version, same result.
21:07 domidumont joined #perl6
21:07 agentzh seems like the all-in-one processor is trickier than i thought.
21:08 agentzh also need to take care of the dependency relationships in the CUs myself.
21:08 agentzh otherwise it's complaining about unknown parent classes.
21:08 cale2 I think I found a gap in the documentation
21:08 MasterDuke hmm, that sucks. how about a perf record of the compile?
21:09 cale2 m: say ~<hello world>.sort;
21:09 camelia rakudo-moar af4902: OUTPUT«hello world␤»
21:09 cale2 Can't find where it explains this
21:10 brokenchicken cale2: the precedence table should be it.
21:10 agentzh MasterDuke: oops, sorry, i forgot to remove the RAKUDO_MODULE_DEBUG=1 env on my side.
21:10 agentzh MasterDuke: now loading the profile html file in my chrome browser.
21:10 agentzh expected to take a long time due to the file size.
21:11 MasterDuke you might want to try the QT viewer
21:11 Geth book: WildYorkies++ created pull request #86: Update Preface and Operators
21:11 Geth book: review: https://github.com/perl6/book/pull/86
21:11 gfldex cale2: word quoting is explained here (kind of) https://docs.perl6.org/language​/quoting#Word_quoting:_%3C_%3E
21:11 Geth book: 970a2c4722 | Cale++ | 2 files
21:11 Geth book: Update Preface and Operators (#86)
21:11 Geth book:
21:11 Geth book: * Add file extension to open('scores')
21:11 Geth book:
21:11 Geth book: Did not compile without this.
21:11 Geth book:
21:11 Geth book: * Update basics.pod
21:11 Geth book: <…commit message has 14 more lines…>
21:11 Geth book: review: https://github.com/perl6/book/commit/970a2c4722
21:12 gfldex cale2: prefix ~ is explained here https://docs.perl6.org/language/operators#prefix_~
21:12 cale2 specifically the tilde on front though
21:12 gfldex and .sort comes from Any
21:14 gfldex cale2: postfix . is explained here https://docs.perl6.org/language/operators#postfix_.
21:14 cale2 No, putting the ~ in front of <>
21:14 cale2 and it automatically strings them together
21:14 gfldex that just prefix ~
21:14 cale2 G2G
21:15 gfldex we may be missing .Str tho
21:16 wamba joined #perl6
21:18 gfldex we are
21:21 gfldex no we don't but it's not in the index
21:23 Geth doc: 7d4cc9859b | (Wenzel P. P. Peppmeyer)++ | doc/Language/operators.pod6
21:23 Geth doc: link to method Str
21:23 Geth doc: review: https://github.com/perl6/doc/commit/7d4cc9859b
21:28 agentzh joined #perl6
21:31 Geth doc: cd0f6ff9b2 | (Wenzel P. P. Peppmeyer)++ | doc/Type/List.pod6
21:31 Geth doc: - get a bunch of routines into the index
21:31 Geth doc: review: https://github.com/perl6/doc/commit/cd0f6ff9b2
21:31 gfldex cale2++
21:34 bjz joined #perl6
21:35 cdg joined #perl6
21:37 azertus joined #perl6
21:39 MasterDuke joined #perl6
21:40 Cabanossi joined #perl6
21:44 pyrimidine joined #perl6
21:45 wamba joined #perl6
21:55 mawkish__ joined #perl6
21:57 samcv Parameter '$aliases' expected a writable container, but got Hash value
21:57 samcv what is the weirdness of % sigil items? i cann't have my signature be: sub ($hash is rw and pass a hash in?
21:59 agentzh joined #perl6
21:59 gfldex samcv: did you try `\hash is rw`?
21:59 samcv nope. will try that
21:59 samcv i know i've done this before hmm
22:00 samcv Can only use 'is rw' on a scalar ('$' sigil) parameter
22:01 samcv do i have to choose 'is rw' if the variable i'm passing to the sub is file scoped?
22:01 gfldex well, %-sigiled containers are never ro anyway
22:02 gfldex the error message is LTA tho
22:03 gfldex the Hash object is but it's mutator methods are not
22:03 gfldex so a rw on the outer container doesn't make much sense
22:03 samcv so what do I need to do?
22:04 gfldex either use %-sigiled containers in your sig or allow the container to be ro
22:04 gfldex the content of the Hash will never be ro
22:04 samcv allow the container to be ro? i don't understand that part
22:04 gfldex use a HashSet if you need immutable Hashy containers
22:05 gfldex or is it SetHash
22:05 gfldex `?
22:05 samcv it is a normal hash
22:05 mawkish__ joined #perl6
22:06 gfldex no wait SetHash is mutable
22:09 gfldex samcv: what do you actually want to achieve?
22:09 samcv i just want to be able to write to the hash inside the sub, write to the hash i pass through
22:09 samcv so you are saying hash's never need to set rw, because they always are?
22:10 gfldex m: sub f(%h){ %h<a> = 1 }; my %h; dd f %h;
22:10 camelia rakudo-moar af4902: OUTPUT«1␤»
22:11 gfldex well, the inner containers are mutable and autovivifying, the outer container (%h in the sig) can not be rebound.
22:12 samcv what do you mean by can not be rebound?
22:12 gfldex %-sigiled and @-sigiles containers are always containers of containers. So you need to tell the compiler (and us) what containers you refer to
22:12 MasterDuke m: sub f(%h){ %h<a> = 1 }; my %h; f %h; dd %h # i think this is a little more obvious
22:12 camelia rakudo-moar af4902: OUTPUT«Hash %h = {:a(1)}␤»
22:12 gfldex m: sub f(%h){ %h := Hash.new; }; my %h; dd f %h;
22:12 camelia rakudo-moar af4902: OUTPUT«{}␤»
22:12 agentzh MasterDuke: --profile-compile result: The profiled code ran for 6813.8ms. Of this, 188.8ms were spent on garbage collection and dynamic optimization (that's 2.77%).
22:12 agentzh is that helpful?
22:13 gfldex huh?
22:13 gfldex m: sub f(%h){ %h := Hash.new; }; my %h = a => 1; dd f %h;
22:13 camelia rakudo-moar af4902: OUTPUT«{}␤»
22:13 gfldex :-|
22:13 MasterDuke agentzh: in the routines view, what on top if you sort by exclusive time?
22:13 * brokenchicken doesn't see a problem
22:15 brokenchicken samcv: Hashes/Arrays and ilk are objects. Subs making them read-only would mean some black magic that would freeze attributes and know which methods mutate things inside. Hence why $param doesn't need `is rw` if you're just modifying hash contents. Assigning to %foo or @foo would call methods on them so is rw doesn't make sense on them
22:15 jdv79 lets say i have a role that provides a private attr and i want another role to be able to access it
22:15 samcv kk
22:15 jdv79 how do i do that?
22:15 brokenchicken Whereas with $ assignment would change the container's value, and so `is rw` is there to controll that
22:16 samcv i understand it
22:16 agentzh MasterDuke: loading the routines view.
22:16 gfldex m: sub f($h is readonly){ $h<b> = 2 }; my %h = a => 1; f %h;
22:16 camelia rakudo-moar af4902: ( no output )
22:16 agentzh hmm, the all-to-one preprocess also has to deal with exported subs in some CUs.
22:17 agentzh seems like we need to share such preprocessors :)
22:17 gfldex jdv79: jdv79 did you try `trusts`?
22:17 wamba joined #perl6
22:19 brokenchicken jdv79: don't think you can (at least without nqp)
22:21 brokenchicken m: use nqp; role Foo { has $!x = 42; }; role Bar { method foo { nqp::getattr(self, ::?CLASS, '$!x') } }; class :: does Foo does Bar {}.new.foo.say
22:21 camelia rakudo-moar af4902: OUTPUT«42␤»
22:21 agentzh alas. exported functions are hard to deal with in the all-in-one script generator.
22:21 agentzh any tricks for this?
22:23 Geth doc: 3d3b2b8c29 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Signature.pod6
22:23 Geth doc: doc is readonly
22:23 Geth doc: review: https://github.com/perl6/doc/commit/3d3b2b8c29
22:23 gfldex samcv++
22:23 samcv hmm?
22:23 brokenchicken gfldex: explicitely
22:24 gfldex In #perl6 you get bonus points for not knowing stuff and asking questions.
22:24 samcv ah.
22:24 Geth doc: 7e6e6d946a | (Wenzel P. P. Peppmeyer)++ | doc/Type/Signature.pod6
22:24 Geth doc: fix spelling
22:24 Geth doc: review: https://github.com/perl6/doc/commit/7e6e6d946a
22:26 Cabanossi joined #perl6
22:26 MasterDuke gfldex: "To explicitly as for", should be "ask", right?
22:26 gfldex yes
22:26 gfldex i don't got much sleep last night
22:27 Geth doc: 7bac7a1053 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Signature.pod6
22:27 Geth doc: fix more typos
22:27 Geth doc: review: https://github.com/perl6/doc/commit/7bac7a1053
22:28 wamba1 joined #perl6
22:32 Geth doc/master: 17 commits pushed by gfldex++
22:32 Geth doc/master: review: https://github.com/perl6/doc/c​ompare/7bac7a1053...c122064ab7
22:38 jdv79 the way priv attrs are handled seems quite restrictive
22:38 jdv79 aka annoying
22:39 jdv79 let's say i have a class, A, that does 2 roles, B and C - is there no way for that trio to share a priv attr?
22:39 jdv79 or do i have to combine B and C just for that reason?
22:40 gfldex I don't think they should. Private really means private.
22:40 jdv79 seems that would lead to god roles
22:40 gfldex don't make them private then
22:40 jdv79 private in this context to me is jut not accessble outside the instance
22:40 jdv79 what mechanism is there for that then?
22:40 gfldex in that case you can overload the accessor method
22:41 jdv79 ok.  seems hacky but that'll do.
22:41 gfldex m: class C { has $.a = 42; method a {!!!} }; say C.new; say C.new.a
22:41 camelia rakudo-moar af4902: OUTPUT«C.new(a => 42)␤Stub code executed␤  in method a at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
22:43 brokenchicken jdv79: what you're doing sounds hacky :) Your question framed differently: "how can I make a role that accesses an undeclared symbol that may or not be there when the role is composed"
22:44 jnthn Could also declare a private method, fwiw
22:44 agentzh MasterDuke: in the exclusive time sort view of routines, get SETTING::src/core/IO/Handle.pm:128 takes 88% of the time.
22:44 brokenchicken Ah, right! jnthn++
22:44 jnthn I'm generally glad of Perl 6's tight scoping rules on private attributes.
22:44 agentzh the 2nd ranked one is SET_BLOCK_OUTER_CTX gen/moar/stage2/NQPHLL.nqp:1213 which takes 0.57%.
22:45 agentzh it's strange that IO::Handle takes most of the time.
22:45 agentzh in the rakudo compiler.
22:45 mawkish__ joined #perl6
22:45 agentzh seems like a low hanging fruit for rakudo developers?
22:46 MasterDuke line 128 is get()
22:46 agentzh MasterDuke: yes
22:46 jdv79 brokenchicken: the role is composed where hte attr exists
22:46 jdv79 well, it would be if that worked
22:46 MasterDuke which has been optimized at the rakudo level
22:46 agentzh err
22:46 brokenchicken agentzh: more like nqp/moarvm developers. That method is a pretty bare collection of nqp ops
22:47 agentzh where should i report it?
22:47 MasterDuke agentzh: it now needs work at the moarvm level, but there are fewer people who can do that
22:47 agentzh at #moarvm ?
22:49 mawkish__ joined #perl6
22:50 rindolf joined #perl6
22:51 jdv79 yeah, priv method might be better
22:51 jdv79 jnthn: thanks
22:52 gfldex I just realised that I'm turning the docs from being holely to being holy. :->
22:53 mawkish__ joined #perl6
22:54 gfldex I better go to bed before my sleep deprived mind gets me to start a new religion.
22:54 gfldex good * #perl6
22:55 brokenchicken night
22:58 zakharyas joined #perl6
23:05 wamba1 joined #perl6
23:27 lep-delete joined #perl6
23:34 RabidGravy on a quick test an RPi 3 compiles rakudo twice as fast as a RPi 2
23:36 jnthn RabidGravy: How long, ooc?
23:37 RabidGravy about 15 mins on the 3
23:39 travis-ci joined #perl6
23:39 travis-ci Doc build errored. Wenzel P. P. Peppmeyer 'Merge pull request #1166 from antquinonez/master
23:39 travis-ci https://travis-ci.org/perl6/doc/builds/196228767 https://github.com/perl6/doc/com​pare/7bac7a10532f...c122064ab7f0
23:39 travis-ci left #perl6
23:40 Cabanossi joined #perl6
23:51 pyrimidine joined #perl6
23:59 saki joined #perl6

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

Perl 6 | Reference Documentation | Rakudo