Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-05-06

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:07 eviltwin_b joined #perl6
00:16 eviltwin_b joined #perl6
00:39 geekosaur joined #perl6
00:44 tokuhirom joined #perl6
00:48 eviltwin_b joined #perl6
00:54 eviltwin_b joined #perl6
01:01 eviltwin_b joined #perl6
01:05 lutok joined #perl6
01:05 geekosaur joined #perl6
01:07 eviltwin_b joined #perl6
01:09 allbery_b joined #perl6
01:23 wolfman2000 joined #perl6
01:52 geekosaur joined #perl6
01:59 JimmyZ_ joined #perl6
02:15 zhutingting joined #perl6
02:17 eviltwin_b joined #perl6
02:29 eviltwin_b joined #perl6
02:38 spaceships joined #perl6
02:40 eviltwin_b joined #perl6
02:45 orafu joined #perl6
02:45 tokuhirom joined #perl6
02:54 adu joined #perl6
02:57 adu such a trip
03:09 jaldhar joined #perl6
03:11 eviltwin_b joined #perl6
03:15 thou joined #perl6
03:20 eviltwin_b joined #perl6
03:43 fgomez joined #perl6
03:56 REPLeffect joined #perl6
04:07 eviltwin_b joined #perl6
04:18 eviltwin_b joined #perl6
04:20 eviltwin_b joined #perl6
04:45 eviltwin_b joined #perl6
04:46 jaldhar joined #perl6
04:46 eviltwin_b joined #perl6
04:46 eviltwin_b joined #perl6
04:51 zhutingting joined #perl6
05:00 geekosaur joined #perl6
05:40 eviltwin_b joined #perl6
05:45 orafu joined #perl6
05:59 jaldhar joined #perl6
06:10 thelazydeveloper joined #perl6
06:38 isBEKaml joined #perl6
07:20 xinming joined #perl6
07:31 stepnem joined #perl6
07:35 sergot joined #perl6
07:35 sergot hi o/
07:35 isBEKaml o/
07:35 dalek tablets: 66fc254 | (Herbert Breunung)++ | docs/appendix- (2 files):
07:35 dalek tablets: some small linkfixes
07:35 dalek tablets: review: https://github.com/perl6/tablets/commit/66fc2545b6
07:43 sorear o|
07:45 lumi_ $ perl6 2>/dev/null --profile -e 'say $*PROGRAM_NAME' # prints --profile
07:47 sorear cute
07:56 Entonian joined #perl6
08:02 eviltwin_b joined #perl6
08:18 eviltwin_b joined #perl6
08:19 allbery_b joined #perl6
08:26 NamelessTee joined #perl6
08:32 eviltwin_b joined #perl6
08:41 tokuhiro_ joined #perl6
08:50 araujo joined #perl6
08:50 araujo joined #perl6
09:05 masak Sunday salutations, #perl6
09:06 isBEKaml hola, masak!
09:11 geekosaur joined #perl6
09:20 eviltwin_b joined #perl6
09:26 eviltwin_b joined #perl6
09:27 jnthn mornin', #perl6
09:28 tadzik hello hello
09:36 moritz \o
09:38 masak such a wonderful day for doing Perl 6 stuff.
09:40 tadzik and dogwalks, and bookreading :)
09:42 masak oh, still in Izabelin? :)
09:44 birdwindupbird joined #perl6
09:44 thou joined #perl6
09:44 eviltwin_b joined #perl6
09:45 JimmyZ_ joined #perl6
09:46 tadzik aye :)
09:46 tadzik last day though
09:46 tadzik time to get back to work :/
09:46 tadzik I've realized yesterday that most of the university projects are due to the end of the month
09:46 tadzik the "whoops" moment
09:47 masak s/due to the end/due the end/ # silly English
09:47 tadzik right
09:48 tadzik anyway, I should probably be doing 1.25 projects a week now, starting tomorrow :)
09:49 tadzik downsides of lazy evaluation
09:51 isBEKaml_ joined #perl6
09:54 geekosaur joined #perl6
09:56 pernatiy joined #perl6
10:22 eviltwin_b joined #perl6
10:40 tokuhirom joined #perl6
10:48 PacoAir joined #perl6
11:18 sunnavy joined #perl6
11:21 thou joined #perl6
11:25 kaare_ joined #perl6
11:26 fgomez joined #perl6
11:50 zhutingting joined #perl6
11:54 whiteknight joined #perl6
12:04 gv joined #perl6
12:05 masak TimToady: S06:2766 -- that looks like an immediate block to me. thinko?
12:08 xenu joined #perl6
12:13 dalek roast: 4614839 | jnthn++ | S04-blocks-and-statements/temp.t:
12:13 dalek roast: Fudge temp.t for Rakudo; don't have TEMP phasers yet.
12:13 dalek roast: review: https://github.com/perl6/roast/commit/46148394b3
12:14 dalek rakudo/nom: 973df80 | jnthn++ | src/ (3 files):
12:14 dalek rakudo/nom: Implement temp and let. Passes all of let.t and all the temp.t tests apart from those that depend on TEMP phaser, which is still NYI.
12:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/973df80cfa
12:14 dalek rakudo/nom: 3e82557 | jnthn++ | t/spectest.data:
12:14 dalek rakudo/nom: Run let.t and temp.t.
12:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3e82557a98
12:15 masak jnthn++
12:17 dalek rakudo/nom: e5683d3 | jnthn++ | docs/ROADMAP:
12:17 dalek rakudo/nom: Remove completed item from ROADMAP.
12:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e5683d3a5f
12:26 JimmyZ joined #perl6
12:44 Chillance joined #perl6
12:49 eviltwin_b joined #perl6
12:57 Radvendii joined #perl6
12:57 Radvendii hey guys, real quick question (i couldn't find this anywhere online): how does the prompt() statement work?
12:57 phenny Radvendii: 05 Mar 16:44Z <TimToady> tell Radvendii http://irclog.perlgeek.de/​perl6/2012-03-04#i_5244895 is why we always use looser/tighter precedence instead of higher/lower; it's clearer which way the metaphor maps, especially when your precedence table is printed upside-down
13:00 tyatpi joined #perl6
13:02 sisar Radvendii: for the most basic explanation, see masak++ post: strangelyconsistent.org/blog/​june-1-2011-input-and-output
13:04 Radvendii thanks
13:04 Radvendii so it does just return the inputed value
13:04 sisar yes, exactly
13:04 fgomez joined #perl6
13:05 Radvendii so that i don't have to bother y'all as much, how can i search for just perl6 things, every time i type in "perl6 <question>" into my search engine, i get perl5 stuff
13:06 sisar well, specs are the canonical location. If you find them hard to understand, and you want to look up really basic stuff, i would recommend masak++ 30 articles
13:06 sisar the frist one of which I pointed you to
13:07 sisar the 30 articels cover basic perl6 stuff quite nicely
13:07 sisar *articles
13:07 Radvendii sweet
13:07 Radvendii thanks
13:08 sisar for quick look up of different perl6 things, tablets.perl6.org is also useful. Especially its Appendix A. ( fine work by litchking there)
13:08 sisar i meant litchkind++
13:09 sisar Radvendii: anything i can help you with ?
13:10 sisar *anything else
13:10 Radvendii not at the moment, but as always, i run into problems and commands i don't fully understand all the time
13:11 sisar we here at #perl6 are always happy to give the appropriate amount of help :)
13:11 Radvendii thanks
13:12 eviltwin_b joined #perl6
13:13 tadzik hehe, litchking :)
13:13 sisar :)
13:13 * tadzik fires up gimp
13:14 sisar .oO( litch*i*king, yumm...)
13:15 dalek rakudo/nom: dd66583 | jnthn++ | docs/ChangeLog:
13:15 dalek rakudo/nom: Updated ChangeLog.
13:15 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/dd66583ba2
13:21 JimmyZ_ joined #perl6
13:23 tadzik sorry, couldn't resist etc: http://i.imgur.com/V7z2j.jpg
13:24 sisar :)
13:24 JimmyZ__ joined #perl6
13:24 * tadzik afk
13:25 moritz jnthn++ # suddenly let, temp
13:26 eviltwin_b joined #perl6
13:26 moritz r: my $x = 5; try { temp $x = 8; say $x }; say $x
13:26 p6eval rakudo e5683d: OUTPUT«8␤5␤»
13:26 moritz r: my $x = 5; try { lte $x = 8; say $x }; say $x
13:26 p6eval rakudo e5683d: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&lte' called (line 1)␤»
13:26 moritz r: my $x = 5; try { let $x = 8; say $x }; say $x
13:26 p6eval rakudo e5683d: OUTPUT«8␤8␤»
13:26 moritz r: my $x = 5; try { let $x = 8; say $x; die '' }; say $x
13:26 p6eval rakudo e5683d: OUTPUT«8␤5␤»
13:26 moritz jnthn++
13:31 JimmyZ r: my $x = 5; try { let $x = 8; say $x; die 'ddd' }; say $x; say $!
13:31 p6eval rakudo e5683d: OUTPUT«8␤5␤ddd␤  in block <anon> at /tmp/67B3LJGATX:1␤␤»
13:31 JimmyZ r: my $x = 5; try { let $x = 8; say $x; die 'ddd' }; CATCH { say $x }
13:31 p6eval rakudo e5683d: OUTPUT«8␤»
13:32 pomysl joined #perl6
13:32 pomysl joined #perl6
13:35 jnthn Which is right, since CATCH runs, *then* we unwind. :)
13:36 moritz erm, CATCH doesn't run in JimmyZ's last example at all
13:37 moritz because it's outside the try
13:37 JimmyZ r: my $x = 5; try { let $x = 8; say $x; die 'ddd'; CATCH { } }
13:37 p6eval rakudo e5683d: OUTPUT«8␤ddd␤  in block <anon> at /tmp/0HnXaoD1q4:1␤␤»
13:38 ponbiki joined #perl6
13:38 JimmyZ r: my $x = 5; try { let $x = 8; say $x; die 'ddd'; CATCH { say 'hi' } }
13:38 p6eval rakudo e5683d: OUTPUT«8␤hi␤ddd␤  in block <anon> at /tmp/3G1YEBH0kb:1␤␤»
13:40 JimmyZ r: my $x = 5; try { let $x = 8; say $x; die 'sss'; CATCH { say 'xxxxx' } } ; say 'aloha'; END { say 'END'}
13:40 p6eval rakudo e5683d: OUTPUT«8␤xxxxx␤sss␤  in block <anon> at /tmp/D4KJsGJFB3:1␤␤»
13:41 jnthn moritz: ah, I mis-read it :)
13:41 JimmyZ looks like END block not always run?
13:42 jnthn No, though that's known.
13:42 jnthn Exceptional exits currently miss out running END blocks.
13:43 JimmyZ r: my $x = 5; try { let $x = 8; say $x; die 'sss';  } ; say 'aloha'; END { say 'END'}
13:43 p6eval rakudo e5683d: OUTPUT«8␤aloha␤END␤»
13:43 eviltwin_b joined #perl6
13:44 JimmyZ r: my $x = 5; try { let $x = 8; say $x; die 'sss';  }; END { say 'END'}
13:44 p6eval rakudo e5683d: OUTPUT«8␤END␤»
13:44 JimmyZ r: my $x = 5; try { let $x = 8; say $x; die 'sss';  } ; say $!; END { say 'END'}
13:44 p6eval rakudo e5683d: OUTPUT«8␤sss␤  in block <anon> at /tmp/cIwsSA1QCF:1␤␤END␤»
13:44 JimmyZ that's a bit surprised
13:45 moritz by what part?
13:45 JimmyZ with say $! and without say $!
13:45 moritz the only difference is the 'say $!' part
13:45 moritz which prints the exception message plus backtrace
13:46 JimmyZ with $! means END is not executed
13:46 moritz it is
13:46 geekosaur look at the end of the output
13:46 moritz 15:44 <+p6eval> rakudo e5683d: OUTPUT«8␤sss␤  in block <anon> at  /tmp/cIwsSA1QCF:1␤␤END␤»
13:46 moritz there's an END at the end
13:46 JimmyZ oh
13:53 eviltwin_b joined #perl6
13:59 PacoAir joined #perl6
14:11 geekosaur joined #perl6
14:12 * masak submits rakudobug
14:13 masak we have various END-related rakudobugs already, but this one seems new.
14:13 moritz I tried the obvious patch. Didn't work :/
14:14 masak oh!
14:14 masak I did the same mis-read as JimmyZ :)
14:14 masak there's no bug there.
14:14 dbr joined #perl6
14:14 moritz well, END blocks not firing in the case of exceptions is a bug, afacit
14:14 moritz but it's known?
14:14 masak moritz: in which evaluation is the END block not firing?
14:15 masak :)
14:15 moritz r: die "foo"; END { say 'END' }
14:15 p6eval rakudo dd6658: OUTPUT«foo␤  in block <anon> at /tmp/wbvyGeFRFB:1␤␤»
14:15 masak oh, that one's known.
14:15 masak and submut long ago.
14:15 jnthn Right.
14:15 jnthn I was gonna say, what's new...
14:16 masak I could make an argument for $!.gist not printing le stacktrace, though.
14:16 jnthn moritz: What was the obvious patch, and how did it not work?
14:16 masak doesn't feel very gistish.
14:16 jnthn masak: If somebody is gonna gist me an exception, I'd find the stack trace handy :P
14:17 moritz jnthn: $_() for @*END_PHASERS;   in sub print_exception, src/core/Exception.pm
14:17 plobsing joined #perl6
14:17 jnthn moritz: That does look like the obvious patch.
14:17 masak jnthn: I disagree, but I don't have any further argument than "it's too long for a .gist output"
14:17 masak jnthn: we went from "Bool::True" to just "True", for example.
14:17 moritz jnthn: and it looped infitely when trying to invoke the END phaser
14:17 masak long stacktraces don't play well with other surrounding output.
14:17 moritz jnthn: and all the while printed
14:18 moritz Can not get non-existent attribute '$!ex' on class 'Exception' in block <anon> at -e:1
14:18 jnthn eeek
14:18 moritz jnthn: I hypothized that it somehow throws an exception while trying to invoke the END phaser, and the rethrowing logic is busted
14:18 jnthn masak: I guess the info is available with $!.backtrace or so...
14:18 jnthn moritz: That sounds quite possible.
14:19 moritz masak: what method would you use to have a text representation of the whole exception (message + backtrace)?
14:19 moritz s/have/get/?
14:19 moritz s/\?$// ;-)
14:20 jnthn .all_the_things
14:20 jnthn :P
14:20 jnthn .details
14:20 moritz I've now scattered a bit more debug output, and recompiling
14:20 masak jnthn: .stacktrace ?
14:20 masak jnthn: or .detailed ?
14:21 masak or something. it just doesn't feel like "the gist of an exception" should be all the details.
14:21 moritz masak: well, we use .gist to include more than just the basic .Str output
14:21 moritz compare say Str; with  print Str;
14:22 moritz so I think it's quite reasonable to provide some more info (the backtrace) along with the mere stringification
14:22 moritz jnthn: oh, the error that it fails to rethrow is   Method 'postcircumfix:<( )>' not found for invocant of class 'Parcel'
14:23 jnthn moritz: ohh.
14:23 jnthn I think @*END_PHASERS is actually an NQP array (thus RPA)
14:23 jnthn moritz: Thus a Perl 6 "for" loop over it seemingly doesn't quite work out.
14:24 moritz jnthn: so  $_() for nqp::perl6ize_type(@*END_PHASERS)?
14:24 masak moritz: good point.
14:24 jnthn moritz: Maybe that, yes
14:24 jnthn I think it's nqp::p6type though
14:24 jnthn the one you wrote is the pir:: one
14:24 moritz right
14:25 moritz hm, can't find a single occorance of nqp::p6type
14:25 timotimo joined #perl6
14:25 jnthn oh, maybe I'm just dreaming it then :)
14:25 moritz there seems to be no alias for it
14:25 jnthn hmm, you're right, there ain't an alias for it. :)
14:33 Radvendii joined #perl6
14:35 dalek rakudo/nom: d9fd173 | moritz++ | src/core/Exception.pm:
14:35 dalek rakudo/nom: run END blocks after printing exception
14:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d9fd173279
14:36 masak \o/
14:36 masak now we just need to run END blocks after exit(), too...
14:37 masak should LEAVE blocks run on exit() ?
14:41 geekosaur joined #perl6
14:50 s1n joined #perl6
14:53 icwiener joined #perl6
14:54 eviltwin_b joined #perl6
14:56 Radvendii joined #perl6
15:01 fgomez joined #perl6
15:03 sergot joined #perl6
15:09 geekosaur joined #perl6
15:10 glass joined #perl6
15:14 sisar http://rosettacode.org/wiki/Classes#Perl_6, both examples suffer from a 'two terms in a row error'. Can someone correct it ?
15:14 masak sisar: 'my Camel $b .= new humps => 2;' should be 'my Camel $b .= new(humps => 2);'
15:15 sisar thanks. I'll try to fix 'em both.
15:15 masak the second piece of code is wrong on a more fundamental level.
15:15 masak well, the same syntactical omission of parens holds there, too.
15:16 tadzik r: class Camel { has Int $.humps = 1; }; my Camel $b .= new: humps => 2;
15:16 p6eval rakudo d9fd17:  ( no output )
15:16 masak or what tadzik++ did.
15:16 masak but the second constructor call passes a named argument :age which doesn't map to anything in the .new methods.
15:16 tadzik I, for one, quite like this syntax :)
15:19 masak it grows on me. it certainly has its place.
15:19 masak Kodi wrote the code for that RC entry.
15:19 masak it can't have worked even on Rakudo #22.
15:20 masak Kodi--
15:21 * sisar dosen't have a RC account
15:22 masak sisar++ # getting an RC account just to make the edit
15:22 * masak grins
15:22 JimmyZ_ joined #perl6
15:22 sisar i'm doing exactly that :)
15:22 masak hence the karma :)
15:22 eviltwin_b joined #perl6
15:22 buubot_backup joined #perl6
15:29 sisar masak: i've corrected the first one. But since i'm not familiar with bless, can you correct the second example ?
15:29 sisar (i've also removed the "works with ..." line)
15:31 sisar removing it was the right thing, right?
15:31 sisar .oO ( two 'right's in a row :p )
15:39 masak sisar: well, the second one is deeper. I'm not too fond of overriding .new methods like that in the first place.
15:40 sisar maybe you can come up with a more interesting and much better example? :)
15:41 masak it creates exactly the kind of inflexibility that bites the author of that code.
15:41 masak yeah, I think coming up with a more idiomatic example would be good.
15:43 eviltwin_b joined #perl6
15:44 xenu joined #perl6
15:46 s1n joined #perl6
15:54 Psyche^ joined #perl6
16:05 jnthn phenny: "uttrycksfulla"?
16:05 phenny jnthn: "expressive" (sv to en, translate.google.com)
16:05 jnthn aha
16:06 masak think so.
16:06 masak oops, stale backlog.
16:06 masak jnthn: en:"expression" === sv:"uttryck"
16:07 masak ex-pression, ut-tryck. :)
16:07 jnthn Ah...
16:07 jnthn That makes even more sense :)
16:07 masak language is so boringly predictable sometimes :)
16:08 masak sisar: fixed. http://rosettacode.org/wiki/Classes#Perl_6
16:09 eviltwin_b joined #perl6
16:10 sisar \o/
16:12 arnsholt masak: Thankfully, it's also excitinly non-predictable as well =D
16:12 arnsholt Modulo spelling. I blame my cold ^_^
16:14 eviltwin_b joined #perl6
16:20 thou joined #perl6
16:26 sisar perl6: say i == sqrt(-1);
16:26 p6eval rakudo d9fd17, niecza v17-2-gb8fcf85: OUTPUT«False␤»
16:26 p6eval ..pugs: OUTPUT«*** No such subroutine: "&i"␤    at /tmp/aJ6cx7ci6A line 1, column 5-18␤»
16:26 sisar :)
16:26 * masak submits rakudobug
16:26 eviltwin_b joined #perl6
16:26 sisar r: sqrt(-1).WHAT
16:26 p6eval rakudo d9fd17:  ( no output )
16:26 masak surely those should be numerically equal, no?
16:27 masak r: say sqrt(-1)
16:27 p6eval rakudo d9fd17: OUTPUT«NaN␤»
16:27 masak oh wait :)
16:27 masak that's right.
16:27 sisar yeah, maybe not a bug after all :)
16:27 masak no, it isn't.
16:27 * masak unsubmits
16:27 masak r: say sqrt(-1 + 0i)
16:27 p6eval rakudo d9fd17: OUTPUT«6.12303176911189e-17+1i␤»
16:27 masak there you go.
16:28 masak you need to know about complex numbers to enter the magical land of milk and honey known as the complex plane :)
16:28 sisar n: say sqrt(-1 + 0i );
16:28 p6eval niecza v17-2-gb8fcf85: OUTPUT«6.1230317691118863E-17+1i␤»
16:36 sisar r: 1**(100**100); #blazingly fast !
16:36 p6eval rakudo d9fd17:  ( no output )
16:37 sisar n: say 1**(100**100) # hangs !
16:37 p6eval niecza v17-2-gb8fcf85: OUTPUT«(timeout)»
16:37 sisar r: say 1**(100**100); #blazingly fast !
16:37 p6eval rakudo d9fd17: OUTPUT«1␤»
16:37 sisar rakudo++
16:38 colomon n: say 100**100
16:38 p6eval niecza v17-2-gb8fcf85: OUTPUT«10000000000000000000000000000000000​000000000000000000000000000000000000000000​000000000000000000000000000000000000000000​000000000000000000000000000000000000000000​0000000000000000000000000000000000000000␤»
16:38 sisar huh. That took no time ? hmm..
16:39 colomon all it means is niecza doesn't special case 1 ** $n
16:40 colomon r: say 1.0000001 ** (100 ** 100)
16:40 p6eval rakudo d9fd17: OUTPUT«Nominal type check failed for parameter '$nu'; expected Int but got Num instead␤  in sub DIVIDE_NUMBERS at src/gen/CORE.setting:7254␤  in sub infix:<**> at src/gen/CORE.setting:7396␤  in block <anon> at /tmp/_kmcGf2Zqh:1␤␤»
16:40 colomon n: say 1.0000001 ** (100 ** 100)
16:40 p6eval niecza v17-2-gb8fcf85: OUTPUT«Inf␤»
16:41 masak my tip: don't raise things to the (100**100)th power ;)
16:41 masak either the base is 1, and then you know the answer already.
16:41 masak or it's not, and then you're toast anyway.
16:42 colomon r: say 1.0000001 ** (10 ** 100)
16:42 p6eval rakudo d9fd17: OUTPUT«Nominal type check failed for parameter '$nu'; expected Int but got Num instead␤  in sub DIVIDE_NUMBERS at src/gen/CORE.setting:7254␤  in sub infix:<**> at src/gen/CORE.setting:7396␤  in block <anon> at /tmp/IUtc842LIM:1␤␤»
16:42 colomon n: say 1.0000001 ** (10 ** 100)
16:42 p6eval niecza v17-2-gb8fcf85: OUTPUT«Inf␤»
16:42 colomon n: say (10 ** 100).Num
16:42 p6eval niecza v17-2-gb8fcf85: OUTPUT«1E+100␤»
16:42 sisar masak: was trying it just for fun :) somewhere Rakudo is faster than Niecza :p
16:44 colomon n: say 1.0000001 ** (10 ** 10)
16:44 p6eval niecza v17-2-gb8fcf85: OUTPUT«Inf␤»
16:45 colomon ... that can't be right, can it?
16:45 masak seems a bit high.
16:45 jnthn :P
16:46 colomon n: say 1.0000001 ** (10 ** 2)
16:46 p6eval niecza v17-2-gb8fcf85: OUTPUT«1.0000100000495054␤»
16:46 colomon n: say 1.0000001 ** (10 ** 3)
16:46 p6eval niecza v17-2-gb8fcf85: OUTPUT«1.0001000049952189␤»
16:46 colomon n: say 1.0000001 ** (10 ** 4)
16:46 p6eval niecza v17-2-gb8fcf85: OUTPUT«1.0010005001171869␤»
16:46 colomon n: say 1.0000001 ** (10 ** 5)
16:46 p6eval niecza v17-2-gb8fcf85: OUTPUT«1.0100501665844765␤»
16:46 colomon n: say 1.0000001 ** (10 ** 6)
16:46 p6eval niecza v17-2-gb8fcf85: OUTPUT«1.1051709126081526␤»
16:46 colomon n: say 1.0000001 ** (10 ** 7)
16:46 p6eval niecza v17-2-gb8fcf85: OUTPUT«2.7182816939803724␤»
16:46 colomon n: say 1.0000001 ** (10 ** 8)
16:46 p6eval niecza v17-2-gb8fcf85: OUTPUT«22026.45489788942␤»
16:46 colomon n: say 1.0000001 ** (10 ** 9)
16:46 p6eval niecza v17-2-gb8fcf85: OUTPUT«2.688103843211962E+43␤»
16:46 timotimo and here it explodes :)
16:47 colomon yowza
16:47 moritz r: say 1.0000001 ** (10 ** 9)
16:47 p6eval rakudo d9fd17: OUTPUT«Nominal type check failed for parameter '$nu'; expected Int but got Num instead␤  in sub DIVIDE_NUMBERS at src/gen/CORE.setting:7254␤  in sub infix:<**> at src/gen/CORE.setting:7396␤  in block <anon> at /tmp/P5rMiu7o7C:1␤␤»
16:48 moritz r: say 1.0000001 ** (10 ** 5)
16:48 p6eval rakudo d9fd17: OUTPUT«(timeout)»
16:48 colomon that's a legit rakudo bug
16:48 moritz aye
16:49 * moritz leaves it to masak++
16:49 * masak submits it
16:49 colomon wait, that's two legit rakudo bugs
16:50 masak do you want them as different tickets?
16:50 moritz you mean the timeout?
16:50 colomon yes
16:50 colomon masak: I am supremely uncaring on the question.
16:50 moritz how long do you think it is reasonable to take something to the 1e5ths power?
16:51 * masak only submits the first one
16:51 moritz since  1.0000001 is a Rat, it exponentiates numerator and denominator separately
16:51 moritz which generally gives the best accuracy
16:51 colomon moritz: that's a good question.... i forget how crazy quick the p6eval timeout is sometimes.
16:51 moritz which can take a lot of memory
16:52 colomon n: say 1.0000001 ** (10 ** 5)
16:52 p6eval niecza v17-2-gb8fcf85: OUTPUT«1.0100501665844765␤»
16:52 colomon n: say (1.0000001 ** (10 ** 5)).WHAT
16:52 p6eval niecza v17-2-gb8fcf85: OUTPUT«Num()␤»
16:52 s1n joined #perl6
16:52 moritz I wonder if it could somehow determine to downgrade to Num more quickly
16:52 colomon doh!
16:52 colomon I'd argue that's a Niecza bug.  Sigh.
16:52 moritz n: say (1.000001 ** 5).WHAT
16:52 p6eval niecza v17-2-gb8fcf85: OUTPUT«Num()␤»
16:52 moritz n: say (1.000001 ** 2).WHAT
16:52 p6eval niecza v17-2-gb8fcf85: OUTPUT«Rat()␤»
16:53 moritz n: say (1.000001 ** 3).WHAT
16:53 p6eval niecza v17-2-gb8fcf85: OUTPUT«Rat()␤»
16:53 moritz n: say (1.000001 ** 4).WHAT
16:53 p6eval niecza v17-2-gb8fcf85: OUTPUT«Num()␤»
16:53 moritz colomon: might not be a bug, but simple result of Rat -> Num overflow
16:53 moritz I wonder if rakudo should use a a different implementation for Rat ** Int
16:54 colomon moritz: oh.  good point.
16:54 colomon duh.
16:54 colomon colomon--
16:55 [Coke] colomon-- # what did he do this time?
16:55 colomon n: say 1.00000001.FatRat ** (10 ** 5)
16:55 eviltwin_b joined #perl6
16:55 p6eval niecza v17-2-gb8fcf85: OUTPUT«(timeout)»
16:55 moritz colomon++ forgot some details of our number system for a few minutes
16:57 colomon In my defense, I am scrambling to cook lunch so I can eat, change my shirt, and be ready to report for pre-concert rehearsal in 33 minutes.
16:58 [Coke] colomon: why the hell are you on IRC? ;)
16:58 [Coke] having just had to get through this to get my son to his concert which is an hour away from our house yesterday...
16:58 colomon Laptop on kitchen counter.  :)
16:59 moritz http://slidetocode.com/2012/05/06/​the-perfect-programming-language/
16:59 eviltwin_b joined #perl6
16:59 moritz "The well-trodden path to glory for an internet entrepreneur is to write version 1 of the next great product in Python, or Ruby, or Javascript, launch it to high acclaim, instantly run into scaling problems, and use VC money to hire a small army of C++ programmers with pony tails and faded star wars T-Shirts to beef up their backend."
16:59 colomon [Coke]: the big concert hall in town is only three minutes' drive away.
17:00 moritz if we can make Perl 6 with type annotations scale more like C/C++/C#, that would be a huge win on that front
17:00 tadzik Parallelisability, Typed languages with the feel of a scripting language. Sounds like Go
17:00 arnsholt moritz: I think that's entirely possible in the long run
17:00 masak sounds like Scala.
17:01 jnthn That's why I'm so into the gradual typing bits :)
17:01 arnsholt There are some ridiculously good Common Lisp compilers, and CL's type system is less useful in some ways than Perl 6's
17:01 arnsholt Of course, that'll most likely require that someone writes a compiler that compiles to native code =)
17:02 arnsholt But since most CL compilers need a CL compiler to bootstrap, that's not as much of an issue as it might be. It can be written in Perl 6 when the time comes =)
17:10 moritz aye
17:11 moritz I think once we have a fast and mostly complete Perl 6 compiler, people will start to write more Perl 6 compilers in Perl 6 :-)
17:13 [Coke] Yes, but I think my great granchildren might be using some other language by then.
17:14 moritz I'm pretty sure that's what the people in the 60s said about lisp too :-)
17:14 geekosaur that's only because perl6 will be complete when it's stable (for CS and bio meaning of stable)
17:19 geekosaur er, developer not CS
17:25 s1n joined #perl6
17:28 [Coke] # 05/06/2012 - rakudo++ (21745); niecza (93.72%); pugs (41.92%)
17:30 tadzik . o O ( how many tests could the spec tests test if the spec tests could tests spec )
17:34 Celelibi is there something new about map / grep and sort in perl6 ?
17:34 moritz well, map and grep are lazy
17:35 moritz and sort can take an unary closure too
17:35 masak Celelibi: map and grep can work several elements at a time.
17:35 masak Celelibi: also, there's .first, which is more fun than .grep if you want at most one match.
17:36 Celelibi looks like most of List::MoreUtils has been integrated to the language.
17:40 moritz aye
17:43 jnthn Hmm. Wonder what it's gonna take to get to 22000 :)
17:44 s1n joined #perl6
17:46 moritz jnthn: at your convenience, could you place take a look at the use-arglist branch?
17:46 moritz jnthn: when I do a   ./perl6 -Ilib -e 'use Test :DEFAULT;', it tries to call postcircumfix:<( )> on class Bool
17:47 jnthn moritz: Cooking at the moment, but will fire off a build so I can look at if after dinner :)
17:47 moritz jnthn: the thunk is created of class Code, and it errors somewhere in the invoke proxy or so
17:47 moritz jnthn: ok, great
17:48 not_gerd joined #perl6
17:48 dalek perl6-examples: 2e1557f | gerdr++ | shootout/revcomp.p6.pl:
17:48 dalek perl6-examples: fix shootout/revcomp.p6.pl
17:48 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/2e1557f53c
17:48 dalek perl6-examples: d4b8941 | (It's secret to everybody)++ | shootout/revcomp.p6.pl:
17:48 dalek perl6-examples: Merge pull request #2 from gerdr/patch-4
17:48 dalek perl6-examples:
17:48 dalek perl6-examples: fix shootout/revcomp.p6.pl
17:48 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/d4b894170a
17:49 * not_gerd was just about to ask for ^^
17:49 not_gerd hello, #perl6
17:55 masak hi, not_gerd!
17:59 moritz o/
18:00 moritz not_gerd: now you have commit access
18:00 raiph joined #perl6
18:00 raiph r: callframe.gist.say
18:01 p6eval rakudo d9fd17: OUTPUT«CallFrame.new(level => Int, annotations => ("file" => "/tmp/D7NcT1RZbO", "line" => 1).hash, my => EnumMap.new("\$!", Any, "\$=pod", Array.new(), "!UNIT_MARKER", !UNIT_MARKER, "GLOBALish", GLOBAL, "EXPORT", EXPORT, "\$?PACKAGE", GLOBAL, "::?PACKAGE", GLOBAL, "\$_", …
18:01 not_gerd moritz: thanks
18:01 raiph ww
18:02 not_gerd some benchmark results: https://gist.github.com/2623550
18:03 masak not_gerd++ # comparisons like this are nice to see
18:03 moritz not_gerd: what does revcomp do?
18:03 bip` joined #perl6
18:03 jnthn not_gerd: Got a link to revcomp?
18:04 not_gerd moritz,jnthn: https://github.com/perl6/perl6-exampl​es/blob/master/shootout/revcomp.p6.pl
18:05 moritz ah, trans and lots of IO
18:06 dalek perl6-examples: a80cf81 | gerdr++ | tutorial/lazy.pl:
18:06 dalek perl6-examples: fix tutorial/lazy.pl
18:06 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/a80cf810d9
18:06 dalek perl6-examples: e447209 | gerdr++ | tutorial/lazy.pl:
18:06 dalek perl6-examples: Merge pull request #1 from gerdr/patch-3
18:06 dalek perl6-examples:
18:06 dalek perl6-examples: fix tutorial/lazy.pl
18:06 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/e447209862
18:09 tadzik jnthn: are you using putty, by any chance?
18:10 masak we really need to get .trans to run fast.
18:10 * moritz does at $work
18:10 moritz masak: hold your horses, profile first
18:11 masak moritz: no doubt. but I'm under no illusions that .trans is currently fast.
18:11 masak even if it doesn't come out as the main villain here... we really need to get .trans to run fast.
18:19 Timbus joined #perl6
18:20 [Coke] yes, but if it's not the main villian, it's ore important to get /that/ to run fast!
18:22 moritz trans: incl: 99.69%
18:25 moritz http://moritz.faui2k3.org/tmp/revcomp.profile.gz gzip'ed version of --profile output
18:26 not_gerd could someone take a look at what's wrong with shootout/n-body.p6.pl?
18:27 NamelessTee joined #perl6
18:27 moritz r: constant LAST = 4; for 1..LAST { .say }
18:27 p6eval rakudo d9fd17: OUTPUT«===SORRY!===␤Missing block␤at /tmp/rQGNogs6zD:1␤»
18:27 Celelibi What about perldoc ? is there perl6doc ?
18:27 moritz not_gerd: probably conflicts with the LAST phaser
18:27 moritz Celelibi: perl6 --doc $file
18:27 moritz Celelibi: that extracts the Pod
18:27 moritz Celelibi: but we don't have much documentation yet :/
18:28 Celelibi ok, but what about perldoc -f $fun ? or perldoc perlsyn ?
18:28 moritz not_gerd: using  constant $LAST   instead of  constant LAST helps with the syntax errors
18:29 dalek perl6-examples: 05d4466 | moritz++ | shootout/n-body.p6.pl:
18:29 dalek perl6-examples: fix syntax errors
18:29 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/05d4466615
18:29 dalek perl6-examples: fce6a8b | (Gerhard R)++ | shootout/fasta.p6.pl:
18:29 dalek perl6-examples: fix shootout/fasta.p6.pl
18:29 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/fce6a8b02f
18:30 Celelibi Is there a programmatic way to extract all the method name from an object?
18:30 dalek perl6-examples: 35a8ba2 | moritz++ | shootout/n-body.p6.pl:
18:30 dalek perl6-examples: [n-body] fix some type errors
18:30 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/35a8ba2661
18:31 moritz Celelibi: $obj.^methods(:all)>>.name
18:31 masak I love how all the words of the answer also occur in the question :P
18:32 masak moritz++
18:32 Celelibi :)
18:32 Celelibi and now : what does this mean?
18:32 moritz it means: give me the name of all the methods in object $obj :-)
18:33 masak Celelibi: named argument.
18:33 Celelibi yes, this was my question.
18:33 moritz .^ is a method call on the meta class
18:33 Celelibi what is .^ what is :all what is >>. ?
18:33 masak Celelibi: but the colon means different things in different places in the language.
18:33 masak Celelibi: .^ is call method on metaclass object.
18:33 moritz and >>. is call distributed to all methods in a list
18:33 masak oh, moritz is way ahead :)
18:34 Celelibi What is "metaclass" ?
18:34 Celelibi the class named "class" ?
18:34 moritz it's the class that defines how a class works.
18:34 masak Celelibi: it's the thing that knows things about your class.
18:34 masak Celelibi: for example what methods it has.
18:34 masak Celelibi: you can't just go .methods, because $obj probably doesn't have such a method.
18:34 moritz or what attributes, what parents
18:35 jnthn tadzik: Yes, I use putty.
18:35 Celelibi so .^ goes to the meta-level. Ok.
18:35 not_gerd some more data: https://gist.github.com/2623550
18:35 Celelibi Can I navigate through the class hirarchy?
18:35 not_gerd compared to 2009, Rakudo got faster, except for revcomp
18:36 moritz Celelibi: yes
18:36 Celelibi For instance, getting the names of the methods of the parent class of $obj.
18:36 tadzik jnthn: okay, I solved my problem already :)
18:36 moritz r: say Str.^parents(:tree)
18:36 p6eval rakudo d9fd17: OUTPUT«use of uninitialized value of type Cool in string context  in block <anon> at /tmp/kUntTsQfFp:1␤␤use of uninitialized value of type Any in string context  in block <anon> at /tmp/kUntTsQfFp:1␤␤use of uninitialized value of type Mu in string context  in block <anon>…
18:36 moritz r: say Str.^parents(:tree).perl
18:36 p6eval rakudo d9fd17: OUTPUT«([Cool, [Any, [Mu]]],)␤»
18:36 Celelibi ok, parent. :)
18:36 Celelibi Hum... Ok, actually .^ query the Meta-model instance.
18:37 Celelibi what is the :all or :tree ?
18:38 Celelibi Beside this, Can I manipulate the metamodel "by hand"?
18:38 Celelibi Adding an attribute or a method dynamically or so.
18:39 jnthn Celelibi: http://jnthn.net/papers/201​2-gpw-meta-programming.pdf has various examples
18:39 geekosaur :all and :tree are named parameters, as opposed to positional parameters.  metaprogramming is possible, you need to turn on monkey patching though because it's a bad idea
18:41 jnthn Meta-programming is a fine idea. :) It's changing classes after the initial declaration that's not so good.
18:41 crab2313 joined #perl6
18:41 jnthn augment class Foo { method bar() { ... } } # the best way to update a class with extra stuff, requires "use MONKEY_TYPING")
18:42 jnthn Best as in, it won't leave you with an inconsistent state because it takes care of making the correct metamodel calls for you.
18:42 geekosaur yeh, I meant the kind of metaprogramming celelibi asked about though which is changing classes post-declaration
18:42 jnthn You can add a method by doing Foo.^add_method($name, $some-code-object)
18:42 jnthn Which many people know.
18:42 jnthn Fewer people know that they should really call Foo.^compose() after taht.
18:43 crab2313 left #perl6
18:43 crab2313 joined #perl6
18:43 Celelibi I just ask how far goes the metaprogramming with perl6.
18:44 jnthn Celelibi: A long way.
18:44 jnthn Celelibi: All of the class syntax is just sugar that reduces to the compiler making calls on meta-objects.
18:44 not_gerd hm... trying to go native in n-body.p6.pl via s/Num/num/ results in Null PMC access
18:45 Celelibi Can I even modify the metaclass?
18:45 Celelibi (thus possibly making it unusable)
18:46 jnthn Celelibi: You can write a module that replaces, say, what the "class" keyword maps to, associating it with a different meta-object of your choice.
18:46 not_gerd are native array implemented?
18:46 jnthn Celelibi: The Grammar::Debugger module does that with "grammar". Replaces the normal meta-class with a subclass of it that hooks dispatch and prints out debug info.
18:46 jnthn not_gerd: No.
18:47 Celelibi jnthn: that sounds really great.
18:48 Celelibi There is a lot of interesting stuff in perl6. I definitely need to spend more time on it.
18:49 moritz agreed :-)
18:49 Celelibi And I definitely need more documentation.
18:50 Celelibi Do you know how "clean" and "easily understandable" the code of rakudo is? :)
18:50 moritz Celelibi: in my experience it's well readable
18:50 moritz Celelibi: though some areas are complicated, because the language requires it
18:50 Celelibi ok
18:52 sorear good * #perl6
18:53 masak sorear! \o/
18:53 jnthn hi sorear
18:54 [Coke] sorear.
19:00 jnthn moritz: about?
19:01 moritz jnthn: aye
19:01 jnthn moritz: Think I figured out the arglist thing.
19:02 moritz jnthn: what is it?
19:02 jnthn moritz: Answer lies in what method arglist($/) { ... } in Actions.pm produces
19:02 jnthn moritz: It produces a PAST::Op node, :pasttype('call') or so
19:02 moritz oh
19:02 jnthn moritz: It then expects the consumer of that bit of AST to either set .name or unshift a thing to call.
19:02 birdwindupbird joined #perl6
19:03 jnthn moritz: So a name isn't getting set and thus it tries to invoke the first child. :)
19:04 jnthn moritz: The next problem is that arglist also triggers the named handling.
19:04 jnthn moritz: Meaning that :DEFAULT won't end up as a pair, but instead be a named argument.
19:05 moritz jnthn: so should we walk the arglist instead, and for each one evaluate the value at compile time, and simply record the name?
19:05 jnthn moritz: In short, you're probably better off thunking $<arglist><EXPR> or so.
19:05 jnthn moritz: Or that.
19:05 jnthn moritz: It's probably better to actually run the thing though...
19:06 jnthn moritz: Not doing so has a history of being painful.
19:06 moritz jnthn: should I create an identity sub that retunrs its arglist?
19:06 jnthn moritz: No
19:07 jnthn moritz: If you instead look at $<arglist><EXPR>.ast instead of $<arglist>.ast you'll probably get what you want, more or less.
19:08 jnthn moritz: All the arglist action method does is turn what EXPR parsed into something we can then easily turn into a sub or method call.
19:08 jnthn But we don't want to do that here...we just want the expression itself.
19:11 jnthn moritz: https://gist.github.com/2623892
19:11 jnthn That's what I tried here.
19:12 moritz jnthn: commit it?
19:13 jnthn moritz: I can if you like
19:13 moritz jnthn: please do
19:14 dalek rakudo/use-arglist: 5162c8b | jnthn++ | src/Perl6/Grammar.pm:
19:14 dalek rakudo/use-arglist: Get arglist thunk to run and return something.
19:14 dalek rakudo/use-arglist: review: https://github.com/rakudo/rakudo/commit/5162c8bde7
19:16 not_gerd left #perl6
19:24 moritz jnthn: I think we should factor out this whole checking for compile time value, and thunking and executing otherwise
19:24 moritz into a world method
19:24 moritz we'll need it for import too
19:24 jnthn moritz: +1
19:32 moritz jnthn: is there something like the reverse of pir::perl6ize_type?
19:33 moritz jnthn: I guess that the arglist thunk returns a Parcel, and I need to iterate that in NQP land
19:33 moritz do I need to manually getattr the $!storage or so?
19:34 jnthn moritz: You'd have to do that, yeah...
19:35 jnthn moritz: Note in the case of :DEFAULT it's just gonna return a Pair.
19:35 jnthn :DEFAULT, :CHIMPANZEE would return a Parcel
19:36 moritz r: say (:DEFAULT).Parcel.WHAT
19:36 p6eval rakudo d9fd17: OUTPUT«Method 'Parcel' not found for invocant of class 'Pair'␤  in block <anon> at /tmp/DpqCT7bVBT:1␤␤»
19:36 moritz meh
19:36 moritz this is going to be no fun
19:36 moritz r: say (:DEFAULT).List.Parcel
19:36 p6eval rakudo d9fd17: OUTPUT«Method 'List' not found for invocant of class 'Pair'␤  in block <anon> at /tmp/OuzVyKbDLX:1␤␤»
19:36 moritz r: say (:DEFAULT).list.Parcel
19:36 p6eval rakudo d9fd17: OUTPUT«ListIter.new()␤»
19:36 moritz erm, what?
19:36 jnthn o.O
19:37 jnthn OTOH
19:37 jnthn r: say (:DEFAULT).list.eager
19:37 moritz r: say (:DEFAULT).list.Parcel.join
19:37 p6eval rakudo d9fd17: OUTPUT«DEFAULT   True␤»
19:37 p6eval rakudo d9fd17: OUTPUT«DEFAULT   True␤»
19:38 jnthn r: nqp::getattr((:DEFAULT).list.eager, List, '$!items')
19:38 p6eval rakudo d9fd17:  ( no output )
19:38 jnthn moritz: You could always do like ^
19:39 jnthn r: :DEFAULT.list.WHAT.say
19:39 p6eval rakudo d9fd17: OUTPUT«List()␤»
19:45 NamelessTee joined #perl6
20:08 dalek rakudo/use-arglist: 7b98e2a | moritz++ | src/Perl6/Grammar.pm:
20:08 dalek rakudo/use-arglist: import according to arglist
20:08 dalek rakudo/use-arglist:
20:08 dalek rakudo/use-arglist: does not break anything, but does not seem to get arglists working either
20:08 dalek rakudo/use-arglist: review: https://github.com/rakudo/rakudo/commit/7b98e2aa4e
20:12 arnsholt "Doesn't break anything, but doesn't seem to work either." Wonderful commit message =)
20:13 moritz 'noop'
20:15 moritz it's a "now it's backed up on teh internetz somewhere" commit :-)
20:16 jnthn It broke my dreams of working import arglist :P
20:18 jnthn nom: say |(:DEFAULT)
20:18 p6eval rakudo d9fd17: OUTPUT«Method 'FLATTENABLE_LIST' not found for invocant of class 'Pair'␤  in block <anon> at /tmp/NtdhS5tfnK:1␤␤»
20:18 moritz the easy 20% are done, now I just need to debug and fix it :-)
20:18 jnthn grr
20:18 jnthn nom: say ~(:DEFAULT)
20:18 p6eval rakudo d9fd17: OUTPUT«DEFAULT   True␤»
20:18 jnthn It may be that it's expecting Pair to stringify to DEFAULT there.
20:18 moritz oh
20:18 moritz right
20:19 moritz $ ./perl6 -e 'use Test "DEFAULT"; ok 1'
20:19 moritz ===SORRY!===
20:19 moritz CHECK FAILED:
20:19 moritz Undefined routine '&ok' called (line 1)
20:19 moritz otoh that one should accidentally work if that was the problem
20:20 jnthn Well, there may be more than one problem ;)
20:21 moritz there's more than one way to break it :-)
20:23 * moritz goes to bed, dreams of malicious arglists :-)
20:24 jnthn 'night, moritz
20:28 birdwindupbird joined #perl6
20:50 geekosaur joined #perl6
20:53 kaare_ joined #perl6
21:03 bruges_ joined #perl6
21:15 geistteufel joined #perl6
21:16 erkan joined #perl6
21:38 sergot 'night! :)
21:59 cbass joined #perl6
22:03 cbass ?
22:04 sftp_ joined #perl6
22:06 cbass quit
22:18 eviltwin_b joined #perl6
22:42 spaceships joined #perl6
22:44 Chillance joined #perl6
22:56 masak 'night, #perl6
22:59 sorear bye
23:10 dorlamm joined #perl6
23:11 lestrrat joined #perl6
23:14 eviltwin_b joined #perl6
23:23 eviltwin_b joined #perl6
23:25 eviltwin_b joined #perl6
23:27 jlaire p6: my %h; say (%h<k>:p).perl
23:28 p6eval niecza v17-2-gb8fcf85: OUTPUT«"k" => Any␤»
23:28 p6eval ..rakudo d9fd17: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 2␤»
23:28 p6eval ..pugs: OUTPUT«*** ␤    Unexpected ":p"␤    expecting term postfix, operator or ")"␤    at /tmp/XeRw9M3rnM line 1, column 18␤»
23:28 lestrrat joined #perl6
23:28 jlaire niecza++
23:32 tokuhirom joined #perl6
23:44 Radvendii joined #perl6
23:45 Radvendii does anyone know how to write a "top"-like command line program? That is, one which displays one updating screen?
23:45 Radvendii or have a good tutorial for it?
23:46 Radvendii printing \b a bunch of times seems not to work...
23:47 [Coke] have we no curses yet?
23:47 [Coke] There's a module for me to work on.
23:48 Radvendii (if this is in response to my question) curses?
23:48 sorear Radvendii: try \x[1B][2J
23:49 Radvendii sorear: works like a charm, thanks
23:50 Radvendii any way to center it though? it's ending up at the bottom of my terminal..
23:51 mmol_saffron joined #perl6
23:53 geekosaur joined #perl6
23:58 idlecuriosity joined #perl6
23:59 jlaire p6: class C { method m() { <a b> } }; my @cs = C.new xx 3; say @cs>>.m.elems; say @cs.map({.m}).elems; say @cs>>.m.perl; say @xs.map({.m}).perl
23:59 p6eval pugs: OUTPUT«*** ␤    Unexpected "."␤    expecting "::"␤    Variable "@xs" requires predeclaration or explicit package name␤    at /tmp/rSPdziky4N line 1, column 125␤»
23:59 p6eval ..niecza v17-2-gb8fcf85: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Variable @xs is not predeclared at /tmp/UI8tC7aUnK line 1:â�¤------> [32m.map({.m}).elems; say @cs>>.m.perl; say [33mâ��[31m@xs.map({.m}).perl[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.sett…
23:59 p6eval ..rakudo d9fd17: OUTPUT«===SORRY!===␤Variable @xs is not declared␤at /tmp/eiI5KNQOMd:1␤»
23:59 jlaire p6: class C { method m() { <a b> } }; my @cs = C.new xx 3; say @cs>>.m.elems; say @cs.map({.m}).elems; say @cs>>.m.perl; say @cs.map({.m}).perl
23:59 p6eval pugs: OUTPUT«*** No such method in class Array: "&>>m"␤    at /tmp/lmrEuggrP3 line 1, column 60-73␤»
23:59 p6eval ..niecza v17-2-gb8fcf85: OUTPUT«3␤3␤[$("a", "b"), $("a", "b"), $("a", "b")].list␤("a", "b", "a", "b", "a", "b").list␤»
23:59 p6eval ..rakudo d9fd17: OUTPUT«3␤3␤(("a", "b"), ("a", "b"), ("a", "b"))␤(("a", "b"), ("a", "b"), ("a", "b")).list␤»

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

Perl 6 | Reference Documentation | Rakudo