Camelia, the Perl 6 bug

IRC log for #perl6, 2011-01-22

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs

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

All times shown according to UTC.

Time Nick Message
00:06 masak 'night, #perl6
00:07 masak left #perl6
00:07 jnthn Tssk. Either I'm dumb tonight or I've hit the point where all the things I need to do next in nqp-rx are a bit tricky. :)
00:10 lopaway is now known as lopnor
00:11 diakopter jnthn: :)
00:11 diakopter parrot or clr
00:12 dalek nqp-rx/nom: 25921fc | jonathan++ | src/Regex/Cursor.pm:
00:12 dalek nqp-rx/nom: Port Cursor.MATCH partially to NQP; this should more generally work with 6model too.
00:12 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/25921fcd14
00:12 dalek nqp-rx/nom: daf5b1e | jonathan++ | src/NQP/ (2 files):
00:12 dalek nqp-rx/nom: Quick 'n' dirty cut of private methods.
00:12 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/daf5b1e898
00:13 jnthn diakopter: More how to structure/design stuff.
00:13 jnthn diakopter: It ties into Cursor stuff
00:14 jnthn diakopter: And realizing that...the PIR version cheats like hell. :-)
00:14 jnthn diakopter: I guess you already discovered this. :)
00:14 jnthn Fiddling with the attributes of other objects directly rather than doing accessor calls etc.
00:15 diakopter yeah but it's faster
00:15 diakopter :D
00:15 jnthn Right
00:15 jnthn I'm pondering introducing a syntax for it to NQP.
00:16 diakopter ASSIGNMENT
00:16 diakopter oh wait.... ;)
00:16 jnthn :)
00:16 jnthn Also it kinda likes native types. :)
00:17 jnthn And the extra boxing all other the place that an NQP version would do is...gonna hurt a bit.
00:17 diakopter yeah. the nqpclr work I've done is using native types in the individual pattern matching routines...
00:17 diakopter as you know/remember, I think
00:17 jnthn Yeah, I noticed when I read it.
00:17 jnthn Maybe better to just go the whole hog.
00:18 diakopter but of course boxed when calling out to everything else
00:18 Tene TimToady: In many cases, you *can* get a filename for $*IN
00:18 jnthn If I'm gonna do that, I'm going to prototype it on nqpclr first.
00:18 Tene ls -l /proc/self/fd/0 < /etc/hosts
00:18 MayDaniel left #perl6
00:18 jnthn Then spend a while wondering how the heck to get Parrot's lexical handling to cope... :)
00:19 jnthn diakopter: Did you find that having real constants would be useful too?
00:21 jnthn In a sense, this stuff all needs doing but...its a yak shave at the moment. All I really wanted was to get grammars using 6model. Then I realized 6model is no fun to use from PIR. :)
00:22 jnthn eh well
00:22 * jnthn hunts for the shaver and starts packing to head to Tibet... :)
00:23 * sorear has renewed competition ?
00:24 diakopter heh
00:24 diakopter someday
00:24 diakopter if you view the comparison as such
00:25 sorear well, both of us are aiming for Christmas
00:25 diakopter ;)
00:27 jnthn If I've learned anything from nqpclr, it's how nice being able to do what the heck I like with the runtime layer is.
00:27 diakopter commitbits are fun
00:28 jnthn diakopter: :)
00:29 sorear jnthn: yes.
00:29 plobsing joined #perl6
00:30 dalek modules.perl6.org: f568ac1 | snarkyboojum++ | web/build-project-list.pl:
00:30 dalek modules.perl6.org: Add proto and camelia logos to build script
00:30 dalek modules.perl6.org: review: https://github.com/perl6/modul​es.perl6.org/commit/f568ac1037
00:54 diakopter how did I miss this http://www.gameinformer.com/b/news/a​rchive/2011/01/21/exclusive-duke-nuk​em-forever-has-a-release-date.aspx
00:54 [Coke] exit
00:54 diakopter [Coke]: :P
01:00 risou joined #perl6
01:00 cdarroch left #perl6
01:02 [Coke] ww!
01:22 * colomon is trying to figure out if http://www.ecse.rpi.edu/Homepages/w​rf/Research/Short_Notes/pnpoly.html is brilliant or very subtly wrong
01:33 colomon Ah, interesting.  It's magic simplicity comes from the fact it doesn't handle boundary cases consistently.
01:33 colomon *Its
01:34 kst left #perl6
01:34 risou_ joined #perl6
01:34 kst joined #perl6
01:35 colomon (Well, it's consistent about how it classifies a particular point on a particular polygon,  But it's not consistent in general as to whether points on the boundary are in or of out of the polygon.)
01:37 risou left #perl6
01:38 PerlJam colomon: I'll wager you could improve the method by using Rats instead of floating point numbers.
01:39 colomon I don't think it makes much difference in this case.
01:41 colomon It's interesting, because it really is an inadequate algorithm if you really need to know whether the point is in the interior of the polygon.
01:42 colomon But I think it does match masak's specification okay.
01:43 colomon (I believe he explicitly stated in #perl6 he didn't care about boundary conditions.)
01:46 lopnor is now known as lopaway
01:47 * colomon is now wondering if there are useful applications where the boundary information isn't important...
02:01 noganex_ joined #perl6
02:02 karupanerura joined #perl6
02:04 masonkramer_ joined #perl6
02:04 masonkramer left #perl6
02:04 masonkramer_ is now known as masonkramer
02:04 noganex left #perl6
02:07 karupanerura left #perl6
02:19 satyavvd joined #perl6
02:34 cafesofie left #perl6
02:45 clkao left #perl6
02:45 cafesofie joined #perl6
02:49 araujo left #perl6
02:58 araujo joined #perl6
02:58 araujo left #perl6
02:58 araujo joined #perl6
03:00 drbean joined #perl6
03:03 mberends left #perl6
03:09 hcchien left #perl6
03:15 hcchien joined #perl6
03:22 vmspb left #perl6
03:27 envi joined #perl6
03:29 Chillance left #perl6
03:36 __rnddim__ is now known as lue
03:38 justatheory joined #perl6
03:42 risou_ left #perl6
03:59 karupanerura joined #perl6
04:03 dalek roast: 000e905 | (Fitz Elliott)++ | S02-names_and_variables/perl.t:
04:03 dalek roast: [perl.t] unfudge final test for RT #64080 (self-assigned hashes)
04:03 dalek roast: review: https://github.com/perl6/roast/commit/000e905816
04:23 Su-Shee_ joined #perl6
04:27 Su-Shee left #perl6
04:34 [particle] left #perl6
04:35 [particle] joined #perl6
04:44 cafesofie left #perl6
04:49 kst left #perl6
04:50 kst joined #perl6
05:03 lue blog post! https://rdstar.wordpress.com/2011/​01/22/some-thoughts-on-p6-on-gcc/
05:04 cafesofie joined #perl6
05:12 rlinuxguy2 joined #perl6
05:12 rlinuxguy2 im ready for the perl6, the question is, is the perl6 ready for ME
05:16 TimToady not tonight, dear
05:17 rlinuxguy2 haha
05:18 rlinuxguy2 brb reboot
05:18 rlinuxguy2 left #perl6
05:19 lue If you are not a troll, P6 is ready for you. If you are a troll, Camelia is ready for you. :)
05:26 sorear perl6: 1 < (say "Hi"; 2) < 3
05:26 p6eval rakudo 388eed: OUTPUT«Hi␤»
05:26 p6eval ..niecza v1-181-g98d0cc5: OUTPUT«Hi␤Hi␤»
05:26 p6eval ..pugs: OUTPUT«*** ␤    Unexpected ";"␤    expecting term postfix, operator, ":", "," or ")"␤    at /tmp/aH5TL9Zw1A line 1, column 14␤»
05:27 c9s joined #perl6
05:27 molaf joined #perl6
05:28 drbean left #perl6
05:34 coldhead left #perl6
05:38 agentzh joined #perl6
05:43 Patterner left #perl6
05:44 diakopter perlesque: say(1 < (sub (-->int){say("Hi"); return 2})() < 3)
05:44 p6eval perlesque: OUTPUT«␤Unhandled Exception: System.InvalidOperationException: Cannot apply operator 'LessThan' to operands of type 'System.Boolean, System.Int32'␤  at sprixel.Operands.OverloadableOperation..ctor (sprixel.Operator op, sprixel.Operand[] operands) [0x00000] in <filename unknown>:0 ␤  at
05:44 p6eval ..sp…
05:45 Psyche^ joined #perl6
05:45 Psyche^ is now known as Patterner
05:57 diakopter hm
05:58 diakopter I guess perlesque could handle limited patterns of such comparison chains
06:00 diakopter rakudo: say(1 < (say "Hi"; 2) < 3)
06:00 p6eval rakudo 388eed: OUTPUT«Hi␤Bool::True␤»
06:00 diakopter rakudo: say("Hi"; 2)
06:00 p6eval rakudo 388eed: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
06:01 diakopter rakudo: say(say "Hi"; 2)
06:01 p6eval rakudo 388eed: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
06:01 diakopter rakudo: say (say "Hi"; 2)
06:01 p6eval rakudo 388eed: OUTPUT«Hi␤2␤»
06:04 stkowski left #perl6
06:06 agentzh left #perl6
06:07 stkowski joined #perl6
06:17 diakopter ... (by transforming them into shortcircuiting comparisons with assignments into temporaries
06:17 satyavvd_ joined #perl6
06:17 diakopter )
06:17 satyavvd left #perl6
06:20 satyavvd joined #perl6
06:21 satyavvd_ left #perl6
06:25 satyavvd_ joined #perl6
06:28 satyavvd left #perl6
06:28 satyavvd joined #perl6
06:30 satyavvd_ left #perl6
06:38 satyavvd_ joined #perl6
06:39 justatheory left #perl6
06:39 satyavvd left #perl6
06:39 satyavvd_ is now known as satyavvd
06:43 clkao joined #perl6
06:44 kst left #perl6
06:44 kst joined #perl6
06:51 sorear TimToady: sub bar(*@lst) { say @lst.perl }; my @x = 1,2; my @y = 3,4; bar(@x; @y) # What should this do?
06:51 satyavvd left #perl6
06:52 satyavvd joined #perl6
07:19 kaare_ joined #perl6
07:23 mberends joined #perl6
07:38 diakopter pugs: sub bar(*@lst) { say @lst.perl }; my @x = 1,2; my @y = 3,4; bar(@x; @y)
07:38 p6eval pugs: OUTPUT«[1, 2, 3, 4]␤»
07:39 diakopter rakudo: sub bar(*@lst) { say @lst.perl }; my @x = 1,2; my @y = 3,4; bar(@x; @y)
07:39 p6eval rakudo 388eed: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
07:39 bacek_ left #perl6
07:39 diakopter rakudo: sub bar(*@lst) { say @lst.perl }; my @x = 1,2; my @y = 3,4; bar(@x| @y)
07:39 p6eval rakudo 388eed: OUTPUT«[any(1, 2, 3, 4)]␤»
07:39 diakopter heh
07:39 sorear pugs: sub bar($a, $b) { say $a.perl; say $b.perl }; my @x = 1,2; bar(@x; @x)
07:39 p6eval pugs: OUTPUT«[1, 2]␤[1, 2]␤»
07:39 sorear pugs: sub bar($a, $b) { say $a.perl; say $b.perl }; my @x = 1,2; bar(@x, @x)
07:39 p6eval pugs: OUTPUT«[1, 2]␤[1, 2]␤»
07:40 sorear pugs: sub bar(\$a, \$b) { say $a.perl; say $b.perl }; my @x = 1,2; bar(@x, @x)
07:40 p6eval pugs: OUTPUT«*** ␤    Unexpected "\\$"␤    expecting formal parameter or ")"␤    at /tmp/UKerbQBKph line 1, column 9␤»
07:40 sorear pugs: sub bar(**@a) { say @a.perl }; my @x = 1,2; bar(@x, @x)
07:40 p6eval pugs: OUTPUT«*** ␤    Unexpected "**@"␤    expecting formal parameter or ")"␤    at /tmp/afdJwIdbgf line 1, column 9␤»
07:40 sorear pugs: sub bar(|$a) { say $a.perl }; my @x = 1,2; bar(@x, @x)
07:40 p6eval pugs: OUTPUT«*** No compatible multi variant found: "&bar"␤    at /tmp/_zgXN4ciN_ line 1, column 44 - line 2, column 1␤»
07:40 sorear pugs: sub bar(|$a) { say $a.perl }; my @x = 1,2; bar(@x; @x)
07:40 p6eval pugs: OUTPUT«*** No compatible multi variant found: "&bar"␤    at /tmp/F2u2hQ6owT line 1, column 44 - line 2, column 1␤»
07:40 sorear pugs: sub bar(|$a) { say $a.perl }; my @x = 1,2; bar(@x)
07:40 p6eval pugs: OUTPUT«[1, 2]␤»
07:41 sorear pugs: sub bar(\|$a) { say $a.perl }; my @x = 1,2; bar(@x)
07:41 p6eval pugs: OUTPUT«*** ␤    Unexpected "\\|$"␤    expecting formal parameter or ")"␤    at /tmp/UIB5LQkaU8 line 1, column 9␤»
07:41 sorear pugs: sub bar(¢a) { say $a.perl }; my @x = 1,2; bar(@x)
07:41 p6eval pugs: OUTPUT«decodeUTF8': bad data: '\162'␤*** ␤    Unexpected "\162"␤    expecting formal parameter or ")"␤    at /tmp/xH8K1_3nHn line 1, column 9␤»
07:42 kaare_ left #perl6
07:45 kaare_ joined #perl6
07:52 bacek_ joined #perl6
07:52 sorear std: [:so] 1, 3, 4
07:53 p6eval std 625303c: OUTPUT«ok 00:01 120m␤»
08:03 dalek 6model: 7d44ea3 | (Martin Berends)++ | java/ (5 files):
08:03 dalek 6model: [java/runtime] use assertions for sanity checks, add P6list and P6mapping
08:03 dalek 6model: review: https://github.com/jnthn/6model/commit/7d44ea35f4
08:03 drbean joined #perl6
08:06 moritz_ good morning zebras
08:07 moritz_ rakudo: my regex number { \d+ \. \d+ }; say 'foo 23.42'.comb: &number
08:07 p6eval rakudo 388eed: OUTPUT«23.42␤»
08:10 * moritz_ has fun browsing through the p2 solutions
08:19 chitragupt left #perl6
08:23 test__ joined #perl6
08:23 karupanerura left #perl6
08:23 test__ say test
08:23 tadzik rakudo: say "test"
08:24 p6eval rakudo 388eed: OUTPUT«test␤»
08:24 test__ say 1+2
08:25 test__ say "1+2"
08:26 test__ $a =1; $b =2; say $a + $b;
08:29 tadzik test__: you have to speak to 'rakudo', like I did, to execute code
08:30 chitragupt joined #perl6
08:31 test__ left #perl6
08:31 satyavvd left #perl6
08:34 dalek 6model: cc11e4f | (Martin Berends)++ | java/runtime/Rakudo/ (4 files):
08:34 dalek 6model: [java/runtime] rename flattenSpec to FlattenSpec, and minor edits
08:34 dalek 6model: review: https://github.com/jnthn/6model/commit/cc11e4feb5
08:35 mberends it seems #perl6 failed the test__ test ;)
08:39 ponbiki left #perl6
08:41 satyavvd joined #perl6
08:42 tadzik what a shame :>
08:43 HarryS left #perl6
08:43 * sorear tempts mberends with a more-complete .net Perl6 implementation
08:43 * sorear out
08:43 * mberends is tempted ;)
08:49 stkowski left #perl6
08:56 ponbiki joined #perl6
08:56 satyavvd left #perl6
08:57 satyavvd joined #perl6
09:01 cogno joined #perl6
09:16 cogno left #perl6
09:26 fhelmberger joined #perl6
09:26 satyavvd left #perl6
09:27 satyavvd joined #perl6
09:33 cafesofie left #perl6
09:40 cafesofie joined #perl6
09:46 drbean left #perl6
09:46 satyavvd left #perl6
09:47 satyavvd joined #perl6
09:49 HarryS joined #perl6
09:57 masak joined #perl6
09:57 masak morning, zebras!
10:01 masak jnthn: why would you need the shaver in Tibet? :P
10:02 xinming joined #perl6
10:05 masak lue: I'm also brushing up my C++ right now. let me know if you need someone to toss questions and ideas with.
10:24 cogno joined #perl6
10:24 satyavvd left #perl6
10:29 masak left #perl6
10:29 masak joined #perl6
10:30 cogno left #perl6
10:34 satyavvd joined #perl6
10:34 rod joined #perl6
10:36 rod rakudo: say 46, 18, 99%
10:36 p6eval rakudo 388eed: OUTPUT«===SORRY!===␤Confused at line 22, near "say 46, 18"␤»
10:36 rod rakudo: say 46' 18' 99%
10:36 p6eval rakudo 388eed: OUTPUT«===SORRY!===␤Confused at line 22, near "say 46' 18"␤»
10:37 rod rakudo: say hex 99%
10:37 p6eval rakudo 388eed: OUTPUT«===SORRY!===␤Confused at line 22, near "say hex 99"␤»
10:37 rod rakudo: hex 99%
10:37 p6eval rakudo 388eed: OUTPUT«===SORRY!===␤Confused at line 22, near "hex 99%"␤»
10:37 rod rakudo: 99%/12
10:37 p6eval rakudo 388eed: OUTPUT«===SORRY!===␤Confused at line 22, near "99%/12"␤»
10:38 rod rakudo: 99%+1
10:38 p6eval rakudo 388eed:  ( no output )
10:38 rod rakudo: say 99%+1
10:38 p6eval rakudo 388eed: OUTPUT«0␤»
10:39 rod rakudo: say i love u (99+1)%
10:39 p6eval rakudo 388eed: OUTPUT«===SORRY!===␤Confused at line 22, near "say i love"␤»
10:39 rod rakudo: (99+1)%
10:39 p6eval rakudo 388eed: OUTPUT«===SORRY!===␤Confused at line 22, near "(99+1)%"␤»
10:39 drbean joined #perl6
10:39 rod rakudo: say i love u (99+1)
10:39 p6eval rakudo 388eed: OUTPUT«===SORRY!===␤Confused at line 22, near "say i love"␤»
10:41 moritz_ std:  say i love u (99+1)
10:41 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Two terms in a row at /tmp/emBfIepvyk line 1:␤------> [32msay i [33m⏏[31mlove u (99+1)[0m␤    expecting any of:␤ bracketed infix␤        infix or meta-infix␤    statement modifier loop␤Parse failed␤FAILED 00:01 121m␤»
10:41 masak rod: there's no postfix:<%> in Standard Perl 6.
10:41 masak rakudo: our sub postfix:<%>($p) { $p / 100 }; say (99 + 1)%
10:41 p6eval rakudo 388eed: OUTPUT«1␤»
10:42 masak \o/
10:44 rod left #perl6
10:48 * masak learns in the backlog from a week (!) ago that #perl6 makes for happy relief for fathers of newborns during long hours of baby rocking
10:49 masak it's amazing how versatile #perl6 is. :)
10:50 gfldex rakudo: sub foo(){}; &i := &foo; say i;
10:50 p6eval rakudo 388eed: OUTPUT«Could not find sub &i␤  in main program body at line 22:/tmp/xg_M50ExpC␤»
10:50 masak gfldex: need to declare &i
10:51 masak also, 'i' without parens will find the constant, not call '&i'.
10:51 masak ...I think.
10:51 gfldex i would think so too
10:51 masak rakudo: sub foo(){}; my &i := &foo; say i
10:51 p6eval rakudo 388eed: OUTPUT«0 + 1i␤»
10:52 masak aye.
10:52 masak rakudo++
10:52 gfldex i don't need to declair i on my local rakudo install
10:52 gfldex may need to git pull
10:52 masak sounds like it.
10:53 gfldex so you will never be able to say i love you; in perl6 :(
10:55 gfldex https://gist.github.com/791039 should that work in perl6?
10:55 gfldex beside the i ofc
10:55 Su-Shee_ is now known as Su-Shee
10:57 nymacro joined #perl6
10:58 masak lines 12-14 might not do what you think.
10:58 masak hm, or maybe they do... :)
11:00 masak std: my &i := sub ($?) {}; my &love := sub ($?) {}; my &you := sub ($?) {}; say i love you
11:00 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Two terms in a row at /tmp/78qLapUsPv line 1:␤------> [32m ($?) {}; my &you := sub ($?) {}; say i [33m⏏[31mlove you[0m␤    expecting any of:␤    bracketed infix␤        infix or meta-infix␤    statement modifier loop␤Parse failed␤FAILED 00:01
11:00 p6eval ..127m␤»
11:01 masak seems binding a &-sigil variable isn't enough to make something a listop.
11:01 masak somhow I'm not too surprised.
11:01 masak std: sub i(*@) {}; sub love(*@) {}; sub you(*@) {}; say i love you
11:01 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Two terms in a row at /tmp/Vkekfz3JSo line 1:␤------> [32m sub love(*@) {}; sub you(*@) {}; say i [33m⏏[31mlove you[0m␤    expecting any of:␤    bracketed infix␤        infix or meta-infix␤    statement modifier loop␤Parse failed␤FAILED 00:01
11:01 p6eval ..123m␤»
11:01 masak huh.
11:02 gfldex try without i
11:02 masak std: sub i(*@) {}; sub love(*@) {}; sub you(*@) {}; say you love you
11:02 p6eval std 625303c: OUTPUT«ok 00:01 121m␤»
11:02 masak ah.
11:02 masak gfldex++
11:02 gfldex it makes sense but the error message is LTA
11:02 gfldex TimToady: might want to know
11:03 masak it does make sense.
11:03 masak you have to do this:
11:03 masak std: sub i(*@) {}; sub love(*@) {}; sub you(*@) {}; say i( love you )
11:03 p6eval std 625303c: OUTPUT«ok 00:01 121m␤»
11:03 masak maybe if there were some way to *hide* the constant in a given scope...
11:10 gfldex why is it a constant? what is that needed for?
11:12 masak a little thing we like to call complex arithmetic.
11:12 masak rakudo: say i * i
11:12 p6eval rakudo 388eed: OUTPUT«-1 + 0i␤»
11:12 masak rakudo: say (i * i).re
11:12 p6eval rakudo 388eed: OUTPUT«-1␤»
11:15 gfldex so it's just a shortcut for -1 + 0i
11:16 masak -1 + 0i is a complicated way to write -1
11:16 masak just as -1 + 0anything would be.
11:16 gfldex very complex :)
11:16 masak the cool thing is that (i * i == -1)
11:16 masak previously nothing out there had a square that was a negative number.
11:16 masak squares are usually non-negative.
11:17 masak because minus signs cancel.
11:17 gfldex i herein fortell confusion by the following typo: my $i = 100; while(i){ say 'lol'; }
11:18 gfldex :)
11:18 masak we can't pre-empt all confusion in every developer.
11:18 gfldex rakudo: say i--;
11:18 p6eval rakudo 388eed: OUTPUT«Cannot modify readonly value␤  in '&infix:<=>' at line 1␤  in main program body at line 7386:CORE.setting␤»
11:18 masak fwiw, I've never accidentally done that one.
11:20 gfldex perl6 is not for the faint of heart anyways :->
11:21 masak it can be. :)
11:23 gfldex i would prefere to use Complex; to have i in the global scope
11:32 masak worksforme.
11:38 rgrau` joined #perl6
11:39 mikehh left #perl6
11:42 Alias_ left #perl6
12:31 MayDaniel joined #perl6
12:34 cafesofie left #perl6
12:37 moritz_ note that a sub i() { ... } is lexical and thus hides the bare outer i anyway
12:38 moritz_ rakudo: sub i { 42 }; say i
12:38 p6eval rakudo 388eed: OUTPUT«0 + 1i␤»
12:38 moritz_ rakudo: sub i { 42 }; say i()
12:38 p6eval rakudo 388eed: OUTPUT«42␤»
12:38 * moritz_ wonders if that's a bug
12:39 moritz_ std: i + i
12:39 p6eval std 625303c: OUTPUT«ok 00:01 120m␤»
12:39 masak TimToady: I find the way to not mix up blizkost and zavolaj is to remember what they mean, and using the endings as clues. blizkost <=> closeness (-kost), i.e. close to Perl 5. zavolaj <=> "call!" (imperative), i.e. call C.
12:39 moritz_ std: sub i() { }; i ~~ i
12:39 p6eval std 625303c: OUTPUT«ok 00:01 121m␤»
12:39 masak moritz_: I'm not sure it is a bug.
12:40 masak moritz_: enums work that way too, IIRC.
12:40 masak hm, but the lexical hiding is a good point, I guess.
12:40 masak ask &
12:40 masak afk &
12:42 shi joined #perl6
12:44 jnthn moritz_: subs are installed as &i
12:44 jnthn moritz_: I guess the i constant probably isn't.
12:47 masak right, so the lexical lookup is actually different.
12:47 masak really afk &
13:29 s_mosher joined #perl6
13:30 s_mosher rakudo: say i > 0
13:30 p6eval rakudo 388eed: OUTPUT«Bool::True␤»
13:30 s_mosher I don't think that's right.
13:35 jnthn rakudo: say i < 0 # curious :)
13:35 p6eval rakudo 388eed: OUTPUT«Bool::False␤»
13:35 jnthn rakudo: say i == 0 # curious :)
13:35 p6eval rakudo 388eed: OUTPUT«Bool::False␤»
13:35 jnthn At least it's consistentish. :)
13:36 jnthn rakudo: say i.re > 0
13:36 p6eval rakudo 388eed: OUTPUT«Bool::False␤»
13:36 jnthn rakudo: say i.im > 0
13:36 p6eval rakudo 388eed: OUTPUT«Bool::True␤»
13:36 jnthn Hm. :)
13:37 s_mosher it seems to be some kind of epsilon
13:37 s_mosher it's smaller than any arbitrarily small number, yet greater than 0
13:37 jnthn I'm sure one of the more mathematically inclined folks here will have an answer/opinion. :)
13:38 s_mosher iiuc it's supposed to be incomparable when there is an imaginary part
13:38 s_mosher what that means for Perl 6 I have no idea
13:38 jnthn Well, to me the question "i > 0" doesn't make a great deal of sense.
13:38 s_mosher aye
13:40 s_mosher IMO it should probably work like NaN comparisons
13:40 s_mosher but my math-fu isn't strong enough to be completely confident there
13:41 jnthn Mine either. :)
13:44 s_mosher rakudo: -Complex
13:44 p6eval rakudo 388eed: OUTPUT«Type objects are abstract and have no attributes, but you tried to access $!re␤  in 'prefix:<->' at line 4420:CORE.setting␤  in main program body at line 22:/tmp/O0wpFe2kux␤»
13:45 s_mosher :)
13:45 s_mosher oh, that's not really what I wanted to show though
13:46 s_mosher rakudo: Int > Complex
13:46 p6eval rakudo 388eed: OUTPUT«Type objects are abstract and have no attributes, but you tried to access $!re␤  in 'Complex::reals' at line 4224:CORE.setting␤  in 'infix:<cmp>' at line 3406:CORE.setting␤  in 'infix:<<=>>' at line 3414:CORE.setting␤  in 'infix:<>>' at line 3430:CORE.setting␤  in main program
13:46 p6eval ..body…
13:48 s_mosher I think Rakudo just does something arbitrarily wrong to make Complex comparisons work at all
14:04 masonkramer left #perl6
14:37 drbean left #perl6
14:41 colomon I think I explained complex comparisons in a blog post about nine months ago.
14:42 orafu left #perl6
14:42 colomon TimToady didn't think complex numbers should blow up things like sort.  (And I agree.)
14:42 orafu joined #perl6
14:43 colomon So they compare first by the real part, and if the real parts are equal, then by the complex part.
14:43 colomon It's arbitrary but consistent.
15:00 colomon It's much more of a pragmatic answer than a mathematical answer.
15:02 zby_home_ joined #perl6
15:08 Helios left #perl6
15:08 am0c joined #perl6
15:15 dalek 6model: 5e43338 | (Martin Berends)++ | java/compiler/JST.pm:
15:15 dalek 6model: [java/compiler/JST.pm] add JST::Null and a $!type to JST::Literal
15:15 dalek 6model: review: https://github.com/jnthn/6model/commit/5e43338ac3
15:15 jnthn mberends: yay :)
15:15 satyavvd left #perl6
15:15 jnthn mberends: Got any more tests yet? :)
15:16 mberends jnthn: no, but that is the intent :)
15:16 satyavvd joined #perl6
15:16 jnthn :)
15:16 jnthn mberends++
15:18 dalek 6model: b237786 | util++ | / (20 files):
15:18 dalek 6model: Fix typos.
15:18 dalek 6model: review: https://github.com/jnthn/6model/commit/b237786d2b
15:23 Helios joined #perl6
15:26 dalek 6model: 3b6c0e6 | jonathan++ | dotnet/runtime/Runtime/Signatures/Parameter.cs:
15:26 dalek 6model: [dotnet] Fix operator-o spotted by mberends++.
15:26 dalek 6model: review: https://github.com/jnthn/6model/commit/3b6c0e6b0d
15:30 JimmyZ joined #perl6
15:32 JimmyZ std: sub I() {}; sub prefix:<love>() {}; sub you(*@) {}; say I love you
15:32 p6eval std 625303c: OUTPUT«ok 00:01 126m␤»
15:32 JimmyZ rakudo: sub I() {}; sub prefix:<love>() {}; sub you(*@) {}; say I love you
15:33 p6eval rakudo 388eed: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤  in 'prefix:<love>' at line 22:/tmp/dUhlOUvqld␤  in main program body at line 22:/tmp/dUhlOUvqld␤»
15:33 JimmyZ bug again?
15:33 JimmyZ like the time() bug
15:34 colomon left #perl6
15:36 JimmyZ std: sub yes(*@) {}; sub or(*@) {}; sub no(*@) {}; say yes or no
15:36 p6eval std 625303c: OUTPUT«ok 00:01 121m␤»
15:36 JimmyZ rakudo: sub yes(*@) {}; sub or(*@) {}; sub no(*@) {}; say yes or no
15:36 p6eval rakudo 388eed: OUTPUT«␤»
15:36 jnthn JimmyZ: A prefix operator has to take an operand.
15:37 jnthn e.g. sub prefix:<love>($juice) { }
15:37 JimmyZ oh, then std bug?
15:37 jnthn JimmyZ: std doesn't run code really
15:37 jnthn JimmyZ: And missing argument that Rakudo gives is runtime error.
15:38 JimmyZ jnthn: thanks, hehe
15:39 JimmyZ jnthn: Are you going to Tibet?
15:39 cls_bsd left #perl6
15:39 colomon joined #perl6
15:39 jnthn JimmyZ: No, it was just a joke about yaks. :)
15:39 jnthn JimmyZ: I have been to Tibet before though. :)
15:39 JimmyZ hehe, if it is, welcome
15:41 cls_bsd joined #perl6
15:41 masak oh, yaks.
15:42 masak jnthn: thought you were going there to become a hermit.
15:42 jnthn Om nom nom yak. :)
15:44 * [Coke] finds the bug queue nigh impenetrable.
15:44 masak s_mosher: no, the imaginary unit and (the common definitions of) epsilon don't have much in common.
15:44 masak [Coke]: oh?
15:44 masak [Coke]: it's meant to be penetrable.
15:44 dalek 6model: 30430d2 | jonathan++ | dotnet/ (2 files):
15:44 dalek 6model: [dotnet] Add op sigs for a few more ops.
15:44 dalek 6model: review: https://github.com/jnthn/6model/commit/30430d20aa
15:45 [Coke] too many bugs, no easy way to sort by "things someone can hack on."
15:45 masak s_mosher: complex numbers don't have a natural ordering the way reals do.
15:46 masak [Coke]: oh, agree on both counts. some are marked "LHF" though.
15:47 [Coke] masak: I'm sure we could define one fi we needed to.
15:47 sorear good * #perl6
15:49 masak [Coke]: an ordering? yes, but not a *natural* one. I'd add that it probably isn't a good idea anyway.
15:49 masak sorear: \o
15:50 JimmyZ I know that, and you have been to Shenzhen too. Welcome again, I'm in Shenzhen :)
15:52 * masak hopes to visit JimmyZ some day too
15:52 jnthn :)
15:52 s_mosher colomon, I sort of take the position that if you have complex numbers in your list, you know what you're doing and would find sorting behaviour somewhat astonishing
15:53 s_mosher otoh, you probably won't depend on them failing to sort, so I guess that's not so bad
15:53 s_mosher masak, I meant as rendered by Rakudo, not as rendered by mathematics
15:53 masak rakudo: say (1 + 2i) > (2 + i)
15:54 p6eval rakudo 388eed: OUTPUT«Bool::False␤»
15:54 masak rakudo: say (1 + 2i) <= (2 + i)
15:54 p6eval rakudo 388eed: OUTPUT«Bool::True␤»
15:54 masak hm.
15:54 masak rakudo: say (1 + 3i) <=> (1 + 5i)
15:54 p6eval rakudo 388eed: OUTPUT«-1␤»
15:55 JimmyZ_ joined #perl6
15:55 s_mosher as in, i is smaller in Rakudo than anything (positive, real) you can express
15:55 masak that's one way to view it :)
15:55 [Coke] msg jnthn: can you please clarify on RT #50118 what's left to do?
15:55 s_mosher yeah, that's where the epsilon comment came from
15:55 masak s_mosher: now I see what you meant... right.
15:56 JimmyZ left #perl6
15:56 JimmyZ_ is now known as JimmyZ
15:56 masak I think I would prefer them to be entirely incomparable in Rakudo.
15:56 s_mosher I prefer the incomparable semantics but a use case doesn't come to mind...
15:56 masak either resulting in 0 or in an unthrown exception...
15:57 s_mosher personally I'd do whatever NaN is doing at the time, by default
15:57 s_mosher on the other hand, making that happen doesn't seem too hard if you really want it, so I'm not going to lose any sleep
15:58 s_mosher (or: I will, but over more important things)
15:58 masak :)
16:02 tadzik hello
16:03 masak tadzik: \o
16:03 tadzik how are things?
16:04 masak messy and inconsistent. and that's on a good day. :P
16:05 masak in fact, "the order of things" is an oxymoron.
16:08 sorear masak: what do you do if someone wants to put complex numbers into a polymorphic counted 2-3-4 tree?
16:09 masak sorear: I ask them what kind of comparator would make sense in their application.
16:09 masak because it's not at all clear that there is a one-size-fits all solution.
16:10 s_mosher masak, that's exactly my opinion
16:10 JimmyZ left #perl6
16:10 masak s_mosher: cool! we should start a group on Facebook. :P
16:10 s_mosher haha
16:11 masak those_of_us_who_dont_want_rakudo_to_have_an_i​nherent_comparison_scheme_for_complex_numbers
16:11 s_mosher I don't FB though, will a twitter hashtag do? :P
16:11 * masak counts
16:11 masak looks like it.
16:14 tadzik a github organization :)
16:14 masak perl6-without-complex-cmp
16:15 sorear .u 2012
16:15 phenny U+2012 FIGURE DASH (‒)
16:16 sorear .u 2102
16:16 phenny U+2102 DOUBLE-STRUCK CAPITAL C (ℂ)
16:16 dalek 6model: 392ff59 | (Martin Berends)++ | java/compiler/JST.pm:
16:16 dalek 6model: [java/compiler/JST.pm] catch up to current dotnet/compiler/DNST.pm
16:16 dalek 6model: review: https://github.com/jnthn/6model/commit/392ff59caf
16:16 dalek 6model: 555553a | (Martin Berends)++ | dotnet/ (2 files):
16:16 dalek 6model: Merge branch 'master' of github.com:jnthn/6model
16:16 dalek 6model: review: https://github.com/jnthn/6model/commit/555553aee6
16:17 [Coke] SOOOOOOOOOOOOOO SLOOOOOOOW
16:17 masak [Coke]: Rakudo?
16:18 [Coke] yes.
16:18 [Coke] trying to work on my netbook. it's glacial.
16:18 masak [Coke]: sometimes when I pick up Perl 5 and run something with 'perl', I go "wait, why doesn't it run, I pressed Enter... oh, it's done."
16:20 masak even if jnthn puts in all the 6model optimizations and they work great, Rakudo on Parrot still won't be even close to that fast. we've got some ways to go.
16:20 jnthn The meta-model operations are only part of it.
16:20 jnthn *optimizations
16:21 jnthn Parrot needs to change too.
16:21 zby_home_ left #perl6
16:21 * [Coke] switches back to his desktop, as it's finally free.
16:21 * jnthn plans to post something about Parrot's lexicals soon to suggest some improvements tehre
16:21 masak \o/
16:21 sorear I suspect that once PCT on NQP is merged I'll lose most of my edge :/
16:21 jnthn sorear: How so?
16:22 jnthn sorear: That's one of many bottlenecks.
16:22 tadzik masak: I've had that with svn, except the "it's done" part
16:22 sorear jnthn: memory usage during parse will drop by a factor of about ... 20
16:22 masak wow, that sounds great.
16:22 jnthn sorear: Well, I am hoping for big improvements there. :)
16:22 felliott joined #perl6
16:23 masak tadzik: heh.
16:23 sorear when I tried to analyze Rakudo build performance a while ago, I came to the conclusion that PCT::Node was the main bottleneck
16:23 jnthn sorear: I got pmichaud++ to agree that we can store node attributes as, well, attributes, rather than doing it all with the capture array.
16:23 jnthn sorear: I think that'll be a big improvement.
16:24 jnthn s/array//
16:24 am0c left #perl6
16:24 masak jnthn: that sounds like a step in the right direction, if you ask me.
16:26 felliott hello, #perl6!
16:26 sorear hello, felliott!
16:26 tadzik o/
16:26 masak hi felliott++
16:27 felliott I have a dead trans-ikeet, and I was wondering if you could help me fix him.
16:27 masak it's just sleeping.
16:28 felliott rakudo: for "a" { .trans(""=>""); }
16:28 p6eval rakudo 388eed:  ( no output )
16:28 felliott No, 'e's definitely dead
16:28 felliott Ate by a Parrot, he were!
16:28 masak no no, he's pining for the fjords.
16:28 felliott rakudo: for "a".."b" { .trans(""=>""); }
16:28 p6eval rakudo 388eed: OUTPUT«too few positional arguments: 2 passed, 3 (or more) expected␤  in <anon> at line 22:/tmp/Y_PJ0giVOM␤  in main program body at line 1␤»
16:28 masak *sigh*
16:28 felliott Poor trans-ikeet.
16:28 masak that bug again.
16:28 felliott Yep.
16:29 * masak submits rakudobug
16:29 felliott I guess it's something in the Range class.
16:29 masak rakudo: for "a".."b" { say .PARROT }
16:29 p6eval rakudo 388eed: OUTPUT«Perl6Scalar->Str␤String␤»
16:29 masak there you go.
16:30 felliott It happens to Ints, too.
16:30 masak please demonstrate.
16:30 felliott rakudo: for 1..2 { say .PARROT; }
16:30 p6eval rakudo 388eed: OUTPUT«Perl6Scalar->Int␤Integer␤»
16:30 felliott I found it when looking at an unrelated bug.
16:31 [Coke] sorry, what's the bug?
16:31 masak [Coke]: both should be Perl6Scalar->Int
16:31 felliott http://rt.perl.org/rt3/Tic​ket/Display.html?id=75114 is the unrelated bug
16:31 justatheory joined #perl6
16:31 felliott It has a failing test, but it's failing for the wrong reason.
16:32 [Coke] masak: why?
16:32 [Coke] isn't that an internal detail?
16:32 masak [Coke]: see the original .trans error above?
16:32 jnthn No
16:32 jnthn It's a problem.
16:32 felliott I know how to Rakudo-ify a String into a Str, and an Integer into an Int, but is there a way to do it generically?
16:32 jnthn It's Parrot's Integer PMC leaking through.
16:32 masak [Coke]: that's what happens if it's not boxed like that.
16:32 jnthn We'll not use it at all once the 6model switch happens.
16:32 masak \o/
16:32 jnthn So all these things will, hopefully, go awya.
16:32 jnthn *away
16:34 * jnthn is kind half way ish to natively typed attributes in nqp-rx/nom.
16:35 sorear How do they work?
16:37 jnthn sorear: Well, they don't yet... What I have so far is that a REPR can indicate that it wants to be inlined in another object rather than stored boxed. And P6opaque does allocation based upon that.
16:37 jnthn sorear: I'm currently at figuring out what the "int" thingy we store in the lexpad is.
16:38 jnthn sorear: Well, that but also how it relates to Int (which it boxes to) and how to set up that relationship.
16:38 sorear How does that work from the REPR's perspective?
16:38 jnthn Which "that"?
16:38 jnthn How does the REPR indicate it wants to be inlined?
16:38 sorear yes
16:39 jnthn In the REPR API, there's a way to ask a REPR for its "storage spec".
16:39 jnthn The spec it returns contains that info.
16:39 jnthn So in the case of nested compact structs it'd just be recursively computed.
16:40 jnthn Though I'm mostly worrying about just single native values for now.
16:40 jnthn But it's designed to allow implementing compact structs later on.
16:40 sorear If the object is inlined, where do I get the RakudoObject to pass to the REPR methods?
16:41 jnthn Ah, sorry, I explained that badly...
16:41 jnthn class Foo { has num $!value }
16:41 jnthn In this, the meta-attribute for $!value has a .type that would return the num type object.
16:41 jnthn That is an object, so it can ask for the REPR of it.
16:42 jnthn Type objects kinda have to be objects, even if storage of their instances are not.
16:46 dalek nqp-rx/nom: ec5a9e6 | jonathan++ | src/Regex/Cursor (3 files):
16:46 dalek nqp-rx/nom: Giving up on cursor NQP port for now - EYAKSHAVETOOBIG. Plan B: just use 6model from PIR. This ground work gives each sub a subid for more easily referencing it.
16:46 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/ec5a9e64df
17:14 gabiruh joined #perl6
17:22 felliott I'm cleaning up a test in for.t that was failing for reasons unrelated to what it was supposed to be testing (i.e. the trans() bug).
17:22 felliott http://nopaste.snit.ch/28492
17:22 felliott Is this a reasonable test?
17:23 lue hello zebras o/
17:23 felliott I chose .sign b/c it works on both Ints and Integers.
17:23 felliott \o
17:23 felliott erp. I meant it was supposed to be testing the for and was failing b/c of the trans().
17:24 felliott But the trans should be tested elsewhere, I think.
17:24 felliott I've added it to S03-operators/range.t
17:25 masak lue: \o
17:30 satyavvd left #perl6
17:40 nymacro left #perl6
17:49 gabiruh left #perl6
17:49 dalek roast: 4c37943 | (Fitz Elliott)++ | S12-class/open.t:
17:49 dalek roast: mark tests for RT #75114 (augment class (Str|Int))
17:49 dalek roast: review: https://github.com/perl6/roast/commit/4c37943726
17:49 dalek roast: 1888ab6 | (Fitz Elliott)++ | S04-statements/for.t:
17:49 dalek roast: [for.t] fix and unfudge test that was failing due to range bug
17:49 dalek roast: review: https://github.com/perl6/roast/commit/1888ab6fa3
17:49 dalek roast: b2c7760 | (Fitz Elliott)++ | S03-operators/range.t:
17:49 dalek roast: [range.t] add test for RT #82620 (range exposing Parrot types)
17:49 dalek roast: review: https://github.com/perl6/roast/commit/b2c776055a
17:50 betterwo1ld is now known as betterworld
17:53 charsbr__ joined #perl6
17:55 flatwhatson__ joined #perl6
17:55 bacek__ joined #perl6
17:55 LoRe_ joined #perl6
17:55 molaf_ joined #perl6
17:55 MOAR-f00li5h joined #perl6
17:55 allbery_m joined #perl6
17:56 whiteknight joined #perl6
17:58 allbery_m left #perl6
17:58 charsbr_ left #perl6
17:58 xinming left #perl6
17:58 f00li5h left #perl6
17:58 LoRe left #perl6
17:58 bacek_ left #perl6
17:58 molaf left #perl6
17:58 flatwhatson_ left #perl6
17:58 starcoder left #perl6
17:58 dukeleto left #perl6
17:58 dukeleto joined #perl6
18:00 starcoder joined #perl6
18:00 xinming joined #perl6
18:04 gabiruh joined #perl6
18:04 dalek nqp-rx/nom: 7610524 | jonathan++ | / (2 files):
18:04 dalek nqp-rx/nom: Add a Regex::Cursor2 temporarily that uses 6model, to help make migration easier.
18:04 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/7610524338
18:04 dalek nqp-rx/nom: d1002fc | jonathan++ | src/Regex.pir:
18:04 dalek nqp-rx/nom: Include Regex::Cursor2 to allow testing/porting bits to 6model to start.
18:04 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/d1002fcf88
18:04 dalek nqp-rx/nom: e67a933 | jonathan++ | build/Makefile.in:
18:04 dalek nqp-rx/nom: Regex library needs 6model core built first; twiddle Makefile dependency for it.
18:04 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/e67a933260
18:04 dalek nqp-rx/nom: aa22a81 | jonathan++ | src/Regex/Cursor2.pir:
18:04 dalek nqp-rx/nom: Few more steps in porting Regex::Cursor2 so it works on 6model. Enough to get an initial call to one of the built-in rules to work.
18:04 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/aa22a81ebd
18:07 diakopter mberends: wow..!
18:07 diakopter mberends: lots o progress
18:11 mberends :-) it's "just" mapping jnthn's C# into Java. At least it runs now :)
18:11 jnthn mberends: Happy it still runs. :-)
18:14 masak mberends++
18:17 jnthn mberends: Any more tests pass yet? ;)
18:17 * jnthn will be excited when the multi dispatch and class tests start passing :)
18:18 mberends jnthn: no idea, can't see the wood for the trees at the moment ;)
18:19 diakopter heh
18:19 jnthn :)
18:19 masak here we go, the p3 blog post: http://strangelyconsistent.org/blog​/p3-is-the-integer-in-the-rangeset
18:19 diakopter lol at wood's forest/pulp meanings
18:19 jnthn Finally, I can eat!
18:19 masak jnthn: sorry to have kept you waiting :)
18:19 jnthn :P
18:19 * masak buses over to jnthn
18:19 jnthn It's OK, I was just as eager for the blog post :)
18:19 masak :)
18:19 masak left #perl6
18:21 diakopter "consitered that too cure"
18:22 diakopter pure I guess?
18:23 masak joined #perl6
18:24 masak diakopter: no, "cute". I'll fix later.
18:24 masak left #perl6
18:24 diakopter oh
18:24 wamba joined #perl6
18:26 zby_home joined #perl6
18:29 whiteknight left #perl6
18:30 jnthn ...buswifi!
18:30 jnthn ;)
18:31 whiteknight joined #perl6
18:37 flussence on the surface of it, p3 sounds like a good place for using junctions. Kinda surprised there weren't any in the code.
18:38 colomon rakudo: say 4 ~~ "6" .. 10;
18:38 p6eval rakudo 388eed: OUTPUT«Bool::False␤»
18:38 colomon rakudo: say 8 ~~ "6" .. 10;
18:38 p6eval rakudo 388eed: OUTPUT«Bool::True␤»
18:39 colomon rakudo: say 6 ~~ "6" .. 10;
18:39 p6eval rakudo 388eed: OUTPUT«Bool::True␤»
18:40 colomon rakudo: say 6 ~~ "6" ^.. 10;
18:40 p6eval rakudo 388eed: OUTPUT«Bool::False␤»
18:40 colomon oh, read wrong
18:40 colomon rakudo: say "6" ~~ 4 ^.. 10;
18:40 p6eval rakudo 388eed: OUTPUT«Bool::False␤»
18:45 lue afk
18:52 Tedd1 left #perl6
18:55 dalek nqp-rx/nom: 996bc6d | jonathan++ | src/Regex/Cursor2.pir:
18:55 dalek nqp-rx/nom: Get the rest of the methods in Cursor2 fixed up for 6model. (Still leaves the protoregex implementation and builtins todo, though.)
18:55 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/996bc6de95
18:55 dalek nqp-rx/nom: f651f2d | jonathan++ | src/PAST/Compiler-Regex.pir:
18:55 dalek nqp-rx/nom: Temporarily disable getting $!debug - it's the only place in the generated code that breaks cursor encapsulation, thankfully.
18:55 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/f651f2d7f3
18:55 dalek nqp-rx/nom: 5d977a8 | jonathan++ | src/Regex/Cursor2.pir:
18:55 dalek nqp-rx/nom: Missed fixing up one of the attribute accesses.
18:55 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/5d977a8524
18:57 envi left #perl6
18:59 GinoMan joined #perl6
19:07 fhelmberger left #perl6
19:08 fhelmberger joined #perl6
19:09 fhelmberger left #perl6
19:13 pjcj left #perl6
19:17 cogno joined #perl6
19:28 cogno left #perl6
19:40 pjcj joined #perl6
19:41 cogno joined #perl6
19:43 simon__ joined #perl6
19:44 simon__ hey. is there a way to use metaoperators with functions/methods that aren't operators?
19:45 sorear yes
19:45 simon__ how? ;)
19:46 sorear your question is too generic to answer
19:47 simon__ for instance if i wanna do (1,2,3) Z[{$^a * $^b / $^a + $^b}] (1,2,3)
19:47 MayDaniel left #perl6
19:47 sorear rakudo: say &zipwith.signature.perl
19:47 p6eval rakudo 388eed: OUTPUT«get_attr_str() not implemented in class 'Perl6MultiSub'␤  in main program body at line 1␤»
19:48 diakopter ergh
19:48 tadzik rakudo: say &zipwith.signature[0].perl
19:48 p6eval rakudo 388eed: OUTPUT«get_attr_str() not implemented in class 'Perl6MultiSub'␤  in main program body at line 1␤»
19:48 tadzik neh
19:48 sorear rakudo: zipwith({ $^a * $^b / ($^a + $^b) }, (1,2,3), (1,2,3)).perl.say
19:48 p6eval rakudo 388eed: OUTPUT«(1/2, 1/1, 3/2)␤»
19:48 sorear diakopter: ?
19:48 simon__ oh, so there's a normal function version of every metaoperator?
19:48 sorear rakudo: zipwith({ $^a * $^b / ($^a + $^b) }, [1,2,3], [1,2,3]).perl.say
19:48 p6eval rakudo 388eed: OUTPUT«(1/2, 1/1, 3/2)␤»
19:49 pmurias joined #perl6
19:49 sorear hrm... not working.
19:49 sorear this stuff isn't in the spec yet so it's not going to be consistent between compilers
19:49 sorear hello pmurias
19:50 diakopter sorear: nothing :)  just grousing about nqp
19:51 diakopter jnthn: we should pull Util's 6model's pull requests
19:55 pmurias sorear: hi
19:56 pmurias is there a way to make an operator out of a function?
19:56 pmurias like `function` in haskell?
19:57 [Coke] left #perl6
19:58 flussence rakudo: prefix:<+>($a, $b) { $a + $b }; say + 4 3
19:58 p6eval rakudo 388eed: OUTPUT«===SORRY!===␤Confused at line 22, near "prefix:<+>"␤»
19:58 flussence oh
19:58 flussence rakudo: multi prefix:<+>($a, $b) { $a + $b }; say + 4 3
19:58 p6eval rakudo 388eed: OUTPUT«===SORRY!===␤Confused at line 22, near "say + 4 3"␤»
19:58 flussence rakudo: multi prefix:<+>($a, $b) { $a + $b }; say +4 3
19:58 p6eval rakudo 388eed: OUTPUT«===SORRY!===␤Confused at line 22, near "say +4 3"␤»
19:58 flussence so much for RPN :(
19:58 flussence or FPN or whatever that is called
19:59 diakopter hm
20:00 GinoMan left #perl6
20:02 simon__ flussence: prefix operator isn't the same as prefix function
20:03 dukeleto left #perl6
20:03 pmurias sorear: i've been busy with uni recently (the term is ending so i have to make presentations, study for exams etc.) so i haven't done any work on niecza recently, but i'll have to get back to work on the common lisp backend soon ;) (if the presentations don't turn up well and i have to write a project)
20:03 dukeleto joined #perl6
20:05 pmurias sorear: you wanted suggestion what to end to niecza next, i think interop with .NET/maybe perl5 would be a good way to let people to play with writing non toy programs with
20:06 colomon simon__: If you make your own operator, it should work with metaoperators as well.
20:07 y3llow_ joined #perl6
20:07 pothos_ joined #perl6
20:07 simon__ colomon: I know but that's not what i meant
20:09 y3llow left #perl6
20:09 y3llow_ is now known as y3llow
20:09 pothos left #perl6
20:09 pothos_ is now known as pothos
20:34 cogno left #perl6
20:39 [Coke] joined #perl6
20:41 Layla_91 joined #perl6
20:42 Layla_91 hi! o/
20:43 tadzik o/
20:45 Layla_91 Just had a bad irc experience.. :D Came here to have some fresh happy air :D
20:45 Su-Shee are you going to complain here about me? ;)
20:45 Layla_91 Su-Shee: Oooops! XD
20:46 Su-Shee next time, look up names first. ;) but nice try.
20:46 Layla_91 Su-Shee: I was not planning to talk about you
20:47 Layla_91 Su-Shee: I feel better here usually ^_^
20:47 Layla_91 Su-Shee: By the way I know you are always here.. as you know am regualr visitor :)
20:47 tzhs joined #perl6
20:48 Su-Shee no, I don't know that.
20:48 Layla_91 Su-Shee: now you know ^_^
20:53 Layla_91 Su-Shee: I relay alot on documentation of perl and I am totally new to perl so you have to understand that I am not yet that experienced and I try to analyze everything I read carefully in the perldocs, I managed to understand most of the perldsc but felt Tom meant something when he used the  /[\s+=]/ , so I asked..
20:54 Layla_91 (maybe I can secretly ask about it here :P )
21:03 Layla_91 tadzik: feels so quiet here today... is it late in europe?
21:05 TimToady std: sub infix:<love> ($) {...}; constant you = "You"; i love you; # pmurias: this is how you get an infix function :)
21:05 p6eval std 625303c: OUTPUT«ok 00:01 124m␤»
21:06 TimToady er, should be ($,$), actually
21:09 jnthn Привет, Layla_91 :)
21:09 Layla_91 jnthn: heey! :D
21:10 jnthn Как дела?
21:11 Layla_91 jnthn: am doing great! :D (my laptop keyboard does not support Russian :'( ) but you are mastering the language ^_^
21:12 jnthn Layla_91: Wish I was mastering it. :P
21:12 TimToady well, my keyboard doesn't support 日本語, but that's what input methods are for...
21:12 orafu left #perl6
21:13 orafu joined #perl6
21:13 TimToady it's pretty much impossible to have a keyboard that supports han characters
21:13 Layla_91 TimToady: I actually do not understand how you just did that :$
21:13 tadzik Layla_91: 22:11 in here
21:13 TimToady first, did it come out looking like Japanese?
21:14 Layla_91 TimToady: yes it was..
21:14 TimToady so you have utf-8 support there already, good
21:14 TimToady what OS are you running on?
21:14 jnthn Layla_91: I use http://winrus.com/screen_e.htm or I made myself http://www.jnthn.net/linguistics/ru/ so if I switch my keyboard layout I know where - in theory - they keys are. But mostly I like to type Russian on my iPad which can show me the keyboard layout. :)
21:15 * diakopter runs on treadMill O's
21:15 Layla_91 TimToady: mmm.. ok :)
21:15 Layla_91 TimToady: and am using fedora14 here as the OS.. but have no idea how to write Russian
21:16 TimToady there is probably a way to install an input method, but I'm not up-to-date on fedora
21:16 bacek__ left #perl6
21:17 Su-Shee install "scim". it translates all kinds of (romanized) inputs into the appropriate target language. but you have to know the correct.. what's it called in english.. transliteration?
21:17 TimToady (or on Russian input methods...)
21:17 sorear yes, transliteration is an acceptable term
21:17 sorear more generally we call them input methods
21:17 sorear some input methods use mice, for instance
21:18 sorear any bijective transliteration can be turned into an input method, and most input methods in common use are based on a transliteration
21:18 Layla_91 jnthn: ты супер! :)
21:18 Layla_91 jnthn: yay! ^_^
21:18 TimToady \o/
21:18 jnthn Layla_91: \o/
21:19 sorear you also see the term IME (IM Editor) used; this is the program that implements an IM
21:19 Su-Shee I was going for that you have to really know how to write lang x in the romanized system. like chinese in either pinyin or the old stuff whose name I've just forgotten.
21:19 jnthn супер...a very Russian word. :P
21:19 Layla_91 jnthn: ok I admit we have took few words like (businessman, super) from the english people :D
21:20 sorear the IME that TimToady and I use can translate "nihon'go" into "日本語"
21:20 Layla_91 jnthn: did you make one for hebrew?
21:21 sorear (although it uses a horrible amount of memory so I don't start it often)
21:21 jnthn Layla_91: No, I never really studied that.
21:21 sorear Japanese input is complicated greatly by the 3 Japanese alphabets and the loose coupling between kanji and readings
21:22 sorear I imagine Cyrillic is much easier
21:22 Su-Shee sorear: yes. I know. I use scim under Linux for that. I was looking for the word in english to describe the process from getting from nihon go to the japanese letters :)
21:22 TimToady yes, that's transliteration
21:23 TimToady though, arguably, it's really transliterating from romaji, not from english
21:24 Su-Shee TimToady: indeed.
21:25 Layla_91 left #perl6
21:27 Layla_91 joined #perl6
21:27 sorear I don't think that transliteration is the right term for the entire process, nihon'go -> にほんご -> 日本語
21:27 sorear it's arguably correct for the first step
21:29 Su-Shee well then let's write chinese which doesn't require the step from hiragana to kanji ;)
21:29 sorear is pinyin bijective?
21:30 Su-Shee I don't know what bijective is?
21:30 sorear 1:1 mapping
21:30 Layla_91 terrible ADSL connection :(
21:30 sorear not ambiguous
21:31 Su-Shee well .. yes/no. it usally has accents to indicate intonation which you usally don't type. so the distinction between for characters you can do with the accents added are often missing when using an input method.
21:31 Su-Shee between four
21:31 Su-Shee ouch :)
21:32 Su-Shee so if you type "shi" you get a rather long list of possible hanzi
21:32 Su-Shee but with the most common on top.
21:33 Layla_91 TimToady: What OS do you use in your home network?
21:34 TimToady various
21:35 Su-Shee sorear: the "shi" and its accents problem is nicely illustrated here: http://en.wikipedia.org/wiki/Li​on-Eating_Poet_in_the_Stone_Den ;)
21:36 MayDaniel joined #perl6
21:38 mberends left #perl6
21:38 coldhead joined #perl6
21:38 M_o_C joined #perl6
21:38 M_o_C left #perl6
21:38 M_o_C joined #perl6
21:40 Layla_91 Good night all, tomorrow is working day.. time to [(--)]
21:41 pmurias left #perl6
21:42 jnthn night night, Layla_91 o/
21:42 mberends joined #perl6
21:43 Layla_91 left #perl6
21:48 M_o_C left #perl6
21:53 sorear Su-Shee: that is very neat
21:53 orafu left #perl6
21:54 orafu joined #perl6
22:02 orafu left #perl6
22:04 orafu joined #perl6
22:11 pyrimidine left #perl6
22:11 pyrimidine joined #perl6
22:12 MayDaniel left #perl6
22:35 zby_home left #perl6
22:36 tzhs left #perl6
22:39 noganex_ left #perl6
22:41 noganex joined #perl6
22:45 moritz_ phenny: tell masak on http://strangelyconsistent.org/p6cc2010/p3-moritz/ I didn't use .?including because a type object is false, but you can call method .including on it. That case probably can't be reached in this code, but I still didn't liek the thought of it
22:45 phenny moritz_: I'll pass that on when masak is around.
22:46 sorear hi moritz_
22:48 moritz_ hi sorear
22:50 dalek nqp-rx/nom: 1307e73 | jonathan++ | src/ (4 files):
22:50 dalek nqp-rx/nom: Various fixes and tweaks to allow switching /.../ regexes to use Regex::Cursor2 and thus 6model, to the point that the test suite passes again (though I know various things don't work at all just yet).
22:50 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/1307e73921
22:50 snearch joined #perl6
22:55 * moritz_ -> sleep
22:55 MOAR-f00li5h is now known as f00li5h
22:55 f00li5h left #perl6
22:55 f00li5h joined #perl6
23:08 wamba left #perl6
23:12 simon__ left #perl6
23:14 dalek nqp-rx/nom: 2dcffea | jonathan++ | src/metamodel/how/NQPClassHOW.pm:
23:14 dalek nqp-rx/nom: Implement the non-local case of .^parents in NQPClassHOW, which returns the MRO.
23:14 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/2dcffea9c5
23:14 dalek nqp-rx/nom: 661c631 | jonathan++ | src/Regex/Cursor-builtins.pir:
23:14 dalek nqp-rx/nom: Temporarily remove some $!debug attribute accesses in the built-ins so they can stay shared between 6model and old nqp-rx during the switch.
23:14 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/661c631854
23:14 masak joined #perl6
23:14 masak \o/
23:14 phenny masak: 22:45Z <moritz_> tell masak on http://strangelyconsistent.org/p6cc2010/p3-moritz/ I didn't use .?including because a type object is false, but you can call method .including on it. That case probably can't be reached in this code, but I still didn't liek the thought of it
23:15 masak ok. interesting point.
23:15 masak type objects are a double-edged sword. :)
23:18 masak Util++ emailed about another thing: people had been using &say;&exit a lot in their code because &die emits output that won't conform to base-test.
23:18 masak looking at my own solutions, I must have known this writing them :) but I've definitely forgotten since.
23:18 masak will change my review notes to reflect this.
23:18 sorear Here's a challenge to those who think p3 is easy: Create a data structure that can store any Perl 6 character class in linear space with O(log N) lookup relative to the length of the Perl 6 source
23:19 sorear in particular, consider cases like <[ a..z \D ]-[ \s ]>
23:20 masak sounds a bit like the problem I intended it to be :)
23:20 masak p3, that is.
23:21 masak std: sub is {}; use Test;
23:21 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Illegal redeclaration of routine 'is' (see line 1) at /tmp/7dzlNCnCLK line 1:␤------> [32msub is {}; use Test[33m⏏[31m;[0m␤Check failed␤FAILED 00:01 118m␤»
23:21 masak this is in conflict with S11.
23:22 jnthn rakudo: sub is {}; use Test;
23:22 p6eval rakudo 388eed: OUTPUT«===SORRY!===␤Can't import symbol &is because it already exists in this lexical scope␤␤»
23:22 masak jnthn: ...so I won't submit an RT ticket about it after all :)
23:22 masak but S11 should be updated. or STD.
23:23 jnthn Updating one spec is easier than two implementations. ;)
23:23 masak that's the most dangerous principle I've heard today :P
23:23 masak are you also against macros in the spec?
23:24 jnthn :P
23:24 jnthn I wasn't being serious. :)
23:25 jnthn .oO( Dangerous Principle of the Day! New on #perl6! )
23:33 MayDaniel joined #perl6
23:37 pyrimidine left #perl6
23:40 hudnix left #perl6
23:40 dalek nqp-rx/nom: 74764f9 | jonathan++ | src/Regex (3 files):
23:40 dalek nqp-rx/nom: Add a port of the protoregex part of Cursor to work with 6model. Not so many changes, mostly just where there was metamodel interaction.
23:40 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/74764f900b
23:42 masak flussence: there was a junction in one of the p3 submissions. look at the last line of Util's code.
23:44 kaare_ left #perl6
23:46 masak Su-Shee: the name of "old system" you were thinking of earlier is probably "Wade-Giles".
23:48 Util rakudo: my @rc = <<a b c d e>>; my @r = @rc[ 0 ..^ @rc.end ]; my @c = @rc[ 0 ^.. @rc.end ]; @r.say; @c.say;
23:48 p6eval rakudo 388eed: OUTPUT«abcd␤bcde␤»
23:48 Util rakudo: my @rc = <<a b c d e>>; my @r = @rc[ 0 ..^ * ]; my @c = @rc[ 0 ^.. * ]; @r.say; @c.say;
23:48 p6eval rakudo 388eed: OUTPUT«(timeout)»
23:48 Util masak: Is this what you were recommending in P1? Because it hangs :^(
23:49 masak huh.
23:50 masak which one of them?
23:51 masak rakudo: my @rx = <a b c d e>; my @r = @rc[ 0 ..^ * ]; say 'alive'
23:51 p6eval rakudo 388eed: OUTPUT«===SORRY!===␤Symbol '@rc' not predeclared in <anonymous> (/tmp/17NWrS5bs3:22)␤»
23:52 masak rakudo: my @rc = <a b c d e>; my @r = @rc[ 0 ..^ * ]; say 'alive'
23:52 p6eval rakudo 388eed: OUTPUT«(timeout)»
23:52 masak ok, the first one.
23:52 masak rakudo: my @rc = <a b c d e>; my @c = @rc[ 0 ^.. * ]; say 'alive'
23:52 masak and the second one :/
23:52 p6eval rakudo 388eed: OUTPUT«(timeout)»
23:53 Util Either; I used both so you would know I was paralleling my p1 code. It hangs with just [ 0 .. *]
23:53 Util No ^ needed to hang
23:53 masak this surprises me.
23:55 sji joined #perl6
23:56 shi left #perl6

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

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs