»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:07 jnap left 00:12 FROGGS left, Psyche^_ joined 00:13 arlinius left, FROGGS joined 00:16 benabik joined, Psyche^ left 00:29 FROGGS left 00:38 FROGGS joined 00:46 btyler left 00:47 arlinius joined 00:51 benabik left 00:56 arlinius left 00:58 benabik joined 01:00 FROGGS left 01:08 dmol left, EvanTeitelman joined 01:10 EvanTeitelman left 01:21 jeffreykegler joined 01:22 benabik left 01:24 jeffreykegler left 01:25 arlinius joined 01:35 benabik joined 01:39 btyler joined 01:47 PacoAir left 01:48 abnorman left 01:59 panchiniak_ joined 02:15 panchiniak_ left 02:16 geekosaur left 02:17 geekosaur joined 02:30 Mouq joined 02:35 EvanTeitelman joined 03:06 pernatiy left 03:08 EvanTeitelman left 03:18 berekuk left 03:23 Mouq left 03:27 preflex left 03:28 preflex_ joined, ChanServ sets mode: +v preflex_, preflex_ is now known as preflex 03:37 Fatalnix left, Fatalnix joined, jeffreykegler joined 03:41 FROGGS joined 03:48 jeffreykegler left 03:53 pecastro_ joined, FROGGS left 03:54 pecastro left 03:57 BenGoldberg joined, bloonix left
BenGoldberg rn: ((),).elems.say 03:59
camelia niecza v24-95-ga6d4c5f: OUTPUT«1␤»
..rakudo b55712: OUTPUT«0␤»
BenGoldberg rn: say ((),) == () 04:02
camelia niecza v24-95-ga6d4c5f: OUTPUT«False␤»
..rakudo b55712: OUTPUT«True␤»
04:12 FROGGS joined 04:22 abnorman joined 04:41 thou left 04:55 btyler left 04:59 gabriel left, gabriel joined 05:00 avuserow joined 05:03 SamuraiJack__ joined, kaare_ joined 05:13 FROGGS left 05:17 FROGGS joined
lue .tell masak please don't do anything mathematically interesting like p6cc2011::t4 again. My mind is mulling it over *again*. 05:25
yoleaux lue: I'll pass your message to masak.
lue .tell masak :) 05:26
yoleaux lue: I'll pass your message to masak.
05:32 agre joined 05:51 SamuraiJack joined 05:54 SamuraiJack__ left 06:02 abnorman left 06:21 rindolf joined 06:23 BenGoldberg left 06:24 logie left 06:25 logie joined 06:39 iravan_ joined 06:52 logie left
jercos So say you have a buf8, $foo, is there a clean way to reverse :256[$foo.list]? Obviously one can effectively get the hexdump of the original buf with .base(16), but I don't see a way to create an array out of an int of a given base without manual repeated division of a string, which while functional, is also a tad awkward. 07:05
-> $x is copy {gather repeat {take $x mod 256} while $x div= 256} for example, a practical example of a function that performs the given task. 07:11
though that might be a bit backwards. erm. 07:12
And apparently 4850761783423467784 mod 256 = 264, so I may be misunderstanding the use of mod vs. % 07:14
07:39 domidumont joined
masak morning, #perl6 07:40
yoleaux 05:25Z <lue> masak: please don't do anything mathematically interesting like p6cc2011::t4 again. My mind is mulling it over *again*.
05:26Z <lue> masak: :)
masak lue: heh :)
hello from a train! \o/
07:43 domidumont left 07:44 domidumont joined 08:06 iravan_ left 08:37 denis_boyun joined
masak this somehow rings a bell: blog.ircmaxell.com/2013/09/rambling...rnals.html 08:41
the HN discussion is interesting, too: news.ycombinator.com/item?id=6341785 08:42
08:51 dmol joined 09:00 silentc joined
silentc execuse me,which language is rakudo written by? 09:02
masak a lot of it is Perl 6.
or a subset-ish of Perl 6, called "Not Quite Perl", NQP.
silentc: some of it is backen-specific, like C on Parrot, or Java on the JVM. 09:03
backend*
r: say 4850761783423467784 mod 256
camelia rakudo b55712: OUTPUT«264␤»
masak what the flying... o.O 09:04
silentc masak: thanks,i get some hints.
masak submits rakudobug
silentc: I recommend one of jnthn recent talks for more details.
jnthn++'s*
moritz \o 09:21
09:22 silentc left 09:23 Rotwang joined
moritz builds and spectests donaldh++'s pull request for sockets on JVM 09:26
.tell donaldh if you can, please fill out and submit www.perlfoundation.org/contributor_..._agreement (it's a prerequisite for getting a rakudo commit bit) 09:27
yoleaux moritz: I'll pass your message to donaldh.
09:27 kivutar joined 09:39 SamuraiJack_ joined
colomon nr: say 4850761783423467784 mod 256 09:41
camelia niecza v24-95-ga6d4c5f: OUTPUT«8␤»
..rakudo b55712: OUTPUT«264␤»
colomon nr: say 4850761783423467784 % 256
camelia rakudo b55712, niecza v24-95-ga6d4c5f: OUTPUT«8␤»
jnthn I was like, I get Rakudo on JVM gets it right. Alas... 09:42
> say 4850761783423467784 mod 256
520
wtf :)
colomon !!!!!
09:42 SamuraiJack left
jnthn So something is consistently wrong somewhere... 09:42
colomon so many issues to fix at 5:43 AM... 09:43
jnthn huh
There's only one infix:<mod>, defined in Real. There's no Int overload. Which surprises me a little
It looks like this:
multi sub infix:<mod>(Real $a, Real $b) { $a - ($a.Bridge.Int div $b.Bridge.Int) * $b;
}
09:44 xenoterracide left
colomon nr: say 4850761783423467784 div 256 09:44
camelia rakudo b55712, niecza v24-95-ga6d4c5f: OUTPUT«18948288216497921␤»
colomon …. that kind of makes things look worse, not better
moritz jnthn: so adding an int infix:<mod> would help, it seems 09:45
colomon no!
dalek kudo/nom: f181354 | tadzik++ | / (3 files):
Add a crude IO::Socket(::INET) port to JVM, add to build
kudo/nom: e485dfc | tadzik++ | src/vm/jvm/core/IO/Socket.pm:
Unbust recv() and read(), a bit
kudo/nom: 13d6f13 | (Donald Hunter)++ | / (6 files):
Merge jvm socket code into main impl and fix bugs
kudo/nom: 9f174c0 | (Donald Hunter)++ | tools/build/NQP_REVISION:
Bump NQP_REVISION to get sockets.
kudo/nom: 0fb3b20 | moritz++ | / (5 files):
Merge branch 'donaldh-sockets' of github.com/donaldh/rakudo into nom
colomon rn: say (4850761783423467784 div 256) * 256
jnthn moritz: um, maybe performance wise, but I@m quite sure the Real one should not give the wrong answer ;-)
camelia rakudo b55712, niecza v24-95-ga6d4c5f: OUTPUT«4850761783423467776␤»
colomon rn: say 4850761783423467784 - (4850761783423467784 div 256) * 256 09:46
camelia rakudo b55712, niecza v24-95-ga6d4c5f: OUTPUT«8␤»
moritz jnthn: well, as long as it goes through Num (which bridge does), it's going to give the wrong answer :-/
colomon moritz: errr, what?
jnthn rn: say 4850761783423467784 - (4850761783423467784.Bridge.Int div 256.Bridge.Int) * 256 09:47
camelia rakudo b55712, niecza v24-95-ga6d4c5f: OUTPUT«264␤»
jnthn ;)
colomon :( 09:48
jnthn So I guess Niecza gets it right by virtue of defining mod differently or having an Int candidate for it...
r: say 4850761783423467784.Bridge.WHAT 09:49
camelia rakudo b55712: OUTPUT«(Num)␤»
jnthn n: say 4850761783423467784.Bridge.WHAT
camelia niecza v24-95-ga6d4c5f: OUTPUT«Num()␤»
colomon defines mod differently
jnthn k
09:50 xenoterracide joined
masak "differently" is a nice euphemism for it, i guess. :P 09:50
jnthn will leave it to the mathematicaler folks than him to work out the desired solution :)
masak: It looks to me like it just boils down to floating point precision limitation... 09:51
But yeah, going via floating point when we have two big int inputs is probably a bad idea ;) 09:52
colomon is pondering
"Dispatches to the infix:<mod> multi most appropriate to the operand types, returning a value of the same type. Not coercive, so fails on differing types." 09:53
so Real.mod is completely wrong
09:54 mtk left
jnthn
.oO( Needs mod-ifications... )
09:54
moritz r: say 4850761783423467784 % 256 09:55
camelia rakudo b55712: OUTPUT«8␤»
09:56 berekuk joined 09:57 mtk joined 09:58 xenoterracide left
colomon there are only five tests for infix:<mod> in the spec, and rakudo parrot has two of them to-do'd. :( 09:59
I've got this fix.
moritz nr: say (-15) mod 8 10:01
camelia niecza v24-95-ga6d4c5f: OUTPUT«1␤»
..rakudo b55712: OUTPUT«-7␤»
moritz nr: say (-15) div 8
camelia niecza v24-95-ga6d4c5f: OUTPUT«-2␤» 10:02
..rakudo b55712: OUTPUT«-1␤»
10:06 berekuk left 10:08 berekuk joined
dalek ast: 2e0bf7c | (Solomon Foster)++ | S03-operators/arith.t:
Add bigint mod test that Rakudo was failing.
10:15
10:16 donaldh joined, berekuk left
donaldh moritz++ for merging the socket work by me and tadzik++ 10:19
yoleaux 09:27Z <moritz> donaldh: if you can, please fill out and submit www.perlfoundation.org/contributor_..._agreement (it's a prerequisite for getting a rakudo commit bit)
moritz donaldh: are you aware that the sockets tests are skipped on the JVM? 10:22
donaldh Shouldn't be. I commited a change to the spectests yesterday
meant to anywah
moritz maybe you committed, but didn't push? 10:23
donaldh hmmm 10:24
jnthn ooh, I have an unpushed Rakudo commit from yesterday... :) 10:25
dalek kudo/nom: aa657cc | jnthn++ | src/Perl6/Grammar.nqp:
Various bits of sig parsing alignment with STD.
moritz SKIP Operating system not yet supported # is what I get for every test 10:26
donaldh moritz: what OS ?
moritz $ ./perl6 -e 'say $*OS' 10:27
Linux
heh
when 'linux' {
colomon EPUSHESTOFAST
*TOO
tadzik oh yes
I stumbled upon that too
donaldh my fix to add Mac OS X must break other OS.
tadzik I wonder if $*OS should be standarized somehow :)
Linux comes straight from JVM land
donaldh So does Mac OS X 10:28
jnthn It's Windows on Windows.
donaldh yeah, we're getting a proliferation of OS names :-/
jnthn We probably want to canonize 10:29
uh, canonicalize...
moritz cannibalize 10:30
donaldh Good idea to canonicalize. The parrot names are very specific too, e.g. darwin
10:31 denis_boyun left
jnthn I wonder if they match Perl 5's $^O... 10:31
moritz wouldn't surprise me
dalek ast: ac4e4e3 | moritz++ | S32-io/IO-Socket-INET.t:
run socket tests on rakudo.jvm/linux
10:32
donaldh moritz++
moritz iirc in the backlog somebody wanted to compile a list of commonly used OSses/platforms/kernels/whatever
does anybody know who that was, and if it got anywhere?
donaldh CLA by postal service. How quaint ;-) 10:33
masak donaldh: IIRC you can fax it, too ;) 10:34
colomon `you can also use pony express
jnthn Fax? Fax?!
Does that still exist? :)
moritz faksimile
jnthn I know, we had a machine at home when I was a kid... :)
dalek kudo/nom: a13cec9 | (Solomon Foster)++ | src/core/Real.pm:
infix:<mod> should not coerce.
10:35
moritz colomon++
10:36 sqirrel joined
masak fax machines are a 20th century technology based on push-style RPC photocopying. needless to say, this scheme was highly vulnerable to abuse, often only limited by the amount of paper available to the receiver device. 10:36
authentication mechanisms were minimal or nonexistent. 10:37
moritz and yet traditional business folk trust them more than email
masak I guess the physical substrate conveys a feeling of safety for some people. 10:38
10:38 sqirrel left
moritz they should just print their emails :-) 10:39
masak many probably do :/
moritz kind of likes that vim's command for printing stuff is ":hardcopy"
10:41 donaldh left
masak likes the insight that in Git's model, "hard links" are indistinguishable from just making a straight copy to some other file! 10:41
moritz erm, no. 10:42
if you do a hard link, and modify one of them, the other auomagically modifies too
that doesn't happen in git if you do a copy
masak oh, I meant in terms of storage. 10:43
moritz behavior is the new storage!
erm, wait. :-)
bonsaikitten oh, fax ... that is still mandatory because e.g. email isn't legally binding in many jurisdictions
can't cancel a contract by email - can do it by fax
(and thus email-to-fax gateways were born. mind exploderation!) 10:44
masak moritz: as in, Git doesn't "understand" the difference between "this is a copied file" and "this is a hard-linked file"
bonsaikitten: email-to-fax. it's the law. 10:45
jnthn I think there's even email to snail-mail gateways these days :)
bonsaikitten masak: yeah... that one is a bit of a mind twister
masak: and ironically many places receive faxes electronically only, so ... aargh. the fax is legally in a quantum superposition of being valid and not! 10:46
moritz even has an email-to-email gateway!
bonsaikitten I do have some amusing ideas for using snail mail, fax and email 10:47
I wonder how many people I can make upset in a day!
jnthn nqp: for <a 1> { say(($_ ~~ /<digit>?)<digit>/) } 10:57
camelia nqp: OUTPUT«Unable to parse expression in blockoid; couldn't find final '}' at line 2, near "say(($_ ~~"␤current instr.: 'panic' pc 14693 (src/stage2/gen/NQPHLL.pir:5223) (src/stage2/gen/NQPHLL.nqp:279)␤»
jnthn nqp: for <a 1> { say(($_ ~~ /<digit>?)<digit>/) } }
camelia nqp: OUTPUT«Unable to parse expression in blockoid; couldn't find final '}' at line 2, near "say(($_ ~~"␤current instr.: 'panic' pc 14693 (src/stage2/gen/NQPHLL.pir:5223) (src/stage2/gen/NQPHLL.nqp:279)␤»
jnthn nqp: for <a 1> { say(($_ ~~ /<digit>?/)<digit>) } 10:58
camelia nqp: OUTPUT«␤1␤»
jnthn nqp: for <a 1> { say(pir::typeof__SP(($_ ~~ /<digit>?/)<digit>)) }
camelia nqp: OUTPUT«NQPMu␤NQPMatch␤»
colomon t/spec/S32-io/other.rakudo.parrot (Wstat: 0 Tests: 60 Failed: 0) 11:09
TODO passed: 1-60
!!
jnthn I saw that :) 11:11
11:14 PacoAir joined 11:19 spider-mario joined 11:32 pmurias joined
dalek kudo-js: d9f65fa | (Pawel Murias)++ | bin/process-qregex-tests:
bin/process-qregex-tests be able to mangle rx_subrules
11:33
kudo-js: 754278e | (Pawel Murias)++ | / (3 files):
Pass rx_subrules.

Fix a bug in subrule, \r is now recognized as part of the control cclass.
masak rn: knowhow Foo { say "This is user-exposed? Wow." }
camelia niecza v24-95-ga6d4c5f: OUTPUT«===SORRY!===␤␤knowhow at /tmp/N_Dxr1pNly line 1:␤------> knowhow Foo ⏏{ say "This is user-exposed? Wow." }␤␤Unable to resolve method name in type Any at /tmp/N_Dxr1pNly line 1:␤------> knowhow Foo ⏏{ say …
..rakudo a13cec: OUTPUT«This is user-exposed? Wow.␤»
11:33 hummeleBop joined
jnthn std: knowhow Foo { say "This is user-exposed? Wow." } 11:34
camelia std 7c17586: OUTPUT«ok 00:00 43m␤»
11:35 denis_boyun joined, berekuk joined
tadzik hrm, wasn't there Devel::Trace in core rakudo? 11:36
11:40 berekuk left
tadzik gist.github.com/tadzik/6474908 blocks panda on jvm 11:45
if you inline indir inside batman, then it works
GlitchMr rn: say 3 div 2
camelia rakudo a13cec, niecza v24-95-ga6d4c5f: OUTPUT«1␤»
GlitchMr rn: say 3.5 div 2.5
camelia niecza v24-95-ga6d4c5f: OUTPUT«1␤» 11:46
..rakudo a13cec: OUTPUT«Cannot call 'infix:<div>'; none of these signatures match:␤:(Int:D \a, Int:D \b)␤:(int $a, int $b)␤ in sub infix:<div> at src/gen/CORE.setting:3663␤ in block at /tmp/mm8LG4nhQf:1␤␤»
GlitchMr rn: say 3.5 mod 2.5
camelia rakudo a13cec: OUTPUT«Cannot call 'infix:<div>'; none of these signatures match:␤:(Int:D \a, Int:D \b)␤:(int $a, int $b)␤ in sub infix:<div> at src/gen/CORE.setting:3663␤ in sub infix:<mod> at src/gen/CORE.setting:3873␤ in block at /tmp/wGMi9cgyhL:1␤␤»
..niecza v24-95-ga6d4c5f: OUTPUT«1␤»
GlitchMr n: say 3.7 mod 2.3 11:47
camelia niecza v24-95-ga6d4c5f: OUTPUT«1␤»
GlitchMr n: say 3.7 - (3.7 mod 2.3) * 2.3
camelia niecza v24-95-ga6d4c5f: OUTPUT«1.4␤»
11:51 berekuk joined 11:56 pernatiy joined 12:02 pernatiy left
colomon n: say 3.7 - (3.7 div 2.3) * 2.3 12:05
camelia niecza v24-95-ga6d4c5f: OUTPUT«1.4␤»
colomon n: say 3.7 - (3.7 / 2.3) * 2.3
camelia niecza v24-95-ga6d4c5f: OUTPUT«0␤»
12:07 isBEKaml joined
colomon n: say 3.7 - (3.7 / 2.3).floor * 2.3 12:17
camelia niecza v24-95-ga6d4c5f: OUTPUT«1.4␤»
12:24 pernatiy joined 12:29 arlinius left 12:30 isBEKaml left
pmurias jnthn: why is nqp build by concatenating stuff into huge file before compiling? 12:36
jnthn pmurias: typically either 'cus we want the things in there in the same lexical scope, or to keep the number of modules to load down. 12:37
pmurias: Splitting it into files just makes development/finding stuff a little easier.
12:45 SamuraiJack__ joined
GlitchMr prn: say [\+](1..*)[^15] 12:47
camelia pugs: OUTPUT«(timeout)»
..rakudo a13cec, niecza v24-95-ga6d4c5f: OUTPUT«1 3 6 10 15 21 28 36 45 55 66 78 91 105 120␤»
GlitchMr prn: say [+] [\+](1..*)[^15] 12:48
12:48 SamuraiJack_ left
camelia pugs: OUTPUT«(timeout)» 12:48
..rakudo a13cec, niecza v24-95-ga6d4c5f: OUTPUT«680␤»
12:57 denis_boyun left
GlitchMr prn: multi maximum(*@[]) { die "maximum of empty list" }; multi maximum(*@[$x]) { $x }; multi maximum(*@[$x, $y]) { $x after $y ?? $x !! $y }; multi maximum(*@array) { reduce &maximum, @array }; say maximum <c e d a b> 13:08
camelia niecza v24-95-ga6d4c5f: OUTPUT«===SORRY!===␤␤Variable $x is not predeclared at /tmp/lJnODSto1a line 1:␤------> empty list" }; multi maximum(*@[$x]) { ⏏$x }; multi maximum(*@[$x, $y]) { $x aft␤␤Variable $x is not predeclared at /tmp/lJnODSto1a line 1…
..rakudo a13cec: OUTPUT«e␤»
..pugs: OUTPUT«*** ␤ Unexpected "[])"␤ expecting parameter name␤ at /tmp/z_HazhLHV8 line 1, column 17␤»
13:16 SamuraiJack joined 13:17 berekuk left 13:18 btyler joined 13:20 SamuraiJack__ left 13:27 berekuk joined 13:30 arlinius joined 13:35 agre left 13:37 rindolf left 13:43 domidumont left 13:55 abnorman joined 14:05 abnorman left 14:32 rindolf joined 14:46 domidumont joined 15:02 agre joined
timotimo japhb__: ribasushi linked me to this perl5 module metacpan.org/module/Dumbbench::Ins...d#SYNOPSIS which is apparently pretty darn good at getting precise measurements with dumbbench even from perl6 tasks; do you think we can plug it into perl6-bench? timeall already is a perl5 script anyway 15:08
15:25 zakharyas joined 15:28 sqirrel joined 15:38 domidumont left 15:39 xinming_ joined 15:43 xinming left 15:45 arlinius left 15:47 panchiniak_ joined
TimToady kinda wishes people wouldn't just ignore everything he's said about the $*OS, like the fact that it is in the same category as .length and should not exist... 15:47
s/,/ variable,/ 15:48
FROGGS TimToady: somebody should give you a commit bit :P 15:55
timotimo if $*OS is gone, how do you even ... 15:57
FROGGS I didn't remove/change it yet, I'd first want to know which module breaks
16:03 domidumont joined 16:06 ajr joined, ajr is now known as Guest34070 16:07 Guest34070 is now known as ajr_ 16:13 kaare__ joined 16:16 arlinius joined, kaare_ left
dalek kudo-js: b3f5bdf | (Pawel Murias)++ | src/QAST/Compiler/JavaScript.nqp:
Fix various things needed to compile NQP::Grammar.

Expand list of reserved javascript identifiers. Mangle much more characters. Implement the pass anchor. Implement the dba rxsubtype.
16:16
16:21 pecastro joined 16:22 pecastro_ left
pmurias TimToady: we need to decide what info is stored in $*DISTRO? is it supposed to be a string name or an object? 16:30
FROGGS pmurias: an object 16:34
pmurias: see ethercalc.org/wrwsbhvuim as a first sketch 16:35
16:35 panchiniak_ left
moritz www.wolframalpha.com/input/?i=word+...of+weekend # I didn't know it was such a recent invention 16:42
huf maybe they just had sundays before that? 16:47
or perhaps it was the week that never ends, yes it goes on and on my friend 16:48
(some people started working not knowing what it was, and they'll continue working just because .... ) 16:49
pmurias FROGGS: the vm and kernel will be attributes of $*DISTRO? 16:52
FROGGS: like $*DISTRO.kernel and $*DISTRO.vm?
FROGGS: if so seems resonable to me 17:04
NQP::Grammar compiled to javascript parses "nqp::say(1)" ;) 17:10
timotimo neato :) 17:11
17:15 sqirrel left, agre left
moritz \o/ 17:22
17:25 sizz joined 17:26 agre joined
dalek kudo-js: 0581f67 | (Pawel Murias)++ | runtime/ctx.js:
If we don't have any registered CATCH blocks print the exception message and exit.
17:28
kudo-js: bddb40a | (Pawel Murias)++ | runtime.js:
Until we properly wrap arrays insert a hack into push.
kudo-js: 41ec339 | (Pawel Murias)++ | runtime.js:
Stub serialization ops untill we implement them.

  (so we can attempt to compile NQP::Grammar to javascript)
kudo-js: d4de0dd | (Pawel Murias)++ | runtime.js:
Fix small bug.
17:29
kudo-js: 70b2530 | (Pawel Murias)++ | / (3 files):
Fix NQPCursor.dump. Pass test 80. Add passing test 79 into run_tests.
dagurval r: my int $a = 0; $a++ 17:31
camelia rakudo a13cec: OUTPUT«Cannot modify an immutable value␤ in sub postfix:<++> at src/gen/CORE.setting:4001␤ in sub postfix:<++> at src/gen/CORE.setting:2215␤ in block at /tmp/zjm17BHvmp:1␤␤»
dagurval should this be possible?
spec doesn't say much about working with sized ints
timotimo i think it's specced to work 17:32
FROGGS pmurias: I thought $*KERNEL, $*DISTRO and $*VM are top-level things 17:33
17:35 panchiniak_ joined
GlitchMr rn: say ((1, 2)..(3, 4)).bounds.perl 17:45
camelia rakudo a13cec: OUTPUT«(2, $(3, 4))␤» 17:46
..niecza v24-95-ga6d4c5f: OUTPUT«($(1, 2), $(3, 4))␤»
GlitchMr I think the change at github.com/rakudo/rakudo/commit/5d...03d37a3d2a is buggy
I don't think it should modify leftside during construction.
pmurias jnthn: what is PIRT::Ops.node used for? 17:48
GlitchMr rn: 42.delete(24) 17:51
camelia niecza v24-95-ga6d4c5f: OUTPUT«Unhandled exception: Unable to resolve method delete in type Int␤ at /tmp/w3iT6ummWw line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4584 (module-CORE @ 576) ␤ at /home…
..rakudo a13cec: OUTPUT«Invocant requires a type object, but an object instance was passed␤ in method delete at src/gen/CORE.setting:1447␤ in block at /tmp/mRCekYbu4x:1␤␤»
GlitchMr wow, this error message surprised me. 17:52
timotimo it seems like it tries to autovivify a hash or something?
GlitchMr I rather expected something like "will never work argument types" or something.
But this is more accurate. 17:53
with argument*
timotimo "will never work with argument types" cannot be done at compile-time for method calls afaict
GlitchMr Well, ok, "none of these signatures match". 17:54
17:55 fridim_ joined
GlitchMr But wow, I didn't knew Perl 6 does that check compile time. 17:55
(when possible, that is)
timotimo yeah it does, it's part of the optimizer
it tries to compile-time dispatch to one candidate if possible, but if none of the candidates can ever match, it will complain 17:56
17:56 FROGGS left 18:00 panchiniak_ left
GlitchMr github.com/rakudo/rakudo/commit/bb...ba27bfb9af 18:02
Any?
Why Any?
Why not Int?
And seriously, what's wrong with old behavior ("Cannot get character of empty string")? 18:04
Still, it's better than Perl 5 behavior, where ord "" is 0 (perhaps because C strings internals)? 18:05
(by the way, it seems that .charCodeAt in JavaScript returns NaN in this case, Python throws exception, Ruby throws exception... 18:06
) 18:09
pmurias isn't unspecced behavior assumed to be the same as in Perl 5? 18:15
18:16 FROGGS joined
pmurias failing somehow (like with an exception) seems saner then failing silently 18:25
GlitchMr Well, previous behavior was failing. 18:27
Now it returns Any for some reason.
I would rather expect Int if anything.
18:28 zakharyas left
lue hello! o/ 18:30
colomon Int would indeed make more sense than Any 18:39
18:40 rindolf left 18:41 bropl joined 18:47 agre_ joined 18:49 hummeleBop left 18:50 domidumont left, agre left, denis_boyun joined 18:52 xinming_ left 18:53 xinming joined
bropl hi everyone 18:57
timotimo good day bropl
bropl i'm new to perl6
could i get an answer here? 18:58
timotimo sure, go ahead and ask :)
bropl i have this code $_ = '1 23 456 78.9'; say .Str for m:g/(\d+)/;
and it works
but if i try to use the ~~ operator
diakopter r: $_ = '1 23 456 78.9'; say .Str for m:g/(\d+)/; 18:59
camelia rakudo a13cec: OUTPUT«1␤23␤456␤78␤9␤»
bropl it returns a different thing
diakopter r: $_ = '1 23 456 78.9'; say .Str for ($_ ~~ m:g/(\d+)/);
camelia rakudo a13cec: OUTPUT«False␤»
diakopter r: $_ = '1 23 456 78.9'; say .Str for [($_ ~~ m:g/(\d+)/)];
tadzik ...huh
camelia rakudo a13cec: OUTPUT«False␤»
bropl do you know why?
diakopter r: $_ = '1 23 456 78.9'; say .Str for [list ($_ ~~ m:g/(\d+)/)];
camelia rakudo a13cec: OUTPUT«False␤»
flussence r: $_ = '1 23 456 78.9'; say .Str for ($_ ~~ :g/(\d+)/); 19:00
camelia rakudo a13cec: OUTPUT«===SORRY!=== Error while compiling /tmp/N5omn0PMzP␤Bogus statement␤at /tmp/N5omn0PMzP:1␤------> 3 456 78.9'; say .Str for ($_ ~~ :g/(\d+⏏)/);␤ expecting any of:␤ argument list␤ postfix␤ infix stopper␤ …
flussence r: $_ = '1 23 456 78.9'; say .Str for ($_ ~~ rx:g/(\d+)/);
camelia rakudo a13cec: OUTPUT«===SORRY!=== Error while compiling /tmp/rzbwSa0mMb␤Adverb g not allowed on rx␤at /tmp/rzbwSa0mMb:1␤------> 6 78.9'; say .Str for ($_ ~~ rx:g/(\d+)/⏏);␤»
tadzik r: my $a = '1 23 456 78.9'; say .Str for ($a ~~ m:g/(\d+)/);
camelia rakudo a13cec: OUTPUT«False␤»
timotimo is having a hard time following all the code
tadzik r: my $a = '1 23 456 78.9'; say .perl for ($a ~~ m:g/(\d+)/);
camelia rakudo a13cec: OUTPUT«Bool::False␤»
diakopter r: $_ = '1 23 456 78.9'; say .Str for [($_ ~~ m:g/(\d+)/).list];
camelia rakudo a13cec: OUTPUT«False␤»
diakopter r: $_ = '1 23 456 78.9'; say .Str for [say $_; ($_ ~~ m:g/(\d+)/).list]; 19:01
camelia rakudo a13cec: OUTPUT«1 23 456 78.9␤False␤»
tadzik r: my $a = '1 23 456 78.9'; for $a ~~ m:g/(\d+)/ { say .perl }
camelia rakudo a13cec: OUTPUT«Bool::False␤»
timotimo bropl: this may not be what you're hoping for, but i think the comb method on strings could be quite helpful to you :)
tadzik bropl: ...clearly, we don't know why :P
timotimo r: .say for '1 23 456 78.9'.comb(/d+/)
camelia rakudo a13cec: ( no output )
tadzik n: my $a = '1 23 456 78.9'; for $a ~~ m:g/(\d+)/ { say .perl }
camelia niecza v24-95-ga6d4c5f: OUTPUT«===SORRY!===␤␤Regex modifier g not yet implemented at /tmp/y51xzHPlOc line 1:␤------> my $a = '1 23 456 78.9'; for $a ~~ m:g⏏/(\d+)/ { say .perl }␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CO…
timotimo er ...
r: .say for '1 23 456 78.9'.comb(/\d+/) 19:02
camelia rakudo a13cec: OUTPUT«1␤23␤456␤78␤9␤»
bropl yeah, as you could guess, it was just a reduced test case for a larger codebase
ill read on comb
flussence S03:3614
synopsebot Link: perlcabal.org/syn/S03.html#line_3614
timotimo comb can also give you full-blown match objects if you add :match at the end
flussence ~~ is specced to return boolean things it looksl ike
diakopter bropl: larger codebase? p_P
o_O
there's a perl6 codebase? 19:03
bropl meaning a longer script
tadzik a perl 6 darkpan. I told you
timotimo more than one line ;)
diakopter tadzik: the pan is too dark for me
diakopter tries to figure out how I roke this codebase. 19:04
broke, even.
19:05 sqirrel joined
bropl so /(d+)/ is a Callable, not a Match? im confused 19:05
19:06 araujo left
timotimo r: say /foo/.WHAT 19:06
camelia rakudo a13cec: OUTPUT«(Regex)␤»
FROGGS r: say /(d+)/.WHAT 19:07
19:07 araujo joined
camelia rakudo a13cec: OUTPUT«(Regex)␤» 19:07
flussence oh wait, I was looking at Match
S03:3639
synopsebot Link: perlcabal.org/syn/S03.html#line_3639
FROGGS bropl: why do you think it is a callable?
bropl linked line was "Any Callable:($) item sub truth X($_)"
ok now im ok 19:08
gonna read comb
19:13 bropl is now known as lucak3, lucak3 is now known as bropl, bropl left
timotimo o_O 19:15
lue r: my $a = '1 23 456 78.9'; say $a.split(" ").perl 19:19
camelia rakudo a13cec: OUTPUT«("1", "23", "456", "78.9").list␤»
lue (doesn't break 78.9) 19:20
dalek kudo/nom: 799989a | (Elizabeth Mattijsen)++ | src/core/Cool.pm:
Make .ord return Int, as pointed out by GlitchMr++
19:23
pmurias jnthn: what does MARKER and MARKED do in NQP::Grammar? 19:25
19:34 abnorman joined
GlitchMr <dalek> rakudo/nom: Make .ord return Int, as pointed out by GlitchMr++ 19:49
thanks
Added to Perl 6 changes article
Also, I have DarkPAN on my computer.
In shell history.
I actually was using perl6 -e
Or even perl6 -ne 19:50
By the way, why perl6 -ne'#blah' is valid, but perl6 -ne '#blah' is not
dalek kudo/nom: 06622f7 | (Elizabeth Mattijsen)++ | src/core/ (4 files):
Make roles Baggy / Setty (almost) completely self-contained

Apparently, you cannot have a BUILD in the role, as it doesn't see its own attributes, as they only exist when they're composed.
19:51
lizmat GlitchMr: I have no idea
GlitchMr I assume I just hit the strange bug. 19:52
That normally wouldn't happen, because nobody else uses Perl 6 as Perl 5.
Well, ok, I don't use Perl 6 as Perl 5. 19:53
But I use it for oneliners. And it works well.
lizmat GlitchMr: the change to the Range.new candidate: it was the smallest change to make ranges work with Matches/List/Parcel as the starting point
and that was according to spec, so what is the problem ?
please note that "$min is copy"
so the change is not visible outside
GlitchMr r: ((1, 2)..(3, 4)).bounds.perl 19:54
camelia rakudo a13cec: ( no output )
GlitchMr rn: ((1, 2)..(3, 4)).bounds.perl.say
camelia rakudo a13cec: OUTPUT«(2, $(3, 4))␤»
..niecza v24-95-ga6d4c5f: OUTPUT«($(1, 2), $(3, 4))␤»
GlitchMr The problem is that ranges aren't just ranges.
pmurias are there any tools besides say for debugging grammars in nqp? 19:55
GlitchMr I think some APIs (like minmax) use it to store range of values.
lizmat Grammar::Debugger ?
GlitchMr rn: say minmax
camelia rakudo a13cec, niecza v24-95-ga6d4c5f: OUTPUT«Inf..-Inf␤»
GlitchMr I'm almost sure that Inf..-Inf is different sort of range.
And in such range, replacing (1, 2) with 2 could matter.
pmurias lizmat: isn't that for rakudo? 19:56
FROGGS pmurias: I think so 19:57
lizmat pmurias: duh, yes, sorry, missed the "nqp" bit
19:57 sqirrel left
lizmat rn: ((1,2).list..10).perl.say 19:58
camelia rakudo a13cec: OUTPUT«2..10␤»
..niecza v24-95-ga6d4c5f: OUTPUT«(1, 2).list.item..10␤»
20:02 SamuraiJack left
lizmat GlitchMr: trying another approach to the range uissue 20:02
20:04 agre_ left 20:06 kaare__ is now known as kaare_
lizmat $ perl6 -e '((1, 2)..(3, 4)).bounds.perl.say' 20:08
($(1, 2), $(3, 4))
rn: .say for ((1, 2)..(3, 4)) 20:09
camelia rakudo a13cec: OUTPUT«2␤3␤»
..niecza v24-95-ga6d4c5f: OUTPUT«1 2␤»
lizmat I feel both are wrong here, it should be "2", no?
20:09 bropl joined
bropl hi, i'm back 20:10
lizmat bropl /o 20:11
bropl i got another question
this code doesnt do what i thought it should
say .Str given 'A' ~~ m:i/<[a..z]>/;
maybe too much perl5? 20:12
lizmat r: say .Str given 'A' ~~ m:i/<[a..z]>/;
camelia rakudo a13cec: OUTPUT«False␤»
bropl shouldnt it match?
lizmat r: say 'A' ~~ m:i/<[a..z]>/ 20:13
camelia rakudo a13cec: OUTPUT«False␤»
lizmat r: say ('A' ~~ m:i/<[a..z]>/).perl
camelia rakudo a13cec: OUTPUT«Bool::False␤»
lue r: say .Str given 'A' ~~ /<alpha>/
camelia rakudo a13cec: OUTPUT«A␤»
lizmat r: say 'a' ~~ m:i/<[a..z]>/
camelia rakudo a13cec: OUTPUT«「a」␤␤»
bropl ooh, is <alpha> a new class?
lizmat r: say 'a' ~~ m:i/<[A..Z]>/ 20:14
bropl i should chech the spec
camelia rakudo a13cec: OUTPUT«False␤»
lizmat maybe :i is NYI
FROGGS lizmat: it is implemented
and I thought I implemented it for ranges
lizmat so why doesn't it work? 20:15
FROGGS no idea off hand
20:15 kaare_ left
FROGGS r: say 'a' ~~ m:i/<[ABC]>/ 20:15
camelia rakudo 06622f: OUTPUT«「a」␤␤»
bropl can i ask a link to the new classes in spec, i cant seem to find them
FROGGS ahhh
lue bropl: the things you can put in <> in regexes are in S05, under "Predefined Subrules"
perlcabal.org/syn/S05.html#Predefined_Subrules
bropl got it, many thanks
FROGGS lizmat: I implemented it for char classes except ranges 20:16
lizmat ah, so :i is NYI on ranges in char classes
20:20 bropl left
FROGGS yeah :/ 20:21
but should be pretty LHF I guess
dalek kudo-js: a4961eb | (Pawel Murias)++ | runtime.js:
Fix a bug in runNFA.

This should make NQP::Grammar.TOP parse say("Hello World")
20:27
diakopter eh
FROGGS: straightforward, but I wouldn'dt call it LHF 20:28
lizmat rn: my @a=10; my @b=20; .say for (@a .. @b) 20:29
camelia rakudo 06622f: OUTPUT«1␤2␤»
..niecza v24-95-ga6d4c5f: OUTPUT«Unhandled exception: cannot increment a value of type Array␤ at /home/p6eval/niecza/lib/CORE.setting line 1769 (List.gist @ 5) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3142 (RangeIter.reify @ 7) ␤ at <unkno…
lizmat GlitchMr: abandoning other approach as I'm not sure what should happen with which parameters: seems the spectests are not up to spec either :-( 20:31
20:33 bruges_ left 20:35 bruges joined
dalek ast: 203f3c7 | coke++ | S (5 files):
niecza fudge
20:47
20:50 slavik left
dalek ecza: 8d82136 | coke++ | t/spectest.data:
this test file does not exist
20:52
20:54 ajr_ left
dalek ast: 16a91a3 | coke++ | S32-list/uniq.t:
pugs fudge
20:56
p: 6b5c98e | (Tobias Leich)++ | src/QRegex/P6Regex/Actions.nqp:
support case-insensitivity for ranges in character classes
20:59
FROGGS I'd run spectest with this, but this would kill my win7 vm 21:00
21:03 slavik joined, donaldh joined
donaldh golfed tadzik's panda LexoticException down to this: gist.github.com/donaldh/6479271 21:05
21:06 pmurias left
tadzik ++ for robin :) 21:07
21:12 donaldh left
moritz nqp-jvm: sub f() { -> { return 42 } }; f()() 21:16
camelia nqp-jvm: OUTPUT«Exception in thread "main" org.perl6.nqp.runtime.LexoticException␤ at org.perl6.nqp.runtime.ThreadContext.<init>(ThreadContext.java:86)␤ at org.perl6.nqp.runtime.GlobalContext.<init>(GlobalContext.java:129)␤ at org.perl6.nqp.runtime.CompilationUnit.enterFromMain(Compilat…
moritz there, I golfed LexoticException even further :-)
21:17 berekuk left 21:24 berekuk joined
dalek ast: ecc7bf8 | coke++ | S32-io/other.t:
rakudo.parrot unfudge
21:30
FROGGS meh, nobody reads the skip message :/ 21:31
[Coke] FROGGS: is that to me? 21:32
FROGGS [Coke]: to you too, yes
[Coke] that file passed 100% for me locally and on the test server.
if it's failing on a particular config, let's skip it for that config.
FROGGS yeah, and breaks on my box and I think on masak's too 21:33
[Coke] s/skip/todo/
FROGGS it dies in parrot land on my box fwiw
[Coke] can you upgrade your parrot? ;) 21:34
dalek kudo/nom: 22622a9 | (Elizabeth Mattijsen)++ | src/core/ (2 files):
Create Setty.new-fp so that the .Set and .KeySet coercers can use that
[Coke] I think it is reasonable to have the spec test require a recent impl.
flussence grr... stupid shell autocomplete. (make t/spec<tab> eats the entire arg)
FROGGS [Coke]: I am already using my parrot fork, wich will become 5.8 if all goes right
and this one passes, but 5.5 would not pass on my box 21:35
[Coke] I have 5.5 here, works fine, btw.
FROGGS yeah, I know that it works for lizmat too
diakopter right, "might" depends on who you are
not random factors 21:36
your system
FROGGS diakopter: ? 21:37
diakopter the comment was saying "on some systems this will fail until a new version of parrot is realased sometime"
FROGGS correct
diakopter I was clarifying the comment to coke
FROGGS ahh
right, thanks
[Coke] so let's just leave it as a comment instead of an actual todo until we know what triggers it or it's irrelevant.
(esp since it passes on the daily spec run) 21:38
FROGGS [Coke]: I patched parrot a week ago
so I know why it fails
diakopter coke: he said that above (that he already fixed it locally)
[Coke] ... I understand.
FROGGS I'd say we wait two/three days now, and if nobody complains we leave it that way 21:39
lizmat has done enough refactoring for a day and goes to sleep& 21:40
[Coke] nite!
FROGGS gnight lizmat
21:40 Ulti joined
dalek p: 8ed7dad | (Tobias Leich)++ | tools/lib/NQP/Configure.pm:
fetch libparrot.lib so that --gen-parrot works again
21:41
diakopter FROGGS++ # that's been annoying me for months 21:42
FROGGS :o) 21:43
21:43 Pleiades` joined
FROGGS I think it is more important for newbies though, since they might give up when nqp fails to build because of that 21:43
[Coke] the rakudo.jvm build failed today on the daily run. ran it again, seems fine now. wonder why it failed. :| 21:44
diakopter failed for me the first time on mac the other day too 21:45
building again succeeded
ran out of memory
flussence S32-io/other.t passes 60/60 for me on 2013.08-90-gb9762d7 21:46
FROGGS flussence: good to know, thanks for testing 21:47
21:50 spider-mario left 21:57 xenoterracide joined 22:12 dmol left 22:15 EvanTeitelman joined 22:22 denis_boyun left 22:27 Mouq joined 22:34 pernatiy left
dalek rl6-roast-data: 38f7910 | coke++ | / (5 files):
today (automated commit)
22:47
rl6-roast-data: 9914338 | coke++ | bin/ (2 files):
Allow longer run times
jnthn .tell pmurias MARKER and MARKED log a position under a key, then allow it to be checked against the current position later. If you can compile the methods, they should Just Work (that is, in JVM and MoarVM ports, I didn't have to treat them specially) 23:04
yoleaux jnthn: I'll pass your message to pmurias.
23:06 kivutar left 23:10 Rotwang left, BenGoldberg joined 23:31 kst` joined 23:35 kst` left, kst` joined 23:45 Rotwang joined 23:52 raiph joined