Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-12-30

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 jhuni joined #perl6
00:00 sorear pmurias: if 1 {} else -> $c {}  # the else block is unreachable, so $c contains nothing
00:00 sorear pmurias: if 0 {} else -> $c {}  # $c contains 0
00:00 sorear pmurias: if False {} else -> $c {}  # $c contains False
00:01 sorear pmurias: S04:293
00:04 dalek roast: 6ba8ab4 | pmurias++ | S04-statements/if.t:
00:04 dalek roast: fix the plan and fudging reasons
00:04 dalek roast: review: https://github.com/perl6/roast/commit/6ba8ab45d7
00:05 masak reading the tripe that HIB0U writes, I have an urge to optimize Rakudo out of *spite*.
00:05 * masak takes a step away from reddit/p
00:05 colomon optimize!  optimize!  optimize!
00:06 Tene He's rather hateful. :(
00:07 coldhead haters are gonna hate
00:07 masak too bad our hugs don't reach all the way to reddit.
00:07 pmurias sorear: should we use a single repo on github instead of merging everything?
00:07 arnsholt That guy seems to be beyond help
00:07 sjohnson masak: haha
00:08 flussence I'd rather poison him with sugar-coated niceness, at least it'd make us look good in comparison :)
00:08 sjohnson hugme's bot only goes so far
00:08 masak flussence++
00:08 sjohnson err, hugs
00:08 arnsholt Too bad the name is actually kinda cool
00:08 masak flussence: even better, be *genuinely* nice to him.
00:08 masak flussence: that'll mess him up!
00:08 masak :P
00:08 flussence heh
00:11 colomon rakudo: my $a = 1 => 10; say $a.value++; say $a
00:11 p6eval rakudo : OUTPUT«10␤1    11␤»
00:13 sorear pmurias: sounds good
00:14 sorear pmurias: done
00:14 masak sleep &
00:14 masak left #perl6
00:20 pmurias takadonet: doesn't the fibonnaci sequence start from 0?
00:20 rindolf left #perl6
00:21 sorear pmurias: you have push capability
00:22 colomon pmurias: that depends on who you ask.
00:22 pmurias colomon: ?
00:23 sorear pmurias: last two patches from you look good
00:23 colomon I've seen it given both as 0, 1 and 1, 1.
00:23 colomon And at least one somebody today defined it as starting 1, 2
00:23 sjohnson OT Q: anyone recommend knuth's art of computer programming stuff?  i'm looking to beef up my practical knowledge.
00:23 pmurias sorear: i did the pull request to see if i can merge my changes through the github gui
00:23 pmurias ;)
00:25 hercynium left #perl6
00:25 TimToady rakudo: say 1/0 == 1/0; say 1/0 === 1/0
00:25 p6eval rakudo : OUTPUT«Bool::True␤Bool::False␤»
00:26 pmurias sorear: i'll merge by commits and finish the elsif ... -> ... tommorow
00:26 pmurias g'night
00:26 pmurias left #perl6
00:26 Patterner left #perl6
00:28 Psyche^ joined #perl6
00:28 Psyche^ is now known as Patterner
00:28 TimToady rakudo: say (1/0).WHAT === (1/0).WHAT
00:28 p6eval rakudo : OUTPUT«Bool::True␤»
00:28 * TimToady thinks 1/0 === 1/0 ought to return True too
00:33 yarrak joined #perl6
00:36 molaf left #perl6
00:43 timbunce left #perl6
00:43 * colomon 's head is swimming with the possibilities for masak's p4.
00:46 risou joined #perl6
00:48 fith rakudo: say 1/0 ; say 0/0
00:48 p6eval rakudo : OUTPUT«Inf␤Divide by zero␤  in 'infix:<div>' at line 3711:CORE.setting␤  in 'Rat::new' at line 4096:CORE.setting␤  in 'infix:</>' at line 4185:CORE.setting␤  in main program body at line 22:/tmp/PvoU4vyR_f␤»
00:48 fith rakudo: say 1/0
00:48 p6eval rakudo : OUTPUT«Inf␤»
00:48 fith rakudo: say 0/0
00:48 p6eval rakudo : OUTPUT«Divide by zero␤  in 'infix:<div>' at line 3711:CORE.setting␤  in 'Rat::new' at line 4096:CORE.setting␤  in 'infix:</>' at line 4185:CORE.setting␤  in main program body at line 22:/tmp/yDrLBDmG7b␤»
00:48 masonkramer joined #perl6
00:50 soroush joined #perl6
00:50 wolverian rakudo: class Foo { has $.bar } Foo.new
00:50 p6eval rakudo : OUTPUT«===SORRY!===␤Confused at line 22, near "class Foo "␤»
00:50 wolverian rakudo: class Foo { has $.bar }; Foo.new
00:50 p6eval rakudo :  ( no output )
00:50 wolverian how do I mark an attribute as required?
00:50 soroush_ left #perl6
00:56 Patterner left #perl6
00:59 sorear rakudo: class Foo { has $.bar = die "bar is required"; }; Foo.new # beleive it or not, this is the current recommendation
00:59 p6eval rakudo : OUTPUT«bar is required␤  in <anon> at line 22:/tmp/eugwVfUQHX␤  in main program body at line 22:/tmp/eugwVfUQHX␤»
01:00 Tedd1 left #perl6
01:01 Psyche^ joined #perl6
01:01 Psyche^ is now known as Patterner
01:02 wolverian sorear: thanks. not the most obvious way. :)
01:05 am0c left #perl6
01:06 Patterner left #perl6
01:08 QinGW joined #perl6
01:12 roen joined #perl6
01:13 Psyche^ joined #perl6
01:13 Psyche^ is now known as Patterner
01:18 diakopter TimToady: is this still the proper type annotation for a fully/strongly-typed subroutine?  or has another/better one arisen?  Callable[:(--> int)]
01:19 diakopter well, for a closure
01:19 diakopter my $a = sub (--> int) { return 5 };
01:20 diakopter my Callable[:(--> int)] $a = sub (--> int) { return 5 };
01:23 colomon rakudo: say 3 !%% 2
01:23 p6eval rakudo : OUTPUT«===SORRY!===␤Infix !% is deprecated in favor of infix %% at line 22, near "% 2"␤»
01:24 colomon std: say 3 !%% 2
01:25 p6eval std 625303c: OUTPUT«ok 00:01 120m␤»
01:33 awwaiid left #perl6
01:33 am0c^ joined #perl6
01:42 Patterner left #perl6
01:42 Psyche^ joined #perl6
01:43 Psyche^ is now known as Patterner
01:45 diakopter std: say 3 ![%%] 2
01:45 p6eval std 625303c: OUTPUT«ok 00:01 120m␤»
01:45 diakopter std: say 3 ![4] 2
01:45 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Negation metaoperator not followed by valid infix at /tmp/_as7GXnWbh line 1:␤------> [32msay 3 ![[33m⏏[31m4] 2[0m␤    expecting any of:␤ bracketed infix␤        infix or meta-infix␤Parse failed␤FAILED 00:01 120m␤»
01:45 diakopter rakudo: say 3 ![%%] 2
01:45 p6eval rakudo : OUTPUT«Bool::True␤»
01:46 diakopter colomon: ^^
01:46 colomon diakopter++
01:46 colomon though 3 % 2 == 1 is probably clearer, and what I ended up using.  :)
01:47 diakopter 3 % 2  coerced to bool is right too I think
01:48 arnsholt I've gone wih 3 % 2 == 1
01:48 arnsholt (Assuming you're working on what I think =)
01:48 colomon would it be p4?
01:49 colomon or rather, are you thinking p4?
01:49 arnsholt p2, actually
01:49 colomon oh, right, it was important for p2, too.  But I finished that on my first day of vicodin haze.
01:50 Eth4n left #perl6
01:51 arnsholt Not sure I'll use modulo for p4, though
01:52 Patterner left #perl6
01:53 Eth4n joined #perl6
01:57 colomon rakudo: say [2 => 3, 4 => 5].grep(*.value ~~ 2..3).perl
01:57 p6eval rakudo : OUTPUT«()␤»
01:57 lichtkind left #perl6
01:57 colomon rakudo: say [2 => 3, 4 => 5].grep({$_.value ~~ 2..3}).perl
01:57 p6eval rakudo : OUTPUT«(2 => 3)␤»
02:04 ethan_ joined #perl6
02:05 ethan_ left #perl6
02:05 Psyche^ joined #perl6
02:05 Psyche^ is now known as Patterner
02:05 Eth4n left #perl6
02:05 Eth4n joined #perl6
02:10 Patterner left #perl6
02:20 roobie| joined #perl6
02:20 rgrau joined #perl6
02:22 Psyche^ joined #perl6
02:22 Psyche^ is now known as Patterner
02:24 cdarroch left #perl6
02:26 roobie| left #perl6
02:31 Patterner left #perl6
02:43 am0c^ left #perl6
02:46 Psyche^ joined #perl6
02:46 Psyche^ is now known as Patterner
02:51 lidden left #perl6
02:59 shi left #perl6
03:02 Patterner left #perl6
03:05 andmott joined #perl6
03:05 andmott Greetings
03:05 colomon o/
03:09 Psyche^ joined #perl6
03:09 Psyche^ is now known as Patterner
03:17 Tene left #perl6
03:18 Patterner left #perl6
03:18 Psyche^ joined #perl6
03:18 Psyche^ is now known as Patterner
03:23 Patterner left #perl6
03:24 sorear hello andmott
03:24 sorear std: 2.^&say
03:24 p6eval std 625303c: OUTPUT«ok 00:01 122m␤»
03:24 andmott hi
03:34 am0c joined #perl6
03:36 Psyche^ joined #perl6
03:36 Psyche^ is now known as Patterner
03:38 dalek niecza: 6dbdce4 | sorear++ | / (2 files):
03:38 dalek niecza: Allow binding $/ and $! in signatures
03:38 dalek niecza: review: https://github.com/sorear/niecza/commit/6dbdce4462
03:38 dalek niecza: b0d9226 | sorear++ | test2.pl:
03:38 dalek niecza: Test for binding $/
03:38 dalek niecza: review: https://github.com/sorear/niecza/commit/b0d9226f1a
03:38 dalek niecza: b508f75 | sorear++ | / (4 files):
03:38 dalek niecza: Implement method calls with computed names
03:38 dalek niecza: review: https://github.com/sorear/niecza/commit/b508f75064
03:48 Psyche^ joined #perl6
03:49 Patterner left #perl6
03:49 Psyche^ is now known as Patterner
03:56 awwaiid joined #perl6
03:58 stkowski left #perl6
03:59 Patterner left #perl6
03:59 Psyche^ joined #perl6
04:00 sorear Is $/.ast a lvalue?
04:01 Psyche^ is now known as Patterner
04:07 andmott Does perl6 change the concatenation operator from . to ~ ?
04:07 agentzh joined #perl6
04:08 flussence andmott: yes
04:09 flussence also, appending a string to a variable is ~= in p6, which might seem confusing at first but it's really just the same thing as +=.
04:10 andmott Cool thanks
04:12 andmott Do you know if the decision to change concatenate to another character was because of the . being used in obect oriented syntax?
04:12 Patterner left #perl6
04:13 cottoo joined #perl6
04:14 cotto left #perl6
04:15 sorear andmott: I think so
04:16 andmott cool
04:18 Psyche^ joined #perl6
04:18 Psyche^ is now known as Patterner
04:20 sorear andmott: it's probably in A02
04:20 sorear (you have read the Apocalypses, yes?)
04:23 cottoo left #perl6
04:23 cottoo joined #perl6
04:31 lue hello! o/
04:32 Patterner left #perl6
04:33 Psyche^ joined #perl6
04:33 Psyche^ is now known as Patterner
04:47 dalek niecza: 20bd9a4 | sorear++ | / (8 files):
04:47 dalek niecza: Implement regex abstract objects
04:47 dalek niecza: review: https://github.com/sorear/niecza/commit/20bd9a4ec7
04:49 orafu left #perl6
04:49 orafu joined #perl6
04:49 Patterner left #perl6
04:51 Psyche^ joined #perl6
04:51 Psyche^ is now known as Patterner
04:57 Patterner left #perl6
05:06 Psyche^ joined #perl6
05:07 elliott joined #perl6
05:10 Psyche^ left #perl6
05:11 Psyche^ joined #perl6
05:11 Psyche^ is now known as Patterner
05:16 sorear std: class Foo; method parse($text, :$rule = 'TOP', :$actions) { }
05:16 p6eval std 625303c: OUTPUT«Potential difficulties:␤  $text is declared but not used at /tmp/iRcha9OIO5 line 1:␤------> [32mclass Foo; method parse([33m⏏[31m$text, :$rule = 'TOP', :$actions) { }[0m␤ok 00:01 123m␤»
05:16 Eth4n left #perl6
05:17 horror21 left #perl6
05:17 Eth4n joined #perl6
05:17 [Coke] left #perl6
05:22 Patterner left #perl6
05:28 Tene joined #perl6
05:28 Tene left #perl6
05:28 Tene joined #perl6
05:33 Psyche^ joined #perl6
05:33 Psyche^ is now known as Patterner
05:38 Patterner left #perl6
05:39 Psyche^ joined #perl6
05:39 Psyche^ is now known as Patterner
05:42 elliott left #perl6
05:46 am0c left #perl6
05:48 Patterner left #perl6
05:56 soroush_ joined #perl6
05:56 soroush left #perl6
05:57 felliott left #perl6
06:09 dalek niecza: ba795bf | sorear++ | / (4 files):
06:09 dalek niecza: Implement action methods
06:09 dalek niecza: review: https://github.com/sorear/niecza/commit/ba795bf874
06:10 plobsing left #perl6
06:13 kanishka joined #perl6
06:25 Psyche^ joined #perl6
06:29 Psyche^ left #perl6
06:30 Psyche^ joined #perl6
06:30 Psyche^ is now known as Patterner
06:35 cjk101010 joined #perl6
06:48 Alias joined #perl6
06:51 lue left #perl6
06:53 lue joined #perl6
06:53 kanishka left #perl6
06:54 sorear I wonder how I should expose File::Spec / FindBin like functionality in Perl6
06:54 kanishka joined #perl6
06:55 kaare joined #perl6
06:56 kaare is now known as Guest13644
06:57 Patterner left #perl6
07:04 bacek left #perl6
07:04 Guest13644 is now known as kaare_
07:09 Psyche^ joined #perl6
07:09 Psyche^ is now known as Patterner
07:15 Patterner left #perl6
07:20 dalek niecza: 97134d2 | sorear++ | lib/CLRBackend.cs:
07:20 dalek niecza: Reintroduce rawscall
07:20 dalek niecza: review: https://github.com/sorear/niecza/commit/97134d2eb8
07:53 nakashiman joined #perl6
07:54 nakashiman left #perl6
07:59 Psyche^ joined #perl6
08:00 Psyche^ is now known as Patterner
08:00 dalek niecza: 049d8e5 | sorear++ | / (4 files):
08:00 dalek niecza: Add a native JSON interface
08:00 dalek niecza: review: https://github.com/sorear/niecza/commit/049d8e5b64
08:06 Gahrian joined #perl6
08:07 coldhead what does a .cs extension denote?
08:08 coldhead c sharp! i see
08:14 Patterner left #perl6
08:16 sorear yes
08:19 envi left #perl6
08:21 orafu left #perl6
08:22 orafu joined #perl6
08:24 envi joined #perl6
08:26 Chillance left #perl6
08:27 gimix joined #perl6
08:28 gimix left #perl6
08:35 Psyche^ joined #perl6
08:35 Psyche^ is now known as Patterner
08:39 BinaryImp joined #perl6
08:39 jimmy1980 joined #perl6
08:40 LeifD joined #perl6
08:43 LeifD in a sequence, 0,1, function ...,  is it possible from inside function get at all the previous values?
08:43 Patterner left #perl6
08:48 kanishka left #perl6
08:51 Psyche^ joined #perl6
08:51 Psyche^ is now known as Patterner
08:55 Trashlord left #perl6
08:57 Trashlord joined #perl6
08:58 Patterner left #perl6
09:03 kanishka joined #perl6
09:12 sftp left #perl6
09:12 sftp joined #perl6
09:28 jhuni left #perl6
09:29 Psyche^ joined #perl6
09:29 Psyche^ is now known as Patterner
09:39 Alias_ joined #perl6
09:39 timbunce joined #perl6
09:39 moritz_ diakopter: go right ahead
09:41 Alias__ joined #perl6
09:41 Alias left #perl6
09:44 Alias_ left #perl6
09:44 justatheory left #perl6
09:45 Patterner left #perl6
09:53 moritz_ LeifD: if the function has a signature of *@a, yes
09:54 LeifD Thanks
09:54 moritz_ rakudo: .say for 'a', 'x',  -> *@a { 'b' ~ @a.join } ... *.chars == 5
09:54 p6eval rakudo : OUTPUT«a␤x␤bax␤baxbax␤baxbaxbaxbax␤baxbaxbaxbaxba​xbaxbaxbax␤baxbaxbaxbaxbaxbaxbaxbaxbaxbaxbaxbaxba​xbaxbaxbax␤baxbaxbaxbaxbaxbaxbaxbaxbaxbaxbaxbaxba​xbaxbaxbaxbaxbaxbaxbaxbaxbaxbaxbaxbaxbaxbaxbaxbax​baxbaxbax␤baxbaxbaxbaxbaxbaxbaxbaxbaxbaxbaxbaxbax​baxbaxbaxbaxbaxbaxbaxbaxbaxbaxbaxbaxbaxbaxba…
09:55 moritz_ rakudo: .say for 'a', 'x',  -> *@a { 'b' ~ @a.join } ... *.chars > 10
09:55 p6eval rakudo : OUTPUT«a␤x␤bax␤baxbax␤baxbaxbaxbax␤»
09:55 moritz_ yes, stupid sequence, but it works
09:55 LeifD :)
09:58 roen left #perl6
09:58 Psyche^ joined #perl6
09:58 Psyche^ is now known as Patterner
09:59 moritz_ rakudo: .say for 1, 4, 9, * * 2 + 1 ... 100
09:59 p6eval rakudo : OUTPUT«(timeout)39␤79␤159␤319␤639␤1279␤2559␤5119␤​10239␤20479␤40959␤81919␤163839␤327679␤655359␤1310​719␤2621439␤5242879␤10485759␤20971519␤41943039␤83​886079␤167772159␤335544319␤671088639␤1342177279␤2​684354559␤5368709119␤10737418239␤21474836479␤4294​9672959␤85899345919␤171798691839␤34359738367…
10:03 QinGW left #perl6
10:03 Gertm joined #perl6
10:05 jimmy1980 left #perl6
10:08 Patterner left #perl6
10:09 Psyche^ joined #perl6
10:09 Psyche^ is now known as Patterner
10:14 Patterner left #perl6
10:15 * sorear out
10:16 Gahrian left #perl6
10:17 lukas___ joined #perl6
10:30 soroush_ left #perl6
10:34 Psyche^ joined #perl6
10:34 Psyche^ is now known as Patterner
10:34 glow joined #perl6
10:41 LeifD is it possible to, inside a for loop, restart it?
10:47 lopaway is now known as lopnor
11:03 timbunce left #perl6
11:14 roen joined #perl6
11:18 daxim joined #perl6
11:30 Patterner left #perl6
11:31 coldhead left #perl6
11:32 pmurias joined #perl6
11:32 Psyche^ joined #perl6
11:32 Psyche^ is now known as Patterner
11:37 lopnor hello #perl6,
11:37 lopnor I read http://www.reddit.com/r/perl/comments/dr​8z4/perl_6_immutable_sigils_and_context/
11:37 lopnor where can i read specification about 'but' keyword/
11:37 lopnor ?
11:41 agentzh left #perl6
11:50 pmurias the specs can be found at http://perlcabal.org/syn/
11:50 lopnor ah,
11:50 lopnor i found this http://perlcabal.org/syn/S06​.html#Properties_and_traits
11:50 lopnor is this that?
11:51 pmurias S14:287
11:52 pmurias http://perlcabal.org/syn/S14.html#line_287 that is
11:52 lopnor thank you!
11:53 lopnor that article suggests it is the replacement of wantarray in perl5,
11:53 lopnor is it okay to use ?
11:54 rgrau left #perl6
11:55 pmurias lopnor: where does it suggests that?
11:55 lopnor pmurias: http://www.reddit.com/r/perl/comments/dr​8z4/perl_6_immutable_sigils_and_context/
11:55 lopnor here.
11:57 pmurias lopnor: you mean in the comments?
11:58 lopnor ah, sorry, yes. in the comment.
11:58 lopnor http://www.reddit.com/r/perl/comments/dr8z4/​perl_6_immutable_sigils_and_context/c12cyrp
11:59 lopnor this is the permalink for the comment that suggests 'but' for 'wantarray'.
11:59 Gertm left #perl6
11:59 roobie| joined #perl6
12:00 tadzik hmm, funny
12:01 tadzik rakudo: my @a = 1, 2, 3 but 'foobar'; say @a; say @a.perl;
12:01 p6eval rakudo : OUTPUT«123␤[1, 2, 3]␤»
12:01 tadzik rakudo: my @a = 1, 2, 3 but 'foobar'; say @a.Str
12:01 p6eval rakudo : OUTPUT«1 2 3␤»
12:01 tadzik rakudo: my @a = 1, 2, 3 but 'foobar'; say ~@a
12:01 p6eval rakudo : OUTPUT«1 2 3␤»
12:01 tadzik hrm, I wonder what moritz_ was up to
12:02 pmurias rakudo: my $a = 1,2,3 but 'foobar';say $a;
12:02 p6eval rakudo : OUTPUT«1␤»
12:02 pmurias lopnor: it seems that use of but isn't implemented yet
12:02 tadzik :)
12:02 lopnor mmm,
12:03 lopnor oh,
12:03 lopnor i wrote "return @a but @a[0];"
12:04 lopnor in my code
12:04 pmurias rakudo: sub foo {my @a=1,2,3,4;return @a but @a[0]};say foo()
12:04 p6eval rakudo : OUTPUT«1234␤»
12:04 pmurias rakudo: sub foo {my @a=1,2,3,4;return @a but @a[0]};say foo()+1
12:04 p6eval rakudo : OUTPUT«5␤»
12:05 lopnor so, it doesn't work:)
12:05 lopnor thank you for testing!
12:06 [Coke] joined #perl6
12:07 lopnor so, should i make new class that inherits array?
12:08 tadzik better think why do you really need this :)
12:09 lopnor I'm just porting perl5 codes including wantarray :)
12:09 tadzik ah
12:09 tadzik what code is that?
12:09 lopnor plack
12:09 tadzik oh!
12:09 lopnor web interface
12:10 dalek niecza: 7383a1c | pmurias++ | / (2 files):
12:10 dalek niecza: Merge branch 'master' of https://github.com/pmurias/niecza
12:10 dalek niecza: review: https://github.com/sorear/niecza/commit/7383a1c3cb
12:10 yarrak left #perl6
12:10 pmurias lopnor: i think you should just skip the wantarray part
12:11 lopnor multi keyword for method allows multi arguments,
12:11 colomon lopnor++
12:11 lopnor how about multi return types?
12:12 pmurias lopnor: if somebody is brave enough to implement that
12:12 pmurias it will allow that
12:12 lopnor so NYI?
12:13 lopnor ok, thank you so much for the guidances.
12:13 lopnor i'm doing my job porting plack on https://github.com/lopnor/p6-plackdo
12:15 lopnor please try that if you are interested in that.
12:15 lopnor thank you.
12:16 pmurias lopnor: re NYI i thought it's specced as conjenctural (things that might we would like but are not sure if are resonably implementable) maybe it's not specced at all
12:17 pmurias lopnor: but in general case it's hard for a subroutine to know it's expected type
12:17 lopnor yes, it would be
12:20 noganex_ joined #perl6
12:22 sftp left #perl6
12:22 sftp joined #perl6
12:23 noganex left #perl6
12:24 rgrau joined #perl6
12:25 adu joined #perl6
12:25 adu left #perl6
12:26 ggoebel left #perl6
12:27 espadrine joined #perl6
12:29 masonkramer left #perl6
12:29 masonkramer joined #perl6
12:31 ggoebel joined #perl6
12:35 sftp_ joined #perl6
12:35 sftp left #perl6
12:37 ggoebel left #perl6
12:39 soroush joined #perl6
12:40 uasi joined #perl6
12:40 uasi rakudo: my @a = 1, 2, 3; @a does 'foobar'; say ~@a;
12:41 p6eval rakudo : OUTPUT«foobar␤»
12:41 roobie| left #perl6
12:41 lopnor ちょw
12:42 ggoebel joined #perl6
12:45 noganex_ is now known as noganex
12:46 lopnor rakudo: my $a = [1, 2, 3]; say $a;
12:46 p6eval rakudo : OUTPUT«1 2 3␤»
12:47 mtk joined #perl6
12:47 lopnor rakudo: my $a = [1, 2, 3]; say ~$a;
12:47 p6eval rakudo : OUTPUT«1 2 3␤»
12:48 lopnor rakudo: use Test; my $a = <foo bar baz>; is $a, 'foo';
12:48 p6eval rakudo : OUTPUT«not ok 1 - ␤#      got: 'foo bar baz'␤# expected: 'foo'␤»
12:48 lukas___ left #perl6
12:48 sbp left #perl6
12:48 sbp joined #perl6
12:48 lopnor rakudo: use Test; my $a = [<foo bar baz>]; is $a, 'foo';
12:48 p6eval rakudo : OUTPUT«not ok 1 - ␤#      got: 'foo bar baz'␤# expected: 'foo'␤»
12:51 lopnor my @a = <foo bar baz>; $b = @a but @a[0]; say $b; say $b[2];
12:51 lopnor my @a = <foo bar baz>; my $b = @a but @a[0]; say $b; say $b[2];
12:53 lopnor rakudo: my @a = <foo bar baz>; my $b = @a but @a[0]; say $b; say $b[2];
12:53 p6eval rakudo : OUTPUT«foo␤baz␤»
12:54 lopnor this is what i needed.
12:56 mtk left #perl6
12:56 uasi lopnor: you should bind the return value like this
12:56 uasi rakudo: sub foo() { my @a = <a b c>; @a but @a[0] }; @a := foo; say ~@a;
12:56 p6eval rakudo : OUTPUT«===SORRY!===␤Symbol '@a' not predeclared in <anonymous> (/tmp/mu65xQSerW:22)␤»
12:56 uasi sub foo() { my @a = <a b c>; @a but @a[0] }; my @a := foo; say ~@a;
12:57 uasi oops
12:57 uasi rakudo: sub foo() { my @a = <a b c>; @a but @a[0] }; my @a := foo; say ~@a;
12:57 p6eval rakudo : OUTPUT«a␤»
13:00 lopnor uasi: where is the spec on ':=' ?
13:00 risou left #perl6
13:01 lopnor sorry too many questions....
13:02 roen_ joined #perl6
13:02 roen left #perl6
13:05 mtk joined #perl6
13:05 uasi lopnor: S03:2237
13:05 moritz_ := is probably in S03 (like all operators)
13:05 lopnor ah, i also grepped with "grep ':=' t -lr|grep bind"
13:06 lopnor thank you!
13:07 moritz_ you might also like 'ack', which is a perl based grep replacement which ignores .svn and .git dirs by default (among other things)
13:08 moritz_ http://betterthangrep.com/
13:08 lopnor year:)
13:14 moritz_ fwiw my "perl 6 in 2010" post attracted about 6k additional visitors on my website so far
13:14 mtk left #perl6
13:16 moritz_ so the effort was worth it
13:17 sftp joined #perl6
13:18 jimfuller joined #perl6
13:18 sftp_ left #perl6
13:18 dalek roast: a4cde9f | pmurias++ | S04-statements/if.t:
13:18 dalek roast: tests if the conditions of an if are checked in order
13:18 dalek roast: review: https://github.com/perl6/roast/commit/a4cde9f7cd
13:19 pmurias moritz_: should i remove useless uses of eval from the test suit
13:19 pmurias i.e. one that guard against parsefailures
13:19 moritz_ pmurias: if they are truely useless, yes
13:19 jimfuller left #perl6
13:20 moritz_ but beware that eval_{lives,dies}_ok also do other stuff: the execute in a different lexical scope
13:22 mtk joined #perl6
13:32 dalek roast: 6bbfbef | pmurias++ | S04-statements/if.t:
13:32 dalek roast: remove needless use of eval
13:32 dalek roast: review: https://github.com/perl6/roast/commit/6bbfbefdf6
13:32 pmurias moritz_: see commit for what i mean
13:33 moritz_ pmurias: but it doesn't test the same thing
13:33 moritz_ it's fine
13:34 moritz_ but it doesn't implicitly test the return value of the block as the old version did
13:35 moritz_ is  do { if ( my $x = 2 ) == 3 { $x } }, 2, '...'; would be the exact translation
13:40 robinsmidsrod left #perl6
13:47 BinaryImp left #perl6
13:47 felliott joined #perl6
13:51 cjk101010 left #perl6
13:51 cjk101010 joined #perl6
13:52 robinsmidsrod joined #perl6
14:04 envi left #perl6
14:15 lopnor is now known as lopaway
14:21 am0c joined #perl6
14:25 pmurias moritz_: should Test.pm tests be part of roast?
14:27 [Coke] My daughter has a t-shirt with the fibonacci sequence on it - with cartoon bunnies for each number in the seq...
14:28 Axius joined #perl6
14:40 Axius perl6: say 24 * 34;
14:40 p6eval pugs, rakudo : OUTPUT«816␤»
14:44 glow left #perl6
14:49 wamba joined #perl6
14:52 wamba left #perl6
14:55 MayDaniel joined #perl6
15:08 wamba joined #perl6
15:12 uasi left #perl6
15:16 uasi joined #perl6
15:25 Patterner left #perl6
15:26 plobsing joined #perl6
15:30 espadrine left #perl6
15:39 rgrau left #perl6
15:39 rgrau joined #perl6
15:40 cjk101010 left #perl6
15:51 shi joined #perl6
16:07 glow joined #perl6
16:09 icwiener joined #perl6
16:10 mtk left #perl6
16:13 takadonet moritz_: good to hear that you got lots of visitors  (backlogging)
16:14 pmurias sorear: does a Op::Let carry a performance cost?
16:14 mtk joined #perl6
16:24 Axius left #perl6
16:34 yarrak joined #perl6
16:35 [Coke] a perl5 wtf for your enjoyment:
16:36 [Coke] http://thedailywtf.com/Articles/C​lassic-WTF-A-Date-of-Infamy.aspx
16:36 MayDaniel left #perl6
16:38 daxim <corelist> Time::Piece was first released with perl 5.009005 (released on 2007-07-07)   # hmm, later than I remembered
16:42 andmott left #perl6
16:54 flussence .oO( it'd be nice if there was an easy way to add printf format handlers )
16:55 pmichaud good morning, #perl6
16:55 flussence 'lo
16:58 dalek star: 4610e67 | pmichaud++ | skel/docs/announce/2010.12:
16:58 dalek star: Add 2010.12 release announcement text.
16:58 dalek star: review: https://github.com/rakudo/star/commit/4610e672a3
17:01 TimToady rakudo: my @a := (1, 2, 3) but 'foobar'; say @a; say ~@a;
17:01 p6eval rakudo : OUTPUT«123␤foobar␤»
17:01 TimToady tadzik: ^^ you had a precedence problem
17:03 shi left #perl6
17:04 dalek star: 8af04bf | pmichaud++ | / (2 files):
17:04 dalek star: Makefile and version number updates.
17:04 dalek star: review: https://github.com/rakudo/star/commit/8af04bf07f
17:06 Psyche^ joined #perl6
17:06 Psyche^ is now known as Patterner
17:07 shortcircuit left #perl6
17:07 takadonet pmichaud: you are alive!!!
17:08 colomon star release!  \o/
17:08 colomon (or at least, progress towards it)
17:12 dalek roast: f5d6fc8 | pmurias++ | S04-statements/if.t:
17:12 dalek roast: fudging for niecza
17:12 dalek roast: review: https://github.com/perl6/roast/commit/f5d6fc8059
17:12 felliott left #perl6
17:13 timbunce joined #perl6
17:13 moritz_ pmurias: the question about "should Test.pm be in roast" gives rise to another question: "if yes, which?"
17:15 dalek niecza: a07a966 | pmurias++ | src/Niecza/Actions.pm:
17:15 dalek niecza: imlemented else .. -> $foo {...} and elsif ... -> $foo {...}
17:15 dalek niecza: review: https://github.com/sorear/niecza/commit/a07a966de5
17:15 pmichaud I expect each implementation of Perl 6 will have its own Test.pm while it's bootstrapping, and eventually converge to a largely shared copy
17:15 pmurias what i want to be in roast is Test.pm tests
17:16 pmichaud only if Test.pm becomes spec at some point
17:16 shortcircuit joined #perl6
17:16 pmichaud more to the point, only if the Test.pm API is spec
17:16 pmichaud (which I think is reasonable)
17:16 moritz_ it needs to be, really
17:17 moritz_ masak is working on it, I think
17:17 pmichaud I'm fine with starting the test suite before we have the spec :-)
17:18 moritz_ there are test.pm tests in mu
17:18 moritz_ they just need to be reviewed and copied
17:20 pmichaud one of the earlier reviews of synopses chapters had testing as synopsis 24, fwiw
17:20 pmichaud so the test.pm tests could go into roast/S24-...
17:23 snearch joined #perl6
17:28 dalek niecza: c9d17a7 | pmurias++ | lib/Test.pm6:
17:28 dalek niecza: [Test.pm6] remove support for "plan *"
17:28 dalek niecza: review: https://github.com/sorear/niecza/commit/c9d17a7c80
17:29 moritz_ why?
17:30 dalek roast: 472a495 | pmurias++ | S24-testing/ (9 files):
17:30 dalek roast: copy over S24-testing from mu
17:30 dalek roast: review: https://github.com/perl6/roast/commit/472a495b87
17:30 pmurias moritz_: what does plan * do?
17:31 moritz_ pmurias: it declares that you start testing, but without knowing the number of tests in advance
17:32 moritz_ I often write scripts that have sub MAIN() { ... }; sub MAIN('test') { use Test; plan *; }
17:32 moritz_ I expect the latter to produce a test error if no tests are run, and if no done_testing occurs
17:33 pmurias if no done_testing occurs there is a test error
17:33 moritz_ yes, but only if you plan *;
17:33 pmurias no
17:33 moritz_ if you don't plan anything, why should it be an error?
17:33 pmurias the tap harnesses raise one
17:34 pmurias by running a test file you start testing
17:35 pmurias plan * is a noop with TAP
17:36 pmurias moritz_: there even is no such thing in Test::More
17:36 cdarroch joined #perl6
17:36 cdarroch left #perl6
17:36 cdarroch joined #perl6
17:38 * moritz_ should read TAP specs
17:38 colomon Speaking of testing, what's the status of ufo these days?
17:39 takadonet colomon: works for me for my modules
17:40 [Coke] pmurias: "no_plan"
17:40 [Coke] ?
17:40 colomon I was thinking it might make sense to enhance it with a new testing rule: Scripts in the "bin" subdirectory that contain the string 'MAIN("test")' should also be tested when you issue "make test".
17:40 pmurias [Coke]: no_plan is deprecated
17:40 pmurias [Coke]: we don't want that in Perl 6 at all
17:41 * colomon is really loving having test code in his scripts, too, using the MAIN("test") 'trick'
17:42 pmurias [Coke]: done_testing is the no_plan replecement
17:46 pmurias * replacement
17:47 kanishka left #perl6
17:48 sftp left #perl6
17:48 timbunce left #perl6
17:49 estrabd joined #perl6
17:54 sftp joined #perl6
17:54 colomon rakudo: <a b c>.kv.grep(*.value eq 'b').perl.say
17:54 p6eval rakudo : OUTPUT«Method 'value' not found for invocant of class 'Int'␤  in <anon> at line 22:/tmp/MQa179li0N␤  in <anon> at line 22:/tmp/MQa179li0N␤  in 'Block::ACCEPTS' at line 6061:CORE.setting␤  in <anon> at line 1491:CORE.setting␤  in <anon> at line 1␤  in 'Any::join' at line 1␤  in 'List::perl…
17:54 colomon rakudo: <a b c>.kv.grep(-> $key, $value { $value eq 'b'}).perl.say
17:54 p6eval rakudo : OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤  in <anon> at line 2:/tmp/zf7niq0yBg␤  in 'Block::ACCEPTS' at line 6061:CORE.setting␤  in <anon> at line 1491:CORE.setting␤  in <anon> at line 1␤  in 'Any::join' at line 1␤  in 'List::perl' at line 2772:CORE.setting␤  i…
17:55 colomon rakudo: <a b c>.pairs.grep(*.value eq 'b').perl.say
17:55 p6eval rakudo : OUTPUT«(1 => "b")␤»
17:55 am0c left #perl6
17:58 sftp left #perl6
17:58 roen_ left #perl6
18:00 Lorn left #perl6
18:03 shi joined #perl6
18:03 colomon Ack, where's Damian's super-prompt in p6 when you need it?
18:03 moritz_ on github
18:03 colomon is it?!?
18:04 moritz_ https://github.com/pmichaud/io-prompter
18:04 TimToady rakudo: say pick 1,2,3,4,5; say pick 1..5
18:04 p6eval rakudo : OUTPUT«3␤␤»
18:04 colomon is it working atm?
18:04 moritz_ might need some polishing to work with curerrent rakudo
18:04 TimToady ^^bug
18:05 flussence I have a silly idea, what do you guys think? https://gist.github.com/760066
18:05 * moritz_ submits rakudobug
18:06 moritz_ flussence: might need a :g here and there
18:06 moritz_ or maybe .trans instead of .subst
18:06 justatheory joined #perl6
18:07 moritz_ yes, should be trans
18:07 flussence yeah, that part was just there as filler :)
18:07 * colomon has to decide whether to let io-prompter distract him from p4 right now...
18:08 moritz_ colomon: I didn't really write a proper UI for p4
18:08 moritz_ and if somebody enters something invalid, there's an error, and he/she can restart the game :-)
18:08 timbunce joined #perl6
18:08 colomon that would certainly make matters easier.
18:09 [Coke] the io_prompter code doesn't run. Can one change INC from the rakudo command line?
18:09 moritz_ [Coke]: not yet, only with @*INC.push or PERL6LIB=...
18:09 moritz_ rakudo: use Test; ok 1, "a\nb";
18:09 p6eval rakudo : OUTPUT«ok 1 - a␤b␤»
18:10 moritz_ that's a bad idea
18:10 moritz_ should produes  ok 1 - a\n# b
18:10 [Coke] lots of Useless declaration of has-scoped regex in a module; add our or my to install it in the lexpad or namespace
18:10 kaare_ left #perl6
18:11 kaare_ joined #perl6
18:14 pmichaud someone please file TimToady's pick bug, if not filed already
18:15 moritz_ 19:05  * moritz_ submits rakudobug
18:15 dalek specs: 7a4e195 | moritz++ | S24-testing.pod:
18:15 dalek specs: Very draft-y, very early S24 - testing
18:15 dalek specs:
18:15 dalek specs: It is mostly meant as an encouragement for others to fill out the gaps. If you
18:15 dalek specs: want to do so, and don't have commit access yes, please tell me your
18:15 dalek specs: github ID.
18:15 dalek specs: review: https://github.com/perl6/specs/commit/7a4e195bec
18:15 pmichaud moritz_++  (didn't see that, thanks)
18:16 pmurias left #perl6
18:17 colomon rakudo: say +"    42"
18:17 p6eval rakudo : OUTPUT«42␤»
18:17 pmurias joined #perl6
18:18 pmurias moritz_: why do want to have 'plan *' as it's a nearly a noop in rakudo's Test.pm too
18:18 pmurias ?
18:19 moritz_ pmurias: because it's used quite often in the test suite
18:19 moritz_ or at least it was used often last I looked
18:19 flussence I see it as the test equivalent of "..."
18:19 * colomon finally managed to beat his p4 code after three tries.
18:19 pmurias moritz_: it can be removed with no loss
18:20 flussence (maybe it *should* be "plan ...;")
18:20 pmurias it should be removed
18:20 pmurias it's cargo culted from before done_testing existed
18:20 moritz_ pmurias: so you keep saying, and I kinda agree. Still I'd like to have a way to start testing without knowing the number of tests somehow
18:20 flussence it'd be more useful to replace the * with \d+, but I see your point :)
18:21 pmichaud would anyone object to pmurias removing all of the "plan *" from the test suite?
18:21 moritz_ and it seems to me that plan * should be the way
18:21 pmichaud forgiveness > permission, if so
18:21 * moritz_ would not object
18:22 flussence can test files be split up into small countable sections and * parts, or is it a single plan per file?
18:22 flussence (though I guess that's an argument for splitting up the files themselves)
18:23 moritz_ flussence: I think there's recent-ish support for subtest groups in TAP, but I don't really know anything about it
18:27 dalek rakudo: 80c16ae | moritz++ | Test.pm:
18:27 dalek rakudo: [Test.pm] restrict types of first arg to {eval_,}{lives,dies}_ok
18:27 dalek rakudo: review: https://github.com/rakudo/rakudo/commit/80c16aea2a
18:27 dalek rakudo: a52525d | moritz++ | build/PARROT_REVISION:
18:27 dalek rakudo: bump PARROT_REVISION to get some testing
18:27 dalek rakudo: review: https://github.com/rakudo/rakudo/commit/a52525d78b
18:27 [Coke] moritz_: danke. didn't get around to rerunning spec test after exit fix.
18:28 dalek roast: c1e0191 | pmurias++ | / (26 files):
18:28 dalek roast: remove plan *
18:28 dalek roast: review: https://github.com/perl6/roast/commit/c1e0191f60
18:31 timbunce left #perl6
18:32 aloha left #perl6
18:34 s1n joined #perl6
18:37 wamba left #perl6
18:47 zby_home joined #perl6
18:52 dalek specs: 0f0b553 | pmurias++ | S24-testing.pod:
18:52 dalek specs: remove the mention of "plan *"
18:52 dalek specs: review: https://github.com/perl6/specs/commit/0f0b55350b
18:52 pmurias moritz_: plan * is exterminated ;)
18:53 sftp joined #perl6
18:54 macikgoz joined #perl6
18:55 moritz_ \o~
18:56 TimToady your beret blew off
18:56 shi left #perl6
18:57 JodaZ left #perl6
18:57 * [Coke] wonders if TimToady is following him on facebook, else how could he know about the beret.
18:58 [Coke] . o O (perhaps I've said too much)
18:58 colomon moritz_: I'm declaring my p4 done enough for now.
18:58 pmichaud beret?
18:59 moritz_ colomon: then I should submit mine too :-)
18:59 moritz_ colomon: I can  always do a second submission if necessary
18:59 colomon moritz_: I haven't submitted anything yet, as far as I know he's not factoring in development speed, is he?
19:00 moritz_ colomon: no
19:00 colomon I'm figuring I'll try to get the last one (p5) done ASAP, then go back over the next couple of weeks and clean them up some.
19:00 dalek specs: c923c6b | TimToady++ | S11-modules.pod:
19:00 dalek specs: EXPORT lives in lexical pad, not package
19:00 dalek specs:
19:00 dalek specs: The EXPORT subpackage always lives in the lexical scope, and is not
19:00 dalek specs: added to the package scope unless you explicitly request it.
19:00 dalek specs: review: https://github.com/perl6/specs/commit/c923c6b437
19:00 pmurias TimToady: speccing Test.pm is ok?
19:01 aloha joined #perl6
19:01 TimToady that's okay for now, but I'd still like to get to a model someday where the tests can be written with native Perl 6 comparison operators
19:02 colomon you mean like ok test1 eq "desired results", "test1 works"
19:03 TimToady this might involve teaching fudge to do certain macro-ish transformations so that the values and operators are available to the message
19:03 moritz_ more like  TEST $got eq $expected, "because I say so";
19:03 TimToady until an implementation can handle the macro-ish thing natively
19:03 [Coke] ASSERT condition :"reason" :SKIP
19:04 TimToady .oO(uglification, derision...)
19:04 perimosocordiae joined #perl6
19:04 moritz_ the important part is that TEST should have access to $got and $expected, not just Bool::True or Bool::False
19:05 TimToady so it really needs access to the parser at the point of reducing the comparison op; but fudge could fake it in most cases
19:06 colomon could you just overload operator eq in Test.pm to get that?
19:07 TimToady but then how would it do the desired op instead of "eq"?
19:07 macikgoz left #perl6
19:07 colomon huh?
19:07 TimToady s/do/know to do/
19:07 colomon I'm assuming (for example) that eq is the desired op.
19:08 * colomon is now wondering if a new Top metaop would be better... ;)
19:08 moritz_ TimToady: it would be the top level operator
19:09 moritz_ TEST ?$foo    -> top level op is prefix:<?>
19:09 TimToady well, sure, if we're doing it right
19:09 TimToady but that's where you need control of the parse
19:10 TimToady we could hardwire a macro into the language before we have general macro facilities
19:10 TimToady or we could fake it with fudge for now
19:12 TimToady in cases of ambiguity we could even force use of [op] to give fudge something to search for
19:12 pmichaud I think I'm making a command decision to move Rakudo's home away from its present hosting on rakudo.org
19:12 pmichaud maybe testing should be a meta op  :-)
19:12 TimToady Teq
19:13 TimToady sets $*GOT and $*EXPECTED  :)
19:13 * colomon now realizes that "colomon is now wondering if a new Top metaop would be better... " might have been interpreted as "top" rather than "T-op"
19:13 colomon *T[op]
19:13 [Coke] AH.
19:13 pmichaud for some reason I'm selectively not-seeing the /me posts
19:14 moritz_ ok $got Teq $expocted
19:14 pmichaud they're there, I'm just not seeing them
19:14 Lorn joined #perl6
19:15 pmichaud anyone have any objections to hosting rakudo.org (or its new equivalent) on wordpress.com ?
19:15 pmichaud or any other suggestions?
19:15 * moritz_ is fine with wordpress.com
19:15 pmichaud maybe I'll bring it up during #phasers on Tue
19:16 pmichaud I'll see about creating the new site, then propose it as a replacement
19:16 pmichaud instead of having to ask people to decide a-priori
19:22 pmichaud however, before I spend much time porting things to wordpress, I'd like to hear from other regular contributors if they have a preferential cms that we should use
19:22 colomon I've been very happy with wordpress.
19:22 colomon specifically wordpress.com
19:23 pmichaud anyway, 2010.12 released :-)
19:23 colomon but I'm not exactly a hardcore power user of it.
19:23 colomon \o/
19:23 [Coke] any changes since .11?
19:23 [Coke] commits list on the compiler has been pretty quiet.
19:23 pmichaud not any significant ones
19:24 pmichaud I've been pretty-well distracted the past few months
19:24 pmichaud but doing the release today makes me itch to make some improvements
19:28 [Coke] I'm not trying to single you out. ;)
19:29 * [Coke] will save that for the grant. ;)
19:29 Eth4n left #perl6
19:29 g3oM1 joined #perl6
19:30 colomon you're looking for a grant which singles out pmichaud ?  ;)
19:30 colomon "I proposal to keep pmichaud's nose to the grindstone throughout 2011."
19:32 glow left #perl6
19:36 pmichaud afk, errands
19:40 Eth4n joined #perl6
19:40 Eth4n left #perl6
19:40 Eth4n joined #perl6
19:47 moritz_ TimToady: sub pick has the signature  ($num, *@values). So pick 1..4  can't work the way you want it to... what's the proper fix?
19:48 sftp left #perl6
19:48 sftp joined #perl6
19:49 lopaway is now known as lopnor
19:53 daxim left #perl6
19:53 TimToady moritz_: hmm, you're right, probably notabug
19:55 colomon rakudo: say pick 4, 1..10
19:55 p6eval rakudo : OUTPUT«91106␤»
19:56 TimToady rakudo: say pick <== 1..10
19:57 p6eval rakudo : OUTPUT«Not enough positional parameters passed; got 0 but expected at least 1␤  in 'pick' at line 1811:CORE.setting␤  in main program body at line 22:/tmp/S_t0Kw8ph0␤»
19:58 MayDaniel joined #perl6
19:58 uasi left #perl6
20:00 moritz_ rakudo: say pick 1 <== 1..10
20:00 p6eval rakudo : OUTPUT«Any()12345678910␤»
20:00 moritz_ doesn't seem to curry properly
20:01 moritz_ feed operator implementation is *VERY* basic in rakudo
20:01 Axius joined #perl6
20:15 robinsmidsrod left #perl6
20:15 flussence something broke that wasn't before
20:15 flussence get_attr_str() not implemented in class 'Sub' in main program body at line 1:t/spec/integration/advent2009-day18.rakudo
20:17 flussence just built that rakudo too.
20:17 robinsmidsrod joined #perl6
20:18 moritz_ with the recommended parrot rev?
20:18 flussence that's from that commit you just made, yeah
20:18 flussence This is Rakudo Perl 6, version 2010.12-5-ga52525d built on parrot 2.11.0 RELEASE_2_11_0-343-g0264a39
20:19 moritz_ all clean here
20:19 flussence hm
20:20 * colomon is building latest on his 64-bit box -- so he can check on the error without slowing down p5 development.  ;)
20:21 dsp_ left #perl6
20:23 flussence wow, typing "50%" as a command in vim does exactly what it looks like. never knew that
20:23 HarryS left #perl6
20:24 moritz_ what else should it do? :-)
20:24 flussence I was trying all sorts of combinations of g prefixes, never thought to try the obvious...
20:24 sorear good * #perl6
20:25 moritz_ good now, sorear
20:26 glow joined #perl6
20:27 flussence aha, that test breaks on line 30...
20:29 flussence dies_ok should be eval_dies_ok
20:29 lopnor is now known as lopaway
20:30 sorear pmurias: Op::Let is not quite free, correct
20:30 pmurias sorear: hi
20:31 TimToady sorear: is_name was only for sigilless names, while is_known was for sigiled names.  I don't know what other differences there might be.  They could probably be merged...
20:33 envi joined #perl6
20:33 pmurias sorear: not sure if i should attempt to emit Op::Let only where nessesary or should we make the optimizer take care of such stuff
20:37 perimosocordiae left #perl6
20:38 perimosocordiae joined #perl6
20:39 dsp_ joined #perl6
20:41 sorear pmurias: Op::Let is semantically unpleasant, so its use should be minimized
20:41 sorear pmurias: there's definitely room for a copy propagation pass, though; lower levels call CgOp::letn quite a bit
20:42 pmurias what does semantically unpleasant mean?
20:43 sorear variables introduced by Op::Let are not visible in closures, cannot be found using &caller, etc
20:43 TimToady it means if you like it you have no taste :)
20:44 allbery_b or you need to step away from the keyboard
20:46 pmurias sorear: that's good, having the compiler add new lexicalls visible to the user just to avoid evaluating something twice seems very wrong
20:47 allbery_b hm
20:48 allbery_b strikes me that (1) this being perl, as much of the machinery as possible should be visible (if not easily); (2) this being perl 6, said machinery should be well behaved
20:51 moritz_ it strikes me that if you make too much of the internal workings of a Perl 6 compiler visible, you're torturing the innocent programmer beyond healing
20:53 wamba joined #perl6
20:54 jdv79 joined #perl6
20:54 wamba left #perl6
20:54 jdv79 jnthn: what happened to 6guts?  i iamgine you're overwhelmed with the multiplatform stuff:)
20:55 wamba joined #perl6
20:55 pmurias 6guts?
20:55 jdv79 his blog
20:55 moritz_ jdv79: jnthn has been absent from p6 hacking for a while, so no wonder he didn't blog more
20:55 jdv79 oh
20:56 jdv79 well, it makes sense then.  thx.
20:58 pmurias allbery_b: actually i find it a great feaute of Perl 6 that it doesn't expose a naive dynamic implementation
21:00 mtk left #perl6
21:03 lue hello #perl6 o/
21:05 RapierTG joined #perl6
21:06 glow left #perl6
21:06 RapierTG left #perl6
21:09 araujo left #perl6
21:13 TimToady rakudo: my $a = 1; $a //= say "oops";
21:13 p6eval rakudo a52525: OUTPUT«oops␤»
21:14 TimToady that's one of the more irritating not-fixed-yet bugs, given how useful it is for caching
21:14 MayDaniel left #perl6
21:14 TimToady pugs: my $a = 1; $a //= say "oops";
21:14 p6eval pugs:  ( no output )
21:14 TimToady niecza: my $a = 1; $a //= say "oops";
21:14 p6eval niecza : OUTPUT«Cannot open assembly '/home/p6eval/niecza/obj/CLRBackend.exe': No such file or directory.␤"mono" unexpectedly returned exit value 2 at (eval 43) line 13␤ at /home/p6eval/niecza/src/CompilerDriver.pm line 265␤»
21:14 TimToady hmm
21:15 pmurias niecza: say 1;
21:15 p6eval niecza : OUTPUT«Cannot open assembly '/home/p6eval/niecza/obj/CLRBackend.exe': No such file or directory.␤"mono" unexpectedly returned exit value 2 at (eval 43) line 13␤ at /home/p6eval/niecza/src/CompilerDriver.pm line 265␤»
21:15 moritz_ niecza build fails
21:15 moritz_ lib/CLRBackend.cs(421,38): error CS0411: The type arguments for method `Niecza.CLRBackend.JScalar.A<T>(int, object, System.Func<object,T>)' cannot be inferred from the usage. Try specifying the type arguments explicitly
21:27 Layla joined #perl6
21:30 tadzik ah, thanks timtoady
21:31 HarryS joined #perl6
21:34 masak joined #perl6
21:34 masak ahoy, zebras! \o/
21:34 moritz_ good zebratime!
21:34 masak moritz_++ # S24 draft
21:35 masak Just Ducking Fooing what I've only talked about doing so far.
21:35 masak I'll see what I can do in terms of a rw review :)
21:35 tadzik masak: hey zebra :)
21:36 M_o_C joined #perl6
21:36 masak by the way, I think it's silly that S24 doesn't version itself, when all other synopses do. either we believe in versioning the synopses, or we don't.
21:37 araujo joined #perl6
21:39 Layla left #perl6
21:44 pmichaud 21:36 <masak> by the way, I think it's silly that S24 doesn't version itself, when all other synopses do. either we believe in versioning the synopses, or we don't.
21:44 pmichaud which does masak++ believe?
21:44 pmichaud and which does TimToady++ believe?
21:44 sorear moritz_: it seems that generic type inference was improved between mono 2.6 and mono 2.8
21:44 masak pmichaud: hm, I don't feel my opinion should weigh very heavily here...
21:45 sorear moritz_: and I accidentally relied on the 2.8 improvements
21:45 masak pmichaud: I neither believe or don't believe in those version numbers. maybe someone else has a use for them. I don't.
21:45 sorear moritz_: would you be willing to try again with a patch?
21:45 pmichaud masak: right -- I tend to think of git and/or svn revision numbers to be more useful
21:45 pmichaud knowing the date of the last significant change is sometimes useful
21:45 pmichaud but a revision number by itself seems less-than-useful at this point.
21:45 masak pmichaud: having said that, I'll happily keep updating them every time I make a significant patch to a synopsis. I'm simply not that bothered by the version numbers.
21:46 masak pmichaud: what I was arguing against was using it for some synopses but not for others.
21:46 pmichaud I'd say to live with the inconsistency for now, until someone cares enough to push it one way or the other :-)
21:46 * masak will try :)
21:46 pmichaud since TimToady++ seems to keep them them up-to-date in some sense, I'd go with that for now :)
21:47 sorear o/ pmichaud
21:48 pmichaud o/ sorear
21:48 pmichaud I'm glad to see niecza continues to progress
21:48 pmichaud and I was especially happy to see the p6c announcement earlier this month
21:49 Eth4n left #perl6
21:50 sorear moritz_: does http://gist.github.com/760355 improve matters?
21:53 glow joined #perl6
21:54 moritz_ sorear: yes, it makes the build complete
21:54 moritz_ niecza: say 1
21:54 p6eval niecza v1-35-gc9d17a7: OUTPUT«1␤»
21:54 masak pmichaud: I'm very happy about it too. niecza is the first Little Implementation that I feel I want to use for daily work.
21:54 masak niecza: say []
21:54 p6eval niecza v1-35-gc9d17a7: OUTPUT«␤»
21:55 masak rakudo: say []
21:55 p6eval rakudo a52525: OUTPUT«␤»
21:56 moritz_ perl6: say 1
21:56 p6eval pugs, rakudo a52525: OUTPUT«1␤»
21:56 snearch left #perl6
21:56 masak hm, maybe add niecza there...?
21:56 moritz_ just what I thought :-)
21:57 Eth4n joined #perl6
21:57 soroush left #perl6
21:57 dalek evalbot: e94878e | moritz++ | evalbot.pl:
21:57 dalek evalbot: add niecza to "perl6:" list
21:57 dalek evalbot: review: https://github.com/perl6/evalbot/commit/e94878e714
21:57 colomon subclasses work in Rakudo, right?
21:58 moritz_ right
21:58 g3oM1 left #perl6
21:59 colomon p5 is making me go to ludicrous lengths at the moment.
22:00 dalek evalbot: 0dd2ef9 | moritz++ | / (2 files):
22:00 dalek evalbot: random script changes picked up from local p6eval modifications on the server
22:00 dalek evalbot: review: https://github.com/perl6/evalbot/commit/0dd2ef94bd
22:00 moritz_ evalbot control restart
22:00 p6eval left #perl6
22:00 p6eval joined #perl6
22:00 moritz_ perl6: say 2
22:01 p6eval pugs, rakudo a52525, niecza v1-35-gc9d17a7: OUTPUT«2␤»
22:02 masak colomon: you haven't been using subclasses? have you only been using classes for their instantiation capabilities?
22:02 jhuni joined #perl6
22:02 colomon masak: we might be having a terminology problem.  I mean, do classes local to classes work in Rakudo?
22:03 masak "inner classes"?
22:03 colomon though it's probably been a good six months since I've said "class A is B" in serious p6 code.
22:03 colomon if you wish, sure.
22:03 masak ISTR that inner classes have some implementation problems still in Rakudo.
22:04 masak A12 posits that they be virtual, which I think is an idea still worth considering.
22:04 masak but it's not spec.
22:04 moritz_ afaict lexical classes work, but addressing inner classes is sometimes problematic
22:05 masak right.
22:09 masak rakudo: .say for " H", "OH" ~ * ~ "AI" ... *.chars > 10
22:09 p6eval rakudo a52525: OUTPUT« H␤OH HAI␤OHOH HAIAI␤OHOHOH HAIAIAI␤»
22:10 masak \o/
22:10 masak new mini-contest: find inspiring and out-of-the-box uses of the sequence operator!
22:10 masak not just maths!
22:10 masak (no Amazon price this time, though)
22:11 masak *prize
22:12 masak http://cloud.github.com/downloads/ra​kudo/star/rakudo-star-2010.12.tar.gz gives a 403, as reported by lopnor++: http://twitter.com/lopnor/status/20574367729590273
22:12 masak pmichaud: ^
22:17 pmurias sorear: after reading doc/nam.pod, why should the  core library define custom primitives instead of using the call CLR ops?
22:18 masak flussence: https://gist.github.com/760066 is intriguing. the nice thing about Perl 6 is that such things don't have to be built-in. that can all be done through a module that exports a sprintf multi with a :$class! named param.
22:19 masak flussence: I think the commas in your .trans calls should really be =>
22:19 masak oh, and the latter two should have array []s around the strings.
22:20 masak see http://perl6advent.wordpress.com/2010/1​2/21/day-21-transliteration-and-beyond/ :)
22:21 masak flussence: also, if I were you, I'd do :class(Fmt::HTML), not :class<Fmt::HTML>
22:22 masak reason: compile-time checking of typenames.
22:24 pmichaud afk, returning home
22:26 masak hm. I see you people discussing test syntax in the backlog. I think it's really hard to beat &ok and pals.
22:26 masak but here's an idea I just had:
22:27 masak # hypothetical test code
22:27 lue .oO(figures. The second I turn away from my IRC window for an extended period of time, activity blossoms. Second hello to #perl6 ! o/)
22:27 masak test { thing1() == $desired-result; thing2() == $other-desired-result; }
22:28 masak it's a 'test' block, a bit like a 'try' block.
22:28 masak it overloads all the comparison operators so that they behave differently, at least in sink context.
22:28 masak (how they know they're in sink context is left as an exercise to someone with a different hat on) :)
22:29 Tene masak: instead of overloading comparison operators, it could emit TAP for the rv of every statement.
22:29 Tene test { check-a(); check-b(); $foo == 20; }
22:29 masak Tene: I couldn't parse what you wrote after "TAP".
22:29 Tene masak: each statement is an implicit ok()
22:29 masak Tene: 'rv'? ah, "return value".
22:30 masak yes, perhaps that's an even better idea.
22:30 Tene Yeah, I oa'd there. (over-abbreviated)
22:30 masak :P
22:30 masak I'm pondering how to get test descriptions into this nicely, though.
22:30 masak would comments be kosher?
22:30 masak I guess it's fair game since it's an altered language.
22:30 Tene masak: Comments wouldn't be horrible.  A string argument to the test block wouldn't be horrible.
22:31 masak Tene: string argument to the test block could work, as long as the syntax makes sense.
22:31 masak test("testing flooblebarz")
22:31 Tene test "the stuff is good" { ...; ...; ...; }
22:31 masak and then it generates test messages for each test with increasing numbers.
22:32 masak Tene: yes, what you wrote.
22:32 shi joined #perl6
22:32 masak otherwise it looks like a function call.
22:32 masak I think we cracked it. :)
22:32 masak ship it!
22:32 Tene You can determine the number of tests by counting the number of statements at compile-time.
22:33 masak \o/
22:33 masak unless there are for loops...
22:33 Tene Hmm... true... but you can detect the cases where you don't know.
22:33 soroush joined #perl6
22:33 masak yeah.
22:34 Tene You can also ignore places where the rv is actually used, simple assignments and the like.
22:34 Tene That might be getting a bit too clever, though.
22:34 masak I'd argue for keeping those things out of test {} blocks.
22:35 Tene Fair enough.
22:35 masak maybe hiding could be accomplished by test { ...; INIT { ... }; ... } or something.
22:39 dalek niecza: 769101c | sorear++ | lib/CLRBackend.cs:
22:39 dalek niecza: Avoid relying on 2.8-only inference
22:39 dalek niecza: review: https://github.com/sorear/niecza/commit/769101c349
22:40 sorear pmurias: the call instructions are inherently CLR specific
22:41 zby_home left #perl6
22:42 * lue backlogs to grok the conversation
22:42 pmurias sorear: but having a kitchen-sink pir like list of opcodes doesn't seem a very good option either
22:43 masak ok, the test-block idea is the first testing syntax that I consider to be an improvement on &ok et al. looking forward to when some implementation (niecza and/or rakudo) supports that level of slanging.
22:44 pmurias masak: test-block idea?
22:44 masak <masak> test { thing1() == $desired-result; thing2() == $other-desired-result; }
22:45 Tene masak: I really wish I had the time and energy to work on that.  That's been fascinating to me for at least a year now.
22:45 masak Tene: me too. it's the edge Perl 6 will really have on other scripting languages. I wish I understood more about Rakudo internals to be able to push things forward.
22:47 ggoebel left #perl6
22:47 Tene masak: I understand it well enough, but I have trouble committing to a project that big.
22:48 * masak has trouble committing long-term to a hobby project of any size :)
22:48 masak people actually using the stuff helps, though. proto and ufo found happy users.
22:49 sorear me too.
22:49 Tene back about a year ago, I was considering spending a month down in texas with pm, working on this.
22:49 masak I believe GGE might have been more of a success if people had known what to use it for. :)
22:49 masak Tene: sounds awesome.
22:49 Tene Didn't work out that way, unfortunately.
22:49 pmurias masak: re the test-block syntax how would you declare stuff in the block?
22:50 masak Tene: still not too late, I guess.
22:50 pmurias s/declare/set up/
22:50 sorear masak: if you can get me a concrete spec ...
22:50 masak pmurias: good question.
22:50 masak sorear: I'll see what I can do.
22:50 pmurias because it seems to just invert the setting up and testing
22:50 Tene pmurias: you'd do it outside the test block, or you'd inspect and ignore assignments.
22:50 sorear Perl 6 implementations already have to have a certain level of macroish behavior
22:50 sorear &infix:<||> cannot be written as a sub as specced
22:51 * sorear reads S24
22:51 masak Tene: just feels a bit inelegant to have to do { my $var1 = ...; my $var2 = ...; test { ...; ...; ...; } }
22:51 Tene masak: Sure.
22:51 masak maybe excluding assignments isn't such a bad idea.
22:52 pmurias is test {...;...;...} much better than test ...,...,... ?
22:52 ggoebel joined #perl6
22:52 masak hmmm.
22:52 pmurias test $a == 2,cond(),foo() > 5; ?
22:52 lue What reason is there for changing the test syntax? I didn't quite catch it, other than "make it better".
22:52 Tene pmurias: grammar changes are lexically-scoped.
22:52 moritz_ S24 isn't really a draft - it's a skeleton that you can start to fill in
22:53 moritz_ lue: one reason is that currently there's only is() and is_deeply as comparison functions, and they are quite peculiar regarding their comparison function
22:53 pmurias Tene: what i'm suggesting is that having a multi argument ok is the same thing as the test block
22:53 moritz_ is() is string comparison, is_deeply() is infix eqv
22:53 Tene pmurias: Maybe.  You'd have some trouble fitting a for loop in there, though.
22:54 moritz_ what about == and === and =:= and < and <= and lt and ~~ and ....
22:54 pmurias i'm not sure skipping ok is worth introducing a DSL
22:55 Tene pmurias: Sure.  I don't think anyone here is asserting that it's obviously better.  They're just trying to explore more of the solution space.
22:55 pmurias if we have macros we could replace is $foo,4 with ok $foo == 4
22:56 pmurias and still have good error messages
22:56 ggoebel left #perl6
22:57 lue I have a test that dies and stops the rest of the file from running. Would skip/todo be a better alternative than commenting it out?
22:57 skangas joined #perl6
22:58 sorear lue: lives_ok would be better
22:59 espadrine joined #perl6
22:59 espadrine left #perl6
23:00 jarfhy left #perl6
23:01 dalek specs: fd2b8d3 | masak++ | S24-testing.pod:
23:01 dalek specs: Rewrote "Test plans" a bit
23:01 dalek specs:
23:01 dalek specs: No fundamental changes, just wording.
23:01 dalek specs: review: https://github.com/perl6/specs/commit/fd2b8d3e59
23:01 masak oh, and I also added VERSION information... :)
23:02 ggoebel joined #perl6
23:02 skangas left #perl6
23:03 cdarroch left #perl6
23:04 skangas joined #perl6
23:05 lue lives_ok didn't help. It dies because the specific token I'm trying to use is NYI
23:05 Rhisa joined #perl6
23:06 Axius left #perl6
23:06 lopaway is now known as lopnor
23:06 jarfhy joined #perl6
23:06 MysqlForumTroll joined #perl6
23:06 MysqlForumTroll Why isn't this Perl?
23:06 tadzik hugme: hug MysqlForumTroll
23:06 * hugme hugs MysqlForumTroll and blushes
23:06 flussence put a bit more effort into it, we've heard them all :)
23:07 MysqlForumTroll Why can't I use a y-combinator in perl6?
23:08 sorear User error, I guess
23:08 skangas left #perl6
23:09 MysqlForumTroll I guess perl6 isn't for me then.
23:09 skangas joined #perl6
23:10 masak MysqlForumTroll: hi, you seem to have been reading reddit or HN.
23:10 masak it's not that you *can't* use a Y combinator in Perl 6. you certainly can.
23:10 flussence or possibly /., or 4chan
23:10 masak but you don't need to.
23:10 sorear niecza: sub y($f) { -> $x { $f(y($f), $x) } }; say y(sub (&fib, $x) { $x <= 1 ?? 1 !! fib($x-1) + fib($x-2) }, 5)
23:10 p6eval niecza v1-35-gc9d17a7: OUTPUT«Unhandled exception: Excess arguments to MAIN y, used 1 of 2 positionals␤  at (eval) line 0 (MAIN y @ 0)␤  at (eval) line 1 (MAIN mainline @ 1)␤  at /home/p6eval/niecza/lib/SAFE.setting line 1064 (SAFE C381_ANON @ 1)␤  at /home/p6eval/niecza/lib/SAFE.setting line 1064
23:10 p6eval ..(SAFE module-…
23:10 sorear niecza: sub y($f) { -> $x { $f(y($f), $x) } }; say y(sub (&fib, $x) { $x <= 1 ?? 1 !! fib($x-1) + fib($x-2) })(5)
23:10 p6eval niecza v1-35-gc9d17a7: OUTPUT«8␤»
23:10 masak sorear++
23:10 sorear niecza: sub y($f) { -> $x { $f(y($f), $x) } }; say y(sub (&fib, $x) { $x <= 1 ?? 1 !! fib($x-1) + fib($x-2) })(7)
23:11 p6eval niecza v1-35-gc9d17a7: OUTPUT«21␤»
23:11 kaare_ left #perl6
23:12 masak MysqlForumTroll: there's your Y combinator.
23:12 sorear perl 6 is an eager language, so you need an η-converted Y combinator
23:12 MysqlForumTroll Cool
23:12 masak MysqlForumTroll: anything else we can do for you?
23:12 sorear that's the most likely error
23:12 masak we have more hugs, if you want.
23:13 MysqlForumTroll I only accept hugs from Madonna.
23:13 masak :)
23:13 MysqlForumTroll But I'm going to browse some Perl 6 syntax
23:13 wamba left #perl6
23:13 masak that's a wise policy in these troubled times.
23:13 ggoebel left #perl6
23:14 MysqlForumTroll What's a good async nginx module for Perl6?
23:14 * sorear dreams of an easier way to type η
23:14 masak MysqlForumTroll: we're just booting up our module ecosystem, so there might not be one.
23:14 masak MysqlForumTroll: but you have reasonably good chances of hooking up with Perl 5 using something called 'blizkost'.
23:14 MysqlForumTroll masak: How are you guys doing web apps right now?
23:14 flussence sorear: altgr+g = ŋ (on my keyboard, in X11, gb layout)
23:14 masak poorly :/
23:15 tadzik or in a funny way
23:15 tadzik :)
23:15 masak flussence: that's not the same.
23:15 flussence it... oh. yeah, you're right
23:15 flussence :(
23:15 masak MysqlForumTroll: speed is the major limiting factors for real-time web apps.
23:15 * tadzik prefers the funny way, but he isn't writing anything seriour
23:15 masak .u ηŋ
23:15 phenny U+03B7 GREEK SMALL LETTER ETA (η)
23:15 phenny U+014B LATIN SMALL LETTER ENG (ŋ)
23:15 MysqlForumTroll masak: Perl6 doesn't have it?
23:15 jasonmay oh speaking of making cool things in perl6
23:15 jasonmay time to start on my MUD!
23:16 masak MysqlForumTroll: oh, Perl 6 itself is blazingly fast. but Rakudo is pretty slow...
23:16 masak jasonmay: I've been wanting to do that since 2004 :)
23:16 masak jasonmay: ...soon, soon...
23:16 lichtkind joined #perl6
23:16 masak (but feel free to start planning, by all means)
23:17 masak a MUD could rival #perl6 in cozy-placeness.
23:17 MysqlForumTroll masak: Maybe FastCGI would be okay
23:17 sorear masak: How do you measure the speed of Perl 6 itself?
23:17 masak sorear: I was mostly being obscure.
23:17 flussence std: 1
23:17 p6eval std 625303c: OUTPUT«ok 00:01 118m␤»
23:17 masak flussence: that's also an implementation.
23:18 masak MysqlForumTroll: there have been early attempts at things like FastCGI. it helps some, but not all the way.
23:18 flussence it's pretty fast considering that's got the overhead of perl5 :)
23:18 ggoebel joined #perl6
23:18 lopnor is now known as lopaway
23:18 masak trying to find a particular Ovid blog post.
23:18 masak EOVIDTOOPROLIFIC
23:19 MysqlForumTroll I'm reading through Wikipedia's entry on Perl 6
23:20 dalek mu: f882c59 | lue++ | docs/feather/syn_index.html:
23:20 dalek mu: Made S24 accessible from perlcabal.org/syn
23:20 dalek mu: review: https://github.com/perl6/mu/commit/f882c59b17
23:20 masak MysqlForumTroll: I'd advise you to take that article with a pinch of salt.
23:20 masak it's not entirely accurate, yet.
23:21 masak but I suppose it's still a good place to start.
23:22 jasonmay masak: I'll at least write a grammar to parse zone data from the Dirt days :D
23:23 masak jasonmay: sounds like a good place to start. :)
23:23 * masak has a deja vu from that
23:23 * jasonmay has written one with p5's Regexp::Grammars already, should be simplet o port
23:24 JodaZ joined #perl6
23:24 lue Dirt?
23:26 masak ah, it WASN'T Ovid, it was Alias: http://use.perl.org/~Alias/journal/39916
23:26 masak I shouldn't mix those two prolific bloggers and prominent Perl people up. :/
23:27 masak anyway, that's my exhibit A, so...
23:28 dalek specs: 41307ce | masak++ | S24-testing.pod:
23:28 dalek specs: [S24] &done_testing is now &done
23:28 dalek specs:
23:28 dalek specs: As Alias++ points out in this blog post, it should be named &done.
23:28 dalek specs: http://use.perl.org/~Alias/journal/39916
23:28 dalek specs: review: https://github.com/perl6/specs/commit/41307cea87
23:28 jasonmay lue: http://en.wikipedia.org/wiki/AberM​UD_family_tree#AberMUD_family_tree
23:28 * MysqlForumTroll anticipates ##perl7
23:28 jasonmay it's really the only code base I'm familiar with
23:29 masak MysqlForumTroll: for information about Perl 7, see http://perlcabal.org/syn/S01.html
23:29 sorear masak: What is your preferred resolution to #8 (REPL printing)?
23:29 MysqlForumTroll Woah.
23:29 masak sorear: I'm OK with it printing the last statement unbidden.
23:29 masak sorear: I'm not OK with it printing the first one.
23:31 dalek niecza: c7063c5 | sorear++ | niecza_eval:
23:31 dalek niecza: Print result of last statement, not first, in REPL
23:31 dalek niecza: review: https://github.com/sorear/niecza/commit/c7063c58b2
23:31 masak sorear++
23:31 masak now I know how Aladdin must've felt :)
23:32 sorear it still works by textual manipulation
23:32 sorear but now it adds say (   )  instead of just say do
23:32 masak eeew!
23:32 masak :)
23:32 masak you know if you *tell* me those things, I will break them more... :P
23:33 * masak suddenly realizes why Aladdin was limited to three wishes...
23:34 ggoebel left #perl6
23:35 shortcircuit rakudo: my @rec_rand := @rec_rand.pick; say @rec_rand.pick;
23:35 p6eval rakudo a52525: OUTPUT«Any()␤»
23:35 shortcircuit While I can rationalize why I got that output...should that have given me an error instead?
23:36 masak moritz_: why should &pass and &flunk be the only ones with non-optional $desc parameters?
23:37 masak shortcircuit: I don't see anything wrong with it.
23:37 flussence shortcircuit: apart from the circular reference, all it's doing is .pick on an undefined array
23:37 masak rakudo: say [].pick
23:37 p6eval rakudo a52525: OUTPUT«Any()␤»
23:38 masak I could argue that that should return a Failure of some kind, though.
23:38 shortcircuit I suppose what I was expecting was that it would throw an exception on the circular reference.
23:38 masak shortcircuit: there's not really a circular reference.
23:38 masak shortcircuit: just a one-time rebinding.
23:39 ggoebel joined #perl6
23:40 shortcircuit rakudo: my @randgen := rand; say @randgen.pick; say randgen.pick;
23:40 p6eval rakudo a52525: OUTPUT«0.155705623651983␤Could not find sub &randgen␤  in main program body at line 22:/tmp/tsoguV88fN␤»
23:40 shortcircuit rakudo: my @randgen := rand; say @randgen.pick; say @randgen.pick;
23:40 p6eval rakudo a52525: OUTPUT«0.0878388733576401␤0.0878388733576401␤»
23:42 dalek specs: a2a1d57 | masak++ | S24-testing.pod:
23:42 dalek specs: [S24] Re-worded 'Test functions' a bit
23:42 dalek specs:
23:42 dalek specs: No changes in semantics, just made things more succinct.
23:42 dalek specs: review: https://github.com/perl6/specs/commit/a2a1d57327
23:42 M_o_C left #perl6
23:44 MysqlForumTroll What's the idea of using say instead of print?
23:44 masak rakudo: say 5; print 5
23:44 flussence It saves 4 characters.
23:44 p6eval rakudo a52525: OUTPUT«5␤5»
23:45 masak MysqlForumTroll: the ␤ is a newline. 'say' adds a newline after printing stuff.
23:45 masak flussence: count again :)
23:46 MysqlForumTroll I always use \n :p
23:46 flussence rakudo: say 'say'.chars; say 'print'.chars + '\n'.chars;
23:46 p6eval rakudo a52525: OUTPUT«3␤7␤»
23:47 masak flussence: I stand corrected.
23:47 masak MysqlForumTroll: and you may continue to do so, if you like.
23:47 masak MysqlForumTroll: many of us here don't. :)
23:47 MysqlForumTroll Cool
23:48 flussence of course you could be one of those horrible people who embed a literal newline in the string...
23:48 masak I still haven't decided which is more "proper" when actually using &print to output many things on the same line, to end it with a 'say "";' or with a 'print "\n";'...
23:49 flussence I've used say join "\n", @lines; a few times
23:49 masak for that I usually do '.say for @lines;'
23:49 lichtkind left #perl6
23:50 lue I would end the last print statement with    \n";    [assuming use of double-quote, of course :) ]
23:50 flussence (I'm also guilty of using $, for that in p5)
23:50 masak lue: in the cases I'm talking about, the prior &print statements are usually in a loop of some kind.
23:51 pmurias MysqlForumTroll: say is also avalible in newer perl5's
23:52 MysqlForumTroll It's another way to do it :)
23:52 sbp make a routine called say_print. you pass it a Maybe and it randomly either does a say "" or prints a newline
23:52 Rhisa left #perl6
23:52 masak Perl 5 and Perl 6 are cross-pollinating each other. :)
23:52 masak sometimes both sides wish they could steal more stuff...
23:53 perigrin sometimes both sides with the other would steal more stuff :D
23:53 * perigrin hides
23:53 sorear perl 6 stole a lot from perl 5 during its creation
23:53 masak that, too :)
23:53 masak a *lot*.
23:53 sorear perl 1..4 needs a name
23:53 lue .oO(I should really finish the new banner for my blog so I can then get to my next post. Too bad Inkscape is a memory sinkhole :/)
23:53 masak good things copy semantics were in effect at the time of the "stealing".
23:53 sbp the antebellum perls
23:53 masak Perl "Classic".
23:54 sbp The Antebella
23:54 pmurias sorear: what does the nam sink op do?
23:54 dalek niecza: 1db99d8 | sorear++ | lib/Test.pm6:
23:54 dalek niecza: Add &done as a synonym for &done_testing
23:54 dalek niecza: review: https://github.com/sorear/niecza/commit/1db99d81b9
23:54 perigrin sorear: "that recent unpleasent-ness"
23:54 sorear pmurias: evaluates its argument and throws it away
23:54 * sbp thinks of a book title: Before the Camel, Before the Butterfly
23:54 masak sbp: I'm not too keen on conjuring up pictures of war with a name.
23:54 flussence lue: try Krita?
23:54 * flussence ducks
23:54 sbp every war ends with a peace
23:54 masak it was never really a war.
23:55 masak just some friction.
23:55 masak we dismantled the war before it happened.
23:55 masak thankfully.
23:55 lue .oO(which phaser did you use for the dismantling?)
23:56 masak lue: the privmsg phaser :)
23:59 lue Oh yeah. Forgot about the DCC phaser, don't use it much. <ontopic>

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

Perl 6 | Reference Documentation | Rakudo