Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-09-03

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:01 colomon joined #perl6
00:09 dayangkun joined #perl6
00:17 Psyche^ joined #perl6
00:18 timotimo i'd like to have a method/sub to get the permission "number" of a file on a unix system
00:18 timotimo does that sound sensible?
00:19 timotimo or a way to flip individual bits instead of chmodding the entire thing
00:21 Mouq joined #perl6
00:22 Teratogen joined #perl6
00:24 dalek specs: ac66ac3 | (Timo Paulssen)++ | S32-setting-library/IO.pod:
00:24 dalek specs: add a missing = before a item.
00:24 dalek specs: review: https://github.com/perl6/specs/commit/ac66ac32d4
00:25 xenoterracide joined #perl6
00:26 TimToady well, shell("chmod +x") and such is one way
00:26 TimToady but we really oughta support stat and lstat somehow
00:32 timotimo r: multi MAIN("on") { say "on" }; multi MAIN("off") { say "off" }; multi MAIN() { callsame("on") }; # huh?
00:32 camelia rakudo bb2d2e: OUTPUT«===SORRY!===␤No such method 'is_dispatcher' for invocant of type 'Block'␤»
00:32 timotimo r: multi MAIN("on") { say "on" }; multi MAIN("off") { say "off" }; multi MAIN() { callwith("on") }; # huh?
00:32 camelia rakudo bb2d2e:  ( no output )
00:33 wk joined #perl6
00:33 * sorear isn't sure nextwith/callwith makes any sense at all for multi dispatchers
00:34 sorear you're telling it to find the next applicable multi with the *current* arguments, and then switch out the arguments before actually calling it
00:34 sorear so in this case since there is no next candidate for MAIN(), callwith is a noop
00:34 xinming joined #perl6
00:34 sorear you want MAIN("on") in this case
00:34 diakopter sorear: hi :)
00:35 timotimo that's what i did now, yes
00:38 wk joined #perl6
00:38 timotimo now that i have made a script to turn off and on fugitive support in my vim i can use splice to do that nasty 3-way merge for "is nodal"!
00:40 panchiniak_ joined #perl6
00:40 panchiniak_ left #perl6
00:40 timotimo except now Powerline wants to call fugitive functions all the time ... and fails loudly
00:48 hypolin joined #perl6
01:04 FROGGS_ joined #perl6
01:17 sorear what's a fugitive function
01:19 BabsSeed joined #perl6
01:20 arlinius joined #perl6
01:20 timotimo a function from the fugitive plugin
01:21 timotimo also, in this case a function that's nowhere to be found
01:32 geekosaur .oO { fugit, est fugit! }
01:44 cognominal one can write  [*] 1..10   Now, how can I use a similar prefix syntax, with a function given in a variable instead of *
01:44 cognominal is that possible?
01:44 timotimo it may only work for operators
01:45 timotimo r: my &foo := &infix:<*>; say [&foo] 1, 2, 3, 4;
01:45 camelia rakudo bb2d2e: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/uUmmm0mACLâ�¤Two terms in a rowâ�¤at /tmp/uUmmm0mACL:1â�¤------> [32mmy &foo := &infix:<*>; say [&foo] [33mâ��[31m1, 2, 3, 4;[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infix or meta-…
01:45 timotimo r: my &foo := &infix:<*>; say [foo] 1, 2, 3, 4;
01:45 camelia rakudo bb2d2e: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/FenCjcWve_â�¤Two terms in a rowâ�¤at /tmp/FenCjcWve_:1â�¤------> [32mmy &foo := &infix:<*>; say [foo] [33mâ��[31m1, 2, 3, 4;[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infix or meta-i…
01:45 dalek specs: 554918c | (Kris Shannon)++ | S06-routines.pod:
01:45 dalek specs: Missed a "is ref" to "is parcel" in a02e2e1d
01:45 dalek specs: review: https://github.com/perl6/specs/commit/554918c672
01:47 Mouq rn: my \𝑖 = 4; say 𝑖 + 2; # Awww, I thought this worked in rakudo
01:47 camelia rakudo bb2d2e, niecza v24-92-g3961d5d: OUTPUT«6␤»
01:47 Mouq Uh
01:47 timotimo heh! :)
01:48 Mouq I musta borked it in my perl6…
01:57 TimToady r: my &foo := &infix:<*>; say [[&foo]] 1, 2, 3, 4;
01:57 camelia rakudo bb2d2e: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/D6xmfNN5bM�Unable to parse expression in bracketed infix; couldn't find final ']'�at /tmp/D6xmfNN5bM:1�------> [32mmy &foo := &infix:<*>; say [[&[33m�[31mfoo]] 1, 2, 3, 4;[0m�»
01:57 TimToady n: my &foo := &infix:<*>; say [[&foo]] 1, 2, 3, 4;
01:57 camelia niecza v24-92-g3961d5d: OUTPUT«24␤»
01:57 timotimo oh, neato
01:57 timotimo why does that work?
01:57 TimToady [&foo] is the Haskellish ``
01:58 TimToady you need an extra [] to do the reduce
01:58 TimToady n: my &foo := &infix:<*>; say 2 [&foo] 3
01:58 camelia niecza v24-92-g3961d5d: OUTPUT«6␤»
01:58 TimToady r: my &foo := &infix:<*>; say 2 [&foo] 3
01:58 camelia rakudo bb2d2e: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/eDdG3Jfvdb�Unable to parse expression in bracketed infix; couldn't find final ']'�at /tmp/eDdG3Jfvdb:1�------> [32mmy &foo := &infix:<*>; say 2 [&[33m�[31mfoo] 3[0m�»
01:58 timotimo oh, that's new to me
01:59 TimToady rakudo doesn't know [&foo] yet
01:59 cognominal ok, thx.
02:01 Mouq_ joined #perl6
02:01 FROGGS_ joined #perl6
02:04 Mouq joined #perl6
02:14 diakopter uptime
02:15 JimmyZ 02:16:07 up 32 days, 4 min,  2 users,  load average: 0.17, 0.10, 0.06
02:15 btyler joined #perl6
02:25 xenoterracide joined #perl6
02:28 Mouq Can one have a class with $.var as an lvalue and a setter method ( class.var('val') )? It seems like I'm missing something obvious that I can't get it work
02:32 TimToady if it's declared 'has $.var is rw;' then you can just say $obj.var = 'val';
02:32 TimToady but you need an object, not a class, unless you've declared it 'our' or 'my' instead of 'has', in which case you can use the uninstantiated type object
02:33 TimToady (if that's what you were asking about)
02:33 TimToady but we don't play getters/setters games in p6
02:33 Mouq Yes. But I want to be able to chain, so $obj.var('val').doObjFunct as well as $obj.var = 'val'.
02:34 TimToady ($obj.var = 'val).doObjFunct
02:34 FROGGS joined #perl6
02:34 TimToady but that's probably a design smell if you need to do that in your program
02:34 Mouq Troo
02:35 TimToady you can have setters if you like, as long as they aren't named the same as the attribute
02:35 TimToady but the method that is the same as the attribute is specifically for identifying the attribute for subsequent operations, not for getting/setting
02:36 TimToady well, you use it for getting, and the thing you get may be assignable if it's rw
02:37 TimToady but we work hard at keeping identity as a separate concept from operations
02:37 mtj_ joined #perl6
02:37 Mouq Alright, thank you TimToady
02:42 diakopter r: class A { has $val; method val($a=$!val) { $!val=$a } }; my A $a.=new; say $a.val(5) # not threadsafe
02:42 camelia rakudo bb2d2e: OUTPUT«5␤»
02:43 diakopter oh, you want it to return self?
02:44 Mouq Yes...
02:45 diakopter could probably do that with a macro
02:45 diakopter (generate the setter)
02:50 TimK1 left #perl6
03:05 xenoterracide joined #perl6
03:10 xinming_ joined #perl6
03:29 FROGGS joined #perl6
03:33 preflex_ joined #perl6
03:50 flussence bisectifying done, 2d5abcaed broke the utf8/16 stuff... which doesn't narrow it down much at all :(
03:56 Mouq So now you need to bisectify nqp?
03:56 ggoebel2 joined #perl6
03:57 dalek niecza: 4c5eec8 | coke++ | t/spectest.data:
03:57 dalek niecza: sleep/interval NYI
03:57 dalek niecza:
03:57 dalek niecza: don't try to run this test.
03:57 dalek niecza: review: https://github.com/sorear/niecza/commit/4c5eec8b65
03:57 flussence gonna take a bit more effort than doing it for rakudo was...
03:59 raiph http://www.reddit.com/r/regex/comments/1hze69/perl_6_grammars_good_bad_ugly/cbz5ihu
03:59 FROGGS joined #perl6
04:01 dalek roast: 5604403 | coke++ | / (13 files):
04:01 dalek roast: niecza fudge
04:01 dalek roast: review: https://github.com/perl6/roast/commit/560440367e
04:02 raiph ^^ The reddit URL above is someone asking what the difference is between three lines of P6 regex and what the commenter thinks is PCRE equivalent lines.
04:02 [Coke] .to colomon - just fudged everything for niecza except S03-operators/subscript-adverbs - looks like niecza is complaining about missing tests - this usually means we need a DOES x somewhere, but I don't see anything obvious.
04:02 yoleaux [Coke]: I'll pass your message to colomon.
04:32 FROGGS joined #perl6
04:54 SamuraiJack_ joined #perl6
04:58 FROGGS joined #perl6
05:12 preflex joined #perl6
05:21 FROGGS joined #perl6
05:29 ksh joined #perl6
05:42 masak good morning, #perl6
05:43 * masak finds he woke up so early today, he has to take a walk before $work to while away the time :)
05:43 sorear o/ masak
05:44 JimmyZ \o
05:44 moritz \o *
05:44 yoleaux 01:23Z <diakopter> moritz: I'm sorry I'm holding the nfg code hostage.. I'll try really hard to get it pushed usably this week
05:45 moritz oh man, why is it so hard to just type "git push <remote> nfg"?
05:46 masak what, and forfeit all your rebasing advantages? :)
05:48 masak (not really, because you can always rebase and publish a new branch)
05:48 masak walk &
05:52 kaleem joined #perl6
06:11 dmol joined #perl6
06:16 hummeleBop joined #perl6
06:22 slavik joined #perl6
06:22 cognominal nr: $_= 'aba';  m/ [ a .*? ]+ / ; say $/
06:22 camelia rakudo bb2d2e, niecza v24-92-g3961d5d: OUTPUT«「a」␤␤»
06:24 cognominal nr: $_= 'aba';  m/  a .*? a .*? / ; say $/
06:24 camelia rakudo bb2d2e, niecza v24-92-g3961d5d: OUTPUT«「aba」␤␤»
06:33 TimToady nr: $_= 'aba';  m/ [ a .*? ] ** 2 / ; say $/
06:33 camelia rakudo bb2d2e, niecza v24-92-g3961d5d: OUTPUT«「aba」␤␤»
06:36 cognominal nice. Need to learn more about backtracking.
06:40 masak I was disappointed to find that the Windows 7 computer I'm teaching from does not want to show ∈ in Notepad or Wordpad.
06:41 masak clearly I'm disappearing up into the Unicode singularity, slightly ahead of the rest of the world. (though probably slightly behind the average #perl6 denizen)
06:41 cognominal An american conspiration against the euro?
06:41 masak no, that's set membership.
06:42 masak the Euro goes the other way :)
06:42 masak € looks fine here.
06:42 masak clearly this Windows was installed by people who prioritize money before math :/
06:45 iSlug joined #perl6
06:45 FROGGS joined #perl6
06:47 cognominal golfing a error with an non close match, I found a 4 characters program that prints garbage.
06:47 cognominal echo "m/\n=" > b; perl6 b
06:48 cognominal well that's 5 chars because echo adds a newline. But I have the same problem without the trailing newline
06:48 cognominal is this mac only?
06:49 cognominal ...with parakudo
06:51 cognominal I meant "golfing a bug triggered by an incorrect program that had a non closed match expression…"
06:52 cognominal Tired :(
06:54 moritz r: m/\n=
06:54 camelia rakudo bb2d2e: OUTPUT«â�€â�€â�€[â�€â�€â�€3â�€â�€â�€1â�€â�€â�€mâ�€â�€â�€=â�€â�€â�€=â�€â�€â�€=â�€â�€â�€â�€â�€â�€[â�€â�€â�€0â�€â�€â�€mâ�€â�€â�€Sâ�€â�€â�€Oâ�€â�€â�€Râ�€â�€â�€Râ�€â�€â�€Yâ�€â�€â�€!â�€â�€â�€â�€â�€â�€[â�€â�€â�€3â�€â�€â�€1â�€â�€â�€mâ�€â�€â�€=â�€â�€â�€=â�€â�€â�€=â�€â�€â�€â�€â�€â�€[â�€â�€â�€0â�€â�€â�€mâ�€â�€â�€â�¤â�€â�€â�€Uâ�€â�€â�€nâ�€â�€â�€râ�€â�€â�€eâ�€â�€â�€câ�€â�€â�€oâ�€â�€â�€gâ�€â�€â�€nâ�€â�€â�€iâ�€â�€â�€zâ
06:54 moritz cognominal: that's a known bug where UTF-32 leaks through somehow
07:01 denisboyun joined #perl6
07:05 dalek nqp: 70254bf | (David Warring)++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
07:05 dalek nqp: classify char as newline: U+0085 NEXT LINE (NEL)
07:05 dalek nqp:
07:05 dalek nqp: Fixes roast failures:
07:05 dalek nqp: S05-metachars/newline.rakudo.jvm 6 - NEL
07:05 dalek nqp: S05-metachars/newline.rakudo.jvm 13 - not NEL
07:05 dalek nqp: review: https://github.com/perl6/nqp/commit/70254bf3c7
07:05 dalek nqp: ee68135 | (Tobias Leich)++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
07:05 dalek nqp: Merge pull request #120 from dwarring/master
07:05 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=120
07:05 dalek nqp:
07:05 dalek nqp: classify char as newline: U+0085 NEXT LINE (NEL)
07:05 dalek nqp: review: https://github.com/perl6/nqp/commit/ee681357b9
07:18 domidumont joined #perl6
07:19 dalek rakudo/nom: bab03d3 | (Elizabeth Mattijsen)++ | src/core/Cool.pm:
07:19 dalek rakudo/nom: Make .tc work on Cool, just like .tclc, .uc and friends
07:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bab03d30d7
07:23 domidumont joined #perl6
07:24 dalek roast: 57518a1 | (Elizabeth Mattijsen)++ | S16-unfiled/rebindstdhandles.t:
07:24 dalek roast: Fudges for S16
07:24 dalek roast: review: https://github.com/perl6/roast/commit/57518a1150
07:24 dalek roast: 3b585fa | (Elizabeth Mattijsen)++ | S29-conversions/ord_and_chr.t:
07:24 dalek roast: Fudges for S29
07:24 dalek roast: review: https://github.com/perl6/roast/commit/3b585fae86
07:24 dalek roast: 9028e8c | (Elizabeth Mattijsen)++ | S32- (17 files):
07:24 dalek roast: Fudges for S32
07:24 dalek roast: review: https://github.com/perl6/roast/commit/9028e8c50c
07:24 lizmat this concludes my quest for lost tests in the spectest suite
07:26 moritz lizmat++
07:27 lizmat *phew*
07:27 lizmat that was boring
07:27 lizmat :-)
07:30 iSlug joined #perl6
07:36 zakharyas joined #perl6
07:44 FROGGS .u 0085
07:44 yoleaux U+0085 NEXT LINE (NEL) [Cc] (<control>)
07:47 itz joined #perl6
07:50 fhelmberger joined #perl6
08:05 fhelmberger_ joined #perl6
08:09 cognominal Apparently  :my foo;      is not supported in Perl 6 grammar  :(
08:09 moritz cognominal: it's not supported in mainline Perl 6 either
08:09 moritz r: my foo;
08:09 camelia rakudo bb2d2e: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Type 'foo' is not declaredâ�¤at /tmp/YVXKKSkE9N:1â�¤------> [32mmy foo[33mâ��[31m;[0mâ�¤Malformed myâ�¤at /tmp/YVXKKSkE9N:1â�¤------> [32mmy [33mâ��[31mfoo;[0mâ�¤    expecting any of:â�¤        scoped declaratorâ�¤â�¤Â»
08:09 moritz std: my foo;
08:09 camelia std 27326bc: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Malformed my at /tmp/AdT0kGq6Rk line 1:â�¤------> [32mmy [33mâ��[31mfoo;[0mâ�¤    expecting any of:â�¤   nameâ�¤   scoped declaratorâ�¤      typenameâ�¤Parse failedâ�¤FAILED 00:00 41mâ�¤Â»
08:10 cognominal oops, I meant
08:10 cognominal :my $foo
08:10 cognominal std: grammar A { :my $foo }
08:10 camelia std 27326bc: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a row at /tmp/8d6_g0fcPB line 1:â�¤------> [32mgrammar A { :my [33mâ��[31m$foo }[0mâ�¤    expecting any of:â�¤      feed_separatorâ�¤ infix or meta-infixâ�¤    infixed functionâ�¤       statement modifier loopâ�¤Parse failedâ�¤FAILED 00:00 43mâ�¤Â»â€¦
08:11 cognominal nr: grammar A { :my $foo }
08:11 camelia niecza v24-92-g3961d5d: OUTPUT«[31m===[0mSORRY![31m===[0m��Two terms in a row at /tmp/XLcN7bxyFD line 1:�------> [32mgrammar A { :my [33m�[31m$foo }[0m��Parse failed��»
08:11 camelia ..rakudo bb2d2e: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/9PAKmGwYs_â�¤Two terms in a rowâ�¤at /tmp/9PAKmGwYs_:1â�¤------> [32mgrammar A { :my [33mâ��[31m$foo }[0mâ�¤    expecting any of:â�¤        pair valueâ�¤        postfixâ�¤        infix stopperâ�¤        infix or meta-infi…
08:11 cognominal nqp: grammar A { :my $foo }
08:11 camelia nqp: OUTPUT«Unable to parse expression in blockoid; couldn't find final '}' at line 2, near ":my $foo }"␤current instr.: 'panic' pc 14693 (src/stage2/gen/NQPHLL.pir:5223) (src/stage2/gen/NQPHLL.nqp:279)␤»
08:11 cognominal nqp: grammar A { :my $foo; }
08:11 camelia nqp: OUTPUT«Unable to parse expression in blockoid; couldn't find final '}' at line 2, near ":my $foo; "␤current instr.: 'panic' pc 14693 (src/stage2/gen/NQPHLL.pir:5223) (src/stage2/gen/NQPHLL.nqp:279)␤»
08:12 cognominal nqp: grammar A { token a{  :my $foo; }  }
08:12 camelia nqp:  ( no output )
08:12 fhelmberger joined #perl6
08:12 cognominal r: grammar A { token a{  :my $foo; }  }
08:12 camelia rakudo bb2d2e:  ( no output )
08:13 cognominal ok, it must be inside a regex.
08:13 cognominal my bad
08:14 fhelmberger joined #perl6
08:18 dalek rakudo/nom: 484f089 | (Elizabeth Mattijsen)++ | src/core/ (2 files):
08:18 dalek rakudo/nom: Straighten out .tc/.tclc and tc()/tclc()
08:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/484f089860
08:22 lizmat fitness&
08:31 dakkar joined #perl6
08:32 FROGGS r: grammar A { my $bar; token a{  :my $foo; }  }
08:32 camelia rakudo bab03d:  ( no output )
08:43 Rotwang joined #perl6
09:07 Bzek joined #perl6
09:23 sqirrel joined #perl6
09:27 xinming joined #perl6
09:33 dalek Perlito: e863c73 | (Flavio S. Glock)++ | / (3 files):
09:33 dalek Perlito: Perlito5 - grammar - tweak pod
09:33 dalek Perlito: review: https://github.com/fglock/Perlito/commit/e863c73ed0
09:46 salv0 joined #perl6
10:02 xinming joined #perl6
10:04 dalek nqp: 60e201b | (Tobias Leich)++ | t/hll/0 (3 files):
10:04 dalek nqp: skip with message
10:04 dalek nqp: review: https://github.com/perl6/nqp/commit/60e201b697
10:04 dalek nqp: 7ff37d4 | (Tobias Leich)++ | t/nqp/19-file-ops.t:
10:04 dalek nqp: sync test with moarvm
10:04 dalek nqp: review: https://github.com/perl6/nqp/commit/7ff37d4458
10:04 dalek nqp: 50c3a09 | (Tobias Leich)++ | t/nqp/19-readline.txt:
10:04 dalek nqp: added readline test file
10:04 dalek nqp: review: https://github.com/perl6/nqp/commit/50c3a099b1
10:04 dalek nqp: 3de32c4 | (Tobias Leich)++ | src/QRegex/Cursor.nqp:
10:04 dalek nqp: use a fresh list/hash for every match
10:04 dalek nqp: review: https://github.com/perl6/nqp/commit/3de32c45c3
10:12 dalek nqp: 96a8d02 | (Tobias Leich)++ | src/vm/parrot/ops/nqp.ops:
10:12 dalek nqp: we cant trust boxed_primitive when inlinable is false, jnthn++
10:12 dalek nqp: review: https://github.com/perl6/nqp/commit/96a8d022c1
10:12 dalek nqp: 50e1478 | (Tobias Leich)++ | src/vm/parrot/QAST/Compiler.nqp:
10:12 dalek nqp: Revert "we cant trust boxed_primitive when inlinable is false, jnthn++"
10:12 dalek nqp:
10:12 dalek nqp: This reverts commit 8e8ae369ad75e7ff818891e393514d3e259f8e8a.
10:12 dalek nqp: review: https://github.com/perl6/nqp/commit/50e1478564
10:16 xinming joined #perl6
10:23 wtw joined #perl6
10:24 xinming joined #perl6
10:28 FROGGS .tell jnthn Are the changes to ACCEPTS alright? moarvm doesn't like it: https://github.com/perl6/nqp/commit/0f1be31feeeaf43ee4e77d11f57306001b7c93f1#L3L821
10:28 yoleaux FROGGS: I'll pass your message to jnthn.
10:33 daxim joined #perl6
10:33 kivutar joined #perl6
10:35 FROGGS .tell jnthn So this was needed, and might hurt us later: https://github.com/MoarVM/MoarVM/commit/7dfbabf794
10:35 yoleaux FROGGS: I'll pass your message to jnthn.
10:52 fhelmberger joined #perl6
11:06 wtw joined #perl6
11:10 salv0 joined #perl6
11:11 lizmat so, if I look at Grammar.nqp, what does "<O('%methodcall')>" mean?  I guess we have some sub called O somewhere, but where does that live?
11:11 * lizmat is looking at what would be needed to make {} and [] sub calls rather than method calls
11:13 colomon [Coke]++
11:13 yoleaux 04:02Z <[Coke]> colomon: - just fudged everything for niecza except S03-operators/subscript-adverbs - looks like niecza is complaining about missing tests - this usually means we need a DOES x somewhere, but I don't see anything obvious.
11:15 diakopter colomon: yer awake early
11:15 sqirrel joined #perl6
11:17 colomon 7AM, that's pretty normal for me.
11:17 colomon sure it's not that you're up late?
11:17 nebuchadnezzar joined #perl6
11:17 sidus joined #perl6
11:27 FROGGS lizmat: nqp/src/HLL/Grammar.nqp:174
11:28 lizmat FROGGS++
11:28 FROGGS lizmat: it is about operator precedence, see rakudo/src/Perl6/Grammar.nqp:3039:        Perl6::Grammar.O(':prec<y=>, :assoc<unary>, :dba<methodcall>, :fiddly<1>', '%methodcall');
11:29 FROGGS so you can say that this token/rule has a specific precedence
11:30 lizmat this is more about lines 3264 and 3271 in Perl6/Grammar.nqp
11:31 FROGGS right
11:31 FROGGS the second thing I posted is the operator precedence table
11:37 masak I love that thing.
11:37 masak there's something about it that makes Perl 6 very self-descriptive.
11:38 masak or, should I say, Perl 6 is the only language I know that takes such a broad approach to parsing.
11:38 colomon why does isa_ok(3, Nil); make sense?
11:39 masak rn: say 3 ~~ Nil
11:39 moritz it doesn't
11:39 camelia rakudo 484f08, niecza v24-92-g3961d5d: OUTPUT«False␤»
11:39 moritz but isa_ok(Nil, Nil) would make sense
11:48 FROGGS masak: true, I tend to love that thing too :O)
11:49 colomon why?  Nil isn't a type, is it?
11:50 moritz it is.
11:50 masak it used not to be.
11:54 * colomon is starting to develop an intense dislike of Nil
11:55 dalek v5: ab1f3a6 | (Tobias Leich)++ | / (5 files):
11:55 dalek v5: allow &$x(), added refs prototype and wire fail() to Test::flunk
11:55 dalek v5: review: https://github.com/rakudo-p5/v5/commit/ab1f3a665e
11:57 spider-mario joined #perl6
12:07 domidumont joined #perl6
12:17 * lizmat just found that making Sets/Bags accept objects, makes parsing core settings go from 131+ seconds to 150+ seconds
12:17 moritz :(
12:18 lizmat wonder whether we shouldn't have an implementation of Sets/Bags that will upgrade itself as soon as it encounters an object
12:18 lizmat otherwise, just stay as a hash
12:18 lizmat *or* implement Set/KeySet as arrays
12:19 lizmat sorted arrays
12:19 domidumont joined #perl6
12:28 domidumont joined #perl6
12:31 tadzik wait, wat
12:31 tadzik why does it make parsing so much longer? Is the code longer?
12:32 FROGGS yeah, a Bag full of more lines
12:34 jnthn lizmat: You got the patch that causes that? That's...odd.
12:34 flussence nqp bisect done, 360e781cd09714b28b83f9cbb6aba2f466eb45d7 broke the Buf code
12:35 lizmat the number of lines is minimal
12:35 FROGGS it just hash to be slower...
12:36 jnthn flussence: o.O
12:36 lizmat golfing a bit further
12:37 flussence (that's just the rakudo-parrot Buf.decode problem; I'm not sure about the rakudo-jvm signed ints thing)
12:40 lizmat https://gist.github.com/lizmat/6423390
12:41 lizmat making parse go from 131 to 150
12:41 jnthn Wow.]
12:41 lizmat also: with that patch, it doesn't build
12:41 lizmat because of the serialization context bug
12:49 lizmat doing the same with Bag, gives similar increase in parse time (just below 150 seconds)
12:50 jnthn Well, it is forced to go ahead and compile the TypedHash role body when you want to do the mixin, I guess.
12:51 lizmat wouldn't it more be because internally Sets/Bags are used, and they're slower
12:51 lizmat actually, I just realized we don't need typed hashes for Set/KeySet
12:52 lizmat instead, we could use a "normal" hash, use the .WHICH as the key, and the original value as the value
12:52 lizmat and then mess with at_key and such
12:53 jnthn lizmat: No, they're not used internally.
12:53 jnthn lizmat: It's because of the on-demand comp...
12:53 jnthn It should not be so expensive. I'm curious where the time goes.
12:54 lizmat so compiling TypedHash takes ~20 seconds ?
12:54 lizmat wow
12:54 jnthn Yes, something feels a bit off there.
12:54 lizmat I think there's something rotten
12:54 lizmat and maybe *that* is causing the serialization problem
12:54 lizmat because we have garbage in memory ?
12:54 jnthn That doesn't quite follow for me...
12:55 jnthn But I agree something is wrong if it takes so long.
12:55 lizmat ok, need to go on our way to Amsterdam, for the amsterdam.pm meeting
12:55 jnthn ok
12:55 jnthn Enjoy it :)
12:55 lizmat we will!
12:55 notjack joined #perl6
13:07 Teratogen CONN, SONAR.  CRAZY IVAN!
13:08 ajr joined #perl6
13:13 p5eval joined #perl6
13:13 diakopter Teratogen: what? :)
13:13 diakopter http://www.youtube.com/watch?v=RoFSTQ9AIVg
13:15 fhelmberger_ joined #perl6
13:15 ksh joined #perl6
13:19 PacoAir joined #perl6
13:20 kbaker joined #perl6
13:21 PacoAir joined #perl6
13:21 woolfy left #perl6
13:34 dalek Perlito: 21af3dc | (Flavio S. Glock)++ | TODO-perlito5:
13:34 dalek Perlito: Perlito5 - js - TODO update
13:34 dalek Perlito: review: https://github.com/fglock/Perlito/commit/21af3dc481
13:36 pmurias joined #perl6
13:43 btyler joined #perl6
13:44 kaare_ joined #perl6
13:47 mathw hello!
13:47 mathw I was on holiday, and now I'm not :(
13:51 FROGGS :/
13:51 FROGGS hey hey mathw
13:51 FROGGS :o)
13:52 FROGGS one of my favourite songs of my childhood: http://www.youtube.com/watch?v=O1Jb9aTSoSc
13:53 jnap joined #perl6
14:00 mathw hi froggs
14:00 masak hi mathw! \o
14:00 mathw just been having a discussion with a colleague about how to write code that doesn't suck
14:01 masak I like that kind of code.
14:01 mathw we do too
14:01 masak I just taught a course about how to factor systems so they don't suck.
14:01 masak we call the course "Software Architecture", which is totally a thing, because software is like houses.
14:02 mathw the problem we have talking about it is that my interests are in functional and various cutting-edge languages, and he's always looking at how to best utilise the current Big Thing. So he talks about things like SOLID, while I'm looking to see if there's a way I can simulate the Either monad
14:02 mathw hehe
14:02 mathw but it's complicated, so many levels to it
14:02 mathw what is the best way to give your program access to a database?
14:02 mathw what is the right line to draw the abstraction around your database code on?
14:03 masak sounds like there are many intersections between your discussions and our course.
14:03 mathw probably
14:03 mathw I tend to think that our usual approach to software betrays our inexperience
14:03 tadzik heh, software is like houses. Well, is there any "X are like Y" that doesn't work for some reason? :)
14:03 mathw we've only been doing it for 60 years or so, we need more practice
14:03 tadzik ogres are like onions
14:03 diakopter things are like non-things
14:04 PerlJam software is like leeches
14:04 mathw I'm enticed by the things people say about Lisp, but then I fall over the lack of static type checking of function parameters I mean really is that so hard?
14:04 masak tadzik: any analogy has a part that fits and a part that doesn't fit. it's only a good analogy if the part that fits is dominant.
14:04 tadzik true
14:04 masak PerlJam: I know exactly what you mean :P
14:05 masak diakopter: except they're a bit more... thing-y.
14:05 masak decommute &
14:05 pmurias mathw: re static type checking of function paramets there are statically typed lisps
14:06 mathw I know about typed racket
14:07 mathw that's what they're using as an exemplar for how to do it for Clojure
14:08 pmurias but mixing full dynamism with static type checking seems hard
14:11 stevan__ joined #perl6
14:14 pmurias mathw: have you seen liskell, which is haskell in s-expresion syntax?
14:15 stevan_ joined #perl6
14:17 benabik joined #perl6
14:18 mathw no, but I like Haskell's syntax just fine so I'm not sure I'd want to
14:20 pmurias I'm not sure why you would want to use a staticly typed checked lisp
14:25 stevan_ joined #perl6
14:49 FROGGS r: say 0x7fabe981f4e0 + 176
14:49 camelia rakudo 484f08: OUTPUT«140376333743504␤»
14:50 FROGGS r: say (0x7fabe981f4e0 + 176).fmt('%#x')
14:50 camelia rakudo 484f08: OUTPUT«0x7fabe981f590␤»
15:01 sqirrel joined #perl6
15:03 domidumont joined #perl6
15:05 donaldh joined #perl6
15:07 diakopter nqp: class F { has int @foo; }; my $f := F.new;
15:07 camelia nqp: OUTPUT«Type mismatch when storing value to attribute '@foo' on class 'F'␤current instr.: '' pc 9137 (src/stage2/gen/NQPCORE.setting.pir:4172) (src/stage2/NQPCORE.setting:528)␤»
15:07 diakopter jnthn: ^ halp.
15:08 jnthn diakopter: You can't do native arrays in NQP
15:08 jnthn diakopter: Well, you can
15:08 diakopter plah.
15:08 jnthn You just have to @!foo := nqp::list_i(); somewhere
15:09 jnthn But then have to use the nqp::atpos_i and nqp::bindpos_i to work with it :)
15:12 xinming joined #perl6
15:14 [particle] joined #perl6
15:15 jnap joined #perl6
15:17 dalek Perlito/replito: ddbd939 | (Stanislaw Pusep)++ | html/ (3 files):
15:17 dalek Perlito/replito: Perlito + jqconsole = replito
15:17 dalek Perlito/replito: review: https://github.com/fglock/Perlito/commit/ddbd93949d
15:17 dalek Perlito/replito: 56c0d14 | (Stanislaw Pusep)++ | html/replito.html:
15:17 dalek Perlito/replito: Ctrl+C to abort replito instead of Ctrl-Z
15:18 dalek joined #perl6
15:27 pmurias should there be a difference between how CCLASS_ALPHANUMERIC and CCLASS_WORD?
15:30 JimmyZ word is _ or digit or alphabetic.
15:30 JimmyZ alphanumeric is digit or alphabetic.
15:30 jnthn alphanumeric may mean just ASCII, I forget... See the iscclass impl on JVM :)
15:31 jnthn But yeah, word would include _ too
15:31 JimmyZ I see it in MoarVM
15:31 * pmurias might need a bigger font as he didn't see the _ check
15:31 jnthn iirc, that is the difference :)
15:31 pmurias yes
15:31 jnthn JimmyZ: ah, and I did that from looking at JVM and/or Parrot
15:31 jnthn They *should* be fairly consistent. :)
15:31 JimmyZ heh
15:32 jnthn But trying to map back from Unicode properties to what the Java String API likes to call said properties was partly guessing and seeing if the tests pass :P
15:32 agre joined #perl6
15:33 pmurias jnthn: have you seen the incorrect longest token calculation bug (which I nopasted) for implicit whitespace?
15:34 stevan_ joined #perl6
15:35 jnthn pmurias: Yeah, but I dunno if we rely on it so didn't feel like looking any closer... :)
15:35 jnthn (Busy week here, and tired, etc.)
15:35 pmurias np, it's more a curiosity the a serious issue
15:36 pmurias s/the/then
15:36 pmurias I was mostly trying to be mean and find a place where we handle the rxtype ws incorrectly ;)
15:42 donaldh jnthn: when somthing like socket accept returns null, can I return null from an nqp op ?
15:42 donaldh jnthn: or do I need to return a SixModelObject ?
15:43 jnthn donaldh: null is OK, it's what nqp::null() does, and nqp::isnull checks for.
15:43 jnthn null is every type :)
15:43 donaldh okay dokey, thx
16:01 SamuraiJack__ joined #perl6
16:13 skids joined #perl6
16:17 rindolf joined #perl6
16:24 domidumont joined #perl6
16:28 lowpro30 joined #perl6
16:29 FROGGS joined #perl6
16:31 * [Coke] finds a few more niecza failures in roast today.
16:31 kaleem joined #perl6
16:46 ssutch joined #perl6
16:53 fhelmberger joined #perl6
16:54 Celelibi joined #perl6
16:56 sqirrel joined #perl6
17:00 ingy *morning* o/
17:01 isBEKaml joined #perl6
17:07 ajr joined #perl6
17:09 vk joined #perl6
17:14 vk joined #perl6
17:15 slava joined #perl6
17:18 slava moritz: I hear you have done some psgi related dev before, any pointers on what framework one should start with for a restful app? :)
17:19 moritz slava: I haven't, in Perl 6
17:19 moritz slava: maybe Bailador works for you; dunno
17:19 moritz tadzik++ did that one
17:20 slava will take a look, thanks. :)
17:20 slava ha, second result on google
17:21 slava wait ... bailador is a perl6 version of dancer? ....... 1000 times faster </home>
17:21 slava homer*
17:21 slava ^_^
17:21 Faxmachinen joined #perl6
17:22 Faxmachinen r: my Str $foo; say $foo.?chars;
17:22 camelia rakudo 484f08: OUTPUT«use of uninitialized value of type Str in string context  in block  at /tmp/jpxaPtsMfB:1␤␤0␤»
17:22 timotimo i don't understand what you mean by "1000 times faster" :|
17:23 Faxmachinen Shouldn't objects be initialized to some null object which has no methods by default?
17:23 Faxmachinen Otherwise, what is .? for?
17:23 timotimo variables that are not defined contain the type object
17:23 timotimo that's why you can do my Dog $foo .= new
17:24 donaldh when I want to put "Mac OS X" into a list, is it possible to use < >  ?
17:24 Faxmachinen When doing recursion, it would be more practical if .? did nothing
17:25 Faxmachinen r: class Foo { has Foo $.next; method recurse() { $.next.?recurse } }; Foo.new.recurse;
17:25 camelia rakudo 484f08: OUTPUT«Cannot look up attributes in a type object␤  in method next at src/gen/CORE.setting:2450␤  in method recurse at /tmp/o5akfrG0tc:1␤  in method recurse at /tmp/o5akfrG0tc:1␤  in block  at /tmp/o5akfrG0tc:1␤␤»
17:26 timotimo donaldh: in theory yes, but i think it's nyi in rakudo
17:26 Faxmachinen Well, at least the newest Rakudo does that. Mine just recurses forever
17:27 timotimo can't find the synopsis about the .? method call thing
17:27 slava timotimo: it's a reference to a simpsons episode where homer is getting faster internet (trouble finding a video clip of it)
17:27 timotimo oh, ok
17:28 ingy I want to do some work on some perl6 modules
17:28 ingy what's the best build to use?
17:29 timotimo well, a parrot based rakudo is currently your best bet for getting modules up and running comfortably
17:30 ingy thx timotimo
17:30 timotimo the current versions of rakudo, that is after the latest star release, will warn you if you self.bless(*, ...), so that may get annoying fast
17:31 donaldh ingy: you might be as well to use the latest star release
17:31 ingy I can start with HEAD and switch to * if needed
17:31 timotimo sounds good
17:31 timotimo what modules did you have in mind? i think there's still work to be done for testml, which is a dependency for yaml. i suppose having a working yaml implementation would be beneficial, but of course you're free to do whatever you're most interested in at the moment
17:33 ingy timotimo: both of those :)
17:34 Faxmachinen r: class Foo {}; say Foo ~~ Foo, Foo.new ~~ Foo;
17:34 ingy also the yaml module is only a dumper iirc
17:34 camelia rakudo 484f08: OUTPUT«TrueTrue␤»
17:34 Faxmachinen Hmm. How can I tell the difference between a class and an instance thereof?
17:34 ingy interested in writing a parser/loader
17:37 lowpro30 joined #perl6
17:37 Faxmachinen Ah, triple-equals, of course.
17:37 GlitchMr Faxmachinen, class is like null in other programming languages.
17:38 GlitchMr Also, ~~ is smartmatch, and in this case, it checks whatever first argument is instance of Foo.
17:38 Faxmachinen GlitchMr. I suppose so. I'm complaining that it's not a very good null however :)
17:38 GlitchMr It's typed null.
17:39 timotimo Faxmachinen: you can smartmatch against Foo:D or check .defined
17:39 pecastro joined #perl6
17:39 timotimo r: my Str $a; say $a ~~ :defined
17:39 camelia rakudo 484f08: OUTPUT«False␤»
17:39 timotimo r: my Str $a = "hi"; say $a ~~ :defined
17:39 camelia rakudo 484f08: OUTPUT«True␤»
17:39 Faxmachinen Thanks!
17:39 GlitchMr :D means defined.
17:40 Faxmachinen :D
17:40 TimToady well, .DEFINITE really
17:40 GlitchMr (ok, I assume :D is an emoticon)
17:40 GlitchMr It's a type that doesn't accept null (undefined value) as its value.
17:41 GlitchMr rn: say Int ~~ Int:D
17:41 camelia rakudo 484f08, niecza v24-92-g3961d5d: OUTPUT«True␤»
17:41 TimToady er...
17:41 GlitchMr I'm not sure if I understand.
17:41 timotimo er, huh?
17:42 TimToady rn: say Int ~~ Int :D
17:42 camelia niecza v24-92-g3961d5d: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤You can't adverb that at /tmp/aJBKhfO3FP line 1 (EOF):â�¤------> [32msay Int ~~ Int :D[33mâ��[31m<EOL>[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5) â�¤  at /home/p6e…
17:42 camelia ..rakudo 484f08: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/F9BJ1rKXgbâ�¤You can't adverb thatâ�¤at /tmp/F9BJ1rKXgb:1â�¤------> [32msay Int ~~ Int :D[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        pair valueâ�¤Â»
17:42 timotimo r: my Int $a; say $a ~~ Int:D
17:42 ingy How can I write a p6 grammar (for a syntax like, say, yaml) that acts like a lexer (prints tokens to stdout)?
17:42 camelia rakudo 484f08: OUTPUT«True␤»
17:42 GlitchMr :D seems to work in subroutines, but nowhere else for me.
17:43 TimToady arguably a bug
17:44 TimToady ingy: is there something wrong with just putting { say "footoken" } after you recognized the footoken?
17:44 slava ls
17:44 slava oops, sorry
17:44 ingy TimToady: no, not at all. just asking :)
17:45 PerlJam ingy: you could write a module that will auto-output token info  :)
17:45 TimToady of course, if you ever want to backtrack, you've got trouble with side effects you can't take back
17:45 TimToady so people usually parse bigger chunks and then crawl the tree
17:45 ingy TimToady: of course, understood
17:46 kbaker joined #perl6
17:46 Faxmachinen I always thought it was strange that actions are performed before the match completes
17:47 ingy More than likely I'll try to keep it down to 1 token lookahaed
17:47 Faxmachinen Is there any way around it besides turning off backtracking?
17:47 TimToady the usual action is to attach an ast to the match tree, which is safe in the face of backtracking
17:48 ingy Faxmachinen: that's because you think of P6 regexes as regexes. (They are full-on parser generators)
17:48 TimToady anything you attach to the current cursor will get thrown away if the cursor is thrown away to backtrack
17:49 Faxmachinen True. Wouldn't you have to call methods manually afterwards if you attached them though?
17:49 TimToady if you want to have delay actions, you can even attach closures to the tree, then trigger them as a separate pass
17:49 TimToady *delayed
17:49 TimToady sure, but one could abstract that
17:49 ingy basically I want a streaming parser
17:50 ingy so  I can only delay so much
17:50 TimToady as long as you know the limits on backtracking, or that it can be parsed one-pass, you're fine
17:50 * TimToady has a large preference for one-pass parsing
17:51 ingy YAML was designed to be one pass
17:51 TimToady then there should be no problem with immediate side effects
17:51 ingy :)
17:56 TimToady Faxmachinen: for instance, one could build up an ast that is basically just a list of all the closures you want to run once you commit; you'd just want a { make ... } variant that knows how to marshall those closures
18:01 TimToady a language that makes it really easy to generate a lazy list of closures doesn't really need special syntax for delayed actions, especially if you can write a macro or two to abstract it
18:01 TimToady unlike, say, Snobol, where it's sort of a necessity
18:02 Faxmachinen True. Is there sugar for executing each sub in an array?
18:02 TimToady @array».() if you don't care about the order
18:03 Faxmachinen Cool
18:03 TimToady .() for @array if you do care
18:04 TimToady or @array.map: *.()
18:04 Faxmachinen Hmm, yes. One probably would care about the order when parsing
18:04 TimToady there are two orders to care about
18:04 TimToady hyper guarantees order of results, but not order of execution
18:05 TimToady so it depends on, er, the dependencies
18:05 sqirrel joined #perl6
18:05 flussence Wow. This is a new one...
18:05 flussence ~ $ rakudo-jvm
18:05 flussence > "?java.io.IOException: invalid UTF-8 first byte: -99
18:06 flussence didn't even let me finish the input line.
18:06 TimToady welcome to Java's signed arithmetic
18:06 Faxmachinen That reminds me of something
18:06 Faxmachinen r: "Ø"
18:06 camelia rakudo 484f08:  ( no output )
18:06 dalek specs: e05910e | (Dagur Valberg Johannsson)++ | S32-setting-library/Containers.pod:
18:06 dalek specs: Make subbuf act more like Str.subbuf
18:06 dalek specs: review: https://github.com/perl6/specs/commit/e05910e115
18:07 Faxmachinen Hmm. That expression crashes my rakudo interpreter
18:07 TimToady but that's maybe a problem in linenoise or realine?
18:07 flussence r: say "𝕙".chars
18:07 camelia rakudo 484f08: OUTPUT«1␤»
18:07 TimToady *readline
18:07 dalek roast: 6def40c | (Dagur Valberg Johannsson)++ | S03-operators/buf.t:
18:07 dalek roast: Added more tests for Buf.subbuf
18:07 dalek roast: review: https://github.com/perl6/roast/commit/6def40c6ac
18:07 Faxmachinen > "Ø"
18:07 Faxmachinen Malformed UTF-8 string
18:08 TimToady is your terminal set to UTF-8?
18:08 Faxmachinen Probably not
18:08 Faxmachinen Should it crash the REPL though?
18:08 moritz it shouldn't crash, but it won't work either
18:09 moritz (see the /topic here :-)
18:09 flussence it's reasonable for it to complain if things are amiss (at least, after the input \n...)
18:10 TimToady nr: say chr(-99 + 128)
18:10 camelia rakudo 484f08, niecza v24-92-g3961d5d: OUTPUT«␤»
18:10 flussence r: say "𝕙".encode
18:10 camelia rakudo 484f08: OUTPUT«Buf:0x<f0 9d 95 99>␤»
18:11 donaldh joined #perl6
18:11 flussence r: say "𝕙".encode».fmt('%x')
18:11 camelia rakudo 484f08: OUTPUT«No such method 'fmt' for invocant of type 'utf8'␤  in method dispatch:<hyper> at src/gen/CORE.setting:1191␤  in block  at /tmp/byOixKjyzv:1␤␤»
18:11 flussence argh
18:11 flussence r: say "𝕙".encode.values».fmt('%x')
18:11 camelia rakudo 484f08: OUTPUT«f0 9d 95 99␤»
18:11 flussence r: say "𝕙".encode.values».fmt('%d')
18:11 camelia rakudo 484f08: OUTPUT«240 157 149 153␤»
18:12 TimToady isn't ^] what some telnets use to escape to the command line?
18:12 flussence r: say 128 - 99
18:12 camelia rakudo 484f08: OUTPUT«29␤»
18:12 TimToady nr: say chr(-99 + 256)
18:12 camelia rakudo 484f08, niecza v24-92-g3961d5d: OUTPUT«␤»
18:13 TimToady huh?
18:13 flussence r: say 256 - 99
18:13 camelia rakudo 484f08: OUTPUT«157␤»
18:13 flussence `man ascii` says 29 is nothing interesting...
18:14 flussence (escape is 27)
18:14 TimToady but it's ^]
18:14 TimToady hence my telnet comment
18:14 flussence hm
18:14 TimToady nr: say chr(-99 + 256).ord
18:14 camelia rakudo 484f08, niecza v24-92-g3961d5d: OUTPUT«157␤»
18:14 ingy rakudo/parrot seems decently zippy on my new laptop
18:14 Tene joined #perl6
18:15 TimToady I guess irssi just makes those look the same
18:15 flussence r: say ord(']') - 40
18:15 camelia rakudo 484f08: OUTPUT«53␤»
18:15 flussence r: say ord(']') - 0x40
18:15 camelia rakudo 484f08: OUTPUT«29␤»
18:15 TimToady what were you trying to type?
18:15 flussence that ^
18:15 TimToady or did you get past the "?
18:15 flussence oh, the first thing you mean
18:16 TimToady what did you type to get the -99?
18:16 flussence I was typing the string from «r: say "𝕙".chars» above, and it barfed mid-typing
18:16 TimToady could you have typed CTRL-] by accident?
18:16 flussence (well, copy-pasting from gvim to be exact)
18:17 TimToady huh
18:17 lowpro30_ joined #perl6
18:17 TimToady does gvim think it's in Latin-1?
18:17 dalek roast: dd0e0b5 | (Dagur Valberg Johannsson)++ | S03-operators/buf.t:
18:17 dalek roast: up plan count
18:17 dalek roast: review: https://github.com/perl6/roast/commit/dd0e0b5521
18:18 flussence I'm pretty certain most of the programs on here are utf-8-clean...
18:18 flussence never seen a problem like that before, readline-type stuff usually doesn't care until I hit return
18:19 TimToady well, it tried to interpret the 157 char as -99, I guess
18:19 TimToady since -99 and 157 are the same mod 256
18:19 TimToady and the sign is probably just Java-damage
18:19 djanatyn joined #perl6
18:22 Joe____ joined #perl6
18:22 TimToady actually, it kind sounds like the copy/paste lost the 1st utf8 byte somehow
18:22 TimToady *kinda
18:23 flussence I can write «'£'.encode» on the jvm repl no problem, even though the result comes back wrong
18:23 TimToady or maybe a problem with nulls interspersed?
18:23 flussence maybe it doesn't like non-ucs2...
18:24 bluescreen10 joined #perl6
18:25 flussence aha
18:25 flussence I tried an 0xfffd and an 0x10000 and the latter crashed it
18:27 flussence interestingly it does nothing until I've given it at least one other char of input
18:27 ajr joined #perl6
18:28 flussence «'𐀀» crashes it, as does «𐀀𐀀», but «𐀀» just doesn't echo anything at all
18:28 lizmat joined #perl6
18:35 flussence this "invalid first byte" and the "index out of bounds" problem I've been having on parrot... sounds awfully like there's an off-by-one in the utf8 code somewhere.
18:35 lowpro30__ joined #perl6
18:36 [Coke] is it something you can gist? (then you can try it on the evalbot's niecza and pugs, too)
18:37 flussence n: say "𐀀".ord
18:37 camelia niecza v24-92-g3961d5d: OUTPUT«65536␤»
18:37 flussence that pastes as mojibake locally, but the output is correct
18:37 arnsholt *sigh* I must be some kind of technology anti-whisperer
18:38 FROGGS arnsholt: sup?
18:38 arnsholt Try to write NQP tests for NativeCall, trigger weird bugs in either NQP or Parrot
18:38 * FROGGS .oO( to boldly go where no one has gone before )
18:39 [Coke] arnsholt: like, some kind of infectious luddite?
18:39 flussence arnsholt: I'm having as much fun as you are and I'm coding nowhere near the internals!
18:39 TimToady diakopter++ does that on purpose :)
18:40 zwut00 joined #perl6
18:41 masak that's half the fun of it.
18:41 masak "what happens if I... oops!" :)
18:42 flussence hm, niecza's readline doesn't play nice with non-ucs2 chars either, but at least it understands what I'm telling it even if it can't echo it back.
18:44 flussence rn: say "\x1f63e".encode('utf-16').decode('utf-16').ord.fmt('%x')
18:44 camelia rakudo 484f08: OUTPUT«VMArray: index out of bounds␤  in method decode at src/gen/CORE.setting:4882␤  in block  at /tmp/w2NI93kaRJ:1␤␤»
18:44 camelia ..niecza v24-92-g3961d5d: OUTPUT«1f63e␤»
18:45 zwut00 joined #perl6
18:45 flussence niecza++ # least insanity
18:49 lizmat r: say set( <a b c d e> ).values  # questions the sense of allowing .values on sets
18:49 camelia rakudo 484f08: OUTPUT«True True True True True␤»
18:49 denis_boyun joined #perl6
18:49 jnthn I don't see much value to it...
18:49 TimToady r: say "\x1f63e".encode('utf-16')
18:49 camelia rakudo 484f08: OUTPUT«Buf:0x<d83d de3e>␤»
18:49 TimToady those are negative on JVM, sigh
18:49 stevan_ joined #perl6
18:50 jnthn I thought I fixed that :/
18:50 TimToady jnthn: True
18:50 jnthn Arguably it's .values on the Set that should tell me whats in it and .keys makes no sense 'cus you can't index a Set...
18:50 TimToady Buf:0x<-27c3 -21c2>
18:52 TimToady r: say set( <a b c d e> )[]
18:52 camelia rakudo 484f08: OUTPUT«a b c d e␤»
18:54 TimToady r: say <a b c d e>.keys
18:54 camelia rakudo 484f08: OUTPUT«0 1 2 3 4␤»
18:54 TimToady makes about as much sense as that :)
18:54 flussence .oO( hm... if I could only figure out how to hack a Buf.values into niecza I'd be able to make do with that )
18:55 TimToady first you'd have to hack in Buf
18:56 flussence I noticed the lack of one in the source, but how did that .encode.decode line work without it?
18:56 TimToady n: say "\x1f63e".encode('utf-16').WHAT
18:56 camelia niecza v24-92-g3961d5d: OUTPUT«(Buf)␤»
18:56 TimToady I guess it's half implemented
18:57 TimToady n: say "\x1f63e".encode('utf-16')
18:57 camelia niecza v24-92-g3961d5d: OUTPUT«Buf.new(...)␤»
18:57 TimToady n: say "\x1f63e".encode('utf-16')[0].WHAT
18:57 camelia niecza v24-92-g3961d5d: OUTPUT«(Buf)␤»
18:57 TimToady doesn't really do Positional, I guess
18:58 TimToady n: say Buf ~~ Positional
18:58 camelia niecza v24-92-g3961d5d: OUTPUT«False␤»
18:58 TimToady r: say Buf ~~ Positional
18:58 camelia rakudo 484f08: OUTPUT«True␤»
18:59 TimToady they're really more like blobs in this case, I guess
19:10 stevan_ joined #perl6
19:11 abnorman joined #perl6
19:15 go|dfish joined #perl6
19:26 arnsholt jnthn: Could you give https://gist.github.com/arnsholt/6428396 a whirl on NQP/Parrot? On my machine it (most of the time) returns 0x1 from VTABLE_get_pmc_keyed_int (nqp_dyncall.ops:857), which predicatbly causes a segfault a bit later
19:27 arnsholt Potentially a Parrotbug?
19:34 moritz arnsholt: I guess you're missing a   use Test; use NativeCall;  at the top?
19:34 go|dfish joined #perl6
19:34 Util FYI: #ps time
19:35 moritz oh wait, that's NQP code :/
19:35 Juerd Why is infix:<%%> not infix:<!%>?
19:36 TimToady because it's not read "is not non-divisible by"
19:37 arnsholt moritz: Yeah, NQP code. Also, missing use shouldn't trigger a segfault =)
19:37 TimToady and because % isn't a boolean op in the first place  :)
19:37 Juerd TimToady: It is if you ! it ;)
19:37 Juerd But thanks for the explanation.
19:37 TimToady std: 5 !% 2
19:37 camelia std 27326bc: OUTPUT«[31m===[0mSORRY![31m===[0m�Cannot negate % because multiplicative operators are not iffy enough at /tmp/Yb_jaIYT9_ line 1:�------> [32m5 !%[33m�[31m 2[0m�Parse failed�FAILED 00:00 42m�»
19:38 Juerd s/is/would be/ then :)
19:38 TimToady :)
19:38 TimToady also, the two-ness of it implies "comes out even" in a visual metaphorical sense
19:39 TimToady and it's just prettier :)
19:39 arnsholt moritz: Feel free to give it a spin though, if you have a NQP/Parrot at hand
19:39 Juerd .oO( $foo %%% 3, $foo %%%% 4, $foo %%%%% 5, ... ;-) )
19:42 stevan_ joined #perl6
19:43 moritz arnsholt: I get
19:43 moritz error:imcc:syntax error, unexpected PREG, expecting '(' ('$P108') in file '(file unknown)' line 85
19:44 moritz arnsholt: which comes from the first nqp::buildnativecall call
19:46 arnsholt Derp?
19:46 arnsholt Maybe I pastoed. 'Sec
19:46 arnsholt Oh, oh!
19:47 arnsholt moritz: You need to run it with nqp --vmlibs=nqp_dyncall_ops $file
19:47 arnsholt To get the NativeCall ops
19:48 moritz arnsholt: http://perlpunks.de/paste/show/52263cfe.31f3.3d2 that's what I get then
19:48 arnsholt Yeah, that's the non-segfault problem that I get once in a while
19:49 arnsholt Haven't figured that one out yet
19:49 moritz and now I get
19:49 moritz nqp: malloc.c:3616: _int_malloc: Assertion `(unsigned long)(size) >= (unsigned long)(nb)' failed.
19:49 camelia nqp: OUTPUT«Confused at line 2, near "malloc.c:3"␤current instr.: 'panic' pc 14693 (src/stage2/gen/NQPHLL.pir:5223) (src/stage2/gen/NQPHLL.nqp:279)␤»
19:49 moritz Aborted
19:49 moritz but I haven't got a segfault yet
19:49 arnsholt Yeah, I've gotten that one too
19:50 arnsholt There are a couple of different failure modes I've seen
19:51 awwaiid joined #perl6
19:51 arnsholt And adding/removing code from the file seems to have some kind of influence, so it seems related to memory layout and such
19:53 moritz now I got a segfault too :-)
19:53 arnsholt Yay, I guess? =)
19:54 jnthn Does invoking it directly with Parrot and supplying the -G (no GC) flag change things?
19:54 jnthn That way you can know if it's GC related or not.
19:56 arnsholt Kaboom, even with -G
19:57 jnthn OK
19:57 jnthn Just boring old memory corruption then I guess...
19:58 arnsholt Yeah
19:58 arnsholt Commenting out the nqp::nativecall ops doesn't change it, so it's not that op that's buggy it seems
19:59 arnsholt There's no optimisation going on in NQP, right?
19:59 jnthn Right
20:00 FROGGS didnt timotimo++ added optimization stuff lately?
20:01 FROGGS see: https://github.com/perl6/nqp/commits?author=timo
20:01 jnthn I...thought that was still in a branch?
20:02 arnsholt https://github.com/perl6/nqp/commit/f1d040dc4cd4b47f0172242760efce2c851b5bb5
20:02 arnsholt Looks like it's merged
20:04 * arnsholt removes the optimise stage and tries again
20:07 arnsholt Still segfault
20:07 arnsholt Oh, hooray. This time I got a segfault in Parrot_pa_insert, while allocating a new Parrot string
20:08 arnsholt [Coke] was right, it's infectious ludditism
20:12 arnsholt But bedtime now, I think. I'll give this another whack tomorrow
20:13 xenoterracide joined #perl6
20:13 FROGGS arnsholt: sleep well
20:15 logie joined #perl6
20:23 diakopter nqp: class Foo { BEGIN { our $foo := 234; } }; say($Foo::foo)
20:23 camelia nqp: OUTPUT«Can only use get_who on a SixModelObject␤current instr.: '' pc 24 ((file unknown):34) (/tmp/VHuBND53iN:1)␤»
20:23 diakopter nqp: class Foo { BEGIN { our $foo := 234; } };
20:23 camelia nqp: OUTPUT«Can only use get_who on a SixModelObject␤current instr.: '' pc 24 ((file unknown):34) (/tmp/dh38oY3mh8:1)␤»
20:24 diakopter nqp: class Foo { our $foo; BEGIN { $foo := 234; } };
20:24 camelia nqp: OUTPUT«Can only use get_who on a SixModelObject␤current instr.: '' pc 3 ((file unknown):22) (/tmp/NdXhBalU0R:1)␤»
20:24 diakopter sigh
20:24 jnthn BEGIN in NQP is exactly as capable as Rakudo's BOOTSTRAP needs and no more...
20:26 xinming_ joined #perl6
20:31 lizmat decommuting&
20:33 [Coke] [A
20:34 [Coke] ww
20:40 donaldh joined #perl6
20:43 iSlug joined #perl6
20:45 pmurias joined #perl6
20:47 jnthn nqp: sub foo() { return; say('oops') }; foo()
20:47 camelia nqp: OUTPUT«oops␤»
20:47 jnthn FROGGS: ^^ o.O
20:48 FROGGS I had not expected this :o)
20:48 moritz nobody expects the nqpish inquisition!
20:49 FROGGS so I'm going to fix the test :o)
20:49 FROGGS that was easy
20:50 FROGGS but how can nqp@parrot just ignore that return; ?
20:50 FROGGS nqp-jvm: sub foo() { return; say('oops') }; foo()
20:50 camelia nqp-jvm: OUTPUT«oops␤»
20:50 FROGGS nqp-jvm: sub foo() { return; }; foo()
20:50 camelia nqp-jvm:  ( no output )
20:50 jnthn nqp: sub foo() { ignore; say('oops') }; foo()
20:50 camelia nqp: OUTPUT«oops␤»
20:50 jnthn nqp: sub foo() { pivo; say('oops') }; foo()
20:50 FROGGS >.<
20:50 camelia nqp: OUTPUT«oops␤»
20:51 diakopter giggle
20:51 dalek perl6-roast-data: 708fe96 | coke++ | / (5 files):
20:51 dalek perl6-roast-data: today (automated commit)
20:51 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/708fe969d4
20:52 [Coke] rakudo.jvm failures have jumped from about 300 to over 530.
20:52 [Coke] niecza is down to 13 failures.
20:54 [Coke] (but it's percentage -still- dropped, due to more rakudo passes)
20:54 [Coke] *its
20:54 dalek nqp: c51cd7c | (Tobias Leich)++ | t/nqp/44-try-catch.t:
20:54 dalek nqp: return is a list prefix
20:54 dalek nqp: review: https://github.com/perl6/nqp/commit/c51cd7cffb
20:56 colomon curse rakudo and it's… no, wait, more rakudo passes are good.  did rakudo.jvm lose previously passing tests, or were 230 tests added but jvm doesn't pass them yet?
20:56 * jnthn should give Rakudo JVM some tuits again soon, now the NQP selfhost on Moar is coming together
20:57 colomon \o/
21:00 dmol joined #perl6
21:04 dmol joined #perl6
21:28 EvanTeitelman joined #perl6
21:34 dmol joined #perl6
21:37 dmol joined #perl6
21:40 donaldh I'm investigating how to implement qqx{ … } on JVM. It makes use of nqp::open($cmd, 'rp')
21:41 donaldh I can spawn a process and attach it to a read IOHandle, so that's all good.
21:42 donaldh The problem is that I need $*CWD and $*ENV to successfully launch a process.
21:43 donaldh To correctly support chdir emulation, we will need these parameters to spawn processes on all backends.
21:44 jnthn donaldh: Maybe just define an nqp::openpipe or so
21:44 EvanTeitelman joined #perl6
21:44 donaldh jnthn: that's what I was going to suggest too :-)
21:45 donaldh I'm just worried about diverging from spec or expectations.
21:46 jnthn donaldh: Well, nqp:: ops are an implementation detail, we get to spec those ;)
21:47 jnthn It makes sense to me to do it that way, anyways
21:47 jnthn otoh, I'm sleep deprived :)
21:47 jnthn And didn't have any beer yet today.
21:47 jnthn So heck knows if I'm thinking clearly. :)
21:48 donaldh oh noes
21:48 donaldh what a terrible situation to find yourself in
21:48 jnthn Well, I guess I can fix the beer easy enough :)
21:48 donaldh I'm happy to go ahead with what you've suggested.
21:48 jnthn And maybe then I'll sleep well tonight :)
21:49 jnthn donaldh: Go for it, I wasn't that keen on parsing the p out of the string to see it's pipe mode anyway.
21:50 donaldh It's much cleaner to have a separate nqp op
21:50 jnthn donaldh: Probably an nqp::openpipe fits more naturally on MoarVM too :)
21:50 donaldh That's good!
21:52 dmol joined #perl6
21:53 * jnthn heads afk for the evening
21:53 jnthn 'night
22:06 EvanTeitelman joined #perl6
22:06 EvanTeitelman joined #perl6
22:12 dmol joined #perl6
22:21 masak 'night, #perl6
22:27 xinming joined #perl6
22:30 skids joined #perl6
22:52 [Coke] donaldh++
23:07 benabik joined #perl6
23:20 ssutch joined #perl6
23:22 ssutch joined #perl6

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

Perl 6 | Reference Documentation | Rakudo