Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-11-04

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:03 perigrin left #perl6
00:03 zengargoyle git by itself doesn't do github things like create pull requests.  the wrappers take care of all of the forking, cloning, pushing to your clone, creating a pull request against the original, updating your clone from the original, etc.
00:04 zengargoyle so far i've seen hub, git-hub, git-spindle.  but haven't had much need to actually try them.
00:04 timotimo o/
00:04 baest joined #perl6
00:14 * zengargoyle guesses i could just push doc fixes and let somebody revert them if they don't like it. :)
00:20 dalek rakudo-star-daily: f913d3c | coke++ | log/ (8 files):
00:20 dalek rakudo-star-daily: today (automated commit)
00:20 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/f913d3c33a
00:26 chenryn joined #perl6
00:30 AlexDaniel how can I get the output and exitcode at the same time? I keep getting 0 as exitcode for some reason…
00:32 gfldex AlexDaniel: sounds like a bug to me. Can you provide some code?
00:32 AlexDaniel gfldex: yeah, trying to write something simple
00:32 sprocket i think i’ve got a bug to report (though perhaps it’s already known) :) - how do i go about reporting?
00:33 gfldex you can check for bugs here: https://rt.perl.org/Public/
00:33 BenGoldberg joined #perl6
00:33 gfldex and you can write rakudobug@perl.org a love-email
00:33 AlexDaniel sprocket: just mail rakudobug@perl.org
00:33 AlexDaniel if your bug is associated with rakudo, of course
00:34 TEttinger joined #perl6
00:34 sprocket AlexDaniel: $*USER and $*GROUP aren’t updated with the new user/uid/group/gid info when you change privileges with POSIX::setuid/POSIX::setgid
00:34 sprocket so i’m assuming that’s a rakudo bug
00:35 AlexDaniel sprocket: no idea, but that's not about the specs or something else, so yeah :)
00:37 BenGoldberg joined #perl6
00:40 AlexDaniel gfldex: my $p = run 'bash', '-c', 'exit 5', :out; say $p.exitcode;
00:40 AlexDaniel gfldex: remove :out and it will work
00:42 AlexDaniel I could understand it if the exitcode was -1, but it's 0… where does it come from?
00:53 timotimo ooooh, the irc bot module is actually still being worked on
00:53 timotimo <3
00:53 timotimo Timbus++ # yays
00:54 AlexDaniel timotimo: yeah, because someone is very disappointed :)
00:54 timotimo oh?
00:54 timotimo someone's pushing it to its limits?
00:58 ugexe fwiw (not that i agree this is right): my $p = run "bash", "-c", "exit 5", :out; $p.out.close; say $p.exitcode;
00:58 gfldex AlexDaniel: nqp::shell is eating your exitcode on my side too. If you rakudobug, you may want to include `uname -a`.
00:59 Skarsnik I was wondering, is there a nice way to reload perl6 code? I remember doing something in perl5 to reload module by deleting their entry somewhere and reusing require 'file.pm'
00:59 AlexDaniel gfldex: uhm “shell”?
00:59 ugexe GLOBAL::<Name>:delete maybe
00:59 tony-o you can probably do the same in perl6 Skarsnik
00:59 tony-o ^^
00:59 AlexDaniel gfldex: I thought that nqp::shell is only used when you use shell
01:00 AlexDaniel ugexe: Oh, so I had to close it. Right, that's what I thought
01:01 AlexDaniel ugexe: thanks, at least I can get my thing working right now
01:01 gfldex might be nqp::spawn then. However, if the filehandle isn't closed, the process may still be alive. If there is a PID you could check if it's still running.
01:01 AlexDaniel right
01:01 xpen joined #perl6
01:02 AlexDaniel exitcode is not 0 so it's a bug anyway… I wonder though, should it attempt to close everything when you do .exitcode?
01:03 gfldex it might fork, so there may not be an exitcode quite yet
01:03 AlexDaniel so the right answer is -1?
01:03 zengargoyle tangent, wouldn't it have to use some sort of shell unless you give full path to executable '/bin/bash'
01:03 gfldex -1 would be right (Int and therefor .undefined would be better in my eyes)
01:04 zengargoyle or does the P6 system equiv search %*ENV<PATH> for you?
01:04 yeahnoob joined #perl6
01:04 * AlexDaniel screams
01:04 AlexDaniel no it should not use shell…
01:04 Skarsnik Oh yeah I was doing delete $INC{filename}; require filename; it even kept the value of variable x) but I was wondering if was a nicer way to do it
01:04 ugexe -1 is for queued but not started or something
01:05 zengargoyle how would it go about finding just 'bash'?
01:06 ugexe run and shell both take :%env
01:06 AlexDaniel zengargoyle: well, it should use PATH, yes
01:06 ugexe and they default to %*ENV
01:06 cognominal joined #perl6
01:07 moznion m: "GET / HTTP/1.0\r\nUser-Agent: a b c\r\n\r\n".encode('ascii').say
01:07 camelia rakudo-moar 273e89: OUTPUT«Blob[uint8]:0x<47 45 54 20 2f 20 48 54 54 50 2f 31 2e 30 0d 0a 55 73 65 72 2d 41 67 65 6e 74 3a 20 61 20 62 20 63 0d 0a 0d 0a>␤»
01:07 moznion Oops
01:08 moznion This result is different from my local perl6's one
01:09 mattn_jp joined #perl6
01:09 ugexe yeah, it shows the commit id
01:09 ugexe 273e89
01:10 timotimo camelia's a bunch of hours out of date because we don't have a clean JVM build at the moment
01:10 * timotimo commutes
01:10 BenGoldberg Skarsnik, The nicer way of reloading a file in perl5 is by *not* loading it normally; instead you create a Safe.pm object with appropriate permissions, and do $safe->rdo("require $module").  Then, when you want to reload it, throw away the Safe and create a new one.
01:12 moznion On my environment, result of the same code on above lacks a trailing newline character.
01:12 moznion Is it fixed?
01:12 ugexe that is the new behavior
01:12 moznion Wow
01:12 ugexe \r\n is a single graphme now
01:12 mattn_jp really?
01:13 mattn_jp so, we need to encode with latin-1 to get bytes for now? right?
01:13 ugexe huh?
01:13 ugexe just `.encode` will give you what you want
01:13 ugexe or what i think you want
01:14 moznion In particular, this test is failed https://github.com/tokuhirom/p6-HTTP-Parser/blob/master/t/01-request-parser.t#L90
01:14 mattn_jp "foo\r\n".encode("ascii") seems dropping last 0x0A.
01:14 moznion because the trailing "\n" is gone
01:14 zengargoyle ouch...
01:14 zengargoyle Use of Nil in string context  in block  at /home/hayter/.rakudobrew/moar-nom/panda/lib/Panda/Ecosystem.pm:106
01:14 zengargoyle Cannot parse /home/hayter/.rakudobrew/moar-nom/install/share/perl6/site/panda/projects.json as JSON: at 0: reached the end of the string while looking for things
01:14 ugexe no, you are encoding it into a single graphme
01:15 mattn_jp then, how to get bytes from Str? encode("latin-1") ?
01:15 AlexDaniel .bytes?
01:15 BenGoldberg m: "This is a test".encode("latin-1").say
01:16 camelia rakudo-moar 273e89: OUTPUT«Blob[uint8]:0x<54 68 69 73 20 69 73 20 61 20 74 65 73 74>␤»
01:16 mattn_jp m: "foo\r\n".encode("latin-1").say
01:16 camelia rakudo-moar 273e89: OUTPUT«Blob[uint8]:0x<66 6f 6f 0d 0a>␤»
01:16 AlexDaniel hmmm there's no such thing as .bytes…
01:16 mattn_jp m: "foo\r\n".encode("ascii").say
01:16 camelia rakudo-moar 273e89: OUTPUT«Blob[uint8]:0x<66 6f 6f 0d 0a>␤»
01:16 ugexe again, .encode should give you what youw ant
01:16 AlexDaniel .ords
01:16 ugexe no
01:17 BenGoldberg m: "\r\n".ords.say;
01:17 camelia rakudo-moar 273e89: OUTPUT«(13 10)␤»
01:17 ugexe perl6 -e '"\r\n".ords.say'
01:17 ugexe (13)
01:18 BenGoldberg m: "\r".uniname.say;
01:18 camelia rakudo-moar 273e89: OUTPUT«CARRIAGE RETURN (CR)␤»
01:18 BenGoldberg m: "\n".uniname.say;
01:18 camelia rakudo-moar 273e89: OUTPUT«LINE FEED (LF)␤»
01:18 ugexe that camelia is old
01:19 ugexe it only took a small change to make Grammar::HTTP work again
01:19 gfldex most of the new newline stuff was checked in today. There may still be some loose ends.
01:20 tokuhiro_ joined #perl6
01:20 Skarsnik why "\r\n" should only be one byte now? that seem odd
01:20 ugexe because unicode says so
01:21 ugexe also for the newline chomping
01:21 AlexDaniel wait, doesn't it say that it should be one grapheme or something, not one byte?
01:22 AlexDaniel I have no idea actually, but indeed it seems odd
01:22 ugexe if you encode it correctly its still 2 bytes
01:22 AlexDaniel but .ords?
01:23 ugexe something about leaking synthetics
01:23 ugexe also something else... there was a bit of discussion on all this a few hours ago in backlog
01:24 softmoth joined #perl6
01:24 timotimo um, we can't get \r\n to round-trip any more?
01:24 Skarsnik so "\r\n".encode('ascii') still give two bit?
01:24 timotimo that seems wrong, it should come out as \r\n at the end again
01:24 Actualeyes joined #perl6
01:24 Skarsnik *bytes
01:25 ugexe Skarsnik: no. again, .encode
01:25 timotimo yeah, "\r\n".encode('ascii') should give you CR and then LF
01:25 ugexe which is utf8
01:25 timotimo ugexe: you seem to be confused
01:26 timotimo ugexe: unicode says to treat \r\n as a single grapheme. that doesn't mean it gets encoded as a single codepoint when turned into utf8
01:26 timotimo especially not that it just turns into the same thing as \r or \n
01:26 ugexe im just saying what the current behavior is
01:26 timotimo ah
01:26 * timotimo is just building a current rakudo
01:27 ugexe i spend awhile debugging all my crlf stuff for the day :/
01:27 timotimo ugh :(
01:27 timotimo .o( ugh exe? )
01:28 moznion Umm, difficult for me!
01:28 ugexe https://gist.github.com/ugexe/09cfce18f3ece8b6e83b check this out for current whonkey behavior with .ords
01:28 timotimo locally, ah
01:28 ugexe nah you just spell it out
01:28 timotimo oh
01:28 timotimo it's just for .ords?
01:28 timotimo that'd make sense. the ord of a synthetic grapheme is just the base character
01:29 ugexe no. but that shows .ords leaking synthetics
01:29 timotimo in the case of \r\n, that'd be \r
01:29 timotimo oh, those high numbers?
01:29 timotimo it really, really shouldn't do that
01:29 ugexe yea. if you remove certain lines of $request the synthetics come and go
01:29 ugexe although in the same spot
01:30 timotimo let me try to reproduce that
01:30 zengargoyle panda apears busted.
01:31 ugexe yea, because of the new line stuff
01:31 timotimo dayum. you're right. that happens on my machine, too
01:31 zengargoyle yeah:             $!projectsfile.IO.spurt: $buf.split(/\r?\n\r?\n/, 2)[1];
01:31 ugexe zef works though
01:32 flussence throwing :enc<ascii> on the socket it uses above that might fix it, I dunno though, I started changing a bunch of things at once to see if I could get it going again
01:32 Skarsnik I am curious, what happend if you call the C printf with a "\r\n" ? (I closed my VM with perl6)
01:33 timotimo on the way through nativecall, strings are always encoded
01:35 moznion zengargoyle: Is this? https://rt.perl.org/Public/Bug/Display.html?id=126553
01:35 ugexe i feel like its starting to click in my head but it might just be driving me crazy
01:37 ugexe panda doesnt use `.lines` anywhere he linked to..
01:37 ugexe oh .get
01:37 moznion Fixed on the latest nqp and rakudo apparently...
01:37 zengargoyle moznion: that's it.
01:38 ugexe looks like it should work if you have HTTP::UserAgent installed
01:40 zengargoyle wget ecosystem-api.p6c.org/projects.json ; cp projects.json /home/hayter/.rakudobrew/moar-nom/install/share/perl6/site/panda/projects.json
01:40 zengargoyle hah
01:41 * timotimo is heading to bed
01:41 timotimo good night!
01:42 timotimo jnthn will surely find out what's wrong with the ords thing when he resumes work on moar
01:44 AlexDaniel “Unsupported use of brackets around replacement; in Perl 6 please use assignment syntax”
01:44 AlexDaniel what's the assignment syntax?
01:45 aborazmeh joined #perl6
01:45 aborazmeh joined #perl6
01:46 zengargoyle i've seen that one before, don't remember why...
01:47 AlexDaniel when doing s{foo}{bar}
01:47 zengargoyle $x ~~ s/foo/ = bar
01:48 zengargoyle $x ~~ s/foo/ = 'bar'
01:48 dalek evalbot: 6bd7e7d | TimToady++ | build-scripts/rebuild-rakudo- (2 files):
01:48 dalek evalbot: split builds for rakudo-moar and rakudo-jvm
01:48 dalek evalbot: review: https://github.com/perl6/evalbot/commit/6bd7e7de8e
01:48 dalek evalbot: 40d1137 | TimToady++ | evalbot.pl:
01:48 dalek evalbot: look in different directories for moar vs jvm impl
01:48 dalek evalbot: review: https://github.com/perl6/evalbot/commit/40d113715c
01:48 AlexDaniel zengargoyle: right!
01:48 zengargoyle something like that.  the replacement things are now like lvalue
01:49 AlexDaniel thanks :)
01:49 zengargoyle np
01:52 zengargoyle panda install Task::Star failed on LWP::Simple (and therefore JSON::RPC) after \r\n stuff (and manually downloading projects.json to get panda working)
01:53 mattn_jp joined #perl6
01:53 zengargoyle otherwise ok, or at least passing tests...
01:54 zengargoyle not so bad, seems mostly line protocol type stuff.
01:55 dalek evalbot: b93ffe6 | TimToady++ | build-scripts/rebuild-rakudo.pl:
01:55 dalek evalbot: just call the two sub-rebuilders now
01:55 dalek evalbot: review: https://github.com/perl6/evalbot/commit/b93ffe6bb8
01:56 AlexDaniel m: my %test; say %test.^attributes;
01:56 camelia rakudo-moar 273e89: OUTPUT«Method 'gist' not found for invocant of class 'BOOTSTRAPATTR'␤  in block <unit> at /tmp/zvQVa2tREJ:1␤␤»
01:58 dayangkun joined #perl6
01:59 dalek evalbot: ddc5b4a | TimToady++ | evalbot.pl:
01:59 dalek evalbot: allow - in build names
01:59 dalek evalbot: review: https://github.com/perl6/evalbot/commit/ddc5b4ae83
02:00 camelia joined #perl6
02:02 TimToady camelia may be broken for a few minutes
02:03 camelia joined #perl6
02:03 TimToady so don't use it till I say
02:04 AlexDaniel :D
02:06 camelia joined #perl6
02:07 AlexDaniel what is the right way to see if key exists in hash?
02:07 Skarsnik I use %hash<key>.defined
02:07 ugexe %x<f>:exists
02:07 AlexDaniel oh wow
02:08 chenryn joined #perl6
02:08 xpen joined #perl6
02:08 AlexDaniel ugexe: if I ever forget that (I will), how can I google that?
02:08 ugexe type 'perl6 hash', press im feeling lucky, then grep `exists`
02:08 AlexDaniel hm fair enough
02:09 ugexe it doesnt have its own heading on that page to be fair
02:09 colomon AlexDaniel: you could try to remember “perl6 hash adverbs”.  First hit is https://perl6advent.wordpress.com/2013/12/12/day-12-slicing-with-adverbs-the-only-way/
02:09 AlexDaniel ugexe: I'm just thinking if there are other things that look alike. It looks like an adverb…
02:09 AlexDaniel ok, hash adverbs, that's it
02:09 AlexDaniel thanks
02:10 * AlexDaniel is abusing this channel today
02:15 tokuhiro_ joined #perl6
02:16 Hotkeys attempting to convert a friend to the perlysixy side
02:19 zengargoyle doc.perl6.org/type/Hash
02:19 zengargoyle docs are getting better and pretty decent for common things
02:20 dalek evalbot: ee64c2d | TimToady++ | evalbot.pl:
02:20 dalek evalbot: restore old build dir temporarily
02:20 dalek evalbot: review: https://github.com/perl6/evalbot/commit/ee64c2df09
02:20 camelia joined #perl6
02:21 xpen joined #perl6
02:26 TimToady you can use m: currently, but not j: or r:
02:28 tokuhiro_ m: dd "\x0d\x0a".encode('latin1').decode('latin1')
02:28 camelia rakudo-moar 273e89: OUTPUT«Str $var = "\r\n"␤»
02:30 tokuhiro_ after '\r\n as 1 grapheme' commit,
02:30 tokuhiro_ It returns "\r".
02:31 AlexDaniel m: $_ = {'hello' => 'world'}; my $z = 'foo'; $z ~~ s{ \%s | $ } = $_<hello>;
02:31 camelia rakudo-moar 273e89: OUTPUT«Type Str does not support associative indexing.␤  in block <unit> at /tmp/o7o2cXFPOX:1␤␤Actually thrown at:␤  in block <unit> at /tmp/o7o2cXFPOX:1␤␤»
02:31 AlexDaniel is it a bug?
02:32 dalek evalbot: 348aa56 | TimToady++ | build-scripts/rebuild-rakudo- (2 files):
02:32 dalek evalbot: clone using https
02:32 dalek evalbot: review: https://github.com/perl6/evalbot/commit/348aa566c9
02:32 AlexDaniel m: my $h = {'hello' => 'world'}; my $z = 'foo'; $z ~~ s{ \%s | $ } = $h<hello>;
02:32 camelia rakudo-moar 273e89: ( no output )
02:32 AlexDaniel because if you change $_ to something else then it starts working!
02:33 AlexDaniel ah it could be simplified
02:34 AlexDaniel m: $_ = {'A' => 'B'}; my $z = 'foo'; $z ~~ s{ 'o' } = $_<A>;
02:34 camelia rakudo-moar 273e89: OUTPUT«Type Str does not support associative indexing.␤  in block <unit> at /tmp/ZUSAprMJUA:1␤␤Actually thrown at:␤  in block <unit> at /tmp/ZUSAprMJUA:1␤␤»
02:35 AlexDaniel oh
02:36 AlexDaniel no, I don't get it. It seems like $_ is set to something else during this operation?
02:37 AlexDaniel but if I print it later it seems to be unaffected
02:39 AlexDaniel Right! $_ is 'foo' during the process
02:47 ilbot3 joined #perl6
02:47 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
02:51 BenGoldberg m: $_ = {'A' => 'B'}; my $z = 'foo'; for $z -> $_ is rw { s{ 'o' } = $_<A> };
02:51 camelia rakudo-moar 273e89: OUTPUT«Type Str does not support associative indexing.␤  in block  at /tmp/tb4ITCAjFS:1␤  in block <unit> at /tmp/tb4ITCAjFS:1␤␤Actually thrown at:␤  in block <unit> at /tmp/tb4ITCAjFS:1␤␤»
02:52 BenGoldberg AlexDaniel, the ~~ operator does something vaguely resembling ↑ that.
02:53 AlexDaniel BenGoldberg: well, I see. But I was surprised to see that error…
02:53 AlexDaniel not sure if it counts as LTA, perhaps I should have known better
02:53 zengargoyle m:  $_ = {'A' => 'B'}; my $z = 'foo'; $q = $z ~~ s{ 'o' }; $q = $_<A>
02:53 camelia rakudo-moar 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/DWPflBgYgM␤Variable '$q' is not declared␤at /tmp/DWPflBgYgM:1␤------> 3$_ = {'A' => 'B'}; my $z = 'foo'; 7⏏5$q = $z ~~ s{ 'o' }; $q = $_<A>␤»
02:54 zengargoyle m:  $_ = {'A' => 'B'}; my $z = 'foo'; $q := $z ~~ s{ 'o' }; $q = $_<A>
02:54 camelia rakudo-moar 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/MtgnIq2cCK␤Variable '$q' is not declared␤at /tmp/MtgnIq2cCK:1␤------> 3$_ = {'A' => 'B'}; my $z = 'foo'; 7⏏5$q := $z ~~ s{ 'o' }; $q = $_<A>␤»
02:54 dalek evalbot: a12d00e | TimToady++ | build-scripts/rebuild-rakudo- (2 files):
02:54 dalek evalbot: why does git have such weird addresses anyway...
02:54 dalek evalbot: review: https://github.com/perl6/evalbot/commit/a12d00e497
02:54 camelia joined #perl6
02:55 zengargoyle m:  $_ = {'A' => 'B'}; my $z = 'foo'; my $q := $z ~~ s{ 'o' }; $q = $_<A>
02:55 zengargoyle m:  $_ = {'A' => 'B'}; my $z = 'foo'; my $q := $z ~~ s{ 'o' }; $q = $_<A>; say $z
02:55 AlexDaniel wake up camelia!
02:55 zengargoyle oops!
02:55 BenGoldberg The s{} needs a rhs.
02:55 camelia rakudo-moar 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1UAFId9mrU␤Missing assignment operator␤at /tmp/1UAFId9mrU:1␤------> 3; my $z = 'foo'; my $q := $z ~~ s{ 'o' }7⏏5; $q = $_<A>␤»
02:55 camelia rakudo-moar 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Jue1dN78yi␤Missing assignment operator␤at /tmp/Jue1dN78yi:1␤------> 3; my $z = 'foo'; my $q := $z ~~ s{ 'o' }7⏏5; $q = $_<A>; say $z␤»
02:56 BenGoldberg m: my $tmp = {'A' => 'B'}; my $z = 'foo'; my $q := $z ~~ s{ 'o' } = $tmp<A>; say $z;
02:56 camelia rakudo-moar 273e89: OUTPUT«fBo␤»
02:56 zengargoyle thought it was like subst-rw (?) and returned a something that allowed access.
02:57 zengargoyle i.e. you could match in one step and assign later.
02:57 BenGoldberg It's a strange syntactic contruct -- it requires an assignment, or a replacement string.  The assignment or replacement are not optional.
02:58 cognominal joined #perl6
03:00 BenGoldberg Making s return some sort of proxy object for writing into the string would be neat, but that's not how it's presently implemented.
03:02 zengargoyle yeah, i was extrapolating from substr-rw - It is also possible to alias the writable reference returned by substr-rw for repeated operations.
03:04 zengargoyle m: $_ = {'A' => 'B'}; my $z = 'foo'; $z ~~ m/'o'/; my $q := $z.substr-rw($/.from,$/.to); $q = $_<A>; say $z;
03:04 camelia rakudo-moar 273e89: OUTPUT«fB␤»
03:04 TimToady a proxy doesn't work with :g
03:05 zengargoyle ah
03:05 jnthn joined #perl6
03:06 dalek evalbot: e5e6185 | TimToady++ | evalbot.pl:
03:06 dalek evalbot: switch to new separate moar stack
03:06 dalek evalbot: review: https://github.com/perl6/evalbot/commit/e5e61857a1
03:07 camelia joined #perl6
03:07 TimToady m: say &[Z+].name
03:08 TimToady camelia always wakes up groggy...
03:08 camelia rakudo-moar 6cb35b: OUTPUT«infix:<Z+>␤»
03:08 zengargoyle 💡
03:08 TimToady やった!
03:08 BenGoldberg m: say .uniname for "やった!".comb;
03:08 camelia rakudo-moar 6cb35b: OUTPUT«HIRAGANA LETTER YA␤HIRAGANA LETTER SMALL TU␤HIRAGANA LETTER TA␤FULLWIDTH EXCLAMATION MARK␤»
03:09 zengargoyle やった /(int) hooray (lit: I or we did it)/whee/hot dog!/you beaut/whacko/yowzer!/whoopee!/yes!/(P)/
03:10 TimToady the success of m: is now not limited by the (lack of) success of j:
03:11 * BenGoldberg wonders whether it would be a useful feature to provide m// with a :rw adverb, which would be incompatible with :g
03:12 BenGoldberg Actually, I has an idea:
03:14 BenGoldberg What if doing m// with the appropriate adverb cause the Match objects returned to have a role mixed in, which proved a .replace method.  Calling .replace on the Match would then modify the original string.
03:16 BenGoldberg my $foo = 'abc'; my $match = $foo ~~ m:rw/b/; $match.replace('d'); say $foo; # outputs 'adc'
03:16 TimToady that would probably be bad for optimizations
03:18 vendethiel joined #perl6
03:18 BenGoldberg It would only be generated if the user requested it.  And it doesn't seem to be any worse than doing a substr-rw.
03:19 BenGoldberg Now, if the user asked for big list of Matches using :global, and he called .replace on each of them, I can see that there would be a problem...
03:21 TimToady I would do that with an s[] without its assignment, if I did it
03:21 raiph joined #perl6
03:22 telex joined #perl6
03:28 llfourn joined #perl6
03:38 finanalyst joined #perl6
04:02 kaare_ joined #perl6
04:07 Oatmeal joined #perl6
04:07 abaugher` joined #perl6
04:08 olinkl_ joined #perl6
04:09 lolisa joined #perl6
04:11 rhr_ joined #perl6
04:11 raydiak joined #perl6
04:12 hobbs joined #perl6
04:12 hobbs joined #perl6
04:14 Gardner joined #perl6
04:16 skarn joined #perl6
04:24 [Tux] joined #perl6
04:25 lsm-desktop joined #perl6
04:26 chenryn joined #perl6
04:31 [Sno] joined #perl6
04:35 solarbunny joined #perl6
04:35 dalek joined #perl6
04:37 DrPete joined #perl6
04:56 AlexDaniel ouch, no RSS/Atom module!
04:57 AlexDaniel there is Syndication but it is pretty much NYI
05:04 zengargoyle joined #perl6
05:12 jkva joined #perl6
05:14 dalek evalbot: d3534eb | TimToady++ | build-scripts/rebuild-rakudo- (2 files):
05:14 dalek evalbot: make current link failure non-fatal
05:14 dalek evalbot: review: https://github.com/perl6/evalbot/commit/d3534eb56b
05:20 dalek evalbot: db89973 | TimToady++ | build-scripts/rebuild-rakudo.pl:
05:20 dalek evalbot: rakudo build should honor sub-locks for moar, jvm
05:20 dalek evalbot: review: https://github.com/perl6/evalbot/commit/db89973fcc
05:42 zengargoyle joined #perl6
05:48 dalek roast: 2ccb444 | TimToady++ | S05-metasyntax/single-quotes.t:
05:48 dalek roast: test fancy single quotes in regex
05:48 dalek roast: review: https://github.com/perl6/roast/commit/2ccb4443d6
05:49 dalek rakudo/nom: 36a3514 | TimToady++ | src/Perl6/ (2 files):
05:49 dalek rakudo/nom: allow Unicode quotes in regexen too
05:49 dalek rakudo/nom:
05:49 dalek rakudo/nom: fixes RT #126557
05:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/36a35142a0
06:02 dalek roast: 7cd9f97 | TimToady++ | S05-mass/rx.t:
06:02 dalek roast: tests for fancy double-quotes in regex
06:02 dalek roast: review: https://github.com/perl6/roast/commit/7cd9f97ccd
06:08 TimToady that was an easy one...
06:08 TEttinger fancy quotes?
06:09 TEttinger like the ones people using certain IRC clients accidentally paste when they paste code?
06:09 TimToady ayup
06:10 TimToady m: say "foo" ~~ / ‘foo’ /
06:10 camelia rakudo-moar 6cb35b: OUTPUT«5===SORRY!5===␤Unrecognized regex metacharacter ‘ (must be quoted to match literally)␤at /tmp/EJKhd5tKfu:1␤------> 3say "foo" ~~ / 7⏏5‘foo’ /␤Regex not terminated.␤at /tmp/EJKhd5tKfu:1␤------> 3say "foo" ~~ / ‘7⏏5foo’ /…»
06:10 TimToady that will fix in a few minutes
06:10 TimToady assuming I didn't botch the rebuildinator
06:11 zengargoyle joined #perl6
06:12 TEttinger that's a very handy feature
06:12 kjs_ joined #perl6
06:12 TEttinger (I'm kinda suprised Perl 6 doesn't have every unicode feature imaginable already)
06:12 AlexDaniel oh
06:12 TEttinger (since it has more unicode you-name-it than anyone else)
06:13 AlexDaniel already fixed! How cool is that
06:14 AlexDaniel even 「」!
06:16 dalek evalbot: 8bbbc5b | TimToady++ | build-scripts/rebuild-rakudo- (2 files):
06:16 dalek evalbot: misspelled array name
06:16 dalek evalbot: review: https://github.com/perl6/evalbot/commit/8bbbc5b0cb
06:17 TimToady which I did botch...
06:18 TimToady rebuilding camelia now
06:18 AlexDaniel by the way
06:18 AlexDaniel should that work:
06:18 AlexDaniel m: class Foo { has $.x = 'b' }; my $foo = Foo.new; say 'ba' ~~ / "$foo.x" a /;
06:18 camelia rakudo-moar 6cb35b: OUTPUT«Nil␤»
06:18 AlexDaniel m: class Foo { has $.x = 'b' }; my $foo = Foo.new; say 'ba' ~~ / "{$foo.x}" a /;
06:18 camelia rakudo-moar 6cb35b: OUTPUT«「ba」␤»
06:19 TimToady m: class Foo { has $.x = 'b' }; my $foo = Foo.new; say 'ba' ~~ / "$foo.x()" a /;
06:19 camelia rakudo-moar 6cb35b: OUTPUT«「ba」␤»
06:19 AlexDaniel what
06:19 AlexDaniel nice…
06:19 TimToady methods and arrays never interpolate unless the expression ends with some kind of brackets
06:20 AlexDaniel Okay! Interesting
06:20 TimToady so email addresses don't accidentally the hostname
06:20 TimToady only a bare $foo can interpolate without brackets
06:21 AlexDaniel I wonder which one I should use. Brackets in the end or {} around?
06:21 AlexDaniel {} feels more reliable
06:21 TimToady you should use the one you decide to use, and not the other :)
06:22 TimToady m: say "foo" ~~ / ‘foo’ /
06:22 camelia rakudo-moar 36a351: OUTPUT«「foo」␤»
06:22 TimToady there we go
06:22 AlexDaniel Yesss!
06:22 TimToady they already worked outside of regex
06:22 AlexDaniel I know…
06:23 TimToady m: say "foo" ~~ / „foo“ /
06:23 camelia rakudo-moar 36a351: OUTPUT«「foo」␤»
06:34 [Sno] joined #perl6
06:41 TimToady m: "\r\n".ords.say;
06:41 camelia rakudo-moar 36a351: OUTPUT«(13)␤»
06:41 TimToady yup, that's still borkeded
06:43 TimToady m: "\r\n".chars.say;
06:43 camelia rakudo-moar 36a351: OUTPUT«1␤»
06:44 TEttinger TimToady: I like how your usage of internet slang is current. I don't know if the same could be said of, say, Guido van Rossum, or the military industrial complex in charge of Ada :)
06:44 TimToady .oO("It used to be I couldn't spell lingrist, and now I are one!")
06:45 ShimmerFairy .oO(Radical memes, man)
06:45 TEttinger Ada regards internet slang in docstrings as a compile time error
06:45 TEttinger they update the forbidden meme database regularly
06:46 ribasushi joined #perl6
06:47 Hotkeys TimToady: syntax trees make my heart hurt, does linguistics get better
06:48 TimToady well, if you do phonetics and phonology like me, you don't have to worry about syntax :P
06:49 Hotkeys fair enough
06:50 Hotkeys we finally have moved on from syntax in my intro ling class and semantics seems alright
06:52 TimToady semantics only ever *seems* alright :)
06:52 TimToady eventually you fall into the pit of pragmatics...
06:54 Hotkeys is that a good pit or a bad one
06:55 TimToady I learned the difference in 5th grade, when I prefaced a remark to my teacher with "For your information..." and discovered that the pragmatics of that utterance do not match the semantics...
07:01 AlexDaniel is there anything that runs after BUILD? I want to access some field but don't want to process stuff myself
07:02 AlexDaniel m: class Hello { has $.foo is rw = 10; method BUILD { say $!foo }; } Hello.new();
07:02 camelia rakudo-moar 36a351: OUTPUT«5===SORRY!5=== Error while compiling /tmp/TCVOcHrc7S␤Strange text after block (missing semicolon or comma?)␤at /tmp/TCVOcHrc7S:1␤------> 3s rw = 10; method BUILD { say $!foo }; }7⏏5 Hello.new();␤    expecting any of:␤        infix␤   …»
07:02 AlexDaniel m: class Hello { has $.foo is rw = 10; method BUILD { say $!foo }; }; Hello.new();
07:02 camelia rakudo-moar 36a351: OUTPUT«(Any)␤»
07:16 diana_olhovik_ joined #perl6
07:21 [Tux] panda install Inline::Perl5 Slang::Tuxic File::Temp CSV::Parser
07:21 [Tux] Cannot parse /pro/3gl/CPAN/rakudobrew/moar-nom/install/share/perl6/site/panda/projects.json as JSON: at 0: reached the end of the string while looking for things
07:21 [Tux] in method init-projects at /pro/3gl/CPAN/rakudobrew/moar-nom/install/share/perl6/site/lib/Panda/Ecosystem.pm:53
07:21 [Tux] So no test results from me today?
07:23 MilkmanD1n joined #perl6
07:23 dustinm`_ joined #perl6
07:28 ribasushi joined #perl6
07:29 firstdayonthejob joined #perl6
07:38 FROGGS joined #perl6
07:40 vendethiel joined #perl6
07:49 _mg_ joined #perl6
07:57 espadrine_ joined #perl6
08:01 azawawi joined #perl6
08:02 azawawi hi
08:02 moritz AlexDaniel: you can override BUILDALL, for example
08:02 bjz joined #perl6
08:02 moritz AlexDaniel: http://doc.perl6.org/language/objects#Object_Construction
08:02 moritz AlexDaniel: if you have a good use case, feel free to add an example to that document
08:07 dayangkun joined #perl6
08:19 darutoko joined #perl6
08:29 RabidGravy joined #perl6
08:32 dakkar joined #perl6
08:32 [Sno] joined #perl6
08:35 [Tux] rakudobrew/moar-nom/install/share/perl6/site/panda/projects.json is empty. Where can I get a non-empty one?
08:36 pdcawley joined #perl6
08:36 pdcawley joined #perl6
08:36 abraxxa joined #perl6
08:36 timotimo [Tux], yesterday's \r\n-as-a-single-grapheme-stuff broke panda's ability to download that, sadly
08:37 [Tux] do you have a direct url?
08:37 rindolf joined #perl6
08:37 timotimo ecosystem-api.p6c.org/projects.json
08:37 timotimo was just looking for it in the backlog for you :)
08:38 [Tux] rrrrrrrrrrrrrrruning installing modules
08:38 [Tux] nn
08:38 timotimo rrrrrrr~
08:39 RabidGravy ah, that ^ would explain why the travis-ci build is failing for some modules
08:40 timotimo right
08:40 timotimo anything that had commits since then
08:43 RabidGravy I fixed panda ages ago to not clobber the existing projects.json if there was some problem getting it
08:44 RabidGravy obviously not working in this case
08:46 timotimo :|
08:47 timotimo thank you for the effort, though!
08:48 g4 joined #perl6
08:49 RabidGravy yeah iirc it splits the header from the body with a regex and I think the check is before it does that
08:49 timotimo ah
08:50 RabidGravy this would be a sensible first thing to fix this morning
08:52 timotimo aye
08:55 dalek rakudo/nom: bccb16d | TimToady++ | src/Perl6/ (2 files):
08:55 dalek rakudo/nom: use canonicalized form for checking infix:['+']()
08:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bccb16dafb
08:56 dalek roast: e111c14 | TimToady++ | S06-operator-overloading/sub.t:
08:56 dalek roast: add tests for infix:['+'] and such
08:56 dalek roast: review: https://github.com/perl6/roast/commit/e111c14ee3
08:58 dayangkun joined #perl6
09:01 RabidGravy good thing I have more than one computer I can do this on without screwing up the installation on this here laptop
09:04 raydiak good morning, #perl6
09:04 timotimo greetings raydiak
09:05 timotimo so, what piece of code is it in panda that doesn't do the right thing?
09:05 mrf good * #perl6
09:06 AlexDaniel masak: method BUILDALL(|) { callsame; say $!foo } # this then, hmmm… it works…
09:06 * [Tux] changed all $io.nl to $io.nl-in …
09:06 [Tux] test             50000    38.253    38.140
09:06 [Tux] test-t           50000    39.189    39.076
09:06 AlexDaniel masak: thanks
09:06 ely-se joined #perl6
09:06 timotimo hm, did we put in a deprecation cycle for that?
09:06 AlexDaniel masak: whoops, that was for moritz
09:07 azawawi http://pasteboard.co/1SGJzucQ.png   # modules.perl6.org with github stars and open issues columns... any comments? :)
09:08 RabidGravy azawawi++ # nice
09:08 timotimo azawawi: one thing i can't stop thinking about is that one single very long module name would make the table very unhappy; is there a way to fix that? column sets and overflow:scroll? perhaps setting overflow:visible in a :hover pseudoclass selector?
09:08 [Tux] azawawi, yes, what is the open issue with Text::CSV, as I see no open issue on github
09:08 [Tux] so where did you get that info?
09:08 timotimo the columns for stars and issues are quite gigantic in comparison ...
09:08 mrf m: say "ll" ~~ /l ** ^3/ #I appear to have introduced a bug with the ^10 support in regexs.
09:08 camelia rakudo-moar 36a351: OUTPUT«===SORRY!===␤Cannot find method 'ast'␤»
09:09 azawawi timotimo: will look into it :)
09:09 mrf nqp-m: say("ll" ~~ /l ** ^3/) # It works in nqp though.
09:09 camelia nqp-moarvm: OUTPUT«ll␤»
09:09 * azawawi commits changes
09:09 * ely-se changes commits
09:09 timotimo azawawi: cool :)
09:10 dalek modules.perl6.org: c389bed | azawawi++ | web/ (4 files):
09:10 dalek modules.perl6.org: Add github stars and open issues columns
09:10 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/c389bed285
09:10 ab6tract joined #perl6
09:10 ab6tract AlexDaniel: tbh I've never felt like that was much of an issue
09:10 timotimo azawawi: do we already include the webfont or whatever that gives us all the github icons? i think it's called octicons?
09:11 ab6tract if you are writing a BUILD, then you already have a peg to hang your default values on
09:11 azawawi now remove "build-"  from travis images... to make it smaller
09:11 chenryn joined #perl6
09:11 AlexDaniel ab6tract: which I don't want to do! :)
09:11 AlexDaniel by the way
09:11 ab6tract m: class Hello { has $.foo is rw; submethod BUILD { $!foo = 10; say $!foo }; my $f = Hello.new.foo
09:12 camelia rakudo-moar 36a351: OUTPUT«5===SORRY!5=== Error while compiling /tmp/vSa168Fiir␤Missing block␤at /tmp/vSa168Fiir:1␤------> 3= 10; say $!foo }; my $f = Hello.new.foo7⏏5<EOL>␤    expecting any of:␤        postfix␤        statement end␤        statement modifier…»
09:12 [Tux] azawawi, I removed all frills from the travis svg, reducing it to plain text for my perl5 dashboard: http://tux.nl/perl.html
09:12 ab6tract m: class Hello { has $.foo is rw; submethod BUILD { $!foo = 10; say $!foo } }; my $f = Hello.new.foo
09:12 camelia rakudo-moar 36a351: OUTPUT«10␤»
09:12 AlexDaniel “Use of Nil in string context  in block  at ………/lib/Panda/Ecosystem.pm:106”
09:12 AlexDaniel is there any fix for that yet?
09:12 timotimo that's the new problem everybody's been experiencing
09:13 ab6tract AlexDaniel: i don't get it. why would setting the defaults inside BUILD have any different behavior to setting them in the has declaration?
09:13 AlexDaniel any quick way to undo that? I'm working on something and I need a module that is now broken…
09:13 timotimo why wouldn't just /\n\n/ work instead of /\r?\n\r?\n/?
09:13 timotimo actually, \r\n\r\n should also work
09:13 timotimo or just using a string instead?
09:14 azawawi [Tux]: cool... simpler is better
09:14 AlexDaniel ab6tract: perhaps you are right! Though if I already have “has” declarations I don't want to move that anywhere.
09:14 timotimo alternatively, it would try to use HTTP::UserAgent if it's installed
09:14 timotimo did anybody try that? or is HTTP::UserAgent broken from the same change, too?
09:14 [Tux] AlexDaniel, does «wget http://ecosystem-api.p6c.org/projects.json -O …/rakudobrew/moar-nom/install/share/perl6/site/panda/projects.json» work for you?
09:15 AlexDaniel [Tux]: let's see…
09:16 ollej Hey, I'm having the same projects.json issue.
09:16 Actualeyes joined #perl6
09:16 ab6tract AlexDaniel: now that kind of laziness i can get behind ;P
09:16 AlexDaniel [Tux]: yes!
09:16 AlexDaniel [Tux]: that did fix the problem!
09:17 [Tux] top
09:17 AlexDaniel [Tux]: thank you very much
09:17 azawawi Not bad BioPerl has 33 stars
09:17 mrf timotimo: do you know where the perl6 code is that uses the results of the regex Grammar/Actions in nqp?
09:17 ab6tract anyway, i've had that moment before, wondering "why is my default value not there in BUILD time?" and realizing "this is a BUILD.. i can set any value on any instance var I want!"
09:17 ab6tract like Marty McFly
09:18 timotimo mrf: well, the actions all use the results of the grammar and other parts' actions
09:18 mrf m: say "ll" ~~ /l ** ^3/ #I appear to have introduced a bug with the ^10 support in regexs.
09:18 camelia rakudo-moar 36a351: OUTPUT«===SORRY!===␤Cannot find method 'ast'␤»
09:19 timotimo every time you see an .ast, you'd be using whatever some other method's been "make"ing, every time you see something like $<foo>, you're using the result of a regex from the grammar
09:19 mrf I think ^ is a result of the fact that there is no $<min>.ast
09:19 timotimo ah, right
09:19 mrf because the Actions.nqp just sets $min := 0
09:19 timotimo in that case, try putting the check against $<min>.Str eq '^' first?
09:20 mrf the error is only in p6 which I suspect is trying a $<min>.ast but I don't know where to look to check that
09:20 ShimmerFairy timotimo: IIRC, /\n/ has always matched \r\n, even before NFG was fixed to see it as one grapheme. So /\r\n/ looks weird to me :)
09:21 timotimo hm, right
09:21 timotimo but also \r\n inside regexes was changed to also match that
09:21 timotimo on the other hand, this is about a variable named $buf
09:21 timotimo i didn't know Buf had a split method!
09:21 timotimo :P
09:22 mrf timotimo: found it. Its in src/Perl6/Actions.nqp
09:23 ShimmerFairy looking at panda's code, /\r?\n\r?\n/ is definitely suspect. If you want to match \r\n specifically, I'd recommend /"\r\n"/. Otherwise, it should just be /\n ** 2/  :)
09:23 mrf in rakudo
09:23 ShimmerFairy I didn't even know \r was valid inside regexes, honestly.
09:23 timotimo are you sure "\r\n" does it? :P
09:24 timotimo i mean
09:24 timotimo yeah, all of this works for the \r\n grapheme
09:24 ShimmerFairy fine, /["\r"? "\n"] ** 2/ to be precise :P
09:25 timotimo it should totally be \n\n
09:25 ShimmerFairy timotimo: also, that suspect regex looks to me like the result of someone not realizing /\n/ matches all newlines, and that you'd need /"\n"/ or equivalent to match just that character.
09:25 timotimo hm
09:25 timotimo except ... we wouldn't want to match \n, right?
09:25 timotimo i'm confused
09:26 timotimo yeah, you'd probably want "\r\n"
09:26 moritz m: say "\r\n" ~~ /\r\n/
09:26 camelia rakudo-moar 36a351: OUTPUT«「
09:26 moritz m: say so "\r\n" ~~ /\r\n/
09:26 ShimmerFairy or like I wrote, "\r"? "\n"  :)
09:26 camelia rakudo-moar 36a351: OUTPUT«True␤»
09:26 timotimo oh lord, camelia doesn't understand that :D
09:28 [Tux] oh azawawi, btw /me thinks that all those extra info-bits should be clickable (see my dashboard)
09:29 * [Tux] => $work
09:30 Psyche^ joined #perl6
09:31 RabidGravy it's not the regex in panda, it's that it's getting *everything* in $http-header
09:31 RabidGravy the regex works fine
09:31 azawawi [Tux]: sure
09:31 cygx joined #perl6
09:31 cygx o/
09:32 RabidGravy it's .get that is broken in this context
09:32 cygx the announcement you've all been waiting for is finally ready to be made: the perl6 TinyCC bindings have entered beta stage!
09:33 RabidGravy yeah, just pushing an expedient fix that works
09:34 RabidGravy "==> Successfully installed JSON::Class"
09:35 xinming_ joined #perl6
09:35 Psyche^_ joined #perl6
09:36 ollej [Tux]: wgetting the projects.json file worked for me as well.
09:37 Ven joined #perl6
09:38 Ven ahoy, #perl6!
09:38 yoleaux 25 Oct 2015 17:07Z <Zoffix> Ven: RE learnxiny: any time :) I finished with the docs and submitted my PR (#1434), which got merged. The ones that aren't crossed out are still open. And I don't know a suitable answer :)
09:38 RabidGravy of someone with the keys wanna merge the https://github.com/tadzik/panda/pull/242
09:38 azawawi the new page is online at http://modules.perl6.org/ :)
09:38 Ven .tell Zoffix yes, thanks for your PR. I'll try to take a look at the noncrossed ones soon-ish
09:38 yoleaux Ven: I'll pass your message to Zoffix.
09:39 cygx â hui, Ven
09:41 dalek modules.perl6.org: 3c0f2c5 | azawawi++ | web/ (10 files):
09:41 dalek modules.perl6.org: - Travis CI link is now text
09:41 dalek modules.perl6.org: - Link github issues and stargazers
09:41 dalek modules.perl6.org: - Travis CI status is now sortable
09:41 dalek modules.perl6.org: - Remove Travis CI status images
09:41 dalek modules.perl6.org: - Links now open in another tab
09:41 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/3c0f2c5241
09:41 RabidGravy timotimo, you got a commit bit on panda?  can't tell who has from github
09:41 azawawi 007 has the most github stargazers? :)
09:42 moritz azawawi: probably because it was on hackernews, and people liked the readme
09:42 AlexDaniel m: say “\c13\c10”
09:42 camelia rakudo-moar 36a351: OUTPUT«
09:42 RabidGravy or indeed moritz?
09:42 timotimo i do
09:42 moritz RabidGravy: I have, yes
09:42 timotimo so the problem is that the first .get gives you potentially the whole content?
09:42 AlexDaniel m: say “\c13\c10” eq “\r\n”
09:42 camelia rakudo-moar 36a351: OUTPUT«True␤»
09:42 timotimo so we've been skipping everything?
09:42 RabidGravy timotimo yes
09:43 timotimo merged
09:43 azawawi moritz: i see
09:43 RabidGravy there's a better change to be made but that'll do until someone does that :)
09:43 timotimo oh, i didn't know ADT had a star
09:43 RabidGravy timotimo, cheers matey
09:45 duncan_dmg joined #perl6
09:46 timotimo i need to get a bit more rest, i'm feeling rather not so well :|
09:46 RabidGravy so in theory now if there's anyone with a borked panda they should just be able to do "rakudobrew build-panda" to get the fixed version
09:47 AlexDaniel RabidGravy: trying
09:48 AlexDaniel hmm, it looks like IO::Socket::INET is broken
09:48 AlexDaniel I think that it was working great before I tried rebuilding everything
09:49 AlexDaniel RabidGravy: It looks like it is fixed now
09:50 RabidGravy well I know it was definitely fixed for me as I tested it :)
09:54 dalek modules.perl6.org: f02f9e0 | azawawi++ | web/ (6 files):
09:54 dalek modules.perl6.org: Remove fresh badge. Please see #19
09:54 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/f02f9e0668
09:56 dalek modules.perl6.org: 95c2c64 | azawawi++ | web/fresh.png:
09:56 dalek modules.perl6.org: No need for fresh icon anymore
09:56 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/95c2c64455
09:57 AlexDaniel “ok 1 - # SKIP Operating system not yet supported” for all tests when trying to run S32-io/IO-Socket-INET.t
09:57 AlexDaniel I'm on Debian
09:58 lizmat joined #perl6
09:59 rindolf joined #perl6
09:59 moritz such an obscure OS :-)
10:03 ely-se joined #perl6
10:08 lizmat good *, #perl6!
10:08 mrf o/ lizmat
10:08 lizmat did I miss anything the past night ?
10:10 mrf lots of discussion on the \r\n changes.
10:13 moritz re modules.perl6.org, I'm fine with the travis status being text, a background color for the status would still be awesome
10:17 lizmat m: sub foo(*%h) { dd %h }; foo:bar   # this recently stopped dieing, but doesn't do the right thing either
10:17 camelia rakudo-moar 36a351: OUTPUT«5===SORRY!5=== Error while compiling /tmp/j8dCvQH_0i␤Undeclared routine:␤    foo:bar used at line 1␤␤»
10:17 lizmat huh?
10:18 moritz foo:bar is a fine longname, no?
10:18 moritz just like mytoken:sym<foo>
10:18 espadrine joined #perl6
10:18 lizmat $ 6 'sub foo(*%h) { dd %h }; foo:bar;'
10:18 lizmat Hash $var = {}
10:19 lizmat is what I get locally
10:19 lizmat I would either think it should fail (foo:bar not found) *or* pass bar=>True to the sub foo
10:20 lizmat yup, bccb16dafbf3f92738c (TimToady's last commit) made this change
10:20 moritz lizmat: I agree with you
10:21 lizmat $ 6 'sub foo(*%h) { dd %h }; foo:bar;'
10:21 lizmat ===SORRY!=== Error while compiling -e
10:21 lizmat Undeclared routine:
10:21 lizmat foo:bar used at line 1
10:25 bjz_ joined #perl6
10:27 dalek modules.perl6.org: 2dca39e | azawawi++ | web/style.css:
10:27 dalek modules.perl6.org: Less vertical header space
10:27 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/2dca39e075
10:28 cygx azawawi: can we make the travis status into a badge using these images: http://imgur.com/a/tIFZ8
10:30 mrf lizmat: are you at all familiar with src/Perl6/Actions.nqp in rakudo. specifically the Perl6::RegexActions quantifier:sym<**>?
10:30 lizmat mrf: sorry, can't say that I do
10:30 cygx azawawi: that would mean one could no longer sort by tehe status, which might be a bad idea
10:31 cygx azawawi: however, I *would* like to see some sort of graphic status indicator
10:31 mrf lizmat: no worries.
10:31 mrf .seen FROGGS
10:31 yoleaux I saw FROGGS 29 Oct 2015 08:33Z in #perl6: <FROGGS> azawawi: no, I didnt
10:32 xinming joined #perl6
10:32 azawawi cygx: dont worry.. just open an issue for it :)
10:32 azawawi cygx: please :)
10:36 cygx azawawi: https://github.com/perl6/modules.perl6.org/issues/20
10:36 FROGGS hi mrf
10:37 mrf FROGGS: I am pinging you as git blame says you were the one to add teh handle for codeblocks as a quantifier to rakudo
10:37 FROGGS mrf: yes, I remember working on it
10:38 mrf FROGGS: I recently made a change to nqp to support non inclusive ranges in the quantifier. Which causes a error in rakudo when used as the code is duplicated across both.
10:39 mrf The only difference seems to be in the codeblock handling between them
10:39 mrf I am wondering if there is a nicer way to allow changes to propogate without having to keep the two codebases in sync.
10:39 azawawi cygx++
10:39 mrf ?
10:39 FROGGS hmm, are you talking about the DYNQUANT method in NQPCursor vs Cursor or what it is called?
10:40 FROGGS mrf: or are you talking about the ast we build in the actions?
10:40 mrf QAST.Op.new(:name('DYNQUANT_LIMITS')) in rakudo and QAST.Op.new(:name('!DYNQUANT_LIMITS')) in nqp
10:41 dalek modules.perl6.org: a13d7d6 | azawawi++ | web/ (3 files):
10:41 dalek modules.perl6.org: Logo is now shown on the right of a module name to conserve horizontal space
10:41 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/a13d7d6051
10:41 FROGGS mrf: please continue writing even if I do not respond, I'll be out for lunch in a few minutes
10:41 mrf will do.
10:41 FROGGS mrf: we do that because rakudo knows about Range, where nqp does not IIRC
10:41 RabidGravy I was just about to say that HTTP::UserAgent had emerged un-broken from the \\r\n grapheme change but there is one broken test, but I think it is the test rather than the code
10:42 mrf FROGGS: That was certainly what the commit message indicated. I can just invision issues where changes aren't copied in both places.
10:42 mrf FROGGS: At the worst I will add a comment in both indicating that changes need to be propgated.
10:43 mrf mostly was irritating to cause a bug for want of a !
10:43 dalek modules.perl6.org: a84f95e | azawawi++ | web/js/main.js:
10:43 dalek modules.perl6.org: Fix sort order since we now display the module logo right aligned to the module name cell
10:43 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/a84f95e026
10:43 FROGGS mrf: that's something you cant do in nqp: https://github.com/rakudo/rakudo/blob/nom/src/core/Cursor.pm#L322
10:44 mrf FROGGS: so we will just have to put up with having the same code in two places.
10:45 FROGGS yes, I think so
10:45 mrf Ok.
10:45 mrf Is it sane to add a comment in the NQP code to indicate as much? I don't know how much we want to suggest that changes to NQP need to be made in Rakudo
10:47 FROGGS mrf: adding a comment that indicates that the DYNQUANT_LIMITS method is overridden in rakudo is very much sane I'd think
10:48 mrf FROGGS: in this case it was more that the quantifier:sym<**> method is overridden as a result of ^ in rakudo and changes to one should likely be made in the other
10:49 zakharyas joined #perl6
10:50 dalek rakudo/nom: fbb7fba | lizmat++ | src/core/Str.pm:
10:50 dalek rakudo/nom: Introduce Str.comb(Int:D)
10:50 dalek rakudo/nom:
10:50 dalek rakudo/nom: So instead of the slow (because using grammar engine) .comb(/../) you
10:50 dalek rakudo/nom: can now do .comb(2), which is about 30x faster.
10:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fbb7fba4e5
10:50 chenryn joined #perl6
10:53 mrf what does method ! signifiy in nqp?
10:54 mrf eg method !DYNQUANT_LIMITS
10:54 lizmat probably the same as in Perl 6: a private method ?
10:55 RabidGravy yay! panda fix fixed the docs travis (I suspected that it was to blame last night but had a few beers so didn't investigate.)
10:55 lizmat m: class A { method !foo {} }; A!foo'
10:55 camelia rakudo-moar 36a351: OUTPUT«5===SORRY!5=== Error while compiling /tmp/gyKB19X57d␤Private method call to foo must be fully qualified with the package containing the method␤at /tmp/gyKB19X57d:1␤------> 3class A { method !foo {} }; A!foo7⏏5'␤    expecting any of:␤   …»
10:55 lizmat m: class A { method !foo {} }; A!A::foo'
10:55 camelia rakudo-moar 36a351: OUTPUT«5===SORRY!5=== Error while compiling /tmp/zIeI6rQq2h␤Cannot call private method 'foo' on package A because it does not trust GLOBAL␤at /tmp/zIeI6rQq2h:1␤------> 3class A { method !foo {} }; A!A::foo7⏏5'␤    expecting any of:␤        met…»
10:57 mrf lizmat: ok cheers.
10:57 mrf I assume that private methods aren't inhertible?
10:58 lizmat not like that, but apparently you *can* call another class's private method if that class trusts you
10:58 grondilu Str.comb(Int:D) seems like a neat idea, but shouldn't the optimizer optimize Str.comb(/../) instead?
10:58 grondilu (or anything like .comb(/ . ** $n /)
10:59 lizmat well, now the optimizer *can*  :-)
10:59 RabidGravy azawawi, the great think about the issues on modules. is that now when someone asks what they can do to help we can point them at that and say "pick one with a few issues and fix it" ;-)
10:59 lizmat grondilu: by simply rewriting the arguments
10:59 grondilu ok
10:59 lizmat without my addition, this would not be so simple
11:00 grondilu yeah but I thought your addition could have been hidden from the user.
11:01 lizmat how?  by making it an internal routine ?
11:01 lizmat a Rakudo::Internals method ?
11:01 grondilu yeah
11:01 lizmat well, I would be fine with that too
11:02 lizmat it's just that coming from the P5 world, you are used to be able to read blocks by setting the input record separator to a ref of an int
11:02 grondilu the thing is people might not remember Str.comb(Int:D) merely exists
11:02 lizmat last week I added IO::Handle.comb, which also allows Int:D to emulate that behaviour
11:03 lizmat now that we have better input record separator functionality, that could probably be hidden in there as well somehow
11:03 lizmat anyways, TIMTOWTDI  :-)
11:03 grondilu sure
11:08 azawawi RabidGravy: yup
11:08 rindolf joined #perl6
11:09 azawawi masak modules have the most stars... masak++
11:10 Ven masak++ # the cutest toys *g*
11:10 azawawi how is the new look & feel for the table http://modules.perl6.org/ now?
11:11 lizmat I think moritz would say: a little too monochrome ?
11:12 Actualeyes joined #perl6
11:12 mrf The world apparently has a facination with greys
11:12 mrf FROGGS: I will add a comment to both for now and it can be thought about later if needed
11:13 lizmat unknown => grey, passing => green, failing => orange, error => red ?
11:14 azawawi lizmat: sure we're going to replace them with more compact images and conserve sorting functionality. Please see https://github.com/perl6/modules.perl6.org/issues/20
11:14 mrf azawawi: is there a reason for not using the embedded status images.
11:14 lizmat azawawi++
11:14 moritz azawawi: I don't think we need images; a bit of CSS is fine
11:15 moritz (and class="travis_passing" etc.)
11:15 mrf azawawi: ahh
11:17 azawawi now the thing that i was thinking about... modules.perl6.org serves as the index to find p6 modules... most likely you're going to 'panda install $module'. i was thinking of a copy to clipboard to make it faster
11:18 moritz please don't introduce flash for that.
11:18 moritz that's very annoying on github
11:18 jnthn afternoon, #perl6
11:18 azawawi not flash
11:19 azawawi moritz: trust me, i will simplify it :)
11:19 lizmat jnthn o/
11:19 RabidGravy while we're talking about that it appears to be by default sorting by "description" which is probably the least good option ;-)
11:19 azawawi moritz: i hate flash with vengeance :)
11:19 moritz azawawi: :-)
11:19 RabidGravy no flash! no flash!
11:20 jnthn lizmat: No, there's no way to get hold of the separator that was actually chomped at present. Does .split with :all not cover that case?
11:20 lizmat yes, it does
11:20 azawawi moritz: i maintained a flash component to edit Arabic correctly until finally replace it with HTML5/JS
11:21 lizmat but would be nice if that would be available low level as well
11:21 azawawi moritz: s/finally replace/i finally replaced/
11:21 jnthn lizmat: Well, it'd add a little more complexity in the thing we want to be the fast path at the low level
11:22 lizmat ok, then we'll keep it at HLL level
11:22 jnthn lizmat: Though not too much. More at issue is how would the Perl 6 API for it look?
11:22 jnthn I mean, you normally write for $fh.lines { }
11:22 dalek modules.perl6.org: 3b350f5 | azawawi++ | web/js/main.js:
11:22 dalek modules.perl6.org: Fix default sort order. azawawi--
11:22 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/3b350f504b
11:22 lizmat well, at nqp:: level I would think something like nqp::chomped to be called right *after* a line was read
11:23 RabidGravy azawawi++ # fixing all the things
11:23 lizmat so only valid until the next line was read *on* that handle
11:23 jnthn Aye, though most likely it's going to give you back an integer
11:23 jnthn Which is the separator index in the list of separators
11:23 lizmat an integer in the list of delimiterd
11:23 lizmat works fine for me
11:23 jnthn Rather than re-extract a constant string
11:23 jnthn Right
11:23 jnthn But then what would be do at Perl 6 level? :)
11:23 jnthn for $fh.lines { ... $fh.chomped } ?
11:24 lizmat for $fh.lines ( :all) ?
11:24 azawawi moritz: Arabic and isolated unicode forms editing is sometimes needed for some applications and most browsers do not provide such native input method
11:24 lizmat for $fh.lines(:all) -> $line, $delmiter { }
11:24 jnthn Doesn't really compose well with unchomped handles
11:24 azawawi moritz: re http://www.unicode.org/charts/PDF/UFE70.pdf
11:25 lizmat there's a reason :chomp is the default  :-)
11:25 jnthn Though I guess nothing's going to...
11:25 lizmat 99.5% of the cases one would chomp
11:25 jnthn Aye
11:25 jnthn And 99.4% of the cases you don't care what the separator was ;)
11:25 lizmat the .5% of cases are 99% of the time an error  :-)
11:26 lizmat well, *especially* if you have multiple line endings possible, you would want to know *what* the delimiter was
11:26 jnthn I guess the better question is: did somebody at Amsterdam.pm where this came up have a use case for wanting the separator?
11:26 lizmat the "\n, "\r\n" case is really a bad example
11:27 jnthn Well, it's also the reason I implemented support for multiple separators :P
11:27 lizmat well, if you want to use it for parsing like Text::CSV
11:27 lizmat it might be a way to use it
11:27 lizmat stream parsing, that is
11:28 jnthn I was pondering that, but it occurred to me that most languages get too complex for "just find the next char" pretty fast
11:28 jnthn uh, next char out of this set of interesting ones
11:28 jnthn 'cus of escapes and so on
11:28 lizmat true
11:28 lizmat that's why the escape would be one of the separators
11:28 lizmat and you would want to know when you ran into that
11:29 cygx jnthn: nativesizeof(int) is 8 on my machine, which is what one would expect for aP6-land native int
11:29 cygx however, NativeCall maps it to long ( https://github.com/rakudo/rakudo/blob/nom/lib/NativeCall.pm#L94 ), which is only 32-bit on windows
11:33 jnthn lizmat: True. Might also be worth pointing out that the implementation doesn't necesarily scale well to dozens of separators
11:34 lizmat jnthn: I think it will still beat a HLL implementation by at least an order of magnitude  :-)
11:35 jnthn [benchmarks needed] :)
11:36 jnthn cygx: That seems somewhat inconsistent
11:36 jnthn m: say "\r\n".chars
11:36 camelia rakudo-moar 36a351: OUTPUT«1␤»
11:37 jnthn m: say "\r\n".encode('utf-8').say
11:37 camelia rakudo-moar 36a351: OUTPUT«utf8:0x<0d 0a>␤True␤»
11:37 jnthn m: say "\r\n".encode('ascii').say
11:37 camelia rakudo-moar 36a351: OUTPUT«Blob[uint8]:0x<0d>␤True␤»
11:37 jnthn m: say "\r\n".encode('latin-1').say
11:37 camelia rakudo-moar 36a351: OUTPUT«Blob[uint8]:0x<0d>␤True␤»
11:37 jnthn m: say "\r\n".encode('windows-1252').say
11:37 camelia rakudo-moar 36a351: OUTPUT«Blob[uint8]:0x<0d>␤True␤»
11:37 jnthn Such bust!
11:38 lizmat I lost track: which ones are supposed to be wrong ?
11:40 jnthn Only utf-8 gets it right
11:40 ely-se joined #perl6
11:40 ShimmerFairy jnthn: is the literal "\r\n" supposed to be seen as the synthetic grapheme or as two separate ones?
11:41 jnthn ShimmerFairy: \r\n is the synthetic
11:41 jnthn m: say "\r\n".chars
11:41 camelia rakudo-moar 36a351: OUTPUT«1␤»
11:42 ShimmerFairy jnthn: alright. I'm a little fuzzy on what the problems so far have been :)
11:42 jnthn ShimmerFairy: Well, it looks like "jnthn forgot that encodings besides the utf-8 one cheat lots" :)
11:42 cygx jnthn: so assuming we want int in nativecall sub declarations to refer to the p6 int type for consistency instead of the C type (the is probablby not a good idea), just change the line to 'int' => 'longlong'?
11:42 ShimmerFairy :)
11:43 cygx *the latter
11:43 pmurias joined #perl6
11:46 jnthn cygx: Yes, though would have to see what fallout that has...
11:48 cygx jnthn: I'd also like some feedback on https://github.com/rakudo/rakudo/pull/568/files
11:48 cygx it *seems* to work as intended...
11:48 dalek roast: 21ab8bc | jnthn++ | S15-nfg/crlf-encoding.t:
11:48 dalek roast: Partially failing crlf encoding roundtrip tests.
11:48 dalek roast: review: https://github.com/perl6/roast/commit/21ab8bcc78
11:50 pmurias jnthn: the grapheme unicode magic is for moar vm only? or will it have to be emulated on the jvm?
11:50 yoleaux 3 Nov 2015 23:27Z <japhb> pmurias: Do you need help getting perl6-bench working for nqp-js?  If you PM me configure/build instructions, I can do the necessary patch to build and benchmark it along with the other backends.  (timotimo knows how too, but I don't want to speak for his time.)
11:50 jnthn pmurias: On JVM eventually too
11:50 dalek nqp: c2d1459 | (Pawel Murias)++ | src/vm/js/nqp-runtime/serialization.js:
11:50 dalek nqp: [js] Update serialization to format version 16.
11:50 dalek nqp: review: https://github.com/perl6/nqp/commit/c2d1459507
11:50 dalek nqp: c332679 | (Pawel Murias)++ | / (5 files):
11:50 dalek nqp: [js] Fix variable length integer serialization/deserialization.
11:50 dalek nqp: review: https://github.com/perl6/nqp/commit/c332679fbc
11:51 * jnthn works to get S15-nfg/crlf-encoding.t passing
11:51 pmurias jnthn: can the JVM handle that without a hefty performance cost?
11:52 RabidGravy ow! "*** Error in `/home/jonathan/.rakudobrew/moar-nom/install/bin/moar': malloc(): memory corruption: 0x000000000ad18420 ***"
11:52 RabidGravy haven't seen any of that for a while
11:52 RabidGravy (this was a previously working test BTW)
11:53 jnthn RabidGravy: Don't suppose it's doing stuff involving non-utf-8 encodings and \r\n?
11:53 * jnthn just discovered that said encodings are making a badass umption that makes 'em vulnerable to buffer overrun
11:53 jnthn m: ("\r\n" x 1000).encode('ascii') # boom, prolly
11:54 camelia rakudo-moar 36a351: OUTPUT«(timeout)*** Error in `/home/camelia/rakudo-m-inst-1/bin/moar': free(): corrupted unsorted chunks: 0x00000000042d6700 ***␤*** Error in `/home/camelia/rakudo-m-inst-1/bin/moar': malloc(): memory corruption: 0x000000000433b6c0 ***␤»
11:54 jnthn unsorted chunks!
11:54 jnthn Eww :)
11:55 RabidGravy possibly, it was a test that I noticed failing first this morning with different symptoms
11:57 RabidGravy it was this test https://github.com/sergot/http-useragent/blob/master/t/170-request-common.t
11:57 RabidGravy straight out the traps, no output whatsoever
11:59 * pmurias has sorted out the ultra annoying varint serialization bugs and can start working on nqp::readlinechompfh at last :)
11:59 jnthn pmurias++
11:59 sufrostico joined #perl6
12:01 mscha joined #perl6
12:02 mscha perl6: my @mixed = 1, '2', 3, '4', 5, '12', 23, '34', 102, '111', 304, '876'; say @mixed.sort;
12:02 camelia rakudo-moar 36a351: OUTPUT«(1 102 111 12 2 3 304 4 5 23 34 876)␤»
12:02 camelia ..rakudo-jvm 273e89: ( no output )
12:03 jnthn m: say 1 cmp '2'
12:03 camelia rakudo-moar 36a351: OUTPUT«Less␤»
12:04 jnthn m: say '102' cmp 2
12:04 camelia rakudo-moar 36a351: OUTPUT«Less␤»
12:04 jnthn :)
12:04 jnthn Depending if you want numeric of lexicographic, just do:
12:04 jnthn m: my @mixed = 1, '2', 3, '4', 5, '12', 23, '34', 102, '111', 304, '876'; say @mixed.sort(*.Num)
12:04 camelia rakudo-moar 36a351: OUTPUT«(1 2 3 4 5 12 23 34 102 111 304 876)␤»
12:05 jnthn m: my @mixed = 1, '2', 3, '4', 5, '12', 23, '34', 102, '111', 304, '876'; say @mixed.sort(*.Str)
12:05 camelia rakudo-moar 36a351: OUTPUT«(1 102 111 12 2 23 3 304 34 4 5 876)␤»
12:05 RabidGravy jnthn, I'm going with the culprit being "$encoded-content.encode('ascii').bytes.Str"
12:05 mscha But what does it use with a mixed array if you don't specify anything?  The result is *almost* lexicographically sorted, but not quite.
12:06 mscha ... 5 23 ...
12:06 gfldex m: say +'101';
12:06 camelia rakudo-moar 36a351: OUTPUT«101␤»
12:06 jnthn mscha: I think if you give it two different types of thing, it first sorts by typename
12:06 jnthn For a given cmp
12:07 mscha jnthn: no, that's not it either; 1, '2', 3 are in that order.
12:07 dalek rakudo/nom: bcbdc1d | lizmat++ | src/core/ (2 files):
12:07 dalek rakudo/nom: Add limit to Str.comb, add comb(Int:D..) candidate
12:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bcbdc1d1fa
12:09 mscha jnthn: I think I get it, it probably compares each two items numerically if both are numbers, and lexicographically otherwise, so the results are unpredictable.
12:10 jnthn mscha: Yeah, I suspect that cmp gives back unstable things and the sort copes best it can
12:10 jnthn btw, .sort(+*) and .sort(~*) are cute shortcuts for numeric and string sorts
12:10 mscha That's handy.
12:11 RabidGravy jnthn, by brute-force I can confirm it is the "$encoded-content.encode('ascii').bytes.Str" that is causing the failure
12:12 jnthn RabidGravy: OK, good. I just pushed a fix.
12:12 jnthn Though still have to unbust roundtripping
12:13 jnthn About Panda, did it .decode as ASCII/Latin-1?
12:13 jnthn If so, the fix I'm about to do now may nail that issue
12:13 RabidGravy no decode whatsoever
12:13 jnthn OK
12:13 jnthn hm
12:14 jnthn Or any mention of encoding?
12:14 RabidGravy it does the "most dumb http client in the world"
12:15 RabidGravy i.e   my $s = IO::Socket::INET.connect ... ; $s.print("GET /whatever HTTP/1.0");   my $header = $s.get;
12:15 jnthn OK, so utf-8
12:15 jnthn If it doesn't mention otherwise
12:15 RabidGravy it just seems that the get is returning all the stuff
12:16 nwc10 joined #perl6
12:16 gtodd joined #perl6
12:16 nwc10 good UGT, #perl6
12:16 jnthn Hm, OK. I did notice that IO::Socket::INET ahs some very funky code for line sep stuff that I was going to review later, but didn't think it'd break horribly and none of the socket tests failed so I left it as is
12:16 RabidGravy harr!
12:17 jnthn Oh joy. Now streaming ASCII decoding becomes fun
12:17 RabidGravy yeah, literally "$s.print("GET /projects.json HTTP/1.0\r\nHost: ecosystem-api.p6c.org\r\n\r\n"); my $http-header = $s.get;
12:17 jnthn Because I have to cope with getting back one buffer ending in \r, and waiting to see if the next one brings a \n :)
12:27 lizmat m: say Whatever.new.Str   # would anybody terribly mind if this became just "*" ?
12:27 camelia rakudo-moar 36a351: OUTPUT«Whatever<139732658662112>␤»
12:28 lizmat m: say Whatever.new
12:28 camelia rakudo-moar 36a351: OUTPUT«*␤»
12:28 lizmat m: say Whatever.new.perl
12:28 camelia rakudo-moar 36a351: OUTPUT«*␤»
12:28 lizmat I think it's just an oversight that .Str isn't
12:28 Skarsnik joined #perl6
12:30 dalek roast: 8ba9148 | lizmat++ | S32-str/comb.t:
12:30 dalek roast: Add tests for comb(N)
12:30 dalek roast: review: https://github.com/perl6/roast/commit/8ba9148e49
12:31 dalek modules.perl6.org: 020d1f2 | azawawi++ | web/ (7 files):
12:31 dalek modules.perl6.org: Add Travis CI status images without the "build" prefix
12:31 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/020d1f21b2
12:32 RabidGravy azawawi++
12:32 xinming joined #perl6
12:32 lizmat m: say HyperWhatever.new.WHAT    # jnthn: is that correct ?
12:32 camelia rakudo-moar 36a351: OUTPUT«(Sub)␤»
12:34 * flussence thinks modules.perl6.org would look slightly nicer if the first column was {$name}<br>{$desc} - all rows are already 2 lines high so it wouldn't waste space.
12:35 moritz but that would make it harder to visually scan for a module name
12:36 jnthn m: Sub.new
12:36 camelia rakudo-moar 36a351: OUTPUT«Cannot make a Sub object using .new␤  in block <unit> at /tmp/e19kVr10sF:1␤␤»
12:36 jnthn lizmat: Would be like ^^
12:36 jnthn But HyperWhatever, not Sub
12:36 jnthn *Should
12:36 lizmat ok, but then what use are the ACCEPTS and .perl methods in HyperWhatever.pm ?
12:36 AlexDaniel I agree with moritz
12:36 lizmat will fix
12:38 jnthn lizmat: Oh wait
12:38 kid51 joined #perl6
12:38 jnthn lizmat: Sorry, I was confused
12:38 jnthn lizmat: I read HyperWhatever as WhateverCode
12:38 jnthn Ignore everything I said :)
12:39 jnthn m: say Whatever.new
12:39 camelia rakudo-moar 36a351: OUTPUT«*␤»
12:39 lizmat ah, so you *can* HyperWhatever.new ?
12:39 jnthn Yeah, and that it returns Sub is rather dubious
12:39 lizmat and it returns a Sub ?
12:39 jnthn I can't imagine that being right :)
12:40 lizmat so it should be an instantiated HyperWhatever ?
12:40 Skarsnik Hello. I was wondering, why not something like CPAN for perl6 modules?
12:41 jnthn lizmat: Yeah but...why on earth that isn't already happening I'm not sure
12:41 jnthn m: say HyperWhatever
12:41 camelia rakudo-moar 36a351: OUTPUT«(HyperWhatever)␤»
12:41 jnthn m: say HyperWhatever.WHAT
12:41 camelia rakudo-moar 36a351: OUTPUT«(HyperWhatever)␤»
12:41 AlexDaniel Skarsnik: well, there's panda and a module directory
12:41 RabidGravy Skarsnik, in progress
12:41 jnthn m: say HyperWhatever.CREATE
12:41 camelia rakudo-moar 36a351: OUTPUT«sub (*@_) { #`(Sub|60192168) ... }␤»
12:41 AlexDaniel Skarsnik: so it kinda works right now, it's not too bad
12:41 lizmat oh wow
12:41 jnthn o.O
12:41 jnthn m: say nqp::create(HyperWhatever)
12:41 camelia rakudo-moar 36a351: OUTPUT«**␤»
12:41 jnthn Heh, it's not *that* busted :)
12:42 jnthn Smells like Compiler Transform gone wild... :)
12:43 AlexDaniel Skarsnik: http://jdv79.blogspot.nl/2015/10/perl6-and-cpan-metacpan-status-as-of.html
12:44 flussence oh, now there's a different set of people around I'll ask this again: should «$socket.print: @stuff» behave the same as «$file.print: @stuff»? They don't right now.
12:45 ilmari how about «$pipe.print: @stuff»?
12:45 flussence haven't tried...
12:45 moritz they should all behave the same, IMHO
12:45 jnthn flussence: I'd expect them to be consistent
12:45 Skarsnik AlexDaniel, well my main issue about the current solution is the lack of forcing to have a 'proper' documentation. I mean CPAN display the pod of the module, it's better than just the Readme.md x) But don't get it as a rant. It was just a question ^^
12:46 bjz joined #perl6
12:46 xinming joined #perl6
12:46 AlexDaniel Skarsnik: I don't think that many modules have proper pod right now
12:47 dalek modules.perl6.org: 7b81568 | azawawi++ | web/ (23 files):
12:47 dalek modules.perl6.org: Refactor scattered images into assets/images folder
12:47 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/7b81568afd
12:47 flussence the socket case gets @stuff.Str, file just gets exactly what's in the pieces. really confused me when I was trying to do a simple HTTP test... :)
12:47 AlexDaniel which is possibly caused by the lack of cpan :)
12:47 jnthn flussence: I suspect socket is wrong, then
12:48 moritz flussence: the socket case joins with spaces right now?
12:48 jnthn m: my @a = 1..5; print @a
12:48 camelia rakudo-moar 36a351: OUTPUT«12345»
12:48 lizmat m: Callable.new   # should probably also fail, no ?
12:48 camelia rakudo-moar 36a351: ( no output )
12:48 ilmari m: my @a = 1..5; print @a.Str
12:48 camelia rakudo-moar 36a351: OUTPUT«1 2 3 4 5»
12:48 ilmari IO::Socket has method print (Str(Cool) $string)
12:48 flussence moritz: yep
12:49 ilmari whereas IO::Handle has among other things multi method print(IO::Handle:D: *@list is raw)
12:49 jnthn lizmat: That's just a role, so doesn't matter much
12:52 dalek modules.perl6.org: 0436c29 | azawawi++ | web/ (2 files):
12:52 dalek modules.perl6.org: Restore image path lost in the previous commit. azawawi--
12:52 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/0436c292d3
12:54 bjz joined #perl6
12:54 dalek nqp: 502fd48 | (Pawel Murias)++ | src/vm/js/ (3 files):
12:54 dalek nqp: [js] Implement nqp::readlinechompfh and nqp::setinputlineseps.
12:54 dalek nqp: review: https://github.com/perl6/nqp/commit/502fd482e2
12:56 lizmat jnthn: but it looks like anything doing the role Callable role, is prohibited from doing .new
12:56 lizmat so maybe the method new need to live in there, is my question really
12:56 xinming joined #perl6
12:58 jnthn lizmat: I can imagine people implementing callable things that you can instantiate
12:58 jnthn lizmat: It's more than the built-in Code objects should only be constructed by the compiler
12:59 abraxxa lizmat: hi! I didn't get what you suggested to do yesterday
12:59 * lizmat is not sure what she suggested
13:00 RabidGravy "strap a goat to your head and run around naked in the park"
13:00 RabidGravy I wasn't sure either ;-)
13:00 abraxxa (14:54:25) lizmat: I think you will get a better impedance match if you would define constants for indexes, and then use a native array
13:00 lizmat ah, that, the impedance match thing ?
13:01 abraxxa I wonder if I'm using NativeCall suboptimal because I'm copying the p6 typed var to natvie typed one before passing to the NativeCall function
13:01 jnthn RabidGravy: Goats are pretty heavy, not sure I'd be able to run too fast... :P
13:01 RabidGravy micro goats are an option
13:01 lizmat jnthn: but you can have smaller goats, the so called goaties  :-)
13:02 abraxxa lizmat: starting here https://github.com/abraxxa/DBIish/blob/master/lib/DBDish/Oracle.pm6#L490
13:02 lizmat abraxxa: generally, copying a P6 type var to a native, is pretty cheap, right jnthn ?
13:02 abraxxa lizmat: i've defined three Perl 6 functions for the one C function for the three different data types
13:02 abraxxa lizmat: but shouldn't NativeCall handle the data transformation?
13:03 jnthn lizmat: You mean just unboxing something to a native, say, int?
13:03 abraxxa jnthn: yes
13:03 abraxxa jnthn: maybe you could take a look at the code i've linked to and suggest how to proceed
13:04 abraxxa i need to pass the Oracle OCI library the values for SQL bind parameters but currently garbage is at their memory locations when OCI accesses them
13:04 abraxxa I think the p6 vars have already been garbage collected at that time and replaced with different data (or code)
13:05 RabidGravy for strings you want "externally-manage" or whatever it is
13:05 abraxxa RabidGravy: is that a NativeCall thing?
13:05 RabidGravy yep
13:05 Skarsnik how to free strings you tag explicitly-manage btw? x)
13:05 abraxxa is it documented somewhere?
13:06 Skarsnik http://doc.perl6.org/language/nativecall it's somewhere
13:06 abraxxa in binds just happen to have garbage data but out binds currently crash moar
13:07 RabidGravy abraxxa, http://docs.perl6.org/language/nativecall#Passing_and_Returning_Values near the bottom of the section
13:07 abraxxa RabidGravy: yeah, found it
13:08 abraxxa what Skarsnik asked, when will they be freed
13:08 jnthn abraxxa: Maybe later; I'm already juggling a couple of tricky things at the moment
13:08 abraxxa jnthn: thank you very much!
13:11 Skarsnik why your @params is an array in execute if you use kv on it? I though DBH::execute() only took flat list of value?
13:11 dalek modules.perl6.org: bfba0d0 | azawawi++ | web/ (2 files):
13:11 dalek modules.perl6.org: Sort order for travis status column now works with images. Enjoy :)
13:11 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/bfba0d0559
13:12 aborazmeh joined #perl6
13:12 aborazmeh joined #perl6
13:13 abraxxa wow, the strings in the database are ok now!
13:14 RabidGravy yay!
13:14 Skarsnik badges images link are broken for me on modules.perl6.org x)
13:14 domidumont joined #perl6
13:16 isBEKaml joined #perl6
13:18 moritz same here :(
13:19 moritz also the sort buttons are over the text "Travis" in the head row
13:19 ilmari do any of the people who hack on the C bits use emacs? if so, which c-indentation-style and other settings do you use?
13:19 ilmari could you stick that in a .dir-locals.el?
13:19 dalek rakudo/nom: b409bcb | lizmat++ | src/core/Whatever.pm:
13:19 dalek rakudo/nom: Make Whatever.new.Str show '*'
13:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b409bcb4ad
13:19 dalek rakudo/nom: c206f8a | lizmat++ | src/core/ (3 files):
13:19 dalek rakudo/nom: Add an exception for not being allowed to do .new
13:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c206f8a037
13:20 RabidGravy I'm confused by this "$encoded-content.encode('ascii').bytes.Str" carking it like that as I can't make the same code break outside the module, but it does every time in the test
13:21 abraxxa the ints and floats are still wrong
13:21 dalek modules.perl6.org: feb6c81 | azawawi++ | web/ (7 files):
13:21 dalek modules.perl6.org: Refactor js into assets/js
13:21 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/feb6c812a2
13:21 dalek modules.perl6.org: 72ce9ea | azawawi++ | web/ (3 files):
13:21 dalek modules.perl6.org: Hopefully last refactor style.css into its own assets/css directory
13:21 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/72ce9ea6a5
13:22 RabidGravy or is it because somewhere along the line it's getting decoded and then encoded again
13:22 _mg_ joined #perl6
13:23 dalek roast: d8534d8 | jnthn++ | S15-nfg/crlf-encoding.t:
13:23 dalek roast: Add streaming decode tests for \r\n handling.
13:23 dalek roast: review: https://github.com/perl6/roast/commit/d8534d89db
13:23 abraxxa Skarsnik: @execute: i've copied that from Pg.pm, the var naming in SQLite.pm6 is better with $idx, $v
13:23 jnthn lunch &
13:23 nwc10 ilmari: ^^ :-)
13:25 dalek roast: e0d92a2 | lizmat++ | S02-types/WHICH.t:
13:25 dalek roast: Add basic test for X::Cannot::New
13:25 dalek roast: review: https://github.com/perl6/roast/commit/e0d92a2dbd
13:27 ilmari nwc10: I'm hacking on moar during my lucnhbreak, I shuld probably get some food too
13:31 dalek doc: 012b029 | lizmat++ | doc/Type/Str.pod:
13:31 dalek doc: Add doc for Str:D.comb(Int:D)
13:31 dalek doc: review: https://github.com/perl6/doc/commit/012b029e9d
13:31 abraxxa what's the status regarding unsigned datatypes in NativeCall?
13:32 RabidGravy they work afaik
13:32 RabidGravy or rather I have modules that use them which work fine
13:33 lizmat I seem to recall there are tests for it, in make test
13:33 pippo joined #perl6
13:33 pippo o/ #perl6
13:33 yoleaux 1 Nov 2015 08:42Z <azawawi> pippo: thanks. fixed in https://github.com/azawawi/perl6-selenium-webdriver/commit/2fc4176b1422a64f413b069315b10d68fc14f753 :)
13:36 sprocket joined #perl6
13:36 pippo m: my %hash; say_it(%h) {say %h.name;} say say_it(%hash); #is there a way to get the name of the passed hash without explicitely passing the name to the sub?
13:36 camelia rakudo-moar 36a351: OUTPUT«5===SORRY!5=== Error while compiling /tmp/l32VSSihf4␤Variable '%h' is not declared␤at /tmp/l32VSSihf4:1␤------> 3my %hash; say_it(7⏏5%h) {say %h.name;} say say_it(%hash); #i␤»
13:36 pippo m: my %hash; say_it(%h) {say %h.name;}; say say_it(%hash); #is there a way to get the name of the passed hash without explicitely passing the name to the sub?
13:36 camelia rakudo-moar 36a351: OUTPUT«5===SORRY!5=== Error while compiling /tmp/U5295_j2ti␤Variable '%h' is not declared␤at /tmp/U5295_j2ti:1␤------> 3my %hash; say_it(7⏏5%h) {say %h.name;}; say say_it(%hash); #␤»
13:37 isBEKaml OHHAI
13:37 pippo m: my %hash; sub say_it(%h) {say %h.name;}; say say_it(%hash); #is there a way to get the name of the passed hash without explicitely passing the name to the sub?
13:37 camelia rakudo-moar 36a351: OUTPUT«%hash␤True␤»
13:38 pippo Huh that works. NM
13:41 ZoffixW joined #perl6
13:42 ZoffixW azawawi, timotimo regarding long module names (http://irclog.perlgeek.de/perl6/2015-11-04#i_11480573), we actually already have the logic to handle that issue on smaller screens. If it ever becomes an issue on full-size displays, we can just remove the @media restriction: https://github.com/perl6/modules.perl6.org/blob/master/web/assets/css/style.css#L216
13:44 ZoffixW We can also shorten the "Open Issues" column heading to just "Issues", to make the column narrower.
13:44 moritz ZoffixW: +1
13:46 gfldex m: sub f(Hash $p){ say $p{'foo'}; say $p.name }; f(Hash.new('foo'=>'bar'));
13:46 camelia rakudo-moar 36a351: OUTPUT«bar␤(Str)␤»
13:46 gfldex pippo: it _may_ work see ^^^
13:48 virtualsue joined #perl6
13:48 ZoffixW azawawi, BTW, paths in CSS files are relative to that CSS file, so I think these are wrong now: https://github.com/perl6/modules.perl6.org/blob/master/web/assets/css/style.css#L226
13:49 ZoffixW azawawi, sorry, don't mean to pile everything on you, but I figured since you're making changes :) If you don't have time, just open an Issue :)
13:49 pmurias jnthn: I found a bug with nqp::encode on the nqp backend and created issue 250 for it
13:50 pmurias jnthn: utf16 is supposed to encode to little endian utf16?
13:51 dalek modules.perl6.org: 5db2056 | azawawi++ | web/ (2 files):
13:51 dalek modules.perl6.org: Simplify copying of resources and fix sorter images
13:51 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/5db2056540
13:51 ely-se joined #perl6
13:52 azawawi ZoffixW: i was talking to a collegue. im back :)
13:52 azawawi ZoffixW: last commit should fix it... hopefully :)
13:53 ZoffixW azawawi++ # much simpler copying of assets :)
13:57 abraxxa RabidGravy, lizmat: i was told some month ago that unsigned are just signed so their max value is only half or what it usually is
13:58 lizmat ah, abraxxa: that could still well be the case
13:59 Skarsnik signed and unsigned has the same size in C, it just the value range that is not the same (If I remember correctly)
14:00 flussence m: my uint8 $foo = uint64.Range.max; say $foo;
14:00 camelia rakudo-moar 36a351: OUTPUT«-1␤»
14:01 azawawi ZoffixW: thanks :)
14:01 lizmat m: say "\r\n".ord; say "\r\n".ords   # jnthn, I assume that's on your list already, right ?
14:01 camelia rakudo-moar 36a351: OUTPUT«13␤(13)␤»
14:02 Skarsnik hm interpolation does not work in heredoc? I followed https://perl6advent.wordpress.com/2013/12/04/day-04-heredocs-theredocs-everywheredocs-docs/ and write q:to:c/END_C/ or did it change?
14:02 jnthn The...nqp backend?
14:02 RabidGravy abraxxa, possible but as I say I'm using all over the place in Audio::Libshout, Audio::Encode::LameMP3 and they definitely work as expected
14:03 jnthn Skarsnik: Try  q:c:to/END_C/
14:03 jnthn lizmat: .ord giving 13 is as good as we're going to get, I think
14:03 jnthn m: say "\r\n".NFC
14:03 camelia rakudo-moar 36a351: OUTPUT«NFC:0x<000d 000a>␤»
14:03 jnthn I'd not mind to kill off .ords in favor of that
14:04 jnthn But the fix is to implement it as self.NFC.list
14:04 jnthn Rather than whatever it's doing today
14:04 jnthn Feel free to patch it while I work on the decoder stuff
14:04 flussence ($codepaths--)++
14:05 Skarsnik ah yes it work. now how I fail because of {} in the C content ~~
14:05 pippo gfldex: thank you.
14:05 lizmat jnthn: shouldn't .ord just return a negative for the synthetic, or would you consider that leaking ?
14:06 jnthn No, that's leaking
14:06 jnthn You should *never* get to see the negatives
14:07 lizmat then .ord is basically useless
14:07 jnthn It's an operation of codepoints
14:07 lizmat as is .ords then
14:07 jnthn *on
14:07 jnthn .ords is fine if we fix it like I just said
14:07 lizmat ok
14:07 jnthn .ord is just .ords[0] really
14:08 jnthn Str is not an array of codepoints, just as it isn't an array of bytes
14:08 * [Coke] is bummed that the java build wasn't magically fixed overnight. :)
14:08 lizmat .NFC is NYI on JVM, right ?
14:08 nwc10 pmurias: do my serialisation changes keep breaking NQP JS? Sorry if I'm making work for you. Not sure what I'd need to do to not hurt it
14:09 lizmat hmmm....
14:09 jnthn lizmat: Yeah; guess we may have to do it conditional for now.
14:09 lizmat ok
14:11 isBEKaml [Coke]: is that a broken build? as in, rakudo-jvm doesn't build at all?
14:11 [Coke] isBEKaml: correct.
14:12 [Coke] wellll, you get a perl6-j, I think, but can't compile test.pm
14:13 isBEKaml [Coke]: don't know - I haven't built perl6-j in a lo+ng time.
14:17 Ven joined #perl6
14:18 dalek modules.perl6.org: 6aa7fe1 | azawawi++ | web/index.tmpl:
14:18 dalek modules.perl6.org: Open issues -> issues (ZoffixW++)
14:18 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/6aa7fe1cfb
14:18 dalek modules.perl6.org: 33e8afd | azawawi++ | / (3 files):
14:18 dalek modules.perl6.org: Store logos in assets/images/logos
14:18 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/33e8afde39
14:18 lizmat jnthn: so, nqp::ordat is now also borked ?
14:18 Ven o/, #perl6
14:19 lizmat Ven o/
14:19 zengargoyle o/
14:19 Ven I'm writing a script for $work, but I can't seem to find a way not to buffer the output? I tried qx, shell and run, but they all keep it all for themselves
14:20 pmurias nwc10: I have recovered from the changes, are any new ones planned?
14:22 nwc10 there might be some saving to be made in the objects_table section of the SCDATA. And I've not looked at FRAME
14:23 skids joined #perl6
14:23 jnthn lizmat: Yeah, that probably doesn't make much sense under NFG
14:23 nwc10 but I'm not sure if that's anything that the JS stuff needs. Is the JS stuff sensitive to how MoarVM stores interperter related state (as opposed to NQP-visible data that got serialised)
14:23 azawawi moritz: what's the cron job interval for the modules.perl6.org build script? every 15 min?
14:23 pmurias nwc10: not that I know of
14:24 nwc10 OK
14:24 moritz azawawi: 20,50   *       *       *       *       sh update-modules.perl6.org > log/update.log 2>&1; cp log/update.log /var/www/modules.perl6.org/log
14:24 pmurias reducing the size of the downloaded javascript will be useful so hopefully porting over the serialization changes is not wasted effort
14:24 nwc10 you're getting nearer to closing the bootstrap loop on NQP JS?
14:24 pippo Ven: did not understand your question. m: my $lines = qx/ls/.lines; say $lines.perl;
14:24 pippo m: my $lines = qx/ls/.lines; say $lines.perl;
14:24 camelia rakudo-moar 36a351: OUTPUT«qx, qqx is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting:1␤  in sub QX at src/RESTRICTED.setting:11␤  in block <unit> at /tmp/RkyevmE6K8:1␤␤»
14:25 nwc10 but I can' see anything even slightly "obvious" that would reduce size, without needing a lot more CPU
14:25 Ven pippo: that buffers.
14:25 azawawi moritz: thanks
14:25 abraxxa RabidGravy: i've looked at LameMP3 and saw that you don't use 'is rw'
14:25 Ven I'm doing C++ at $work, and it takes several *minutes* to compile. I want to get the output ASAP
14:25 abraxxa RabidGravy: i've looked at LameMP3 and saw that you don't use 'is rw' for parameters but CArrays, why?
14:26 dalek nqp: 47da876 | jnthn++ | tools/build/MOAR_REVISION:
14:26 dalek nqp: Bump MOAR_REVISION for encode/decode fixes.
14:26 dalek nqp: review: https://github.com/perl6/nqp/commit/47da876367
14:26 RabidGravy abraxxa, because it doesn't alter the array but just the contents
14:26 pippo Ven: now it is clear. But I am afraid I cannot help you.
14:26 pippo :-(
14:26 nwc10 jnthn: I was assuming that we don't bump the minimum serialiasation format until after the November release
14:26 pmurias nwc10: I think it's a matter of fixing a few bugs and implementating the serialization of some things
14:26 abraxxa RabidGravy: so you don't use the CArray for having a pointer to one native param?
14:27 RabidGravy they have to be pre-grown to the correct length and everything
14:27 jnthn nwc10: I don't think we have?
14:27 nwc10 we haven't yet.
14:27 jnthn Ah, so you're saying "don't until after the Nov release" :)
14:27 nwc10 I was saying that I thought that that was the usual plan for these things
14:27 dalek rakudo/nom: 3f2d858 | lizmat++ | src/core/Str.pm:
14:27 dalek rakudo/nom: Make Str.ord/ords NFC based on Moar
14:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3f2d85814f
14:27 nwc10 although the rules will be different after Christmas
14:27 jnthn *nod*
14:28 pmurias nwc10: and the least fun part would be making the build system compile nqp-js with the nqp-js-running-on-js
14:28 jnthn lizmat: oh, you didn't need to change ord
14:28 azawawi http://modules.perl6.org/   # fixed :)
14:28 jnthn nqp::ord *does* give the first NFC codepoint
14:28 lizmat ok, will fix
14:29 pmurias nwc10: nqp-js-on-js is currently broken but it was passing like 4 tests less then nqp-js-on-moar
14:29 jnthn Sorry for the confusion; I was describing the semantics rather than how the impl had to be
14:29 lizmat and I just realize that .ords is really just the same as .NFC now, right >
14:29 RabidGravy abraxxa, well in the case of LameMP3 it's something like "unsigned char * mp3buf"
14:29 lizmat no need to make a Seq
14:29 nwc10 pmurias: ooh gosh, that was close
14:30 jnthn lizmat: No, .NFC gives a Uni
14:30 jnthn You should return something Iterable
14:30 jnthn lizmat: .NFC.list would do it
14:30 pmurias lunch&
14:31 lizmat m: say "abc".NFC[0]   # jnthn: not sure a .list is needed ?
14:31 camelia rakudo-moar 36a351: OUTPUT«97␤»
14:31 lizmat m: say "abc".NFC[1]
14:31 camelia rakudo-moar 36a351: OUTPUT«98␤»
14:31 lizmat m: .say for "abc".NFC
14:31 camelia rakudo-moar 36a351: OUTPUT«97␤98␤99␤»
14:31 abraxxa RabidGravy: i see. Did you never need a pointer to an for example int32?
14:32 jnthn lizmat: Oh...
14:32 jnthn Seems you'r right
14:32 jnthn *you're
14:33 lizmat m: say NFC ~~ Iterable   # although this appears to be False?
14:33 camelia rakudo-moar 36a351: OUTPUT«False␤»
14:33 lizmat hmmm.. same for Buf and friends
14:34 jnthn Yeah...I think that for *does* .list on it?
14:34 jnthn So it's happening anyway
14:34 lizmat ah, good point, yes
14:34 lizmat and the AT-POS is inherited from Buf, I guess
14:34 dalek rakudo/nom: 76e33ed | jnthn++ | tools/build/NQP_REVISION:
14:34 dalek rakudo/nom: Bump for encode/decode fixes in Moar.
14:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/76e33ed00a
14:34 dalek rakudo/nom: 619d0a1 | jnthn++ | t/spectest.data:
14:34 dalek rakudo/nom: Run S15-nfg/crlf-encoding.t.
14:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/619d0a1108
14:34 jnthn Well, Uni implements AT-POS and NFC inherits from Uni
14:34 RabidGravy abraxxa,  int *ptr you mean?  yeah in Sndfile and other places
14:35 jnthn RabidGravy: 76e33ed should hopefully unscrew things somewhat (such as your SEGV earlier)
14:35 ollej left #perl6
14:35 RabidGravy jnthn++ # let's see
14:35 lizmat jnthn: so, should I add a .list or not?
14:35 jnthn RabidGravy: I'd be interested to know if the Panda workaround is still needed with it too
14:35 jnthn lizmat: I'm inclined to add it
14:35 lizmat oki
14:36 jnthn lizmat: If nothing else 'cus .ords returned something List-y before
14:36 jnthn m: say "\r\n".chars
14:36 camelia rakudo-moar 36a351: OUTPUT«1␤»
14:36 jnthn m: say "\r\n".codes
14:36 camelia rakudo-moar 36a351: OUTPUT«2␤»
14:36 jnthn phew
14:37 abraxxa RabidGravy: I only find CArray[int16] is rw
14:37 abraxxa not int16 is rw
14:38 RabidGravy right
14:38 RabidGravy but there's no diffence
14:38 jdv79 can role params be named?
14:38 RabidGravy yes
14:39 jdv79 i didn't see any examples in roast
14:39 RabidGravy abraxxa, "int *foo" can be an array or a single value as far as C is concerned, it's just what you do with it
14:41 loren joined #perl6
14:41 abraxxa i have ub2           *alenp, (ub2 is unsigned bytes 2 = constant sb2            = int16;)
14:41 abraxxa how can I debug what NativeCall passes to the C functions?
14:42 RabidGravy write a C function yourself and inspect what it does
14:42 RabidGravy I am no expert in these matters
14:42 abraxxa i don't know C
14:42 RabidGravy tricky
14:43 abraxxa since I call explicitly-manage on the Str variables their text shows up in the DB most of the time, sometimes it's NULL instead
14:43 abraxxa the int and floats never work
14:44 nwc10 left #perl6
14:44 duncan_dmg joined #perl6
14:44 Ven I'm surprised there's no output-as-you-get sort of option for shell or run
14:44 Ven (or even qx)
14:44 loren m: use NativeCall; sub time () returns int is native('libc.so.6') is export { * }; say time();
14:44 camelia rakudo-moar 36a351: OUTPUT«(signal SEGV)»
14:44 dalek modules.perl6.org: 323fca2 | azawawi++ | / (2 files):
14:44 dalek modules.perl6.org: A new README is here to simplify the learning process. Enjoy
14:44 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/323fca2f78
14:45 Skarsnik abraxxa, what is your issue?
14:45 abraxxa Skarsnik: insert sql with bind vars don't work
14:45 abraxxa i'm trying to implement DBDish::Oracle since month
14:45 RabidGravy jnthn, well panda continues to work with the fix, when the rakudo has built on the other machine I'll test without the fix
14:46 flussence I guess the “This directory now lives in the root directory of the gh-pages branch, and will probably be removed soon.” in that readme isn't quite valid, given it's been there since 2011...
14:46 Skarsnik hm, I can't make 'my $proc = run something, :out; say $proc.out.get' to work, I always get nothing
14:47 isBEKaml [Coke]: https://gist.github.com/anonymous/78d5b23bca7a80738fb3 -- this is what I see. Hmm, NPE is a great way to fail :P
14:47 Skarsnik OCIBindByName_Real are the clib call?
14:47 jnthn RabidGravy: OK. And guess you're checking the .encode SEGV too? :)
14:48 RabidGravy I'm just installing the deps ;-)
14:48 RabidGravy but yes
14:48 jnthn Cool
14:48 isBEKaml how long does it normally take to build rakudo-j?
14:48 RabidGravy jnthn++ # yep all fixorificated
14:49 RabidGravy jnthn++ # fix all the things
14:49 lizmat cycling&
14:49 llfourn m: BEGIN { $*W.find_symbol(['&EVAL']) } # how do I do this right? :)
14:49 camelia rakudo-moar 36a351: OUTPUT«5===SORRY!5=== Error while compiling /tmp/fu07ZnIEgQ␤An exception occurred while evaluating a BEGIN␤at /tmp/fu07ZnIEgQ:1␤Exception details:␤  5===SORRY!5=== Error while compiling ␤  This type does not support positional operations␤  at …»
14:49 jnthn \o/
14:50 llfourn there is a comment in world in sympathy with me: https://github.com/rakudo/rakudo/blob/nom/src/Perl6/World.nqp#L53
14:50 dalek modules.perl6.org: 434e354 | azawawi++ | README.md:
14:50 dalek modules.perl6.org: Mention cron job line moritz++, and update log url.
14:50 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/434e3540d5
14:50 llfourn but I'm not sure what to do with it
14:50 moritz m: BEGIN { &::('EVAL')('say 1+2') }
14:50 camelia rakudo-moar 36a351: OUTPUT«3␤»
14:50 isBEKaml j: say 42
14:50 camelia rakudo-jvm 273e89: OUTPUT«42␤»
14:50 moritz llfourn: if you just want a lookup by name in Perl 6 land, use ::(...)
14:50 llfourn moritz: $*W.find_symbol is what I'm looking for :)
14:51 pippo Ven: mkfifo?
14:51 Ven mkfifo?
14:51 llfourn moritz: I'm trying to steal something from another lexpad in a trait_mod.. at compile time
14:51 moritz m: use nqp; BEGIN { $*W.find_symbol(nqp::list('&EVAL')) }
14:51 camelia rakudo-moar 36a351: ( no output )
14:51 pippo are you using linux?
14:51 moritz llfourn: ^^
14:51 isBEKaml p: say 42
14:51 moritz llfourn: a Perl 6 [] is not an nqp []
14:52 moritz llfourn: hence you need nqp::list to generate a nqp array
14:52 dalek modules.perl6.org: 51c5eb1 | azawawi++ | README.md:
14:52 dalek modules.perl6.org: Indent example. I am done for today :)
14:52 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/51c5eb192c
14:52 llfourn moritz: hmm I swear I tried that!!! (thanks thought)
14:52 moritz llfourn: I tried better :-)
14:53 llfourn moritz: yep it works now...maybe it's becasue I stored the result of nqp::list in a variable before passing it..
14:53 pippo Ven: are you using linux? If yes try man mkfifo. You can redirect the compilation output to the FIFO and read it out from that FIFO with your p6 script. I think…
14:53 Ven pippo: nope, os x
14:54 dalek modules.perl6.org: 7827e71 | azawawi++ | README.md:
14:54 dalek modules.perl6.org: Remove the old gh-pages paragraph. flussence++
14:54 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/7827e718ee
14:54 pippo It is a nix also. Should work I think.
14:54 [Coke] isBEKaml: yup, same here, with no line number at the top.
14:54 RabidGravy jnthn, however the panda doesn't work without the fix
14:54 pippo Ven: It is a nix also. Should work I think.
14:54 moritz Skarsnik: this works locally for me: perl6-m -e 'say run("cat", "README.md", :out).out.get'
14:54 RabidGravy so .get is still getting all the content
14:54 moritz Skarsnik: and prints the same as head -n1 README.md
14:54 isBEKaml [Coke]: damn, that build took a lo+ng time :-)
14:54 * azawawi time to go home... &
14:55 isBEKaml [Coke]: and ate lots of memory (that's to be expected)
14:55 pippo azawawi: o/
14:55 RabidGravy now however I'm getting "Method 'subst' not found for invocant of class 'Any'" all over the place
14:55 azawawi the perl6 testers integration is next for modules.perl6.org
14:56 RabidGravy azawawi++ # top stuff
14:56 azawawi hopefully i will do it tomorrow :)
14:56 azawawi cya
14:56 Skarsnik hm, does a previous non captured run could override or something?
14:57 moritz Skarsnik: dunno. Does the same run() produce the output you expect without :out ?
14:58 Skarsnik http://pastebin.com/3Tgn33rV
14:58 lucasb joined #perl6
14:59 jdv79 it appears using role params to pass config down a chain of roles doesn't work
14:59 jdv79 should it?
15:00 moritz Skarsnik: ./piko.exe vs piko.exe ?
15:01 ugexe i dont understand why there is no output for the call to `run 'cc'`
15:01 Skarsnik Because I don't capture it? x)
15:01 ugexe yea thats why i dont understand it. it should be printed
15:01 jnthn jdv79: I don't think named parameters are factored into the role type interning, so you might get some odd behavior there
15:02 abraxxa Skarsnik: yes. As multi dispatch didn't work with native types and is rw some versions ago I defined three different Perl 6 functions for each datatype
15:04 jdv79 ok.  i guess i'll just expand the types to cover it for now.
15:04 ugexe perl6 -e 'run "ls"'
15:04 ugexe bin  lib  META6.json  t
15:04 ugexe Skarsnik: ^
15:04 Skarsnik ok it work if I write /root/$filename
15:05 ugexe you can pass in :cwd("/root")
15:05 Skarsnik but it does not work If I use the filename File::Temp give me. does cc forget to put +x on the file?
15:05 Ven ugexe: tried "say"?
15:06 ugexe for what? im pointing out that his run 'cc' command could output to stdout without him capturing it
15:07 jdv79 being able to do that would be neat though.  kind of a side channel.
15:07 Skarsnik Well cc output nothing
15:07 jnthn m: EVAL q/foo:bar;  /
15:07 camelia rakudo-moar 36a351: OUTPUT«5===SORRY!5=== Error while compiling /home/camelia/EVAL_0␤Undeclared routine:␤    foo:bar used at line 1␤␤»
15:08 flussence https://gist.github.com/flussence/a27ca3f5632476e80019 # ooc, I tried rewriting panda's json download bit as correctly as I can get it, but this version dies on line *19*.
15:08 ugexe ah. my cc outputs errors if i give it a file that doesnt exist
15:09 ugexe i wonder if the text is getting saved to :err for you...
15:09 Skarsnik oh I needed to close the filehandle (given by tempfile) before cc create the file
15:10 ugexe ouch
15:10 Skarsnik well thx for the help ^^
15:10 ugexe oh opened by tempfile
15:11 ugexe i guess thats not so bad then
15:11 Skarsnik actually that bother me
15:13 Skarsnik tempfile give me a name and a filehandle. I just needed a random file name for cc to put the binary and run it. why having still a filehandle open on it prevent run to execute it
15:14 Skarsnik since unix does not care about having a file open multiple time
15:15 flussence does it work if you unlink instead of close? maybe cc cares a little too much about not overwriting.
15:15 flussence (since it's a tempfile, I guess close implies unlink already)
15:17 * jnthn notes that Windows *does* care more about such things, and he's had to patch the spectests various times over such issues
15:18 Skarsnik hm no unlink on IO::Handle
15:19 flussence ought to be there on IO::Path
15:19 flussence m: say IO::Path.^methods
15:19 camelia rakudo-moar 36a351: OUTPUT«(FALLBACK gist new)␤»
15:19 flussence or... not.
15:20 lucasb yes, it is on IO::Path
15:20 flussence m: say IO::Path.^methods(:all)
15:20 camelia rakudo-moar 36a351: OUTPUT«(FALLBACK gist new take CREATE DUMP-OBJECT-ATTRS does can self gimme WHY set_why item note perl dispatch:<.+> ACCEPTS is-lazy BUILDALL gist dispatch:<var> dispatch:<.^> Bool Real dispatch:<hyper> WHERE defined bless BUILD_LEAST_DERIVED Numeric Str print DU…»
15:20 Skarsnik I replaced the cc call with cp. no output
15:20 Skarsnik without closing the handle
15:21 lucasb ^^ this is the RESTRICTED IO::Path
15:21 Skarsnik well: Method 'unlink' not found for invocant of class 'IO::Handle'
15:21 ugexe how are you getting this handle?
15:22 Skarsnik my ($filename,$filehandle) = tempfile; (for example)
15:22 ugexe what is `tempfile;`
15:24 Skarsnik https://github.com/perlpilot/p6-File-Temp/
15:27 jdv79 is there ro on a container yet?
15:27 zengargoyle you may want to create a temp directory and get temp filenames under that.
15:28 jdv79 or how would that even be done.  for instance i have "has @.foo" and i want that to be static/readonly.
15:30 khw joined #perl6
15:32 telex joined #perl6
15:33 tokuhiro_ joined #perl6
15:36 |Tux| travis is back to normal for perl6 \o/
15:36 chenryn joined #perl6
15:36 PerlJam Skarsnik: would you want something like my $filename = tempfile :name-only;  to have it give you a name, but not open the file at all?
15:39 zengargoyle Skarsnik: probably tempfile keeps :exclusive lock on file.
15:39 zengargoyle and cc checks for locks
15:39 zengargoyle or tries to acquire it's own and fails.
15:41 zengargoyle you could try getting the tempfile and handle and then releasing the lock on the handle.
15:45 zengargoyle but there's a race condition once you release the lock that some other tmpfile call *could* re-use the name.
15:46 zengargoyle thats why you get a tempdir and create your tempfiles under that tempdir
15:53 dalek nqp: 933a6f6 | (Pawel Murias)++ | src/vm/js/ (4 files):
15:53 dalek nqp: [js] Pass test 82.
15:53 dalek nqp:
15:53 dalek nqp: Implement nqp::decode/nqp::encode.
15:53 dalek nqp: review: https://github.com/perl6/nqp/commit/933a6f62b8
15:55 raydiak good *, #perl6
15:56 TimToady \o
15:57 raydiak \o TimToday...hope this morning finds you well :)
15:58 raydiak I'm happy to report that the bitrot has been scrubbed out of Inline::Lua, App::Pray, Image::PNG::Portable, and Math::ThreeD
16:00 colomon \o/
16:01 isBEKaml joined #perl6
16:01 dalek doc: 7ea3658 | (Lloyd Fournier)++ | doc/Language/functions.pod:
16:01 dalek doc: expanded multi docs
16:01 dalek doc:
16:01 dalek doc: 1. added X<declarator> to it
16:01 dalek doc: 2. example for methods
16:01 dalek doc: review: https://github.com/perl6/doc/commit/7ea3658607
16:02 dalek ecosystem: d33d88c | ugexe++ | / (10 files):
16:02 dalek ecosystem: ecosystem update: 1446652945
16:02 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/d33d88c6c4
16:02 * grondilu looks at https://github.com/perl6/nqp/commit/933a6f62b8 and his eyebrows raises in face of {01,02,...}
16:02 ugexe oh shit
16:02 grondilu (in bash this is written {01..96})
16:03 ugexe a fucked up process just borked the ecosystem repo
16:03 RabidGravy oops
16:03 ugexe how do i uh fix that
16:05 jnthn ugexe: If that last commit is the screwup then jsut git revert d33d88c
16:07 dalek ecosystem: bd67196 | ugexe++ | / (10 files):
16:07 dalek ecosystem: Revert "ecosystem update: 1446652945"
16:07 dalek ecosystem:
16:07 dalek ecosystem: This reverts commit d33d88c6c45226076a1f2dd73925df227c23dd28.
16:07 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/bd67196ca6
16:08 RabidGravy yep that looks fine again
16:08 sprocket joined #perl6
16:08 sprocket hello, perl6!
16:08 ugexe thats what being one directory off gets you
16:09 [Coke] sprocket: good day.
16:09 PerlJam greetings sprocket
16:09 rindolf joined #perl6
16:10 sprocket question about NativeCall - if i’m binding to a function that returns an int32, is there a way of having that wrapped up in an Int type?
16:10 sprocket can i just specify that the perl sub returns Int?
16:12 ilmari pmurias: note that encode should throw an exception on unencodable args
16:12 softmoth joined #perl6
16:12 jnthn sprocket: It'll auto-box to an Int
16:13 ilmari pmurias: and I'm adding an encoderep op that takes a replacement string as a third argument
16:13 sprocket jnthn: ah, great.  so nothing more required past “returns int32”
16:13 pmurias ilmari: replacement for what?
16:13 ilmari pmurias: unencodable characters
16:14 jnthn sprocket: Yeah
16:14 ilmari $ ./perl6 -e 'say "skjærgårdsøl".encode("ascii", :replacement("?")).decode("ascii")'
16:14 ilmari skj?rg?rds?l
16:14 sprocket jnthn: great, thanks!
16:14 ilmari $ ./perl6 -e 'say "skjærgårdsøl".encode("ascii").decode("ascii")'
16:14 ilmari Error encoding ASCII string: could not encode codepoint 230
16:15 muraiki joined #perl6
16:15 pmurias what is that replacement option useful for?
16:16 skids Mimicing what other things do, I suspect.
16:17 pmurias skids: you mean mimicking?
16:17 yqt joined #perl6
16:17 skids Yes.
16:17 ilmari pmurias: by default it throws an exception, if you specify just :replacement it uses a default character, or you can specify a custom string
16:17 ilmari $ ./perl6 -e 'say "skjærgårdsøl".encode("ascii", :replacement("XXX")).decode("ascii")'
16:17 ilmari skjXXXrgXXXrdsXXXl
16:17 ilmari RT#123673
16:18 ilmari https://rt.perl.org/Public/Bug/Display.html?id=123673
16:19 pmurias ilmari: what I mean is why would I ever want to use :replacement
16:19 pmurias dealing with corrupted data is the only thing that comes to my mind
16:22 ilmari a more useful thing might be a callback to excape non-encodable chars
16:22 ilmari e.g. :replacement({ sprintf("\\x%x", $_) })
16:22 pmurias it's something that also came to my mind
16:23 pmurias or trying a different encoding
16:23 ilmari not for encoding
16:23 ilmari for _de_coding it might be more useful
16:23 ilmari I havent touched that
16:23 moritz pmurias: if you try to archive something that can't be represented in your encoding, and have no way to request a different encoding, using a replacement character is often the only option, even not pretty
16:24 ChoHag joined #perl6
16:31 pippo left #perl6
16:34 jdv79 why is clone not a multi?
16:34 TimToady .oO("Who clones the cloner?")
16:35 softmoth joined #perl6
16:35 moritz the cloner, of course
16:37 jdv79 i want a custom clone but i guess i'll just use another name for now
16:37 [Coke] oh, duh, the perl6-j issue isn't a precompile one. './perl6 -e ""' has the same problem.
16:38 [Coke] aha:
16:38 [Coke] $ echo "3" | ./perl6-j
16:38 [Coke] > ctxlexpad requires an operand with REPR ContextRef
16:38 jnthn jdv79: It not being multi doesn't stop you overriding the method?
16:39 * TimToady wonders if we'll need submethod CLONE someday
16:39 jdv79 no but that's not as cool as MMD
16:39 [Coke] hopefully that helps someone with a clue. :)
16:40 jdv79 this is probably better as another name anyway
16:44 dalek nqp: 9464094 | (Pawel Murias)++ | src/vm/js/nqp-runtime/reprs.js:
16:44 dalek nqp: [js] Fix bug.
16:44 dalek nqp: review: https://github.com/perl6/nqp/commit/9464094d27
16:46 ilmari m: use Test; is Buf.new(42), Buf.new(37)
16:46 camelia rakudo-moar 36a351: OUTPUT«not ok 1 - ␤␤# Failed test at /tmp/dA2azb5ojY line 1␤Cannot use a Buf as a string, but you called the Stringy method on it␤  in block  at lib/Test.pm:143␤  in sub is at lib/Test.pm:133␤  in block <unit> at /tmp/dA2azb5ojY:1␤␤»
16:50 ilmari m: say Buf.new(42)
16:50 camelia rakudo-moar 36a351: OUTPUT«Buf:0x<2a>␤»
16:53 ugexe m: use Test; is-deeply Buf.new(42), Buf.new(37);
16:53 camelia rakudo-moar 36a351: OUTPUT«not ok 1 - ␤␤# Failed test at /tmp/IgqeG5y36y line 1␤# expected: Buf.new(37)␤#      got: Buf.new(42)␤»
16:54 ilmari it's the output that dies
16:54 ilmari m: use Test; is Buf.new(42), Buf.new(42)
16:54 camelia rakudo-moar 36a351: OUTPUT«ok 1 - ␤»
16:57 * TimToady notes that on the modules page, the issues links are all spelled //issues rather than /issues
16:57 TimToady doesn't seem worth filling an issue...
16:59 dalek rakudo/nom: 2de3c80 | jnthn++ | src/Perl6/ (2 files):
16:59 dalek rakudo/nom: Ensure \r\n will never make the \n virtual.
16:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2de3c80c5a
16:59 dalek rakudo/nom: cc4d72c | jnthn++ | src/core/IO/Handle.pm:
16:59 dalek rakudo/nom: Don't forget to set seps on special handles.
16:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cc4d72c4ab
17:02 dalek rakudo/nom: 97047f0 | jnthn++ | src/core/ (5 files):
17:02 dalek rakudo/nom: Change some \n that must be \x0A always.
17:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/97047f03b1
17:02 dalek rakudo/nom: fd3927d | jnthn++ | src/core/Str.pm:
17:02 dalek rakudo/nom: Fix .perl of \r\n grapheme.
17:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fd3927d160
17:08 domidumont joined #perl6
17:08 dalek roast: 3adc8b4 | jnthn++ | S17-procasync/print.t:
17:08 dalek roast: Harden test against \r\n being a grapheme.
17:08 dalek roast: review: https://github.com/perl6/roast/commit/3adc8b44f0
17:08 jdv79 can an anon class do roles?
17:09 * pink_mist would assume so
17:09 jdv79 m: role R {}; my $c = class does R {}
17:09 camelia rakudo-moar 36a351: OUTPUT«5===SORRY!5=== Error while compiling /tmp/OChhMi5ZD6␤Unable to parse class definition␤at /tmp/OChhMi5ZD6:1␤------> 3role R {}; my $c = class does7⏏5 R {}␤    expecting any of:␤        generic role␤»
17:09 llfourn m: say class :: does Stringy { };
17:09 camelia rakudo-moar 36a351: OUTPUT«(<anon|51208400>)␤»
17:09 jdv79 oh
17:10 dalek roast: 4abf58a | jnthn++ | integration/advent2011-day03.t:
17:10 dalek roast: This test needs \n to mean LF.
17:10 dalek roast: review: https://github.com/perl6/roast/commit/4abf58a12f
17:10 jdv79 i get crankiness with the:: even
17:11 jdv79 oh, nm.  need to move it out of itself to do tat
17:15 dalek roast: fb99197 | jnthn++ | S16-filehandles/io_in_for_loops.t:
17:15 dalek roast: Prepare test for Windows newline handling.
17:15 dalek roast: review: https://github.com/perl6/roast/commit/fb99197b06
17:16 dalek perl6-roast-data: e39fc58 | coke++ | / (9 files):
17:16 dalek perl6-roast-data: today (automated commit)
17:16 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/e39fc58ddf
17:16 [Coke] jnthn, psch: did that context error on the jvm REPL give any clues?
17:20 [Coke] http://irclog.perlgeek.de/perl6/2015-11-04#i_11483443 (that one)
17:29 virtualsue joined #perl6
17:34 tokuhiro_ joined #perl6
17:37 timotimo on the modules page the stars and issues links are pretty tiny if there's only one digit
17:40 ^elyse^ joined #perl6
17:46 PerlJam whoa. modules.perl6.org looks different
17:47 RabidGravy there HTTP::UserAgent all fixed
17:48 timotimo sure
17:48 RabidGravy well not "all" just the fallout from the \r\n thing
17:49 timotimo what's missing? SSL support or something? ;)
17:50 RabidGravy it doesn't make toast very well
17:51 timotimo damn, i want some toast now
17:51 llfourn I was working on a non-blocking toast implemenation the other day
17:52 dalek evalbot: 6e8f8ce | TimToady++ | build.pl:
17:52 dalek evalbot: force unlink of lock file
17:52 dalek evalbot: review: https://github.com/perl6/evalbot/commit/6e8f8ce61c
17:52 ilmari m: multi sub foo(True $val) { say $val}; foo(False)
17:52 camelia rakudo-moar fd3927: OUTPUT«False␤»
17:52 ilmari m: multi sub foo(True $val) { say $val}; foo(42)
17:52 camelia rakudo-moar fd3927: OUTPUT«5===SORRY!5=== Error while compiling /tmp/LLbqxFXn_L␤Calling foo(int) will never work with any of these multi signatures:␤    (Bool $val where { ... })␤at /tmp/LLbqxFXn_L:1␤------> 3multi sub foo(True $val) { say $val}; 7⏏5foo(42)␤»
17:52 ilmari how can I see what the where { ... } actually is?
17:53 llfourn ilmari: &foo.signature.params[0] will give you the param
17:55 llfourn m: say :(True $).params[0].^methods
17:55 camelia rakudo-moar fd3927: OUTPUT«(<anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> name sigil twigil constraint_list constraints type named named_names positional slurpy optional raw capture rw onearg copy readonly invocant multi-invocant default type_captures sub_signature …»
17:55 llfourn m: say :(True $).params[0].constraints[0]
17:55 camelia rakudo-moar fd3927: OUTPUT«all(True)␤»
17:56 llfourn m: say False ~~ all(True)
17:56 camelia rakudo-moar fd3927: OUTPUT«True␤»
17:56 llfourn ilmari: surely that's a bug?
17:56 ilmari m: say :(Int $).params[0].constraints[0]
17:56 camelia rakudo-moar fd3927: OUTPUT«all()␤»
17:56 TimToady m: say False ~~ True
17:56 camelia rakudo-moar fd3927: OUTPUT«Potential difficulties:␤    Smartmatch against True always matches; if you mean to test the topic for truthiness, use :so or *.so or ?* instead␤    at /tmp/swVfqq8gJO:1␤    ------> 3say False ~~7⏏5 True␤FalseTrue␤»
17:56 ilmari m: say 42 ~~ all(True)
17:56 camelia rakudo-moar fd3927: OUTPUT«True␤»
17:56 ilmari ~~ True is always true?
17:57 TimToady yes
17:57 PerlJam m:  say False ~~ True;
17:57 camelia rakudo-moar fd3927: OUTPUT«Potential difficulties:␤    Smartmatch against True always matches; if you mean to test the topic for truthiness, use :so or *.so or ?* instead␤    at /tmp/mcJ8l_zvEY:1␤    ------> 3say False ~~7⏏5 True;␤FalseTrue␤»
17:57 llfourn so asking True if it's the same as false is also true...
17:57 ilmari m: multi sub foo(Bool:D $val where { $val }) { say $val }; foo(False)
17:57 camelia rakudo-moar fd3927: OUTPUT«Cannot call foo(Bool::False); none of these signatures match:␤    (Bool:D $val where { ... })␤  in block <unit> at /tmp/hMRGzKTIn7:1␤␤»
17:57 PerlJam Perl even tells you if you ask
17:57 ilmari should ~~ all(True) warn too?
17:58 PerlJam ilmari: I would have expected it to
17:58 llfourn True $ in sig should probably warn
17:58 PerlJam llfourn: "smart matching" is not the same as "same as"   :)
17:58 pmurias nqp: my $mu; my $foo := $mu<foo>; say("lives");
17:58 pmurias nqp-m: my $mu; my $foo := $mu<foo>; say("lives");
17:59 llfourn m: say True == False # guess not :)
17:59 llfourn ....erm
17:59 camelia joined #perl6
18:00 PerlJam btw, also note this ...
18:00 PerlJam m: say True ~~ False;
18:00 llfourn m: say "I
18:00 llfourn m: say "i'm still here"
18:00 PerlJam camelia: are you alive?
18:00 TimToady waking up
18:01 camelia nqp-moarvm: OUTPUT«lives␤»
18:01 PerlJam m: say True ~~ False;
18:01 camelia ..nqp-parrot: OUTPUT«Can't exec "./rakudo-inst/bin/nqp-p": No such file or directory at lib/EvalbotExecuter.pm line 193.␤exec (./rakudo-inst/bin/nqp-p /tmp/tmpfile) failed: No such file or directory␤Server error occurred! Closing Link: ns1.niner.name (Quit: camelia)␤Lost connect…»
18:01 llfourn too many deep questions about truth
18:01 PerlJam heh
18:01 camelia ..nqp-jvm: OUTPUT«#␤# There is insufficient memory for the Java Runtime Environment to continue.␤# pthread_getattr_np␤# An error report file with more information is saved as:␤# /tmp/jvm-30750/hs_error.log␤»
18:01 camelia rakudo-moar fd3927: OUTPUT«Potential difficulties:␤    Smartmatch against False always fails; if you mean to test the topic for truthiness, use :!so or *.not or !* instead␤    at /tmp/dngwacA_rH:1␤    ------> 3say True ~~7⏏5 False;␤TrueFalse␤»
18:01 camelia rakudo-moar fd3927: OUTPUT«5===SORRY!5=== Error while compiling /tmp/pK5pVc4I55␤Unable to parse expression in double quotes; couldn't find final '"' ␤at /tmp/pK5pVc4I55:1␤------> 3say "I7⏏5<EOL>␤    expecting any of:␤        argument list␤        double quotes…»
18:01 camelia rakudo-moar fd3927: OUTPUT«i'm still here␤»
18:01 camelia rakudo-moar fd3927: OUTPUT«Potential difficulties:␤    Smartmatch against False always fails; if you mean to test the topic for truthiness, use :!so or *.not or !* instead␤    at /tmp/DuoER_D5Gn:1␤    ------> 3say True ~~7⏏5 False;␤TrueFalse␤»
18:01 llfourn m: say True == False # guess not :)
18:01 camelia rakudo-moar fd3927: OUTPUT«False␤»
18:02 PerlJam TimToady: shouldn't the message for ~~ False say "if you mean to test the topic for anti-truthiness, ...." ?
18:03 llfourn PerlJam: sometimes known as falseness
18:03 [Coke] PerlJam: -1
18:03 PerlJam [Coke]: too cute?
18:03 TimToady all boolean tests test truthiness, but some test it differently than others
18:05 TimToady All boolean tests are created truthy, but some are more truthy than others.  --George Andwell
18:05 PerlJam "You can't handle the truth!" -- Col. Jessep
18:05 llfourn m: subset Truthy of Bool where * == True; sub truthy (Truthy $) { 'win'.say }; truthy(True);
18:05 camelia rakudo-moar fd3927: OUTPUT«win␤»
18:05 llfourn m: subset Truthy of Bool where * == True; sub truthy (Truthy $) { 'win'.say }; truthy(False);
18:05 camelia rakudo-moar fd3927: OUTPUT«Constraint type check failed for parameter '<anon>'␤  in sub truthy at /tmp/yVFMC04TV2:1␤  in block <unit> at /tmp/yVFMC04TV2:1␤␤»
18:08 xfix joined #perl6
18:09 TimToady star-m: say "I'm out of date"
18:09 camelia star-m 2015.09: OUTPUT«I'm out of date␤»
18:10 TimToady moritz: I assume since there's no build script that star-m is only built by hand?
18:11 TimToady btw, it'd be helpful if I had an account on camelia's server, wherever it is...
18:12 TimToady peeking at things by cheating on the sandbox is fun, but kinda time-wasting...
18:13 timotimo it's on niner's server, so you'd want to ask nine about it
18:13 TimToady nine: ^^ :)
18:14 nine TimToady: privmsg
18:14 mrf evening #perl6
18:14 llfourn is there a way to test for truth? Like something that would pass if (...) but with ~~
18:14 timotimo "so" will do that
18:15 llfourn timotimo: but in a signature?
18:15 timotimo huh, "but with ~~"?
18:15 timotimo try something like sub foo($a where .so) { }
18:15 llfourn timotimo: good thinking :)
18:16 duncan_dmg left #perl6
18:18 sprocket joined #perl6
18:20 llfourn m: subset Truthy of Bool:D where *.so; for Truth,False,42 { .say if $_ ~~ Truthy } # the actual answer I guess
18:20 camelia rakudo-moar fd3927: OUTPUT«5===SORRY!5=== Error while compiling /tmp/cJww_rZrPv␤Undeclared name:␤    Truth used at line 1. Did you mean 'Truthy'?␤␤»
18:20 llfourn m: subset Truthy of Bool:D where *.so; for True,False,42 { .say if $_ ~~ Truthy } # the actual answer I guess
18:20 camelia rakudo-moar fd3927: OUTPUT«True␤»
18:20 llfourn hmmm
18:21 llfourn m: subset Truthy of Any:D where *.so; for True,False,42 { .say if $_ ~~ Truthy }
18:21 camelia rakudo-moar fd3927: OUTPUT«True␤42␤»
18:29 dalek rakudo/curli: 457b560 | (Stefan Seifert)++ | src/core/CompUnit/Repository (2 files):
18:29 dalek rakudo/curli: CompUnit::Repository::id: unique id for the repo and its upstream
18:29 dalek rakudo/curli: review: https://github.com/rakudo/rakudo/commit/457b560fee
18:32 tokuhiro_ joined #perl6
18:34 AlexDaniel joined #perl6
18:35 lichtkind joined #perl6
18:43 nine Do we really want to allow a META6.json's "provides" to point to a precomp file?
18:44 ilmari shouldn't nqp/.gitignore incldue /bin/?
18:44 flussence nine: I'd say no, that might encourage some sorts to try shipping binary-only modules which isn't very polite...
18:45 _mg_ joined #perl6
18:47 jdv79 shipping sans source is possible, right?  so why mot?
18:47 jdv79 *not
18:48 jdv79 i mean rakudo is ok with it at least i think
18:48 nine jdv79: it only works if you ship all your dependencies precompiled as well and the user doesn't try to update one of those
18:48 flussence it's okay with it, until the serialization format changes for whatever reason
18:48 nine jdv79: so if you want to ship binary only, you're better off shipping a complete CompUnit::Repository
18:48 jdv79 like glass
18:49 jdv79 ah
18:49 jdv79 good point.  its super fragile.
18:49 nine Ok, I've convinced myself :) Removing the code that supported that
18:49 nine Removed code is debugged code ;)
18:50 flussence I mean I can see why someone would *try* to - saving every end user the time spent having to compile themselves, but it's not worth the problems.
18:50 jdv79 yay
18:50 nine The use case I see is shipping to the internal server farm. Not much use for the source code there.
18:51 flussence yeah, but you don't need perl6 to do that. rsync works just as well :)
18:52 nine Shipping a custom CompUnit::Repository that only contains the precomped files and does not delegate to the rest of the repo chain guarantees you a controlled environment even with system perl6
18:53 jdv79 seems ok.  meta shouldnt need to spec precomp.
18:55 ugexe precomp files have the paths hard coded i thought
18:56 jdv79 fragility to the extreme
18:56 spider-mario joined #perl6
18:57 sprocket what’s the proper way to do versioning on p6 modules?  still via a $VERSION variable?
18:58 ugexe version in your meta is the simple answer
18:58 sprocket ah ok
18:58 timotimo hm. when to version the module and when to version classes and such?
18:58 nine .tell jnthn I just love these moments, when working on the implementation reveals another piece of the rationale behind your design, even when you didn't spell it out. It's like reading a good book, only in a more active way :)
18:58 yoleaux nine: I'll pass your message to jnthn.
18:59 sprocket timotimo: yes, more of a module version for an entire package
19:00 jdv79 could be "perceived rationale".  good design falls out like that a lot.
19:01 jdv79 at least ime
19:02 vendethiel joined #perl6
19:05 lizmat good *, #perl6!
19:05 timotimo good lizmat, #perl6!
19:05 lizmat .oO( whatever )
19:05 lizmat :-)
19:05 RabidGravy ah that'll be 304 *not* being a redirect then
19:06 lizmat TimToady: re CLONE: that made me wonder what happened to the COERCE idea
19:07 dha joined #perl6
19:09 lizmat tell jnthn perhaps .ords should return a List of List of codepoints
19:09 lizmat .tell jnthn perhaps .ords should return a List of List of codepoints
19:09 yoleaux lizmat: I'll pass your message to jnthn.
19:09 * PerlJam wonders if he's the only one who hears Blondie in his head when he sees CALL-ME
19:10 virtualsue not now, no
19:11 firstdayonthejob joined #perl6
19:11 lizmat .oO( why do I always think "Rapture" when I see Blondie ? )
19:12 leont joined #perl6
19:13 virtualsue left #perl6
19:14 virtualsue joined #perl6
19:17 TimToady .oO(CALL-ME-ANYTHING but CALL-ME)
19:18 timotimo .o( why do i always think "bioshock" when i see "rapture"? )
19:19 jdv79 rapture?  now?
19:19 PerlJam maybe at christmas
19:19 * [Coke] finds emacs -q --no-splash -f snake on his os x box.
19:19 * timotimo wouldn't know
19:21 mattp_ joined #perl6
19:23 TimToady lizmat: I think COERCE is somwhere down in jnthn's list of nefarious plans
19:24 lizmat ah, ok  :-)  as long as we don't forget  :-)
19:27 timotimo there's still gotta be something clever for respecting a user's enhanced operators in built-ins
19:28 yqt joined #perl6
19:30 nine What exactly is $*CTXSAVE? It seems to only ever be written to.
19:31 TimToady timotimo: easy, just turn All The Things into macros
19:31 hoelzro nine: it's a hack the REPL uses to preserve the current lexical env
19:31 hoelzro it's read from in NQP, iirc
19:31 nine hoelzro: what is it supposed to contain? 0 or <something>?
19:32 hoelzro that or an object, it seems
19:33 nine Ah, an object that can ctxsave
19:33 hoelzro have a look at HLL::Compiler; it does some manipulation on it
19:36 lizmat .tell jnthn S15:148 may need some rewording, as it specifically states ord can return negative numbers
19:36 yoleaux lizmat: I'll pass your message to jnthn.
19:38 synbot6 joined #perl6
19:38 lizmat just thinking aloud:  chr() should accept multiple ints, and generates a grapheme out of that if 1 grapheme can be created out of that, else it fails
19:38 tokuhiro_ joined #perl6
19:39 lizmat ord() returns one or more ints to represent the grapheme
19:39 lizmat that way you should be able to roundtrip chr/ord again
19:40 lizmat ords() would return a List of Lists with ints
19:40 timotimo TimToady: i'd say "good idea", but some of those things are methods, are they not?
19:40 lizmat I think that would be the best transition from the ASCII to the grapheme world
19:44 RabidGravy that's enough fixing today.  should have been making not fixing
19:44 TimToady lizmat: that would break any code that says $x.ord == 42
19:44 lizmat TimToady: but is that code then not broken already ?
19:45 lizmat in a grapheme world ?
19:45 lizmat I mean, x.ord == 42 will match a *lot* of graphemes
19:45 TimToady a list's numeric value is its length
19:45 samb1 joined #perl6
19:46 dalek rakudo/curli: 0dd70f6 | (Stefan Seifert)++ | src/core/CompUnit (2 files):
19:46 dalek rakudo/curli: Move $*CTXSAVE related bits from CompUnit to CompUnit::Loader
19:46 dalek rakudo/curli: review: https://github.com/rakudo/rakudo/commit/0dd70f6486
19:46 lizmat ok, then maybe we should give it a different name and deprecate .ord ?
19:46 TimToady I'm fine with ord just returning the base char, since it's generally only used on simple things
19:47 lizmat and ords then only the base char of a set of graphemes ?
19:47 TimToady I don't care whether ord/chr roundtrip for fancy chars
19:47 lizmat ok
19:47 jdv79 are fancy chars the minority?
19:48 TimToady they ain't the silent majority, fershure
19:48 dalek rakudo/nom: 14e11ea | lizmat++ | src/core/Str.pm:
19:48 dalek rakudo/nom: Simplify .ords, no special casing .ord
19:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/14e11ea45e
19:48 mrf .tell FROGGS for some reason 1^..10 doesn't work in a codeblock as a quantifier. I have no idea why
19:48 yoleaux mrf: I'll pass your message to FROGGS.
19:49 dalek rakudo/curli: 7669a39 | (Stefan Seifert)++ | src/core/CompUnit/ (4 files):
19:49 dalek rakudo/curli: Replace precomp handling in Repository::FileSystem by $precomp.load
19:49 dalek rakudo/curli:
19:49 dalek rakudo/curli: CompUnit::PrecompilationRepository does not yet handle the actual loading yet.
19:49 dalek rakudo/curli: But once it does, CompUnit::Repository::FileSystem should be ready for it.
19:49 dalek rakudo/curli: This also excercises the PrecompilationStore::File code for the first time
19:49 dalek rakudo/curli: necessitating some bug fixes.
19:49 dalek rakudo/curli: review: https://github.com/rakudo/rakudo/commit/7669a3928b
19:49 TimToady lunch &
19:53 espadrine joined #perl6
19:53 sprocket joined #perl6
19:58 softmoth joined #perl6
20:00 dalek rakudo/nom: df6bb2c | lizmat++ | src/core/Cool.pm:
20:00 dalek rakudo/nom: Make Str.indices 10% faster
20:00 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/df6bb2c4f0
20:03 RabidGravy beer!
20:03 dalek roast: a2912d0 | (Mike Francis)++ | S05-metasyntax/repeat.t:
20:03 dalek roast: Add spectests for 1^..^10 non inclusive range quantifiers in regexs
20:03 dalek roast: review: https://github.com/perl6/roast/commit/a2912d03c6
20:03 dalek roast: 04e775c | (Zoffix Znet)++ | S05-metasyntax/repeat.t:
20:03 dalek roast: Merge pull request #73 from ungrim97/feature/non_inc_range_quantifier
20:03 dalek roast:
20:03 dalek roast: Add spectests for 1^..^10 non inclusive range quantifiers in regexs
20:03 dalek roast: review: https://github.com/perl6/roast/commit/04e775cd65
20:05 dalek doc: cbfb05c | lizmat++ | doc/Type/Str.pod:
20:05 dalek doc: Document Str.contains
20:05 dalek doc: review: https://github.com/perl6/doc/commit/cbfb05c8fb
20:06 Hotkeys beer?
20:07 lizmat .oO( only if it is free )
20:08 nine beer as in free!
20:08 RabidGravy a nice bottle of Gadd's No. 5 tp be precise
20:10 * jdv79 had yellow belly sundae.  insane.  esp. at 16eu a bottle.
20:10 Hotkeys I'm not sure if I'm tired or this lecture is drier than <insert something very dry>
20:10 Hotkeys but I can barely stay awake
20:10 jdv79 almost worth it.  id pay 12 again.
20:11 geraud joined #perl6
20:23 zakharyas joined #perl6
20:26 llfourn joined #perl6
20:43 dalek doc: 8475656 | lizmat++ | doc/Type/Str.pod:
20:43 dalek doc: Better description of .ord/.ords
20:43 dalek doc: review: https://github.com/perl6/doc/commit/8475656143
20:46 ollej joined #perl6
20:57 mattp_ joined #perl6
20:57 mr-foobar joined #perl6
21:13 RabidGravy Get Perlonized! http://www.residentadvisor.net/news.aspx?id=32065
21:17 dha You first.
21:17 marks6i joined #perl6
21:17 RabidGravy I'll leave it to the Berlin chapter
21:18 RabidGravy dha, you good matey?
21:18 dha Good in what sense?
21:19 RabidGravy in any sense you want :)
21:20 dha In that case, I guess I'm good. :-)
21:20 dha Need to figure out my dates for going to London, though.
21:20 RabidGravy plans for world domination going well, paased your advanced exorcism exam, raised a herd of magnificent alpacas
21:21 dha No need for exorcism knowledge lately, no alpacas and... well, I'll just let you find out about the other thing when the time is right.
21:21 RabidGravy :)
21:24 Skarsnik PerlJam, Could be instering to only a name yes :)
21:34 dha Out of curiosity, is there a known reason why a panda install of Task::Star would be hanging during the tests of LWP::Simple? Or is a test just taking way longer than I'd expect?
21:34 lizmat no idea
21:34 dha Ok, then. :-)
21:35 llfourn dha: in situations like that I use panda look + run the tests manually
21:36 dha Ah. I have never had occasion to use panda look. I will look at look...
21:36 llfourn it's quite handy!
21:38 dha where is it documented?
21:38 dha (is it documented? :-)
21:38 llfourn panda --help ;)
21:39 dha *nod*
21:40 tokuhiro_ joined #perl6
21:41 dha Ok, tests for LWP::Simple seem to be failing. That appears unfortunate. I guess I should figure out if it's the module or if it's me...
21:41 llfourn do you know which test it is?
21:42 [Sno] joined #perl6
21:44 Peter_R joined #perl6
21:46 dha Out of curiosity, when you say "run the tests manually" do you mean running each test individually, or using prove to run all the tests in t/?
21:46 RabidGravy dha is this a very recent install of rakudo
21:46 dha yes.
21:46 llfourn dha: either one :)
21:46 dha Pretty much as recent as possible, in fact.
21:46 lizmat then the failure could be fallout of the CRLF -> 1 grapheme change ?
21:47 RabidGravy if it's newer than today, LWP::Simple may be afflicted by the \r\n changes
21:47 dha Well, then, prove is showing a rather huge number of test failures.
21:47 RabidGravy I spent a lot of today fixing HTTP::UserAgent
21:47 dha FWIW, TAP::Harness is also having failures.
21:48 dha Ah. So this may be a somewhat general issue with this change.
21:48 * llfourn upgrades to latest rakudo to test
21:49 RabidGravy HTTP clients may be particularly afflicted as matching \r\n in certain ways is affected
21:50 llfourn yes I also get tests failing in latest rakudo :)
21:50 cognominal joined #perl6
21:51 llfourn err but that's probably because panda hasn't finished upgrading yet
21:51 dha Oh good, it's not just me, then. :-)
21:52 RabidGravy no not just you
21:52 dalek rakudo/nom: 183d699 | lizmat++ | src/core/Cool.pm:
21:52 dalek rakudo/nom: Remove superfluous candidates + better pos checks
21:52 dalek rakudo/nom:
21:52 dalek rakudo/nom: Affected: starts-with, ends-with, substr-eq, contains, indices
21:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/183d69968e
21:54 RabidGravy I'd look but I'm a bit \r\n graphemed out
21:55 tadzik nine: ping
21:55 dha I'm not in desperate need of these modules, so I'm somewhat ambivalent about rushing to fix it. But maybe someone should make a note for later. :-)
21:57 llfourn dha: I'm getting a hang on get-unsized.t?
21:57 dha yep.
21:57 RabidGravy tadzik, I have a question for you while we're both here
21:57 tadzik RabidGravy: shoot
21:58 RabidGravy would you accept a PR for JSON::Unmarshal that introduces an attribute trait so a user can control how something is unmarshalled?
21:58 Ven joined #perl6
22:00 RabidGravy like "is unmarshalled-by('foo")" -> calls the method foo on the value and "is unmarshalled-by(sub -> $v { ... })"  calls the code to unmarshall?
22:00 tadzik hmm
22:00 tadzik I don't see why not :)
22:01 TEttinger joined #perl6
22:01 tadzik if we specify it clearly
22:01 nightfrog joined #perl6
22:01 RabidGravy for things like Version and DateTime
22:02 RabidGravy where the "natural" representation is different to the attributes
22:03 tadzik right
22:03 tadzik makes perfect sense
22:03 RabidGravy but also custom types which may have constructors that take a single value
22:03 ShimmerFairy joined #perl6
22:06 Skarsnik hm how to create a Type from his name? I want to call Nativesize on given type where I only get their names
22:06 llfourn dha: https://github.com/cosimo/perl6-lwp-simple/issues/64 :)
22:07 dha That works. :-)
22:11 RabidGravy tadzik, I'll do it tomorrow then :) I know it makes what was a conceptually beautifully simple module into a bit of a monster but there's a lot of JSON out there ;-)
22:18 dalek rakudo/curli: 25e99f0 | (Stefan Seifert)++ | src/core/CompUnit (4 files):
22:18 dalek rakudo/curli: Implement actual loading of a precomp file from the store
22:18 dalek rakudo/curli:
22:18 dalek rakudo/curli: CompUnit::Repository::FileSystem now loads precomp files from the
22:18 dalek rakudo/curli: PrecompilationRepository. It no longer needs CompUnit::load for that.
22:18 RabidGravy llfourn, dha, if I have a minute I'll take a look tomorrow, having fixed H::UA I know where the bodies are buried
22:18 dalek rakudo/curli: Tested by manual installation of a precomp file.
22:18 dalek rakudo/curli: review: https://github.com/rakudo/rakudo/commit/25e99f00a6
22:18 dha RabidGravy - cool.
22:18 nine tadzik: pong
22:18 * flussence attempts to use github's /usr/bin/hub without screwing up horribly like last time
22:18 llfourn RabidGravy: +1
22:18 Ven joined #perl6
22:18 nightfrog joined #perl6
22:20 tadzik nine: hmm, I thought I had a weird bug in Inline::Python, but it might actually be something else
22:20 RabidGravy flussence, what that do then?
22:20 flussence supposed to let you do github stuff without the website, but in practice it turns out about as easy to use as regular git :)
22:22 RabidGravy getting at PRs from the command line might be useful, then manually merge
22:24 firstdayonthejob joined #perl6
22:24 nine tadzik: ok, I'm off to bed now. Please file an issue if there's anything else
22:25 tadzik alright
22:27 flussence RabidGravy: my main annoyance with it is there's no obvious way to say "use https for read-only repos, ssh for ones with write access". It defaults to git-ro/ssh-rw and overriding that seems to be all or nothing.
22:29 RabidGravy in that case you could probably make something better yourself
22:31 flussence if I start doing things like that I'll never be done :)
22:32 ugexe the windows gui client is pretty good
22:32 flussence I'd probably use a gui if they made one for *nix; qgit is getting kinda stale these days...
22:33 leont Seems Configure gets confused if there's still an nqp-j around but you're not asking for a perl6-j to be built
22:35 timotimo i've seen it cope with that no problem, leont
22:35 timotimo you're supplying --backends, yeah?
22:36 leont I wasn't the first time, only --gen-nqp and --gen-moar
22:36 RabidGravy flussence, it's the story of my life right now,  All yak, all the way down.
22:37 timotimo i think without --backends, it'll look for anything it can find, and perhaps then it gets confused
22:41 dha ALL YAK ALL THE TIME
22:45 leont Yeah, that was my conclusion, seems to work fine with explicit --backends
22:55 nightfrog joined #perl6
23:04 RabidGravy dha, llfourn despite what the test says now rakudo.org returns chunked data
23:08 xenu joined #perl6
23:10 RabidGravy chunked parsing is cocked up
23:10 virtualsue joined #perl6
23:10 flussence probably because reading the chunk length relies on .get working with \r\n :/
23:11 lichtkind joined #perl6
23:13 ugexe net::http parses rakudo.org chunked data
23:14 RabidGravy yeah, H::UA does as well
23:14 RabidGravy fixed it but broke a bunch more
23:15 RabidGravy there's a service on w3c.org that serves up chunked-data
23:20 lizmat good night, #perl6!
23:23 RabidGravy harr!
23:24 RabidGravy for beer reference, I am now drinking Amarillo One Hop from the Wantsum Brewery
23:25 kmel joined #perl6
23:26 RabidGravy it's a Kent green hop ale, made bizarrely from an imported US hop variety
23:26 RabidGravy anyway LWP::Simple fixorificated
23:28 zengargoyle flussence: you might try https://github.com/sociomantic/git-hub instead of hub.  does sorta similar things.
23:31 BooK_ ab5tract_: ping
23:31 RabidGravy llfourn, dha sent PR to fix LWP::Simple - I think the chunk parsing might need some love though
23:31 RabidGravy BooK, baby!
23:32 zengargoyle git-hub, hub, and git-spindle are on my list of things to try for github cli goodness.
23:32 BooK hey RabidGravy!
23:32 RabidGravy there'll be another new hotness along on the vcs front before long mark my words ;-)
23:33 RabidGravy and then all the cool kids will be blogging about how we have to use it or we're all going straight to hell
23:33 BooK how old is git already? 10 years?
23:33 RabidGravy about that
23:35 RabidGravy though it had a slow start as people got confused with like bzr and mercurial coming out the same time and wasn't really until github came along it became the slam dunk
23:35 skids joined #perl6
23:35 flussence hopefully I'll get vaguely competent at it before it becomes obsolete :D
23:38 eliasr joined #perl6
23:38 osto joined #perl6
23:39 RabidGravy I worked at an organisation once where they thought that changing their VCS was going to save the world, I didn't have the heart to tell them that they probably would have done better fixing the software
23:40 RabidGravy the company got bought by a richer one a year later and that company just got hacked in a high profile manner by teenagers
23:41 BooK the lovely bit about git is that you can actually open the hood of the repo and hack your way out of the mess you created
23:43 RabidGravy or hack your way into a deeper hole ;-)
23:44 RabidGravy right back in the day, I've manually edited RCS ,v files
23:45 BooK mmm, I did that too
23:45 RabidGravy BooK++  # old skool
23:45 BooK also fixed svn repos by doing the dump / load dance and munging the stream mid-air
23:47 Actualeyes joined #perl6
23:48 BenGoldberg joined #perl6
23:51 osto Hello. I have an interesting question about grammars.
23:53 osto Let's say I have a token to match a general (but very simple) XML element:
23:53 osto token element { "<" <name> "> <contents> "</" <name> ">" }
23:53 osto And I want to create another token to match some specific element:
23:54 osto token specific { "<specific>" <specific-contents> "</specific>" }
23:54 osto Is there a way to do something like this to reuse the basic element structure?
23:54 osto e.g. token specific-element is element { <$name>&="element"; <contents>&=<specific-element>; }
23:55 ugexe proto token tag {*}; token tag:sym<body> { <sym> } token tag:sym<head> { <sym > }
23:57 osto tag:sym<body> { <sym> } only matches "body", not "<body>...</body>"
23:58 osto I'm looking for something like proto, but with multiple reusable parts.
23:58 ugexe i imagine your check for </body> would be more generic and at a higher level
23:59 BooK is there a tutorial about grammars, btw?

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

Perl 6 | Reference Documentation | Rakudo