Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-04-17

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:03 CokeBot9000 lue: in the states too or just the UK?
00:05 lue well, it's the season premeire in the US. It happened in the UK April 4th.
00:05 lue ( makes me wish I were in Britain :) )
00:08 CokeBot9000 lue++
00:09 lue I believe the UK always makes better quality versions of our US shows. The entire Syfy channel looks completely uninteresting most of the time
00:10 lue ( except for Ghost Hunters, Destination Truth, and anytime they show a british sci-fi :) )
00:10 m6locks lol
00:11 m6locks syfy channel was epic, saw it a couple of days
00:11 m6locks taped the first three star trek movies, they showed it
00:11 lue :O
00:12 m6locks it was some ten years ago...
00:12 m6locks maybe 15
00:12 lue They are good sci-fi shows, they just come off as being a bit... american (and look at me, an american! That's bad :P)
00:13 CokeBot9000 lue: just wait for TorchWood:NY. =-)
00:14 lue :*( I miss ye, torchwood ( I'd rather now see a show on UNIT :) )
00:14 m6locks http://www.youtube.com/watch?v=9ezZgAl6aN8
00:16 diakopter sorear: that's AWESOME
00:16 diakopter circular stack frames
00:21 tewk joined #perl6
00:33 pausenclown joined #perl6
00:39 pausenclown rakudo: grammar G { token TOP { <nums> }; token { \d <nums>? }; }; say G.parse('123abc');
00:39 p6eval rakudo 78faa0: OUTPUT«Method 'nums' not found for invocant of class 'G'␤current instr.: 'perl6;G;TOP' pc 431 (EVAL_1:183)␤»
00:39 pausenclown rakudo: grammar G { token TOP { <nums> }; token nums { \d <nums>? }; }; say G.parse('123abc');
00:39 p6eval rakudo 78faa0: OUTPUT«123␤»
00:40 pausenclown rakudo: grammar G { token TOP { <nums>; say $/<nums> }; token nums { \d <nums>? }; }; G.parse('123abc');
00:40 p6eval rakudo 78faa0: OUTPUT«Malformed regex at line 11, near "TOP { <num"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
00:40 pausenclown rakudo: grammar G { token TOP { <nums>; { say $/<nums> } }; token nums { \d <nums>? }; }; G.parse('123abc');
00:40 p6eval rakudo 78faa0: OUTPUT«Malformed regex at line 11, near "TOP { <num"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
00:40 pausenclown rakudo: grammar G { token TOP { <nums> { say $/<nums> } }; token nums { \d <nums>? }; }; G.parse('123abc');
00:41 p6eval rakudo 78faa0: OUTPUT«123␤»
00:41 pausenclown rakudo: grammar G { token TOP { <nums> { say $/<nums><nums> } }; token nums { \d <nums>? }; }; G.parse('123abc');
00:41 p6eval rakudo 78faa0: OUTPUT«23␤»
00:41 pausenclown rakudo: grammar G { token TOP { <nums> { say $/<nums><nums><nums> } }; token nums { \d <nums>? }; }; G.parse('123abc');
00:41 p6eval rakudo 78faa0: OUTPUT«23␤»
00:41 plobsing joined #perl6
00:42 pausenclown rakudo: grammar G { token TOP { <nums> { say $/<nums><nums><nums><nums> } }; token nums { \d <nums>? }; }; G.parse('123abc');
00:42 p6eval rakudo 78faa0: OUTPUT«3␤»
00:43 pausenclown oh. sorry for the noise. i thought i'm in query with p6eval
00:44 pausenclown rakudo: grammar G { token TOP { <nums> { say $/<nums>[1] } }; token nums { \d <nums>? }; }; G.parse('123abc');
00:44 p6eval rakudo 78faa0: OUTPUT«Any()␤»
00:45 sorear pausenclown: there is a "CPAN6" project, but the level of secrecy together with the level of ambition gives me very little confidence in the project
00:45 lue that's fine with me at least, it's pretty quiet right now :)
00:45 sorear pausenclown: in the meantime, we have the very well designed 'proto'
00:45 ruoso joined #perl6
00:46 pausenclown why do i need for <nums> above to get the "3"?
00:46 pausenclown sorear: i failed to install that. maybe i should give it a shot again.
00:47 * lue is writing an emacs highlighting file for P6, and striving to learn as little elisp as possible :)
00:49 pausenclown .oO( if emacs wouldn't be so ugly )
00:50 pausenclown i mean, UI wise.
00:50 lue well, I'd write one for Kate, but emacs highlighting is written in an actual *programming* language, which makes it much easier for dynamic highlighting (new keywords, etc.)
00:50 lue it's not that ugly IMO :)
00:51 pausenclown i never got warm with it.
00:52 Trashlord joined #perl6
00:52 pausenclown i like Kate but i miss search&replace over files
00:53 pausenclown rakudo: grammar G { my $i = 1; token TOP { <nums> { say '#' ~ $/<nums> } }; token nums { { say $i++ } \d <nums>? }; }; G.parse('123abc');
00:54 p6eval rakudo 78faa0: OUTPUT«1␤2␤3␤4␤#123␤»
00:54 lue (just don't ask me to use vim. I developed a distaste with it early on, where I had to shut the the terminal because I couldn't exit vim (last I recall, ^C didn't work))
00:54 lue s/shut the/shut down/
00:55 pausenclown rakudo: grammar G { my $i = 1; token TOP { <nums> { say '#' ~ $/<nums> } }; token nums { { say $i++, '>', $/ } \d <nums>? }; }; G.parse('123abc');
00:55 p6eval rakudo 78faa0: OUTPUT«1>␤2>␤3>␤4>␤#123␤»
00:55 pausenclown rakudo: grammar G { my $i = 1; token TOP { <nums> { say '#' ~ $/<nums> } }; token nums { \d { say $i++, '>', $/ } <nums>? }; }; G.parse('123abc');
00:55 p6eval rakudo 78faa0: OUTPUT«1>1␤2>2␤3>3␤#123␤»
00:56 pausenclown mmh.
00:56 sorear lue: How did you discover ^X^C?
00:57 sorear emacs is, if anything, harder to exit than vim
00:57 sorear vim at least responds to ^C with Type  :quit<Enter>  to exit Vim
00:57 sorear emacs responds with C-c
00:58 pausenclown .oO( u have just pressed the doorbell button. to call the inhabitants you need to use the gong in the backyard. thanks for your cooperation )
01:01 lue exiting is easy! ( esp. when using graphical emacs :) )
01:01 lue But I developed an early hate towards vi and vim when I was installing gentoo(?) or something and had no GUI. I had to restart to exit, because I couldn't figure it out :/
01:02 lue (mind you, my first days at linux! but still...)
01:02 lue afk (sorry!)
01:04 pausenclown i use joe for command line editing. supports the old WordStar™ shortcuts =)
01:07 holli joined #perl6
01:07 CokeBot9000 lue: they're filming Series 4 now.
01:10 chromatic Any objections to pushing a Rakudo branch to work with Parrot immutable strings?
01:11 pausenclown damn router
01:11 jnthn chromatic: None from me.
01:13 chromatic git push origin immutable_strings ?
01:15 jnthn I *think* so.
01:16 * jnthn mostly does local branches...
01:17 chromatic Fingers crossed.
01:21 chromatic Shows up on GH anyway.  That has to be something.
01:24 colomon \o/
01:26 colomon jnthn: I'm still looking at the mandelbrot failure (slowly) in the background.
01:27 colomon It's dying after outputting the first few lines of the results when I ask it to do a 501 x 501 image.
01:27 colomon but no errors show up in valgrind or gdb.  It's just "program exited normally".
01:28 jnthn Oddness.
01:28 jnthn colomon: You got the program somewhere I can try it here?
01:29 alester joined #perl6
01:29 jnthn colomon: I'm going to sleep Real Soon Now, but I can try it under my debugger tomorrow.
01:31 colomon http://github.com/colomon/mandelbrot/blob/master/mandelbrot-color.pl
01:31 colomon just pushed it so the latest version is up there.
01:31 colomon Huh.  It's like it's exiting normally.  maybe just a bug?
01:34 jnthn But does it say "Done!"; ?
01:34 colomon it does.
01:34 colomon I just added that to see if it did.
01:34 jnthn Ah.
01:35 jnthn Maybe some more sutble bug then, rather than a crash.
01:35 colomon which is utterly bizarre, because I'm pretty sure subdivide cannot return fewer than 501 elements.
01:35 colomon anyway, I'm testing further here at the moment.  :)
01:38 colomon wow, subdivide is not working at all.
01:47 nihiliad joined #perl6
01:47 colomon rakudo: sub subdivide($low, $high, $count) { (^$count).map({ $low + ($_ / ($count - 1)) * ($high - $low) }); }; say subdivide(0, 1, 501).elems
01:47 p6eval rakudo 78faa0:  ( no output )
01:48 colomon :\
01:50 jnthn Locally, gives 501.
01:50 colomon in the script, gives 6.
01:51 colomon ah, 501 in the REPL here, too.  maybe just a timeout?
01:53 alester joined #perl6
01:54 * jnthn -> sleep
01:54 TimToady o/
01:56 colomon \o
01:57 Psyche^ joined #perl6
02:00 * TimToady wonders if it's a return or some other control exception gone awry
02:01 colomon (^$count).map({ $low + ($_ / ($count - 1)) * ($high - $low) }); is the construct
02:01 TimToady what if $count-1 is 0?
02:02 TimToady then div by 0
02:02 TimToady well, but you're passing 501
02:02 TimToady hmm
02:03 colomon right
02:05 colomon and the code works beautifully for smaller numbers.
02:05 TimToady yeah, gives 501 here too
02:05 TimToady but takes a while
02:05 TimToady so I'm guessing timeout
02:06 colomon thing is, in my script it's giving just the first 6 elements.  :\
02:06 TimToady pugs: sub subdivide($low, $high, $count) { (^$count).map({ $low + ($_ / ($count - 1)) * ($high - $low) }); }; say subdivide(0, 1, 501).elems
02:06 p6eval pugs: OUTPUT«501␤»
02:07 TimToady 6, maybe it's summing the digits :)
02:08 colomon I wish it were so simple.  :)
02:08 TimToady it's in an eager context in the script?
02:08 colomon yes
02:09 colomon say subdivide($upper-right.re, $lower-left.re, $height).elems;
02:09 colomon say subdivide($upper-right.re, $lower-left.re, $height).perl;
02:09 TimToady gather/take bug?
02:09 colomon 6
02:09 colomon (-2, -1.995, -1.99, -1.985, -1.98, -1.975)
02:09 colomon nope, it's map, so it's a MapIterator.
02:09 colomon could be a map bug.
02:10 TimToady I don't suppose map is implemented with gather/take inside?
02:10 colomon Nope, there definitely is a MapIterator.
02:11 * colomon doesn't trust gather / take either...
02:11 TimToady well, but that doesn't seem to say anything about the innards of MapIterator
02:11 lue oh hello again!
02:13 colomon MapIterator is all in PIR with no trace of gather that I can see.
02:13 TimToady does it use any global variables? :)
02:16 TimToady still think maybe it's getting some weird exception propagating out of the map
02:16 colomon umm... no?  (my PIR is not that great.)
02:17 colomon let me see if I can simplify the trouble script.
02:21 colomon wow, this is a new piece of ugly.
02:22 colomon wow, maybe it really is 5+1 = 6 ...
02:23 colomon sort of.
02:24 colomon rakudo: sub subdivide($low, $high, $count) { (^$count).map({ $low + ($_ / ($count - 1)) * ($high - $low) }); }; say subdivide(-2, 1/2, "501").elems;
02:24 p6eval rakudo 78faa0: OUTPUT«6␤»
02:24 colomon rakudo: say (^"501").perl
02:24 p6eval rakudo 78faa0: OUTPUT«0..^"501"␤»
02:25 colomon rakudo: say (^"501").eager.perl
02:25 p6eval rakudo 78faa0: OUTPUT«(0, 1, 2, 3, 4, 5)␤»
02:25 colomon Is that correct behavior (ie bug is in my code) or wrong (ie bug is in Range, which, okay, is also my code)
02:27 drbean_ joined #perl6
02:27 TimToady rakudo: say '0'..'501'
02:27 p6eval rakudo 78faa0:
02:27 p6eval ..OUTPUT«012345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913…
02:28 TimToady rakudo: say '0'..^'501'
02:28 p6eval rakudo 78faa0:
02:28 p6eval ..OUTPUT«012345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913…
02:28 TimToady rakudo: say 0..501
02:28 p6eval rakudo 78faa0:
02:28 p6eval ..OUTPUT«012345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913…
02:28 colomon rakudo: say 0..^'501'
02:28 p6eval rakudo 78faa0: OUTPUT«012345␤»
02:29 TimToady it should decide before it starts which type it's doing and just do it
02:29 TimToady hmm
02:29 TimToady rakudo: say ^'zz'
02:29 p6eval rakudo 78faa0:  ( no output )
02:30 TimToady rakudo: say 0..^'5'
02:30 p6eval rakudo 78faa0: OUTPUT«01234␤»
02:30 TimToady rakudo: say 0..^'50'
02:30 p6eval rakudo 78faa0: OUTPUT«012345␤»
02:31 TimToady rakudo: say 0..^'5000000000'
02:31 p6eval rakudo 78faa0: OUTPUT«012345␤»
02:31 colomon rakudo: say 5 cmp '501'
02:31 p6eval rakudo 78faa0: OUTPUT«-1␤»
02:32 colomon oh, that's it.
02:32 TimToady rakudo: say 0...^'501'
02:32 p6eval rakudo 78faa0: OUTPUT«0␤»
02:32 TimToady rakudo: say 0...'501'
02:32 p6eval rakudo 78faa0: OUTPUT«012345␤»
02:32 rgrau joined #perl6
02:32 colomon it's counting up an Int, but the comparison function is comparing strings.
02:32 TimToady yeah, just defaulting to leg
02:33 TimToady gee, why hasn't someone specced that yet...<looks around>
02:33 TimToady certainly would have been friendlier to blow up in this case
02:33 colomon yup.
02:34 TimToady yet another thing in my list of things to do first....
02:34 colomon Range iteration is still a bit messed up anyway.
02:34 colomon and that's mostly my fault.  :)
02:36 TimToady well, I need to afk for a while.
02:36 colomon check ques
02:36 colomon can we assume that 0..'50' should be the same as 0..50, somehow?
02:36 TimToady certainly if one arg is numeric and the other looks-like-num, I think so
02:37 colomon okay, I'm writing a spectest for that.  :)
02:37 TimToady colomon++
02:37 TimToady laters &
02:37 colomon o/
02:41 lue bye o/
02:41 pugssvn r30399 | colomon++ | [t/spec] Test for the 0..'50' case, properly fudged to work around Rakudo's current issues with it.
02:45 colomon Mandelbrot script (patched) is still running, off to bed for me.  o/
03:00 envi^home joined #perl6
03:00 hercynium joined #perl6
03:03 meppl joined #perl6
03:08 diakopter hi
03:08 diakopter wazzup #perl6
03:09 lue 'ello o/
03:09 dalek joined #perl6
03:10 diakopter perlesque: my int $a = 2; sub int foo (int $b, int $c) { System::Console.WriteLine($b); return $c; }; System::Console.WriteLine(5 + foo(55, 3));
03:10 p6eval perlesque: OUTPUT«55␤8␤»
03:10 diakopter there, now return values of named sub calls actually work in expressions.  strongly typed.
03:11 lue \o/
03:12 lue does anyone know what language (other than P6) has comments like #`(), where three characters open and 1 closes ?
03:13 diakopter I don't know, but I'm glad I don't have to implement the parsing of that.
03:19 lue then I guess it's custom implementation time :)
03:20 _jaldhar joined #perl6
03:23 alester joined #perl6
03:25 diakopter I mean, I'm glad it's already implemented in STD.pm6
03:31 lue gah! elisp regex is so annoying. :*(
03:35 lue is there a command in perl regex where you can match to anything (ascii, non-ascii, etc.), for example to match the comment in # and #`()
03:36 diakopter do you mean .
03:37 diakopter or do you mean "anything but a right parens"
03:38 lue for example. If i had #`([text here]), how would I match [text here] so that anything allowed as a comment is matched?
03:38 lue same with #[text here], where the end of the comment is a \n
03:39 diakopter /#\([^)]*\)/
03:39 diakopter and
03:39 lue basically I just want to see how much better perl is than elisp :)
03:39 diakopter /#[^\n].*(?:\n|$)/
03:40 diakopter er
03:40 diakopter /#[^\n]*(?:\n|$)/
03:40 lue figures. while asking, I'm perusing through the elisp reference, and for THE FIRST TIME, I see . , which matches everything except newline :)
03:40 diakopter yes. same with perl.
03:40 lue *duh*
03:41 lue I just have to remember the \\ for everything, because ( and [ are not special, by default. In elisp regex, you must use \( and \[ to make them do what you want them to do in a regex.
03:41 diakopter but repetitions are greedy (consume as much as they can) by default, so you have to exclude whatever comes next to match the shortest
03:42 lue so something involving [^...] then?
03:42 diakopter yes, as above
03:43 lue (In addition, regexes are stored as a string, so the backslash in \( must be escaped, resulting in \\( , \\[ , \\] , \\), and so on. :/)
03:44 lue "#\\[^\n\\]*\n" might work in elisp, for example.
03:44 meppel joined #perl6
03:49 dalek joined #perl6
03:49 lue out of curiosity, what can be in a variable name (bar the sigil/twigil)? [looking]
03:59 _jaldhar joined #perl6
04:15 mikehh joined #perl6
04:22 lue I wonder, if I told elisp to match any opening delimiter, when I tell it to match any closing delimeter, would it make sure they matched?
04:49 am0c joined #perl6
04:59 ReiniUrban joined #perl6
05:21 lue afk
05:21 and joined #perl6
05:25 and Hi all!
05:25 and There are those who have used the socket in rakudo?
05:28 test joined #perl6
05:28 iblechbot joined #perl6
05:31 molaf joined #perl6
05:35 diakopter got bottom-up type inference working for initializers
05:35 diakopter that's a departure from Perl 6, but that's ok.
05:49 snarkyboojum joined #perl6
06:03 meppl joined #perl6
06:10 slavik1 joined #perl6
06:10 slavik1 grammars can have methods?
06:31 diakopter perlesque: my $a = 1; sub int foo (int $b, int $c) { say($b); return $c; }; loop (my $x=0;$x<100;$x+=1) {say($a + (foo($x, 2) + $x)); 1;};
06:31 p6eval perlesque:
06:31 p6eval ..OUTPUT«0␤3␤1␤4␤2␤5␤3␤6␤4␤7␤5␤8␤6␤9␤7␤10␤8␤11␤9␤12␤10␤13␤11␤14␤12␤15␤13␤16␤14␤17␤15␤18␤16␤19␤17␤20␤18␤21␤19␤22␤20␤23␤21␤24␤22␤25␤23␤26␤24␤27␤25␤28␤26␤29␤27␤30␤28␤31␤29␤32␤30␤33␤31␤34␤32␤35␤33␤36␤34␤37␤35␤38␤36␤39␤37␤40␤38␤41␤39␤42␤40␤43␤41␤44␤42␤45␤43␤
06:31 gfx joined #perl6
06:36 slavik1 diakopter: ?
06:36 diakopter perlesque: say(my $a = 332)
06:36 p6eval perlesque: OUTPUT«332␤»
06:36 diakopter slavik1: it's a thing I'm working on.
06:36 slavik1 do tell :)
06:37 diakopter well
06:37 diakopter where do I begin.
06:37 slavik1 an elevator sales pitch?
06:37 diakopter it's a compiler compiler for the CLR (.NET and/or Mono)
06:37 slavik1 in p6?
06:38 diakopter using it, I'm making this language called "perlesque" which is made up of a tiny subset of perl5 and a tiny subset of perl6
06:38 diakopter no it's written in C#
06:38 slavik1 ok
06:38 diakopter it compiles to CIL
06:38 slavik1 right
06:38 diakopter I mean, my compiler compiler compiles to CIL
06:39 slavik1 through another version of compile and you lost me
06:39 slavik1 what the compiler you are compiling?
06:39 diakopter I was just clarifying, in case by "right" you meant "I know that C# compiles to CIL".  I was clarifying that my compiler-compiler generates compilers that emit CIL.
06:40 slavik1 I see
06:40 slavik1 yes
06:40 slavik1 I understand that
06:40 diakopter ok :)
06:40 slavik1 are you using grammars/regexes?
06:41 diakopter yes, and they're p6-ish, but not as expressive.
06:41 diakopter but expressive enough to quickly add syntax & actions
06:41 slavik1 I think I get it
06:41 diakopter all in 1 source file
06:41 slavik1 you have your own yacc which produces a compiler not in binary (like gcc) but a compiler in CIL which is then run on whatever CIL runs on.
06:41 slavik1 did I get it right?
06:41 diakopter yes.
06:41 diakopter :D
06:42 slavik1 mentioning yacc would've made it easier :)
06:42 slavik1 hmm
06:42 diakopter (Mono 2.6 on Mac, *n*x, or Windows, or msft CLR on windows)
06:43 slavik1 technically, if the grammar/etc was standard or something, you could have compiler compilers that targeted different things
06:43 diakopter yes.
06:43 slavik1 so then we can have a perl6 compiler in binary, jvm, cil, etc.
06:43 diakopter yeah
06:44 slavik1 but why would write it in C# and not Perl? :P
06:44 diakopter I didn't mention yacc b/c I've never used yacc
06:44 slavik1 oh
06:44 slavik1 neither have I :)
06:44 slavik1 I just know what it does
06:44 diakopter nor any other compiler-compiler
06:44 justatheory joined #perl6
06:44 diakopter ... in theory.
06:44 diakopter but anyways,
06:45 diakopter I want to use perlesque as an assembly language
06:45 slavik1 definately sounds cool
06:45 diakopter to which to target an emitter from STD/viv
06:45 slavik1 viv?
06:45 diakopter so that TimToady's standard parser/front-end can compile itself to perlesque
06:45 diakopter viv is short for V->IV
06:46 diakopter or five->six
06:46 slavik1 ahh
06:46 diakopter er
06:46 diakopter hahahaha
06:46 slavik1 wait, are you using just enough of grammars/regexes to get perl6 compiler to compile?
06:46 diakopter VI->V
06:46 diakopter SIX->FIVE
06:46 diakopter HA
06:46 slavik1 heh
06:46 slavik1 must be too late
06:46 diakopter slavik1: yea, just enough
06:46 slavik1 I mised the 5->4 :P
06:46 slavik1 sounds neat
06:47 diakopter to answer your other question
06:47 diakopter why not perl
06:47 diakopter b/c I wanted a strongly-typed language
06:47 slavik1 does mono/.net have java like management extensions?
06:47 slavik1 I see
06:47 diakopter I don't know. what are java's management extensions
06:47 slavik1 then why not java? (had to be asked)
06:47 slavik1 imagine you have a jvm running
06:48 diakopter jconsole?
06:48 slavik1 yes
06:48 slavik1 somewhat
06:48 slavik1 if you go to browsing mbeans you'll see what I mean
06:48 slavik1 imagine you have a web server written in java
06:48 diakopter ok..
06:48 * diakopter thinks of tomcat.
06:49 slavik1 you can have management beans that would store number of requests served, longest time, shortest, average
06:49 slavik1 diakopter: exactly
06:49 slavik1 diakopter: although tomcat is a 'container'
06:49 slavik1 for example, in Jboss, you can create a JDBC connection pool
06:50 * diakopter isn't a Java programmer, but I've used/debugged it here and there
06:50 slavik1 and JMX allows you to see how many connections are already used and how many are available
06:50 diakopter ok
06:50 slavik1 not only that, but you can stop/start sub systems this way
06:50 diakopter broadly, the answer to your question would be "yes"
06:50 slavik1 k
06:50 slavik1 will have to look it up
06:51 diakopter I doubt they're called "management extensions" though
06:51 slavik1 it will be nice when parrot has this.
06:51 diakopter sounds like lingo
06:51 diakopter well
06:51 slavik1 and, via JMX, you can get a dump of all thread stacks :)
06:51 * diakopter barely able to bite his tongue
06:52 diakopter I chose clr over jvm b/c I've had good experiences with Mono, and I hate Eclipse so much, and there was a great compiler library that was MIT-licensed that I started with,
06:53 slavik1 lol
06:53 slavik1 fair enough
06:53 slavik1 in my view eclipse is nice, when you through lots of memory at it
06:53 slavik1 I am also finding that java as a language is beginning to slowly die ... in favor of groovy.
06:53 diakopter and b/c I'd already flipped around from JavaScript to C# to Perl and back >10 times over the past 3 years...
06:54 diakopter meh; it's all the same if they can be decompiled to each other reasonably readably.
06:54 diakopter like all the 100+ clr languages
06:54 diakopter disassembled, I mean.
06:55 chromatic I would like to see such management extensions for Parrot as well.
06:55 diakopter yeah, every VM's gotta have its "hot stuff" it feels it needs to hype so that the VM still sounds hip.
06:55 slavik1 groovy is dynamic though
06:55 diakopter (I meant "hot stuff" to refer to Groovy)
06:56 slavik1 and it doesn't look like Java ... looking at java code makes me want to go to another profession
06:57 slavik1 diakopter: what do you use for Perl code?
06:57 diakopter perl.exe?
06:57 slavik1 editor/ide
06:57 diakopter heh
06:57 diakopter Notepad++
06:57 slavik1 on unix?
06:57 diakopter no
06:58 diakopter wynders
06:58 slavik1 you don't code Perl on unix?
06:58 diakopter no.
06:58 slavik1 :(
06:58 slavik1 poor soul
06:58 slavik1 either way, try geany :)
06:58 diakopter geany
06:59 slavik1 yes
06:59 slavik1 it's an awesome editor
06:59 diakopter Notepad++ has a very very responsive UI
06:59 slavik1 it doesn't run on Linux
06:59 diakopter very pretty text rendering
06:59 diakopter I don't need it to run on Linux.
06:59 * slavik1 doesn't have a windows system
06:59 diakopter I don't need you to have a windows system
06:59 slavik1 lol
07:00 diakopter :P
07:00 diakopter I wasn't trying to convert you
07:00 diakopter I was stating the reason I like Notepad++
07:00 slavik1 I was ...
07:00 slavik1 I failed :(
07:00 diakopter I doubt something built on GTK+ can be as responsive as Notepad++
07:00 diakopter but I'll try it.
07:01 diakopter and...... sourceforge is down.
07:01 slavik1 FLTK is the way to go?
07:01 slavik1 yea
07:01 slavik1 some upgrade
07:01 slavik1 badmonkey on thinkgeek gets a discount :)
07:02 diakopter I don't see a button to add the thinkgeek models to my cart.
07:02 diakopter especially since thinkgeek is down as well.
07:02 slavik1 the site is coded in php, hence functionality is not possible
07:08 dalek joined #perl6
07:09 diakopter hmm
07:10 diakopter time for another perlesquesketch; thanks for attending!
07:10 diakopter this week: JFDI times 7
07:12 diakopter next week: JFDI again, pounding out class/field/method declarations, implicit return expressions,
07:12 slavik1 ...
07:12 slavik1 I need a second brain
07:13 slavik1 left #perl6
07:17 Levex joined #perl6
07:20 diakopter hm
07:20 diakopter actually
07:20 diakopter at some point implementing syntax/semantics in perlesque becomes more difficult than writing emitters in viv for the same functionality
07:25 kaare joined #perl6
07:26 snarkyboojum joined #perl6
07:28 devsundar1 joined #perl6
07:30 Levex_ joined #perl6
07:39 Levex joined #perl6
07:52 moritz_ good morning lambdamoose
07:54 pmurias joined #perl6
07:55 pmurias diakopter: if perlesque is meant to be used as an intermidiate form and propably for writing parts of the runtime why do you intend to add syntax sugar such as implicit return expressions?
07:57 agentzh joined #perl6
08:33 JimmyZ joined #perl6
08:33 devsundar1 left #perl6
08:33 meppl joined #perl6
08:54 cls_bsd joined #perl6
09:34 sorear joined #perl6
09:37 pausenclown joined #perl6
09:38 stepnem joined #perl6
09:39 pausenclown rakudo: Grammar G  { token TOP { <nums> { say $/<nums> } }; token nums {  \d <nums> }; }; G.parse('123');
09:39 p6eval rakudo 78faa0: OUTPUT«Confused at line 11, near "Grammar G "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
09:40 pausenclown rakudo: grammar G  { token TOP { <nums> { say $/<nums> } }; token nums {  \d <nums> }; }; G.parse('123');
09:40 p6eval rakudo 78faa0:  ( no output )
09:40 pausenclown rakudo: grammar G  { token TOP { <nums> { say $/<nums> } }; token nums {  \d <nums>? }; }; G.parse('123');
09:40 p6eval rakudo 78faa0: OUTPUT«123␤»
09:41 pausenclown rakudo: grammar G  { token TOP { <nums> { say $/<nums><nums> } }; token nums {  \d <nums>? }; }; G.parse('123');
09:41 p6eval rakudo 78faa0: OUTPUT«23␤»
09:41 pausenclown rakudo: grammar G  { token TOP { <nums> { say $/<nums><nums><nums> } }; token nums {  \d <nums>? }; }; G.parse('123');
09:41 masak joined #perl6
09:41 p6eval rakudo 78faa0: OUTPUT«23␤»
09:41 masak oh hai, #perl6!
09:41 pausenclown why isnt that 3?
09:41 pausenclown hi masak
09:43 pausenclown rakudo: grammar G  { token TOP { <nums> { say $/.perl } }; token nums {  \d <nums>? }; }; G.parse('123');
09:43 p6eval rakudo 78faa0: OUTPUT«Method 'perl' not found for invocant of class 'Regex;Match'␤current instr.: 'perl6;G;_block70' pc 733 (EVAL_1:281)␤»
09:43 pausenclown i wish that would work. =(
09:44 moritz_ pausenclown: there was a Match.perl implementation in alpha
09:44 moritz_ but it currently blocks on Match objects being too parroty
09:44 moritz_ and not Perl6y enough
09:44 moritz_ for which in turn I have a partial fix that waits for review from pmichaud
09:45 pausenclown moritz++
09:47 pausenclown rakudo: grammar G  { token TOP { <nums> { say $/<nums><nums>[0] } }; token nums {  \d <nums>? }; }; G.parse('123');
09:47 p6eval rakudo 78faa0: OUTPUT«23␤»
09:47 pausenclown rakudo: grammar G  { token TOP { <nums> { say $/<nums><nums>[1] } }; token nums {  \d <nums>? }; }; G.parse('123');
09:47 p6eval rakudo 78faa0: OUTPUT«Any()␤»
09:48 dalek book: b083ea1 | moritz++ |  (3 files):
09:48 dalek book: Enable UTF-8 rendering of LaTeX
09:48 dalek book: In turn I need to remove some non-ASCII characters with which LaTeX has some
09:48 dalek book: problems.
09:48 dalek book: Also contains small markup fixes
09:48 dalek book: review: http://github.com/perl6/book/commit/b083ea15390f9d43339408a2737dd4ca8f57abf6
09:49 pausenclown moritz: i am about to add support for ELEMENT declarations, but the recursive way they are declared in the XML grammar leads me to parsing problems.
09:50 masak rakudo: grammar G  { token TOP { <nums> { say $/<nums><nums>[0]<nums> } }; token nums {  \d <nums>? }; }; G.parse("123")
09:50 p6eval rakudo 78faa0: OUTPUT«3␤»
09:50 masak pausenclown: there you go.
09:50 masak there are some treacherous bugs in there, though.
09:50 moritz_ oh
09:50 masak pausenclown: the ? is a quantifier, and all quantifiers create an array in the match object.
09:51 pausenclown i know.
09:57 pausenclown rakudo: grammar G  { token TOP { <seq> }; token seq { <num>  ( , <num> ) ? }; token num { \d } }; G.parse('1,2,3');
09:57 p6eval rakudo 78faa0: OUTPUT«Malformed regex at line 11, near "seq { <num"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
09:59 pmurias diakopter: ping
10:01 pmurias perlesque: 1+1
10:01 p6eval perlesque:  ( no output )
10:02 ejs joined #perl6
10:02 pmurias moritz_: perlesque appears to be in p6eval how did you build it on mono?
10:05 pausenclown rakudo: grammar G  { token TOP { <seq> }; token seq { <num>  ( \, <num> ) ? }; }; say '#' ~ G.parse('1,2,3');
10:05 p6eval rakudo 78faa0: OUTPUT«Method 'num' not found for invocant of class 'G'␤current instr.: 'perl6;G;seq' pc 721 (EVAL_1:276)␤»
10:05 pausenclown rakudo: grammar G  { token TOP { <seq> }; token seq { <num>  ( \, <num> ) ? }; token num { \d }; }; say '#' ~ G.parse('1,2,3');
10:05 p6eval rakudo 78faa0: OUTPUT«#1,2␤»
10:05 moritz_ pmurias: diakopter did, not me
10:05 pmurias ah
10:07 pausenclown so why doesnt the line above parse 1,2,3 but 1,2?
10:08 pausenclown ah.
10:08 moritz_ because it can only match one ,
10:08 pausenclown rakudo: grammar G  { token TOP { <seq> }; token seq { <num>  ( \, <seq> ) ? }; token num { \d }; }; say '#' ~ G.parse('1,2,3');
10:08 p6eval rakudo 78faa0: OUTPUT«#1,2,3␤»
10:08 pausenclown silly me
10:14 pausenclown rakudo: grammar G  { token TOP { <seq> { say $/<seq><num><seq> } }; token seq { <num>  ( \, <seq> ) ? }; token num { \d }; }; G.parse('1,2,3');
10:14 p6eval rakudo 78faa0: OUTPUT«Any()␤»
10:15 pausenclown grrrmpf. why isn't that 2,3?
10:15 moritz_ because the ( ) introduce a positional capture
10:16 pausenclown so?
10:16 moritz_ rakudo: grammar G  { token TOP { <seq> { say $<seq>[0]<num>[0]<seq> } }; token seq { <num>  ( \, <seq> ) ? }; token num { \d }; }; G.parse('1,2,3');
10:16 p6eval rakudo 78faa0: OUTPUT«Method 'postcircumfix:<{ }>' not found for invocant of class ''␤current instr.: '!postcircumfix:<{ }>' pc 13944 (src/builtins/Code.pir:120)␤»
10:16 moritz_ hrmpf
10:17 moritz_ pausenclown: the <seq> capture is inside the positional capture
10:17 moritz_ rakudo: grammar G  { token TOP { <seq> { say $<seq><num><seq> } }; token seq { <num> [ \, <seq> ]? }; token num { \d }; }; G.parse('1,2,3');
10:17 p6eval rakudo 78faa0: OUTPUT«Any()␤»
10:18 moritz_ oh wait
10:18 moritz_ $<seq><num> doesn't have any more captures
10:18 pausenclown facepalm
10:18 pausenclown of course!
10:18 moritz_ rakudo: grammar G  { token TOP { <seq> { say $<seq><seq><num> } }; token seq { <num> [ \, <seq> ]? }; token num { \d }; }; G.parse('1,2,3');
10:19 p6eval rakudo 78faa0: OUTPUT«2,3␤»
10:19 moritz_ rakudo: grammar G  { token TOP { <seq> { say $<seq><seq><seq><num> } }; token seq { <num> [ \, <seq> ]? }; token num { \d }; }; G.parse('1,2,3');
10:19 p6eval rakudo 78faa0: OUTPUT«2␤»
10:19 moritz_ rakudo: grammar G  { token TOP { <seq> { say $<seq><seq><seq><seq><num> } }; token seq { <num> [ \, <seq> ]? }; token num { \d }; }; G.parse('1,2,3');
10:19 p6eval rakudo 78faa0: OUTPUT«3␤»
10:20 pausenclown funny. you do i right and suddenly it works :-D
10:20 moritz_ :-)
10:38 IllvilJa joined #perl6
10:50 molaf joined #perl6
10:56 colomon so, I set mandelbrot-color.pl to work on a 501x501 before I went to bed last night. 8 hours later, it's still working.  Using up 2.12 GB of RAM and 3.25 GB virtual memory.  So pathetically slow and wasteful, but still miles beyond rakudo alpha....
10:56 masak aye.
10:58 wknight8111 joined #perl6
10:58 rurban joined #perl6
11:05 masak rakudo: say eval ""
11:05 p6eval rakudo 78faa0: OUTPUT«1␤»
11:06 masak may I ask... why 1?
11:06 moritz_ rakudo: say (eval "").WHAT
11:06 p6eval rakudo 78faa0: OUTPUT«Int()␤»
11:06 moritz_ it should return Nil, really
11:08 * masak submits rakudobug
11:15 M_o_C joined #perl6
11:27 rurban joined #perl6
11:45 Maddingue joined #perl6
12:06 jnthn o/
12:20 M_o_C joined #perl6
12:20 JimmyZ joined #perl6
12:27 rv2733 joined #perl6
12:32 colomon \o
12:37 M_o_C joined #perl6
12:42 colomon jnthn: don't know if you've backlogged or not, TimToady++ and I solved the mandelbrot bug last night.
12:46 M_o_C joined #perl6
12:47 rurban With Installed parrot 2.2: perl Configure.pl --parrot-config=/usr/bin/parrot_config Parrot revision r45386 required (currently r0) Thats lame
12:53 M_o_C joined #perl6
12:59 jnthn colomon: Not yet. Was it Rakudobug or mandelbug?
12:59 ReiniUrban joined #perl6
13:00 colomon kind of both and specbug too.  ;)
13:00 colomon The question boiled down to: what should ^"501" do?
13:00 jnthn Ah!
13:01 jnthn Yeah, I can see where this is going... :-)
13:10 colomon rakudo: say ^"501"
13:10 p6eval rakudo 78faa0: OUTPUT«012345␤»
13:11 colomon of course, once you know that's the problem, the workaround for the script is trivial.
13:11 colomon thus http://www.harmonyware.com/pictures/foo.png
13:12 colomon I killed that one when it was about 88% complete because it was slogging my MBP.
13:12 colomon From now on I'm running them on my Linux workhorse.  :)
13:14 jnthn Wow, pretty!
13:14 jnthn But yeah, slooow. :-(
13:14 colomon it took about 9 hours to generate that much, and it seemed like at that point it was generating another row every half hour or so.  :(
13:15 jnthn It got slower over time?
13:15 colomon I don't know.
13:15 colomon It's hard to say, because the math gets harder as well.
13:15 jnthn Ah, OK.
13:16 colomon those outer layers go pretty quickly.
13:16 colomon the inner stuff is the slowest.
13:16 colomon however, it did consume an enormous amount of memory, so that may be slowing it down as well.
13:17 jnthn Yeah, I fear a leak.
13:17 colomon I'm going to run a series of timings on the Linux box to see what the time characteristics are.
13:17 colomon but let's not obscure the big news here!
13:18 colomon back in Dec, this script crashed most of the time on Rakudo (now alpha).
13:18 colomon I'm not sure it ever went more than ten minutes and ended successfully.
13:18 colomon today it went 9 hours, was still producing results, and only ended because I killed it.
13:18 colomon \o/
13:19 moritz_ .u smiley
13:19 phenny moritz_: Sorry, no results for 'smiley'.
13:19 moritz_ .u smile
13:19 phenny U+2323 SMILE (⌣)
13:20 jnthn colomon: Well yes, that is progress on stability. :-)
13:20 jnthn colomon: Are you making heavy use of complex numbers?
13:20 colomon yes
13:20 jnthn Yeah, we're pretty inefficient on those for the moment.
13:21 colomon jnthn: sure.
13:22 jnthn After Rakudo * when I do the native types work, you could be able to have like:
13:22 colomon I still reckon it's a good test for general speed and stability.  It's mostly looping and simple math (wrapped in a class) after all.
13:22 jnthn class Complex { has float $.re; has float $.im; }
13:22 jnthn And then you'll have one object with two fields that are floats.
13:23 colomon (That is, I don't expect it to have speed like tuned C at the moment.)
13:23 colomon oooooo, cool.
13:27 colomon Right now Complex is just two arbitrary types, and all the type resolution stuff has to be done for every operation, so it's not surprising it's not zippy.
13:27 jnthn Aye.
13:27 moritz_ "not zippy" is a nice euphemism :-)
13:28 clintongormley joined #perl6
13:46 masak joined #perl6
13:47 jnthn lolitsmasak
13:48 masak lol
13:48 * jnthn is glad that masak is back a *lot* before 2038.
13:49 masak I realized that the Singularity will happen ~2035, so I wanted to contribute a bit to Perl 6 before that.
13:50 masak lue: how is it to travel beyond 2035, by the way? would you describe it as mostly utopian or mostly dystopian?
13:53 colomon jnthn: good news on the short front: going from 101 to 201 in mandelbrot size takes pretty much exactly as long as you'd expect (4x longer, that is).  no sign at all of any additional slowdown.
13:54 jnthn Ah, OK.
13:54 jnthn Just general epic slowness then.
13:54 colomon well, memory usage is still a real issue
13:55 colomon It got up to 3.x GB virtual on the MBP.
13:55 jnthn Ouch.
13:56 jnthn Do you keep a lot of values around in memory?
13:56 colomon and this implementation just exports each line of graphics as it is calculated, so memory usage should be quite light.
13:56 jnthn Right, so we're leaky.
13:56 jnthn :-(
13:57 colomon sounds like something that chromatic could look at....
13:58 masak rakkudo: class A { method postcircumfix:<( )>($s) { say $s.WHAT } }; A.new().("OH HAI")
13:58 masak rakudo: class A { method postcircumfix:<( )>($s) { say $s.WHAT } }; A.new().("OH HAI")
13:58 p6eval rakudo 78faa0: OUTPUT«Capture()␤»
13:58 masak jnthn: Capture? not Str?
13:59 jnthn Dammit, had we not once managed to get to a point where while 1 { 1 } didn't leak?
13:59 jnthn Because it seems to be here for me.
13:59 jnthn masak: Correct.
14:00 masak When is Perl 6 going to stop leaking, dammit? :)
14:00 masak jnthn: and if I want my Str back, what do I do?
14:00 jnthn masak: You get one parameter to postcircumfix:<( )> always, and it's a Capture.
14:00 jnthn masak: 'cus ruoso said so... :-|
14:00 masak ok. ISTR you and pmichaud++ talking about this at YAPC::EU.
14:00 jnthn masak: Just unpack the capture with a sub-signature should work.
14:01 masak kthx
14:01 colomon oh, our monthly release is next week, isn't it?
14:01 jnthn masak: Yeah, I'm still not so fond of this. It feels inconsistent with the way postcircumfix:<[ ]> works for example.
14:01 masak it does.
14:01 jnthn But it was somehow important to the way smop works.
14:01 jnthn colomon: Think so.
14:02 jnthn rakudo: class A { method postcircumfix:<( )>( ($s) ) { say $s.WHAT } }; A.new().("OH HAI")
14:02 p6eval rakudo 78faa0: OUTPUT«Str()␤»
14:02 jnthn rakudo++
14:02 masak oh, ok.
14:03 jnthn omfg, no wonder the Wien - Kiev train takes 35 hours. At one point, according to the timetable, it takes 8 hours to do 40km!
14:04 * jnthn is trying to work out workshop travel plans for the next months...
14:04 jnthn The French and Ukrainian ones completely overlap. :-(
14:04 colomon It's funny: on the one hand, I feel like we've really accomplished something with the ng branch work.  Rakudo is more powerful, and more stable, and easier to work with.
14:04 colomon And on the other hand, there is so much more to do!
14:05 masak who would have thought; new problems lurked around the corner :P
14:06 jnthn colomon: I remember the days when Rakudo was roughly equal to NQP.
14:06 jnthn colomon: There was no OO support at all.
14:06 jnthn colomon: Not even hashes were properly in place.
14:07 jnthn Let alone grammars and regexes and all that goodness.
14:07 jnthn It gives some perspective. :-)
14:07 colomon It feels to me like we're right on the verge of having something that can recommended for general work (of things that don't have to be zippy, anyway ;)
14:08 colomon but it also feels like we've only implemented 50% of everything.  :)
14:08 jnthn Sure. Not everything in the spec is of equal utility or importance.
14:09 colomon I don't mean we've only done half the spec, I mean that we've only half-implemented the stuff we've done.
14:09 colomon I know pretty much every single thing I've worked on could still use more work.
14:09 alester joined #perl6
14:09 jnthn Well, there's that too. :-)
14:10 ejs joined #perl6
14:10 cognominal jnthn, do you have submitted your 2 hours of talks for the french perl workshop?
14:11 jnthn cognominal: I'm...rather conflicted now, having been told I'm welcome at both, want to go to both, and now find the two overlap.
14:12 cognominal there is no problem scheduling your talks the first day of the fpw
14:13 cognominal but we can't force you to come :)
14:13 cognominal but we can  remind you about Chartreuse
14:13 jnthn cognominal: I hoped something like that would work, but I fear even that isn't workable. FPW is 11th and 12th. UPW is 12th (+ social stuff on 13th rather than talks).
14:14 jnthn Granted I'm the only person that this affects, most likely, since few others try to do this level of workshop attendence. :-)
14:16 * cognominal watches a map of Europe to see the rspective postion of Sweden, Ukraine and France.
14:16 jnthn This is why I need a private jet.
14:16 jnthn ;-)
14:16 cognominal hoping that at this time Island will be irrelevant.
14:17 cognominal Iceland.
14:17 Alias joined #perl6
14:17 jnthn cognominal: lol. I'm supposed to be going there in 2 weeks too!
14:17 cognominal I am sure that in Ukraine they can bribe you with strong alcohol too.
14:18 jnthn Amongst other things, yes. :-)
14:20 pmurias diakopter: ping
14:24 Trashlord joined #perl6
14:25 masak how would you describe the semantics of the 'our' initializer?
14:26 jnthn Creates a lexically scoped alias to a thingy in the package.
14:26 Alias say what now?
14:26 Alias oh
14:26 Alias carry on
14:27 Alias } # Descoping myself
14:27 masak alias, theory... good thing there's no such thing in CS as 'a masak' :)
14:27 Alias I promise to invent one
14:27 jnthn If I ever invent some really cool CS thing, I now know what to call it!
14:27 masak oh noes :)
14:27 Alias Maybe I can rename the monica filter in your honour
14:28 masak jnthn: I don't grok your description. in what package?
14:30 ejs joined #perl6
14:32 jnthn The current one.
14:33 jnthn rakudo: module Foo { sub lol() { our $x; $x = 42; }; sub rofl() { say $x }; }; Foo::lol; Foo::rofl;
14:33 p6eval rakudo 78faa0: OUTPUT«Symbol '$x' not predeclared in rofl␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 152 (compilers/pct/src/PCT/HLLCompiler.pir:108)␤»
14:33 jnthn rakudo: module Foo { sub lol() { our $x; $x = 42; }; sub rofl() { our $x; say $x }; }; Foo::lol; Foo::rofl;
14:33 p6eval rakudo 78faa0: OUTPUT«Can not find sub Foo::lol␤current instr.: 'perl6;Perl6Exception;throw' pc 14818 (src/builtins/Seq.pir:41)␤»
14:33 jnthn oh gah
14:33 masak :)
14:33 masak 'my' subs...
14:33 jnthn rakudo: module Foo { our sub lol() { our $x; $x = 42; }; our sub rofl() { our $x; say $x }; }; Foo::lol; Foo::rofl;
14:33 jnthn Yeah :-)
14:34 p6eval rakudo 78faa0: OUTPUT«42␤»
14:34 jnthn Rakudo is winning against me.
14:34 masak \o/
14:34 jnthn masak: Anyway, what I was getting at is that those two both declare lexical aliases $x to the sme variable, $Foo::x
14:34 masak ok, so 'our' means "put this var not in the lexical scope, but in the surrounding package -- or use the existing one, if one exists"
14:36 masak rakudo: our $x = 42; say $x; { my $x = 5; say $x; { our $x; say $x } }
14:36 p6eval rakudo 78faa0: OUTPUT«42␤5␤42␤»
14:36 masak \o/
14:36 jnthn Right, the storage is in the package.
14:36 masak I think I grok it now. thanks.
14:37 masak so 'our' would play well with inheritance, right? but not 'my'?
14:39 jnthn Not sure what you mean.
14:39 jnthn That is, I see inheritance and these as pretty orthogonal.
14:41 masak oh, ok.
14:41 masak rakudo: class A { our $x = 42; say $x }; class B is A { our $x; say $x }
14:41 p6eval rakudo 78faa0: OUTPUT«42␤Any()␤»
14:42 jnthn B is a different package to A. You'd not expect those two to have any relation.
14:42 masak ah ok, A and B are separate packages, even though one inherits from the other.
14:42 jnthn Right, but inheritance only means something because the metaclass says it means something.
14:43 bacek o hai
14:43 masak bacek! \o/
14:43 jnthn о хай
14:43 bacek jnthn, привет :)
14:44 bacek masak, aloha
14:44 jnthn .oO( хай looks a little too close to...something else... :-) )
14:44 bacek jnthn, will you have time to try rukudo on immutable_strings_part1 branch in parrot?
14:45 bacek .oO( Someone learn Russian too fast )
14:46 jnthn Well, only the *bad* bits of Russian. ;-)
14:46 jnthn bacek: I did try it out with chromatic last night.
14:46 jnthn bacek: We got to the bottom of the problem and found a workaround.
14:46 jnthn bacek: chromatic++ pushed a branch to the Rakudo repo.
14:46 jnthn (That builds with immutable_strings_part1)
14:46 bacek jnthn, ah-ha!
14:47 * bacek switching from worrying about rakudo to teach jnthn more rude Russian
14:49 bacek jnthn, how was your trip to Russia?
14:49 jnthn Short, but nice.
14:50 bacek jnthn, I hope you consumed only chilled vodka!
14:50 jnthn ;-)
14:50 jnthn I also used the duty free to bring some vodka back with me.
14:50 jnthn Less than half the price of what I could get it for here in Sweden.
14:51 bacek And about twice of the price from buying in Russia? :)
14:52 jnthn Yeah. But I'd gone hand luggage only, and you can't take liquids in that. :-(
14:52 bacek stupid "security"...
14:53 jnthn I guess I coulda tried, and offered to drink some of it to show it was really vodka, not explosive. :-)
14:53 masak jnthn: but an 'our' declaration is enough for a variable $x in the class A to be visible to everyone else as $A::x, no?
14:53 bacek .oO( Check-in of 30 kilogrammes of Vodka can be suspicious )
14:53 jnthn bacek: heh, it didn't occur to me that I could use my baggage allowance solely to check in vodka!
14:54 jnthn masak: Aye.
14:54 masak excellent.
14:55 bacek why "our" visible outside of Class/Package???
14:55 jnthn bacek: our variables are stored int he package
14:55 jnthn use "my" if you want invizible.
14:55 bacek jnthn, you have to learn more from Russians :)
14:56 jnthn bacek: (rude Russian) I was also told an amusing story about a guy who went to a money changer and asked to минетЬ rather than менять. :-)
14:57 bacek jnthn, гыыы :)
14:57 jnthn Good job there's bankomats, so tourists like me can't make such embarassing mistakes. :-)
14:57 ejs joined #perl6
15:01 masak such an awful play on words almost has to be followed up by some etymology... :)
15:01 masak where do these two verbs come from?
15:04 _jaldhar joined #perl6
15:05 jnthn Dunno, but менять ain't so far from the Slovak menit'.
15:06 alester joined #perl6
15:07 bacek masak, "менять" is a "change", "минетЬ" is way to close to "минет" which is "blowjob" :)
15:07 JimmyZ I guess the last patch was wrong in the immutable_strings, since there is new `replace` op.
15:07 M_o_C joined #perl6
15:08 masak bacek: I know what they mean -- checked with Google Translate -- but I was interested in why.
15:08 XaeroOne joined #perl6
15:09 bacek JimmyZ, "replace" is same as one of "substr" atm.
15:09 bacek masak, hmm... Good question.
15:09 justatheory joined #perl6
15:11 JimmyZ bacek: http://github.com/rakudo/rakudo/commit/cde35077f6bf1bb3f70b4fbd15da1bfdc82f3383, Doesn't just use replace instead ?
15:11 bacek masak, Russian version based on French "minette". They just happen to have almost same pronunciation
15:12 masak oh, ok.
15:12 jnthn ...great, that's the first new French word I've learned all year.
15:12 jnthn :-)
15:12 bacek JimmyZ, I introduces "replace" after this patch. But I'll look at it closer.
15:12 JimmyZ oh
15:15 * jnthn -> shops, bbiab
15:15 kaare joined #perl6
15:17 JimmyZ bacek++ , an mad coder.
15:18 JimmyZ s/an/a/
15:18 masak rakudo: "foo" ~~ /(oo)/; say $0.substr(0, 1)
15:18 p6eval rakudo 78faa0: OUTPUT«Method 'substr' not found for invocant of class 'Regex;Match'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
15:19 and joined #perl6
15:20 moritz_ that's because Regex::Match isn't Cool
15:20 masak but it should be, right?
15:21 moritz_ aye
15:21 moritz_ but don't even think of submitting a bugreport
15:21 moritz_ we already have a "$/ is not suffciently Perl6y" or so
15:22 masak it might please you to know that my first instinct was to look for one in RT :)
15:23 masak though I must confess I do not find it.
15:23 masak moritz_: do you?
15:23 * moritz_ goes a-lookin'
15:24 moritz_ #73462
15:25 pugssvn r30400 | pmurias++ | [mildew] added the optC option to bread
15:25 masak oh, that one.
15:25 masak yes, that's the underlying cause, of course.
15:26 masak (so I agree that no more RT tickets are needed)
15:26 moritz_ rakudo: my $x = Capture.new
15:26 p6eval rakudo 78faa0:  ( no output )
15:26 moritz_ rakudo: my $x = Capture.new; say $x[0]
15:26 p6eval rakudo 78faa0: OUTPUT«Null PMC access in type()␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
15:26 moritz_ rakudo: my $x = Capture.new; say $x<a>
15:26 p6eval rakudo 78faa0: OUTPUT«Null PMC access in type()␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
15:27 moritz_ (probably a manifestation of RT #74110)
15:28 * masak adds it to that ticket
15:29 cognominal I am compiling the rakudo  usenqprx branch and I get  Symbol 'self' not predeclared in return_handler_past when compiling Actions.pm
15:29 pyrimidine joined #perl6
15:29 moritz_ cognominal: uhm, that's a very old (and abandoned) branch
15:29 moritz_ cognominal: is there a good reason to try to build it?
15:29 cognominal ho
15:30 cognominal what is the branch that uses nqprx?
15:30 moritz_ master
15:30 cognominal ok
15:32 cognominal moritz_, and it pulls nqprx parrot?
15:33 moritz_ it uses the nqprx that comes with parrot
15:33 cognominal I am confused with all these branches flying around :)
15:34 * masak uses 'succeed' for the first time instead of 'break'
15:35 JimmyZ_ joined #perl6
15:35 moritz_ maybe I should delete some old branches
15:36 masak spring cleaning :)
15:36 moritz_ jnthn: am I right in assuming that the 'llsig' branch can be deleted?
15:37 moritz_ it's from Oct 2009, and I believe it's merged
15:38 cognominal moritz_, so parrot is now by default nqprx?
15:38 moritz_ cognominal: parrot ships with nqprx, yes
15:39 moritz_ even though the executable is called parrot-nqp
15:51 jnthn moritz_: Yes.
15:53 moritz_ gone.
15:56 TiMBuS joined #perl6
15:59 lue hello!
16:03 masak hellue!
16:03 masak spock, a specification framework: http://code.google.com/p/spock/
16:04 masak looks pretty nice. I especially like the 'detailed information' in reason (4) in http://code.google.com/p/spock/wiki/WhySpock
16:04 lue I'll be in and out today, all day Doctor Who marathon \o/
16:06 lue masak: looks good.
16:08 lue 2. Are you guys Trekkies by any chance?
16:08 lue Bingo! But watch out for equally subtle references to Battlestar Galactica, Dr. Who, and other fascinating life forms.
16:08 lue from the Spock FAQ :)
16:08 masak lue: sounds like your kind of thing :)
16:10 lue Alas, I'm still occupied with P6 major mode for emacs :)
16:10 masak no, I meant, the Trekkies/BSG/Dr. Who references :)
16:12 lue I know :)
16:12 masak rakudo: class A { our sub foo() { 42 } }; my &f = &A::foo; say f
16:12 p6eval rakudo 78faa0: OUTPUT«42␤»
16:12 masak \o/
16:13 moritz_ there's *something* that works in Rakudo
16:13 lue The only bad part is that they're showing mainly the Season 4 specials :/ I had to wake up at 3AM if I wanted to see actual episodes.
16:13 lue masak: \o/
16:21 moritz_ rakudo: my %a; say %a<foo>; say %a.keys
16:21 p6eval rakudo 78faa0: OUTPUT«␤␤»
16:21 lue apparently, your key is a newline (interesting)
16:22 moritz_ nope
16:22 moritz_ rakudo: my %foo; if %foo<a> {}; say %foo.perl
16:22 p6eval rakudo 78faa0: OUTPUT«{}␤»
16:23 lue ah (wonder why it spit out two newlines then)
16:23 moritz_ because of two say() calls
16:23 lue rakudo: my $_var = 3; say $_var;
16:23 p6eval rakudo 78faa0: OUTPUT«3␤»
16:23 lue oh (duh)
16:23 masak rakudo: sub foo(%hash? is copy) {}; foo
16:23 p6eval rakudo 78faa0: OUTPUT«Null PMC access in invoke()␤current instr.: 'perl6;Hash[];!STORE' pc 473702 (src/gen/core.pir:67931)␤... call repeated 1 times␤»
16:23 * masak submits rakudobug
16:23 jnthn wtf
16:24 masak GGE++ # bugfinder
16:24 jnthn Two is copy bugs in two days. I should smack ma binder up.
16:24 masak jnthn: when are you going to get around to that hash slice business, by the way? turns out I was using it in GGE after all. :)
16:25 jnthn masak: Got half-done patch here. :-)
16:25 masak yay
16:25 colomon rakudo: my @a = 1...10; say @a[7/3]
16:25 p6eval rakudo 78faa0: OUTPUT«3␤»
16:25 lue ō.o
16:25 masak that's fine by me.
16:26 lue just wondering what the [7/3] is supposed to do :)
16:26 moritz_ indexing
16:26 colomon It's suppose to do [2]
16:26 colomon what's weird is I don't understand how it works at the moment.
16:26 colomon rakudo: my @a = 1...10; say @a[7/3.Num]
16:26 p6eval rakudo 78faa0: OUTPUT«3␤»
16:27 jnthn colomon: I'm sorta looking into some of that stuff along with the hash slicing bits.
16:27 jnthn colomon: I'm not very happy with how some that lot works.
16:27 colomon I've just gotten another of the
16:27 colomon No applicable candidates found to dispatch to for 'postcircumfix:<[ ]>'. Available candidates are:
16:27 colomon :(Mu : Int $i;; *%_)
16:27 colomon :(Mu : Block $b;; *%_)
16:27 colomon :(Mu : !whatever_dispatch_helper ;; *%_)
16:27 pugssvn r30401 | moritz++ | [t/spec] test for RT #61882, reading a non-existent hash item should not autovivify it
16:27 colomon errors, this time because I was passing a Num instead of an Int.
16:27 colomon but it just worked fine in the test back there.
16:27 masak colomon: @a[2] is 3 in this case.
16:28 colomon masak: yes, my worry is that there is no Rat or Num case for [ ]
16:28 colomon on Array, anyway.
16:28 masak oh, you're worried that it works :P
16:28 colomon yes, exactly.
16:28 masak s/that/because/
16:28 colomon that or because are both fine.  :)
16:29 colomon our multi method postcircumfix:<[ ]> (Int $i) seems like the case that is being called, but how / why?
16:29 colomon why does it fail in my code but work on the REPL?
16:30 jnthn I think there's something rotten somewhere in that area of the code, fwiw.
16:30 moritz_ is that area of code inside the state of Denmark? :-)
16:31 masak 629 bugs in RT. at this rate, we'll hit 650 next week.
16:31 * moritz_ updated http://rakudo.org/status
16:31 jnthn masak: Depends on the rate of fixes too.
16:31 masak not really :)
16:32 masak or rather, I took that into account in my estimate.
16:32 masak but sure, consider it a challenge if that helps.
16:33 colomon btw, in this case in my code, casting with .Int fixed the problem.
16:33 colomon moritz_: exactly!
16:35 moritz_ colomon: any progress in reviewing that lazy assignment patch?
16:35 * moritz_ tries polite nagging
16:35 colomon moritz_: not in the least, I'm afraid.  :(
16:35 colomon I'm still running at about half speed here.
16:36 moritz_ rakudo: sub foo(:$) {}; say &foo.signature.perl
16:36 p6eval rakudo 78faa0: OUTPUT«:(Any :())␤»
16:36 moritz_ it's ok
16:36 jnthn :-)
16:36 moritz_ uhm, is that correct?
16:36 moritz_ I'd expected :$
16:36 jnthn rakudo: sub foo(:$) { say "ok"; }; my %h = '' => 1; foo(|%h)
16:36 p6eval rakudo 78faa0: OUTPUT«ok␤»
16:37 moritz_ rakudo: sub foo(:()) { say "ok"; }; my %h = '' => 1; foo(|%h)
16:37 p6eval rakudo 78faa0: OUTPUT«ok␤»
16:37 moritz_ ok, fine
16:37 jnthn moritz_: Signature.perl gets a tad...confused...when there's no name.
16:37 jnthn It's consistent with the other output it gives, fwiw.
16:37 jnthn rakudo: sub foo(:$a) {}; say &foo.signature.perl
16:37 p6eval rakudo 78faa0: OUTPUT«:(Any :a($a))␤»
16:37 moritz_ well, as long as the result works, why not?
16:37 jnthn That is, it doesn't collapse it if the variable name matches the parameter name.
16:38 jnthn Probably the guy who wrote Signature.perl was lazy.
16:38 TimToady std parses it as an anonymous named parameter
16:38 lue afk (doctor who)
16:38 jnthn TimToady: So does Rakudo.
16:38 colomon jnthn: you're saying he was a Perl programmer?
16:38 jnthn colomon: Yeah, and he was awesome!
16:39 jnthn Well, the empty-string-named named parameter anyway. :-)
16:39 * masak still likes the term 'named anonymous (yes I know) parameter'
16:41 masak or was it 'anonymous named'?
16:42 jnthn Anonymous yet named can make sense. :-)
16:42 masak it can. it's just etymologically odd.
16:43 moritz_ anonymous named
16:43 masak so is 'atom' nowadays, I guess.
16:47 vorner left #perl6
16:50 wknight8111 joined #perl6
16:50 lorenzo_miwi joined #perl6
16:50 moritz_ rakudo: sub foo(:$) {}; say &foo.signature.perl ~~ / ':' /
16:50 p6eval rakudo 78faa0: OUTPUT«:␤»
16:50 moritz_ rakudo: use Test; plan 1; sub foo(:$) {}; ok &foo.signature.perl ~~ / ':' /, 'bar'
16:50 p6eval rakudo 78faa0: OUTPUT«1..1␤ok 1 - bar␤»
16:50 moritz_ why does this fail in my test file?
16:51 moritz_ anyway, I have to run :(
17:04 mberends joined #perl6
17:04 masak lolitsmberends
17:04 mberends ahoy, #perl6!
17:04 phenny mberends: 14 Apr 10:46Z <masak> tell mberends that I'm glad things are happening with proto right now. I think the sanest way I can contribute long-term is to write that 'testable core' thingy. would like to get together some evening and brainstorm on that -- just to make sure I grok the new model.
17:05 mberends 3+ days ago! (was distracted teaching PHP Intermediate)
17:05 jnthn ahoj mberends!
17:06 k23z__ joined #perl6
17:06 mberends ahoj! good thing you flew back just in time, jnthn
17:06 k23z__ joined #perl6
17:06 masak ahojte alle Leute :)
17:07 jnthn ...you just exploded my parser.
17:08 masak a bit like GGE is all in pieces now, in other words :/
17:09 Kyril joined #perl6
17:09 masak though to be fair, I've gotten some tests passing today.
17:09 masak and the road ahead seems clear enough, just thorny.
17:09 jnthn Ah, *that's* why we'll hit 650 bugs. :-)
17:09 jnthn masak++ # becoming a master
17:10 jnthn er, master guy
17:10 masak yes, that's why.
17:10 jnthn :-)
17:10 masak I expect to keep doing this with the rest of the app cheese as much as I can this month.
17:14 jnthn \o/
17:15 jnthn Hopefully as you discover bugs and they get fixed, it'll get less painful as you go along.
17:16 colomon what's the syntax to open a file for writing in p6?
17:16 jnthn open("file", :w)
17:16 colomon jnthn++
17:16 masak well, one good piece of news is that some of the things I'm fixing are errors in the app cheese itself, things that slipped through because Rakudo alpha was insufficiently strict.
17:20 diakopter pmurias: hi
17:21 diakopter after you've installed mono 2.6, you just type  xbuild -p:Configuration=Release Sprixel.sln  (actually the -p:Configuration=Release is optional)
17:26 diakopter pmurias: to answer your other question, yes. :)
17:28 diakopter (I shouldn't be considering adding "cloying" syntax such as implicit return expressions)
17:29 * diakopter continues class declarations
17:32 ruoso joined #perl6
17:37 diakopter masak: the app cheese.
17:38 masak aye.
17:38 diakopter mm
17:38 diakopter is it a smelly cheese or a processed cheese
17:38 masak it's one with holes.
17:38 diakopter so a holy cheese.
17:39 masak exceedingly so.
17:40 jnthn switzerland++
17:41 masak which, by an amazing coincidence, borders Austria.
17:42 masak and which, speaking of holes, isn't in the European Union, even though all its neighbours are.
17:43 masak rakudo: say $*IN.get
17:43 p6eval rakudo 78faa0: OUTPUT«Land der Berge, Land am Strome,␤»
17:43 jnthn masak: Not true.
17:43 masak I may be wrongly informed.
17:43 jnthn Liechtenstein is its neighbor, and is not in the EU either.
17:44 masak ah.
17:44 diakopter rakudo: while($_ = $*IN.get) { .say }
17:44 p6eval rakudo 78faa0: OUTPUT«Land der Berge, Land am Strome,␤Land der Äcker, Land der Dome,␤Land der Hämmer, zukunftsreich!␤Heimat bist du großer Söhne,␤Volk, begnadet für das Schöne,␤vielgerühmtes Österreich,␤vielgerühmtes Österreich!␤»
17:44 masak so it is. it's very lichtle and easy to miss :)
17:45 diakopter shouldn't rakudo require a space between while and (
17:45 masak yes.
17:45 masak but I do believe there's an RT ticket for that.
17:45 masak rakudo: $*IN.get(3)[2].subst(/ä/, 'u').say
17:45 p6eval rakudo 78faa0: OUTPUT«No candidates found to invoke␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
17:46 masak rakudo: $*IN.lines(3)[2].subst(/ä/, 'u').say
17:46 p6eval rakudo 78faa0: OUTPUT«Land der Hummer, zukunftsreich!␤»
17:46 masak hee hee
17:48 diakopter hm. currently perlesque creates blocks with names '_Closure_1', '_Closure_2', etc
17:48 diakopter should I make it match nqp/rakudo's '_blockN' instead? :)
17:49 diakopter or is that something from parrot
17:49 diakopter okily dokily
17:50 jnthn diakopter: It's just an internal name.
17:50 jnthn diakopter: Generated by PAST, iirc.
17:50 jnthn Rather than anything Parrot-y.
17:50 diakopter ok.
17:50 jnthn You could call it _Llama_1 and it'd be fine
17:51 diakopter but Llamae might feel offended.
17:52 jnthn Who cares, they smell.
17:53 * colomon has perl 6 writing out IGES files now, but cannot get his own software to recognize them.  :(
18:00 diakopter colomon: missing BOM maybe?
18:00 colomon bill of materials?
18:00 diakopter byte order mark?
18:00 colomon IGES is ascii
18:00 colomon 80 columns, even.
18:01 diakopter o
18:01 colomon oh, I'm an idiot.
18:03 colomon think I've been successfully writing out points, and thinking I was failing to write out lines.
18:09 colomon okay, now I'm definitely failing to write out lines rather than writing points.  :\
18:12 colomon hey, that's 90% there...
18:13 diakopter TimToady: should I assume every postcircumfix:<{ }> node in STD's AST of itself is a Perl 5 hash lookup?
18:18 mberends joined #perl6
18:19 pmurias diakopter: installing mono
18:21 diakopter pmurias: :)
18:21 diakopter 2.63?
18:21 diakopter 2.6.3?
18:22 pmurias 2.6.3
18:24 colomon Argh.  Finally got my own software to recognize the IGES files I'm writing, but now Rhino 3D won't recognize my "improved" versions of these files.  Why can't anything ever be easy?
18:25 rurban I studied the chmod 755 dll/so problem. perl5 File::Copy never preserved file attributes, even not with syscopy. Will be ahrd to persuadae them that Extutils::Commands is broken.
18:25 rurban Just a few platforms have special rules, like mac, Win32, mepix
18:27 diakopter rurban: as long as it's not the linux or *bsd ones that are broken. ;)
18:27 rurban I think it's better to let perl5 be broken, and fix that entirely in parrot configure hints (for hpux, cygwin already done)
18:27 diakopter o wait, mac is *bsd...
18:28 arnsholt Probably Mac OS 9 and below
18:29 pmurias rurban: is a failing test not enough to demonstrate the bug?
18:30 rurban we will see.
18:34 masak rakudo: my $x = Nil; say defined $x
18:34 p6eval rakudo 78faa0: OUTPUT«1␤»
18:34 masak rakudo: say defined Nil
18:34 p6eval rakudo 78faa0: OUTPUT«0␤»
18:35 masak should the definedness of Nil change when it's stored in a scalar variable?
18:35 diakopter rakudo: say defined Nil but Nil
18:35 p6eval rakudo 78faa0: OUTPUT«No applicable candidates found to dispatch to for 'infix:<does>'. Available candidates are:␤:(Mu $do-it-to-me, Role $r)␤:(Mu $do-it-to-me, ConcreteRole $r)␤␤current instr.: 'infix:<but>' pc 300187 (src/gen/core.pir:3700)␤»
18:35 diakopter erm.  that's what she said.
18:35 colomon masak: I thought that Nil switched to undefined variable of the appropriate type as a scalar?
18:36 masak colomon: so the above is wrong?
18:36 colomon easier test:
18:37 colomon rakudo: my Int $x = Nil; say $x.defined; say $x.WHAT
18:37 p6eval rakudo 78faa0: OUTPUT«Type check failed for assignment␤current instr.: '&die' pc 17293 (src/builtins/Junction.pir:404)␤»
18:37 masak I think that one's in RT already.
18:37 colomon if I'm right, this is just NYI
18:38 masak I think you are. S02 says that assigning or binding Nil should restore a scalar variable to its pristine state.
18:38 colomon \o/
18:38 colomon so my $x = Nil should be Any()
18:38 masak aye.
18:39 masak baking &
18:40 colomon baking what?  :)
18:40 lue hello! (oh! just missed you masak)
18:40 jnthn maybe baking @s
18:40 colomon woah, he's gone
18:40 lue he's baking blue police-box shaped cookies I hope :)
18:41 colomon mmmmm, @s
18:41 lue eh, he should bake scalars. Those would get him some money :)
18:42 alester joined #perl6
18:42 jnthn Hope he's not baking hash. ;-)
18:43 lue bake them in a 2D array at least :)
18:43 lue And scope them properly!
18:47 colomon jnthn: btw, on my big linux box, there is no unexpected slowdown going from mandelbrot 101 to 401
18:47 colomon (that is to say 401 takes 16x as long)
18:48 colomon of course, that machine has 8GB ram...
18:49 mberends colomon: is the trend in memory size similar to the trend in run time?
18:49 colomon mberends: I'm afraid it may be.
18:50 colomon which would be bad, as memory usage for this should go up by N, not N^2
18:50 colomon do you have a good way of testing that on linux or os x?
18:51 mberends no, I sometimes watch it using 'top', but the numbers are very volatile
18:52 colomon drat
18:52 mberends I'm going to look for a better tool
18:53 colomon I vaguely remember finding a memory monitoring tool for os x, but don't remember what it was now.
18:53 colomon valgrind can do it, but it's very slow
18:54 mberends of course, any scripting language that cat read /proc could do it. Perl 5, for example
18:54 mberends *can read
18:57 Kyril joined #perl6
18:58 iblechbot joined #perl6
19:02 tri1 joined #perl6
19:06 justatheory joined #perl6
19:18 lue rakudo: say `hello`
19:18 p6eval rakudo 78faa0: OUTPUT«Confused at line 11, near "say `hello"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
19:18 lue rakudo: say `hello'
19:18 p6eval rakudo 78faa0: OUTPUT«Confused at line 11, near "say `hello"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
19:18 lue ` is not a quoting construct, is it?
19:19 colomon ` was in p5
19:20 mberends only in Perl 5, not in Perl 6. You may be able to use qx{}.
19:20 colomon rakudo: say `ls`
19:20 p6eval rakudo 78faa0: OUTPUT«Confused at line 11, near "say `ls`"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
19:20 lue yeah, I'm looking at the p5 syntax table (emacs), and was wondering if it still applies
19:20 colomon std: say `ls`
19:20 p6eval std 30401: OUTPUT«[31m===[0mSORRY![31m===[0m␤Confused at /tmp/IbSY2WsKco line 1:␤------> [32msay [33m⏏[31m`ls`[0m␤    expecting any of:␤ bracketed infix␤  infix or meta-infix␤      statement modifier loop␤Other potential difficulties:␤  Unsupported use of bare 'say'; in Perl 6 please use
19:20 p6eval ...say if y…
19:23 lue here are all the symbols the perl5 major mode has to define in the syntax table (not counting sigils/comments): *+-/<=>\|
19:24 lue methinks I'll end up defining a lot more (imagine all the parentheses I might have to define o.o)
19:24 meppl joined #perl6
19:28 rv2733 joined #perl6
19:29 mberends colomon: you've got me trying to write a memory monitor utility now ;)
19:29 colomon \o/
19:32 cognominal http://www.appleinsider.com/articles/10/04/16/apple_sued_over_use_of_moisture_indicators_to_deny_free_repairs.html  "acts of God or other external causes"
19:32 cognominal sacrés (sic) avocats américain!!
19:33 lue sacré bleu!
19:34 lue cognominal: est-ce que tu parles français?
19:35 cognominal oops, I wanted to paste on #perlfr
19:35 cognominal sacrebleu!
19:36 lue ah. well, I'm only beginning to learn French. Right now we're at adjectives, and just did verbs ending in 'er'. :)
19:36 cognominal come to #perlfr on irc.perl.org if you want to perfect your french
19:38 lue I'll consider it once I finish French 1, I can barely say anything :)
19:40 tri1 joined #perl6
19:47 diakopter perlesque: my $sub_a = sub int foo (int $arg0) { say(my $b = $arg0 * 2); return $b; }; $sub_a($sub_a($sub_a(5)));
19:47 p6eval perlesque: OUTPUT«10␤20␤40␤»
19:48 tri1 left #perl6
19:48 diakopter type inference for closures-as-expressions, and hence closures-as-variables
19:49 diakopter rakudo: my $sub_a = sub foo ($arg0) { say(my $b = $arg0 * 2); return $b; }; $sub_a($sub_a($sub_a(5)));
19:49 p6eval rakudo 78faa0: OUTPUT«10␤20␤40␤»
19:49 diakopter oh good
19:50 mantovani joined #perl6
19:53 diakopter perlesque: my $sub_a = sub int foo (int $arg0) { say(my $b = $arg0 + 4); return $b; }; my $last = 5; loop (my $x=0;$x<100000;$x+=1) { $last = $sub_a($last) }
19:53 p6eval perlesque:
19:53 p6eval ..OUTPUT«9␤13␤17␤21␤25␤29␤33␤37␤41␤45␤49␤53␤57␤61␤65␤69␤73␤77␤81␤85␤89␤93␤97␤101␤105␤109␤113␤117␤121␤125␤129␤133␤137␤141␤145␤149␤153␤157␤161␤165␤169␤173␤177␤181␤185␤189␤193␤197␤201␤205␤209␤213␤217␤221␤225␤229␤233␤237␤241␤245␤249␤253␤257␤261␤265␤269␤273␤277␤281␤285␤289␤293␤297␤301�
19:53 diakopter rakudo: my $sub_a = sub foo ($arg0) { say(my $b = $arg0 + 4); return $b; }; my $last = 5; loop (my $x=0;$x<100000;$x+=1) { $last = $sub_a($last) }
19:54 p6eval rakudo 78faa0:
19:54 p6eval ..OUTPUT«9␤13␤17␤21␤25␤29␤33␤37␤41␤45␤49␤53␤57␤61␤65␤69␤73␤77␤81␤85␤89␤93␤97␤101␤105␤109␤113␤117␤121␤125␤129␤133␤137␤141␤145␤149␤153␤157␤161␤165␤169␤173␤177␤181␤185␤189␤193␤197␤201␤205␤209␤213␤217␤221␤225␤229␤233␤237␤241␤245␤249␤253␤257␤261␤265␤269␤273␤277␤281␤285␤289␤293␤297␤301�
19:55 lue oooh
20:02 lue afk
20:31 diakopter 3.1s for perlesque to do 100million iterations of that on my machine
20:32 diakopter oh, with the say() removed.
20:32 diakopter heh
20:32 diakopter otherwise it's obviously IO bound
20:53 synth joined #perl6
20:59 ReiniUrban joined #perl6
21:36 s1n joined #perl6
21:44 moritz_ rakudo: sub foo($v, $w?, $x?, $y?){ say $v~"|"~$w~"|"~$x~"|"~$y}; foo(1,,3,);
21:44 p6eval rakudo 78faa0: OUTPUT«1|3|Any()|Any()␤»
21:45 dual joined #perl6
21:46 lue hello again
21:48 s1n ya know, no matter how slow rakudo is, it just can't be worse than the jvm :/
21:48 s1n so, when rakudo just takes a second or two to start, i'm okay with that
21:49 lue me too :)
21:49 mberends moritz_: did 3 move from the $x to the $w ? That's wrong, ain't it?
21:49 lue I actually don't get why people are concerned with things like "my computer takes 30 seconds to boot up! Let's reduce it to 5!". At least it boots in a reasonable amount of time
21:50 moritz_ mberends: it should be a parse error (and there's a ticket for that)
21:50 jnthn std: sub foo($v, $w?, $x?, $y?){ say $v~"|"~$w~"|"~$x~"|"~$y}; foo(1,,3,);
21:50 moritz_ std: 1,,3,
21:50 p6eval std 30401: OUTPUT«[31m===[0mSORRY![31m===[0m␤Preceding context expects a term, but found infix , instead at /tmp/GgxdASfVG1 line 1:␤------> [32m?){ say $v~"|"~$w~"|"~$x~"|"~$y}; foo(1,[33m⏏[31m,3,);[0m␤Parse failed␤FAILED 00:01 112m␤»
21:50 p6eval std 30401: OUTPUT«[31m===[0mSORRY![31m===[0m␤Preceding context expects a term, but found infix , instead at /tmp/T8mmvUXZEd line 1:␤------> [32m1,[33m⏏[31m,3,[0m␤Parse failed␤FAILED 00:01 108m␤»
21:51 moritz_ RT #54804 FWIW
21:57 cledu joined #perl6
22:04 pugssvn r30402 | moritz++ | [t/spec] test for RT #69492
22:05 moritz_ btw this test fails on a parrot version newer than the recommended one
22:06 jnthn :-(
22:09 lue Any particular reason why?
22:09 moritz_ because of a regression
22:11 lue ah
22:11 jnthn Given the Parrot 2.3 release would happen next week iirc, and we'll need to ship #28 on that, maybe worth reporting?
22:11 jnthn (If not already done)
22:12 lue rakudo: say 3 add 5
22:12 p6eval rakudo 78faa0: OUTPUT«Confused at line 11, near "say 3 add "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
22:12 lue rakudo: say 3 plus 5
22:12 p6eval rakudo 78faa0: OUTPUT«Confused at line 11, near "say 3 plus"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
22:12 moritz_ jnthn: I wanted to bisec first, but it seems I'm too tired for that right now
22:13 lue 3rd tuesday right? In which case, the 20th, 3 days away. R* would release the 22nd
22:14 moritz_ nope
22:15 lue oh :/
22:20 M_o_C joined #perl6
22:24 pmurias diakopter: after i build sprixel how should i run it?
22:25 justatheory joined #perl6
22:35 colomon lue: why didn't you tell me the dude from Life on Mars was on Doctor Who?
22:39 lue I never saw Life on Mars :)
22:40 mberends colomon: first cut of a process monitor to report maximum memory size: http://gist.github.com/369869
22:44 colomon mberends++
22:45 mberends colomon: Linux only (/proc dependent) and only measures the immediate child, so no make processes etc (...yet)
22:45 colomon ...will that work with ./perl6?
22:46 mberends probably. must try it ;)
22:46 huf joined #perl6
22:47 mberends colomon: yes, 187MB process size for rakudo -v
22:47 colomon lue: Life on Mars (BBC) was fantastic, and starred the dude who plays the Master.
22:47 colomon mberends++
22:48 jnthn mberends: What do you get for Rakudo just opening and sitting at the command line?
22:48 colomon I'll give it a whirl as soon as I'm doing making chocolate pudding for my wife, now watching her first episode of Dr. Who.   :)
22:48 lue her first episode is the End of Time?
22:48 lue great one :)
22:49 mberends colomon: 187207680(bytes) # amd64 ubuntu 10.4
22:51 colomon lue: ah, I see she just switched over to curling, which was what she meant to turn on.  I'm sure she'll be planning on watching those episodes of Who at a later date.  :)
22:52 * mberends watched "Victory of the Daleks" a few hours ago http://www.bbc.co.uk/programmes/b00s56d2
22:53 lue Ah well, I figure Part 2 of the End of Time (when it's split apart; right now is the streamlined 1-part "movie" style) is coming up soon :)
22:53 crythias joined #perl6
22:53 lue mberends: is that from the old series? I would love to get my hands on so 20th century DW
22:53 lue s/so/some/
22:55 mberends no, this is current series with Matt Smith as the 11th regenerated Doctor
22:57 colomon lue: I think he's gloating about seeing them ahead of us....  ;)
22:57 * mberends gloats some more...
22:59 mberends find archived episodes at http://tvunderground.org.ru/index.php?show=listing&amp;sid=3405
23:00 lue mberends: i can haz free tiket tu lundin?
23:01 lue ( not really of course :) )
23:01 mberends lue: the airport's closed, otherwise it would be a fun idea
23:02 lue oh yeah ( stupid volcano. can't believe that monster from Pompeii is back ;) )
23:03 mberends every 1/2 day the authorities are rolling the grounding of planes forward another 1/2 day or more
23:04 lue just wondering; are the bees still disappearing?
23:04 lue mberends: hopefully that doesn't affect you in any way
23:04 pmurias diakopter: perlesque works here
23:05 * lue *Ba-da-da* 1 hour until the 1-hour special detailing all about the Doctor Who-niverse. 2 hours until the season premeire
23:06 cognominal rakudo:   say  'a' ~~ m/ <? a >  a/
23:06 p6eval rakudo 78faa0: OUTPUT«Confused at line 11, near "say  'a' ~"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
23:06 jnthn mberends: It's kinda scary and amazing to watch it.
23:06 lue jnthn: where is you in the situation?
23:06 mberends lue: fortunately there are no health risks, just the risk to aircraft. The trains, ferries and buses are full.
23:06 jnthn lue: I made it home from Moscow within 4-5 hours before the point things all shut down here.
23:06 jnthn lue: So I got lucky.
23:07 lue good :)
23:07 jnthn Otherwise I'd be stuck in Russia now.
23:07 cognominal STD:   say  'a' ~~ m/ <? a >  a/
23:07 lue .oO(trains are awesome; there ought to be more in the US)
23:07 cognominal std:   say  'a' ~~ m/ <? a >  a/
23:07 p6eval std 30402: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unrecognized regex assertion at /tmp/IPIMYlizKk line 1:␤------> [32msay  'a' ~~ m/ <?[33m⏏[31m a >  a/[0m␤    expecting any of:␤    assertion␤        name␤Parse failed␤FAILED 00:01 111m␤»
23:07 jnthn Though my visa would last through to the 20th, so I'd probably have made the most of my stuckness. :-)
23:07 mberends jnthn: yeah, you had incredible timing this week.
23:08 jnthn mberends: Aye, getting back without flying woulda turned into a slight adventure.
23:08 jnthn mberends: Train to Petersburg, train from there to Helsinki, boat.
23:09 jnthn I actually have done that in reverse before now.
23:09 cognominal What is the syntax for looking-ahead a sting?
23:09 jnthn Though they didn't have the super-fast Moscow - Petersburg trains last time.
23:09 lue Spirit Tracks and Phantom's Hourglass in one trip ( oh wait, probably not that fun in real life ;) )
23:09 cognominal *string
23:09 jnthn cognominal: <?before foo>
23:09 colomon jnthn: the good news on mandelbrot: the expected (proper) ratios for timing hold up out to the 501x501 case on my Linux box.
23:09 jnthn colomon: OK, so we're just slow.
23:09 jnthn But not worseningly slow.
23:09 orafu joined #perl6
23:09 jnthn That's good to know. Thanks for doing the analysis. colomon++
23:09 cognominal thx
23:10 colomon and mberends++ wrote the code to let me test memory characteristics.
23:10 colomon which is what I'll tackle next.
23:10 colomon I don't expect such good news there, alas...
23:13 jnthn oops, I just vi a-20gb-file
23:13 lue O.o /o\
23:13 lue jnthn: if ye can open that in good time, ye can run rakudo without pause. Good Luck!
23:14 lue .oO(words from the East)
23:15 lue jnthn: what is this 20gb file? the linux kernel?
23:16 rgrau joined #perl6
23:16 mberends it's the todo list for rakudo * ;)
23:17 lue what is on the todo list for R*? I'm missing something :/
23:17 jnthn lue: Wikipedia dump.
23:18 jnthn lue: See docs/ROADMAP in Rakudo git repo.
23:19 lue hopefully not all of Wikipedia is 20gb. ( that means it has to get bigger! that's way too small :) )
23:20 jnthn lue: Current revisions only.
23:21 jnthn And text only, no images etc.
23:21 lue where is the REPL implemented? I've been curious about that.
23:24 nihiliad joined #perl6
23:27 lue ~ 30 minutes until an explanatory special on DW, 1 hour and 30 minutes until the premiere. afk!
23:29 dual_ joined #perl6
23:32 dual joined #perl6
23:34 colomon mberends: \o/
23:46 LionMadeOfLions joined #perl6
23:46 c1sung joined #perl6
23:54 diakopter \o\
23:55 diakopter //o/
23:55 diakopter er
23:55 diakopter \/o/
23:55 diakopter er
23:55 diakopter /o/
23:56 mberends /o\

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

Perl 6 | Reference Documentation | Rakudo