»ö« 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:1Actually 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:1Actually 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:1Actually 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/DWPflBgYgMVariable '$q' is not declaredat /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/MtgnIq2cCKVariable '$q' is not declaredat /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/1UAFId9mrUMissing assignment operatorat /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/Jue1dN78yiMissing assignment operatorat /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 YAHIRAGANA LETTER SMALL TUHIRAGANA LETTER TAFULLWIDTH 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/TCVOcHrc7SStrange 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/vSa168FiirMissing blockat /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_0iUndeclared 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/gyKB19X57dPrivate method call to foo must be fully qualified with the package containing the methodat /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/zIeI6rQq2hCannot call private method 'foo' on package A because it does not trust GLOBALat /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/l32VSSihf4Variable '%h' is not declaredat /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_j2tiVariable '%h' is not declaredat /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«%hashTrue» | ||
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«979899» | ||
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/fu07ZnIEgQAn exception occurred while evaluating a BEGINat /tmp/fu07ZnIEgQ:1Exception 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_0Undeclared 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 1Cannot 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/OChhMi5ZD6Unable to parse class definitionat /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_LCalling 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 TrueFalseTrue» | ||
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 directoryServer 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/pK5pVc4I55Unable 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_rZrPvUndeclared 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«True42» | ||
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 |