Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2017-01-17

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 jdv79 does look like stuff is flowing in that regard
00:01 jdv79 i'll try to pick it back up again in the next weeks or give up then as there seems to be actual interest
00:02 brokenchicken cool
00:09 Ven joined #perl6
00:23 cibs joined #perl6
00:37 kyan joined #perl6
00:40 aborazmeh joined #perl6
00:40 aborazmeh joined #perl6
00:46 lmmx joined #perl6
00:49 Ven joined #perl6
01:06 Juerd Are there any tools to debug memory leaks in threaded Perl 6 code yet?
01:09 Ven joined #perl6
01:10 MasterDuke Juerd: i believe valgrind forces stuff onto a single thread, but that's what a bunch of people use
01:10 yoleaux 9 Jan 2017 03:46Z <AlexDaniel> MasterDuke: I have optimized Sift4 a bit. It is 60% faster now! :O
01:10 yoleaux 10 Jan 2017 06:17Z <AlexDaniel> MasterDuke: pull request sent: https://github.com/MasterDu​ke17/Text-Diff-Sift4/pull/4
01:10 Juerd MasterDuke: That's not something I could use myself :|
01:11 MasterDuke Juerd: you don't know how? or not possible?
01:11 Juerd I don't know how; I have no background in C or similar lower level programming.
01:12 Juerd I have a Perl 6 library with a simple test program. It leaks like crazy, and this prevents me (and probably anyone) from using the library in production use.
01:12 vendethiel joined #perl6
01:12 MasterDuke Juerd: well, i know very little C myself, but rakudo does come with a perl6-valgrind-m binary (really a shell script) that makes it pretty easy to get something to pass on to people who do
01:13 Juerd The equivalent (non threaded) Perl 5 program stays within 50 MB of memory. For the Perl 6 version, it starts at approximately 200 (used to be 250, so that's improving!), and then grows rapidly.
01:13 MasterDuke there are also a bunch of environment variables you could turn on that enable a bunch of debugging output
01:13 Juerd https://github.com/Juerd/p6-mqtt  # it doesn't really do much, either :)
01:14 Juerd MasterDuke: Do you know where I can read about those environment variables? That seems more within my reach :)
01:14 MasterDuke trying to find them now
01:15 Juerd The really good part is that Perl 6 really lived up to the promise of keeping the language stable. I've been able to run the same code for over a year now :P
01:15 MasterDuke Juerd: https://docs.perl6.org/programs/​00-running#Environment_Variables
01:15 Juerd Thanks
01:16 MasterDuke which points to https://github.com/rakudo/rakudo/wiki/dev-env-vars, which i think will have more of the ones you'll be interested in
01:18 newbie|2 joined #perl6
01:23 MasterDuke Juerd: you might want to try asking in #moarvm also. most of them are probably asleep now, but there's less traffic and a better chance they'll see your question in their morning
01:24 Juerd Hm, even something as simple as  react { whenever Supply.interval(.001) { say "hi" } }  is leaking :(
01:25 Juerd Without "say", or with a loop {} instead of the react/whenever, no leaks.
01:25 Juerd MasterDuke: I might, if I remember to do so
01:25 Juerd For now, I'm off to bed. Thanks for the pointers!
01:26 MasterDuke np
01:27 MasterDuke Juerd: btw, how recent a rakudo do you have? jnthn++ made a bunch of moarmv fixes recently that may have helped
01:27 GezzMC joined #perl6
01:27 Juerd MasterDuke: Today's
01:28 dugword joined #perl6
01:28 MasterDuke ha, well nevermind then
01:28 Juerd I've been trying this every few weeks for a year now :D
01:28 Juerd Good night :)
01:28 Ven joined #perl6
01:30 MasterDuke night
01:35 AlexDaniel geez… languages that don't support - in identifiers
01:37 * AlexDaniel clenches his teeth
01:37 samcv nice i have it down to 14.5 seconds from 48 seconds, for generating a minimal unicode database (like a test run thing)
01:37 AlexDaniel \o
01:37 samcv then checking it each time the sha sum is the same. someday perl 6 will hopefully be as fast as nqp
01:37 AlexDaniel \o/*
01:38 AlexDaniel what did you do?
01:38 AlexDaniel ah
01:38 AlexDaniel ok… right
01:38 AlexDaniel samcv: note that not everything is faster with nqp, for some reason
01:38 samcv true
01:38 samcv yeah i tried changing one part to nqp and it made it slower so reverted that
01:38 samcv let me push my work to a repo
01:39 BenGoldberg joined #perl6
01:40 samcv like this made it slower https://github.com/samcv/UCD/commit/43​098ccad6b0f700a673fe44d4ffa0296d0aba50
01:41 samcv though it worried me that doing this https://github.com/samcv/UCD/compare/43098c​cad6b0f700a673fe44d4ffa0296d0aba50...master
01:41 samcv made this section of the code like 3x faster
01:41 samcv the inside of the loop was already nqp optimized
01:42 samcv most of the speed up came from just using nqp::while instead of for 0..$point-max
01:42 samcv did not expect it to be that slow
01:42 AlexDaniel 0…$point-max hmmm
01:42 samcv but I am iterating over a huge number of things
01:42 samcv in these test runs it is from 0 to 921599
01:42 AlexDaniel I wonder if 0..$point-max is faster
01:42 AlexDaniel it probably is
01:43 samcv why? it should be the same?
01:43 samcv or is there something i'm missing
01:43 AlexDaniel one is range, another is Seq
01:43 AlexDaniel m: my $point-max = 5; say WHAT 0…$point-max
01:43 camelia rakudo-moar 0cd921: OUTPUT«(Seq)␤»
01:43 samcv ah
01:43 AlexDaniel m: my $point-max = 5; say WHAT 0..$point-max
01:43 camelia rakudo-moar 0cd921: OUTPUT«(Range)␤»
01:43 samcv well. i don't see why it should be slower though? hmm
01:44 samcv let me try with .. instead
01:44 * samcv thought .. was texas for …
01:44 timotimo nah, ... is the cleverer one
01:44 timotimo it can do geometric sequences and such
01:44 samcv ah
01:44 samcv benching it now
01:45 AlexDaniel we don't have non-texas .. :(
01:45 samcv but yeah the main problem here is that once I have ALL this data
01:45 samcv it takes AGES to like put all the data into the bitfields
01:45 AlexDaniel u: ‥
01:45 unicodable6 AlexDaniel, U+2025 TWO DOT LEADER [Po] (‥)
01:45 AlexDaniel what's a “leader”?
01:45 samcv which is where i'm NQP optimizing it
01:46 samcv idk
01:47 * samcv checks ftp://ftp.unicode.org/Publ​ic/9.0.0/ucd/NamesList.txt
01:47 samcv nop it has no description for it
01:47 samcv one dot leader does though
01:47 samcv ONE DOT LEADER
01:47 samcv * also used as an Armenian semicolon (mijaket)
01:47 AlexDaniel So can we use ‥ for .. or not?
01:48 samcv u: U+205A
01:48 unicodable6 samcv, U+205A TWO DOT PUNCTUATION [Po] (⁚)
01:48 samcv historically used to indicate the end of a sentence or change of speaker
01:48 samcv * extends from baseline to cap height
01:48 samcv cool
01:48 samcv uh
01:48 samcv sure
01:48 Ven joined #perl6
01:49 samcv u: U+FE30
01:49 unicodable6 samcv, U+FE30 PRESENTATION FORM FOR VERTICAL TWO DOT LEADER [Po] (︰)
01:49 samcv u: U+FE4B
01:49 unicodable6 samcv, U+FE4B WAVY OVERLINE [Po] (﹋)
01:49 Ben_Goldberg joined #perl6
01:49 samcv i can't see that one
01:49 samcv can see it on another font
01:49 samcv that one is nice the ﹋
01:50 samcv weird i can see it when I type but not otherwise. i think it gets cut off. since the replacement font is bigger than the tiny font i'm using
01:50 samcv u: U+FE54
01:50 unicodable6 samcv, U+FE54 SMALL SEMICOLON [Po] (﹔)
01:51 samcv ok 36 seconds to concat the points with …, testing with .. now
01:52 samcv nice it takes about the same amonut of time as using nqp
01:53 samcv also what's the fastest way to do `for @values -> $value { }`
01:53 AlexDaniel that is it I think
01:54 AlexDaniel samcv: another think to test would be to use perl 6 while loop with native ints
01:54 AlexDaniel thing*
01:54 AlexDaniel probably not faster than the range thing, but should be just as fast I guess
01:54 samcv it unboxes though
01:54 AlexDaniel that's ok
01:54 samcv well it will be slower
01:54 AlexDaniel or maybe not
01:54 samcv it's a little faster to use nqp::while but only like .2 seconds
01:55 samcv but… when doing like all the data, it could totally start mattering
01:55 samcv time to test doing a full run. last time it took 48 minutes XD
01:55 samcv now hopefully it will be cut in half at least
01:55 samcv and i hope i didn't introduce any new bugs that show up… but I will find out soon enough
01:57 samcv AlexDaniel, i don't think there's a way to make this faster but let me know https://github.com/samcv/UCD​/blob/master/UCD-gen.p6#L285
01:57 samcv also note that the given $key2.WHAT.^name { } loop doesn't get called unless it tries to set the same property twice
01:59 AlexDaniel samcv: do you have something to play with it?
01:59 MasterDuke samcv: couldn't that just be given $key2 { when Int {}; when Bool {} } ?
01:59 AlexDaniel just some data for apply-to-points sub so that I can test a couple of things
01:59 samcv sure ok just check out the repo
02:00 samcv and use this https://github.com/MoarVM/MoarVM/​blob/master/tools/UCD-download.p6
02:00 samcv to download the unicode files
02:00 samcv it will download everything you need for you :)
02:00 MasterDuke or even when Int | Bool
02:00 AlexDaniel I have a feeling that if/else will work faster than given/when
02:00 samcv and just run it with, --less=number
02:01 samcv if you run it with --less it will stop at that cp value in UnicodeData.txt and only run two enum properties (one enum is an int enum one is a char * enum) so that's what i'm using
02:01 samcv for my test runs, so it doesn't take too long
02:01 samcv true MasterDuke
02:01 samcv it doesn't hit that code path in the --less= command line arg tho
02:03 samcv if you do want to test that section, you want to run the   binary-property(1, 'extracted/DerivedBinaryProperties'); and also run UnicodeData subs
02:03 samcv if you run both of those together then it will trigger that for sure
02:03 GezzMC Hi, I'm evaluating Perl 6 on Win10, to see if I want it as my main application language. I have 2 problems. They're not show stoppers. I'm just asking whether I should report either of these to 'rakudobug@perl.org'. All this together may be bad form, but this'll mostly be a one shot deal.
02:03 GezzMC
02:03 GezzMC (1) PROBLEM 1: In short, I run 'perl6.bat' without giving it a tty, and it terminates with the message 'Unhandled exception: get_stream failed, unsupported std handle'.
02:03 GezzMC
02:03 GezzMC (2) PROBLEM 1 WORKAROUND: I solve the problem with some redirection like this: `0</dev/null script -eqfc "perl6 --help" /dev/null`. I've run many languages without this problem, like GCC, Perl, Python, Julia, Rust, and Node.js.
02:03 GezzMC
02:03 GezzMC (3) PROBLEM 1 INFO: I use an IDE called Isabelle/jEdit that runs on top of Cygwin. It allows me to un a bash script using an ML function called 'Isabelle_System.bash'. This bash script runs 'perl6.bat' and returns the result as a string.
02:03 GezzMC
02:03 GezzMC (4) PROBLEM 2: The Windows Rakudo distribution seems to be hard coded to 'C:\rakudo'. From past experience I got the impression that Perl 5 did a lot of hard coding of paths when modules were added and things got built. Maybe this is the same kind of thing.
02:03 GezzMC
02:03 GezzMC (5) PROBLEM 2 PROBLEM: With the path hard coded to 'C:\rakudo' I can't zip up an application with Perl 6, then it just works when someone unzips it.
02:03 samcv woah
02:03 samcv hi GezzMC
02:05 samcv i'm not sure exactly about the hardcoding since I don't run on windows, maybe somebody else knows
02:05 MasterDuke GezzMC: re #2, that's a known problem in rakudo (the path is hard-coded when it's built)
02:05 samcv yeah. i was thinking that could be the case. you will have to just compile it then with a different path
02:05 MasterDuke and when the binary you can download is built, it's built in c:\rakudo
02:06 samcv wow Took 659.2161227 seconds.
02:07 AlexDaniel samcv: I think you have to mkdir ‘build’
02:07 samcv that. is amazing. it took 48 minutes before i optimized the hell out of it
02:07 GezzMC Thanks for the info. I don't build these things. Maybe it'll get fixed some day.
02:07 MasterDuke so yeah, redistributing complete Perl 6 "programs" (i.e., binary + scripts) doesn't really work right now
02:07 samcv ah yeah that too AlexDaniel
02:07 samcv so from 48 to 10 minutes. not bad
02:07 MasterDuke GezzMC: timotimo++ recently did some experimental work on getting a moarvm+rakudo that could be redistributed
02:08 MasterDuke but i don't believe it's been merged into the main branches just yet
02:08 samcv especially because it only takes 3 seconds to concat all the points when doing a full run. that's awesome as hell
02:08 samcv it used to take like 10 minutes or something ridiculous
02:08 MasterDuke and yeah, that is expected to get fixed someday
02:08 AlexDaniel samcv: how fast is your machine? Maybe it will be more convenient for you if you did that on Whateverable server?
02:08 Ven joined #perl6
02:09 samcv yeah it may be. I have an x220
02:09 AlexDaniel samcv: should I add this one for ssh? https://github.com/samcv.keys
02:10 samcv yep
02:10 AlexDaniel samcv: ssh bisectable@94.23.219.181
02:11 AlexDaniel samcv: thinks are a little bit messy there, don't freak out :)
02:11 AlexDaniel things*
02:11 samcv ok
02:18 AlexDaniel wow, apply-to-points is called very often
02:18 samcv AlexDaniel, it's your server right?
02:18 AlexDaniel yea
02:18 samcv yeah it is
02:19 samcv i need to rename them tho
02:19 samcv apply-to-cp should be called apply-to-range
02:19 AlexDaniel feel free to use as many resources as you need
02:19 samcv and apply-to-points should be apply-to-point
02:19 samcv can you install mosh?
02:19 samcv ssh is lagging
02:19 AlexDaniel done
02:20 samcv mosh-server needs a UTF-8 native locale to run.
02:20 samcv it says. you have it set to ASCII?
02:20 GezzMC samcv & MasterDuke: Thanks again. I just wanted to put the info out. I have the redirection workaround; that's good enough for me. If Perl6 didn't have great features, the hard coded paths would be enough for me to have already given it the reject. Adios.
02:21 samcv or maybe this is my problem I need to generate US-ASCII charset
02:21 samcv AlexDaniel, can you run locale-gen en_US.UTF-8 ? that's what it suggests to be done
02:21 user_ joined #perl6
02:22 AlexDaniel samcv: done, try again?
02:22 * samcv googles
02:22 AlexDaniel :S it was en_GB.UTF-8
02:22 samcv ah
02:25 AlexDaniel samcv: should be fine now?
02:25 samcv maybe. i have en_GB.UTF-8 already generated on my computer tho :\ hmm
02:25 samcv well not as my locale but i had it generated
02:26 samcv i'm reading the github bug ticket
02:26 samcv it's closed so there must be some solution somewhere on the long page
02:26 shayan_ joined #perl6
02:28 samcv hmm I had to set LC_ALL, my LC_ALL didn't have a value
02:28 samcv i don't have it set because LC_ALL overrides my settings
02:29 samcv cause i have my LC_TIME="en_DK.UTF-8"
02:29 Ven joined #perl6
02:29 samcv so  maybe mosh is mad when there's no LC_ALL
02:30 AlexDaniel samcv: it works fine here from my computer
02:30 samcv what do you have LC_ALL set to?
02:30 AlexDaniel empty
02:30 samcv can you locale-gen en_DK.UTF-8 for me?
02:31 samcv oddly i can connect with my fine on my server
02:32 AlexDaniel samcv: done
02:32 samcv ok connected fine :)
02:32 samcv that is kind of shitty, oh well
02:32 samcv maybe cause my server has a newer mosh? idk. i have debian unstable on my server
02:33 AlexDaniel samcv: try again?
02:33 samcv no i can connect fine now
02:33 AlexDaniel pulled mosh from unstable for you
02:33 samcv that you generated en_DK
02:39 xtreak joined #perl6
02:46 Ven 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:57 drrho joined #perl6
02:58 dugword joined #perl6
03:00 sammers joined #perl6
03:04 Ven joined #perl6
03:12 dugword joined #perl6
03:14 Khisanth joined #perl6
03:24 ttttt joined #perl6
03:24 ttttt o/
03:24 Ven joined #perl6
03:26 lizmat joined #perl6
03:26 cyphase joined #perl6
03:29 teatime joined #perl6
03:29 teatime let's try that again
03:32 teatime hmm... I wonder if there are any hiking/backpacking IRC channels.
03:37 BenGoldberg teatime, I wouldn't be surprised if there were (somewhere), but probably not on freenode, since it is software project oriented.
03:37 teatime I googled, found some leads, no one in any of them.  Oh well.
03:38 teatime Anyone hacking on anything interesting this evening?
03:40 bwisti joined #perl6
03:45 Ven joined #perl6
03:50 Ben_Goldberg joined #perl6
03:56 noganex_ joined #perl6
03:58 Unavowed joined #perl6
04:02 xtreak joined #perl6
04:04 Ven joined #perl6
04:05 samcv my computer just totally locked up running this on a very long string. it works fine with this example https://gist.github.com/samcv/3​661ba40798e613b5e1d96756ee1767f
04:06 samcv basically going every 50 characters and replacing "," with ",\n"
04:08 TimToady I would guess you've managed to bypass the ropes implementation :)
04:10 samcv :(
04:12 TEttinger neat, there's rope data structures in NQP?
04:13 TimToady glancing at the MoarVM code, it looks like it should be using ropes
04:13 TimToady but it does treat every replacement as substr and concat
04:14 TimToady I'm guessing s:g/// would be more efficient here
04:19 TimToady or maybe some kind of comb, then .join("\n")
04:20 samcv yeah i'm doing   $string ~~ s:g/(.**50..60',')/$0\n/;
04:21 samcv that works pretty fast
04:24 BenGoldberg joined #perl6
04:24 Ven joined #perl6
04:27 TimToady .tell lizmat I'm fine with letting X work with multiple lazy lists, since we don't *know* that they're infinite, and we did put a certain amount of effort into making sure that degenerate case worked in the first place
04:27 yoleaux TimToady: I'll pass your message to lizmat.
04:29 AlexDaniel \o/
04:44 Ven joined #perl6
04:48 Ben_Goldberg joined #perl6
04:55 faraco joined #perl6
05:01 zacts joined #perl6
05:02 obfusk joined #perl6
05:04 Ven joined #perl6
05:23 mohae joined #perl6
05:24 Ven joined #perl6
05:39 Cabanossi joined #perl6
05:44 Ven joined #perl6
06:04 Ven joined #perl6
06:07 CIAvash joined #perl6
06:23 thayne joined #perl6
06:24 Ven joined #perl6
06:25 dugword joined #perl6
06:26 bjz joined #perl6
06:28 xtreak joined #perl6
06:37 skids joined #perl6
06:37 xtreak joined #perl6
06:41 Tonik joined #perl6
06:50 Ven joined #perl6
06:54 RabidGravy joined #perl6
07:00 bjz joined #perl6
07:08 samcv i'm toying with the idea of compressing the unicode name strings.
07:08 samcv like on this string here: "latin upper case thingy" we can save 7 bytes
07:08 samcv so applying that to all the unicode names could be nice
07:12 samcv average length is 16 chars, so we could save 4 bytes per character. so we could save 512 KB? can that be right? maybe it is
07:13 domidumont joined #perl6
07:15 samcv m:  my $num-seen = 0; my $tot; for 0..0x1FFFF { my $name = .uniname; next if $name eq '' or !defined $name; $num-seen++; $tot += .uniname.chars }; say "saw $num-seen, avg length {$tot / $num-seen}"
07:15 camelia rakudo-moar 0cd921: OUTPUT«saw 131072, avg length 16.240570␤»
07:15 wamba joined #perl6
07:15 samcv m: say 131072/1000
07:15 camelia rakudo-moar 0cd921: OUTPUT«131.072␤»
07:16 samcv ok so it looks like it takes up 131KB? ok
07:17 samcv err wait that's the number of codepoints not the length of the chars
07:17 samcv m: say 16.240570 - (4 * 131072)
07:17 camelia rakudo-moar 0cd921: OUTPUT«-524271.75943␤»
07:18 samcv yeah so we could save half a megabyte
07:19 domidumont joined #perl6
07:20 samcv m: say 16 * 131072
07:20 camelia rakudo-moar 0cd921: OUTPUT«2097152␤»
07:20 samcv say 2097152/1000
07:20 samcv m: say 2097152/1000
07:20 camelia rakudo-moar 0cd921: OUTPUT«2097.152␤»
07:21 Ven joined #perl6
07:21 samcv m: say 2097152 - 2 * 131072
07:21 camelia rakudo-moar 0cd921: OUTPUT«1835008␤»
07:22 samcv 1/4MB
07:24 dugword joined #perl6
07:27 samcv may be more. i'm going to run my script through all the unicode names and come up with a grand total that actually reflects the names, since some strings get different compression ratios depending on length and how close they are to a multiple of 3
07:34 geekosaur joined #perl6
07:36 nine_ samcv: half a megabyte sounds like worthy to pursue
07:36 samcv i think it's like 1/4 a MB
07:36 samcv but i'm gonna try and see
07:38 nine jdv79: print seems to be a very special case in Perl 5. I guess it's actually an op rather than a sub.
07:40 fatguy joined #perl6
07:40 labster joined #perl6
07:40 samcv ok my estimate was accurate. not including anything with '<' in it like illegal, control etc
07:40 samcv 234,631 bytes total saved
07:40 labster joined #perl6
07:42 fatguy i'm learning getopt using sub MAIN, how can i remove (False True)  e.g [--yes (False True)]
07:46 moritz m: sub MAIN(Bool :$yes) { }
07:46 camelia rakudo-moar 0cd921: ( no output )
07:46 moritz m: sub MAIN(Bool :$yes!) { }
07:46 camelia rakudo-moar 0cd921: OUTPUT«Usage:␤  <tmp> --yes ␤»
07:46 moritz m: sub MAIN($x, Bool :$yes) { }
07:46 camelia rakudo-moar 0cd921: OUTPUT«Usage:␤  <tmp> [--yes] <x> ␤»
07:47 moritz fatguy: ^^ I don't get a (False True) from a Bool named argument
07:47 moritz fatguy: what version of rakudo are you using?
07:48 fatguy 2016.11
07:48 fatguy multi sub MAIN (Bool :$prov!, Str :$course, Bool :$yes, Str :$node!)
07:48 fatguy --prov (False True) --node=<Str> [--course=<Str>] [--yes (False True)]
07:50 moritz fatguy: seems to be a regression In rakudo that has been fixed since then
07:51 fatguy moritz: what can i do ?
07:51 moritz fatguy: upgrade to a newer rakudo
07:51 moritz committable6: help
07:51 committable6 moritz, Like this: committable6: f583f22,HEAD say ‘hello’; say ‘world’
07:51 fatguy moritz: thanks, will do
07:52 moritz committable6: 2016.12 sub MAIN(Bool :$yes!) { }
07:52 committable6 moritz, ¦«2016.12»: Usage:␤  /tmp/blbxDH9Ln8 --yes  «exit code = 2»
07:52 moritz fatguy: seems to be fixed in 2016.12
07:52 fatguy moritz: great !
07:56 llfourn joined #perl6
07:57 redhands joined #perl6
08:00 dalek Inline-Perl5: a0e211f | niner++ | configure.pl6:
08:00 dalek Inline-Perl5: Make configure.pl6 compatible with rakudo > 393afcf9 2016-12-24
08:00 dalek Inline-Perl5:
08:00 dalek Inline-Perl5: The argument to Distribution::Path's constructor was renamed, so we now
08:00 dalek Inline-Perl5: have to pass the old and the new name to stay compatible with all Perl 6
08:00 dalek Inline-Perl5: versions.
08:00 dalek Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/a0e211f317
08:00 Khisanth joined #perl6
08:04 arnsholt We can provide specialized candidates for metaop variants that need special-casing, can't we?
08:05 Woodi m: my @a = lazy ^10000; my $e = shift @a; @a.push($e); say @a[*-1];
08:05 camelia rakudo-moar 0cd921: OUTPUT«Cannot push to a lazy list␤  in block <unit> at <tmp> line 1␤␤»
08:06 Woodi hi #perl6 :)
08:09 Woodi around 2 days ago geekosaur++ mentioned difference lists and  http://homepages.inf.ed.ac.uk/​pbrna/prologbook/node180.html  is nice description. and "holes" there are like ours infinite lists/iterators. so example above, teoretically, could work
08:09 rindolf joined #perl6
08:09 Woodi however i have no idea what is @  https://en.wikipedia.org/wiki/Difference_list  :)
08:11 faraco joined #perl6
08:11 faraco howdy
08:14 faraco A question about camelia bot. How it can interpret commands from IRC. Is it using any Perl 6 modules to do this?
08:15 faraco I'm thinking on IRC::Client, but idk if the bot using this.
08:16 nine faraco: camelia is actually written in Perl 5
08:17 xtreak joined #perl6
08:17 nine faraco: camelia started out in 2007, so it is even older than rakudo.
08:18 faraco is the bot source free for people to see? I want to learn from it.
08:20 samcv ok actually i think it will reduce storage by 0.5MB
08:20 faraco Where I can find it, if its free.
08:20 samcv new 272267 old 787271. diff: 515004; # just fixed a bug in my script
08:20 samcv yeah it's online faraco
08:22 AlexDaniel faraco: there are a bunch of perl 6 bots though
08:22 samcv err. no wait it's still 1/4 MB. my bad
08:22 AlexDaniel evalable6: say 42
08:22 evalable6 AlexDaniel, rakudo-moar 0cd921e: OUTPUT«42»
08:22 AlexDaniel evalable6: source
08:22 evalable6 AlexDaniel, https://github.com/perl6/whateverable
08:22 samcv forgot to multiple the "new" by 2. since theyare 16 bit int's vs char *'s
08:23 samcv m: say 787271 - 272267 * 2
08:23 camelia rakudo-moar 0cd921: OUTPUT«242737␤»
08:23 samcv yeah ok, so the bug didn't affect the computation, just caused it not to compute the right values. butyeah. that's a reduction of 1/3
08:25 ufobat joined #perl6
08:27 xtreak joined #perl6
08:27 redhands left #perl6
08:28 * lizmat clickbaits https://p6weekly.wordpress.com/2017/01/16/2017-03-🙆%E2%80%8D♀%EF%B8%8F-woman-gesturing-ok/
08:28 yoleaux 04:27Z <TimToady> lizmat: I'm fine with letting X work with multiple lazy lists, since we don't *know* that they're infinite, and we did put a certain amount of effort into making sure that degenerate case worked in the first place
08:28 dugword joined #perl6
08:28 lizmat TimToady: message received :-)
08:31 avuserow joined #perl6
08:33 faraco is that for real mr Larry Wall?
08:33 faraco hugme
08:34 lizmat faraco: yes, for real
08:34 faraco oh wow..thanks samcv and AlexDaniel, perl6.org has references for those.
08:34 lizmat huggable: hug faraco
08:34 * huggable hugs faraco
08:34 samcv huggable, hug huggable
08:34 * huggable hugs huggable
08:34 faraco * I just found
08:35 zakharyas joined #perl6
08:35 nine Shave, shave, shave the yak. Shave it like a queen. Merrily, merrily, merrily, merrliy, code is never clean...
08:35 teatime haha, I had my 'omg, this guy that's been helping me learn Perl6 is actually my hero Larry Wall' moment a few months ago
08:36 faraco lizmat: I didn't expect for him to visit thi channel too. cool to know.
08:36 nine m: EVAL 'print "hello there!"', :lang<Perl5>;
08:36 camelia rakudo-moar 0cd921: OUTPUT«hello there!»
08:37 Ven joined #perl6
08:39 dugword joined #perl6
08:41 dakkar joined #perl6
08:49 g4 joined #perl6
08:49 g4 joined #perl6
08:54 Ven joined #perl6
08:57 faraco .py print('hi')
08:57 yoleaux <html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"><title>404 Not Found</title></head><body text=#000000 bgcolor=#ffffff><h1>Error: Not Found</h1><h2>The requested URL <code>/py/print(&#39;hi&#39;)</code> was not found on this server.</h2><h2></h2></body></html>
08:57 faraco omg...html
08:58 faraco .ask TimToady hi
08:58 yoleaux faraco: I'll pass your message to TimToady.
09:01 faraco left #perl6
09:01 lizmat http://stackoverflow.com/questions/41689023/how-​can-i-slice-a-string-like-python-does-in-perl-6   # any takers ?
09:01 faraco joined #perl6
09:02 lizmat faraco: if you want to ask TimToady something, you probably want to say more than just "hi"  :-)
09:04 jonas1 joined #perl6
09:09 faraco lizmat: will do. :D
09:10 xtreak joined #perl6
09:14 Ven joined #perl6
09:18 domidumont joined #perl6
09:20 tadzik hm, I have 2 stackoverflow accounts and I don't remember the password for neither %)
09:20 tadzik I think they used to allow openid
09:23 teatime well, I lost a tool I need and have looked everywhere.  I'm certain I didn't take it anywhere or loan it out.
09:23 teatime I will try to remember your password if you look for my tool.
09:29 Ven joined #perl6
09:33 masak tadzik: ...reset your password?
09:33 jast tadzik: still do, it's a little more hidden
09:33 jast I don't think my account even has a password
09:33 masak tadzik: as I reach old age, I've stopped caring about managing my passwords on sites, and mostly I just reset them when I log back in :P
09:37 bjz joined #perl6
09:38 domidumont joined #perl6
09:40 tadzik masak: ah, I long abandoned the idea of trying to remember passwords, I just stuff them in a password manager
09:40 tadzik this time it doesn't know it, I don't remember the logins or emails I used, so eeh
09:41 tadzik I'll give someone else a chance, I barely use SO anyway
09:41 masak I get a lot of value out of SO, but only as a passive reader
09:41 masak I believe I've written one answer, once, to a Java question
09:41 masak oh! it was about an algorithm in which a hare was chasing a turtle! :D
09:42 masak (such algorithms turn up when you have a linked list and you want to figure out whether it contains a loop. iff the hare catches up with the turtle, there's a loop.)
09:43 teatime heh, usually when I find a good question with a good answer that helps me, there's a note on there that it's actually been deleted for one reason or another
09:43 masak surely frozen/archived rather than deleted, though?
09:44 teatime nah, deleted.  I guess they're still indexed by google 'cause I get that a lot.
09:45 xtreak joined #perl6
09:45 masak we must mean different things by "deleted", then ;)
09:45 teatime I'm just using their terminology, assuming I am not mis-remembering.
09:45 teatime I agree it's silly, 'cause people continue to answer and comment on the deleted ones too
09:45 masak yes, I believe you are
09:46 masak I don't have a kvetch as such with the fact that SO sets a question policy and enforces it
09:50 teatime I guess I meant "closed" rather than "deleted"
10:00 giraffe joined #perl6
10:01 pmurias joined #perl6
10:02 abraxxa joined #perl6
10:08 Ven joined #perl6
10:11 abraxxa joined #perl6
10:12 holyghost joined #perl6
10:13 astj joined #perl6
10:14 llfourn joined #perl6
10:26 rindolf joined #perl6
10:28 Ven joined #perl6
10:31 n0xff_ joined #perl6
10:46 ab6tract joined #perl6
10:48 Ven joined #perl6
10:49 ab6tract .tell brokenchicken i was never disputing that. but the list of things (^20) is still in order, so i was responding to the fact that i actually like that .say is ordered. side effects are not guaranteed. the order of results is. (^20)>>.say is a no-op on the original list. yes, auto-threading means it will be out of order. but i was originally jumping in to say that the list (^20) is guaranteed to be in the right order. the side-effect
10:49 yoleaux ab6tract: I'll pass your message to brokenchicken.
10:49 ab6tract anyway, i think i have hammered that bit of confusion into the ground well enough.
10:55 DrForr Huh, the high usr-to-sys ratio I've got on my VM disappears on my linode. On linode it's  0.63 vs. Bond, at home it's 0.63 vs. 0.45.
10:56 teatime ... 0.07 ?
10:57 DrForr Yep. I just figured it was better than saying 0.63 vs. 0.07.
10:57 jast in my experience some VMs manage to make these timings entirely meaningless
10:58 DrForr Oh, I agree it's probably completely useless, just the disparity was exceptionally wack.
10:58 jast I've seen a VM that was completely I/O saturated and claimed 100% idle
10:59 DrForr I don't think I've ever claimed my times were scientific :)
11:01 DrForr Or at least scientifically meaningful. For all I know some idiot could be running Rowhammer on the same blade thrashing the hell out of my cache...
11:01 brokenchicken .
11:01 yoleaux 10:49Z <ab6tract> brokenchicken: i was never disputing that. but the list of things (^20) is still in order, so i was responding to the fact that i actually like that .say is ordered. side effects are not guaranteed. the order of results is. (^20)>>.say is a no-op on the original list. yes, auto-threading means it will be out of order. but i was originally jumping in to say that the list (^20) is guaranteed to be in the right order. the side-
11:01 yoleaux effects
11:08 Ven joined #perl6
11:08 timotimo samcv, TimToady, when you use regexes on strings, we generate an op that'll flatten all ropes in a string so it becomes one contiguous string. that's why you're not getting the benefit of ropes when you run that splitting regex. i'd suggest maybe going with rindex to search for a , from 60 backwards and chopping the string up that way.
11:08 samcv thanks timotimo
11:13 DrForr Eep, sexeger :)
11:13 timotimo ah, cool, you're still up
11:14 timotimo but yeah.
11:14 timotimo also, using regexes a lot will guarantee slow run time :)
11:15 timotimo whereas i suspect a rindex-based solution will run circles around a regex based solution
11:15 DrForr Mmhmm. Lots, in fact most of the  Perl6::Parser code could be sped up quite a bit by using indexes, but that doesn't quite feel like what I should strive for right now.
11:16 timotimo well, once you are running inside a regex, you're probably good
11:16 timotimo you've paid the overhead of starting and finishing a regex match, so if you're stopping to use other stuff instead, you may pay finishing and startup cost again
11:17 timotimo samcv: i know it's usually a bit explosive, but have you considered if you can put in any parallelism at all?
11:17 jnthn They'll get cheaper also...
11:17 jnthn (regexes)
11:17 samcv not yet
11:18 jnthn TimToady++ is working at it from the NFA side
11:18 samcv splitting with normal regex is fast enough
11:18 samcv so I just did that
11:18 samcv to add the newlines every X lines
11:18 samcv err X characters
11:20 araraloren joined #perl6
11:23 Ven joined #perl6
11:24 timotimo of course if profiling says it's not a bottleneck that's fine
11:28 El_Che on route to strasbourg. Hopefully I'll have some time to meet some mongers
11:29 El_Che f*cking cold in the Airport station while waiting between 2 tgv
11:32 timotimo ugh
11:36 lizmat samcv: what are you splitting on?  a fixed string or set of strings ?
11:36 samcv just a single character
11:36 samcv just a comma
11:36 lizmat ok, then just specify "," with split
11:36 lizmat it will be 10x faster or so
11:38 lizmat $ 6 'my $a = "a," x 100; for ^10000 { $a.split(/\,/) }'
11:38 lizmat real0m4.592s
11:38 lizmat $ 6 'my $a = "a," x 100; for ^10000 { $a.split(",") }'
11:38 lizmat real0m0.488s
11:39 timotimo but it's supposed to bunch it up into sets that reach between 50 and 60 characters
11:39 lizmat .rotor(50) ?
11:39 xtreak joined #perl6
11:40 timotimo no, you'll have to calculate based on the sizes of the splits
11:40 lizmat m: dd (^20).rotor(4)
11:40 camelia rakudo-moar 0cd921: OUTPUT«((0, 1, 2, 3), (4, 5, 6, 7), (8, 9, 10, 11), (12, 13, 14, 15), (16, 17, 18, 19)).Seq␤»
11:40 lizmat ah
11:40 timotimo the things in between have different lengths, that's the tricky part
11:41 lizmat hmmm... maybe .rotor needs a Callable that gets the info collected so far, and allows you to return a flag whether it is sufficient already
11:42 lizmat hmmm..  maybe not as part of .rotor
11:42 timotimo yeah, that sounds like it's stretching rotor a bit far
11:42 tadzik between 2 tgv! Is that spinning you around, like a record? %)
11:43 leah2 joined #perl6
11:44 lizmat .oO( I hope the 2 TGV's are going in the same direction, otherwise it would be quite a stretch :-)
11:44 DrForr *right* round?
11:45 Gasher joined #perl6
11:45 zakharyas joined #perl6
11:52 Ven joined #perl6
11:58 araraloren Hi, guys! Anyone know how to deal out paramaters with perl6 NativeCall, some sample https://gist.github.com/araraloren​/1ba08adbd6d8e8158b80fe86a639e993,
12:02 faraco joined #perl6
12:03 nine araraloren: "is rw"
12:03 nine foo(Int a is rw) for foo(int *a(
12:03 nine foo(int *a) of course
12:03 araraloren not working, yesterday i tried it
12:03 faraco Hi, I tried HTTP::UserAgent to get JSON data (HTTP GET) from a server. However, I don't see POST request example or doc in the README. Is anyone know other alternative (or similar to Perl 5 LWP::UserAgent)?
12:04 timotimo araraloren: it's usually a bit difficult to work with Str for various reasons. i'd suggest trying to work with CArray instead, making sure enough memory is allocated before passing it around, stuff like that
12:05 timotimo and afterwards grabbing enough elements from the CArray into a Buf or Blob and using .decode to get the Str
12:05 jnthn araraloren: fwiw, https://github.com/rakudo/rakudo/bl​ob/nom/t/04-nativecall/15-rw-args.t is the set of tests for `is rw` use
12:06 jnthn (So, those types are the cases it's known to work on, and usage examples)
12:06 CIAvash faraco: https://github.com/sergot/http-useragent​/blob/master/lib/HTTP/UserAgent.pm6#L556
12:06 jnthn But yeah, Str is immutable in Perl 6, though in theory we could do some cleverness (encode it to a buffer, pass that, decode the buffer again after, assign)
12:06 jnthn But no idea if that's happening; if there's no test for it, probably not.
12:07 jnthn lunch &
12:07 araraloren timotimo, jnthn thanks i will try it later..
12:07 Ven joined #perl6
12:08 faraco CIAvash: omg, thanks so much!
12:08 raschipi joined #perl6
12:12 Geth doc: ilmari++ created pull request #1143: Fix typo "engaged" → "engages"
12:12 Geth doc: review: https://github.com/perl6/doc/pull/1143
12:13 ilmari lizmat: ^^ :-P
12:13 Geth doc: bf4c498149 | (Dagfinn Ilmari Mannsåker)++ | doc/Type/Signature.pod6
12:13 Geth doc: Fix typo "engaged" → "engages"
12:13 Geth doc: review: https://github.com/perl6/doc/commit/bf4c498149
12:13 Geth doc: 8e5282f5b9 | lizmat++ | doc/Type/Signature.pod6
12:13 Geth doc: Merge pull request #1143 from ilmari/patch-1
12:13 Geth doc:
12:13 Geth doc: Fix typo "engaged" → "engages"
12:13 Geth doc: review: https://github.com/perl6/doc/commit/8e5282f5b9
12:13 lizmat Thank you!
12:16 araraloren timotimo, `sub xmode(CArray[uint8] is rw) returns int32 is native('xmode') { * }`, is this declare correct, for function `int(char** str)`
12:17 timotimo good question. i'd have to try it myself tbh
12:18 araraloren It **Segmentation fault** with `my CArray[uint8] $astr .= new("54365".encode.list); fun($astr)`
12:19 timotimo i don't think you can .new a CArray with initial data
12:19 timotimo m: use NativeCall; my CArray[uint8] $test .= new(1,2,3,4,5); say $test[2]
12:19 camelia rakudo-moar 0cd921: OUTPUT«3␤»
12:19 timotimo turns out you can. okay!
12:19 faraco left #perl6
12:19 araraloren ok..
12:22 araraloren Also **Segmentation fault**, i think it's not the key of this question, i just modified first char inside c function
12:22 timotimo well, have a look what exactly gets passed etc
12:23 araraloren (CArray[Str] is rw) not have problem, but i can not get modified string
12:23 araraloren as i write inside my sample code
12:24 timotimo that's tricky business and i don't know very well how to work with it
12:26 araraloren hum ... thank you anyway
12:39 lukaramu joined #perl6
12:42 mniip joined #perl6
12:48 cognominal joined #perl6
12:51 Geth ecosystem: ronaldxs++ created pull request #291: Add US-ASCII to ecosystem
12:51 Geth ecosystem: review: https://github.com/perl6/ecosystem/pull/291
12:51 Geth ecosystem: 0713d95696 | (Ronald Schmidt)++ | META.list
12:51 Geth ecosystem: Add US-ASCII to ecosystem
12:51 Geth ecosystem:
12:51 Geth ecosystem: See https://github.com/ronaldxs/Perl6-US-ASCII
12:51 Geth ecosystem: review: https://github.com/perl6/e​cosystem/commit/0713d95696
12:51 Geth ecosystem: d404eb8c67 | lizmat++ | META.list
12:51 Geth ecosystem: Merge pull request #291 from ronaldxs/master
12:51 Geth ecosystem:
12:51 Geth ecosystem: Add US-ASCII to ecosystem
12:51 Geth ecosystem: review: https://github.com/perl6/e​cosystem/commit/d404eb8c67
12:54 wamba joined #perl6
12:55 holyghost Would it be helpful to have some amiga tools in perl6, is there any module I can look at ?
12:56 holyghost I am thinking of an emulator with assembler tools prolly in SDL2
12:57 lizmat for some people it might  :-)
12:57 lizmat it's not my particular itch, tbh
13:02 araraloren I wonder why perl6 IO::Socket::INET can not bind a localport to client-socket like perl5 does .
13:02 araraloren Hum, this is a strange design ~~
13:05 dudz joined #perl6
13:08 shayan_ joined #perl6
13:09 Ven joined #perl6
13:10 sufrostico joined #perl6
13:10 sufrostico joined #perl6
13:16 cognominal joined #perl6
13:26 Ven joined #perl6
13:26 faraco joined #perl6
13:26 faraco urgh, I'm hungry. Menu recommendation for lunch, anyone?
13:27 raschipi I'm having beef parmeggiana.
13:27 ilmari burrito? pizza? burger?
13:27 * ilmari had burger yesterday, so is going for burrito today
13:27 faraco beef parmeggiana? Whoa, sounds like italian food.
13:28 raschipi It does sound like italian food. But it's brazilian food.
13:28 timotimo how much is a brazilian?
13:29 faraco burrito? Pizza? Burger? That's my regular staples (jk).
13:29 raschipi http://www.jamieoliver.com/recip​es/beef-recipes/veal-parmigiana/
13:29 ilmari faraco: I have at least two of those three in a week
13:29 ilmari http://imgur.com/gallery/dB0Vx
13:30 curt_ joined #perl6
13:30 timotimo %)
13:31 faraco raschipi: "Heaven.". Nyummy!
13:31 cognominal joined #perl6
13:32 faraco ilmari: you better ask those chicken patties permission before you eat them. ;)
13:33 ilmari faraco: good thing I'm having a steak burrito
13:37 faraco a steak burrito?
13:37 faraco never tried that yet.
13:39 * faraco 'cooking stuff'
13:40 aussie joined #perl6
13:41 aussie joined #perl6
13:41 dudz joined #perl6
13:42 raschipi faraco, are you trying the recipe I gave you?
13:44 faraco raschipi: I wanted to try it, but I don't have the ingredients for the recipe now. So, I cook other meal instead. Sure, I'll try the recipe someday. Honestly, it's mouth watering by just looking at the meal picture.
13:44 heince joined #perl6
13:45 raschipi You can simplify it. It needs cheese, tomato sauce, beef, flour and eggs.
13:47 raschipi Here is a simpler version: http://www.justapinch.com/recipes/main​-course/beef/best-beef-parmigiana.html
13:52 * [Coke] accidentally filled his ☕ ½ with cream this morning. need caffeine to make caffeine. :|
13:53 faraco raschipi: I don't have the cheese, tomato sauce and the beef.
13:53 ggoebel joined #perl6
13:54 raschipi Oh, that's a problem.
13:57 nightfrog joined #perl6
13:58 melezhik_ joined #perl6
13:59 brokenchicken How did this person generate that error? https://rt.perl.org/Ticket/Displ​ay.html?id=130434#ticket-history
14:00 brokenchicken I can only get it as "but got NativeCall::Types::CArray[int] (NativeCall::Types::CA...)"
14:00 brokenchicken titsuki: yo
14:00 melezhik_ Hi! How to say in perl6 what I'd say in perl5:  @foo = qw{foo bar baz} ?
14:00 jnthn @foo = <foo bar baz>
14:01 brokenchicken melezhik_: @foo = <foo bar baz>; more or less
14:01 heince joined #perl6
14:01 brokenchicken melezhik_: actually, @foo = qw{foo bar baz}
14:01 melezhik_ jnthn: thanks
14:01 melezhik_ thank you!
14:02 faraco melezhik: I saw that you opened a PR to MetaCPAN about the github login issue. Is is still happening to you?
14:02 faraco is it*
14:02 melezhik_ faraco: I guess it is still here ):
14:03 melezhik_ I am not active metacpan user though for the time being
14:03 melezhik_ so it looks no rush for me
14:03 melezhik_ ahh, please let me check ...
14:03 melezhik_ sorry, misunderstood your question
14:04 nightfrog joined #perl6
14:04 dugword joined #perl6
14:05 faraco melezhik_: Ahh, I hope the issue will be fixed soon. Went to #metacpan, a person say that they can't reproduce the problem, altough I agree, that is not the 'end' of the world for the occured issue.
14:05 melezhik_ faraco:  have just checked, the issue is still here
14:05 brokenchicken ugh.. this guy bothered to find a potential source of issue but not bothered to provide a single line of code that actually produces the issue.
14:06 melezhik_ well, the way to reproduce is pretty described at github issue
14:06 melezhik_ faraco: btw, are you able to login to metacpan via github/google?
14:07 faraco melezhik_: I tried, and the 'sign in' bar still sitting on the top right corner of the site.
14:07 melezhik_ yeah, so may reproduce the issue, as well then ((
14:08 melezhik_ s/so may/so you are able/
14:08 cale2 joined #perl6
14:15 AlexDaniel brokenchicken: why so grumpy :D
14:15 eyck joined #perl6
14:17 brokenchicken AlexDaniel: because it's a 10-second ticket and I'm ready to commit but I can't reproduce the actual issue
14:17 AlexDaniel brokenchicken: commit to whateverable then :P
14:20 ChoHag joined #perl6
14:20 bwisti joined #perl6
14:26 cdg joined #perl6
14:27 brokenchicken m: subset Foo of Int where 42;  class { method foo (Foo $x) {} }.foo: 72
14:27 camelia rakudo-moar 0cd921: OUTPUT«Constraint type check failed for parameter '$x'␤  in method foo at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
14:27 brokenchicken I vaguely recall we had a better message for that at some point. Like it said "expected Foo but got Int (72)"?
14:27 [Coke] (antiparis) ooh, I saw that episode of voyager.
14:29 brokenchicken m: subset Foo of Int where 42;  class { method foo (Foo $x) {} }.foo: 72e0
14:29 camelia rakudo-moar 0cd921: OUTPUT«Type check failed in binding to $x; expected Int but got Num (72e0)␤  in method foo at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
14:29 brokenchicken hmmmmm
14:29 melezhik_ does zef or panda support versions for perl6 modules/distributions?
14:29 brokenchicken melezhik_: zef does
14:29 brokenchicken melezhik_: but our ecosystem doesn't :)
14:29 brokenchicken (or not in any sane way that is)
14:29 Geth perl6-most-wanted: 1002475b7f | (Tom Browder)++ | most-wanted/modules.md
14:29 Geth perl6-most-wanted: add api for GNU Mailman 3
14:29 Geth perl6-most-wanted: review: https://github.com/perl6/perl6​-most-wanted/commit/1002475b7f
14:30 melezhik_ brokenchicken: any plans for this feature?
14:32 brokenchicken melezhik_: in a way, yes. There was a conversation on that just last night: https://irclog.perlgeek.de/​perl6/2017-01-16#i_13931598
14:33 melezhik_ ok, will probably take a look then
14:34 melezhik_ so how panda knows that distribution is updated? I always do parda --force install , which kinda workaround ...
14:35 melezhik_ s/parda/panda/
14:36 smls joined #perl6
14:36 brokenchicken melezhik_: at a guess, it sees version in ecosystem is larger than one installed.
14:37 skids joined #perl6
14:37 brokenchicken melezhik_: but you can't ask to install a particular version. Our ecosystem always points to the latest available version unless module author manually hacks around that.
14:37 melezhik_ other thing. I want to declare a function which takes 2 required arguments ( Str, Str) and optionaly Hash as third argument, how to do that?
14:37 brokenchicken (Str, Str, Hash?)
14:37 melezhik_ ok, thanks
14:38 [Coke] docs: is nodality a word? spell check doesn't like it, and neither does google.
14:38 melezhik_ > it sees version in ecosystem is larger than one installed
14:38 melezhik_ I am bit confused, so I need to define a version at metafile for my modules?
14:38 brokenchicken Right
14:39 melezhik_ brokenchicken: thanks
14:39 smls bisectable6: say (.say for ^3).WHAT
14:39 yoleaux 15 Jan 2017 02:46Z <AlexDaniel> smls: what about writing some tests too to close the ticket? :) They should probably go here: https://github.com/perl6/roast/blo​b/d1baf2e7a3e56cd6619c46040d04ed6d​aebc1d02/S03-operators/range.t#L51
14:39 bisectable6 smls, On both starting points (old=2015.12 new=0cd921e) the exit code is 0 and the output is identical as well
14:39 bisectable6 smls, Output on both points: 0␤1␤2␤(List)
14:41 smls Is it intended that a parenthesized `for` loop inside an expression is evaluated eagerly, and returns a `List` rather than a `Seq`?
14:41 llfourn [Coke]: "nodality" sounds like a good name for a hip new startup but I don't think it's a real word
14:42 llfourn oh it's already a biotech company.
14:42 smls S04 explicitly states that such a loop should be lazy: https://design.perl6.org/S04.html#line_688
14:42 AlexDaniel c: all say (.say for ^3).WHAT
14:43 Geth doc: 7adeb6347d | (Will "Coke" Coleda)++ | doc/Language/operators.pod6
14:43 Geth doc: fix typos
14:43 Geth doc: review: https://github.com/perl6/doc/commit/7adeb6347d
14:43 Geth doc: 39c8d6b1bb | (Will "Coke" Coleda)++ | xt/words.pws
14:43 Geth doc: add new maybe-word
14:43 Geth doc: review: https://github.com/perl6/doc/commit/39c8d6b1bb
14:43 committable6 AlexDaniel, https://gist.github.com/dd0b​5601f4198d88bbfd8dc746d7eb25
14:43 melezhik_ brokenchicken: if any conventions on version format at META6.json files ?
14:43 smls Also, I thought at one point it was decided to make `for` and `map` compile to the same thing, and `map` returns a `Seq`.
14:44 brokenchicken melezhik_: no, but it doesn't hurt to go with semver
14:44 brokenchicken melezhik_: http://semver.org/
14:45 moritz note that semver implies you have a spec that you code against
14:45 melezhik_ brokenchicken: good
14:45 brokenchicken moritz: why?
14:46 smls m: say (lazy for ^5 { .say }).WHAT
14:46 camelia rakudo-moar 0cd921: OUTPUT«0␤1␤2␤3␤4␤(Seq)␤»
14:47 perlpilot moritz: not for one of our projects at $work it doesn't.
14:47 smls AlexDaniel: ^^ Looks like a bug, right?
14:47 acrussell joined #perl6
14:47 AlexDaniel hmmm
14:48 moritz brokenchicken: because it talks about features, bugs, and incompatible changes and such things
14:48 moritz brokenchicken: you can only distinguish bug fixes from incompatible changes if there's a specification, and you say a bug is something that contradicts the specification
14:49 moritz if you don't have a spec, every bugfix automatically counts as a backwards incompatible change, since somebody might rely on the buggy behavior
14:49 moritz and so each bugfix would require a major version increase
14:49 brokenchicken uuuhh
14:50 brokenchicken Somehow I never felt such a problem without any specs and with 200+ projects using semver.
14:51 brokenchicken Incompatible changes are those that were documented as doing A but now do B.
14:51 AlexDaniel smls: it's weird, yes
14:52 moritz brokenchicken: ah, so you have documentation; that's also some form of specification
14:52 AlexDaniel smls: if this “lazy” does nothing there, then perhaps it should warn about it
14:52 smls bisectable6: say (lazy for ^5 { .say }).WHAT
14:52 cale2 How can we improve the perl6 documentation? Wouldn't it be nice if there was something like this for browsing things that come included with Rakudo? https://hexdocs.pm/elixir/Kernel.html
14:52 bisectable6 smls, On both starting points (old=2015.12 new=7d5bbef) the exit code is 0 and the output is identical as well
14:52 bisectable6 smls, Output on both points: 0␤1␤2␤3␤4␤(Seq)
14:52 smls AlexDaniel: yeah, will RT
14:52 Ven joined #perl6
14:52 AlexDaniel cale2: soo… are you saying that docs.perl6.org is not enough?
14:53 moritz cale2: if you could prototype something like that for docs.perl6.org... why not?
14:53 kyan joined #perl6
14:53 brokenchicken moritz: so what you're saying is semver implies you have more than just a bundle of code? :)
14:53 melezhik_ brokenchicken: I stared with version 0.0.1 , hope it's ok
14:53 moritz brokenchicken: yes
14:53 cale2 AlexDaniel, moritz: The issue, for me at least, is the organization. For a beginner, it's impossible to know where things are placed
14:54 smls cale2: I think that would be a very long document in case of Perl 6
14:54 moritz well, it'd need some kind of different structure
14:55 moritz cale2: then ask whenever you have questions
14:55 perlpilot cale2: what do you mean by "where things are placed"? Is the search feature of docs.perl6.org inadequate?
14:55 moritz cale2: gfldex does a lot of docs maintance, I used to; feel free to hilight us on docs questions
14:56 [Coke] myself as well.
14:56 moritz right, [Coke]++ too
14:57 [Coke] also, github.com/perl6/doc/issues
15:00 dugword joined #perl6
15:00 cale2 Well, I think it's a question of usability, not comprehensiveness. For example, where do you go to see all built in things that work on Strings?
15:00 timotimo like subs and methods?
15:00 timotimo you can grep that :)
15:00 cale2 Yes
15:01 cale2 from the website?
15:01 araraloren It's a class reference there.
15:01 cale2 but there's also the Stringy class
15:01 brokenchicken cale2: docs.perl6.org/type/Str
15:01 brokenchicken Stringy is a role
15:01 timotimo no, i mean, you can grep from a perl6 script
15:01 brokenchicken cale2: but it's a somewhat random thing to do
15:02 brokenchicken cale2: you can introspect a type to get its methods
15:02 brokenchicken m: say "foo".^methods».name.sort
15:02 camelia rakudo-moar 7d5bbe: OUTPUT«(ACCEPTS BUILD Bool DUMP Int NFC NFD NFKC NFKD Num Numeric Str Stringy WHICH WHY chars chomp chop codes comb contains encode ends-with fc flip gist indent index indices lc lines match ord ords parse-base perl pred rindex samecase samemark samespace split s…»
15:03 brokenchicken cale2: I'd guess the general idea is you'd read tutorials in https://docs.perl6.org/language.html rather than go for "all methods in X" straight away
15:03 araraloren Hum, document for Stringy only one sentence, `Common role for string types (such as Str).` .
15:04 araraloren brokenchicken ++ Yeah, I agree ..
15:04 zakharyas joined #perl6
15:04 cale2 brokenchicken, but if you already know how to program, you may just want to start putting things together
15:05 brokenchicken ummmm heh
15:05 cale2 If we look at the organization of the Elixir docs, there is Pages, Modules, Protocols, Exceptions. Could we not organize Perl6 docs in a similar manner? Pages (like FAQ for common things), Classes, Roles, Exceptions
15:06 brokenchicken cale2: I see a bunch of categories in secondary nav on Types: https://docs.perl6.org/type.html
15:08 brokenchicken cale2: and Perl 6 is not PHP. You won't be an effective programmer if all you've learned is a long list of routine names; hence the Language tutorials.
15:08 cale2 And then when browsing methods, it could even tag the functions with "side effects" or "no side effects" :D
15:09 cale2 Yes, brokenchicken, I know. But a lot of stackoverflow questions come from things like not knowing certain methods exist
15:09 brokenchicken araraloren: it seems to be just that. Provides no methods.
15:10 moritz cale2: Perl 6 has a whole bunch of builtins that aren't tied to classes, which makes it harder to categorize unambiguously
15:10 brokenchicken cale2: unsure what point you're trying to make. The method reference exists...
15:10 moritz cale2: hence my suggestion that you prototype something, and then show that, so that we have something concrete to talk about
15:10 brokenchicken cale2: but the idea is you'd have at least rudimentary idea of the language.
15:10 cale2 moritz, I agree. The organization is quite tricky because of that. I'd almost say that we should have something like Hoogle where you can search for a function based upon the signature
15:11 moritz (and "prototype" could be as simple as writing a list of nagivation points in a text file)
15:11 araraloren brokenchicken, humm, maybe, it is a declaration .
15:11 AlexDaniel cale2: perhaps you don't even have to make a prototype if you have a very clear vision that you can describe in a textual form
15:11 AlexDaniel like how we can generate that stuff or something
15:11 giraffe joined #perl6
15:11 AlexDaniel in this case, just file a doc issue
15:12 cale2 I can prototype something, but I'm just thinking aloud with y'all now. Have you used Hoogle? https://www.haskell.org/hoogle/?ho​ogle=String+-%3E+String+-%3E+Bool
15:13 AlexDaniel cale2: we kinda already have “Types”, “Routines” on docs.perl6.org
15:13 cale2 since perl6 signatures are all typed now, that may work
15:13 AlexDaniel and each of them has subcategories
15:13 moritz cale2: right, but we also have coercion, which makes things harder
15:14 moritz cale2: and slurpies, and funny stuff like that
15:14 moritz cale2: not that I object; would be an intersting experiment
15:14 brokenchicken cale2: and what does that hoogle do?
15:14 raschipi cale2: And (Any).
15:14 cale2 moritz: the coercion is based on the hierarchy of types, though.
15:14 shmibs joined #perl6
15:15 moritz cale2: I don't know what you want to say with that
15:15 cale2 So if you search "String, String -> Bool" the results would include any signatures that include types ABOVE String and Bool
15:15 moritz cale2: we have list methods in Any, which try to interpret the invocant as a List
15:15 SmokeMachine m: role R {method r {...}}.^pun
15:15 camelia rakudo-moar 7d5bbe: OUTPUT«Method 'r' must be implemented by R because it is required by roles: R.␤  in any compose_method_table at gen/moar/Metamodel.nqp line 2832␤  in any apply at gen/moar/Metamodel.nqp line 2843␤  in any compose at gen/moar/Metamodel.nqp line 3015␤  in a…»
15:16 brokenchicken cale2: um, can't say I ever felt the need to do such a search :/
15:16 pmurias cale2: something like hoogle would be cool
15:16 cale2 brokenchicken, that's fair. How do you normally handle finding a method? For example, how many times have you re-invented the wheel, only to find a method later on
15:17 faraco whoa
15:17 brokenchicken cale2: finding a method in what?
15:18 gfldex cale2: there are white a few methods that are missing the invocant in the docs. Would be really nice to see that fixed.
15:18 cale2 brokenchicken: say you are trying to solve a problem. You code up a solution. You share it with friends. And one friend says, "oh, there's a built in method that does all that already" womp womp
15:19 brokenchicken This stuff reminds me of some JavaScript engine: you enter a couple of names and it searches thousands of packages. People rave about how "cool" it is, but if you look at results most of them are nonsensical. Yes, it matched the name, but impl is completely irrelevant.
15:19 brokenchicken cale2: well, I'd search by what the method does, not by signature :S
15:19 brokenchicken I don't even know what signature .combinations/.permutation have  really
15:20 cale2 brokenchicken: how do you know what terms to use in your search? The whole thing I'm proposing is an effort to reduce tribal knowledge
15:20 brokenchicken m: say &combinations.signature
15:20 camelia rakudo-moar 7d5bbe: OUTPUT«($n, $k)␤»
15:20 gfldex cale2: see the following for grepping method declarations from all docs https://github.com/perl6/doc/blob/m​aster/util/list-missing-methods.p6
15:20 brokenchicken cale2: what do you mean? I know the task I'm trying to solve and I'd search for those keywords.
15:20 brokenchicken cale2: why the fuck would I need a list of 10,000 methods with signature (Any, Any)?
15:21 AlexDaniel ok, folks, calm down :)
15:21 cale2 Yeah, I don't mean for this to be a personal insult on the docs maintainers
15:22 brokenchicken Oh, right, maybe 9,655th of them may end up doing combinations. Thank god this search engine exists, because searching for "combinations" is useless.
15:22 cale2 I'm just finding that the elixir docs are a fantastic way to just start using the language very quickly and easily. It's very browsable and everything is in a place that makes sense.
15:22 AlexDaniel cale2: I don't think it is. We kinda know that the docs are less than awesome
15:22 * brokenchicken throws hands up in air and leaves to do $tasks
15:22 AlexDaniel cale2: but it's hard to think of something that will actually work
15:22 pmurias brokenchicken: why do you pick up some stupid strawman case?
15:23 Ven joined #perl6
15:23 brokenchicken cale2: have you considered that you're more familiar with Elixir's docs than with Perl 6's ones, which is why they seem to be "just there". I know where everything on docs.perl6.org is too, so it's all just tehre.
15:23 AlexDaniel huggable: hug brokenchicken
15:23 * huggable hugs brokenchicken
15:24 brokenchicken pmurias: I'm not. I'm answering how I would search for "combinations" method.
15:24 brokenchicken And it wouldn't be by signature.
15:24 cale2 brokenchicken: I started with elixir 5 days ago. Granted, it's a very small language. But it's largely because "oh, i need list operations, let me look in Enum or in List"
15:25 brokenchicken cale2: and how does that differ from "let me look in List, or Array, or Seq" in Perl 6?
15:25 gfldex cale2: it's not that easy. There are plenty of subs and loads of operators with very loose type constrains. Searching for types wont get you far in Perl 6.
15:26 gfldex however, there is plenty of room for improvement
15:27 gfldex an updated version of the following would be nice http://glyphic.s3.amazonaws.com/ozone​/mark/periodic/Periodic%20Table%20of%​20the%20Operators%20A4%20300dpi.jpg
15:28 timotimo yeah
15:28 brokenchicken m: say foo p5=> 42
15:28 camelia rakudo-moar 7d5bbe: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    foo used at line 1␤␤»
15:29 brokenchicken That's the only one I see out of date..
15:29 brokenchicken and :true is now :so
15:30 perlpilot The documentation discussion makes me wish we had docs somehow centered around the tasks people are likely to do.  "I want to ..." where the user fills in the ... part with "add some numbers"  or "concatenate strings" or whatever and the docs search the subject index for routines/methods that would likely be used for such tasks.
15:30 gfldex sadly the svg is not in the public domain
15:30 gfldex perlpilot: we do have that with the examples but there are no links back to the docs to make it a good learning experience
15:30 pmurias brokenchicken: hoogle in haskell is useful for searching for things like "[a] -> [b] -> [(a,b)]", like "how to turn 2 list into a list of tuples"
15:32 pmurias brokenchicken: in haskell most of the type you know what type of things you have and what you need so being able to search for a conversion can be usefull
15:32 perlpilot pmurias: that's because types are king in haskell-land
15:32 araraloren pmurias, sound like a good search way.
15:33 perlpilot Perl 6, not so much
15:33 raschipi In Perl6 you'll have (Any,Any) and want to end with (Any,Any)
15:35 pmurias perlpilot: I also fear that would reduce the usefulness of that in Perl 6
15:37 cale2 Building in knowledge of the type hierarchy is what could resolve searches, though
15:38 cale2 Mu > Any > Cool > String
15:38 faraco ..
15:38 cale2 perlpilot: I like the more "this is what I want to do" search. It makes sense. But a lot of times, a noobie wouldn't be able to explain if they aren't familiar with terms
15:39 cale2 The only way to group related methods and standalone subroutines would be by grouping type signatures, though
15:40 perlpilot cale2: as soon as you say "The only way", you're wrong.  :-)   This is Perl, TMTOWTDI rules!  ;)
15:40 pmurias does the "left-pointing magnifying glass" emoji that's the placeholder in docs.perl6.org display on people's browsers?
15:41 brokenchicken Not in Perl 6. Many routines with corresponding methods just use captures as their signatures and forward them
15:42 pmurias cale2: we group methods based on the types they are defined on
15:42 cale2 pmurias: But standalone subroutines are defined on what?
15:44 moritz pmurias: it does on my Ubutu 16.10 machine, but not on Debian Stable desktop
15:45 brokenchicken pmurias: does on mine
15:45 brokenchicken m: [].^lookup('splice').candidates.elems.say
15:45 camelia rakudo-moar 7d5bbe: OUTPUT«31␤»
15:46 raschipi pmurias: I don't see any "magnifying glass" in docs.perl6.org, running Debian Unstable.
15:47 raschipi 🔍 -> But I see it here.
15:47 raschipi u: 🔍
15:47 unicodable6 raschipi, U+1F50D LEFT-POINTING MAGNIFYING GLASS [So] (🔍)
15:53 [Coke] raschipi: upper right hand corner, there's an input box.
15:53 * ilmari sees it on firefox 50.1.0 on debian stable
15:53 raschipi Yes, now I see it.
15:53 [Coke] javascript required.
15:54 llfourn joined #perl6
15:54 perlpilot what controls the placement of the magnifying glass?  In FF, it's on the right; in chrome it's on the left.
15:55 raschipi ilmari: Debian stable needs "ttf-ancient-fonts-symbola" installed, and it's only black-and-white.
15:55 raschipi Debian Testing and Unstable have color emojis for a couple of weeks.
15:56 raschipi Sorry, Stable needs "ttf-ancient-fonts" installed.
15:57 ilmari raschipi: firefox 50 comes with emojione
15:57 ilmari I'm using http://mozilla.debian.net/
16:00 brokenchicken perlpilot: CSS ::input-placeholder pseudo-el. Unsure of what current browser support is.
16:01 brokenchicken or is it ::placeholder now
16:03 ilmari there's also a placeholder="🔍" attribute on the <input>
16:07 heince joined #perl6
16:08 araraloren joined #perl6
16:10 bstamour Has anyone been using perl6 in production yet? I'd like to hear your stories :-)
16:10 holli_ joined #perl6
16:11 bstamour I'm starting to migrate a few simple build scripts over to it from powershell, and so far I'm not having many issues.
16:12 brokenchicken bstamour: yup. And I'm noticing some mild leakage on long-running programs.
16:12 bstamour brokenchicken: oh yeah?
16:13 bstamour Luckily my build scripts are quite small.
16:14 brokenchicken Yeah, one leaks about ~50-100MB per day of runtime (though depends on how many queries it handles)
16:14 brokenchicken Also, bleed rakudo has a few fixes that may ameliorate that leakage, I was told.
16:14 zacts joined #perl6
16:15 brokenchicken By comparison, I have a Perl 5 script that I started in January 2016 that's still running...
16:15 bstamour Right on. So probably not quite ready for building 24/7 systems eh.
16:15 brokenchicken Yeah, not quite.
16:16 bstamour Still more pleasant than powershell for my tasks though :-)
16:16 brokenchicken :)
16:19 llfourn joined #perl6
16:21 brokenchicken guess this is as good a time as any to upgrade perl6 on my server...
16:22 zakharyas joined #perl6
16:24 araraloren I have a VPS, I used Perl 6 script manage agent program.
16:26 perlpilot bstamour: but, for getting stuff done, Perl 6 is totally ready.   A couple of years ago I worked on a project to convert some fortran to java and used Perl 6 to build a testing framework that would parse them and run tests on individual routines.  Worked great.
16:27 brokenchicken buggable: tag testneeded
16:27 buggable brokenchicken, There are 17 tickets tagged with TESTNEEDED; See http://perl6.fail/t/TESTNEEDED for details
16:28 brokenchicken ^ lots of low-lying fruit for contributors
16:28 colomon joined #perl6
16:28 colomon No such method 'slurp-rest' for invocant of type 'Proc' ?
16:29 colomon Oh, it’s mentioned in the class Proc summary, but not listed in the actual ….
16:29 colomon no, it’s used on .out
16:32 timotimo right, otherwise it'd have to guess if you want stdout or stderr
16:32 araraloren joined #perl6
16:32 bstamour perlpilot: glad to hear it worked out nicely for you.
16:36 colomon timotimo: maybe I’m misremembering, but this seems more complicated than the last time I tried doing something like this.
16:36 colomon maybe I just used qx in the past?
16:37 timotimo probably
16:37 holyghost joined #perl6
16:37 timotimo if you don't need to communicate back and forth, things get a lot easier
16:38 colomon oh yeah, that’s it — qx does exactly what I want
16:38 timotimo great :)
16:38 Ven joined #perl6
16:38 * colomon is working on a short script to let himself grep against all the branch names in all the git repos under the current directory
16:39 * colomon is always misplacing branches
16:42 araraloren Goodnight, guys .
16:42 kyan joined #perl6
16:47 * colomon ’s script is now https://gist.github.com/colomon/​d79c62638f3a07baa36fe0ebe484b1b3
16:49 acrussell joined #perl6
16:50 brokenchicken Nice exploit you got in it...
16:51 khw joined #perl6
16:53 Ven joined #perl6
16:55 colomon brokenchicken: feel free to post a better version if you think it’s a worthwhile use of your time
16:57 brokenchicken colomon: https://gist.github.com/zoffixznet​/b78b48d079565f8f4caa06a77558aa1d
16:59 colomon brokenchicken++
17:02 obfusk joined #perl6
17:02 cog_ joined #perl6
17:10 brokenchicken oh crap
17:10 brokenchicken ===> Install [FAIL] for DBIish:ver('0.5.9'): ===SORRY!===
17:10 brokenchicken P6M Merging GLOBAL symbols failed: duplicate definition of symbol TypeConverter
17:19 nicq20 joined #perl6
17:19 andrss joined #perl6
17:20 nicq20 Hey perlpilot, are you online?
17:20 * [Coke] adds https://github.com/coke/p6-unicode-​mangler/blob/master/bin/unifind.p6 in case anyone wants it.
17:20 andrss m: my $x = class { has $.foo = Nil }.new; say $x.?foo[0].?bar
17:20 camelia rakudo-moar 7d5bbe: OUTPUT«Nil␤»
17:20 andrss m: my $x = class { has $.foo = Nil }.new; say $x.?lines[0].?bar
17:20 camelia rakudo-moar 7d5bbe: OUTPUT«Nil␤»
17:20 andrss m: my $x = class { has $.foo = Nil }.new; say $x.?lines[0].?words
17:20 camelia rakudo-moar 7d5bbe: OUTPUT«Cannot resolve caller words(Nil: ); none of these signatures match:␤    (Cool:D $: |c is raw)␤  in block <unit> at <tmp> line 1␤␤»
17:21 brokenchicken heh
17:22 TimToady .? is for non-existing method, not for failure to call existing method
17:22 yoleaux 08:58Z <faraco> TimToady: hi
17:23 andrss but words(Nil) is not defined
17:24 brokenchicken andrss: Nil is Cool and Cool does have .words method
17:24 andrss m: Nil.^mro.say
17:24 camelia rakudo-moar 7d5bbe: OUTPUT«(Nil (Cool) (Any) (Mu))␤»
17:25 andrss brokenchicken: shouldn't it be defined to something?
17:25 andrss Nil.words == Nil
17:26 nicq20 left #perl6
17:26 [Coke] m: 55296.chr.say
17:26 camelia rakudo-moar 7d5bbe: OUTPUT«Error encoding UTF-8 string: could not encode codepoint 55296␤  in block <unit> at <tmp> line 1␤␤»
17:26 brokenchicken maybe
17:26 [Coke] O_o;
17:26 andrss m: my $x = Nil; say $x.?words
17:26 camelia rakudo-moar 7d5bbe: OUTPUT«Nil␤»
17:26 brokenchicken huh
17:27 brokenchicken m: class {}.?foo.?words
17:27 camelia rakudo-moar 7d5bbe: OUTPUT«Cannot resolve caller words(Nil: ); none of these signatures match:␤    (Cool:D $: |c is raw)␤  in block <unit> at <tmp> line 1␤␤»
17:27 brokenchicken Oh right
17:27 brokenchicken andrss: $x isn't Nil
17:27 brokenchicken It's Any
17:27 andrss why does it turn to Any?
17:27 brokenchicken andrss: because Nil is absense of value, not so much as a value in itself
17:28 [Coke] because that's the default type if you don't specify one, and assigning Nil to a container uses the default value.
17:28 brokenchicken andrss: it makes $x use it's default value, which by default is Any
17:28 andrss m: my Int $x = Nil; say $x.WHAT
17:28 camelia rakudo-moar 7d5bbe: OUTPUT«(Int)␤»
17:28 andrss i see
17:28 brokenchicken But the fact safe-method call ain't that safe is a problem IMO
17:30 llfourn joined #perl6
17:30 brokenchicken Nil special-cases some methods to propagate Nil: https://github.com/rakudo/rakudo/​blob/nom/src/core/Nil.pm#L10-L11
17:30 brokenchicken And has a FALLBACK that does the same, but for some Cool/Any/Mu methods that fallback ain't triggered, so it crashes and burns on the turn value of a safe-method call
17:30 brokenchicken *return
17:31 * brokenchicken is reminded of similar situation with Failure and Any.elems -_-
17:31 [Coke] do we have a check for "is this codepoint a valid unicode char?"
17:32 Geth doc: 1f0be4a0a7 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Nil.pod6
17:32 Geth doc: we may want to link here
17:32 Geth doc: review: https://github.com/perl6/doc/commit/1f0be4a0a7
17:32 Geth doc: c23d9cafb2 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Nil.pod6
17:32 Geth doc: link to container
17:32 Geth doc: review: https://github.com/perl6/doc/commit/c23d9cafb2
17:32 brokenchicken try .chr ?
17:32 brokenchicken as  in try { .chr  }?
17:33 [Coke] right, was wondering if we had something less exceptional.
17:33 brokenchicken m: sub itcavuc { try $^c.chr andthen "yup" orelse "nope" }; say itcavuc $_ for 20, 55296, 0xFFFFFFFF
17:33 camelia rakudo-moar 7d5bbe: OUTPUT«WARNINGS for <tmp>:␤Useless use of constant string "nope" in sink context (line 1)␤yup␤yup␤Nil␤»
17:34 brokenchicken m: sub itcavuc { try {$^c.chr} andthen "yup" orelse "nope" }; say itcavuc $_ for 20, 55296, 0xFFFFFFFF
17:34 camelia rakudo-moar 7d5bbe: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Placeholder variable $^c may not be used here because the surrounding block takes no signature␤at <tmp>:1␤------> 3sub itcavuc { try {$^c.chr}7⏏5 andthen "yup" orelse "nope" }; say itca␤    expec…»
17:34 brokenchicken screw you
17:34 brokenchicken m: sub itcavuc ($c) { try {$c.chr} andthen "yup" orelse "nope" }; say itcavuc $_ for 20, 55296, 0xFFFFFFFF
17:34 camelia rakudo-moar 7d5bbe: OUTPUT«yup␤yup␤yup␤»
17:34 brokenchicken heh
17:34 brokenchicken weird
17:35 brokenchicken m: dd try {55296.chr}
17:35 camelia rakudo-moar 7d5bbe: OUTPUT«Error encoding UTF-8 string: could not encode codepoint 55296␤  in block <unit> at <tmp> line 1␤␤»
17:35 brokenchicken m: dd sub {try {55296.chr}}()
17:35 camelia rakudo-moar 7d5bbe: OUTPUT«Error encoding UTF-8 string: could not encode codepoint 55296␤  in block <unit> at <tmp> line 1␤␤»
17:35 * brokenchicken gives up
17:36 TimToady you can't use and and or that way
17:36 brokenchicken Why not?
17:36 brokenchicken m: dd WHAT try {55296.chr}
17:36 camelia rakudo-moar 7d5bbe: OUTPUT«Str␤»
17:37 brokenchicken wat
17:37 TimToady well, you can, but "yup" is always defined
17:37 [Coke] note that this error is coming from moar's encoding files.
17:37 brokenchicken TimToady: which is why it'd get returned, but if the try {} is not defined, it'd switch to the orelese part
17:37 TimToady no
17:38 brokenchicken m: say (42 andthen "yup" orelse "nope")
17:38 camelia rakudo-moar 7d5bbe: OUTPUT«yup␤»
17:38 brokenchicken m: say (Int andthen "yup" orelse "nope")
17:38 camelia rakudo-moar 7d5bbe: OUTPUT«nope␤»
17:38 TimToady hmm, okay
17:38 brokenchicken TimToady: is it meant to work differently?
17:38 * TimToady needs moar coffee
17:39 andrss left #perl6
17:39 * TimToady was thinking of a different trap
17:40 brokenchicken m: my $x = try {55296.chr}; say "foo"
17:40 camelia rakudo-moar 7d5bbe: OUTPUT«foo␤»
17:40 brokenchicken m: my $x = try {55296.chr}; say $x.^name
17:40 camelia rakudo-moar 7d5bbe: OUTPUT«Str␤»
17:40 brokenchicken m: my $x = try {55296.chr}; say "foo $x bar"
17:40 camelia rakudo-moar 7d5bbe: OUTPUT«Error encoding UTF-8 string: could not encode codepoint 55296␤  in block <unit> at <tmp> line 1␤␤»
17:40 brokenchicken Weird. It's like a Failure, but a Str :)_
17:41 brokenchicken Ah. Now I get it. It doesn't explode until encoding operation
17:41 [Coke] m: say [+] (1..100).grep(* != 22); say [+] (1..100).race.grep(* !=22); #should this work?
17:41 camelia rakudo-moar 7d5bbe: OUTPUT«5028␤0␤»
17:42 brokenchicken m: sub itcavuc ($c) { try {$c.chr.encode} andthen "yup" orelse "nope" }; say itcavuc $_ for 20, 55296, 0xFFFFFFFF
17:42 camelia rakudo-moar 7d5bbe: OUTPUT«yup␤yup␤yup␤»
17:42 raschipi .chr should return a failure if something can't be a chr?
17:42 brokenchicken raschipi: and what would that be?
17:43 TimToady m: my $x = try {55296.chr}; say $x.ord
17:43 camelia rakudo-moar 7d5bbe: OUTPUT«55296␤»
17:43 brokenchicken m: my $x = try {55296.chr.encode}; dd ($x andthen "yup" orelse "nope")
17:43 camelia rakudo-moar 7d5bbe: OUTPUT«"nope"␤»
17:43 brokenchicken I don't get why it gives all yups in that last one :/
17:43 TimToady we've always kind of taken the approach with Perl that it's okay to think evil thoughts as long as you don't same them :)
17:43 TimToady *say
17:44 brokenchicken hah :D
17:45 brokenchicken m: sub itcavuc ($c) { try {$c.chr.encode} andthen "yup {.perl}" orelse "nope" }; say itcavuc $_ for 20, 55296, 0xFFFFFFFF
17:45 camelia rakudo-moar 7d5bbe: OUTPUT«yup utf8.new(20)␤yup utf8.new(20)␤yup utf8.new(20)␤»
17:45 brokenchicken m: sub itcavuc ($c) { $c.say; try {$c.chr.encode} andthen "yup {.perl}" orelse "nope" }; say itcavuc $_ for 50, 55296, 0xFFFFFFFF
17:45 camelia rakudo-moar 7d5bbe: OUTPUT«50␤yup utf8.new(50)␤55296␤yup utf8.new(50)␤4294967295␤yup utf8.new(50)␤»
17:46 brokenchicken cool, a bug
17:46 brokenchicken m: sub itcavuc ($c) { try {$c.chr.encode} andthen "yup {.perl}" orelse "nope" }; say itcavuc $_ for 55296, 50, 0xFFFFFFFF
17:46 camelia rakudo-moar 7d5bbe: OUTPUT«nope␤nope␤nope␤»
17:46 heince joined #perl6
17:50 TimToady m: sub itcavuc ($c) { $c.say; try {$c.chr.encode} andthen "yup $_.perl()" orelse "nope" }; say itcavuc $_ for 50, 55296, 0xFFFFFFFF
17:50 camelia rakudo-moar 7d5bbe: OUTPUT«50␤yup utf8.new(50)␤55296␤yup utf8.new(50)␤4294967295␤yup utf8.new(50)␤»
17:51 TimToady that's a weird one
17:53 TimToady m: sub itcavuc ($c) { $c.say; (try $c.chr.encode) andthen "yup $_.perl()" orelse "nope" }; say itcavuc $_ for 50, 55296, 0xFFFFFFFF
17:53 camelia rakudo-moar 7d5bbe: OUTPUT«50␤yup utf8.new(50)␤55296␤nope␤4294967295␤nope␤»
17:53 TimToady something to do with the block form of try
17:57 brokenchicken m: sub itcavuc ($c) { dd try {$c.chr.encode} }; say itcavuc $_ for 55296, 50, 0xFFFFFFFF
17:57 camelia rakudo-moar 7d5bbe: OUTPUT«Nil␤Nil␤utf8.new(50)␤Nil␤Nil␤Nil␤»
17:57 brokenchicken block try + thunking of andthen?
17:58 brokenchicken m: sub itcavuc ($c) { try {say $c} }; itcavuc $_ for 20, 55296, 0xFFFFFFFF
17:59 camelia rakudo-moar 7d5bbe: OUTPUT«20␤55296␤4294967295␤»
17:59 jnthn Could easily be...there's an amount of careless thunking happening.
17:59 brokenchicken m: sub itcavuc ($c) { try {say $c} andthen 42 }; itcavuc $_ for 20, 55296, 0xFFFFFFFF
17:59 camelia rakudo-moar 7d5bbe: OUTPUT«20␤20␤55296␤»
17:59 jnthn And every one of them is a concurrency bug
18:00 [Coke] jnthn: speaking of concurrency bugs:
18:00 [Coke] m: say [+] (1..100).grep(* != 22); say [+] (1..100).race.grep(* !=22); #should this work?
18:00 camelia rakudo-moar 7d5bbe: OUTPUT«5028␤0␤»
18:01 [Coke] (and by work I mean emit 5028 2x)
18:01 jnthn Yes
18:01 [Coke] ok. rakudobugging.
18:04 brokenchicken Rakudobug for the try andthen https://rt.perl.org/m/ticket/show?id=130575
18:04 brokenchicken I mean https://rt.perl.org/Ticket/Display.html?id=130575
18:07 jnthn [Coke]: Pretty sure it's already in there...
18:07 jnthn [Coke]: Oh, maybe the one in there is for map
18:08 Ven joined #perl6
18:10 [Coke] m: say [+] (1..100).race
18:10 camelia rakudo-moar 7d5bbe: OUTPUT«0␤»
18:10 [Coke] looks like it's happening even without .grep or .map
18:10 bstamour left #perl6
18:11 brokenchicken m: ^100 .race.elems.say
18:11 camelia rakudo-moar 7d5bbe: OUTPUT«0␤»
18:11 brokenchicken m: ^100 .race(:batch).elems.say
18:11 camelia rakudo-moar 7d5bbe: OUTPUT«0␤»
18:13 huggable joined #perl6
18:13 buggable joined #perl6
18:14 Geth joined #perl6
18:14 bstamour joined #perl6
18:15 NeuralAnomaly joined #perl6
18:15 brokenchicken buggable: speed
18:15 buggable brokenchicken, ▄▄▄▄▆▃▄▅▃▅▄▄▃█▆▃▃▄▄▄▄▅▄▅▄▅▅▆▄▄▆▄▄▆▄▂▁▂▃▂▂▄▃▂▇▂▂▃▁▁ data for 2016-12-28–2017-01-17; range: 4.878s–5.958s
18:16 raschipi u: 🏳️‍🌈
18:16 unicodable6 raschipi, U+1F3F3 WAVING WHITE FLAG [So] (🏳)
18:16 unicodable6 raschipi, U+FE0F VARIATION SELECTOR-16 [Mn] (◌️)
18:16 unicodable6 raschipi, https://gist.github.com/b38c​718a4e29ea8b5f424fab9d25ca88
18:17 zakharyas joined #perl6
18:18 * brokenchicken upgraded to leatest and greatest perl6
18:20 timotimo too late. too great.
18:20 raschipi no, too laete.
18:21 brokenchicken m: say 316888-316852
18:21 camelia rakudo-moar 7d5bbe: OUTPUT«36␤»
18:21 brokenchicken cool!
18:21 brokenchicken oh wait
18:22 brokenchicken m: say 317216-317184
18:22 camelia rakudo-moar 7d5bbe: OUTPUT«32␤»
18:23 brokenchicken m: say 317264-317216
18:23 camelia rakudo-moar 7d5bbe: OUTPUT«48␤»
18:23 timotimo what just happened ...
18:23 brokenchicken jnthn: ^ as you predicted, the bot leakage got reduced. I see in the backlog saying that buggable's `speed` command leaks 172KB and now on HEAD rakudo it leaks only 32-48KB per command
18:24 domidumont joined #perl6
18:24 brokenchicken in here https://irclog.perlgeek.de/pe​rl6-dev/2017-01-09#i_13885210
18:26 ilmari[m] raschipi: riot.im on android 7 renders the rainbow flag right 🙆🏼‍♂️
18:26 ilmari[m] u: 🙆🏼‍♂️
18:26 unicodable6 ilmari[m], U+1F646 FACE WITH OK GESTURE [So] (🙆)
18:26 unicodable6 ilmari[m], U+1F3FC EMOJI MODIFIER FITZPATRICK TYPE-3 [Sk] (🏼)
18:26 unicodable6 ilmari[m], https://gist.github.com/e585​43e6a54a14329b28179014cc088e
18:27 jnthn brokenchicken: That's an improvement.
18:28 brokenchicken indeed
18:31 llfourn joined #perl6
18:32 brokenchicken m: say 320492-320200
18:32 camelia rakudo-moar 7d5bbe: OUTPUT«292␤»
18:32 brokenchicken hm... or maybe it's much more variable than I originally though -_-
18:32 brokenchicken Need to find time to golf it down
18:34 domidumont joined #perl6
18:34 jnthn How are you measuring?
18:36 brokenchicken jnthn: looking at RES column in top, running "buggable, speed" in #zofbot and measuring the jump
18:36 jnthn ah
18:36 jnthn That's going to be noisy indeed
18:36 brokenchicken What's a better way?
18:37 mspo unix question?
18:37 jnthn Do a number of runs and average
18:37 brokenchicken OK
18:38 moritz or take the min
18:38 dataf3l joined #perl6
18:38 jnthn The GC runs when it's filled up its nursery, and only then will non-GC-managed I/O buffers also get cleaned up; old-generation collections also are done based on a percentage of RSS, meaning that its normal behavior for memory to increase until a platteau
18:38 dataf3l Hey guys
18:38 mspo csh's time has a memory-measuring feature but i'm not sure how accurate it is
18:39 jnthn So immediately after startup isn't representative of long term behavior
18:39 brokenchicken Ah
18:39 mspo can moar grow a signal handler to print out getrusage stuff?
18:39 mspo ala kill -3 in java doing a stack trace, for example
18:40 dataf3l I’m wondering, how does one run rakudo v2016.11 or 2016.10 on Win32  when the OS is 32 bits?
18:40 dataf3l the website only has 2016.01 on 32 bits
18:40 dataf3l did Perl6 drop support for 32 bits?
18:40 brokenchicken dataf3l: no volunteers to build the package
18:40 dataf3l oh
18:40 dataf3l but it builds?
18:40 dataf3l I can just build it?
18:40 brokenchicken Dunno, try?
18:41 moritz who knows?
18:41 dataf3l If I bump into compilation problems will you guys assist, I can share the binaries
18:41 dataf3l ?
18:41 brokenchicken If we know the answer to those problems, sure.
18:42 dataf3l how likely is it that it’ll compile
18:42 dataf3l 100% ?
18:43 dataf3l do I have to change the C sourcecode?
18:44 sortiz joined #perl6
18:44 sortiz \o #perl6
18:44 jnthn I think it's quite likely to build.
18:44 jnthn Especially with the MSVC toolchain
18:45 brokenchicken dataf3l: only one way to find out, bruh :)
18:45 brokenchicken dataf3l: it does build on 32-bit Linux without issues
18:48 wamba joined #perl6
18:48 brokenchicken heh, I guess it didn't work out :P
18:48 dataf3l joined #perl6
18:48 sortiz Some moar change in the last week broke DBIish with "P6M Mergin GLOBAL symbol failed: duplicate definition of symbol TypeConverter", a role recently added. Any ideas?
18:49 brokenchicken sortiz: is it definitely last week and not since 2016.12?
18:50 brokenchicken Do you have some isolated piece of code that can reproduce it? We could run it through bisectable bot
18:50 FROGGS joined #perl6
18:50 sortiz brokenchicken, the change in DBIish landing seven days ago, and was tested with current moar.
18:51 brokenchicken current as in whatever HEAD was 7 days ago?
18:51 sortiz yep
18:51 brokenchicken Don't recall anything relevant coming it. It was mostly unicode work and iterator shuffling
18:52 brokenchicken *commin g in
18:53 brokenchicken oh, I actually have 1 install from Jan 10th
18:53 sortiz With 2016.12 there are no problems :-(
18:53 labster joined #perl6
18:54 brokenchicken That one is very different from HEAD as far as module loading goes.
18:55 brokenchicken sortiz: it'd be one of these commits: https://github.com/rakudo/rakudo/c​ompare/2016.12-266-ged5c866...HEAD
18:55 brokenchicken I'm not seeing that issue on 2016.12-266-ged5c866 rakudo (that's Jan 10 HEAD)
18:55 kaare_ joined #perl6
18:57 * [Coke] has become the local git expert, apparently.
18:58 kyan joined #perl6
18:58 geekosaur (g)it happens >.>
18:59 brokenchicken sortiz: do you know which line of code causes that error?
19:01 brokenchicken nm, got it
19:01 brokenchicken We can bisect
19:01 sortiz The loading of the Pg driver, that uses the new role trigger it
19:02 brokenchicken c: HEAD use lib </home/bisectable/test/lib>; use DBIish; DBIish.install-driver(<Pg>)
19:02 committable6 brokenchicken, https://gist.github.com/0ed7​f6b1d95f134259175201bffde16f
19:03 brokenchicken aww
19:03 brokenchicken 1 sec
19:04 brokenchicken c: HEAD use lib </home/bisectable/test/DBIish/lib /home/bisectable/test/Blob/lib>; use DBIish; DBIish.install-driver(<Pg>)
19:04 committable6 brokenchicken, ¦«HEAD»: «timed out after 10 seconds, output»:  «exit signal = SIGHUP (1)»
19:05 brokenchicken c: HEAD use lib </home/bisectable/test/DBIish/lib /home/bisectable/test/Blob/lib>; use DBIish; DBIish.install-driver(<Pg>)
19:05 committable6 brokenchicken, https://gist.github.com/e6e3​1cfdaa7d28f911fc5cd458aaa980
19:05 brokenchicken yey
19:06 brokenchicken bisect: old=ed5c866 new=HEAD use lib </home/bisectable/test/DBIish/lib /home/bisectable/test/Blob/lib>; use DBIish; DBIish.install-driver(<Pg>)
19:06 bisectable6 brokenchicken, Bisecting by exit signal (old=ed5c866 new=7d5bbef). Old exit signal: 1 (SIGHUP)
19:06 brokenchicken gawddammit
19:06 brokenchicken oh
19:06 brokenchicken I thought it turned it off
19:07 bisectable6 brokenchicken, bisect log: https://gist.github.com/e947​74c8bbd0c51bb086d48484a1f160
19:07 bisectable6 brokenchicken, (2017-01-17) https://github.com/rakudo/rakudo/commit/​7d5bbefe7f73c65d2135e051068499dd045d9c4e
19:08 brokenchicken Hehe. Who knew the extra colon in the changelog could wreck such havok!
19:08 brokenchicken But yeah, all of them got killed due to timeout because it takes 10+s to compile :(
19:10 brokenchicken Plan B: change the bot timeout
19:11 brokenchicken Actually, I don't know how to restart the bots :/
19:12 sortiz I'll try manually bisect...
19:13 bisectable6 joined #perl6
19:13 brokenchicken That did the trick...
19:14 brokenchicken bisect: old=ed5c866 new=HEAD use lib </home/bisectable/test/DBIish/lib /home/bisectable/test/Blob/lib>; use DBIish; DBIish.install-driver(<Pg>)
19:14 bisectable6 brokenchicken, Bisecting by exit code (old=ed5c866 new=7d5bbef). Old exit code: 0
19:16 bisectable6 brokenchicken, bisect log: https://gist.github.com/ca55​0dc5044ba4f208efedcbb2acb23f
19:16 bisectable6 brokenchicken, (2017-01-16) https://github.com/rakudo/rakudo/commit/​f67df8ad9d4f920bb63ea40501f3b1db9d8e661d
19:16 brokenchicken ehehe
19:16 brokenchicken sortiz: got it!
19:16 sortiz brokenchicken, thank you so much!
19:17 brokenchicken pmurias: are you around? Seems the magic variables commit is now causing merge conflict
19:17 pmurias brokenchicken: I'm around
19:17 brokenchicken pmurias: see above bisectable log and commit it points to. Any idea how to fix that?
19:17 pmurias looking...
19:17 brokenchicken The "P6M Merging GLOBAL symbols failed: duplicate definition of symbol TypeConverter" error
19:19 bisectable6 joined #perl6
19:19 pmurias brokenchicken: does this happen only with DBIish or with other modules?
19:20 brokenchicken pmurias: it hasn't happened with any of these modules: https://gist.github.com/zoffixznet​/3a528bef979d013bf5c35d017d58b593
19:21 RabidGravy joined #perl6
19:21 brokenchicken pmurias: and it doesn't happen with DBIish when I check out a commit earlier than what these changes brought in: https://github.com/perl6/DB​Iish/compare/478fdb2...HEAD
19:24 brokenchicken Does anyone have an idea how to repro that error in https://rt.perl.org/Ticket/Display.html?id=130434 ?
19:25 brokenchicken The author says they don't remember and I can't repro anything that doesn't also include the full name along with abridged one :/
19:26 brokenchicken m: use NativeCall; my CArray[num64] $x where :not = CArray[num64].new: 124e0
19:26 camelia rakudo-moar 7d5bbe: OUTPUT«Type check failed in assignment to $x; expected <anon> but got NativeCall::Types::CArray[num64] (NativeCall::Types::CA...)␤  in block <unit> at <tmp> line 1␤␤»
19:26 brokenchicken like this includes full name :/
19:30 llfourn joined #perl6
19:31 brokenchicken m: use NativeCall; class { has CArray[num64] $!x; submethod BUILD { $!x := CArray[int64].new; $!x[0] = 42e0 } }.new
19:31 camelia rakudo-moar 7d5bbe: OUTPUT«Type check failed in binding; expected NativeCall::Types::CArray[num64] but got NativeCall::Types::CArray[int64] (NativeCall::Types::CA...)␤  in submethod BUILD at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
19:31 * brokenchicken is tempted to close that ticket without fix
19:33 dataf3l joined #perl6
19:34 dataf3l does compiling perl6 on windows 32 bit require java?
19:34 dataf3l I’m trying to build moar
19:34 brokenchicken no
19:34 brokenchicken dataf3l: how are you compiling it
19:35 brokenchicken perl Configure.pl --gen-moar --gen-nqp --backends=moar; make; make test; make install
19:35 brokenchicken or whatever make is on windows.... cmake nmake? something
19:36 pmurias brokenchicken: do we have a 21 char type name limit in errors?
19:37 brokenchicken pmurias: nope
19:38 brokenchicken The 21 limit is for the .perl() of the thing, which makes sense. And I can't reproduce the reported error where it cuts the name like the way it was reported
19:38 timotimo dataf3l: how did you get the idea? that really interests me
19:41 dataf3l joined #perl6
19:44 dataf3l joined #perl6
19:45 xzhao joined #perl6
19:48 dataf3l joined #perl6
19:49 bjz joined #perl6
19:50 dataf3l I’m trying to use Perl6 for $work
19:50 dataf3l so,
19:50 dataf3l one of my coworkers is trying to install the perl6 on 32 bits
19:51 dataf3l but the last available version is 2016.01
19:51 timotimo right. i thought you were going to compile it yourself?
19:51 dataf3l which is ancient, so even panda fails on it
19:51 dataf3l I ran the perl Configure.pl command advertised on the site
19:51 dataf3l instructions to build perl6
19:51 dataf3l by hand
19:52 timotimo yeah
19:52 dataf3l Instructions do not explain the difference between windows and linux, so I assumed it was the same steps
19:52 timotimo should be the same steps
19:52 dataf3l after trying the command, indicating as backend moar (and NOT jvm) the software failed
19:52 timotimo can you put the output up on some pastebin or something?
19:52 brokenchicken hm, what typechecks would fail when .^name of expected and given things match?
19:53 timotimo brokenchicken: you could have different actual objects there ... try outputting the .WHICH and/or .WHERE of both the .WHAT and the thing you're comparing against?
19:54 dataf3l it failed on nqp/Configure.pl while it building
19:54 dataf3l it appears to complain about the lack of java.exe
19:54 dataf3l albeit in a not very clear way
19:55 brokenchicken timotimo: what do you mean by different actual objects? How does that factor into type check other than a `where` clause (and with it, I can't repo the type check with names in it)
19:55 timotimo can you try manually going into nqp/ and running its configure.pl with the same commands, but also supplying --prefix=../install ?
19:55 timotimo brokenchicken: i think i'm misunderstanding what's going on?
19:55 brokenchicken dataf3l: well, what command did you run?
19:55 brokenchicken dataf3l: you had two questions you didn't answer.
19:56 brokenchicken timotimo │ dataf3l: how did you get the idea? that really interests me
19:56 brokenchicken and brokenchic+│ dataf3l: how are you compiling it
19:56 timotimo they just gave the answer, that nqp's configure.pl said something about java.exe
19:56 dataf3l I’ll tell you in a second
19:56 dataf3l wait
19:57 brokenchicken timotimo: I'm trying to get this case to run: https://github.com/rakudo/rakudo/blob/​nom/src/core/Exception.pm#L1975-L1976
19:57 brokenchicken when both $!got.^name and $!expected.^name are the same, so all you get is the abridged $perl
19:57 dataf3l how are you compiling it: I downloaded Strawberry perl and it seems to include a cc toolchain
19:57 timotimo oh, that's easy
19:57 dataf3l should I use VS2015 instead?
19:57 brokenchicken dataf3l: but what commands are you running?
19:57 timotimo just put two classes of the same name into two different packages
19:58 brokenchicken :S
19:58 timotimo then put a sub into one package that expects the type from that package, and call it with the type from the other package
19:58 timotimo something like that
19:58 dataf3l C:\Users\wfigueredo\Downloa​ds\rakudo-star-2016.11>perl Configure.pl --backend=mo
19:58 dataf3l ar --gen-moar
19:58 dataf3l Building NQP ...
19:58 dataf3l C:\Strawberry\perl\bin\perl.exe Configure.pl --prefix=C:\Users\wfigueredo\Downlo
19:58 dataf3l ads\rakudo-star-2016.11\install --backends=moar --make-install
19:58 dataf3l Creating tools/build/install-jvm-runner.pl ...
19:58 dataf3l El sistema no puede encontrar la ruta especificada.
19:58 dataf3l ===SORRY!===
19:58 dataf3l No suitable MoarVM (moar executable) found using the --prefix
19:58 dataf3l (You can get a MoarVM built automatically with --gen-moar.)
19:58 dataf3l Command failed (status 256): C:\Strawberry\perl\bin\perl.exe Configure.pl --pref
19:58 dataf3l ix=C:\Users\wfigueredo\Downloa​ds\rakudo-star-2016.11\install --backends=moar --m
19:58 dataf3l ake-install
19:58 timotimo did you see the part where i asked you to put it up on a pastebin site?
19:59 dataf3l the part that says “el sistema no puede hallar la ruta especificada” is the actual error, that is, it says “I can’t find the file”, Windows, being a useless operating system doesn’t even tell me WHAT file it couldn’t find, because Win32 is garbage
19:59 espadrine_ joined #perl6
19:59 dataf3l I didn’t see it!!!!!
19:59 timotimo it doesn't make sense that it'd create that script there
19:59 timotimo something else must be going horribly wrong
19:59 dataf3l like?
20:00 timotimo can you run that without --make-install?
20:00 bjz_ joined #perl6
20:00 dataf3l I just ran perl Configure.pl --backend=moar --gen-moar   and it was the root Configure.pl that sent —make-install to the child nqp/Configure.pl
20:00 domidumont joined #perl6
20:01 dataf3l so in order to do that do I need to change Configure.pl ?
20:01 timotimo no
20:01 timotimo can you try manually going into nqp/ and running its configure.pl with the same commands, but also supplying --prefix=../install ?
20:01 timotimo that's what i asked ~five minutes ago
20:02 dataf3l ok I’ll try --prefix=../install and report back
20:02 girafe joined #perl6
20:02 timotimo be sure to do it inside nqp/
20:02 timotimo and remove --make-install
20:04 timotimo i have to go AFK for a bit
20:04 timotimo but anyway, install-jvm-runner.pl doesn't depend on java at all, it's just a little perl script that spits out a .sh or .bat file
20:04 timotimo it could be that it's not finding perl.exe
20:04 dataf3l ok, it’s cloning a repo or something
20:04 brokenchicken that's good
20:05 timotimo and that the error you're getting is because it can't find perl.exe
20:05 dataf3l why can’t it
20:05 dataf3l perl.exe is in the path
20:05 timotimo it was just a thought
20:05 timotimo you're calling configure.pl with C:\Strawberry\perl\bin\perl.exe rather than just perl
20:06 timotimo so i thought it's probably not in the path
20:06 timotimo AFK now
20:06 dataf3l I ran “perl Configure.pl”
20:07 dataf3l it’s in the path for sure
20:08 dataf3l I guess 32 bits is dead, right guys?
20:08 lucasb joined #perl6
20:09 * brokenchicken has a 32-bit box two feet away
20:09 hobbs the irrelevant trolling nonsense isn't really helping you any.
20:09 dataf3l what I meant to say, was
20:09 brokenchicken dataf3l: I had issues building from source on Win7; I doubt the issues you're experiencing have any relation to 32-bit
20:10 dataf3l that perhaps 32 bits is no longer a viable architecture for computing in the future, given everybody has now moved on to 64 bits
20:10 Ven joined #perl6
20:10 dataf3l May I know which issues?
20:10 dataf3l did you succeed?
20:10 brokenchicken dataf3l: also I see you're compiling "rakudo-star". I've no idea if it's meant to be compilable on windows.... I was under the impression these were pre-built packages for specific OSs
20:10 brokenchicken dataf3l: no, I just installed rakudo star. The issues... um, IIRC it was something with git
20:11 dataf3l I downloaded the sources to rakudo star from the website
20:11 brokenchicken mkay
20:11 dataf3l what should I be compiling instead?
20:12 brokenchicken dunno
20:12 brokenchicken dataf3l: on Win10, I successfully cloned github.com/rakudo/rakudo and ran perl Configure.pl --gen-moar --gen-nqp --backends=moar; nmake; nmake test; nmake install  in it
20:12 brokenchicken with Strawberry perl
20:13 brokenchicken dataf3l: in your situation, my first take would be to compile Rakudo compiler: http://rakudo.org/downloads/rakudo/
20:13 lucasb (arrived in the middle of the conversation) what, building R* on win doesn't work? what about building the 3 tarballs separated?
20:13 dataf3l Strawberry perl doesn’t include “make"
20:13 brokenchicken dataf3l: hence why my command reads "nmake"
20:14 brokenchicken lucasb: well, what is this? Is this the source that's meant to be compileable anywhere? http://rakudo.org/downloads/st​ar/rakudo-star-2016.11.tar.gz
20:14 dataf3l I also don’t have nmake :(
20:14 brokenchicken hm
20:14 dataf3l I wonder if this builds using mingw
20:15 dataf3l the website said it doesn't
20:15 brokenchicken oh, maybe I'
20:15 lucasb brokenchicken: well, I would guess the R* tarball would work the same as the 3 individual tarballs for compiling from source. but idk, never tried it on windows :)
20:15 brokenchicken m misremembering
20:15 dalek Inline-Perl5: 12d2cb0 | niner++ | / (3 files):
20:15 dalek Inline-Perl5: Just use the recommended name for META6.json
20:15 dalek Inline-Perl5:
20:15 dalek Inline-Perl5: META.info support is on its way out of the toolchain.
20:15 dalek Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/12d2cb0088
20:15 brokenchicken dataf3l: I see I don't got an nmake on my Win7 box where I had issues in the past too
20:15 dataf3l I’ll buy a beer to whomever can provide win32 32 bits windows binaries for perl6.11
20:16 brokenchicken beer? gross. How about some cocaine instead?
20:16 lucasb perl6.eleven!
20:16 dalek Inline-Python: 5577232 | niner++ | META (2 files):
20:16 dalek Inline-Python: Just use the recommended name for META6.json
20:16 dalek Inline-Python:
20:16 dalek Inline-Python: META.info support is on its way out of the toolchain.
20:16 dalek Inline-Python: review: https://github.com/niner/Inl​ine-Python/commit/5577232fcb
20:17 dataf3l is that because I’m Colombian?
20:17 brokenchicken dataf3l: what version of strawberry you got?
20:17 dataf3l 5.24 downloaded today
20:17 pmurias brokenchicken: I figure out why that commit broke DBIish
20:17 pmurias * figured
20:17 dataf3l downloading mingw now, in order to have make
20:18 brokenchicken dataf3l: no, I just find it strange there's only social acceptable drug offered as reward :)
20:18 brokenchicken pmurias++ sweet!
20:18 brokenchicken *only one
20:19 lucasb a style question: when you see 'loop (my $i = 0; ...; ...) {}' do you think it's ok? or do you feel uncomfortable because you know the scope of $i goes on?
20:19 brokenchicken dataf3l: weird. it says "compiler (gcc) + related tools" and I definitely don't got mingw on my Win10 box
20:19 perlpilot lucasb: I feel uncomfortable because it's a C-style loop and Perl has better looping constructs.
20:20 brokenchicken lucasb: unncomfortable. And I'd never use that style a loop either. We got sequence operator to produce any sort of combination you could want
20:20 dataf3l joined #perl6
20:20 dataf3l VS2015 perhaps?
20:20 pmurias brokenchicken: sugar is acceptable too
20:20 brokenchicken hehe, you're right!
20:20 lucasb ok, thanks! but I was refering specifically about the scope of the 'my $i'! forget about the loop construct :)
20:21 dataf3l Wait, DBIsh is broken!?!?!
20:21 brokenchicken lucasb: yeah, uncomfortable :) I
20:21 dataf3l guys, forget about me, I’m irrelevant!
20:21 brokenchicken lol
20:21 dataf3l DBIsh is way more important!
20:21 brokenchicken dataf3l: that's already being taken care of
20:21 dataf3l phew!
20:24 dataf3l do you guys think it will build under mingw?
20:24 brokenchicken huggable: 8ball will it build under mingw
20:24 huggable brokenchicken, nothing found
20:24 brokenchicken dataf3l: if you ain't got nmake there's your problem
20:25 brokenchicken I thought that came with strawberry
20:26 pmurias pmurias-- # trying to be too smart and breaking things
20:26 Ven joined #perl6
20:27 brokenchicken pmurias++ fixing stuff when it brokle
20:28 dataf3l joined #perl6
20:30 sortiz brokenchicken++ timely report
20:31 sortiz And bisecting support! :-)
20:31 llfourn joined #perl6
20:31 dataf3l joined #perl6
20:31 holyghost joined #perl6
20:32 brokenchicken \o/
20:33 haxmeister joined #perl6
20:37 dataf3l joined #perl6
20:37 dataf3l Ok I’m trying to build perl6 and now I have a copy of make downloaded from mingw
20:38 brokenchicken dataf3l, well it took ages to download and unpack the right file, but I see Strawberry comes with "dmake" and "gmake" try one of those
20:38 brokenchicken dataf3l: heh, well, or mingw I guess :)
20:40 dataf3l joined #perl6
20:41 Ven joined #perl6
20:44 dataf3l joined #perl6
20:46 dataf3l joined #perl6
20:47 dataf3l Perl6 rakudo 2016.11 on Windows on 32 bits failed to compile following the instructions of the website, from source http://pastebin.com/V3fWGSZ6
20:47 dataf3l using gcc and mingw
20:49 brokenchicken dataf3l: is "MSVC toolchain" jnthn++ mentioned free? Try with that instead?
20:52 geekosaur heh
20:52 geekosaur there's a free version but it's fairly limited
20:52 dataf3l joined #perl6
20:52 FROGGS but it is enough to build rakudo
20:55 Ven joined #perl6
20:56 dataf3l joined #perl6
20:57 FROGGS weird though that dyncall fails to build with gcc
20:58 tadzik FROGGS! \o/
20:58 FROGGS hi tadzik :o)
20:59 RabidGravy joined #perl6
21:00 Gasher_ joined #perl6
21:00 geekosaur it's not going to be just gcc, it's also going to involve how mingw handles dynamic loading, which will almost certainly be weird because mingw wants to pretend to be unixish and windows ain't
21:02 FROGGS geekosaur: well, you should know that rakudo is *known* to work on windows using gcc
21:02 FROGGS even Nativecall works
21:02 andrzejku joined #perl6
21:02 FROGGS which was not even problematic to get it to work actually
21:02 geekosaur under which environment? mingw, msys, msys2, msysgit, cygwin ... each slightly different and needing different support hacks
21:03 geekosaur (probably a few more variants in there too...)
21:03 FROGGS mingw IIRC
21:03 FROGGS definitly not cygwin
21:03 dataf3l joined #perl6
21:03 andrzejku hi people
21:03 andrzejku moritz, hi
21:03 zakharyas joined #perl6
21:03 FROGGS I just installed strawberry Perl 5 (or activestate's) and used their gcc to build moar, nqp and rakudo
21:04 FROGGS hey andrzejku
21:04 andrzejku did you ever play tibia?
21:05 cygx joined #perl6
21:05 cygx o/
21:05 cygx I regularly build with mingw64
21:05 dataf3l joined #perl6
21:06 cygx I can take a shot at making the 32-bit build work later today if it's an easy fix
21:06 RabidGravy boo
21:06 yoleaux 16 Jan 2017 05:18Z <azawawi> RabidGravy: Shorter code without get- and set- prefixes https://github.com/azawawi/perl6-gtk​-scintilla/blob/master/t/02-basic.t :)
21:07 tadzik I've only ever seen tibia when people on programming classes in PKiN were slacking off :P
21:07 tadzik but I was a sweaty tryhard so I never even tried it
21:08 RabidGravy okay something weird has happened, mory
21:09 RabidGravy er
21:10 FROGGS dataf3l: I might have a solution for you...
21:10 andrzejku tadzik, :)
21:10 dataf3l I’m all ears
21:10 FROGGS dataf3l: alter this line: https://github.com/MoarVM/dyncall/bl​ob/1dabd7c2fd438920502c85eaf9ca4212d​722c4b5/dyncall/dyncall_callf.c#L90
21:11 FROGGS dataf3l: to this: http://hg.dyncall.org/pub/dyncall/dyncall/fi​le/011b5e3a8548/dyncall/dyncall_callf.c#l91
21:12 shayan_ joined #perl6
21:12 dataf3l all right
21:13 dataf3l I’ll try back and report back
21:16 dataf3l joined #perl6
21:20 RabidGravy joined #perl6
21:20 dataf3l joined #perl6
21:21 cdg joined #perl6
21:21 RabidGravy something in the last commit or two of rakudo has caused it to eat all my memory in the Parse stage
21:22 sortiz RabidGravy, yep. Was pmurias last commit, an endless loop.
21:23 RabidGravy ah
21:23 sortiz pmurias is trying to fix DBIish...
21:23 RabidGravy yeah I saw
21:24 RabidGravy that's why I was rebuilding :)
21:25 sortiz We are in the same... :)
21:28 RabidGravy In other DBIish news I found I can make DBD::Informix by largely copying DBD::ODBC :)
21:28 RabidGravy they "CLI" API is basically an un-managed ODBC
21:29 RabidGravy I could do more cool stuff with the esql interface but that entails, y'know, writing C
21:30 setty1 joined #perl6
21:31 timotimo cool?
21:32 llfourn joined #perl6
21:32 [Coke] 🝖
21:34 RabidGravy with the collections and UDR stuff and all
21:36 RabidGravy I think all the special blob stuff is exposed though
21:36 andrzejku hi
21:36 dataf3l joined #perl6
21:36 andrzejku perl6 and C++ binding all is possible now?
21:38 [Coke] https://docs.perl6.org/language/nativecall
21:39 geekosaur semi-possible, some aspects of c++ will never work well from not-c++
21:39 andrzejku what do you mean some aspects?
21:39 geekosaur (then again some aspects of C are impossible with nativecall; too many dark corners)
21:40 Ven joined #perl6
21:40 * [Coke] correctively hurls https://docs.perl6.org/lang​uage/nativecall#C++_Support
21:40 geekosaur if you refer to a template, it has to already have been instantiated
21:41 geekosaur there is no way for perl 6, or anything other than compiling and linking C++ code, to instantiate a template itself; you can only use existing instances in compiled C++ code
21:42 RabidGravy I've got a working binding to a C++ library somewhere
21:42 cygx using latest 32-bit strawberry perl portable, the moarvm build failed with 'dyncall_types.h: No such file or directory' (after applying FROGGS's fix)
21:43 * [Coke] will bring his windows laptop home and give it a whirl tonight.
21:43 dataf3l joined #perl6
21:43 cygx could be a race condition - typing gmake again continues the build...
21:43 cygx no luck :(
21:43 Geth ecosystem: 4bcad33044 | (Nick Logan)++ | META.list
21:43 Geth ecosystem: s/META.info/META6.json/
21:43 Geth ecosystem: review: https://github.com/perl6/e​cosystem/commit/4bcad33044
21:44 bjz joined #perl6
21:44 RabidGravy https://github.com/Perl6-Noise-Gang/Audio-So​undtouch/blob/master/lib/Audio/SoundTouch.pm
21:48 dataf3l joined #perl6
21:51 dataf3l joined #perl6
21:51 TEttinger joined #perl6
21:51 skids joined #perl6
21:52 jonadab joined #perl6
21:55 Ven joined #perl6
21:56 dataf3l joined #perl6
22:00 dataf3l joined #perl6
22:02 dataf3l joined #perl6
22:07 dataf3l joined #perl6
22:08 RabidGravy toodles
22:11 lizmat bibi
22:11 dataf3l joined #perl6
22:13 dataf3l joined #perl6
22:16 dataf3l joined #perl6
22:19 dataf3l joined #perl6
22:23 dataf3l joined #perl6
22:26 dataf3l joined #perl6
22:29 kyan joined #perl6
22:30 dataf3l joined #perl6
22:34 llfourn joined #perl6
22:34 dataf3l joined #perl6
22:37 dataf3l joined #perl6
22:37 eady joined #perl6
22:38 mr-foobar joined #perl6
22:42 dataf3l joined #perl6
22:46 dataf3l joined #perl6
22:49 dataf3l joined #perl6
22:52 dataf3l joined #perl6
22:52 * brokenchicken gifts dataf3l a new router
22:52 dataf3l what?
22:53 brokenchicken Or is that dynamic.etb.net.co being *very dynamic*
22:53 dataf3l oh damn
22:53 dataf3l sorry guys
22:53 dataf3l Ok I may have solved it
22:53 brokenchicken dataf3l: http://i.imgur.com/1kNuxsK.png :)
22:58 samcv hello o/
22:59 sortiz \o samcv
23:03 bstamour` joined #perl6
23:11 samcv hmm i wonder what's the highest number that is shorter when written in 0x hex notation
23:12 samcv m: for 0..10000 -> $num { if $num.base(16).chars +2 < $num.chars { say $num; exit}}
23:12 camelia rakudo-moar 703799: ( no output )
23:13 samcv m: for 0..10000000 -> $num { if $num.base(16).chars +2 < $num.chars { say $num; exit}}
23:13 camelia rakudo-moar 703799: OUTPUT«(timeout)»
23:15 samcv seems it has gotta be a bigger number than I am working with
23:18 kaare_ pmurias: I can confirm that your fix works for the DBIish installation
23:19 kaare_ Just wondering if there could be a test in rakudo for that
23:22 geekosaur samcv, it doesn;t take long for the size difference to be > the prefix; the question that makes sense is not "highest number that is shorter in hex" but "highest number that is larger", because beyond some point all hex representations will be shorter than decimal
23:22 lizmat kaare_: maybe a simple solution would be a test for the problem seen in roast ?
23:22 brokenchicken samcv: don't think there's such a number at all. in hex num you can pack 150% of a dec num per char, so you'd never reach compactification of 1000%
23:22 brokenchicken or 100000% rather
23:22 samcv no there is a number that exists
23:22 samcv it's like 99999999 or something tho
23:23 samcv well i tested that and it was 1 digit shorter :P
23:27 ttt joined #perl6
23:30 pmurias kaare_, lizmat: there should be a regression test for the bug my optimalization caused
23:31 BenGoldberg joined #perl6
23:31 pmurias I'll write one tommorow as I'm not to be trusted today ;)
23:34 lizmat ++pmurias
23:34 * lizmat calls it a day
23:34 lizmat good night, #perl6!
23:35 llfourn joined #perl6
23:36 sortiz 'gnight lizmat, and thanks again
23:38 tardisx joined #perl6
23:44 cibs joined #perl6
23:48 samcv META6 seems to be failing tests for me
23:48 samcv ===> Testing [FAIL]: META6:ver('0.0.11'):auth('github:jonathanstowe')
23:48 samcv Aborting due to test failure: META6:ver('0.0.11'):auth('github:jonathanstowe')
23:49 samcv An exception occurred while evaluating a constant
23:54 timotimo samcv: well, luckily they start being the same size at 1000000
23:54 samcv lucky for what?
23:54 samcv seems unlucy
23:54 samcv *lucky
23:54 timotimo yeah, it sucks
23:56 samcv oh also I think it may not have been packing those 16bituint arrays
23:56 samcv i think so. at least the memory addresses of each element was one away from each other so it would seem so
23:56 samcv maybe not in the source code, but at least in memory
23:57 samcv going to see how big all the names base 40 encoded in one big array takes to store
23:58 timotimo yes yes :)
23:58 samcv idk maybe it will not pack :(
23:58 timotimo we will make it pack
23:58 samcv compiler hints?
23:58 timotimo violence if necessary

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

Perl 6 | Reference Documentation | Rakudo