»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by masak on 12 May 2015.
00:03 perigrin left
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:03
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 left, baest joined 00:08 adu left
zengargoyle guesses i could just push doc fixes and let somebody revert them if they don't like it. :) 00:14
dalek kudo-star-daily: f913d3c | coke++ | log/ (8 files):
today (automated commit)
00:20
00:24 TEttinger left 00:27 chenryn joined
AlexDaniel how can I get the output and exitcode at the same time? I keep getting 0 as exitcode for some reason… 00:30
gfldex AlexDaniel: sounds like a bug to me. Can you provide some code? 00:32
AlexDaniel gfldex: yeah, trying to write something simple
sprocket i think i’ve got a bug to report (though perhaps it’s already known) :) - how do i go about reporting?
gfldex you can check for bugs here: rt.perl.org/Public/ 00:33
00:33 BenGoldberg joined
gfldex and you can write [email@hidden.address] a love-email 00:33
AlexDaniel sprocket: just mail [email@hidden.address]
if your bug is associated with rakudo, of course
00:34 TEttinger joined
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
so i’m assuming that’s a rakudo bug
AlexDaniel sprocket: no idea, but that's not about the specs or something else, so yeah :) 00:35
00:36 BenGoldberg left 00:37 BenGoldberg joined
AlexDaniel gfldex: my $p = run 'bash', '-c', 'exit 5', :out; say $p.exitcode; 00:40
gfldex: remove :out and it will work
I could understand it if the exitcode was -1, but it's 0… where does it come from? 00:42
00:42 Peter_R left 00:46 chenryn left
timotimo ooooh, the irc bot module is actually still being worked on 00:53
<3
Timbus++ # yays
AlexDaniel timotimo: yeah, because someone is very disappointed :) 00:54
timotimo oh?
someone's pushing it to its limits?
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`.
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”?
ugexe GLOBAL::<Name>:delete maybe
tony-o you can probably do the same in perl6 Skarsnik
^^
AlexDaniel gfldex: I thought that nqp::shell is only used when you use shell
ugexe: Oh, so I had to close it. Right, that's what I thought 01:01
ugexe: thanks, at least I can get my thing working right now
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.
AlexDaniel right
01:01 xpen joined
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:02
01:02 sufrostico left
gfldex it might fork, so there may not be an exitcode quite yet 01:03
AlexDaniel so the right answer is -1?
zengargoyle tangent, wouldn't it have to use some sort of shell unless you give full path to executable '/bin/bash'
gfldex -1 would be right (Int and therefor .undefined would be better in my eyes)
zengargoyle or does the P6 system equiv search %*ENV<PATH> for you? 01:04
01:04 yeahnoob joined
AlexDaniel screams 01:04
no it should not use shell…
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
ugexe -1 is for queued but not started or something
zengargoyle how would it go about finding just 'bash'? 01:05
ugexe run and shell both take :%env 01:06
AlexDaniel zengargoyle: well, it should use PATH, yes
ugexe and they default to %*ENV
01:06 cognominal joined, xpen left
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>␤»
moznion Oops
This result is different from my local perl6's one 01:08
01:09 mattn_jp joined
ugexe yeah, it shows the commit id 01:09
273e89
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
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.
moznion On my environment, result of the same code on above lacks a trailing newline character. 01:12
Is it fixed?
ugexe that is the new behavior
moznion Wow
ugexe \r\n is a single graphme now
mattn_jp really?
so, we need to encode with latin-1 to get bytes for now? right? 01:13
ugexe huh?
just `.encode` will give you what you want
or what i think you want
moznion In particular, this test is failed github.com/tokuhirom/p6-HTTP-Parse...rser.t#L90 01:14
mattn_jp "foo\r\n".encode("ascii") seems dropping last 0x0A.
moznion because the trailing "\n" is gone
zengargoyle ouch...
Use of Nil in string context in block at /home/hayter/.rakudobrew/moar-nom/panda/lib/Panda/Ecosystem.pm:106
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
ugexe no, you are encoding it into a single graphme
mattn_jp then, how to get bytes from Str? encode("latin-1") ? 01:15
AlexDaniel .bytes?
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>␤»
mattn_jp m: "foo\r\n".encode("latin-1").say
camelia rakudo-moar 273e89: OUTPUT«Blob[uint8]:0x<66 6f 6f 0d 0a>␤»
AlexDaniel hmmm there's no such thing as .bytes…
mattn_jp m: "foo\r\n".encode("ascii").say
camelia rakudo-moar 273e89: OUTPUT«Blob[uint8]:0x<66 6f 6f 0d 0a>␤»
ugexe again, .encode should give you what youw ant
AlexDaniel .ords
ugexe no
BenGoldberg m: "\r\n".ords.say; 01:17
camelia rakudo-moar 273e89: OUTPUT«(13 10)␤»
ugexe perl6 -e '"\r\n".ords.say'
(13)
BenGoldberg m: "\r".uniname.say; 01:18
camelia rakudo-moar 273e89: OUTPUT«CARRIAGE RETURN (CR)␤»
BenGoldberg m: "\n".uniname.say;
camelia rakudo-moar 273e89: OUTPUT«LINE FEED (LF)␤»
ugexe that camelia is old
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
Skarsnik why "\r\n" should only be one byte now? that seem odd 01:20
ugexe because unicode says so
also for the newline chomping 01:21
AlexDaniel wait, doesn't it say that it should be one grapheme or something, not one byte?
I have no idea actually, but indeed it seems odd 01:22
ugexe if you encode it correctly its still 2 bytes
AlexDaniel but .ords?
ugexe something about leaking synthetics 01:23
also something else... there was a bit of discussion on all this a few hours ago in backlog
01:24 softmoth joined
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?
timotimo that seems wrong, it should come out as \r\n at the end again
Skarsnik *bytes
01:24 Actualeyes joined, tokuhiro_ left
ugexe Skarsnik: no. again, .encode 01:25
timotimo yeah, "\r\n".encode('ascii') should give you CR and then LF
ugexe which is utf8
timotimo ugexe: you seem to be confused
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
especially not that it just turns into the same thing as \r or \n
ugexe im just saying what the current behavior is
timotimo ah
timotimo is just building a current rakudo
ugexe i spend awhile debugging all my crlf stuff for the day :/ 01:27
timotimo ugh :(
.o( ugh exe? )
moznion Umm, difficult for me! 01:28
ugexe gist.github.com/ugexe/09cfce18f3ece8b6e83b check this out for current whonkey behavior with .ords
timotimo locally, ah
ugexe nah you just spell it out
timotimo oh
it's just for .ords?
that'd make sense. the ord of a synthetic grapheme is just the base character
ugexe no. but that shows .ords leaking synthetics 01:29
timotimo in the case of \r\n, that'd be \r
oh, those high numbers?
it really, really shouldn't do that
ugexe yea. if you remove certain lines of $request the synthetics come and go
although in the same spot
timotimo let me try to reproduce that 01:30
zengargoyle panda apears busted.
ugexe yea, because of the new line stuff 01:31
timotimo dayum. you're right. that happens on my machine, too
zengargoyle yeah: $!projectsfile.IO.spurt: $buf.split(/\r?\n\r?\n/, 2)[1];
ugexe zef works though
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)
timotimo on the way through nativecall, strings are always encoded 01:33
moznion zengargoyle: Is this? 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
panda doesnt use `.lines` anywhere he linked to.. 01:37
oh .get
moznion Fixed on the latest nqp and rakudo apparently...
01:37 leont left
zengargoyle moznion: that's it. 01:37
ugexe looks like it should work if you have HTTP::UserAgent installed 01:38
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
hah
01:41 softmoth left, mattn_jp left
timotimo is heading to bed 01:41
good night!
jnthn will surely find out what's wrong with the ords thing when he resumes work on moar 01:42
AlexDaniel “Unsupported use of brackets around replacement; in Perl 6 please use assignment syntax” 01:44
what's the assignment syntax?
01:45 aborazmeh joined, aborazmeh left, aborazmeh joined
zengargoyle i've seen that one before, don't remember why... 01:46
AlexDaniel when doing s{foo}{bar} 01:47
zengargoyle $x ~~ s/foo/ = bar
$x ~~ s/foo/ = 'bar' 01:48
dalek albot: 6bd7e7d | TimToady++ | build-scripts/rebuild-rakudo- (2 files):
split builds for rakudo-moar and rakudo-jvm
albot: 40d1137 | TimToady++ | evalbot.pl:
look in different directories for moar vs jvm impl
AlexDaniel zengargoyle: right!
zengargoyle something like that. the replacement things are now like lvalue
AlexDaniel thanks :) 01:49
zengargoyle np
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:52
01:53 mattn_jp joined
zengargoyle otherwise ok, or at least passing tests... 01:53
01:53 mattn_jp left
zengargoyle not so bad, seems mostly line protocol type stuff. 01:54
dalek albot: b93ffe6 | TimToady++ | build-scripts/rebuild-rakudo.pl:
just call the two sub-rebuilders now
01:55
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
dalek albot: ddc5b4a | TimToady++ | evalbot.pl:
allow - in build names
01:59
02:00 camelia left, camelia joined 02:01 ChanServ sets mode: +v camelia
TimToady camelia may be broken for a few minutes 02:02
02:02 camelia left 02:03 camelia joined
TimToady so don't use it till I say 02:03
AlexDaniel :D 02:04
02:04 ChanServ sets mode: +v camelia 02:05 camelia left 02:06 camelia joined
AlexDaniel what is the right way to see if key exists in hash? 02:07
Skarsnik I use %hash<key>.defined
ugexe %x<f>:exists
02:07 ChanServ sets mode: +v camelia
AlexDaniel oh wow 02:07
02:08 chenryn joined, xpen joined
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`
AlexDaniel hm fair enough
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 perl6advent.wordpress.com/2013/12/...-only-way/
AlexDaniel ugexe: I'm just thinking if there are other things that look alike. It looks like an adverb…
ok, hash adverbs, that's it
thanks
AlexDaniel is abusing this channel today 02:10
02:12 xpen left 02:15 tokuhiro_ joined
Hotkeys attempting to convert a friend to the perlysixy side 02:16
zengargoyle doc.perl6.org/type/Hash 02:19
docs are getting better and pretty decent for common things
dalek albot: ee64c2d | TimToady++ | evalbot.pl:
restore old build dir temporarily
02:20
02:20 camelia left, camelia joined 02:21 xpen joined 02:22 ChanServ sets mode: +v camelia
TimToady you can use m: currently, but not j: or r: 02:26
tokuhiro_ m: dd "\x0d\x0a".encode('latin1').decode('latin1') 02:28
camelia rakudo-moar 273e89: OUTPUT«Str $var = "\r\n"␤»
tokuhiro_ after '\r\n as 1 grapheme' commit, 02:30
It returns "\r".
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␤␤»
AlexDaniel is it a bug?
dalek albot: 348aa56 | TimToady++ | build-scripts/rebuild-rakudo- (2 files):
clone using https
02:32
AlexDaniel m: my $h = {'hello' => 'world'}; my $z = 'foo'; $z ~~ s{ \%s | $ } = $h<hello>;
camelia ( no output )
AlexDaniel because if you change $_ to something else then it starts working!
ah it could be simplified 02:33
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␤␤»
AlexDaniel oh 02:35
no, I don't get it. It seems like $_ is set to something else during this operation? 02:36
but if I print it later it seems to be unaffected 02:37
02:37 eliasr left
AlexDaniel Right! $_ is 'foo' during the process 02:39
02:44 yqt left, ilbot3 left
dalek albot: 61e25d8 | TimToady++ | build-scripts/rebuild-rakudo- (2 files):
whoops, forgot the .git extension
02:45
02:47 ilbot3 joined
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␤␤»
BenGoldberg AlexDaniel, the ~~ operator does something vaguely resembling ↑ that. 02:52
AlexDaniel BenGoldberg: well, I see. But I was surprised to see that error… 02:53
not sure if it counts as LTA, perhaps I should have known better
zengargoyle m: $_ = {'A' => 'B'}; my $z = 'foo'; $q = $z ~~ s{ 'o' }; $q = $_<A>
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>␤»
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>␤»
dalek albot: a12d00e | TimToady++ | build-scripts/rebuild-rakudo- (2 files):
why does git have such weird addresses anyway...
02:54 camelia left, camelia joined
zengargoyle m: $_ = {'A' => 'B'}; my $z = 'foo'; my $q := $z ~~ s{ 'o' }; $q = $_<A> 02:55
m: $_ = {'A' => 'B'}; my $z = 'foo'; my $q := $z ~~ s{ 'o' }; $q = $_<A>; say $z
AlexDaniel wake up camelia!
zengargoyle oops!
02:55 ChanServ sets mode: +v camelia
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>␤»
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␤»
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␤»
zengargoyle thought it was like subst-rw (?) and returned a something that allowed access.
02:57 cognominal left
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
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:00
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:02
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␤»
TimToady a proxy doesn't work with :g
zengargoyle ah 03:05
03:05 jnthn left, jnthn joined
dalek albot: e5e6185 | TimToady++ | evalbot.pl:
switch to new separate moar stack
03:06
03:06 camelia left 03:07 camelia joined
TimToady m: say &[Z+].name 03:07
camelia always wakes up groggy... 03:08
03:08 ChanServ sets mode: +v camelia
camelia rakudo-moar 6cb35b: OUTPUT«infix:<Z+>␤» 03:08
zengargoyle 💡
TimToady やった!
BenGoldberg m: say .uniname for "やった!".comb; 03:09
camelia rakudo-moar 6cb35b: OUTPUT«HIRAGANA LETTER YA␤HIRAGANA LETTER SMALL TU␤HIRAGANA LETTER TA␤FULLWIDTH EXCLAMATION MARK␤»
zengargoyle やった /(int) hooray (lit: I or we did it)/whee/hot dog!/you beaut/whacko/yowzer!/whoopee!/yes!/(P)/
TimToady the success of m: is now not limited by the (lack of) success of j: 03:10
BenGoldberg wonders whether it would be a useful feature to provide m// with a :rw adverb, which would be incompatible with :g 03:11
Actually, I has an idea: 03:12
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:14
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
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:18
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:19
TimToady I would do that with an s[] without its assignment, if I did it 03:21
03:21 telex left, raiph joined 03:22 telex joined 03:25 Skarsnik left 03:26 kid51 left 03:29 llfourn joined 03:33 BenGoldberg left 03:38 finanalyst joined 03:41 vendethiel left 03:44 raiph left 03:50 chenryn left 03:54 Oatmeal left 03:59 zengargoyle left 04:02 kaare_ joined 04:06 aborazmeh left 04:07 Oatmeal joined 04:08 abaugher` joined, olinkl_ joined 04:09 lolisa joined, solarbunny left 04:11 rhr_ joined, hobbs left, abaugher left, olinkl left, synbot6 left, dalek left, Gardner left, skarn left, [Tux] left, lsm-desktop left, DrPete left, olinkl_ is now known as olinkl, raydiak joined 04:12 hobbs joined, hobbs left, hobbs joined 04:14 Gardner joined 04:16 skarn joined 04:18 finanalyst left 04:24 [Tux] joined 04:25 lsm-desktop joined 04:26 chenryn joined 04:31 [Sno] joined 04:32 ][Sno][ left 04:35 sprocket left, solarbunny joined, dalek joined, ChanServ sets mode: +v dalek 04:37 DrPete joined
AlexDaniel ouch, no RSS/Atom module! 04:56
there is Syndication but it is pretty much NYI 04:57
05:04 zengargoyle joined 05:12 jkva joined
dalek albot: d3534eb | TimToady++ | build-scripts/rebuild-rakudo- (2 files):
make current link failure non-fatal
05:14
albot: db89973 | TimToady++ | build-scripts/rebuild-rakudo.pl:
rakudo build should honor sub-locks for moar, jvm
05:20
05:29 [Sno] left 05:32 zengargoyle left 05:42 zengargoyle joined
dalek ast: 2ccb444 | TimToady++ | S05-metasyntax/single-quotes.t:
test fancy single quotes in regex
05:49
kudo/nom: 36a3514 | TimToady++ | src/Perl6/ (2 files):
allow Unicode quotes in regexen too

fixes RT #126557
06:01 gtodd left
dalek ast: 7cd9f97 | TimToady++ | S05-mass/rx.t:
tests for fancy double-quotes in regex
06:02
TimToady that was an easy one... 06:08
TEttinger fancy quotes?
like the ones people using certain IRC clients accidentally paste when they paste code? 06:09
TimToady ayup
06:09 zengargoyle left
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’ /…»
TimToady that will fix in a few minutes
assuming I didn't botch the rebuildinator
06:11 zengargoyle joined
TEttinger that's a very handy feature 06:12
06:12 kjs_ joined
TEttinger (I'm kinda suprised Perl 6 doesn't have every unicode feature imaginable already) 06:12
AlexDaniel oh 06:13
TEttinger (since it has more unicode you-name-it than anyone else)
AlexDaniel already fixed! How cool is that
even 「」! 06:14
dalek albot: 8bbbc5b | TimToady++ | build-scripts/rebuild-rakudo- (2 files):
misspelled array name
06:16
TimToady which I did botch... 06:17
rebuilding camelia now 06:18
AlexDaniel by the way
should that work:
m: class Foo { has $.x = 'b' }; my $foo = Foo.new; say 'ba' ~~ / "$foo.x" a /;
camelia rakudo-moar 6cb35b: OUTPUT«Nil␤»
AlexDaniel m: class Foo { has $.x = 'b' }; my $foo = Foo.new; say 'ba' ~~ / "{$foo.x}" a /;
camelia rakudo-moar 6cb35b: OUTPUT«「ba」␤»
TimToady m: class Foo { has $.x = 'b' }; my $foo = Foo.new; say 'ba' ~~ / "$foo.x()" a /; 06:19
camelia rakudo-moar 6cb35b: OUTPUT«「ba」␤»
AlexDaniel what
nice…
TimToady methods and arrays never interpolate unless the expression ends with some kind of brackets
AlexDaniel Okay! Interesting 06:20
TimToady so email addresses don't accidentally the hostname
only a bare $foo can interpolate without brackets
AlexDaniel I wonder which one I should use. Brackets in the end or {} around? 06:21
{} feels more reliable
TimToady you should use the one you decide to use, and not the other :)
m: say "foo" ~~ / ‘foo’ / 06:22
camelia rakudo-moar 36a351: OUTPUT«「foo」␤»
TimToady there we go
AlexDaniel Yesss!
TimToady they already worked outside of regex
AlexDaniel I know…
TimToady m: say "foo" ~~ / „foo“ / 06:23
camelia rakudo-moar 36a351: OUTPUT«「foo」␤»
06:34 [Sno] joined 06:36 ribasushi left
TimToady m: "\r\n".ords.say; 06:41
camelia rakudo-moar 36a351: OUTPUT«(13)␤»
TimToady yup, that's still borkeded
m: "\r\n".chars.say; 06:43
camelia rakudo-moar 36a351: OUTPUT«1␤»
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!")
ShimmerFairy
.oO(Radical memes, man)
06:45
TEttinger Ada regards internet slang in docstrings as a compile time error
they update the forbidden meme database regularly
06:45 kjs_ left 06:46 ribasushi joined
Hotkeys TimToady: syntax trees make my heart hurt, does linguistics get better 06:47
TimToady well, if you do phonetics and phonology like me, you don't have to worry about syntax :P 06:48
Hotkeys fair enough 06:49
we finally have moved on from syntax in my intro ling class and semantics seems alright 06:50
TimToady semantics only ever *seems* alright :) 06:52
eventually you fall into the pit of pragmatics...
Hotkeys is that a good pit or a bad one 06:54
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... 06:55
06:59 geraud left
AlexDaniel is there anything that runs after BUILD? I want to access some field but don't want to process stuff myself 07:01
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␤ …»
AlexDaniel m: class Hello { has $.foo is rw = 10; method BUILD { say $!foo }; }; Hello.new();
camelia rakudo-moar 36a351: OUTPUT«(Any)␤»
07:16 diana_olhovik_ joined
[Tux] panda install Inline::Perl5 Slang::Tuxic File::Temp CSV::Parser 07:21
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
in method init-projects at /pro/3gl/CPAN/rakudobrew/moar-nom/install/share/perl6/site/lib/Panda/Ecosystem.pm:53
So no test results from me today?
07:23 MilkmanD1n joined, dustinm`_ joined 07:25 ribasushi left 07:27 lolisa left, dustinm` left, MilkmanDan left 07:28 ribasushi joined 07:29 firstdayonthejob joined 07:34 jkva left 07:38 FROGGS joined 07:40 vendethiel joined 07:49 _mg_ joined 07:57 espadrine_ joined 07:59 dayangkun left 08:01 azawawi joined
azawawi hi 08:02
moritz AlexDaniel: you can override BUILDALL, for example
08:02 bjz joined
moritz AlexDaniel: doc.perl6.org/language/objects#Obje...nstruction 08:02
AlexDaniel: if you have a good use case, feel free to add an example to that document
08:05 [Sno] left 08:07 dayangkun joined 08:19 darutoko joined 08:23 firstdayonthejob left 08:28 espadrine_ is now known as espadrine 08:29 RabidGravy joined 08:32 dakkar joined, [Sno] joined 08:35 pdcawley left
[Tux] rakudobrew/moar-nom/install/share/perl6/site/panda/projects.json is empty. Where can I get a non-empty one? 08:35
08:36 pdcawley joined, pdcawley left, pdcawley joined, abraxxa joined
timotimo [Tux], yesterday's \r\n-as-a-single-grapheme-stuff broke panda's ability to download that, sadly 08:36
[Tux] do you have a direct url? 08:37
08:37 rindolf joined
timotimo ecosystem-api.p6c.org/projects.json 08:37
was just looking for it in the backlog for you :)
[Tux] rrrrrrrrrrrrrrruning installing modules 08:38
nn
timotimo rrrrrrr~
RabidGravy ah, that ^ would explain why the travis-ci build is failing for some modules 08:40
timotimo right
anything that had commits since then
RabidGravy I fixed panda ages ago to not clobber the existing projects.json if there was some problem getting it 08:43
obviously not working in this case 08:44
timotimo :| 08:46
thank you for the effort, though! 08:47
08:48 g4 joined
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
RabidGravy this would be a sensible first thing to fix this morning 08:51
timotimo aye 08:52
08:55 dayangkun left
dalek kudo/nom: bccb16d | TimToady++ | src/Perl6/ (2 files):
use canonicalized form for checking infix:['+']()
08:55
ast: e111c14 | TimToady++ | S06-operator-overloading/sub.t:
add tests for infix:['+'] and such
08:56
08:57 vendethiel left 08:58 dayangkun joined 09:00 dayangkun left
RabidGravy good thing I have more than one computer I can do this on without screwing up the installation on this here laptop 09:01
09:02 Actualeyes left
raydiak good morning, #perl6 09:04
timotimo greetings raydiak
so, what piece of code is it in panda that doesn't do the right thing? 09:05
mrf good * #perl6
AlexDaniel masak: method BUILDALL(|) { callsame; say $!foo } # this then, hmmm… it works… 09:06
[Tux] changed all $io.nl to $io.nl-in …
test 50000 38.253 38.140
test-t 50000 39.189 39.076
AlexDaniel masak: thanks
09:06 chenryn left, ely-se joined
timotimo hm, did we put in a deprecation cycle for that? 09:06
AlexDaniel masak: whoops, that was for moritz
azawawi pasteboard.co/1SGJzucQ.png # modules.perl6.org with github stars and open issues columns... any comments? :) 09:07
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?
[Tux] azawawi, yes, what is the open issue with Text::CSV, as I see no open issue on github
so where did you get that info?
timotimo the columns for stars and issues are quite gigantic in comparison ...
mrf m: say "ll" ~~ /l ** ^3/ #I appear to have introduced a bug with the ^10 support in regexs. 09:09
camelia rakudo-moar 36a351: OUTPUT«===SORRY!===␤Cannot find method 'ast'␤»
azawawi timotimo: will look into it :)
mrf nqp-m: say("ll" ~~ /l ** ^3/) # It works in nqp though.
camelia nqp-moarvm: OUTPUT«ll␤»
azawawi commits changes
ely-se changes commits
timotimo azawawi: cool :)
dalek href="https://modules.perl6.org:">modules.perl6.org: c389bed | azawawi++ | web/ (4 files):
Add github stars and open issues columns
09:10
09:10 ab6tract joined
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?
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
AlexDaniel ab6tract: which I don't want to do! :) 09:11
by the way
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…»
[Tux] azawawi, I removed all frills from the travis svg, reducing it to plain text for my perl5 dashboard: tux.nl/perl.html
ab6tract m: class Hello { has $.foo is rw; submethod BUILD { $!foo = 10; say $!foo } }; my $f = Hello.new.foo
camelia rakudo-moar 36a351: OUTPUT«10␤»
AlexDaniel “Use of Nil in string context in block at ………/lib/Panda/Ecosystem.pm:106”
is there any fix for that yet?
timotimo that's the new problem everybody's been experiencing
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…
timotimo why wouldn't just /\n\n/ work instead of /\r?\n\r?\n/?
actually, \r\n\r\n should also work
or just using a string instead?
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.
timotimo alternatively, it would try to use HTTP::UserAgent if it's installed
did anybody try that? or is HTTP::UserAgent broken from the same change, too?
[Tux] AlexDaniel, does «wget ecosystem-api.p6c.org/projects.json -O …/rakudobrew/moar-nom/install/share/perl6/site/panda/projects.json» work for you?
AlexDaniel [Tux]: let's see… 09:15
ollej Hey, I'm having the same projects.json issue. 09:16
09:16 Actualeyes joined
ab6tract AlexDaniel: now that kind of laziness i can get behind ;P 09:16
AlexDaniel [Tux]: yes!
[Tux]: that did fix the problem! 09:17
[Tux] top
AlexDaniel [Tux]: thank you very much
azawawi Not bad BioPerl has 33 stars
mrf timotimo: do you know where the perl6 code is that uses the results of the regex Grammar/Actions in nqp?
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!"
like Marty McFly
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.
camelia rakudo-moar 36a351: OUTPUT«===SORRY!===␤Cannot find method 'ast'␤»
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
timotimo ah, right
mrf because the Actions.nqp just sets $min := 0
timotimo in that case, try putting the check against $<min>.Str eq '^' first?
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 :)
timotimo hm, right 09:21
but also \r\n inside regexes was changed to also match that
on the other hand, this is about a variable named $buf
i didn't know Buf had a split method!
:P
mrf timotimo: found it. Its in src/Perl6/Actions.nqp 09:22
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
ShimmerFairy I didn't even know \r was valid inside regexes, honestly.
timotimo are you sure "\r\n" does it? :P
i mean 09:24
yeah, all of this works for the \r\n grapheme
ShimmerFairy fine, /["\r"? "\n"] ** 2/ to be precise :P 09:25
timotimo it should totally be \n\n
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.
timotimo hm
except ... we wouldn't want to match \n, right?
i'm confused
yeah, you'd probably want "\r\n" 09:26
moritz m: say "\r\n" ~~ /\r\n/
camelia rakudo-moar 36a351: OUTPUT«「
moritz m: say so "\r\n" ~~ /\r\n/
ShimmerFairy or like I wrote, "\r"? "\n" :)
camelia rakudo-moar 36a351: OUTPUT«True␤»
timotimo oh lord, camelia doesn't understand that :D
[Tux] oh azawawi, btw /me thinks that all those extra info-bits should be clickable (see my dashboard) 09:28
[Tux] => $work 09:29
09:30 Psyche^ joined
RabidGravy it's not the regex in panda, it's that it's getting *everything* in $http-header 09:31
the regex works fine
azawawi [Tux]: sure
09:31 cygx joined
cygx o/ 09:32
RabidGravy it's .get that is broken in this context
cygx the announcement you've all been waiting for is finally ready to be made: the perl6 TinyCC bindings have entered beta stage!
RabidGravy yeah, just pushing an expedient fix that works 09:34
09:34 Psyche^_ left
RabidGravy "==> Successfully installed JSON::Class" 09:34
09:35 xinming_ joined, Psyche^_ joined, Psyche^ left
ollej [Tux]: wgetting the projects.json file worked for me as well. 09:36
09:37 Ven joined, xinming left
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 :)
RabidGravy of someone with the keys wanna merge the github.com/tadzik/panda/pull/242
azawawi the new page is online at modules.perl6.org/ :)
Ven .tell Zoffix yes, thanks for your PR. I'll try to take a look at the noncrossed ones soon-ish
yoleaux Ven: I'll pass your message to Zoffix.
cygx â hui, Ven 09:39
dalek href="https://modules.perl6.org:">modules.perl6.org: 3c0f2c5 | azawawi++ | web/ (10 files):
- Travis CI link is now text

  - Travis CI status is now sortable
  - Remove Travis CI status images
  - Links now open in another tab
09:41
RabidGravy timotimo, you got a commit bit on panda? can't tell who has from github
azawawi 007 has the most github stargazers? :)
moritz azawawi: probably because it was on hackernews, and people liked the readme 09:42
AlexDaniel m: say “\c13\c10”
camelia rakudo-moar 36a351: OUTPUT«
RabidGravy or indeed moritz?
timotimo i do
moritz RabidGravy: I have, yes
timotimo so the problem is that the first .get gives you potentially the whole content?
AlexDaniel m: say “\c13\c10” eq “\r\n”
camelia rakudo-moar 36a351: OUTPUT«True␤»
timotimo so we've been skipping everything?
RabidGravy timotimo yes
timotimo merged 09:43
azawawi moritz: i see
RabidGravy there's a better change to be made but that'll do until someone does that :)
timotimo oh, i didn't know ADT had a star
RabidGravy timotimo, cheers matey
09:46 duncan_dmg joined
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:46 rindolf left
AlexDaniel RabidGravy: trying 09:47
hmm, it looks like IO::Socket::INET is broken 09:48
I think that it was working great before I tried rebuilding everything
RabidGravy: It looks like it is fixed now 09:49
RabidGravy well I know it was definitely fixed for me as I tested it :) 09:50
09:52 yeahnoob left
dalek href="https://modules.perl6.org:">modules.perl6.org: f02f9e0 | azawawi++ | web/ (6 files):
Remove fresh badge. Please see #19
09:54
href="https://modules.perl6.org:">modules.perl6.org: 95c2c64 | azawawi++ | web/fresh.png:
No need for fresh icon anymore
09:56
09:57 ely-se left
AlexDaniel “ok 1 - # SKIP Operating system not yet supported” for all tests when trying to run S32-io/IO-Socket-INET.t 09:57
I'm on Debian
09:57 espadrine left 09:58 lizmat joined 09:59 rindolf joined
moritz such an obscure OS :-) 09:59
10:01 ab6tract left 10:03 ely-se joined
lizmat good *, #perl6! 10:08
mrf o/ lizmat
lizmat did I miss anything the past night ?
mrf lots of discussion on the \r\n changes. 10:10
10:13 chenryn left
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:13
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␤␤»
lizmat huh?
moritz foo:bar is a fine longname, no? 10:18
just like mytoken:sym<foo>
10:18 espadrine joined
lizmat $ 6 'sub foo(*%h) { dd %h }; foo:bar;' 10:18
Hash $var = {}
is what I get locally 10:19
I would either think it should fail (foo:bar not found) *or* pass bar=>True to the sub foo
yup, bccb16dafbf3f92738c (TimToady's last commit) made this change 10:20
moritz lizmat: I agree with you
lizmat $ 6 'sub foo(*%h) { dd %h }; foo:bar;' 10:21
===SORRY!=== Error while compiling -e
Undeclared routine:
foo:bar used at line 1
10:25 bjz_ joined 10:26 bjz left
dalek href="https://modules.perl6.org:">modules.perl6.org: 2dca39e | azawawi++ | web/style.css:
Less vertical header space
10:27
cygx azawawi: can we make the travis status into a badge using these images: imgur.com/a/tIFZ8 10:28
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
cygx azawawi: that would mean one could no longer sort by tehe status, which might be a bad idea
mrf lizmat: no worries. 10:31
cygx azawawi: however, I *would* like to see some sort of graphic status indicator
10:31 xinming_ left
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
azawawi cygx: dont worry.. just open an issue for it :) 10:32
cygx: please :)
cygx azawawi: github.com/perl6/modules.perl6.org/issues/20 10:36
FROGGS hi mrf
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
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:38
The only difference seems to be in the codeblock handling between them 10:39
I am wondering if there is a nicer way to allow changes to propogate without having to keep the two codebases in sync.
azawawi cygx++
mrf ?
FROGGS hmm, are you talking about the DYNQUANT method in NQPCursor vs Cursor or what it is called?
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
dalek href="https://modules.perl6.org:">modules.perl6.org: a13d7d6 | azawawi++ | web/ (3 files):
Logo is now shown on the right of a module name to conserve horizontal space
10:41
FROGGS mrf: please continue writing even if I do not respond, I'll be out for lunch in a few minutes
mrf will do.
FROGGS mrf: we do that because rakudo knows about Range, where nqp does not IIRC
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
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
FROGGS: At the worst I will add a comment in both indicating that changes need to be propgated.
mostly was irritating to cause a bug for want of a ! 10:43
dalek href="https://modules.perl6.org:">modules.perl6.org: a84f95e | azawawi++ | web/js/main.js:
Fix sort order since we now display the module logo right aligned to the module name cell
FROGGS mrf: that's something you cant do in nqp: github.com/rakudo/rakudo/blob/nom/...or.pm#L322
10:44 cognominal left
mrf FROGGS: so we will just have to put up with having the same code in two places. 10:44
FROGGS yes, I think so 10:45
mrf Ok.
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
FROGGS mrf: adding a comment that indicates that the DYNQUANT_LIMITS method is overridden in rakudo is very much sane I'd think 10:47
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:48
10:49 zakharyas joined
dalek kudo/nom: fbb7fba | lizmat++ | src/core/Str.pm:
Introduce Str.comb(Int:D)

So instead of the slow (because using grammar engine) .comb(/../) you can now do .comb(2), which is about 30x faster.
10:50
10:50 chenryn joined
mrf what does method ! signifiy in nqp? 10:53
eg method !DYNQUANT_LIMITS 10:54
lizmat probably the same as in Perl 6: a private method ?
10:54 rindolf left
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'
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:␤ …»
lizmat m: class A { method !foo {} }; A!A::foo'
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:56 TEttinger left
mrf lizmat: ok cheers. 10:57
I assume that private methods aren't inhertible?
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?
(or anything like .comb(/ . ** $n /) 10:59
lizmat well, now the optimizer *can* :-)
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" ;-)
lizmat grondilu: by simply rewriting the arguments
grondilu ok
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.
lizmat how? by making it an internal routine ? 11:01
a Rakudo::Internals method ?
grondilu yeah
lizmat well, I would be fine with that too
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
lizmat last week I added IO::Handle.comb, which also allows Int:D to emulate that behaviour
now that we have better input record separator functionality, that could probably be hidden in there as well somehow 11:03
anyways, TIMTOWTDI :-)
grondilu sure
azawawi RabidGravy: yup 11:08
11:08 rindolf joined, Actualeyes left
azawawi masak modules have the most stars... masak++ 11:09
Ven masak++ # the cutest toys *g* 11:10
azawawi how is the new look & feel for the table modules.perl6.org/ now?
lizmat I think moritz would say: a little too monochrome ? 11:11
11:12 Actualeyes joined
mrf The world apparently has a facination with greys 11:12
FROGGS: I will add a comment to both for now and it can be thought about later if needed
lizmat unknown => grey, passing => green, failing => orange, error => red ? 11:13
azawawi lizmat: sure we're going to replace them with more compact images and conserve sorting functionality. Please see github.com/perl6/modules.perl6.org/issues/20 11:14
mrf azawawi: is there a reason for not using the embedded status images.
lizmat azawawi++
moritz azawawi: I don't think we need images; a bit of CSS is fine
(and class="travis_passing" etc.) 11:15
mrf azawawi: ahh
11:17 ely-se left
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:17
moritz please don't introduce flash for that. 11:18
that's very annoying on github
jnthn afternoon, #perl6
azawawi not flash
moritz: trust me, i will simplify it :) 11:19
lizmat jnthn o/
RabidGravy while we're talking about that it appears to be by default sorting by "description" which is probably the least good option ;-)
azawawi moritz: i hate flash with vengeance :)
moritz azawawi: :-)
RabidGravy no flash! no flash!
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
azawawi moritz: i maintained a flash component to edit Arabic correctly until finally replace it with HTML5/JS
lizmat but would be nice if that would be available low level as well 11:21
azawawi moritz: s/finally replace/i finally replaced/
jnthn lizmat: Well, it'd add a little more complexity in the thing we want to be the fast path at the low level
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?
I mean, you normally write for $fh.lines { }
dalek href="https://modules.perl6.org:">modules.perl6.org: 3b350f5 | azawawi++ | web/js/main.js:
Fix default sort order. azawawi--
lizmat well, at nqp:: level I would think something like nqp::chomped to be called right *after* a line was read
RabidGravy azawawi++ # fixing all the things 11:23
lizmat so only valid until the next line was read *on* that handle
jnthn Aye, though most likely it's going to give you back an integer
Which is the separator index in the list of separators
lizmat an integer in the list of delimiterd
works fine for me
jnthn Rather than re-extract a constant string
Right
But then what would be do at Perl 6 level? :)
for $fh.lines { ... $fh.chomped } ?
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
lizmat for $fh.lines(:all) -> $line, $delmiter { }
jnthn Doesn't really compose well with unchomped handles
azawawi moritz: re www.unicode.org/charts/PDF/UFE70.pdf
lizmat there's a reason :chomp is the default :-) 11:25
jnthn Though I guess nothing's going to...
lizmat 99.5% of the cases one would chomp
jnthn Aye
And 99.4% of the cases you don't care what the separator was ;)
lizmat the .5% of cases are 99% of the time an error :-)
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?
lizmat the "\n, "\r\n" case is really a bad example
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
it might be a way to use it
stream parsing, that is
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
uh, next char out of this set of interesting ones
'cus of escapes and so on
lizmat true
that's why the escape would be one of the separators
and you would want to know when you ran into that
cygx jnthn: nativesizeof(int) is 8 on my machine, which is what one would expect for aP6-land native int 11:29
however, NativeCall maps it to long ( github.com/rakudo/rakudo/blob/nom/...all.pm#L94 ), which is only 32-bit on windows
jnthn lizmat: True. Might also be worth pointing out that the implementation doesn't necesarily scale well to dozens of separators 11:33
lizmat jnthn: I think it will still beat a HLL implementation by at least an order of magnitude :-) 11:34
11:35 Ven left
jnthn [benchmarks needed] :) 11:36
cygx: That seems somewhat inconsistent
m: say "\r\n".chars
camelia rakudo-moar 36a351: OUTPUT«1␤»
jnthn m: say "\r\n".encode('utf-8').say 11:37
camelia rakudo-moar 36a351: OUTPUT«utf8:0x<0d 0a>␤True␤»
jnthn m: say "\r\n".encode('ascii').say
camelia rakudo-moar 36a351: OUTPUT«Blob[uint8]:0x<0d>␤True␤»
jnthn m: say "\r\n".encode('latin-1').say
camelia rakudo-moar 36a351: OUTPUT«Blob[uint8]:0x<0d>␤True␤»
jnthn m: say "\r\n".encode('windows-1252').say
camelia rakudo-moar 36a351: OUTPUT«Blob[uint8]:0x<0d>␤True␤»
jnthn Such bust!
lizmat I lost track: which ones are supposed to be wrong ? 11:39
jnthn Only utf-8 gets it right 11:40
11:40 ely-se joined
ShimmerFairy jnthn: is the literal "\r\n" supposed to be seen as the synthetic grapheme or as two separate ones? 11:40
jnthn ShimmerFairy: \r\n is the synthetic 11:41
m: say "\r\n".chars
camelia rakudo-moar 36a351: OUTPUT«1␤»
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" :)
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'?
ShimmerFairy :)
cygx *the latter 11:43
11:43 pmurias joined
jnthn cygx: Yes, though would have to see what fallout that has... 11:46
cygx jnthn: I'd also like some feedback on github.com/rakudo/rakudo/pull/568/files 11:48
it *seems* to work as intended...
dalek ast: 21ab8bc | jnthn++ | S15-nfg/crlf-encoding.t:
Partially failing crlf encoding roundtrip tests.
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.)
jnthn pmurias: On JVM eventually too
dalek p: c2d1459 | (Pawel Murias)++ | src/vm/js/nqp-runtime/serialization.js:
[js] Update serialization to format version 16.
p: c332679 | (Pawel Murias)++ | / (5 files):
[js] Fix variable length integer serialization/deserialization.
jnthn works to get S15-nfg/crlf-encoding.t passing 11:51
pmurias jnthn: can the JVM handle that without a hefty performance cost?
RabidGravy ow! "*** Error in `/home/jonathan/.rakudobrew/moar-nom/install/bin/moar': malloc(): memory corruption: 0x000000000ad18420 ***" 11:52
haven't seen any of that for a while
(this was a previously working test BTW)
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
m: ("\r\n" x 1000).encode('ascii') # boom, prolly
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!
Eww :)
RabidGravy possibly, it was a test that I noticed failing first this morning with different symptoms 11:55
it was this test github.com/sergot/http-useragent/b...t-common.t 11:57
11:57 _mg_ left
RabidGravy straight out the traps, no output whatsoever 11:57
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 12:01 mscha joined
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)␤»
( no output )
jnthn m: say 1 cmp '2' 12:03
camelia rakudo-moar 36a351: OUTPUT«Less␤»
jnthn m: say '102' cmp 2 12:04
camelia rakudo-moar 36a351: OUTPUT«Less␤»
jnthn :)
Depending if you want numeric of lexicographic, just do:
m: my @mixed = 1, '2', 3, '4', 5, '12', 23, '34', 102, '111', 304, '876'; say @mixed.sort(*.Num) 12:05
camelia rakudo-moar 36a351: OUTPUT«(1 2 3 4 5 12 23 34 102 111 304 876)␤»
jnthn m: my @mixed = 1, '2', 3, '4', 5, '12', 23, '34', 102, '111', 304, '876'; say @mixed.sort(*.Str)
camelia rakudo-moar 36a351: OUTPUT«(1 102 111 12 2 23 3 304 34 4 5 876)␤»
RabidGravy jnthn, I'm going with the culprit being "$encoded-content.encode('ascii').bytes.Str"
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.
... 5 23 ... 12:06
gfldex m: say +'101';
camelia rakudo-moar 36a351: OUTPUT«101␤»
jnthn mscha: I think if you give it two different types of thing, it first sorts by typename
For a given cmp
mscha jnthn: no, that's not it either; 1, '2', 3 are in that order. 12:07
dalek kudo/nom: bcbdc1d | lizmat++ | src/core/ (2 files):
Add limit to Str.comb, add comb(Int:D..) candidate
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:09
jnthn mscha: Yeah, I suspect that cmp gives back unstable things and the sort copes best it can 12:10
btw, .sort(+*) and .sort(~*) are cute shortcuts for numeric and string sorts
mscha That's handy.
RabidGravy jnthn, by brute-force I can confirm it is the "$encoded-content.encode('ascii').bytes.Str" that is causing the failure 12:11
jnthn RabidGravy: OK, good. I just pushed a fix. 12:12
Though still have to unbust roundtripping
About Panda, did it .decode as ASCII/Latin-1? 12:13
12:13 ely-se left
jnthn If so, the fix I'm about to do now may nail that issue 12:13
RabidGravy no decode whatsoever
jnthn OK
hm
Or any mention of encoding? 12:14
RabidGravy it does the "most dumb http client in the world"
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
If it doesn't mention otherwise
RabidGravy it just seems that the get is returning all the stuff
12:16 nwc10 joined, gtodd joined
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
RabidGravy harr!
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;
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:19 mscha left 12:21 chenryn left
lizmat m: say Whatever.new.Str # would anybody terribly mind if this became just "*" ? 12:27
camelia rakudo-moar 36a351: OUTPUT«Whatever<139732658662112>␤»
lizmat m: say Whatever.new 12:28
camelia rakudo-moar 36a351: OUTPUT«*␤»
lizmat m: say Whatever.new.perl
camelia rakudo-moar 36a351: OUTPUT«*␤»
lizmat I think it's just an oversight that .Str isn't
12:28 Skarsnik joined
dalek ast: 8ba9148 | lizmat++ | S32-str/comb.t:
Add tests for comb(N)
12:30
12:31 xinming left
dalek href="https://modules.perl6.org:">modules.perl6.org: 020d1f2 | azawawi++ | web/ (7 files):
Add Travis CI status images without the "build" prefix
12:31
RabidGravy azawawi++ 12:32
12:32 xinming joined
lizmat m: say HyperWhatever.new.WHAT # jnthn: is that correct ? 12:32
camelia rakudo-moar 36a351: OUTPUT«(Sub)␤»
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:34
moritz but that would make it harder to visually scan for a module name 12:36
jnthn m: Sub.new
camelia rakudo-moar 36a351: OUTPUT«Cannot make a Sub object using .new␤ in block <unit> at /tmp/e19kVr10sF:1␤␤»
jnthn lizmat: Would be like ^^
But HyperWhatever, not Sub
*Should
lizmat ok, but then what use are the ACCEPTS and .perl methods in HyperWhatever.pm ?
AlexDaniel I agree with moritz
lizmat will fix 12:37
jnthn lizmat: Oh wait 12:38
12:38 kid51 joined
jnthn lizmat: Sorry, I was confused 12:38
lizmat: I read HyperWhatever as WhateverCode
Ignore everything I said :) 12:39
m: say Whatever.new
camelia rakudo-moar 36a351: OUTPUT«*␤»
lizmat ah, so you *can* HyperWhatever.new ?
jnthn Yeah, and that it returns Sub is rather dubious
lizmat and it returns a Sub ?
jnthn I can't imagine that being right :)
12:40 bjz_ left
lizmat so it should be an instantiated HyperWhatever ? 12:40
Skarsnik Hello. I was wondering, why not something like CPAN for perl6 modules?
jnthn lizmat: Yeah but...why on earth that isn't already happening I'm not sure 12:41
m: say HyperWhatever
camelia rakudo-moar 36a351: OUTPUT«(HyperWhatever)␤»
jnthn m: say HyperWhatever.WHAT
camelia rakudo-moar 36a351: OUTPUT«(HyperWhatever)␤»
AlexDaniel Skarsnik: well, there's panda and a module directory
RabidGravy Skarsnik, in progress
jnthn m: say HyperWhatever.CREATE
camelia rakudo-moar 36a351: OUTPUT«sub (*@_) { #`(Sub|60192168) ... }␤»
AlexDaniel Skarsnik: so it kinda works right now, it's not too bad
lizmat oh wow
jnthn o.O
m: say nqp::create(HyperWhatever)
camelia rakudo-moar 36a351: OUTPUT«**␤»
jnthn Heh, it's not *that* busted :)
Smells like Compiler Transform gone wild... :) 12:42
AlexDaniel Skarsnik: jdv79.blogspot.nl/2015/10/perl6-and...as-of.html 12:43
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:44
12:45 kid51 left, xinming left
ilmari how about «$pipe.print: @stuff»? 12:45
flussence haven't tried...
moritz they should all behave the same, IMHO
jnthn flussence: I'd expect them to be consistent
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, xinming joined
AlexDaniel Skarsnik: I don't think that many modules have proper pod right now 12:46
dalek href="https://modules.perl6.org:">modules.perl6.org: 7b81568 | azawawi++ | web/ (23 files):
Refactor scattered images into assets/images folder
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... :)
AlexDaniel which is possibly caused by the lack of cpan :)
jnthn flussence: I suspect socket is wrong, then
moritz flussence: the socket case joins with spaces right now? 12:48
jnthn m: my @a = 1..5; print @a
camelia rakudo-moar 36a351: OUTPUT«12345»
lizmat m: Callable.new # should probably also fail, no ?
camelia ( no output )
ilmari m: my @a = 1..5; print @a.Str
camelia rakudo-moar 36a351: OUTPUT«1 2 3 4 5»
ilmari IO::Socket has method print (Str(Cool) $string)
flussence moritz: yep
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
dalek href="https://modules.perl6.org:">modules.perl6.org: 0436c29 | azawawi++ | web/ (2 files):
Restore image path lost in the previous commit. azawawi--
12:52
12:54 bjz left, bjz joined
dalek p: 502fd48 | (Pawel Murias)++ | src/vm/js/ (3 files):
[js] Implement nqp::readlinechompfh and nqp::setinputlineseps.
12:54
12:55 xinming left, AlexDaniel left
lizmat jnthn: but it looks like anything doing the role Callable role, is prohibited from doing .new 12:56
so maybe the method new need to live in there, is my question really
12:56 xinming joined
jnthn lizmat: I can imagine people implementing callable things that you can instantiate 12:58
lizmat: It's more than the built-in Code objects should only be constructed by the compiler
abraxxa lizmat: hi! I didn't get what you suggested to do yesterday 12:59
lizmat is not sure what she suggested
RabidGravy "strap a goat to your head and run around naked in the park" 13:00
I wasn't sure either ;-)
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
lizmat ah, that, the impedance match thing ?
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
RabidGravy micro goats are an option
lizmat jnthn: but you can have smaller goats, the so called goaties :-)
abraxxa lizmat: starting here github.com/abraxxa/DBIish/blob/mas...e.pm6#L490 13:02
lizmat abraxxa: generally, copying a P6 type var to a native, is pretty cheap, right jnthn ?
abraxxa lizmat: i've defined three Perl 6 functions for the one C function for the three different data types
lizmat: but shouldn't NativeCall handle the data transformation?
jnthn lizmat: You mean just unboxing something to a native, say, int? 13:03
abraxxa jnthn: yes
jnthn: maybe you could take a look at the code i've linked to and suggest how to proceed
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
I think the p6 vars have already been garbage collected at that time and replaced with different data (or code)
RabidGravy for strings you want "externally-manage" or whatever it is 13:05
abraxxa RabidGravy: is that a NativeCall thing?
RabidGravy yep
Skarsnik how to free strings you tag explicitly-manage btw? x) 13:06
abraxxa is it documented somewhere?
Skarsnik doc.perl6.org/language/nativecall it's somewhere
abraxxa in binds just happen to have garbage data but out binds currently crash moar
RabidGravy abraxxa, docs.perl6.org/language/nativecall#...ing_Values near the bottom of the section 13:07
abraxxa RabidGravy: yeah, found it 13:08
what Skarsnik asked, when will they be freed
jnthn abraxxa: Maybe later; I'm already juggling a couple of tricky things at the moment
abraxxa jnthn: thank you very much!
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 href="https://modules.perl6.org:">modules.perl6.org: bfba0d0 | azawawi++ | web/ (2 files):
Sort order for travis status column now works with images. Enjoy :)
13:12 aborazmeh joined, aborazmeh left, aborazmeh joined
abraxxa wow, the strings in the database are ok now! 13:13
RabidGravy yay! 13:14
Skarsnik badges images link are broken for me on modules.perl6.org x)
13:14 domidumont joined 13:16 isBEKaml joined
moritz same here :( 13:18
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?
could you stick that in a .dir-locals.el?
dalek kudo/nom: b409bcb | lizmat++ | src/core/Whatever.pm:
Make Whatever.new.Str show '*'
kudo/nom: c206f8a | lizmat++ | src/core/ (3 files):
Add an exception for not being allowed to do .new
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:20
abraxxa the ints and floats are still wrong 13:21
dalek href="https://modules.perl6.org:">modules.perl6.org: feb6c81 | azawawi++ | web/ (7 files):
Refactor js into assets/js
href="https://modules.perl6.org:">modules.perl6.org: 72ce9ea | azawawi++ | web/ (3 files):
Hopefully last refactor style.css into its own assets/css directory
RabidGravy or is it because somewhere along the line it's getting decoded and then encoded again 13:22
13:22 _mg_ joined
dalek ast: d8534d8 | jnthn++ | S15-nfg/crlf-encoding.t:
Add streaming decode tests for \r\n handling.
13:23
abraxxa Skarsnik: @execute: i've copied that from Pg.pm, the var naming in SQLite.pm6 is better with $idx, $v
jnthn lunch &
nwc10 ilmari: ^^ :-)
dalek ast: e0d92a2 | lizmat++ | S02-types/WHICH.t:
Add basic test for X::Cannot::New
13:25
13:25 FROGGS left
ilmari nwc10: I'm hacking on moar during my lucnhbreak, I shuld probably get some food too 13:27
dalek c: 012b029 | lizmat++ | doc/Type/Str.pod:
Add doc for Str:D.comb(Int:D)
13:31
abraxxa what's the status regarding unsigned datatypes in NativeCall?
RabidGravy they work afaik 13:32
or rather I have modules that use them which work fine
lizmat I seem to recall there are tests for it, in make test 13:33
13:33 pippo joined
pippo o/ #perl6 13:33
yoleaux 1 Nov 2015 08:42Z <azawawi> pippo: thanks. fixed in github.com/azawawi/perl6-selenium-...68fc14f753 :)
13:36 sprocket joined, sprocket left
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␤»
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?
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); #␤»
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?
camelia rakudo-moar 36a351: OUTPUT«%hash␤True␤»
pippo Huh that works. NM 13:38
13:40 cygx left 13:41 ZoffixW joined
ZoffixW azawawi, timotimo regarding long module names (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: github.com/perl6/modules.perl6.org...e.css#L216 13:42
We can also shorten the "Open Issues" column heading to just "Issues", to make the column narrower. 13:44
moritz ZoffixW: +1
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)␤»
gfldex pippo: it _may_ work see ^^^
13:48 virtualsue joined
ZoffixW azawawi, BTW, paths in CSS files are relative to that CSS file, so I think these are wrong now: github.com/perl6/modules.perl6.org...e.css#L226 13:48
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
jnthn: utf16 is supposed to encode to little endian utf16? 13:50
dalek href="https://modules.perl6.org:">modules.perl6.org: 5db2056 | azawawi++ | web/ (2 files):
Simplify copying of resources and fix sorter images
13:51
13:51 ely-se joined
azawawi ZoffixW: i was talking to a collegue. im back :) 13:52
ZoffixW: last commit should fix it... hopefully :)
ZoffixW azawawi++ # much simpler copying of assets :) 13:53
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:57
lizmat ah, abraxxa: that could still well be the case 13:58
Skarsnik signed and unsigned has the same size in C, it just the value range that is not the same (If I remember correctly) 13:59
flussence m: my uint8 $foo = uint64.Range.max; say $foo; 14:00
camelia rakudo-moar 36a351: OUTPUT«-1␤»
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 ?
camelia rakudo-moar 36a351: OUTPUT«13␤(13)␤»
Skarsnik hm interpolation does not work in heredoc? I followed perl6advent.wordpress.com/2013/12/...docs-docs/ and write q:to:c/END_C/ or did it change? 14:02
jnthn The...nqp backend?
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
jnthn Skarsnik: Try q:c:to/END_C/ 14:03
lizmat: .ord giving 13 is as good as we're going to get, I think
m: say "\r\n".NFC
camelia rakudo-moar 36a351: OUTPUT«NFC:0x<000d 000a>␤»
jnthn I'd not mind to kill off .ords in favor of that
But the fix is to implement it as self.NFC.list 14:04
Rather than whatever it's doing today
Feel free to patch it while I work on the decoder stuff
flussence ($codepaths--)++
Skarsnik ah yes it work. now how I fail because of {} in the C content ~~ 14:05
pippo gfldex: thank you.
lizmat jnthn: shouldn't .ord just return a negative for the synthetic, or would you consider that leaking ?
jnthn No, that's leaking 14:06
You should *never* get to see the negatives
lizmat then .ord is basically useless 14:07
jnthn It's an operation of codepoints
lizmat as is .ords then
jnthn *on
.ords is fine if we fix it like I just said
lizmat ok 14:08
jnthn .ord is just .ords[0] really
14:08 aborazmeh left
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. :)
lizmat .NFC is NYI on JVM, right ?
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
lizmat hmmm.... 14:09
jnthn lizmat: Yeah; guess we may have to do it conditional for now.
lizmat ok
14:11 ZoffixW left
isBEKaml [Coke]: is that a broken build? as in, rakudo-jvm doesn't build at all? 14:11
[Coke] isBEKaml: correct.
wellll, you get a perl6-j, I think, but can't compile test.pm 14:12
isBEKaml [Coke]: don't know - I haven't built perl6-j in a lo+ng time. 14:13
14:14 g4 left 14:17 Ven joined
dalek href="https://modules.perl6.org:">modules.perl6.org: 6aa7fe1 | azawawi++ | web/index.tmpl:
Open issues -> issues (ZoffixW++)
14:18
href="https://modules.perl6.org:">modules.perl6.org: 33e8afd | azawawi++ | / (3 files):
Store logos in assets/images/logos
lizmat jnthn: so, nqp::ordat is now also borked ?
Ven o/, #perl6
lizmat Ven o/ 14:19
zengargoyle o/
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
pmurias nwc10: I have recovered from the changes, are any new ones planned? 14:20
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:22
14:23 skids joined
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)
azawawi moritz: what's the cron job interval for the modules.perl6.org build script? every 15 min?
pmurias nwc10: not that I know of 14:24
nwc10 OK
moritz azawawi: 20,50 * * * * sh update-modules.perl6.org > log/update.log 2>&1; cp log/update.log /var/www/modules.perl6.org/log
pmurias reducing the size of the downloaded javascript will be useful so hopefully porting over the serialization changes is not wasted effort
nwc10 you're getting nearer to closing the bootstrap loop on NQP JS?
pippo Ven: did not understand your question. m: my $lines = qx/ls/.lines; say $lines.perl;
m: my $lines = qx/ls/.lines; say $lines.perl;
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␤␤»
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.
azawawi moritz: thanks
abraxxa RabidGravy: i've looked at LameMP3 and saw that you don't use 'is rw'
Ven I'm doing C++ at $work, and it takes several *minutes* to compile. I want to get the output ASAP
abraxxa RabidGravy: i've looked at LameMP3 and saw that you don't use 'is rw' for parameters but CArrays, why?
dalek p: 47da876 | jnthn++ | tools/build/MOAR_REVISION:
Bump MOAR_REVISION for encode/decode fixes.
14:26
RabidGravy abraxxa, because it doesn't alter the array but just the contents
pippo Ven: now it is clear. But I am afraid I cannot help you.
:-(
nwc10 jnthn: I was assuming that we don't bump the minimum serialiasation format until after the November release
pmurias nwc10: I think it's a matter of fixing a few bugs and implementating the serialization of some things
abraxxa RabidGravy: so you don't use the CArray for having a pointer to one native param?
RabidGravy they have to be pre-grown to the correct length and everything 14:27
jnthn nwc10: I don't think we have?
nwc10 we haven't yet.
jnthn Ah, so you're saying "don't until after the Nov release" :)
nwc10 I was saying that I thought that that was the usual plan for these things
dalek kudo/nom: 3f2d858 | lizmat++ | src/core/Str.pm:
Make Str.ord/ords NFC based on Moar
nwc10 although the rules will be different after Christmas
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
jnthn lizmat: oh, you didn't need to change ord
azawawi modules.perl6.org/ # fixed :)
jnthn nqp::ord *does* give the first NFC codepoint
lizmat ok, will fix
14:29 _mg_ left
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
lizmat and I just realize that .ords is really just the same as .NFC now, right >
RabidGravy abraxxa, well in the case of LameMP3 it's something like "unsigned char * mp3buf"
lizmat no need to make a Seq
nwc10 pmurias: ooh gosh, that was close
jnthn lizmat: No, .NFC gives a Uni 14:30
You should return something Iterable
lizmat: .NFC.list would do it
pmurias lunch&
lizmat m: say "abc".NFC[0] # jnthn: not sure a .list is needed ? 14:31
camelia rakudo-moar 36a351: OUTPUT«97␤»
lizmat m: say "abc".NFC[1]
camelia rakudo-moar 36a351: OUTPUT«98␤»
lizmat m: .say for "abc".NFC
camelia rakudo-moar 36a351: OUTPUT«97␤98␤99␤»
abraxxa RabidGravy: i see. Did you never need a pointer to an for example int32?
jnthn lizmat: Oh... 14:32
Seems you'r right
*you're
14:32 tokuhiro_ left
lizmat m: say NFC ~~ Iterable # although this appears to be False? 14:33
camelia rakudo-moar 36a351: OUTPUT«False␤»
lizmat hmmm.. same for Buf and friends 14:34
jnthn Yeah...I think that for *does* .list on it?
So it's happening anyway
lizmat ah, good point, yes
and the AT-POS is inherited from Buf, I guess
dalek kudo/nom: 76e33ed | jnthn++ | tools/build/NQP_REVISION:
Bump for encode/decode fixes in Moar.
kudo/nom: 619d0a1 | jnthn++ | t/spectest.data:
Run S15-nfg/crlf-encoding.t.
jnthn Well, Uni implements AT-POS and NFC inherits from Uni
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
RabidGravy jnthn++ # let's see 14:35
lizmat jnthn: so, should I add a .list or not?
jnthn RabidGravy: I'd be interested to know if the Panda workaround is still needed with it too
lizmat: I'm inclined to add it
lizmat oki
jnthn lizmat: If nothing else 'cus .ords returned something List-y before 14:36
m: say "\r\n".chars
camelia rakudo-moar 36a351: OUTPUT«1␤»
jnthn m: say "\r\n".codes
camelia rakudo-moar 36a351: OUTPUT«2␤»
jnthn phew
abraxxa RabidGravy: I only find CArray[int16] is rw 14:37
not int16 is rw
RabidGravy right 14:38
but there's no diffence
jdv79 can role params be named?
RabidGravy yes
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
abraxxa i have ub2 *alenp, (ub2 is unsigned bytes 2 = constant sb2 = int16;) 14:41
how can I debug what NativeCall passes to the C functions?
RabidGravy write a C function yourself and inspect what it does 14:42
I am no expert in these matters
abraxxa i don't know C
RabidGravy tricky
14:42 duncan_dmg left
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
the int and floats never work
14:44 nwc10 left, duncan_dmg joined
Ven I'm surprised there's no output-as-you-get sort of option for shell or run 14:44
(or even qx)
loren m: use NativeCall; sub time () returns int is native('libc.so.6') is export { * }; say time();
camelia rakudo-moar 36a351: OUTPUT«(signal SEGV)»
dalek href="https://modules.perl6.org:">modules.perl6.org: 323fca2 | azawawi++ | / (2 files):
A new README is here to simplify the learning process. Enjoy
Skarsnik abraxxa, what is your issue? 14:45
abraxxa Skarsnik: insert sql with bind vars don't work
i'm trying to implement DBDish::Oracle since month
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
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
isBEKaml [Coke]: 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?
jnthn RabidGravy: OK. And guess you're checking the .encode SEGV too? :)
RabidGravy I'm just installing the deps ;-) 14:48
but yes
jnthn Cool
isBEKaml how long does it normally take to build rakudo-j?
RabidGravy jnthn++ # yep all fixorificated
jnthn++ # fix all the things 14:49
lizmat cycling&
llfourn m: BEGIN { $*W.find_symbol(['&EVAL']) } # how do I do this right? :)
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 …»
jnthn \o/
llfourn there is a comment in world in sympathy with me: github.com/rakudo/rakudo/blob/nom/...ld.nqp#L53 14:50
dalek href="https://modules.perl6.org:">modules.perl6.org: 434e354 | azawawi++ | README.md:
Mention cron job line moritz++, and update log url.
llfourn but I'm not sure what to do with it
moritz m: BEGIN { &::('EVAL')('say 1+2') }
camelia rakudo-moar 36a351: OUTPUT«3␤»
isBEKaml j: say 42
camelia rakudo-jvm 273e89: OUTPUT«42␤»
moritz llfourn: if you just want a lookup by name in Perl 6 land, use ::(...)
llfourn moritz: $*W.find_symbol is what I'm looking for :) 14:51
pippo Ven: mkfifo?
Ven mkfifo?
llfourn moritz: I'm trying to steal something from another lexpad in a trait_mod.. at compile time
moritz m: use nqp; BEGIN { $*W.find_symbol(nqp::list('&EVAL')) }
camelia ( no output )
pippo are you using linux?
moritz llfourn: ^^
isBEKaml p: say 42
moritz llfourn: a Perl 6 [] is not an nqp []
llfourn: hence you need nqp::list to generate a nqp array 14:52
dalek href="https://modules.perl6.org:">modules.perl6.org: 51c5eb1 | azawawi++ | README.md:
Indent example. I am done for today :)
llfourn moritz: hmm I swear I tried that!!! (thanks thought)
moritz llfourn: I tried better :-)
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…
Ven pippo: nope, os x
dalek href="https://modules.perl6.org:">modules.perl6.org: 7827e71 | azawawi++ | README.md:
Remove the old gh-pages paragraph. flussence++
14:54
pippo It is a nix also. Should work I think.
[Coke] isBEKaml: yup, same here, with no line number at the top.
RabidGravy jnthn, however the panda doesn't work without the fix
pippo Ven: It is a nix also. Should work I think.
moritz Skarsnik: this works locally for me: perl6-m -e 'say run("cat", "README.md", :out).out.get'
RabidGravy so .get is still getting all the content
moritz Skarsnik: and prints the same as head -n1 README.md
isBEKaml [Coke]: damn, that build took a lo+ng time :-)
azawawi time to go home... &
isBEKaml [Coke]: and ate lots of memory (that's to be expected) 14:55
pippo azawawi: o/
RabidGravy now however I'm getting "Method 'subst' not found for invocant of class 'Any'" all over the place
azawawi the perl6 testers integration is next for modules.perl6.org
RabidGravy azawawi++ # top stuff 14:56
azawawi hopefully i will do it tomorrow :)
cya
Skarsnik hm, does a previous non captured run could override or something?
14:56 azawawi left
moritz Skarsnik: dunno. Does the same run() produce the output you expect without :out ? 14:57
14:57 zakharyas left
Skarsnik pastebin.com/3Tgn33rV 14:58
14:58 lucasb joined
jdv79 it appears using role params to pass config down a chain of roles doesn't work 14:59
should it?
moritz Skarsnik: ./piko.exe vs piko.exe ? 15:00
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)
ugexe yea thats why i dont understand it. it should be printed
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 isBEKaml left
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:02
jdv79 ok. i guess i'll just expand the types to cover it for now. 15:04
ugexe perl6 -e 'run "ls"'
bin lib META6.json t
Skarsnik: ^
Skarsnik ok it work if I write /root/$filename
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?
Ven ugexe: tried "say"?
ugexe for what? im pointing out that his run 'cc' command could output to stdout without him capturing it 15:06
jdv79 being able to do that would be neat though. kind of a side channel. 15:07
Skarsnik Well cc output nothing
jnthn m: EVAL q/foo:bar; /
camelia rakudo-moar 36a351: OUTPUT«5===SORRY!5=== Error while compiling /home/camelia/EVAL_0␤Undeclared routine:␤ foo:bar used at line 1␤␤»
flussence 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
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
Skarsnik well thx for the help ^^
ugexe oh opened by tempfile
i guess thats not so bad then 15:11
Skarsnik actually that bother me
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:13
since unix does not care about having a file open multiple time 15:14
flussence does it work if you unlink instead of close? maybe cc cares a little too much about not overwriting. 15:15
(since it's a tempfile, I guess close implies unlink already)
jnthn notes that Windows *does* care more about such things, and he's had to patch the spectests various times over such issues 15:17
Skarsnik hm no unlink on IO::Handle 15:18
flussence ought to be there on IO::Path 15:19
m: say IO::Path.^methods
camelia rakudo-moar 36a351: OUTPUT«(FALLBACK gist new)␤»
flussence or... not.
lucasb yes, it is on IO::Path 15:20
flussence m: say IO::Path.^methods(:all)
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…»
Skarsnik I replaced the cc call with cp. no output
without closing the handle
lucasb ^^ this is the RESTRICTED IO::Path 15:21
Skarsnik well: Method 'unlink' not found for invocant of class 'IO::Handle'
ugexe how are you getting this handle?
Skarsnik my ($filename,$filehandle) = tempfile; (for example) 15:22
ugexe what is `tempfile;`
Skarsnik github.com/perlpilot/p6-File-Temp/ 15:24
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.
jdv79 or how would that even be done. for instance i have "has @.foo" and i want that to be static/readonly. 15:28
15:30 khw joined 15:31 loren left, telex left 15:32 telex joined 15:33 tokuhiro_ joined
|Tux| travis is back to normal for perl6 \o/ 15:36
15:36 chenryn joined
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:36
15:38 tokuhiro_ left
zengargoyle Skarsnik: probably tempfile keeps :exclusive lock on file. 15:39
and cc checks for locks
or tries to acquire it's own and fails.
you could try getting the tempfile and handle and then releasing the lock on the handle. 15:41
15:43 ely-se left
zengargoyle but there's a race condition once you release the lock that some other tmpfile call *could* re-use the name. 15:45
thats why you get a tempdir and create your tempfiles under that tempdir 15:46
dalek p: 933a6f6 | (Pawel Murias)++ | src/vm/js/ (4 files):
[js] Pass test 82.

Implement nqp::decode/nqp::encode.
15:53
raydiak good *, #perl6 15:56
TimToady \o
raydiak \o TimToday...hope this morning finds you well :) 15:57
I'm happy to report that the bitrot has been scrubbed out of Inline::Lua, App::Pray, Image::PNG::Portable, and Math::ThreeD 15:58
colomon \o/ 16:00
16:01 isBEKaml joined
dalek c: 7ea3658 | (Lloyd Fournier)++ | doc/Language/functions.pod:
expanded multi docs

1. added X<declarator> to it 2. example for methods
16:02
osystem: d33d88c | ugexe++ | / (10 files):
ecosystem update: 1446652945
grondilu looks at github.com/perl6/nqp/commit/933a6f62b8 and his eyebrows raises in face of {01,02,...}
16:02 Ven left
ugexe oh shit 16:02
grondilu (in bash this is written {01..96})
ugexe a fucked up process just borked the ecosystem repo 16:03
RabidGravy oops
ugexe how do i uh fix that
16:04 rindolf left
jnthn ugexe: If that last commit is the screwup then jsut git revert d33d88c 16:05
dalek osystem: bd67196 | ugexe++ | / (10 files):
Revert "ecosystem update: 1446652945"

This reverts commit d33d88c6c45226076a1f2dd73925df227c23dd28.
16:07
RabidGravy yep that looks fine again 16:08
16:08 sprocket joined
sprocket hello, perl6! 16:08
ugexe thats what being one directory off gets you
[Coke] sprocket: good day. 16:09
PerlJam greetings sprocket
16:09 rindolf joined
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
can i just specify that the perl sub returns Int?
ilmari pmurias: note that encode should throw an exception on unencodable args 16:12
16:12 pullphinger left, softmoth joined
jnthn sprocket: It'll auto-box to an Int 16:12
ilmari pmurias: and I'm adding an encoderep op that takes a replacement string as a third argument 16:13
16:13 ChoHag left
sprocket jnthn: ah, great. so nothing more required past “returns int32” 16:13
pmurias ilmari: replacement for what?
ilmari pmurias: unencodable characters
jnthn sprocket: Yeah 16:14
ilmari $ ./perl6 -e 'say "skjærgårdsøl".encode("ascii", :replacement("?")).decode("ascii")'
skj?rg?rds?l
sprocket jnthn: great, thanks!
ilmari $ ./perl6 -e 'say "skjærgårdsøl".encode("ascii").decode("ascii")'
Error encoding ASCII string: could not encode codepoint 230
16:15 muraiki joined
pmurias what is that replacement option useful for? 16:15
skids Mimicing what other things do, I suspect. 16:16
pmurias skids: you mean mimicking? 16:17
16:17 yqt joined
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
$ ./perl6 -e 'say "skjærgårdsøl".encode("ascii", :replacement("XXX")).decode("ascii")'
skjXXXrgXXXrdsXXXl
RT#123673
rt.perl.org/Public/Bug/Display.html?id=123673 16:18
pmurias ilmari: what I mean is why would I ever want to use :replacement 16:19
dealing with corrupted data is the only thing that comes to my mind
16:21 diana_olhovik_ left
ilmari a more useful thing might be a callback to excape non-encodable chars 16:22
e.g. :replacement({ sprintf("\\x%x", $_) })
pmurias it's something that also came to my mind
or trying a different encoding 16:23
ilmari not for encoding
for _de_coding it might be more useful
I havent touched that
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 virtualsue left, ChoHag joined, domidumont left 16:31 pippo left 16:33 softmoth left, sprocket left
jdv79 why is clone not a multi? 16:34
TimToady
.oO("Who clones the cloner?")
16:35 softmoth joined
moritz the cloner, of course 16:35
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.
aha: 16:38
$ echo "3" | ./perl6-j
> ctxlexpad requires an operand with REPR ContextRef
jnthn jdv79: It not being multi doesn't stop you overriding the method?
TimToady wonders if we'll need submethod CLONE someday 16:39
jdv79 no but that's not as cool as MMD
[Coke] hopefully that helps someone with a clue. :)
jdv79 this is probably better as another name anyway 16:40
dalek p: 9464094 | (Pawel Murias)++ | src/vm/js/nqp-runtime/reprs.js:
[js] Fix bug.
16:44
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:47 chenryn left
ilmari m: say Buf.new(42) 16:50
camelia rakudo-moar 36a351: OUTPUT«Buf:0x<2a>␤»
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)␤»
ilmari it's the output that dies 16:54
m: use Test; is Buf.new(42), Buf.new(42)
camelia rakudo-moar 36a351: OUTPUT«ok 1 - ␤»
TimToady notes that on the modules page, the issues links are all spelled //issues rather than /issues 16:57
doesn't seem worth filling an issue...
dalek kudo/nom: 2de3c80 | jnthn++ | src/Perl6/ (2 files):
Ensure \r\n will never make the \n virtual.
16:59
kudo/nom: cc4d72c | jnthn++ | src/core/IO/Handle.pm:
Don't forget to set seps on special handles.
kudo/nom: 97047f0 | jnthn++ | src/core/ (5 files):
Change some \n that must be \x0A always.
17:02
kudo/nom: fd3927d | jnthn++ | src/core/Str.pm:
Fix .perl of \r\n grapheme.
17:03 softmoth left 17:06 lucasb left, dakkar left 17:08 domidumont joined
dalek ast: 3adc8b4 | jnthn++ | S17-procasync/print.t:
Harden test against \r\n being a grapheme.
17:08
jdv79 can an anon class do roles?
pink_mist would assume so 17:09
jdv79 m: role R {}; my $c = class does R {}
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␤»
llfourn m: say class :: does Stringy { };
camelia rakudo-moar 36a351: OUTPUT«(<anon|51208400>)␤»
jdv79 oh
dalek ast: 4abf58a | jnthn++ | integration/advent2011-day03.t:
This test needs \n to mean LF.
17:10
jdv79 i get crankiness with the:: even
oh, nm. need to move it out of itself to do tat 17:11
dalek ast: fb99197 | jnthn++ | S16-filehandles/io_in_for_loops.t:
Prepare test for Windows newline handling.
17:15
rl6-roast-data: e39fc58 | coke++ | / (9 files):
today (automated commit)
17:16
[Coke] jnthn, psch: did that context error on the jvm REPL give any clues?
irclog.perlgeek.de/perl6/2015-11-04#i_11483443 (that one) 17:20
17:29 virtualsue joined 17:34 tokuhiro_ joined
timotimo on the modules page the stars and issues links are pretty tiny if there's only one digit 17:37
17:39 tokuhiro_ left 17:40 ^elyse^ joined
PerlJam whoa. modules.perl6.org looks different 17:46
RabidGravy there HTTP::UserAgent all fixed 17:47
timotimo sure 17:48
RabidGravy well not "all" just the fallout from the \r\n thing
timotimo what's missing? SSL support or something? ;) 17:49
RabidGravy it doesn't make toast very well 17:50
timotimo damn, i want some toast now 17:51
llfourn I was working on a non-blocking toast implemenation the other day
dalek albot: 6e8f8ce | TimToady++ | build.pl:
force unlink of lock file
17:52
ilmari m: multi sub foo(True $val) { say $val}; foo(False)
camelia rakudo-moar fd3927: OUTPUT«False␤»
ilmari m: multi sub foo(True $val) { say $val}; foo(42)
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)␤»
ilmari how can I see what the where { ... } actually is?
llfourn ilmari: &foo.signature.params[0] will give you the param 17:53
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 …»
llfourn m: say :(True $).params[0].constraints[0]
camelia rakudo-moar fd3927: OUTPUT«all(True)␤»
17:55 isBEKaml left
llfourn m: say False ~~ all(True) 17:56
camelia rakudo-moar fd3927: OUTPUT«True␤»
llfourn ilmari: surely that's a bug?
ilmari m: say :(Int $).params[0].constraints[0]
camelia rakudo-moar fd3927: OUTPUT«all()␤»
17:56 abraxxa left
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␤»
ilmari m: say 42 ~~ all(True)
camelia rakudo-moar fd3927: OUTPUT«True␤»
ilmari ~~ True is always true?
TimToady yes 17:57
PerlJam m: say False ~~ True;
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␤»
llfourn so asking True if it's the same as false is also true...
ilmari m: multi sub foo(Bool:D $val where { $val }) { say $val }; foo(False)
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␤␤»
PerlJam Perl even tells you if you ask
ilmari should ~~ all(True) warn too?
PerlJam ilmari: I would have expected it to 17:58
llfourn True $ in sig should probably warn
PerlJam llfourn: "smart matching" is not the same as "same as" :)
pmurias nqp: my $mu; my $foo := $mu<foo>; say("lives");
17:58 camelia left
pmurias nqp-m: my $mu; my $foo := $mu<foo>; say("lives"); 17:58
llfourn m: say True == False # guess not :) 17:59
....erm
17:59 camelia joined
PerlJam btw, also note this ... 18:00
m: say True ~~ False;
llfourn m: say "I
m: say "i'm still here"
PerlJam camelia: are you alive?
TimToady waking up
camelia nqp-moarvm: OUTPUT«lives␤» 18:01
PerlJam m: say True ~~ False;
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…»
llfourn too many deep questions about truth
PerlJam heh
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 ChanServ sets mode: +v camelia
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
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…»
rakudo-moar fd3927: OUTPUT«i'm still here␤»
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␤»
llfourn m: say True == False # guess not :)
camelia rakudo-moar fd3927: OUTPUT«False␤»
PerlJam TimToady: shouldn't the message for ~~ False say "if you mean to test the topic for anti-truthiness, ...." ? 18:02
llfourn PerlJam: sometimes known as falseness 18:03
[Coke] PerlJam: -1
PerlJam [Coke]: too cute?
TimToady all boolean tests test truthiness, but some test it differently than others
18:04 pmurias left
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
llfourn m: subset Truthy of Bool where * == True; sub truthy (Truthy $) { 'win'.say }; truthy(True);
camelia rakudo-moar fd3927: OUTPUT«win␤»
llfourn m: subset Truthy of Bool where * == True; sub truthy (Truthy $) { 'win'.say }; truthy(False);
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
TimToady star-m: say "I'm out of date" 18:09
camelia star-m 2015.09: OUTPUT«I'm out of date␤»
TimToady moritz: I assume since there's no build script that star-m is only built by hand? 18:10
btw, it'd be helpful if I had an account on camelia's server, wherever it is... 18:11
peeking at things by cheating on the sandbox is fun, but kinda time-wasting... 18:12
timotimo it's on niner's server, so you'd want to ask nine about it 18:13
TimToady nine: ^^ :)
nine TimToady: privmsg 18:14
mrf evening #perl6
llfourn is there a way to test for truth? Like something that would pass if (...) but with ~~
timotimo "so" will do that
llfourn timotimo: but in a signature? 18:15
timotimo huh, "but with ~~"?
try something like sub foo($a where .so) { }
llfourn timotimo: good thinking :)
18:16 duncan_dmg left 18:18 sprocket joined
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'?␤␤»
llfourn m: subset Truthy of Bool:D where *.so; for True,False,42 { .say if $_ ~~ Truthy } # the actual answer I guess
camelia rakudo-moar fd3927: OUTPUT«True␤»
llfourn hmmm
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:24 yqt left
dalek kudo/curli: 457b560 | (Stefan Seifert)++ | src/core/CompUnit/Repository (2 files):
CompUnit::Repository::id: unique id for the repo and its upstream
18:29
18:32 tokuhiro_ joined 18:34 AlexDaniel joined 18:35 lichtkind joined 18:36 tokuhiro_ left
nine Do we really want to allow a META6.json's "provides" to point to a precomp file? 18:43
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 18:46 llfourn left
jdv79 shipping sans source is possible, right? so why mot? 18:47
*not
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
flussence it's okay with it, until the serialization format changes for whatever reason
nine jdv79: so if you want to ship binary only, you're better off shipping a complete CompUnit::Repository
jdv79 like glass
ah 18:49
good point. its super fragile.
nine Ok, I've convinced myself :) Removing the code that supported that
Removed code is debugged code ;)
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
nine The use case I see is shipping to the internal server farm. Not much use for the source code there.
flussence yeah, but you don't need perl6 to do that. rsync works just as well :) 18:51
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:52
jdv79 seems ok. meta shouldnt need to spec precomp. 18:53
ugexe precomp files have the paths hard coded i thought 18:55
jdv79 fragility to the extreme 18:56
18:56 spider-mario joined
sprocket what’s the proper way to do versioning on p6 modules? still via a $VERSION variable? 18:57
ugexe version in your meta is the simple answer 18:58
sprocket ah ok
timotimo hm. when to version the module and when to version classes and such?
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 :)
yoleaux nine: I'll pass your message to jnthn.
sprocket timotimo: yes, more of a module version for an entire package 18:59
jdv79 could be "perceived rationale". good design falls out like that a lot. 19:00
at least ime 19:01
19:02 vendethiel joined
lizmat good *, #perl6! 19:05
timotimo good lizmat, #perl6!
lizmat
.oO( whatever )
:-)
RabidGravy ah that'll be 304 *not* being a redirect then
lizmat TimToady: re CLONE: that made me wonder what happened to the COERCE idea 19:06
19:07 dha joined
lizmat tell jnthn perhaps .ords should return a List of List of codepoints 19:09
.tell jnthn perhaps .ords should return a List of List of codepoints
yoleaux lizmat: I'll pass your message to jnthn.
PerlJam wonders if he's the only one who hears Blondie in his head when he sees CALL-ME
virtualsue not now, no 19:10
19:11 firstdayonthejob joined
lizmat
.oO( why do I always think "Rapture" when I see Blondie ? )
19:11
19:12 leont joined 19:13 virtualsue left 19:14 virtualsue joined
TimToady
.oO(CALL-ME-ANYTHING but CALL-ME)
19:17
timotimo .o( why do i always think "bioshock" when i see "rapture"? ) 19:18
jdv79 rapture? now? 19:19
PerlJam maybe at christmas
[Coke] finds emacs -q --no-splash -f snake on his os x box.
timotimo wouldn't know
19:20 mattp_ left 19:21 mattp_ joined
TimToady lizmat: I think COERCE is somwhere down in jnthn's list of nefarious plans 19:23
lizmat ah, ok :-) as long as we don't forget :-) 19:24
19:26 espadrine left
timotimo there's still gotta be something clever for respecting a user's enhanced operators in built-ins 19:27
19:28 yqt joined
nine What exactly is $*CTXSAVE? It seems to only ever be written to. 19:30
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
it's read from in NQP, iirc
nine hoelzro: what is it supposed to contain? 0 or <something>?
hoelzro that or an object, it seems 19:32
nine Ah, an object that can ctxsave 19:33
hoelzro have a look at HLL::Compiler; it does some manipulation on it
19:33 samb1 left
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:36 sprocket left 19:38 synbot6 joined
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
19:38 tokuhiro_ joined
lizmat ord() returns one or more ints to represent the grapheme 19:39
that way you should be able to roundtrip chr/ord again
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?
lizmat I think that would be the best transition from the ASCII to the grapheme world
19:43 tokuhiro_ left
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
lizmat TimToady: but is that code then not broken already ?
in a grapheme world ? 19:45
I mean, x.ord == 42 will match a *lot* of graphemes
TimToady a list's numeric value is its length
19:45 samb1 joined
dalek kudo/curli: 0dd70f6 | (Stefan Seifert)++ | src/core/CompUnit (2 files):
Move $*CTXSAVE related bits from CompUnit to CompUnit::Loader
19:46
lizmat ok, then maybe we should give it a different name and deprecate .ord ?
TimToady I'm fine with ord just returning the base char, since it's generally only used on simple things
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
lizmat ok
jdv79 are fancy chars the minority?
TimToady they ain't the silent majority, fershure 19:48
dalek kudo/nom: 14e11ea | lizmat++ | src/core/Str.pm:
Simplify .ords, no special casing .ord
mrf .tell FROGGS for some reason 1^..10 doesn't work in a codeblock as a quantifier. I have no idea why
yoleaux mrf: I'll pass your message to FROGGS.
dalek kudo/curli: 7669a39 | (Stefan Seifert)++ | src/core/CompUnit/ (4 files):
Replace precomp handling in Repository::FileSystem by $precomp.load

