»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! | tinyurl.com/p6contest
Set by moritz_ on 28 December 2010.
masak 'night, #perl6 00:06
00:07 masak left
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:07
00:10 lopaway is now known as lopnor
diakopter jnthn: :) 00:11
parrot or clr
dalek p-rx/nom: 25921fc | jonathan++ | src/Regex/Cursor.pm:
Port Cursor.MATCH partially to NQP; this should more generally work with 6model too.
00:12
p-rx/nom: daf5b1e | jonathan++ | src/NQP/ (2 files):
Quick 'n' dirty cut of private methods.
jnthn diakopter: More how to structure/design stuff. 00:13
diakopter: It ties into Cursor stuff
diakopter: And realizing that...the PIR version cheats like hell. :-) 00:14
diakopter: I guess you already discovered this. :)
Fiddling with the attributes of other objects directly rather than doing accessor calls etc.
diakopter yeah but it's faster 00:15
:D
jnthn Right
I'm pondering introducing a syntax for it to NQP.
diakopter ASSIGNMENT 00:16
oh wait.... ;)
jnthn :)
Also it kinda likes native types. :)
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...
as you know/remember, I think
jnthn Yeah, I noticed when I read it.
Maybe better to just go the whole hog.
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
jnthn If I'm gonna do that, I'm going to prototype it on nqpclr first.
Tene ls -l /proc/self/fd/0 < /etc/hosts
00:18 MayDaniel left
jnthn Then spend a while wondering how the heck to get Parrot's lexical handling to cope... :) 00:18
diakopter: Did you find that having real constants would be useful too? 00:19
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:21
eh well 00:22
jnthn hunts for the shaver and starts packing to head to Tibet... :)
sorear has renewed competition ? 00:23
diakopter heh 00:24
someday
if you view the comparison as such
sorear well, both of us are aiming for Christmas 00:25
diakopter ;)
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
jnthn diakopter: :) 00:28
sorear jnthn: yes. 00:29
00:29 plobsing joined
dalek href="https://modules.perl6.org:">modules.perl6.org: f568ac1 | snarkyboojum++ | web/build-project-list.pl:
Add proto and camelia logos to build script
00:30
diakopter how did I miss this www.gameinformer.com/b/news/archive...-date.aspx 00:54
[Coke] exit
diakopter [Coke]: :P
01:00 risou joined, cdarroch left
[Coke] ww! 01:02
colomon is trying to figure out if www.ecse.rpi.edu/Homepages/wrf/Rese...npoly.html is brilliant or very subtly wrong 01:22
Ah, interesting. It's magic simplicity comes from the fact it doesn't handle boundary cases consistently. 01:33
*Its
01:34 kst left, risou_ joined, kst joined
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:35
01:37 risou left
PerlJam colomon: I'll wager you could improve the method by using Rats instead of floating point numbers. 01:38
colomon I don't think it makes much difference in this case. 01:39
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:41
But I think it does match masak's specification okay. 01:42
(I believe he explicitly stated in #perl6 he didn't care about boundary conditions.) 01:43
01:46 lopnor is now known as lopaway
colomon is now wondering if there are useful applications where the boundary information isn't important... 01:47
02:01 noganex_ joined 02:02 karupanerura joined 02:04 masonkramer_ joined, masonkramer left, masonkramer_ is now known as masonkramer, noganex left 02:07 karupanerura left 02:19 satyavvd joined 02:34 cafesofie left 02:45 clkao left, cafesofie joined 02:49 araujo left 02:58 araujo joined, araujo left, araujo joined 03:00 drbean joined 03:03 mberends left 03:09 hcchien left 03:15 hcchien joined 03:22 vmspb left 03:27 envi joined 03:29 Chillance left 03:36 __rnddim__ is now known as lue 03:38 justatheory joined 03:42 risou_ left 03:59 karupanerura joined
dalek ast: 000e905 | (Fitz Elliott)++ | S02-names_and_variables/perl.t:
[perl.t] unfudge final test for RT #64080 (self-assigned hashes)
04:03
04:23 Su-Shee_ joined 04:27 Su-Shee left 04:34 [particle] left 04:35 [particle] joined 04:44 cafesofie left 04:49 kst left 04:50 kst joined
lue blog post! rdstar.wordpress.com/2011/01/22/so...p6-on-gcc/ 05:03
05:04 cafesofie joined 05:12 rlinuxguy2 joined
rlinuxguy2 im ready for the perl6, the question is, is the perl6 ready for ME 05:12
TimToady not tonight, dear 05:16
rlinuxguy2 haha 05:17
brb reboot 05:18
05:18 rlinuxguy2 left
lue If you are not a troll, P6 is ready for you. If you are a troll, Camelia is ready for you. :) 05:19
sorear perl6: 1 < (say "Hi"; 2) < 3 05:26
p6eval rakudo 388eed: OUTPUT«Hi␤»
..niecza v1-181-g98d0cc5: OUTPUT«Hi␤Hi␤»
..pugs: OUTPUT«*** ␤ Unexpected ";"␤ expecting term postfix, operator, ":", "," or ")"␤ at /tmp/aH5TL9Zw1A line 1, column 14␤»
05:27 c9s joined, molaf joined 05:28 drbean left 05:34 coldhead left 05:38 agentzh joined 05:43 Patterner left
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
..sp…
05:45 Psyche^ joined, Psyche^ is now known as Patterner
diakopter hm 05:57
I guess perlesque could handle limited patterns of such comparison chains 05:58
rakudo: say(1 < (say "Hi"; 2) < 3) 06:00
p6eval rakudo 388eed: OUTPUT«Hi␤Bool::True␤»
diakopter rakudo: say("Hi"; 2)
p6eval rakudo 388eed: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
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␤»
diakopter rakudo: say (say "Hi"; 2)
p6eval rakudo 388eed: OUTPUT«Hi␤2␤»
06:04 stkowski left 06:06 agentzh left 06:07 stkowski joined
diakopter ... (by transforming them into shortcircuiting comparisons with assignments into temporaries 06:17
06:17 satyavvd_ joined
diakopter ) 06:17
06:17 satyavvd left 06:20 satyavvd joined 06:21 satyavvd_ left 06:25 satyavvd_ joined 06:28 satyavvd left, satyavvd joined 06:30 satyavvd_ left 06:38 satyavvd_ joined 06:39 justatheory left, satyavvd left, satyavvd_ is now known as satyavvd 06:43 clkao joined 06:44 kst left, kst joined
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
06:51 satyavvd left 06:52 satyavvd joined 07:19 kaare_ joined 07:23 mberends joined
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]␤»
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
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)]␤»
diakopter heh
sorear pugs: sub bar($a, $b) { say $a.perl; say $b.perl }; my @x = 1,2; bar(@x; @x)
p6eval pugs: OUTPUT«[1, 2]␤[1, 2]␤»
sorear pugs: sub bar($a, $b) { say $a.perl; say $b.perl }; my @x = 1,2; bar(@x, @x)
p6eval pugs: OUTPUT«[1, 2]␤[1, 2]␤»
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␤»
sorear pugs: sub bar(**@a) { say @a.perl }; my @x = 1,2; bar(@x, @x)
p6eval pugs: OUTPUT«*** ␤ Unexpected "**@"␤ expecting formal parameter or ")"␤ at /tmp/afdJwIdbgf line 1, column 9␤»
sorear pugs: sub bar(|$a) { say $a.perl }; my @x = 1,2; bar(@x, @x)
p6eval pugs: OUTPUT«*** No compatible multi variant found: "&bar"␤ at /tmp/_zgXN4ciN_ line 1, column 44 - line 2, column 1␤»
sorear pugs: sub bar(|$a) { say $a.perl }; my @x = 1,2; bar(@x; @x)
p6eval pugs: OUTPUT«*** No compatible multi variant found: "&bar"␤ at /tmp/F2u2hQ6owT line 1, column 44 - line 2, column 1␤»
sorear pugs: sub bar(|$a) { say $a.perl }; my @x = 1,2; bar(@x)
p6eval pugs: OUTPUT«[1, 2]␤»
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␤»
sorear pugs: sub bar(¢a) { say $a.perl }; my @x = 1,2; bar(@x)
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 07:45 kaare_ joined 07:52 bacek_ joined
sorear std: [:so] 1, 3, 4 07:52
p6eval std 625303c: OUTPUT«ok 00:01 120m␤» 07:53
dalek odel: 7d44ea3 | (Martin Berends)++ | java/ (5 files):
[java/runtime] use assertions for sanity checks, add P6list and P6mapping
08:03
08:03 drbean joined
moritz_ good morning zebras 08:06
rakudo: my regex number { \d+ \. \d+ }; say 'foo 23.42'.comb: &number 08:07
p6eval rakudo 388eed: OUTPUT«23.42␤»
moritz_ has fun browsing through the p2 solutions 08:10
08:19 chitragupt left 08:23 test__ joined, karupanerura left
test__ say test 08:23
tadzik rakudo: say "test"
p6eval rakudo 388eed: OUTPUT«test␤» 08:24
test__ say 1+2
say "1+2" 08:25
$a =1; $b =2; say $a + $b; 08:26
tadzik test__: you have to speak to 'rakudo', like I did, to execute code 08:29
08:30 chitragupt joined 08:31 test__ left, satyavvd left
dalek odel: cc11e4f | (Martin Berends)++ | java/runtime/Rakudo/ (4 files):
[java/runtime] rename flattenSpec to FlattenSpec, and minor edits
08:34
mberends it seems #perl6 failed the test__ test ;) 08:35
08:39 ponbiki left 08:41 satyavvd joined
tadzik what a shame :> 08:42
08:43 HarryS left
sorear tempts mberends with a more-complete .net Perl6 implementation 08:43
sorear out
mberends is tempted ;)
08:49 stkowski left 08:56 ponbiki joined, satyavvd left 08:57 satyavvd joined 09:01 cogno joined 09:16 cogno left 09:26 fhelmberger joined, satyavvd left 09:27 satyavvd joined 09:33 cafesofie left 09:40 cafesofie joined 09:46 drbean left, satyavvd left 09:47 satyavvd joined 09:49 HarryS joined 09:57 masak joined
masak morning, zebras! 09:57
jnthn: why would you need the shaver in Tibet? :P 10:01
10:02 xinming joined
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:05
10:24 cogno joined, satyavvd left 10:29 masak left, masak joined 10:30 cogno left 10:34 satyavvd joined, rod joined
rod rakudo: say 46, 18, 99% 10:36
p6eval rakudo 388eed: OUTPUT«===SORRY!===␤Confused at line 22, near "say 46, 18"␤»
rod rakudo: say 46' 18' 99%
p6eval rakudo 388eed: OUTPUT«===SORRY!===␤Confused at line 22, near "say 46' 18"␤»
rod rakudo: say hex 99% 10:37
p6eval rakudo 388eed: OUTPUT«===SORRY!===␤Confused at line 22, near "say hex 99"␤»
rod rakudo: hex 99%
p6eval rakudo 388eed: OUTPUT«===SORRY!===␤Confused at line 22, near "hex 99%"␤»
rod rakudo: 99%/12
p6eval rakudo 388eed: OUTPUT«===SORRY!===␤Confused at line 22, near "99%/12"␤»
rod rakudo: 99%+1 10:38
p6eval rakudo 388eed: ( no output )
rod rakudo: say 99%+1
p6eval rakudo 388eed: OUTPUT«0␤»
rod rakudo: say i love u (99+1)% 10:39
p6eval rakudo 388eed: OUTPUT«===SORRY!===␤Confused at line 22, near "say i love"␤»
rod rakudo: (99+1)%
p6eval rakudo 388eed: OUTPUT«===SORRY!===␤Confused at line 22, near "(99+1)%"␤»
10:39 drbean joined
rod rakudo: say i love u (99+1) 10:39
p6eval rakudo 388eed: OUTPUT«===SORRY!===␤Confused at line 22, near "say i love"␤»
moritz_ std: say i love u (99+1) 10:41
p6eval std 625303c: OUTPUT«===SORRY!===␤Two terms in a row at /tmp/emBfIepvyk line 1:␤------> say i ⏏love u (99+1)␤ expecting any of:␤ bracketed infix␤ infix or meta-infix␤ statement modifier loop␤Parse failed␤FAILED 00:01 121m␤»
masak rod: there's no postfix:<%> in Standard Perl 6.
rakudo: our sub postfix:<%>($p) { $p / 100 }; say (99 + 1)%
p6eval rakudo 388eed: OUTPUT«1␤»
masak \o/ 10:42
10:44 rod left
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:48
it's amazing how versatile #perl6 is. :) 10:49
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␤»
masak gfldex: need to declare &i
also, 'i' without parens will find the constant, not call '&i'. 10:51
...I think.
gfldex i would think so too
masak rakudo: sub foo(){}; my &i := &foo; say i
p6eval rakudo 388eed: OUTPUT«0 + 1i␤»
masak aye. 10:52
rakudo++
gfldex i don't need to declair i on my local rakudo install
may need to git pull
masak sounds like it.
gfldex so you will never be able to say i love you; in perl6 :( 10:53
gist.github.com/791039 should that work in perl6? 10:55
beside the i ofc
10:55 Su-Shee_ is now known as Su-Shee 10:57 nymacro joined
masak lines 12-14 might not do what you think. 10:58
hm, or maybe they do... :)
std: my &i := sub ($?) {}; my &love := sub ($?) {}; my &you := sub ($?) {}; say i love you 11:00
p6eval std 625303c: OUTPUT«===SORRY!===␤Two terms in a row at /tmp/78qLapUsPv line 1:␤------> ($?) {}; my &you := sub ($?) {}; say i ⏏love you␤ expecting any of:␤ bracketed infix␤ infix or meta-infix␤ statement modifier loop␤Parse failed␤FAILED 00:01
..127m␤»
masak seems binding a &-sigil variable isn't enough to make something a listop. 11:01
somhow I'm not too surprised.
std: sub i(*@) {}; sub love(*@) {}; sub you(*@) {}; say i love you
p6eval std 625303c: OUTPUT«===SORRY!===␤Two terms in a row at /tmp/Vkekfz3JSo line 1:␤------> sub love(*@) {}; sub you(*@) {}; say i ⏏love you␤ expecting any of:␤ bracketed infix␤ infix or meta-infix␤ statement modifier loop␤Parse failed␤FAILED 00:01
..123m␤»
masak huh.
gfldex try without i 11:02
masak std: sub i(*@) {}; sub love(*@) {}; sub you(*@) {}; say you love you
p6eval std 625303c: OUTPUT«ok 00:01 121m␤»
masak ah.
gfldex++
gfldex it makes sense but the error message is LTA
TimToady: might want to know
masak it does make sense. 11:03
you have to do this:
std: sub i(*@) {}; sub love(*@) {}; sub you(*@) {}; say i( love you )
p6eval std 625303c: OUTPUT«ok 00:01 121m␤»
masak maybe if there were some way to *hide* the constant in a given scope...
gfldex why is it a constant? what is that needed for? 11:10
masak a little thing we like to call complex arithmetic. 11:12
rakudo: say i * i
p6eval rakudo 388eed: OUTPUT«-1 + 0i␤»
masak rakudo: say (i * i).re
p6eval rakudo 388eed: OUTPUT«-1␤»
gfldex so it's just a shortcut for -1 + 0i 11:15
masak -1 + 0i is a complicated way to write -1 11:16
just as -1 + 0anything would be.
gfldex very complex :)
masak the cool thing is that (i * i == -1)
previously nothing out there had a square that was a negative number.
squares are usually non-negative.
because minus signs cancel. 11:17
gfldex i herein fortell confusion by the following typo: my $i = 100; while(i){ say 'lol'; }
:) 11:18
masak we can't pre-empt all confusion in every developer.
gfldex rakudo: say i--;
p6eval rakudo 388eed: OUTPUT«Cannot modify readonly value␤ in '&infix:<=>' at line 1␤ in main program body at line 7386:CORE.setting␤»
masak fwiw, I've never accidentally done that one.
gfldex perl6 is not for the faint of heart anyways :-> 11:20
masak it can be. :) 11:21
gfldex i would prefere to use Complex; to have i in the global scope 11:23
masak worksforme. 11:32
11:38 rgrau` joined 11:39 mikehh left 11:42 Alias_ left 12:31 MayDaniel joined 12:34 cafesofie left
moritz_ note that a sub i() { ... } is lexical and thus hides the bare outer i anyway 12:37
rakudo: sub i { 42 }; say i 12:38
p6eval rakudo 388eed: OUTPUT«0 + 1i␤»
moritz_ rakudo: sub i { 42 }; say i()
p6eval rakudo 388eed: OUTPUT«42␤»
moritz_ wonders if that's a bug
std: i + i 12:39
p6eval std 625303c: OUTPUT«ok 00:01 120m␤»
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.
moritz_ std: sub i() { }; i ~~ i
p6eval std 625303c: OUTPUT«ok 00:01 121m␤»
masak moritz_: I'm not sure it is a bug.
moritz_: enums work that way too, IIRC. 12:40
hm, but the lexical hiding is a good point, I guess.
ask &
afk &
12:42 shi joined
jnthn moritz_: subs are installed as &i 12:44
moritz_: I guess the i constant probably isn't.
masak right, so the lexical lookup is actually different. 12:47
really afk &
13:29 s_mosher joined
s_mosher rakudo: say i > 0 13:30
p6eval rakudo 388eed: OUTPUT«Bool::True␤»
s_mosher I don't think that's right.
jnthn rakudo: say i < 0 # curious :) 13:35
p6eval rakudo 388eed: OUTPUT«Bool::False␤»
jnthn rakudo: say i == 0 # curious :)
p6eval rakudo 388eed: OUTPUT«Bool::False␤»
jnthn At least it's consistentish. :)
rakudo: say i.re > 0 13:36
p6eval rakudo 388eed: OUTPUT«Bool::False␤»
jnthn rakudo: say i.im > 0
p6eval rakudo 388eed: OUTPUT«Bool::True␤»
jnthn Hm. :)
s_mosher it seems to be some kind of epsilon 13:37
it's smaller than any arbitrarily small number, yet greater than 0
jnthn I'm sure one of the more mathematically inclined folks here will have an answer/opinion. :)
s_mosher iiuc it's supposed to be incomparable when there is an imaginary part 13:38
what that means for Perl 6 I have no idea
jnthn Well, to me the question "i > 0" doesn't make a great deal of sense.
s_mosher aye
IMO it should probably work like NaN comparisons 13:40
but my math-fu isn't strong enough to be completely confident there
jnthn Mine either. :) 13:41
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␤»
s_mosher :) 13:45
oh, that's not really what I wanted to show though
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
..body…
s_mosher I think Rakudo just does something arbitrarily wrong to make Complex comparisons work at all 13:48
14:04 masonkramer left 14:37 drbean left
colomon I think I explained complex comparisons in a blog post about nine months ago. 14:41
14:42 orafu left
colomon TimToady didn't think complex numbers should blow up things like sort. (And I agree.) 14:42
14:42 orafu joined
colomon So they compare first by the real part, and if the real parts are equal, then by the complex part. 14:43
It's arbitrary but consistent.
It's much more of a pragmatic answer than a mathematical answer. 15:00
15:02 zby_home_ joined 15:08 Helios left, am0c joined
dalek odel: 5e43338 | (Martin Berends)++ | java/compiler/JST.pm:
[java/compiler/JST.pm] add JST::Null and a $!type to JST::Literal
15:15
jnthn mberends: yay :)
15:15 satyavvd left
jnthn mberends: Got any more tests yet? :) 15:15
mberends jnthn: no, but that is the intent :) 15:16
15:16 satyavvd joined
jnthn :) 15:16
mberends++
dalek odel: b237786 | util++ | / (20 files):
Fix typos.
15:18
15:23 Helios joined
dalek odel: 3b6c0e6 | jonathan++ | dotnet/runtime/Runtime/Signatures/Parameter.cs:
[dotnet] Fix operator-o spotted by mberends++.
15:26
15:30 JimmyZ joined
JimmyZ std: sub I() {}; sub prefix:<love>() {}; sub you(*@) {}; say I love you 15:32
p6eval std 625303c: OUTPUT«ok 00:01 126m␤»
JimmyZ rakudo: sub I() {}; sub prefix:<love>() {}; sub you(*@) {}; say I love you
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?
like the time() bug
15:34 colomon left
JimmyZ std: sub yes(*@) {}; sub or(*@) {}; sub no(*@) {}; say yes or no 15:36
p6eval std 625303c: OUTPUT«ok 00:01 121m␤»
JimmyZ rakudo: sub yes(*@) {}; sub or(*@) {}; sub no(*@) {}; say yes or no
p6eval rakudo 388eed: OUTPUT«␤»
jnthn JimmyZ: A prefix operator has to take an operand.
e.g. sub prefix:<love>($juice) { } 15:37
JimmyZ oh, then std bug?
jnthn JimmyZ: std doesn't run code really
JimmyZ: And missing argument that Rakudo gives is runtime error.
JimmyZ jnthn: thanks, hehe 15:38
jnthn: Are you going to Tibet? 15:39
15:39 cls_bsd left, colomon joined
jnthn JimmyZ: No, it was just a joke about yaks. :) 15:39
JimmyZ: I have been to Tibet before though. :)
JimmyZ hehe, if it is, welcome
15:41 cls_bsd joined
masak oh, yaks. 15:41
jnthn: thought you were going there to become a hermit. 15:42
jnthn Om nom nom yak. :)
[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.
[Coke]: oh?
[Coke]: it's meant to be penetrable.
dalek odel: 30430d2 | jonathan++ | dotnet/ (2 files):
[dotnet] Add op sigs for a few more ops.
[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.
[Coke]: oh, agree on both counts. some are marked "LHF" though. 15:46
[Coke] masak: I'm sure we could define one fi we needed to. 15:47
sorear good * #perl6
masak [Coke]: an ordering? yes, but not a *natural* one. I'd add that it probably isn't a good idea anyway. 15:49
sorear: \o
JimmyZ I know that, and you have been to Shenzhen too. Welcome again, I'm in Shenzhen :) 15:50
masak hopes to visit JimmyZ some day too 15:52
jnthn :)
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
otoh, you probably won't depend on them failing to sort, so I guess that's not so bad 15:53
masak, I meant as rendered by Rakudo, not as rendered by mathematics
masak rakudo: say (1 + 2i) > (2 + i)
p6eval rakudo 388eed: OUTPUT«Bool::False␤» 15:54
masak rakudo: say (1 + 2i) <= (2 + i)
p6eval rakudo 388eed: OUTPUT«Bool::True␤»
masak hm.
rakudo: say (1 + 3i) <=> (1 + 5i)
p6eval rakudo 388eed: OUTPUT«-1␤»
15:55 JimmyZ_ joined
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 :)
[Coke] msg jnthn: can you please clarify on RT #50118 what's left to do?
s_mosher yeah, that's where the epsilon comment came from
masak s_mosher: now I see what you meant... right.
15:56 JimmyZ left, JimmyZ_ is now known as JimmyZ
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...
masak either resulting in 0 or in an unthrown exception...
s_mosher personally I'd do whatever NaN is doing at the time, by default 15:57
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
(or: I will, but over more important things) 15:58
masak :)
tadzik hello 16:02
masak tadzik: \o 16:03
tadzik how are things?
masak messy and inconsistent. and that's on a good day. :P 16:04
in fact, "the order of things" is an oxymoron. 16:05
sorear masak: what do you do if someone wants to put complex numbers into a polymorphic counted 2-3-4 tree? 16:08
masak sorear: I ask them what kind of comparator would make sense in their application. 16:09
because it's not at all clear that there is a one-size-fits all solution.
s_mosher masak, that's exactly my opinion 16:10
16:10 JimmyZ left
masak s_mosher: cool! we should start a group on Facebook. :P 16:10
s_mosher haha
masak those_of_us_who_dont_want_rakudo_to_have_an_inherent_comparison_scheme_for_complex_numbers 16:11
s_mosher I don't FB though, will a twitter hashtag do? :P
masak counts
looks like it.
tadzik a github organization :) 16:14
masak perl6-without-complex-cmp
sorear .u 2012 16:15
phenny U+2012 FIGURE DASH (‒)
sorear .u 2102 16:16
phenny U+2102 DOUBLE-STRUCK CAPITAL C (ℂ)
dalek odel: 392ff59 | (Martin Berends)++ | java/compiler/JST.pm:
[java/compiler/JST.pm] catch up to current dotnet/compiler/DNST.pm
odel: 555553a | (Martin Berends)++ | dotnet/ (2 files):
Merge branch 'master' of github.com:jnthn/6model
[Coke] SOOOOOOOOOOOOOO SLOOOOOOOW 16:17
masak [Coke]: Rakudo?
[Coke] yes. 16:18
trying to work on my netbook. it's glacial.
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."
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.
*optimizations
Parrot needs to change too. 16:21
16:21 zby_home_ left
[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
masak \o/
sorear I suspect that once PCT on NQP is merged I'll lose most of my edge :/
jnthn sorear: How so?
tadzik masak: I've had that with svn, except the "it's done" part 16:22
jnthn sorear: That's one of many bottlenecks.
sorear jnthn: memory usage during parse will drop by a factor of about ... 20
masak wow, that sounds great.
jnthn sorear: Well, I am hoping for big improvements there. :)
16:22 felliott joined
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
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.
sorear: I think that'll be a big improvement.
s/array// 16:24
16:24 am0c left
masak jnthn: that sounds like a step in the right direction, if you ask me. 16:24
felliott hello, #perl6! 16:26
sorear hello, felliott!
tadzik o/
masak hi felliott++
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.
felliott rakudo: for "a" { .trans(""=>""); }
p6eval rakudo 388eed: ( no output ) 16:28
felliott No, 'e's definitely dead
Ate by a Parrot, he were!
masak no no, he's pining for the fjords.
felliott rakudo: for "a".."b" { .trans(""=>""); }
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␤»
masak *sigh*
felliott Poor trans-ikeet.
masak that bug again.
felliott Yep.
masak submits rakudobug 16:29
felliott I guess it's something in the Range class.
masak rakudo: for "a".."b" { say .PARROT }
p6eval rakudo 388eed: OUTPUT«Perl6Scalar->Str␤String␤»
masak there you go.
felliott It happens to Ints, too.
masak please demonstrate. 16:30
felliott rakudo: for 1..2 { say .PARROT; }
p6eval rakudo 388eed: OUTPUT«Perl6Scalar->Int␤Integer␤»
felliott I found it when looking at an unrelated bug.
[Coke] sorry, what's the bug? 16:31
masak [Coke]: both should be Perl6Scalar->Int
felliott rt.perl.org/rt3/Ticket/Display.html?id=75114 is the unrelated bug
16:31 justatheory joined
felliott It has a failing test, but it's failing for the wrong reason. 16:31
[Coke] masak: why? 16:32
isn't that an internal detail?
masak [Coke]: see the original .trans error above?
jnthn No
It's a problem.
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?
jnthn It's Parrot's Integer PMC leaking through.
masak [Coke]: that's what happens if it's not boxed like that.
jnthn We'll not use it at all once the 6model switch happens.
masak \o/
jnthn So all these things will, hopefully, go awya.
*away
jnthn is kind half way ish to natively typed attributes in nqp-rx/nom. 16:34
sorear How do they work? 16:35
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
sorear: I'm currently at figuring out what the "int" thingy we store in the lexpad is.
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?
jnthn Which "that"?
How does the REPR indicate it wants to be inlined?
sorear yes
jnthn In the REPR API, there's a way to ask a REPR for its "storage spec". 16:39
The spec it returns contains that info.
So in the case of nested compact structs it'd just be recursively computed.
Though I'm mostly worrying about just single native values for now. 16:40
But it's designed to allow implementing compact structs later on.
sorear If the object is inlined, where do I get the RakudoObject to pass to the REPR methods?
jnthn Ah, sorry, I explained that badly... 16:41
class Foo { has num $!value }
In this, the meta-attribute for $!value has a .type that would return the num type object.
That is an object, so it can ask for the REPR of it.
Type objects kinda have to be objects, even if storage of their instances are not. 16:42
dalek p-rx/nom: ec5a9e6 | jonathan++ | src/Regex/Cursor (3 files):
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
17:14 gabiruh joined
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
nopaste.snit.ch/28492
Is this a reasonable test?
lue hello zebras o/ 17:23
felliott I chose .sign b/c it works on both Ints and Integers.
\o
erp. I meant it was supposed to be testing the for and was failing b/c of the trans().
But the trans should be tested elsewhere, I think. 17:24
I've added it to S03-operators/range.t
masak lue: \o 17:25
17:30 satyavvd left 17:40 nymacro left 17:49 gabiruh left
dalek ast: 4c37943 | (Fitz Elliott)++ | S12-class/open.t:
mark tests for RT #75114 (augment class (Str|Int))
17:49
ast: 1888ab6 | (Fitz Elliott)++ | S04-statements/for.t:
[for.t] fix and unfudge test that was failing due to range bug
ast: b2c7760 | (Fitz Elliott)++ | S03-operators/range.t:
[range.t] add test for RT #82620 (range exposing Parrot types)
17:50 betterwo1ld is now known as betterworld 17:53 charsbr__ joined 17:55 flatwhatson__ joined, bacek__ joined, LoRe_ joined, molaf_ joined, MOAR-f00li5h joined, allbery_m joined 17:56 whiteknight joined 17:58 allbery_m left, charsbr_ left, xinming left, f00li5h left, LoRe left, bacek_ left, molaf left, flatwhatson_ left, starcoder left, dukeleto left, dukeleto joined 18:00 starcoder joined, xinming joined 18:04 gabiruh joined
dalek p-rx/nom: 7610524 | jonathan++ | / (2 files):
Add a Regex::Cursor2 temporarily that uses 6model, to help make migration easier.
18:04
p-rx/nom: d1002fc | jonathan++ | src/Regex.pir:
Include Regex::Cursor2 to allow testing/porting bits to 6model to start.
p-rx/nom: e67a933 | jonathan++ | build/Makefile.in:
Regex library needs 6model core built first; twiddle Makefile dependency for it.
p-rx/nom: aa22a81 | jonathan++ | src/Regex/Cursor2.pir:
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.
diakopter mberends: wow..! 18:07
mberends: lots o progress
mberends :-) it's "just" mapping jnthn's C# into Java. At least it runs now :) 18:11
jnthn mberends: Happy it still runs. :-)
masak mberends++ 18:14
jnthn mberends: Any more tests pass yet? ;) 18:17
jnthn will be excited when the multi dispatch and class tests start passing :)
mberends jnthn: no idea, can't see the wood for the trees at the moment ;) 18:18
diakopter heh 18:19
jnthn :)
masak here we go, the p3 blog post: strangelyconsistent.org/blog/p3-is-...e-rangeset
diakopter lol at wood's forest/pulp meanings
jnthn Finally, I can eat!
masak jnthn: sorry to have kept you waiting :)
jnthn :P
masak buses over to jnthn
jnthn It's OK, I was just as eager for the blog post :)
masak :)
18:19 masak left
diakopter "consitered that too cure" 18:21
pure I guess? 18:22
18:23 masak joined
masak diakopter: no, "cute". I'll fix later. 18:24
18:24 masak left
diakopter oh 18:24
18:24 wamba joined 18:26 zby_home joined 18:29 whiteknight left
jnthn ...buswifi! 18:30
;)
18:31 whiteknight joined
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:37
colomon rakudo: say 4 ~~ "6" .. 10; 18:38
p6eval rakudo 388eed: OUTPUT«Bool::False␤»
colomon rakudo: say 8 ~~ "6" .. 10;
p6eval rakudo 388eed: OUTPUT«Bool::True␤»
colomon rakudo: say 6 ~~ "6" .. 10; 18:39
p6eval rakudo 388eed: OUTPUT«Bool::True␤»
colomon rakudo: say 6 ~~ "6" ^.. 10; 18:40
p6eval rakudo 388eed: OUTPUT«Bool::False␤»
colomon oh, read wrong
rakudo: say "6" ~~ 4 ^.. 10;
p6eval rakudo 388eed: OUTPUT«Bool::False␤»
lue afk 18:45
18:52 Tedd1 left
dalek p-rx/nom: 996bc6d | jonathan++ | src/Regex/Cursor2.pir:
Get the rest of the methods in Cursor2 fixed up for 6model. (Still leaves the protoregex implementation and builtins todo, though.)
18:55
p-rx/nom: f651f2d | jonathan++ | src/PAST/Compiler-Regex.pir:
Temporarily disable getting $!debug - it's the only place in the generated code that breaks cursor encapsulation, thankfully.
p-rx/nom: 5d977a8 | jonathan++ | src/Regex/Cursor2.pir:
Missed fixing up one of the attribute accesses.
18:57 envi left 18:59 GinoMan joined 19:07 fhelmberger left 19:08 fhelmberger joined 19:09 fhelmberger left 19:13 pjcj left 19:17 cogno joined 19:28 cogno left 19:40 pjcj joined 19:41 cogno joined 19:43 simon__ joined
simon__ hey. is there a way to use metaoperators with functions/methods that aren't operators? 19:44
sorear yes 19:45
simon__ how? ;)
sorear your question is too generic to answer 19:46
simon__ for instance if i wanna do (1,2,3) Z[{$^a * $^b / $^a + $^b}] (1,2,3) 19:47
19:47 MayDaniel left
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␤»
diakopter ergh 19:48
tadzik rakudo: say &zipwith.signature[0].perl
p6eval rakudo 388eed: OUTPUT«get_attr_str() not implemented in class 'Perl6MultiSub'␤ in main program body at line 1␤»
tadzik neh
sorear rakudo: zipwith({ $^a * $^b / ($^a + $^b) }, (1,2,3), (1,2,3)).perl.say
p6eval rakudo 388eed: OUTPUT«(1/2, 1/1, 3/2)␤»
sorear diakopter: ?
simon__ oh, so there's a normal function version of every metaoperator?
sorear rakudo: zipwith({ $^a * $^b / ($^a + $^b) }, [1,2,3], [1,2,3]).perl.say
p6eval rakudo 388eed: OUTPUT«(1/2, 1/1, 3/2)␤»
19:49 pmurias joined
sorear hrm... not working. 19:49
this stuff isn't in the spec yet so it's not going to be consistent between compilers
hello pmurias
diakopter sorear: nothing :) just grousing about nqp 19:50
jnthn: we should pull Util's 6model's pull requests 19:51
pmurias sorear: hi 19:55
is there a way to make an operator out of a function? 19:56
like `function` in haskell?
19:57 [Coke] left
flussence rakudo: prefix:<+>($a, $b) { $a + $b }; say + 4 3 19:58
p6eval rakudo 388eed: OUTPUT«===SORRY!===␤Confused at line 22, near "prefix:<+>"␤»
flussence oh
rakudo: multi prefix:<+>($a, $b) { $a + $b }; say + 4 3
p6eval rakudo 388eed: OUTPUT«===SORRY!===␤Confused at line 22, near "say + 4 3"␤»
flussence rakudo: multi prefix:<+>($a, $b) { $a + $b }; say +4 3
p6eval rakudo 388eed: OUTPUT«===SORRY!===␤Confused at line 22, near "say +4 3"␤»
flussence so much for RPN :(
or FPN or whatever that is called
diakopter hm 19:59
20:00 GinoMan left
simon__ flussence: prefix operator isn't the same as prefix function 20:02
20:03 dukeleto left
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
20:03 dukeleto joined
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:05
colomon simon__: If you make your own operator, it should work with metaoperators as well. 20:06
20:07 y3llow_ joined, pothos_ joined
simon__ colomon: I know but that's not what i meant 20:07
20:09 y3llow left, y3llow_ is now known as y3llow, pothos left, pothos_ is now known as pothos 20:34 cogno left 20:39 [Coke] joined 20:41 Layla_91 joined
Layla_91 hi! o/ 20:42
tadzik o/ 20:43
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? ;)
Layla_91 Su-Shee: Oooops! XD
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
Su-Shee: I feel better here usually ^_^ 20:47
Su-Shee: By the way I know you are always here.. as you know am regualr visitor :)
20:47 tzhs joined
Su-Shee no, I don't know that. 20:48
Layla_91 Su-Shee: now you know ^_^
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:53
(maybe I can secretly ask about it here :P ) 20:54
tadzik: feels so quiet here today... is it late in europe? 21:03
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␤»
TimToady er, should be ($,$), actually 21:06
jnthn Привет, Layla_91 :) 21:09
Layla_91 jnthn: heey! :D
jnthn Как дела? 21:10
Layla_91 jnthn: am doing great! :D (my laptop keyboard does not support Russian :'( ) but you are mastering the language ^_^ 21:11
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 21:13 orafu joined
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 :$
tadzik Layla_91: 22:11 in here
TimToady first, did it come out looking like Japanese?
Layla_91 TimToady: yes it was.. 21:14
TimToady so you have utf-8 support there already, good
what OS are you running on?
jnthn Layla_91: I use winrus.com/screen_e.htm or I made myself 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. :)
diakopter runs on treadMill O's
Layla_91 TimToady: mmm.. ok :) 21:15
TimToady: and am using fedora14 here as the OS.. but have no idea how to write Russian
TimToady there is probably a way to install an input method, but I'm not up-to-date on fedora 21:16
21:16 bacek__ left
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...)
sorear yes, transliteration is an acceptable term
more generally we call them input methods
some input methods use mice, for instance
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: ты супер! :)
jnthn: yay! ^_^
TimToady \o/
jnthn Layla_91: \o/
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.
jnthn супер...a very Russian word. :P
Layla_91 jnthn: ok I admit we have took few words like (businessman, super) from the english people :D
sorear the IME that TimToady and I use can translate "nihon'go" into "日本語" 21:20
Layla_91 jnthn: did you make one for hebrew?
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.
sorear Japanese input is complicated greatly by the 3 Japanese alphabets and the loose coupling between kanji and readings
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 :)
TimToady yes, that's transliteration
though, arguably, it's really transliterating from romaji, not from english 21:23
Su-Shee TimToady: indeed. 21:24
21:25 Layla_91 left 21:27 Layla_91 joined
sorear I don't think that transliteration is the right term for the entire process, nihon'go -> にほんご -> 日本語 21:27
it's arguably correct for the first step
Su-Shee well then let's write chinese which doesn't require the step from hiragana to kanji ;) 21:29
sorear is pinyin bijective?
Su-Shee I don't know what bijective is? 21:30
sorear 1:1 mapping
Layla_91 terrible ADSL connection :(
sorear not ambiguous
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
between four
ouch :)
so if you type "shi" you get a rather long list of possible hanzi 21:32
but with the most common on top.
Layla_91 TimToady: What OS do you use in your home network? 21:33
TimToady various 21:34
Su-Shee sorear: the "shi" and its accents problem is nicely illustrated here: en.wikipedia.org/wiki/Lion-Eating_P..._Stone_Den ;) 21:35
21:36 MayDaniel joined 21:38 mberends left, coldhead joined, M_o_C joined, M_o_C left, M_o_C joined
Layla_91 Good night all, tomorrow is working day.. time to [(--)] 21:40
21:41 pmurias left
jnthn night night, Layla_91 o/ 21:42
21:42 mberends joined 21:43 Layla_91 left 21:48 M_o_C left
sorear Su-Shee: that is very neat 21:53
21:53 orafu left 21:54 orafu joined 22:02 orafu left 22:04 orafu joined 22:11 pyrimidine left, pyrimidine joined 22:12 MayDaniel left 22:35 zby_home left 22:36 tzhs left 22:39 noganex_ left 22:41 noganex joined
moritz_ phenny: tell masak on 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.
sorear hi moritz_ 22:46
moritz_ hi sorear 22:48
dalek p-rx/nom: 1307e73 | jonathan++ | src/ (4 files):
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
22:50 snearch joined
moritz_ -> sleep 22:54
22:55 MOAR-f00li5h is now known as f00li5h, f00li5h left, f00li5h joined 23:08 wamba left 23:12 simon__ left
dalek p-rx/nom: 2dcffea | jonathan++ | src/metamodel/how/NQPClassHOW.pm:
Implement the non-local case of .^parents in NQPClassHOW, which returns the MRO.
23:14
p-rx/nom: 661c631 | jonathan++ | src/Regex/Cursor-builtins.pir:
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 masak joined
masak \o/ 23:14
phenny masak: 22:45Z <moritz_> tell masak on 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
masak ok. interesting point. 23:15
type objects are a double-edged sword. :)
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
looking at my own solutions, I must have known this writing them :) but I've definitely forgotten since.
will change my review notes to reflect this.
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
in particular, consider cases like <[ a..z \D ]-[ \s ]> 23:19
masak sounds a bit like the problem I intended it to be :) 23:20
p3, that is.
std: sub is {}; use Test; 23:21
p6eval std 625303c: OUTPUT«===SORRY!===␤Illegal redeclaration of routine 'is' (see line 1) at /tmp/7dzlNCnCLK line 1:␤------> sub is {}; use Test⏏;␤Check failed␤FAILED 00:01 118m␤»
masak this is in conflict with S11.
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␤␤»
masak jnthn: ...so I won't submit an RT ticket about it after all :)
but S11 should be updated. or STD.
jnthn Updating one spec is easier than two implementations. ;) 23:23
masak that's the most dangerous principle I've heard today :P
are you also against macros in the spec?
jnthn :P 23:24
I wasn't being serious. :)
.oO( Dangerous Principle of the Day! New on #perl6! )
23:25
23:33 MayDaniel joined 23:37 pyrimidine left 23:40 hudnix left
dalek p-rx/nom: 74764f9 | jonathan++ | src/Regex (3 files):
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
masak flussence: there was a junction in one of the p3 submissions. look at the last line of Util's code. 23:42
23:44 kaare_ left
masak Su-Shee: the name of "old system" you were thinking of earlier is probably "Wade-Giles". 23:46
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␤»
Util rakudo: my @rc = <<a b c d e>>; my @r = @rc[ 0 ..^ * ]; my @c = @rc[ 0 ^.. * ]; @r.say; @c.say;
p6eval rakudo 388eed: OUTPUT«(timeout)»
Util masak: Is this what you were recommending in P1? Because it hangs :^(
masak huh. 23:49
which one of them? 23:50
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)␤»
masak rakudo: my @rc = <a b c d e>; my @r = @rc[ 0 ..^ * ]; say 'alive' 23:52
p6eval rakudo 388eed: OUTPUT«(timeout)»
masak ok, the first one.
rakudo: my @rc = <a b c d e>; my @c = @rc[ 0 ^.. * ]; say 'alive'
and the second one :/
p6eval rakudo 388eed: OUTPUT«(timeout)»
Util Either; I used both so you would know I was paralleling my p1 code. It hangs with just [ 0 .. *] 23:53
No ^ needed to hang
masak this surprises me.
23:55 sji joined 23:56 shi left