CompUnit::PrecompilationRepository does not yet handle the actual loading yet. But once it does, CompUnit::Repository::FileSystem should be ready for it. This also excercises the PrecompilationStore::File code for the first time necessitating some bug fixes.
19:49
TimToady lunch & 19:50
19:53 espadrine joined, sprocket joined 19:58 softmoth joined
dalek kudo/nom: df6bb2c | lizmat++ | src/core/Cool.pm:
Make Str.indices 10% faster
20:00
RabidGravy beer! 20:03
dalek ast: a2912d0 | (Mike Francis)++ | S05-metasyntax/repeat.t:
Add spectests for 1^..^10 non inclusive range quantifiers in regexs
ast: 04e775c | (Zoffix Znet)++ | S05-metasyntax/repeat.t:
Merge pull request #73 from ungrim97/feature/non_inc_range_quantifier

Add spectests for 1^..^10 non inclusive range quantifiers in regexs
c: cbfb05c | lizmat++ | doc/Type/Str.pod:
Document Str.contains
20:05
Hotkeys beer? 20:06
lizmat
.oO( only if it is free )
20:07
nine beer as in free! 20:08
RabidGravy a nice bottle of Gadd's No. 5 tp be precise
20:08 darutoko left
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>
but I can barely stay awake
jdv79 almost worth it. id pay 12 again.
20:11 geraud joined 20:16 domidumont left 20:18 [Sno] left 20:23 zakharyas joined 20:26 llfourn joined 20:36 rindolf left 20:39 ^elyse^ left 20:42 zakharyas left
dalek c: 8475656 | lizmat++ | doc/Type/Str.pod:
Better description of .ord/.ords
20:43
20:46 ollej joined 20:54 mr-foobar left 20:55 mattp_ left 20:57 _mg_ left, mattp_ joined, mr-foobar joined
RabidGravy Get Perlonized! www.residentadvisor.net/news.aspx?id=32065 21:13
dha You first. 21:17
21:17 marks6i joined
RabidGravy I'll leave it to the Berlin chapter 21:17
dha, you good matey? 21:18
21:18 marks6i left
dha Good in what sense? 21:18
RabidGravy in any sense you want :) 21:19
dha In that case, I guess I'm good. :-) 21:20
Need to figure out my dates for going to London, though.
RabidGravy plans for world domination going well, paased your advanced exorcism exam, raised a herd of magnificent alpacas
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 :)
Skarsnik PerlJam, Could be instering to only a name yes :) 21:24
21:25 firstdayonthejob left 21:32 kaare_ left
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
dha Ok, then. :-)
llfourn dha: in situations like that I use panda look + run the tests manually 21:35
dha Ah. I have never had occasion to use panda look. I will look at look... 21:36
llfourn it's quite handy!
dha where is it documented? 21:38
(is it documented? :-)
llfourn panda --help ;)
dha *nod* 21:39
21:40 tokuhiro_ joined
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 21:44 Peter_R joined, tokuhiro_ left
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
dha yes.
llfourn dha: either one :)
dha Pretty much as recent as possible, in fact.
lizmat then the failure could be fallout of the CRLF -> 1 grapheme change ?
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.
RabidGravy I spent a lot of today fixing HTTP::UserAgent
dha FWIW, TAP::Harness is also having failures.
Ah. So this may be a somewhat general issue with this change. 21:48
llfourn upgrades to latest rakudo to test
21:49 bjz left
RabidGravy HTTP clients may be particularly afflicted as matching \r\n in certain ways is affected 21:49
llfourn yes I also get tests failing in latest rakudo :) 21:50
21:50 cognominal joined 21:51 ShimmerFairy left
llfourn err but that's probably because panda hasn't finished upgrading yet 21:51
dha Oh good, it's not just me, then. :-)
RabidGravy no not just you 21:52
dalek kudo/nom: 183d699 | lizmat++ | src/core/Cool.pm:
Remove superfluous candidates + better pos checks

Affected: starts-with, ends-with, substr-eq, contains, indices
21:53 Actualeyes left
RabidGravy I'd look but I'm a bit \r\n graphemed out 21:54
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:56 nightfrog left
llfourn dha: I'm getting a hang on get-unsized.t? 21:57
dha yep.
RabidGravy tadzik, I have a question for you while we're both here
tadzik RabidGravy: shoot
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
21:58 Ven joined
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
I don't see why not :)
22:01 TEttinger joined, nightfrog joined
tadzik if we specify it clearly 22:01
RabidGravy for things like Version and DateTime
22:01 spider-mario left
RabidGravy where the "natural" representation is different to the attributes 22:02
22:02 Ven left
tadzik right 22:03
makes perfect sense
22:03 skids left
RabidGravy but also custom types which may have constructors that take a single value 22:03
22:03 ShimmerFairy joined 22:04 xfix left 22:05 nightfrog left
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: github.com/cosimo/perl6-lwp-simple/issues/64 :)
dha That works. :-) 22:07
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:11
dalek kudo/curli: 25e99f0 | (Stefan Seifert)++ | src/core/CompUnit (4 files):
Implement actual loading of a precomp file from the store

CompUnit::Repository::FileSystem now loads precomp files from the PrecompilationRepository. It no longer needs CompUnit::load for that. Tested by manual installation of a precomp file.
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
dha RabidGravy - cool.
nine tadzik: pong
flussence attempts to use github's /usr/bin/hub without screwing up horribly like last time
llfourn RabidGravy: +1
22:18 Ven joined, nightfrog joined
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?
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 :)
RabidGravy getting at PRs from the command line might be useful, then manually merge 22:22
22:24 firstdayonthejob joined
nine tadzik: ok, I'm off to bed now. Please file an issue if there's anything else 22:24
tadzik alright 22:25
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:27
RabidGravy in that case you could probably make something better yourself 22:29
flussence if I start doing things like that I'll never be done :) 22:31
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...
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:33
timotimo i've seen it cope with that no problem, leont 22:35
you're supplying --backends, yeah?
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.
timotimo i think without --backends, it'll look for anything it can find, and perhaps then it gets confused 22:37
dha ALL YAK ALL THE TIME 22:41
leont Yeah, that was my conclusion, seems to work fine with explicit --backends 22:45
22:45 cognominal left 22:46 virtualsue left 22:47 dha left 22:49 nightfrog left, Ven left 22:55 nightfrog joined 22:56 muraiki left
RabidGravy dha, llfourn despite what the test says now rakudo.org returns chunked data 23:04
23:07 xenu left 23:08 xenu joined, lichtkind left
RabidGravy chunked parsing is cocked up 23:10
23:10 virtualsue joined
flussence probably because reading the chunk length relies on .get working with \r\n :/ 23:10
23:11 sprocket left, lichtkind joined
ugexe net::http parses rakudo.org chunked data 23:13
RabidGravy yeah, H::UA does as well 23:14
fixed it but broke a bunch more
23:14 vendethiel left
RabidGravy there's a service on w3c.org that serves up chunked-data 23:15
23:19 virtualsue left
lizmat good night, #perl6! 23:20
RabidGravy harr! 23:23
for beer reference, I am now drinking Amarillo One Hop from the Wantsum Brewery 23:24
23:25 kmel joined
RabidGravy it's a Kent green hop ale, made bizarrely from an imported US hop variety 23:26
anyway LWP::Simple fixorificated
zengargoyle flussence: you might try github.com/sociomantic/git-hub instead of hub. does sorta similar things. 23:28
BooK_ ab5tract_: ping 23:31
RabidGravy llfourn, dha sent PR to fix LWP::Simple - I think the chunk parsing might need some love though
BooK, baby!
zengargoyle git-hub, hub, and git-spindle are on my list of things to try for github cli goodness. 23:32
BooK hey RabidGravy!
RabidGravy there'll be another new hotness along on the vcs front before long mark my words ;-)
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?
RabidGravy about that
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
23:35 skids joined
flussence hopefully I'll get vaguely competent at it before it becomes obsolete :D 23:35
23:38 eliasr joined, osto joined
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:39
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:40
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:41
RabidGravy or hack your way into a deeper hole ;-) 23:43
23:44 Skarsnik left
RabidGravy right back in the day, I've manually edited RCS ,v files 23:44
BooK mmm, I did that too 23:45
RabidGravy BooK++ # old skool
BooK also fixed svn repos by doing the dump / load dance and munging the stream mid-air
23:47 Actualeyes joined 23:49 BenGoldberg joined 23:51 Actualeyes left
osto Hello. I have an interesting question about grammars. 23:51
Let's say I have a token to match a general (but very simple) XML element: 23:53
token element { "<" <name> "> <contents> "</" <name> ">" }
And I want to create another token to match some specific element:
token specific { "<specific>" <specific-contents> "</specific>" } 23:54
Is there a way to do something like this to reuse the basic element structure?
e.g. token specific-element is element { <$name>&="element"; <contents>&=<specific-element>; }
ugexe proto token tag {*}; token tag:sym<body> { <sym> } token tag:sym<head> { <sym > } 23:55
osto tag:sym<body> { <sym> } only matches "body", not "<body>...</body>" 23:57
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
BooK is there a tutorial about grammars, btw? 23:59