Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-12-09

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 * jnthn back
00:21 nbrown joined #perl6
00:36 tarski joined #perl6
00:38 tarski perl6: say '1' . 5;
00:38 p6eval elf 29297: Parse error in: /tmp/Mnje3ILWFX␤panic at line 1 column 0 (pos 0): Can't understand next input--giving up␤WHERE: say '1' . 5;␤WHERE:/\<-- HERE␤  STD_red/prelude.rb:99:in `panic'␤  STD_red/std.rb:76:in `scan_unitstopper'␤  STD_red/std.rb:224:in `comp_unit'␤  STD_red/std.rb:210:in `_UNIT'␤
00:38 p6eval ..…
00:38 p6eval ..pugs: *** ␤    Unexpected "."␤    expecting operator, ":" or ","␤    at /tmp/oOtITp5jNV line 1, column 9␤
00:38 p6eval ..rakudo 7ef386: Confused at line 2, near ". 5;"␤in Main (file <unknown>, line <unknown>)␤
00:40 colomon tarski: what were you expecting that to do?
00:40 colomon rakudo: say '1' ~ 5;
00:40 p6eval rakudo 7ef386: 15␤
00:40 tarski i was wondering about how concat works now
00:42 colomon It's ~ now, like my example there.
00:42 tarski colomon, i noticed
00:49 thowe Has the Perl 6 spec been finalized in any way, or is it still subject to change?
00:49 JMorse joined #perl6
00:50 colomon It's not finalized, but the changes are slowing down, I think.
00:50 colomon It goes back and forth with spec improvements and implementation improvements, with info feeding both ways.
00:50 wayland76 thowe: The main bulk is fairly stable, but there are some areas that are still almost unwritten
00:51 wayland76 Threads, for example
00:52 thowe interesting
00:54 nihiliad joined #perl6
00:56 colomon thowe: as a simple example I was part of, someone doing numerical work turned up a bug in Rat involving adding fractions whose denominators temporarily made a number too large to hold in a 32-bit Int.
00:56 tarski are the core operators of perl6 still being modified or have they been finalized?
00:56 colomon Around the time I was adding tests to rat.t that Rat arithmetic failed gracefully in these cases, TimToady was writing that rule into the Specs.
00:56 thowe Rat being "rational"?
00:56 colomon thowe: yes.
00:57 colomon ng: say 1/ 60000 + 1 / 60000;
00:57 p6eval ng 98d34f: 3.33333333333333e-05␤
00:57 colomon hmmm.
00:57 colomon ng: say (1 / 60000 + 1 / 60000).perl
00:57 p6eval ng 98d34f: 1/30000␤
00:58 colomon Interesting, I didn't think that worked in ng.
00:58 colomon that was going to be my example of how it used to fail.
00:59 colomon tarski: I'm not quite sure what you mean by "core operators".
01:00 colomon tarski: I can tell you that in the perl 6 code I've written, only the tiniest changes have been needed because of changes to the Spec.
01:00 colomon tarski: That's over the last eight months or so.
01:01 colomon thowe: anyway, 1 / 60000 + 1 / 60000 used to fail hard, with a completely incomprehensible error message.
01:02 colomon thowe: As soon as we realized what was going on, I fixed the code and the spec was changed to more or less match the changes I was making.
01:02 thowe Is there something like Ruby's BigInteger?
01:02 colomon thowe: That's in the spec, but not yet implemented in Rakudo.
01:02 thowe I guess it is kind of like a numeric in PostgreSQL.
01:03 TimToady Int is supposed to be big
01:03 thowe I'm trying to write something like that in C++ (using GMP) and it's not always easy to decide how certain things should work...
01:03 colomon The basic Int type is unlimited.
01:03 thowe Oh?  And accurate?  Integer math?
01:03 colomon Yes.
01:03 thowe awesome.
01:04 colomon and Rat is supposed to have an Int numerator, but only a 64-bit denominator.
01:04 wayland76 ng: Int $a = 62; Int $b = 8; say $a / $b;
01:04 thowe That's super nice to have.  Especially for business programs that probably deal with money.
01:04 p6eval ng 98d34f: Confused at line 1, near "Int $a = 6"␤current instr.: 'perl6;HLL;Grammar;panic' pc 519 (src/stage0/HLL-s0.pir:336)␤
01:04 colomon right now, though, everything is 32-bits or 64-bits, I believe.
01:05 tarski colomon, i had in mind the basic operators like assignment, arithmetic, logical and relational
01:05 TimToady wayland76: you can't start a declaration with a typename
01:05 wayland76 Yeah, I'm re-reading the spec now.  I've been away from p6 for a month :)
01:05 colomon tarski: I don't know that TimToady has officially locked them down, but I think they're pretty unlikely to change.
01:05 romanhunt does get_hll_global query the global symbol table for perl6 metadata?
01:06 sjohnson missed ya
01:06 tarski colomon, ok thanks
01:06 TimToady tarski: we aim only for a convergent design, not a static design :)
01:08 wayland76 ng: my Int $a = 62; my Int $b = 8; say $a / $b;
01:08 p6eval ng 98d34f: 7.75␤
01:08 wayland76 ng: my Int $a = 62; my Int $b = 8; say $a div $b;
01:08 p6eval ng 98d34f: 7␤
01:08 wayland76 thowe: If by "Integer math", you mean "Integer division", you see you have to use the appropriate operator
01:09 tarski TimToady, oy vey. what about the basic types? are they nailed down, or same thing?
01:11 TimToady define "basic"
01:11 TimToady we have specced native, low-level types like int32 and complex64
01:12 colomon thowe: note that if $a and $b are Ints, $a / $b isn't division at all, it's constructing a Rat.
01:12 TimToady rakudo: say (1/0).WHAT
01:12 p6eval rakudo 7ef386: Rat()␤
01:13 colomon TimToady: which is a perfect example of a corner of the spec I'm not sure we're all comfortable with yet.  :)
01:13 TimToady looks like another name for +Inf to me :)
01:14 TimToady tarski: I quibble with your word "basic" because the native types are further from "basic" mathematical integers than Int is.  :)
01:14 TimToady they're more like constrained types
01:14 tarski TimToady, for example, hashes, lists, scalars, and now there are static types such as Str and Int, etc. are the features of those types/structures expected to change?
01:15 colomon TimToady: but unless you've tweaked something since the last time I've looked, that''s 1/0 = +Inf is not in the spec yet.  :)
01:15 TimToady okay, basic in the Perl 5 sense.  :)
01:15 tarski TimToady, yes sir, thats what i mean
01:16 TimToady anything that is currently in Perl 5 is likely to be fairly well specced
01:17 nbrown_ joined #perl6
01:18 TimToady generally, the default behavior for a hash or array or such is going to degenerate to the P5ish behavior
01:18 sjohnson std:  use v5;
01:18 TimToady hashes still have string keys by default, but may be declared to take object keys
01:18 p6eval std 29297: ok 00:01 104m␤
01:18 sjohnson std:  use v5; local $" = "\n";
01:18 p6eval std 29297: [31m===[0mSORRY![31m===[0m␤Unsupported use of $" variable; in Perl 6 please use .join() method at /tmp/fHPAzZG44u line 1:␤------> [32muse v5; local $"[33m⏏[31m = "\n";[0m␤FAILED 00:01 105m␤
01:18 TimToady sjohnson: but STD doesn't know what that means, and thinks it's still in p6
01:19 sjohnson TimToady: ic.  is this the "ideal" syntax once it's "factory ready"?
01:19 TimToady I have to finish the p5 parser in src/perl6/STD_P5.pm
01:19 TimToady ideal for what?
01:19 sjohnson ideal as in, correct syntax that will be used when release time comes
01:19 sjohnson and also, the "best way" of the timtoady ways
01:20 TimToady the best way of the timtoady ways doesn't involve regressing to Perl 5 :P
01:20 sjohnson haha
01:21 TimToady but that's likely to work
01:21 sjohnson rakudo:  no strict; { $i = 1;} say $i
01:21 p6eval rakudo 7ef386: Confused at line 2, near "say $i"␤in Main (file <unknown>, line <unknown>)␤
01:21 sjohnson rakudo:  no strict; { $i = 1;}; say $i
01:21 TimToady for some definition of work
01:21 p6eval rakudo 7ef386: Symbol '$i' not predeclared in <anonymous> (/tmp/tMsCjVkqC1:2)␤in Main (file <unknown>, line <unknown>)␤
01:21 sjohnson i broketed it!!
01:21 TimToady rakudo doesn't know what "strict" means
01:21 sjohnson i should probably just read the Apocolypses
01:22 TimToady that will give you the original thinking, and some of the [Update] sections might even still be accurate...
01:23 TimToady if you really want to understand history, though, you should read all 361 RFCs
01:24 carlin would be nice if it was 'use lenient;' :-)
01:24 TimToady I was thinking "use cheat" yesterday  :)
01:24 sjohnson use sjohnson;
01:24 sjohnson ( `ー´)
01:25 carlin use less;
01:27 sjohnson i'm pretty stoked about a lot of p6's base class array / list methods
01:27 sjohnson i wonder if i can think up a good one that might be included prior to major rakudo releases
01:28 sjohnson maybe an in_array type thing PHP has
01:28 sjohnson if it hasn't been done already
01:28 sjohnson maybe grep already does that though
01:29 ihrd joined #perl6
01:30 ihrd left #perl6
01:30 sjohnson <-- out of good ideas
01:31 sjohnson rakudo: my @list; @list.push(0); say (@list);
01:31 stephenl1 joined #perl6
01:31 p6eval rakudo 7ef386: 0␤
01:32 sjohnson rakudo: for 2 { print "hi" }
01:32 agentzh joined #perl6
01:32 carlin *sigh* I didn't achieve my proto goal for today because I spent to long finding a silly bug (that was my fault) and now I have to go to work ... ah well
01:32 jaldhar joined #perl6
01:32 p6eval rakudo 7ef386: hi
01:32 carlin later all
01:32 sjohnson cya
01:33 sjohnson rakudo: my $buf;  for 2 { $buf ~= "hi" }; say $buf;
01:33 thowe left #perl6
01:33 p6eval rakudo 7ef386: hi␤
01:33 sjohnson rakudo: my $buf;  for 1 .. 2 { $buf ~= "hi" }; say $buf;
01:33 p6eval rakudo 7ef386: hihi␤
01:34 TimToady you're look for rakudo: my $buf;  for ^2 { $buf ~= "hi" }; say $buf;
01:34 TimToady *looking
01:34 TimToady rakudo: my $buf;  for ^2 { $buf ~= "hi" }; say $buf;
01:34 p6eval rakudo 7ef386: hihi␤
01:36 sjohnson rakudo:  say (^2).WHAT
01:36 p6eval rakudo 7ef386: Range()␤
01:36 sjohnson <--- learning
01:36 sjohnson rakudo:  say (1..2).WHAT;
01:36 p6eval rakudo 7ef386: Range()␤
01:36 * sjohnson tents fingers
01:36 sjohnson cool feature!
01:38 TimToady note that ^2 is 0..1 rather than 1..2
01:38 sjohnson thanks for the headsup.  i couldn't quite figure out a p6 way to print the range vals
01:38 TimToady actually, it's officially 0..^2
01:38 sjohnson rakudo: say Range().list
01:38 p6eval rakudo 7ef386: invoke() not implemented in class 'Range'␤in Main (file <unknown>, line <unknown>)␤
01:39 sjohnson say Range().methods
01:39 sjohnson rakudo:  say Range().methods
01:39 p6eval rakudo 7ef386: invoke() not implemented in class 'Range'␤in Main (file <unknown>, line <unknown>)␤
01:39 sjohnson (´ー` )
01:40 payload joined #perl6
01:40 romanhunt rakudo: say Range().HOW
01:40 p6eval rakudo 7ef386: invoke() not implemented in class 'Range'␤in Main (file <unknown>, line <unknown>)␤
01:40 TimToady omit the ()
01:40 sjohnson rakudo:  say Range.methods
01:40 p6eval rakudo 7ef386: Method 'methods' not found for invocant of class ''␤in Main (file src/gen_setting.pm, line 324)␤
01:40 sjohnson rakudo:  say Range.list
01:40 TimToady .^methods
01:40 p6eval rakudo 7ef386: ␤
01:41 sjohnson rakudo:  say Range.^methods
01:41 p6eval rakudo 7ef386: maxminmaxiteratorfrom_exclusivepopperlfromofScalarStrto_exclusivebyreverseshifttruepostcircumfix:[
01:41 p6eval ..]ACCEPTStominordrandtruncatesortsqrtrindexasinintatanhcoshcosecgrepvaluescharsrootsreverseisaucfirstkvsamecasetancoscapitalizefmtbytesflipdoesp5choplcasinhacotanreducecotanhchracotanh:d:e:fc…
01:41 sjohnson (´ー` )
01:41 sjohnson are they null string terminated?
01:41 sjohnson rakudo: for (Range.^methods) { print "$_ " }
01:41 TimToady say isn't gonna put ' ' between the list elements for you
01:41 p6eval rakudo 7ef386: minmax iterator from_exclusive pop perl from of Scalar Str to_exclusive by reverse  shift true  postcircumfix:[ ] ACCEPTS to min max flip does atanh cosec exp acosec chars can cosech lcfirst roots map cis comb log atan min acos max bytes chop sin rindex tanh Int values asinh acosech
01:41 p6eval ..abs e…
01:42 sjohnson <--- smart
01:42 TimToady now leave out those parens too :)
01:42 sjohnson that is a nice feature no parens
01:42 TimToady rakudo: say ~Range.^methods
01:42 p6eval rakudo 7ef386: ACCEPTS to min max minmax iterator from_exclusive pop perl from of Scalar Str to_exclusive by reverse  shift true  postcircumfix:[ ] tan substr cos fmt bytes pick evalfile acosec join sinh asinh cosech trim asec chr acotanh floor sech asech rand truncate round sort sqrt rindex asin
01:42 p6eval ..split …
01:43 TimToady stringifying a list puts spaces
01:43 sjohnson that squiggle must be some sort of specical char
01:43 sjohnson oh
01:43 sjohnson rakudo: say {Range.^methods}
01:43 p6eval rakudo 7ef386: _block55␤
01:43 sjohnson ahh thats what i get for being too createive
01:43 sjohnson rakudo: say ${Range.^methods}
01:43 TimToady add ""
01:43 p6eval rakudo 7ef386: say requires an argument at line 2, near " ${Range.^"␤in Main (file src/gen_setting.pm, line 2593)␤
01:43 ihrd joined #perl6
01:43 sjohnson rakudo: say "{Range.^methods}"
01:43 sjohnson oh that is what i meant to do
01:43 p6eval rakudo 7ef386: minmax iterator from_exclusive pop perl from of Scalar Str to_exclusive by reverse  shift true  postcircumfix:[ ] ACCEPTS to min max chop tanh split exp match acosh words can cotan atan2 lcfirst uc srand keys map polar cis log substr min max pick first evalfile trans sin Int acosec
01:43 p6eval ..join s…
01:44 sjohnson there we go
01:44 sjohnson cute methods
01:44 sjohnson rakudo:  say ^5
01:44 p6eval rakudo 7ef386: 01234␤
01:44 sjohnson rakudo:  say "{^5}"
01:44 tylerni7 joined #perl6
01:44 ihrd left #perl6
01:44 p6eval rakudo 7ef386: 0 1 2 3 4␤
01:44 TimToady rakudo: say ~^5
01:45 p6eval rakudo 7ef386: 0 1 2 3 4␤
01:45 TimToady arguably incorrect, though
01:45 sjohnson rakudo:  say "^5 is {^5]"
01:45 p6eval rakudo 7ef386: Unable to parse block; couldn't find final '}' at line 2, near "]\""␤in Main (file <unknown>, line <unknown>)␤
01:45 sjohnson rakudo:  say "^5 is {^5}"
01:45 p6eval rakudo 7ef386: ^5 is 0 1 2 3 4␤
01:45 sjohnson this language spec seems pretty powerful and robust
01:45 TimToady rakudo: say ~^ "foo"
01:46 p6eval rakudo 7ef386: ␤
01:46 sjohnson i'm really happy for it's near release
01:46 sjohnson its*
01:46 TimToady rakudo doesn't implement the buffer complement yet
01:46 sjohnson is that the :buffer thing?
01:47 TimToady a buffer is like a string, but just an array of integers really
01:47 TimToady like old-fashioned byte strings are really buffers
01:47 TimToady buffers don't know about unicode
01:48 sjohnson so it is possible, to do $buf[2] type editing?
01:48 sjohnson or would i be doing @buf[2]
01:49 sjohnson kind of like ye olde C char arrays?
01:49 TimToady depends on the name of the variable, but yes, like C strings
01:49 TimToady except not 0 terminated
01:50 sjohnson is there any sort of XS type thing for Perl 6?  or does it depend on its interpretor
01:50 sjohnson ie, rakudo, smop, etc may have their own way of doing things...
01:50 TimToady implementation dependent
01:50 TimToady though anyone that implements "use v5" will probably want to give access to XS
01:50 sjohnson use v1;
01:50 sjohnson classic mode
01:51 sjohnson i had a look at some XS code but it was a bit over my head.  do you know the internals quite well?
01:51 sjohnson or did another major perl5 dev kind of take care of that XS system
01:51 TimToady well, there's a "punie" language on parrot that implements Perl 1
01:51 TimToady so they should be able to support "use v1"
01:52 sjohnson heh, that's kind of cool
01:52 sjohnson was kind of curious to see the differences in the languages
01:53 sjohnson TimToady: did you ever do C++ sometime in your past?
01:53 sjohnson or are you mostly a "C guy"
01:54 TimToady I've done some C++, which is why Perl 5 got objects
01:55 sjohnson have you ever met Bjarne or Mr. Ritchie
01:55 sjohnson ?
01:55 jimi_hendrix TimToady, you wrote perl6's spec?
01:55 sjohnson i believe he helped serve as an "editor" with probably his own ideas as well
01:56 cottoo joined #perl6
01:56 sjohnson compiled from various suggestion papers submitted to him
01:56 jimi_hendrix ah
01:56 wayland76 Maybe arbiter might be better
01:56 TimToady a lot of people have participated in the design, but I'm where the buck stops
01:57 sjohnson heheh
01:57 jimi_hendrix TimToady, hehe
01:57 sjohnson all bribes should thus be directed to him
01:57 TimToady .oO(if only that implied that some bucks would stop here too... :)
01:57 wayland76 Any fool can change the spec, but TimToady has the final word.  Sometimes there are arguments that convince him that he's wrong, though, so it's not as bad as it might sound.  We *asked* him to make the final decisions
01:57 diakopter see http://perlcabal.org/syn/ (Apocalypses first, then the Exegeses, then the Synopses)
01:57 jimi_hendrix TimToady, btw, THANK YOU FOR OBJECTS! i hated the hacky perl OO in perl5
01:58 diakopter ... he was referring to perl5 when he said it got objects
01:58 TimToady yes, well, rule 2 and all that...
01:58 jimi_hendrix i feel lost
01:58 * jimi_hendrix goes back to sleep
01:59 TimToady Rule 1: Larry is always right.  Rule 2: When Larry changes his mind, he's still right.  :)
02:00 wayland76 hugme: hug cotto's computer
02:00 * hugme hugs cotto's
02:00 wayland76 Interesting :)
02:00 jimi_hendrix TimToady, hehe
02:00 jimi_hendrix the star language quote is my favorite :)
02:00 jimi_hendrix (the rules about hubris and laziness are up there too)
02:02 nbrown joined #perl6
02:02 TimToady so, basically, apply Rule 1 to Perl 5 and Rule 2 to Perl 6.  :)
02:03 jimi_hendrix xD
02:03 jimi_hendrix *
02:03 sjohnson im still trying to figure out exactly what those 3 values mean
02:04 jimi_hendrix does vim have perl6 highlights yet?
02:06 sjohnson http://kobesearch.cpan.org/htdocs/Syntax-Highlight-Perl6/Changes.html
02:07 diakopter no..
02:07 sjohnson syn off
02:07 diakopter (that's not the place to find perl6.vim)
02:08 TimToady http://github.com/petdance/vim-perl maybe
02:08 wayland76 Googling << "star language" "larry wall" >> doesn't come up with any useful hits
02:09 diakopter http://github.com/petdance/vim-perl/blob/master/indent/perl6.vim   seems fairly up-to-date, yeah
02:09 TimToady the * language is actually from GEB, iirc
02:09 TimToady dinner &
02:09 vamped joined #perl6
02:10 diakopter Sternensprache
02:10 jimi_hendrix TimToady, oh really? a friend told me it was Wall's
02:10 wayland76 Ah, ok.  I'm currently reading GEB, so I'll come across it if I haven't
02:10 diakopter zvezdnyj jazyk
02:10 jimi_hendrix GEB = ?
02:11 diakopter http://en.wikipedia.org/wiki/G%C3%B6del,_Escher,_Bach
02:11 sjohnson jimi_hendrix: TimToady is Larry Wall
02:11 wayland76 Does Sternensprache mean what I think it means?
02:12 sjohnson .. maybe i misread you
02:12 jimi_hendrix i am lost
02:12 sjohnson sounds like german for sore throat
02:12 wayland76 sjohnson: Well, I thought stern = rear, and sprache = speak
02:12 jimi_hendrix lol
02:13 sjohnson i also know absolutely no german, so don't quite me on anything
02:13 vamped stern = star ?
02:13 wayland76 Ah, that would make sense :)
02:13 vamped I've a question for TimToady
02:13 wayland76 jimi_hendrix: Are you found now?
02:14 vamped TimToady: I am wondering if you are active still in P5 development, or if you're letting "the P5 camp" take over the language.
02:15 jimi_hendrix wayland76, i am still looking for my cerebellum after my head exploded, give me a minute
02:16 jimi_hendrix well sleep will help clear my brain...
02:16 jimi_hendrix and if TimToady is larry wall, then you are my favorite programmer
02:16 jimi_hendrix night all
02:16 wayland76 'night
02:20 vamped afk - will look back later.
02:31 Wolfman2000 joined #perl6
02:44 crythias joined #perl6
02:44 ihrd1 joined #perl6
02:51 envi^office joined #perl6
02:56 aubreyja_ joined #perl6
03:01 JimmyZ joined #perl6
03:05 orafu joined #perl6
03:30 yahooooo joined #perl6
03:37 sjohnson perl6: say 3;
03:37 p6eval elf 29297, pugs, rakudo 7ef386: 3␤
03:40 zamolxes joined #perl6
03:49 sjohnson test
03:53 synth joined #perl6
03:56 colomon shouldn't day 9 of the Advent calendar have gone live by now?
03:57 PerlJam @seen masak
03:57 lambdabot Unknown command, try @list
03:57 PerlJam seen masak
03:57 sjohnson im surprised that isn't in there!
03:57 colomon I'm going to publish what he's got, it looks fine to me.
03:58 PerlJam I'd wait
03:58 PerlJam He'll be up in a couple of hours
03:58 colomon he had it scheduled to up at midnight UTC, not sure why it didn't.
03:59 PerlJam hmm.
04:00 PerlJam Well, go ahead an publish it then I guess
04:00 colomon Already did before you said "I'd wait."  :)
04:00 zaslon lolperl6adventhazblogged! perl6advent++ 'Day 9: Having beautiful arguments (and parameters)': http://perl6advent.wordpress.com/2009/12/09/day-9-having-beautiful-arguments-and-parameters/
04:00 colomon I've just backlogged, I'm pretty sure he did intend it to go up.
04:01 colomon It's a lovely post, at any rate.
04:13 * colomon should be in bed, but is listening to Ron Hynes and trying to get a few more passing tests for ng instead.
04:18 * Wolfman2000 just finished reading the day 9 post. Definitely expands on what I did...I appreciate it.
04:24 pugs_svn r29298 | colomon++ | [t/spec] Change "list reverse" to just "reverse".  Not sure what the list was supposed to be doing there, but it was confusing ng, and all the tests worked with it.
04:26 dalek rakudo/ng: ff5edcf | (Solomon Foster)++ | t/spectest.data:
04:26 dalek rakudo/ng: Turn on S32-list/reverse.t.
04:26 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/ff5edcff82810b6a6949041a1a677d574b9cd5b0
04:30 diakopter <sigh /> my C# nfa engine made the mono JIT segfault
04:31 diakopter oh, and made the mono C# compiler produce invalid IL
04:32 colomon joined #perl6
04:32 dalek rakudo/ng: 5bc904a | (Solomon Foster)++ | src/core/Any-list.pm:
04:32 dalek rakudo/ng: proto and slurpy sub versions of reverse.
04:32 dalek rakudo/ng: Just realized reverse.t won't work without these!
04:32 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/5bc904adf12514255f56b827c0621d98670f6b2c
04:42 pugs_svn r29299 | colomon++ | [t/spec] Fudge for ng.
04:44 gfx joined #perl6
04:44 dalek rakudo/ng: 7796544 | (Solomon Foster)++ |  (2 files):
04:44 dalek rakudo/ng: Add proto for join.
04:44 dalek rakudo/ng: Turn on S32-list/join.t test.
04:44 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/779654436a7ade84615619bfdb50d011c6e2c36b
05:39 orafu joined #perl6
05:46 vamped left #perl6
05:57 cotto joined #perl6
06:12 am0c joined #perl6
06:16 masak joined #perl6
06:16 masak good actual morning, #perl6! \o/
06:17 PerlJam masak: guten Nacht  (hopefully I got that right :)
06:18 masak PerlJam: I think you did, but I'm not German. :P
06:18 masak PerlJam: moritz_ my IRC twin, is.
06:18 PerlJam I know.
06:19 PerlJam I'm just trying to not be so American  :)
06:19 masak oh. :)
06:19 masak well done, in that case. :)
06:19 PerlJam anyway, it's 12:19 here
06:19 masak PerlJam: 晚安!
06:21 PerlJam and what ever that means right back at you  :)
06:21 masak :)
06:21 masak (it means 'guten Nacht'.)
06:23 PerlJam masak: hey, any ideas why your post didn't er ... post when it was supposed to?
06:23 PerlJam colomon had to manually kick it into being.
06:23 masak colomon++
06:23 masak PerlJam: no idea, except that I had a slight glitch with auto-posting last time as well.
06:24 masak I blame software.
06:24 PerlJam Usually it's humans that cause the problems though.
06:24 masak nod.
06:25 masak perhaps I missed a step somewhere.
06:27 wayland76 PerlJam: when you see Masak, write "Gøøð Mørn"
06:28 masak :D
06:28 PerlJam Awesome presentation title: A fictitious domain/distributed Lagrange multiplier method for the particulate flow of Oldroyd-B fluids
06:28 wayland76 (sorry, that was supposed to be a joke)
06:28 * PerlJam makes a note to miss that particular talk
06:28 masak wayland76: it was funny. :)
06:28 wayland76 My Dad's thesis had something about pseudopotentials in it
06:29 wayland76 My sister joked that he had a lot of pseudo-potential, but it didn't pan out :)
06:32 * PerlJam wonders if he has any finnish saved away somewhere
06:33 PerlJam A long time ago, it seemed there were many more Finns on IRC than today.  I used to ask them how to say phrases and save them in a file for later use.
06:34 PerlJam haluan nuolla seksikk�it� varpaitasi
06:34 PerlJam That means "I want to lick your sexy toes" if what I have here is accurate :)
06:36 diakopter masak: you woke up!
06:36 masak diakopter: I know!
06:36 masak diakopter: and you know what? I feel rested!
06:36 masak PerlJam: that sounds about right.
06:37 masak PerlJam: two characters came out as encoding trouble, though.
06:40 PerlJam anyway, it is *Way* past my bed time, so good night all.  See you in a few hours  :)
06:40 * PerlJam .zZ &
06:40 wayland76 'night
06:40 diakopter masak: I broke mono
06:41 masak :/
06:41 diakopter :)
06:41 masak wayland76: 'night!
06:42 masak colomon: "1/0 = +Inf isn't in the spec *yet*". you sound like it should ever be.
06:44 am0c (test)
06:49 wayland76 masak: Sorry, I was replying to PerlJam.  it's about 6pm here :)
06:50 masak oh, right.
06:50 wayland76 I've finally gotten the hang of this "Morning = Americans, Evening = Europeans, 3-5pm = no one here but us Australians" :)
06:51 masak heh. :)
06:51 masak here, it's "Afternoon = pmichaud, Night = jnthn, Morning = mberends" :)
07:01 kaare joined #perl6
07:02 JimmyZ ALL day = masak?
07:02 masak JimmyZ: during the past week, yes. not so anymore.
07:03 JimmyZ ;)
07:04 brrant joined #perl6
07:30 snearch_ joined #perl6
07:31 moritz_ re
07:33 masak good morning, moritz_.
07:37 hicx174 joined #perl6
07:41 ihrd1 left #perl6
07:51 Lorn joined #perl6
07:52 elkng joined #perl6
07:58 elkng_ joined #perl6
07:58 elkng_ left #perl6
08:00 Baggio_ joined #perl6
08:01 mdxi and a very late (and crazy, in a good way) night for me on the east coast of NA. zzzzz
08:03 allbery_b joined #perl6
08:26 iblechbot joined #perl6
08:33 masak http://www.nntp.perl.org/group/perl.ponie.dev/2006/08/msg487.html
08:33 masak this was three years ago, and then some.
08:34 masak I'm curious about the phrase "When it [Ponie] had good momentum and sponsored developers, it needed a number of Parrot features that weren't yet available."
08:34 masak in the three years since, how do we stand with those Parrot features?
08:35 mathw I always felt that Ponie could probably be taken up again one day
08:35 mathw By somebody smarter than me, which is going to be the problem throughout
08:36 moritz_ I think it's not primarily about smartness
08:36 masak agree.
08:36 moritz_ but about knowing the Perl 5 and Parrot internals well enough
08:36 masak also, having an astounding supply of long-term tuits.
08:37 moritz_ ng: say 0.WHAT
08:37 p6eval ng 779654: Int()␤
08:37 moritz_ ng: say abs(0).WHAT
08:37 p6eval ng 779654: Int()␤
08:37 masak ng: say 'so'.WHAT
08:37 p6eval ng 779654: Str()␤
08:37 mathw Tuits are the biggest problem
08:38 masak mathw: yeah. it's a big difference from a limited project like the Advent Calendar.
08:38 masak mathw: in fact, Pugs got started by first being limited to a subset of Perl 6.
08:39 masak probably wouldn't have at that time otherwise.
08:39 mathw Well the Advent Calendar is easy
08:39 mathw We're mostly just playing off the knowledge we already have
08:40 mathw We can be comprehensive because there are so many of us
08:40 Baggio_ joined #perl6
08:40 masak mathw: yes, but look at the energy put into it. in kW or whatever.
08:41 masak mathw: it's currently the most active project in Perl 6 land, more so even than Rakudo.
08:41 mathw Also, the Advent Calendar is the result of many tuits spent over a long period of time, I suppose
08:41 mathw In that we have to acquire that knowledge
08:41 pugs_svn r29300 | moritz++ | [t/spec] use smart match for type checking in abs.t, comparing $thing.WHAT is a bit too strict
08:41 mathw And we've all studied things in order to do that
08:41 moritz_ .o( kW is power, not energy :-)
08:41 masak moritz_: oops. thanks.
08:41 masak look at the power put into it.
08:42 * mathw wonders what @ryanmaple doesn't like about Perl 6
08:44 masak mathw: also, it's odd that he thinks he *has* to learn it anyway, or 'burn in Perl hell'.
08:45 moritz_ people are weird.
08:45 masak but they're better than the alternatives. :P
08:47 * masak resolves to read the Moose test suite for Christmas
08:48 mathw He probably thinks Perl 5's going to drift away
08:48 mathw Which is clearly not going to happen
08:48 mathw At least not without something like Ponie
08:48 mathw Because projects can't just transition wholesale onto Perl 6
08:48 masak no.
08:48 mathw I hope what Perl 6 will inspire is new projects to choose it over other languages
08:49 mathw A goal of mine is to see good GObject library bindings, and see if we can get people writing Linux desktop things in Perl 6
08:49 mathw I think it'd be a great language for sticking UIs together with
08:49 mathw Even if you push your serious calculation stuff into libraries
08:50 mathw If you write them in Vala, and we've got GObject Introspection bindings generators for Perl 6, it'd be trivial to call them
08:50 mathw I don't seem to be able to envisage any good situation for anything at all that doesn't involve multiple languages. I guess some people wouldn't like that.
08:52 farkerd joined #perl6
09:08 masak here's the thread that announced Pugs. http://groups.google.com/group/perl.perl6.language/browse_thread/thread/5e4a1efa105db3c2?pli=1
09:09 masak it bears an interesting resemblance with Linus' announcement of Linux. "just a hobby, won't be big and professional like gnu"
09:09 moritz_ well, it didn't stay side-effect free for long :-)
09:09 masak exactly.
09:09 masak and Linux didn't stay just a hobby for long.
09:10 * mathw approves of today's advent post
09:11 masak \o/
09:12 mathw where clauses are wonderful things
09:13 masak I didn't describe them; only used them.
09:13 masak it felt like any description of them would only complicate things. :P
09:17 Tene *sigh*
09:17 Tene Another night without getting anything done.
09:18 Tene I hate these early-morning classes.  they take everything out of me for the rest of the day.
09:18 Tene Goodnight all.
09:18 masak hugme: hug Tene
09:18 * hugme hugs Tene
09:18 masak Tene: 'night!
09:19 c9s_ joined #perl6
09:22 moritz_ ng: sub increase_by_one($n is rw) { ++$n }; increase_by_one(42)
09:22 p6eval ng 779654: Cannot assign to readonly value␤current instr.: '&infix:<=>' pc 13684 (src/builtins/Junction.pir:124)␤
09:24 mathw well, go on and fix it then :P
09:24 cogno joined #perl6
09:25 * mathw is writing tests in C++ and finding it moderately unpleasant
09:25 mathw need a regex library...
09:27 masak hm, Andrew Shitov mentioned a regex library in C++.
09:27 masak what was its name again?
09:27 moritz_ I think boost comes with a regex library, amongst other things
09:28 mathw yeah
09:28 mathw we've got libpcre floating around somewhere
09:29 mathw unfortunately our build system can't cope with Boost::Regex at the moment, as it only understands Boost header-only libraries
09:29 mathw fortunately boost::shared_ptr is header-only
09:30 masak right, boost. moritz_++
09:30 mathw boost is astonishing
09:30 mathw it even has a library for named parameter passing
09:30 mathw although it's a bit messy
09:30 masak what is boost? a kind of Spring for C++?
09:31 mathw and some of the stuff they do with template metaprogramming is utterly terrifying
09:31 mathw boost is a collection of C++ libraries
09:31 mathw smart pointers, data structures, parsers, programming aids, threading, I/O...
09:31 mathw Kind of like, everything you wished was in the standard library, but isn't (yet)
09:32 mathw Just a few Boost libraries, correctly applied, can make a massive difference to your code
09:32 mathw that's a positive difference of course, as they're correctly applied :)
09:33 moritz_ template metaprogramming can be quite scary
09:33 mathw just a tad
09:33 moritz_ I think I've mentioned the linear algebra library "eigen" at times here
09:33 mathw there is one team here who are reputedly using Boost::MPL
09:33 mathw I don't even want to *think* about what they're doing with it
09:34 moritz_ that library has the most scary expression template system I've ever seen
09:34 moritz_ but it allows you to write things like A = B * C + f*D, where A, B, C, D are matrices and f is a scalar
09:34 moritz_ and it evaluates such an exression in a single, vectorized operation
09:35 moritz_ and without creating a temporary
09:36 mathw ...
09:36 mathw And I bet the error messages when it goes wrong are spectacular
09:36 moritz_ yes
09:37 moritz_ it tells me about template parameter mismatches in 5 line long types
09:37 japhb joined #perl6
09:39 colomon joined #perl6
09:40 mathw That's about what I'd expect
09:41 colomon moritz_: on the abs(0).WHAT thing -- I'm under the impression ng parses that as (0).WHAT.abs.
09:43 mathw That's... surprising
09:43 pmurias joined #perl6
09:44 colomon At least, that was the only way I was able to make sense of the messages I was seeing.  Maybe there is some other explanation.
09:45 colomon ng: say abs(4).WHAT
09:45 p6eval ng 779654: sh: ./perl6: No such file or directory␤
09:46 colomon ng: say abs(4).WHAT
09:46 p6eval ng 779654: sh: ./perl6: No such file or directory␤
09:48 colomon ng: say abs(4).WHAT
09:48 p6eval ng 779654: Int()␤
09:48 colomon ng: say 4.abs.WHAT
09:48 p6eval ng 779654: Num()␤
09:48 colomon ng: say (abs(4)).WHAT
09:48 p6eval ng 779654: Num()␤
09:48 mathw ng: my $a = abs(4); say $a.WHAT;
09:48 p6eval ng 779654: Num()␤
09:48 mathw Well, isn't that interesting
09:49 colomon abs is an operator, you see....
09:50 flip214 joined #perl6
09:50 flip214 Hello everybody!
09:50 flip214 Clap your hands!
09:50 flip214 It's feeling good ...
09:50 flip214 and so on and so on, keep working, thanks
09:51 flip214 Does anybody have some '/path/to/file'.stat for me?
09:51 flip214 Or maybe .IO.s, .IO.d or something like that?
09:51 masak flip214: I usually do things like 'file' ~~ :e
09:54 Baggio_ joined #perl6
09:54 mathw I still don't like that syntax
09:55 masak which one?
09:56 mathw 'file' ~~ :e
09:56 masak there's a fundamental difficulty in the whole strings/files/stats design area.
09:56 masak a pair of opposing forces, if you will.
09:56 masak (1) we want things to be easy to write
09:56 masak (2) we want OO-y and type-wise purity
09:57 mathw 'file'.IO.e is no harder to write
09:57 masak I think "'file' ~~ :e" wins on (1), but fails on (2).
09:58 masak even "'file'.IO" is doubtful, because it claims that Str needs to know about statbufs.
09:58 flip214 I thought "...".IO.e to be both 1 and 2
09:58 flip214 No ... but there's a way to get a statbuf from a string
09:58 mathw No, it claims that Str needs to know how to turn itself into a filename
09:58 flip214 likewise from a handle
09:58 masak it's certainly more (2) than "'file' ~~ :e"
09:58 mathw which then knows about stat
09:59 flip214 Well, I read the bit about pathname quoting p{} ...
09:59 masak even Str knowing how to turn itself into a filename feels less-than-pure to me.
09:59 flip214 and while I can understand it (at least for windows users), it feels a bit wrong ....
10:00 moritz_ actually windows has an api for accessing file names as text strings
10:00 flip214 at least if it's more than a "quoting without escape"
10:00 mathw masak: yeah, I'm not entirely sure that's good either
10:00 moritz_ as opposed to unix
10:00 masak flip214: it's an idea with merit, but one of those things that p6l tends to discuss until the idea is destroyed. :/
10:00 moritz_ in which file names are just buffers
10:00 flip214 that's another thing I've been thinking about ...
10:00 jl_2 joined #perl6
10:00 simcop2387 joined #perl6
10:00 [particle] joined #perl6
10:00 mj41 joined #perl6
10:00 brody joined #perl6
10:00 PZt joined #perl6
10:00 estrai joined #perl6
10:01 flip214 the *@ARGV should perhaps be a Buf type, as we can only guess its encoding
10:01 masak flip214: did you mean @*ARGV? is there still such a variable?
10:01 flip214 I don't know how a Str is stored internally, but if it's something else than Buf+encoding information (say, autoconvert to utf8) I wouldn't be happy
10:02 flip214 yes, sorry, just quick typing
10:02 flip214 because if a user enters a string on the commandline, and this has to be converted to something else, only to be converted back to be used in an open() call, that's (at least IMO) inacceptable
10:02 moritz_ flip214: you're not supposed to care about how a Str is stored internally
10:03 moritz_ but you're right that there should be a way to access the Buf nature of @*ARGS
10:04 flip214 And should Buf have most of the same methods as a Str? RegexMatch, substr, etc?
10:04 flip214 Because if it doesn't, and it has to be converted to do matching, that feels bad, too
10:04 flip214 But maybe I'm worrying too much
10:04 flip214 Or not enough ... encoding issues are always bad
10:04 moritz_ no, it's a good question
10:06 moritz_ basically we have three classes of types so far: pure text strings (Str), buffers that know their encoding (utf8, utf16le etc.), and "pure" buffers
10:06 moritz_ I think you can argue that utf8 and utf16 should automatically allow all the operations that Str supports
10:07 moritz_ however doing Buf().match(/\w/) doesn't make sense
10:07 moritz_ because \w implies "word character", and a buffer has no ideas about what is a word character and what not
10:07 flip214 maybe that should be a plain ASCII word character?
10:08 flip214 So there should be an "C" locale Buf encoding, too
10:08 Baggio_ joined #perl6
10:10 flip214 In parrot there's a compilers/ncigen ...
10:10 flip214 Does someone have experience with that?
10:11 masak phenny: tell jnthn : since you're reading papers on metamodels, you might find this paper on ADTs and OO classes interesting. http://delivery.acm.org/10.1145/1650000/1640133/p557-cook.pdf?key1=1640133&amp;key2=6193199521&amp;coll=GUIDE&amp;dl=GUIDE&amp;CFID=65017608&amp;CFTOKEN=11430493 it's quite short, and draws interesting parallels between the two worlds.
10:11 phenny masak: I'll pass that on when jnthn is around.
10:11 Baggio_ joined #perl6
10:12 flip214 masak: I can't read that, it needs an ACM account
10:12 masak flip214: :/
10:13 masak flip214: I'm probably inside a uni wall that I don't know about, then.
10:13 moritz_ rakudo: say 1234567890.flip.comb(/\d**1..3/).join('.').flip
10:13 p6eval rakudo 7ef386: 1.234.567.890␤
10:13 flip214 But if that's the same, we're ok: http://www.cs.utexas.edu/~wcook/Drafts/2009/essay.pdf
10:14 masak flip214: yep. thanks.
10:15 masak phenny: tell jnthn better URL from flip214++: http://www.cs.utexas.edu/~wcook/Drafts/2009/essay.pdf
10:15 phenny masak: I'll pass that on when jnthn is around.
10:16 flip214 masak: but if you can easily read such ACM things, then I'll know who to ask next time ;-}
10:18 jl_2 joined #perl6
10:18 simcop2387 joined #perl6
10:18 [particle] joined #perl6
10:18 mj41 joined #perl6
10:18 brody joined #perl6
10:18 PZt joined #perl6
10:18 estrai joined #perl6
10:20 flip214 > flip214 | In parrot there's a compilers/ncigen ... Does someone have experience with that?
10:20 lambdabot <no location info>: parse error on input `|'
10:20 flip214 sorry, that should've been quoting ...
10:21 mathw lambdabot--
10:22 * moritz_ is tempted to hack karma tracking into hugme, and kick lambdabot for good
10:22 mathw yes
10:22 mathw please do
10:22 moritz_ sadly ELITTLETUITS atm
10:23 Baggio_ joined #perl6
10:24 sjohnson hi guys!
10:24 mathw ETOOFEWTUITS, surely
10:24 mathw or mayb eyou have tuits, but they are small ones
10:24 mathw hmm
10:24 mathw we could get all philosophical about that
10:24 mathw hi sjohnson
10:24 sjohnson hi matt
10:26 masak hi sjohnson!
10:26 mathw sjohnson: what's upo
10:26 masak whoz op?
10:26 mathw s/o $$//
10:26 mathw masak: you
10:26 masak :D
10:27 masak "op bit by street slang".
10:27 sjohnson hi masak
10:28 sjohnson mathw: just got home from shooting pool and avoiding a bar fight with my stupid yet awesome pool mentor
10:28 sjohnson ... but perl6-related... really stoked for the rakudo release soon
10:29 mathw :D
10:29 mathw I'm getting ready for the weekly fire alarm test. Fingers in ears...
10:29 moritz_ weekly?
10:29 moritz_ paranoia?
10:29 mathw rules
10:29 mathw the alarms must be tested every week
10:30 mathw there are people who have to go around and make sure they're all making noises
10:30 masak if I were a fire, I'd go off Monday mornings, when people were expecting a drill...
10:30 mathw ah well the rule is, if the test lasts for more than thirty seconds then we must evacuate
10:31 masak even more fun!
10:31 mathw unfortunately once when they changed maintenance people, they managed to be incapable of shutting it off for ten minutes
10:31 mathw by which time we were all outside in the rain
10:31 mathw office management were not impressed
10:31 mathw because they hadn't bene able to get their umbrellas, and it ruined their hair
10:32 masak lunch &
10:32 mathw LUNCH?
10:32 mathw sigh
10:32 ashizawa joined #perl6
10:33 moritz_ good idea, actually
10:38 flip214 enjoy your happy meal
10:41 kaare joined #perl6
10:47 gfx joined #perl6
10:48 sjohnson hows it going moritz?
10:55 jl_2 joined #perl6
10:55 simcop2387 joined #perl6
10:55 [particle] joined #perl6
10:55 mj41 joined #perl6
10:55 brody joined #perl6
10:55 PZt joined #perl6
10:55 estrai joined #perl6
11:04 quantumEd joined #perl6
11:09 wayland76 sjohnson: It looks like "elsewhere" is the correct answer to your question :)
11:09 mathw hi wayland76
11:10 wayland76 Hi :)
11:11 Juerd_ What does Array.join return if the array contains both Strs and Bufs?
11:17 sjohnson night guys :)
11:17 wayland76 goodnight
11:17 flip214 rakudo: my @ar= 1,2,3; @ar ==> @ar;
11:18 p6eval rakudo 7ef386: Feed operators are not yet implemented in Rakudo, sorry␤in sub
11:18 flip214 Does anyone know when they will be?
11:18 flip214 So that the operations can be written in the flowing order, instead of backwards (map,grep, etc)
11:19 jnthn oh hai, #perl6
11:19 phenny jnthn: 10:11Z <masak> tell jnthn : since you're reading papers on metamodels, you might find this paper on ADTs and OO classes interesting. http://delivery.acm.org/10.1145/1650000/1640133/p557-cook.pdf?key1=1640133&amp;key2=6193199521&amp;coll=GUIDE&amp;dl=GUIDE&amp;CFID=65017608&amp;CFTOKEN=11430493 it's quite short, and draws interesting parallels between the two worlds.
11:19 phenny jnthn: 10:15Z <masak> tell jnthn better URL from flip214++: http://www.cs.utexas.edu/~wcook/Drafts/2009/essay.pdf
11:20 jnthn masak: Tack!
11:22 flip214 happy meal
11:28 simcop2387 joined #perl6
11:29 xomas_ joined #perl6
11:40 jferrero joined #perl6
11:42 jl_2 joined #perl6
11:42 [particle] joined #perl6
11:42 mj41 joined #perl6
11:42 brody joined #perl6
11:42 PZt joined #perl6
11:42 estrai joined #perl6
11:49 envi^home joined #perl6
11:51 moritz_ http://şøñđëřżēıċħęŋđőmæîņĭśŧşũþėŗ.de/char.jpg
11:53 masak heh. for once, Emacs' URI module fails on that one. :)
11:53 moritz_ (sonderzeichendomain could be translated as "special character domain")
11:53 moritz_ masak: so does Regexp::Common, which my IRC logs use
11:54 masak software: we're not there yet.
11:56 jnthn My IRC client didn't highlight that. :-/
11:56 Baggio_ joined #perl6
11:57 spinclad that ... is a _very_ silly name
11:57 moritz_ aye.
11:57 moritz_ I like it.
11:59 flip214 Well, konsole lets me open that.
11:59 masak kønsøle++
12:00 flip214 Well, http://göögle.de does something different from http://göogle.de
12:01 spinclad i count one, two, or three arguably undecorated characters
12:01 flip214 interesting ...
12:02 spinclad but the first counts as a negative decoration
12:06 spinclad .u m
12:06 phenny U+006D LATIN SMALL LETTER M (m)
12:06 spinclad and i missed that one entirely
12:08 payload joined #perl6
12:10 hanekomu joined #perl6
12:14 Astoria` joined #perl6
12:14 Astoria` Hello
12:15 masak hi!
12:15 Astoria` Hi masak
12:22 lichtkind joined #perl6
12:23 gfldex joined #perl6
12:24 gfldex is there an easy way to type cast a whole list (untyped) to a typed list?
12:26 moritz_ gfldex: not yet. We've been discussion various approaches for that, but haven't settled on one yet
12:27 bluescreen joined #perl6
12:30 masak gfldex: one thorny problem with that is what to do when the list is lazily infinite.
12:31 masak say, my @a = 5..Inf, "lolnotanint"; and then try to cast that to Array[Int].
12:31 ihrd joined #perl6
12:31 moritz_ that would never get to the "lolnotanint", so not a problem :-)
12:31 moritz_ but the problem as such persits
12:32 ihrd left #perl6
12:32 moritz_ *persists
12:32 moritz_ maybe it could check the first 1 or 2 elements, and defer the rest of the type checks to the evaluation time
12:39 asdasd joined #perl6
12:40 gfldex the naive way would be @list_of_strings>>.Num , what doesnt work because it gets out of order and Str does not implement Num
12:40 gfldex but it looks neat :)
12:41 Baggio_ joined #perl6
12:42 moritz_ it doesn't get out of order
12:42 moritz_ the execution is not in order, but the result is
12:42 moritz_ but in the end it also just returns a List, not a List[Num]
12:43 DJ-Dongdot joined #perl6
12:45 DJ-Dongdot joined #perl6
12:57 moritz_ rakudo: say "45".num
12:57 p6eval rakudo 7ef386: Method 'num' not found for invocant of class 'Str'␤in Main (file src/gen_setting.pm, line 324)␤
12:57 moritz_ rakudo: say "45".Num
12:57 p6eval rakudo 7ef386: Method 'Num' not found for invocant of class 'Str'␤in Main (file src/gen_setting.pm, line 324)␤
12:57 moritz_ rakudo: say <42 23 7>.map(+*).perl
12:57 p6eval rakudo 7ef386: [42, 23, 7]␤
12:59 Tene rakudo: say <42 7 23>.sort(-*).perl
12:59 p6eval rakudo 7ef386: ["42", "23", "7"]␤
12:59 gfldex map(+*) does not look neat. It looks like ... perl :D
13:01 moritz_ anyway, >>.Num is supposed to work, in the sense that it converts each item of the list to a number
13:05 masak gfldex: well, Perl 6 is all about taking line noise to a higher level of abstraction. :)
13:07 moritz_ luckily the number of bugs is rougly proportional to the lines of code
13:07 moritz_ most independent of the abstraction level of the programming language
13:07 moritz_ which is why expressive languages produce better code :-)
13:11 masak as overgeneralizations go, that's pretty accurate.
13:12 moritz_ insert $appropriate-degeneracy here :-)
13:13 takadonet morning all
13:16 meppl joined #perl6
13:20 Baggio_ joined #perl6
13:21 KatrinaTheLamia joined #perl6
13:21 takadonet wow the Perl6 advent calendar is really slow... that's a good thing!
13:23 masak not so slow here...
13:23 moritz_ the admin interface is slow, the blog itself seems fine here
13:24 takadonet it's better now but a few minutes ago could not even load a page
13:26 masak .oO( we need to get slashdotted again... )
13:27 moritz_ hey, did anybody submit it to digg? :-)
13:27 * masak didn't
13:28 masak also Reddit, Hacker News, Metafilter...
13:28 moritz_ I did it with reddit
13:28 moritz_ but only to the perl section, not programming
13:29 masak 7 days ago... no comments. :/ it must not have gotten very much attention.
13:31 moritz_ http://www.reddit.com/r/programming/comments/abp7h/2009_perl_advent_calendar/
13:31 moritz_ somebody else did
13:31 masak \o/
13:32 masak but that's the Perl calendar, not Perl 6.
13:32 moritz_ oh
13:32 * moritz_ not really concentrated
13:33 takadonet moritz_: did you post on reddit about the perl 6 advent calendar?
13:34 masak takadonet: see the above discussion.
13:34 moritz_ takadonet: http://www.reddit.com/r/perl/comments/aa0tm/perl_6_advent_calendar/
13:34 moritz_ but not in the programming section
13:34 takadonet thanks
13:34 moritz_ feel free to that
13:34 moritz_ I'll upvote it :-)
13:35 takadonet me too
13:37 masak nepotism feels so much nicer when you're on the nephew's side yourself. :)
13:38 moritz_ masak: http://www.perlmonks.org/?node_id=811919 you might compete with Perl 6 there :-)
13:39 masak :)
13:39 masak I'm at work, so tl;dr. but definitely intersting.
13:40 masak I'm actually slightly dubious as to whether Perl 6 would beat Perl 5 at such a task.
13:40 masak especially since we don't have 'no strict' yet in Rakudo.
13:41 moritz_ got a point there
13:42 masak Perl 6: slightly more verbose, and proud of it. :)
13:43 * moritz_ thought that .fmt being shorter than sprintf might help :-)
13:46 Baggio_ joined #perl6
13:49 wolverian joined #perl6
13:54 payload joined #perl6
13:56 pmurias joined #perl6
13:57 pmurias_ joined #perl6
14:04 moritz_ http://translate.google.com/translate?js=y&amp;prev=_t&amp;hl=en&amp;ie=UTF-8&amp;layout=1&amp;eotf=1&amp;u=http%3A%2F%2Fopennet.ru%2Fopennews%2Fart.shtml%3Fnum%3D24567&amp;sl=ru&amp;tl=en <- machine-translation of http://opennet.ru/opennews/art.shtml?num=24567 which talks about our advent calendar
14:06 PerlJam good morning  (or afternoon for some of you)
14:06 moritz_ good localtime
14:06 colomon joined #perl6
14:08 colomon o/
14:32 payload joined #perl6
14:35 Tene http://perlgeek.de/blog-en/perl-6/failing-softly.html -- fail() returns a Failure, not an Exception
14:39 iblechbot joined #perl6
14:41 moritz_ oh
14:41 moritz_ I should change that
14:43 moritz_ Tene++
14:46 tarbo2 joined #perl6
14:53 pmichaud good morning #perl6
14:54 PerlJam morning pm
14:54 moritz_ oh hai
14:55 masak greetings, pmichaud.
14:56 payload joined #perl6
14:58 colomon \o
15:01 KyleHa joined #perl6
15:10 mberends joined #perl6
15:11 diakopter mberends: hi
15:13 mberends hi diakopter, just finished $work here, now reading some backlogs :) nice Advent posts
15:15 PacoLinux joined #perl6
15:15 BOOKZ joined #perl6
15:17 masak welcome to our humble backlogs, mberends. :)
15:18 BOOKZ joined #perl6
15:18 mberends diakopter: you uploaded a lot into Sprixel, but is it runnable yet?
15:19 mberends masak: it's a bind having a backlog habit :P
15:19 masak mberends: there are worse vices than that. :)
15:20 Tene Just maintain a healthy ignore list. ;)
15:20 Tene morning pm
15:21 masak Tene: I usually backlog in skim mode, until my eyes pick up a term or piece of code I'm interested in.
15:21 mberends Tene: /ignore is very useful, should do that more
15:22 payload joined #perl6
15:22 BOOKZ joined #perl6
15:22 * masak considers making a joke out of 'did somebody just say something?'
15:22 masak nah. better not. :)
15:26 Tene I used to backlog obsessively, but I've learned to stop doing that.
15:27 masak rakudo: class A { has $.c; method foo() { bar(:$!c) }; sub bar(:$c!) { say $c } }; A.new(:c("OH HAI")).foo
15:28 p6eval rakudo 7ef386:  ( no output )
15:28 moritz_ masak: don't even try. p6eval + rakudo + class = timeout
15:28 masak locally, "OH HAI".
15:28 masak moritz_: I thought you disproved that hypothesis.
15:29 moritz_ ng: class A { has $.c; method foo() { bar(:$!c) }; sub bar(:$c!) { say $c } }; A.new(:c("OH HAI")).foo
15:29 p6eval ng 779654: Unable to parse blockoid, couldn't find final '}' at line 1␤current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (src/stage0/Regex-s0.pir:907)␤
15:29 moritz_ masak: nope, I didn't
15:29 masak moritz_: at least, I'm pretty sure I've seen both false positives and false negatives lately.
15:29 masak ah, there's that Cursor we keep hearing about. :)
15:30 masak and FAILGOAL is for when it can't find matching '}'s, for example...
15:30 * masak makes mental notes
15:33 BooK joined #perl6
15:33 BooK joined #perl6
15:36 frettled Shouldn't that be «masak makes mental memorandums»?
15:36 masak frettled: not as long as memorandum is pluralized -a :P
15:36 frettled d'oh!
15:37 frettled masak makes mental mazes
15:37 * masak dusts off frettled's Latin
15:37 frettled hmm, actually, «memorandums» is permissible in English.
15:37 moritz_ shouldn't the plural be 'memoranda' or something?
15:37 frettled that works, too
15:38 moritz_ (I've never learned Latin, just guessing)
15:38 moritz_ sometimes it also feels as if I haven't learned English either :-)
15:38 masak yes, the '-ums' forms are probably quite OK in contemporary English.
15:38 PerlJam frettled: "datums" is permissible in English too, but it means something different than "data"  :)
15:38 frettled Latin ≠ English anyway.
15:38 masak PerlJam: no, it doesn't. :P
15:38 PerlJam masak: yes, it does.
15:38 masak data is datums.
15:38 moritz_ "Commander Datums, please come to the bridge immediately"
15:39 masak 哈哈
15:39 frettled According to 1913-Webster, «memorandums» is English, «memoranda» is Latin.
15:39 masak bah, Webster. :)
15:41 BooK_ joined #perl6
15:41 masak oh -- 'memorandum' comes from 'memorandus', which is a gerundive of 'memorāre', to mention, tell.
15:43 masak in other words, 'memoranda'/'-ums' means 'needsmentionings'.
15:44 masak or 'to-be-mentioneds'.
15:45 Psyche^ joined #perl6
15:48 cotto joined #perl6
15:50 frettled So, er, you're welcome for letting me derail you from whatever important stuff you were procrastinating from.
15:51 romanhunt joined #perl6
15:51 frettled But now that carlin surely has fixed zaslon, it's time for me to write a small blog entry again, just to keep the hungry crowds (all three of them) happy.  What about?  :d
15:53 moritz_ blog posts are good.
15:54 bpetering joined #perl6
15:57 Avi-school joined #perl6
16:01 nihiliad joined #perl6
16:07 romanhunt is there any particular reason everything in src/classes in written in PIR? Is there anything stopping some of it from being re-written in perl 6 ?
16:08 payload joined #perl6
16:08 PerlJam romanhunt: you must be looking at the master branch.  In the ng branch, most things are written in Perl 6.
16:08 moritz_ some of them are quire low-level
16:08 PerlJam (well, NQP anyway)
16:09 moritz_ for example you can't write class Object in Perl 6
16:09 moritz_ because it would try to inherit from class Any
16:09 moritz_ but that doesn't exist yet
16:09 moritz_ and so on
16:10 romanhunt is there a perl 6 equivalent to get_hll_global ?
16:10 romanhunt I was looking at something simpler than that
16:10 moritz_ there might a syntax for looking into namespaces directly
16:10 moritz_ but I don't know if that's implemented
16:11 romanhunt i see
16:14 spinclad joined #perl6
16:14 phenny joined #perl6
16:14 jiing joined #perl6
16:14 hatseflats joined #perl6
16:14 pugs_svn joined #perl6
16:14 dukeleto joined #perl6
16:14 cls_bsd joined #perl6
16:14 TimToady joined #perl6
16:14 Infinoid joined #perl6
16:14 Woodi joined #perl6
16:14 ingy joined #perl6
16:14 jjore_ joined #perl6
16:14 parduncia joined #perl6
16:14 constant joined #perl6
16:14 ssm joined #perl6
16:14 cognominal joined #perl6
16:14 yahooooo joined #perl6
16:14 nihiliad joined #perl6
16:14 payload joined #perl6
16:14 Tene joined #perl6
16:14 meppl joined #perl6
16:14 krunen joined #perl6
16:14 kolibrie joined #perl6
16:14 felipe joined #perl6
16:14 sbp joined #perl6
16:14 nsh joined #perl6
16:14 elmex joined #perl6
16:14 avar joined #perl6
16:14 rjh_ joined #perl6
16:14 jantore_ joined #perl6
16:14 bigpresh_ joined #perl6
16:14 jnthn joined #perl6
16:14 Gothmog_ joined #perl6
16:15 pmurias joined #perl6
16:15 masak joined #perl6
16:15 hanekomu joined #perl6
16:15 Avi-school joined #perl6
16:15 bpetering joined #perl6
16:15 romanhunt joined #perl6
16:15 cotto joined #perl6
16:15 Patterner joined #perl6
16:15 BooK joined #perl6
16:15 PacoLinux joined #perl6
16:15 KyleHa joined #perl6
16:15 tarbo2 joined #perl6
16:15 iblechbot joined #perl6
16:15 colomon joined #perl6
16:15 wolverian joined #perl6
16:15 KatrinaTheLamia joined #perl6
16:15 bluescreen joined #perl6
16:15 gfldex joined #perl6
16:15 envi^home joined #perl6
16:15 estrai joined #perl6
16:15 PZt joined #perl6
16:15 brody joined #perl6
16:15 mj41 joined #perl6
16:15 [particle] joined #perl6
16:15 jl_2 joined #perl6
16:15 jferrero joined #perl6
16:15 xomas_ joined #perl6
16:15 quantumEd joined #perl6
16:15 ashizawa joined #perl6
16:15 japhb joined #perl6
16:15 c9s_ joined #perl6
16:15 allbery_b joined #perl6
16:15 Lorn joined #perl6
16:15 hicx174 joined #perl6
16:15 am0c joined #perl6
16:15 orafu joined #perl6
16:15 zamolxes joined #perl6
16:15 Wolfman2000 joined #perl6
16:15 nbrown joined #perl6
16:15 tylerni7 joined #perl6
16:15 jaldhar joined #perl6
16:15 pointme joined #perl6
16:15 reid06 joined #perl6
16:15 zaslon joined #perl6
16:15 rgrau_ joined #perl6
16:15 p6eval joined #perl6
16:15 viklund joined #perl6
16:15 gbacon joined #perl6
16:15 supernovus joined #perl6
16:15 broquaint joined #perl6
16:15 Helios joined #perl6
16:15 cotto_w0rk joined #perl6
16:15 szabgab_ joined #perl6
16:15 wayland76 joined #perl6
16:15 yves joined #perl6
16:15 renormalist joined #perl6
16:15 jan_ joined #perl6
16:15 betterworld joined #perl6
16:15 awwaiid joined #perl6
16:15 IllvilJa joined #perl6
16:15 kst joined #perl6
16:15 krakan joined #perl6
16:15 araujo joined #perl6
16:15 tomaw_ joined #perl6
16:15 Khisanth joined #perl6
16:15 drbean joined #perl6
16:15 r0bby joined #perl6
16:15 hcchien joined #perl6
16:15 ascent_ joined #perl6
16:15 dalek joined #perl6
16:15 xinming_ joined #perl6
16:15 sunnavy joined #perl6
16:15 carlin joined #perl6
16:15 idemal joined #perl6
16:15 pmichaud joined #perl6
16:15 stepnem joined #perl6
16:15 avuserow joined #perl6
16:15 bloonix joined #perl6
16:15 omega__ joined #perl6
16:15 moritz_ joined #perl6
16:15 draxil42 joined #perl6
16:15 LionMadeOfLions joined #perl6
16:15 sjn joined #perl6
16:15 ruz joined #perl6
16:15 mathw joined #perl6
16:15 jlaire joined #perl6
16:15 eiro joined #perl6
16:15 Woody2143 joined #perl6
16:15 BinGOs joined #perl6
16:15 huf joined #perl6
16:15 c1sung joined #perl6
16:15 jimi_hendrix joined #perl6
16:15 RichiH joined #perl6
16:15 sundar joined #perl6
16:15 athomason joined #perl6
16:15 buubot joined #perl6
16:15 slavik joined #perl6
16:15 takadonet joined #perl6
16:15 mdxi joined #perl6
16:15 arthur-- joined #perl6
16:15 stuuf joined #perl6
16:15 Grrrr joined #perl6
16:15 |Jedai| joined #perl6
16:15 he_ joined #perl6
16:15 jeremiah joined #perl6
16:15 kcwu joined #perl6
16:15 xenoterracide joined #perl6
16:15 lisppaste3 joined #perl6
16:15 hirschnase joined #perl6
16:15 estrabd joined #perl6
16:15 pnu joined #perl6
16:15 dj_goku joined #perl6
16:15 Juerd_ joined #perl6
16:15 lestrrat joined #perl6
16:15 d^_^b joined #perl6
16:15 perigrin joined #perl6
16:15 nothingmuch joined #perl6
16:15 dukelet0 joined #perl6
16:15 s1n joined #perl6
16:15 hugme joined #perl6
16:15 Cyrus joined #perl6
16:15 literal joined #perl6
16:15 ilogger2 joined #perl6
16:15 astinus joined #perl6
16:15 akl joined #perl6
16:15 silug joined #perl6
16:15 diakopter joined #perl6
16:15 mtve joined #perl6
16:16 colomon It's a good thing, too, because I can sort of make out what PIR is doing, but I'm not competent to write it.
16:17 frew in yesterday's advent post Wolfman2000 did sub very_odd(Int $odd where {$odd % 2})
16:17 phenny frew: 26 Nov 00:59Z <Wolfman2000> tell frew it's near that time for me to let go of my donkeyness
16:17 phenny frew: 26 Nov 14:43Z <Wolfman2000> tell frew http://github.com/wolfman2000/Perl-6-Pastebin/
16:17 frew would where { * % 2 } work as well?
16:17 frew or maybe $_ % 2?
16:18 TimToady either * or {} but not both
16:18 frew I thought that might be the case
16:18 frew so where * % 2?
16:18 TimToady is fine
16:18 frew nice
16:19 TimToady std: sub foo ($x where * % 2) {}
16:19 p6eval std 29300: ok 00:01 108m␤
16:20 TimToady where requires an expression of no lower precedence than chaining, or you'd need parens
16:21 TimToady I'm sure a caffeinated brane would find a better way to say that...
16:21 pmurias diakopter: where does sprixel live nowdays?
16:21 masak I don't know why, but I'm unnerved by the `$a where { $a % 2 }` style. i.e. using the actual parameter in the where block.
16:22 PerlJam masak: me too
16:22 PerlJam (but only a little)
16:22 * moritz_ likes it
16:22 pmurias masak: you prefer $a where { $_ % 2)?
16:22 masak pmurias: semantically, yes. syntactically, no. :)
16:23 pmurias masak: so what's your prefered version of that?
16:23 masak but I suppose a case could be made for :($a, $b where { $b > 2 * $a })
16:23 TimToady hmm, $a where $a ![!%] 2 ought to work
16:23 masak so perhaps I'm just squeamish.
16:23 colomon I'm with moritz_, I like $a where { $a % 2 } -- feels very natural to me.
16:24 TimToady or $a where $a % 2 != 0
16:24 moritz_ std: 1 ![!%] 2
16:24 p6eval std 29300: ok 00:01 106m␤
16:24 masak pmurias: my absolute favourite is `$a where { $^n % 2 }`, for some reason. module the actual names.
16:24 masak s/module/modulo/
16:24 TimToady std: 1 !!% 2  # fail, I think
16:24 p6eval std 29300: [31m===[0mSORRY![31m===[0m␤Ternary !! seems to be missing its ?? at /tmp/XDgh61beW9 line 1:␤------> [32m1 [33m⏏[31m!!% 2  # fail, I think[0m␤    expecting any of:␤  infix stopper␤    standard stopper␤ terminator␤FAILED 00:01 106m␤
16:26 masak I just realized something. Since Perl 5 has finitely many operators, and Perl 6 has aleph-0 of them, Perl 7 will have to have aleph-1 operators...
16:26 TimToady get real
16:26 masak too late.
16:26 masak we're already up in the hyperreals.
16:27 masak oh.
16:27 * masak gets the joke
16:27 masak :D
16:28 moritz_ :-)
16:28 perlygatekeeper joined #perl6
16:28 TimToady א¹ bottles of real beer on the wall...
16:28 masak I'm slow today. it took me several seconds to get a cardinality joke. :)
16:29 PerlJam that's because you're not catholic.
16:29 TimToady or is that א₁ I want?
16:29 masak PerlJam: that's an unorthodox opinion.
16:30 moritz_ .oO( Q: is there a cardinal higher than the pope? A: sure: two to the pope )
16:30 PerlJam masak: as long as we're kosher
16:31 TimToady yes, but how big is the cantor set?
16:31 TimToady personally, I'd rather have a decantor..
16:31 masak I think you're preaching to the choir.
16:31 PerlJam masak++ nice
16:32 TimToady that's in france
16:32 TimToady so likely catholic
16:35 colomon wow, ack -w end on rakudo/src was massively ineffective for finding the implementation of end...
16:36 PerlJam you mean for arrays?
16:36 colomon yes.
16:36 * colomon is looking for LHF
16:37 moritz_ colomon: ack 'method.*\bend\b'
16:37 moritz_ that will exclude all those .end lines from PIR
16:37 colomon moritz_++  # brill!
16:37 moritz_ but fail if the method end was implemented in PIR
16:37 colomon and instantly successful, too.
16:37 moritz_ then you need ack '\bend\b.*:method'
16:38 colomon ah, so the master implementation doesn't even attempt to handle the tricky bits.
16:38 moritz_ .end and .elems are allowed to force eager evaluation of the list
16:39 colomon I was more worried about the multi-dimensional cases
16:40 moritz_ there is no multi-dimensional case :-)
16:40 colomon "Returns the final subscript of the first dimension; for a one-dimensional array this simply the index of the final element. For fixed dimensions this is the declared maximum subscript. For non-fixed dimensions (undeclared or explicitly declared with *), the index of the actual last element is used."
16:41 colomon S32-containers end, that is.
16:41 moritz_ you might have missed my smiley at the end :-)
16:41 colomon ah.
16:53 colomon ng: my @array = (); say @array.elems
16:53 p6eval ng 779654: 1␤
16:53 colomon ummm....
16:53 moritz_ ng: my @array; say @array.elems
16:53 colomon rakudo: my @array = (); say @array.elems
16:53 p6eval ng 779654: 0␤
16:53 p6eval rakudo 7ef386: 0␤
16:53 moritz_ ng: my @array = (), (); say @array.elems
16:53 p6eval ng 779654: 1␤
16:53 masak :)
16:54 colomon :\
16:54 masak strangely inconsistent.
16:54 colomon ng: my @array; say @array.defined
16:54 p6eval ng 779654: 1␤
16:54 justatheory joined #perl6
16:54 colomon rakudo: my @array; say @array.elems
16:54 p6eval rakudo 7ef386: 0␤
16:55 * moritz_ would wait with .end until pmichaud++ has fixed lists and iterators
16:57 colomon but I think .elems is all that is really needed to make it work....
16:57 colomon though the damned end.t calls pop and shift and unshift and push, and I think at least half of those aren't implemented yet....
16:58 moritz_ ng: my @a = < foo bar >; say @a.pop
16:58 p6eval ng 779654: Method 'pop' not found for invocant of class 'Array'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤
16:58 moritz_ ng: my @a = < foo bar >; say @a.shift
16:58 p6eval ng 779654: Method 'shift' not found for invocant of class 'Array'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤
16:58 moritz_ ng: my @a = < foo bar >; say @a.push(3)
16:58 p6eval ng 779654: foobar3␤
16:58 moritz_ ng: my @a = < foo bar >; say @a.unshift(3)
16:58 p6eval ng 779654: 3foobar␤
16:58 colomon well, I'm in the mood for some ng hacking....
16:59 * moritz_ wonders why the hard cases are implemented, but not the simple ones
16:59 colomon I seem to recall someone coming up with clever implementations for push and unshift....
17:00 colomon ooo, push and unshift aren't in the core.
17:00 moritz_ and I think there's good reason for that
17:01 payload joined #perl6
17:01 cdarroch joined #perl6
17:03 colomon actually, may be wrong about that.
17:03 colomon core/Array.pm has them.
17:03 colomon I think I was looking in list.pm any-list.pm before.
17:07 TimToady ng: my @array = Nil; say @array.elems
17:07 p6eval ng 779654: 1␤
17:07 TimToady ng: my @array = Nil; say @array[0].WHAT
17:07 p6eval ng 779654: Method 'WHAT' not found for invocant of class 'Undef'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤
17:08 masak I'm reading http://www.t3.org/tangledwebs/07/tw0706.html and feeling more than a twinge of recognition... :)
17:09 RichiH should i be able to paste multi-line code into the interactive shell? i want follow some of the examples in the advent calendar & not being able to just c & p annoys me to no end
17:09 masak I think I should start twirling my moustache.
17:09 masak RichiH: pro tip: do not use the interactive shell.
17:09 masak RichiH: you'll thank yourself.
17:10 pmichaud how about a form-based perl6 evaluator?
17:10 colomon Anyone know the pir:: magic code to take an array and return an Any?  (ie pop or shift)
17:11 RichiH masak: i am used to the shell of perl5 sucking, but i had more hopes for perl 6
17:11 pmichaud RichiH: we're not done with it yet.
17:12 masak RichiH: oh, the high hopes are still there.
17:12 masak RichiH: what pmichaud said.
17:12 RichiH pmichaud: that was my assumption, which is why i asked :)
17:12 masak RichiH: but seriously, you'll feel better putting things in a file and running the file.
17:12 pmichaud it still might be worthwhile to have a form-based perl6 evaluator :-)
17:12 pmichaud (online, e.g.)
17:13 RichiH masak: i regularly use perl -e to test stuff and run short helper one-liners
17:14 masak RichiH: me too.
17:14 moritz_ I think most of us do :-)
17:14 RichiH so i have a natural interest in the shell :)
17:14 moritz_ for Perl 5 you might also be interested in Devel::REPL
17:15 masak RichiH: http://use.perl.org/~masak/journal/38279
17:15 colomon ng: say fail("Hello?");
17:15 p6eval ng 779654: sh: ./perl6: No such file or directory␤
17:16 masak it didn't even fail to fail...
17:17 masak food &
17:17 colomon ng: say fail("Hello?");
17:17 p6eval ng 779654: sh: ./perl6: No such file or directory␤
17:18 colomon grumble
17:18 moritz_ ng: say fail("Hello?");
17:18 p6eval ng 779654: No exception handler and no message␤current instr.: '&fail' pc 13834 (src/builtins/Junction.pir:200)␤
17:18 colomon interesting.
17:18 moritz_ ng: say sub { fail("Hello?") }.();
17:18 p6eval ng 779654: Confused at line 1, near "say sub { "␤current instr.: 'perl6;HLL;Grammar;panic' pc 519 (src/stage0/HLL-s0.pir:336)␤
17:18 moritz_ ng:  sub f { fail("Hello?") }; say f()
17:18 p6eval ng 779654: Mu()␤
17:18 RichiH rakudo: sub test($first = "foo", $second = "bar"){say $foo; say bar}; test (undef, "quux")
17:18 colomon I just tried it at home, and I don't get anything at all, not even a newline.
17:18 p6eval rakudo 7ef386: Symbol '$foo' not predeclared in test (/tmp/qz9QnUPFgM:2)␤in Main (file <unknown>, line <unknown>)␤
17:19 RichiH how am i supposed to use the default value for the first argument, in this case?
17:19 colomon rakudo: sub test($first = "foo", $second = "bar"){say $foo; say bar}; test (:second("bar"));
17:19 moritz_ rakudo: sub test($first = 'foo', $second = 'bar') { say $first }; test(:second('blubb'))
17:19 p6eval rakudo 7ef386: Symbol '$foo' not predeclared in test (/tmp/xfdK1Dh5AB:2)␤in Main (file <unknown>, line <unknown>)␤
17:19 p6eval rakudo 7ef386: foo␤
17:20 RichiH erm, i failed to rewrite my example
17:20 RichiH rakudo: sub test($first = "foo", $second = "bar"){say $first; say $second}; test (undef, "quux")
17:20 p6eval rakudo 7ef386: Use of uninitialized value␤ quux␤bar␤
17:21 moritz_ RichiH: first of all there's no space allowed between 'test' and '("
17:21 colomon pmichaud: pir::pop__??
17:21 moritz_ RichiH: with space it means "calls function test with this list as its only argument"
17:21 pmichaud colomon: pir::pop__PP, probably.
17:21 RichiH ah, makes sense
17:21 colomon PP?
17:21 pmichaud colomon: but you also have to update the $!generated counter.
17:21 RichiH rakudo: sub test($first = "foo", $second = "bar"){say $first; say $second}; test(undef, "quux")
17:21 p6eval rakudo 7ef386: Use of uninitialized value␤␤quux␤
17:22 moritz_ RichiH: and you can fill the second parameter by name
17:22 colomon pmichaud: okay, that's a new one on me.
17:22 pmichaud PP === returns a PMC, takes a PMC argument.
17:22 moritz_ rakudo: sub test($first = "foo", $second = "bar"){say $first; say $second}; test(:second<bar>)
17:22 p6eval rakudo 7ef386: foo␤bar␤
17:22 moritz_ rakudo: sub test($first = "foo", $second = "bar"){say $first; say $second}; test(:second<other>)
17:22 p6eval rakudo 7ef386: foo␤other␤
17:22 colomon I don't see any examples of generated in the src?
17:23 RichiH moritz_: that seems to be very cumbersome
17:23 moritz_ RichiH: then it's your job to write the parameters in a better order :-)
17:25 moritz_ how does C++ do this?
17:25 colomon moritz_: it doesn't.
17:26 RichiH hmm, there is a way which i can live with
17:26 colomon pmichaud: "pop_pmc() not implemented in class 'Array'" (that's without any $!generated)
17:26 RichiH rakudo: sub test($first = "foo", $second = "bar"){say $first; say $second}; $second="quux" test(:$second)
17:26 p6eval rakudo 7ef386: Confused at line 2, near "test(:$sec"␤in Main (file <unknown>, line <unknown>)␤
17:27 RichiH rakudo: sub test($first = "foo", $second = "bar"){say $first; say $second}; $second="quux"; test(:$second)
17:27 p6eval rakudo 7ef386: Symbol '$second' not predeclared in <anonymous> (/tmp/tRuA1RVj0w:2)␤in Main (file <unknown>, line <unknown>)␤
17:27 pmichaud colomon: you have to pop the '$!values' attribute, not the array itself.
17:27 * RichiH will take this back to his shell
17:27 pmichaud An Array object is a List.... a List has a $!values attribute that is used to hold the (possibly lazy) elements of the list
17:27 moritz_ rakudo: sub test($first = "foo", $second = "bar"){say $first; say $second}; my $second="quux"; test(:$second)
17:28 p6eval rakudo 7ef386: foo␤quux␤
17:28 moritz_ RichiH: btw you can also /msg p6eval rakudo: say "hi"
17:28 brody joined #perl6
17:30 colomon pmichaud: woot!  That seems to have done it!
17:34 colomon Huh.  The method form works now, but the sub form gets a Null PMC.
17:34 colomon our proto sub pop(@array) { @array.pop; }
17:34 facsimile joined #perl6
17:34 colomon Am I doing something stupid there?
17:34 moritz_ try s/proto/multi/ for now
17:35 moritz_ sometimes it works with proto, sometimes it dosn't
17:35 moritz_ I haven't found a pattern in it
17:35 colomon yeah, I've been having pretty good luck with proto
17:35 quantumEd joined #perl6
17:36 colomon Same with multi.
17:37 moritz_ colomon: have you looked in cheats/ if there's a PIR version somehere?
17:37 moritz_ s/here/where/
17:37 colomon a PIR version of pop?
17:37 pmurias joined #perl6
17:37 moritz_ aye
17:37 colomon ng: my @array = 1...10; say @array.perl; say pop @array
17:37 p6eval ng 779654: (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)␤Could not find non-existent sub &pop␤current instr.: '_block14' pc 29 (EVAL_1:0)␤
17:38 perlygatekeeper joined #perl6
17:38 colomon There is not.
17:38 colomon (ps ack in TextMate is the nicest thing evar.)
17:38 moritz_ ok. Where' the Null PMC access happening?
17:39 pmurias_ joined #perl6
17:40 patspam1 joined #perl6
17:40 lisppaste3 colomon pasted "Null PMC from pop @array" at http://paste.lisp.org/display/91820
17:41 moritz_ woo
17:41 moritz_ looks as if it does a smart match somewhere
17:42 colomon Hmmm... suppose I could check in my changes.  .pop seems to work, and sub pop didn't work before, so no new test failures from the broken one.
17:43 moritz_ aye
17:43 moritz_ colomon++
17:46 colomon pushed.
17:47 colomon dear heavens, the master unshift implementation is ugly
17:47 colomon oh, wait, I wanted to look for shift.
17:48 dalek rakudo/ng: e1fcd3c | (Solomon Foster)++ | src/core/Array.pm:
17:48 dalek rakudo/ng: Quick version of .pop which seems to work, and a very mysteriously broken pop proto.
17:48 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/e1fcd3c6c9216304ad215ade0caf7049a5d08daf
17:48 colomon I always get those two mixed up.
17:52 jl_2 joined #perl6
17:52 [particle] joined #perl6
17:52 mj41 joined #perl6
17:52 estrai joined #perl6
17:52 mofino joined #perl6
17:52 romanhunt joined #perl6
17:53 colomon moritz_: huh.  maybe it's proto with an array argument that's the problem?  now I'm getting it with end: our proto sub end(@array) { @array.end; }
17:53 colomon (it eq "Null PMC" blah blah blah)
17:54 colomon and it seems like I might have had the same problem with reverse last night as well.
17:56 colomon ng: sub hello(@a) { say @a.perl }; hello(1...10);
17:56 pugs_svn r29301 | pmurias++ | [viv] hack to handle postcircumfix ops
17:56 pugs_svn r29301 | [mildew] more porting to current STD
17:56 p6eval ng 779654: Confused at line 1, near "hello(1..."␤current instr.: 'perl6;HLL;Grammar;panic' pc 519 (src/stage0/HLL-s0.pir:336)␤
17:56 colomon ng: sub hello(@a) { say @a.perl; }; my @array = 1...10; hello(@array);
17:56 p6eval ng 779654: Null PMC access in get_string()␤current instr.: 'perl6;Perl6Role;Str' pc -1 ((unknown file):-1)␤
17:56 colomon yeah baby, that's the bug.
17:57 colomon where's jnthn when you need him?
17:57 IllvilJa joined #perl6
18:05 dalek rakudo/ng: 607a650 | (Solomon Foster)++ | src/core/Array.pm:
18:05 dalek rakudo/ng: Quick version of .shift which seems to work, and a very mysteriously broken shift proto.
18:05 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/607a6502e42e9ba26766e55a6ec1527fd12ec917
18:05 TimToady ng: say 1...10
18:06 p6eval ng 779654: 1␤No applicable candidates found to dispatch to for '&infix:<...>'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤
18:07 frettled Hmm, should it work with ellipsis instead?
18:08 frettled That is, should it work with _both_ ellipsis and ...?
18:10 colomon ng: say (1...10).perl
18:10 p6eval ng 779654: (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)␤
18:10 colomon ng: say (1...10)
18:10 p6eval ng 779654: 12345678910␤
18:10 colomon ng: say 1...10
18:10 p6eval ng 779654: 1␤No applicable candidates found to dispatch to for '&infix:<...>'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤
18:11 colomon ???
18:11 colomon is that parsing as (say 1)...10 ?
18:11 colomon std: say 1...10
18:11 p6eval std 29300: ok 00:01 106m␤
18:11 stephenlb joined #perl6
18:11 colomon std: (say 1)...10
18:12 p6eval std 29300: ok 00:01 104m␤
18:12 colomon std: say (say 1).WHAT
18:12 p6eval std 29300: ok 00:01 104m␤
18:12 colomon ng: say (say 1).WHAT
18:12 p6eval ng 779654: 1␤Bool()␤
18:12 rgrau joined #perl6
18:14 Astoria` joined #perl6
18:15 payload joined #perl6
18:19 ShaneC joined #perl6
18:22 colomon TimToady: is that an ng bug or just a weird corner of Perl 6?
18:24 moritz_ list infix is tighter than list prefix
18:24 moritz_ so it's a ng bug
18:25 diakopter .u 20000
18:25 phenny diakopter: Sorry, no results for '20000'.
18:25 diakopter .u \u20000
18:25 phenny diakopter: Sorry, no results
18:25 colomon moritz_: quite possibly my bug, then.
18:25 diakopter .u "\u20000"
18:25 phenny diakopter: U+0022 U+005C U+0075 U+0032 U+0030 U+0030 U+0030 U+0030 U+0022
18:26 frettled I think we need a bugfix notation as well.
18:26 moritz_ bugfix notation?
18:27 frettled infix, outr
18:27 frettled infix, outfix, postfix, prefix
18:27 frettled and bugfix
18:27 moritz_ finally got it :-)
18:27 moritz_ token infix:sym<...>  { <sym>  <O('%list_infix')> } # looks right to me
18:27 colomon what about the next line?
18:28 colomon the next was in STD.pm, but I wasn't sure how to port it, and it seemed to work with just the list_infix one...
18:28 moritz_ that looks also right, but ng doesn't seem to have the list_prefix prec level
18:28 moritz_ which would also explain the parse failure
18:28 riffraff joined #perl6
18:28 colomon hmmm....
18:29 moritz_ unless that's supposed to be list_assignment
18:30 colomon ...this would be an excellent time for pmichaud or jnthn to wander by...
18:30 moritz_ ah yes, S03 lists infix:<=> as list prefix precdence
18:30 colomon STD.pm also has a list_assignment, though.
18:31 colomon it's prec<i=>
18:32 colomon okay, this is all way over my head.
18:34 moritz_ prec<i=> is item_assignment in ng :-)
18:35 colomon It's both in std.pm
18:35 colomon item and list, I mean.
18:36 moritz_ ng: say 1, 2 Z 3, 4
18:36 p6eval ng 607a65: 12␤Could not find non-existent sub &infix:<Z>␤current instr.: '_block14' pc 29 (EVAL_1:0)␤
18:38 colomon Hmmm, Z is in the ng grammar...
18:38 moritz_ but not implemented, it seems
18:38 moritz_ and it's the only other list infix in ng
18:38 colomon ng: sub infix:<Z>(@a, @b) { say @a.perl; say @b.perl; }; say 1, 2 Z 3, 4
18:38 p6eval ng 607a65: 12␤Null PMC access in get_string()␤current instr.: 'perl6;Perl6Role;Str' pc -1 ((unknown file):-1)␤
18:39 colomon oh, right.
18:39 moritz_ ng: multi sub infix:<Z>(@a, @b) { say @a.perl; say @b.perl; }; say 1, 2 Z 3, 4
18:39 p6eval ng 607a65: 12␤Null PMC access in get_string()␤current instr.: 'perl6;Perl6Role;Str' pc -1 ((unknown file):-1)␤
18:41 colomon I really thing @ arguments in subs are just completely broken in ng.
18:42 moritz_ ng: multi sub infix:<Z>(*@a, *@b) { say @a.perl; say @b.perl; }; say 1, 2 Z 3, 4
18:42 p6eval ng 607a65: 12␤(1, 3, 4)␤Method 'perl' not found for invocant of class 'Undef'␤current instr.: 'perl6;List;_block7106' pc 257721 (src/gen/core.pir:28409)␤
18:42 * colomon has finally stopped listening to Ron Hynes....
18:43 colomon ooo, nice attempt!
18:43 thowe joined #perl6
18:44 colomon wherefore comes the 12?
18:45 moritz_ (say 1, 2) Z ...
18:53 colomon then why 1, 3, 4?
18:54 moritz_ because *@a gets all the arguments
18:54 moritz_ 1 is the return value from say
18:54 colomon aha!
18:54 moritz_ and 3, 4 come from the RHS of Z
18:54 colomon moritz_++
18:55 moritz_ rakudo: (say 4).perl
18:55 p6eval rakudo 7ef386: 4␤
18:55 moritz_ rakudo: say (say 4).perl
18:55 p6eval rakudo 7ef386: 4␤Bool::True␤
18:58 payload1 joined #perl6
18:58 literal joined #perl6
19:01 colomon moritz_: does this suggestion a solution to you?
19:04 moritz_ is 'fix the parser' a solution? :-)
19:06 moritz_ I think of myself as being good with regexes, but whenever I touch a parser it blows up
19:07 colomon moritz_: well, it's a bit better plan than my plan to beg jnthn and/or pmichaud to fix it...
19:07 colomon but it could definitely use some more details.
19:08 pmichaud hello
19:08 TimToady good timing
19:08 TimToady or bad...
19:08 * pmichaud sees his nick highlighted several times in the backscroll....
19:08 PerlJam colomon: now that you've summoned the pmichaud, get him to fix whatever it is.
19:08 PerlJam What needs fixing anyway?
19:09 PerlJam oh, Z
19:09 colomon PerlJam: most recently, the operator precedence for list infix operators.
19:09 moritz_ TimToady: don't think you'll get away easily :-) I see that S03 lists infix:<=> among "list prefix" precedence, but STD.p has both "list prefix" and "list assignment"
19:09 colomon Also, @ arguments seem to be broken in ng.
19:09 pmichaud infix:<=> is special.
19:10 moritz_ (and ng only has list_assignment, not list_prefix)
19:10 pmichaud I suspect STD.pm is correcter here
19:14 TimToady STD is correct on its precedence to the right of =, but I'm less certain it's doing the right thing on the left
19:14 SmokeMachine joined #perl6
19:15 wayland76 ping bots :)
19:16 wayland76 TimToady: That reminds me of "Asterix and the Great Divide" :)
19:16 TimToady it should probably reduce the left side at item assignment precedence always, but I suspect it's using the right-hand precedence to reduce the left
19:16 TimToady it should probably use the 'sub' substitute precedence mechanism that listops use
19:18 wayland76 Does that mean I should ping bots again?
19:19 TimToady I won't stop you.
19:30 pmichaud ng:  multi sub infix:<Z>($a, $b) { say $a.perl; say $b.perl; };  say 1,2 Z 3,4;
19:30 p6eval ng 607a65: 12␤1␤(3, 4)␤
19:30 * thowe is wondering what he needs to be aware of to handle the UTF-8 databases he has with Perl 6
19:30 pmichaud looks right to me.
19:31 moritz_ rakudo: say 1, 2 Z 3, 4
19:31 p6eval rakudo 7ef386: 1324␤
19:31 pmichaud rakudo is wrong there, then.
19:31 * moritz_ disagrees with pmichaud
19:32 pmichaud STD appears to parse   say 1, 2 Z 3, 4    as   (say 1,2) Z 3,4
19:32 TimToady if so, STD is wrong
19:32 pmichaud (if I'm reading the output correctly)
19:32 moritz_ list infix precedence is tighter than list prefix, according to S03
19:32 pmichaud argument lists only go down to %list_infix precedence, though
19:33 pmichaud STD.pm:3399
19:33 pmichaud | <EXPR(item %list_infix)> {{
19:33 TimToady yes, it looks like STD is wrong
19:33 pmichaud ah, then that's why ng is wrong :)
19:34 TimToady not sure why yet
19:34 pmichaud well, infix:<Z> is %list_infix, and the EXPR line in arglist says to stop parsing when reaching a %list_infix operator
19:35 japhb joined #perl6
19:35 supernovus joined #perl6
19:36 * diakopter imagines another operator-precedence-parser layer for list_prefix...
19:36 TimToady yeah, probably lt vs le confusion
19:36 pmichaud what is EXPR(item %list_infix)  supposed to mean?
19:37 pmichaud does it mean stop on a %list_infix operator, or stop on any operator that is looser than %list_infix ?
19:37 TimToady currently STD uses le, which probably means that should be %list_prefix instead
19:37 pmichaud so, stop on any operator that is %list_prefix or below
19:37 pmichaud wfm
19:38 TimToady yes
19:39 TimToady tweaked STD.pmc to list_prefix and it parses correctly
19:39 * pmichaud makes the corresponding tweak to ng's grammar
19:39 colomon \o/
19:41 tann1 joined #perl6
19:47 pmichaud pushed.
19:49 dalek rakudo/ng: dc293ee | pmichaud++ | src/Perl6/Grammar.pm:
19:49 dalek rakudo/ng: Update precedence of arglist parsing to %list_prefix (to match STD.pm update).
19:49 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/dc293ee88c8d0f0b5704fbef996a39edd4101374
19:53 moritz_ ng's spectest is... noisy
19:53 colomon pmichaud: It appears slurpy array arguments work in ng, while non-slurpy ones fail.
19:54 colomon say 1...10
19:54 colomon 12345678910
19:54 colomon \o/
19:54 pugs_svn r29302 | lwall++ | [STD] off-by-fencepost in limiting precedence inside list prefix, @::('#perl6')>>.++
19:54 pmichaud colomon: example ?
19:54 colomon ng: sub hello(@a) { say @a.perl; }; my @array = 1...10; hello(@array);
19:54 p6eval ng 607a65: Null PMC access in get_string()␤current instr.: 'perl6;Perl6Role;Str' pc -1 ((unknown file):-1)␤
19:55 pmichaud ng:  sub hello(@a) { say 'yes'; };  my @array = 1,2,3;  hello(@array);
19:55 p6eval ng 607a65: Null PMC access in get_string()␤current instr.: 'perl6;Perl6Role;Str' pc -1 ((unknown file):-1)␤
19:55 pmichaud ng:  my @array = 1,2,3;  say @array ~~ Positional;
19:56 p6eval ng 607a65: Null PMC access in get_string()␤current instr.: 'perl6;Perl6Role;Str' pc -1 ((unknown file):-1)␤
19:56 pmichaud *that's* the problem.
19:56 colomon ah.
19:56 pmichaud it doesn't recognize Positional
19:56 PerlJam it's all jnthn's fault!  ;)
19:56 pmichaud actually, it's pmichaud's fault
19:56 pmichaud (as usual)
19:56 pmichaud just haven't gotten around to restoring positional roles for array-like objects yet
19:57 colomon Is it a nasty piece of work?  I've found a good bit of LHF that could be claimed if that were fixed...
19:58 PerlJam .oO(There's a bunch of low hanging fruit just on the other side of this fence...)
19:58 pmichaud I'm not sure what the state of roles in general is at the moment
19:59 * colomon wonders if saying jnthn's name three times in a row would make him appear...
20:00 TimToady phone
20:00 colomon perhaps the right question to ask is if there is a quick cheat?
20:00 pmichaud is Positional even defined yet in ng ?
20:01 colomon builtins/Positional.pir
20:02 tann1 how close is ng to becoming master?
20:02 moritz_ it's still quite a bit away
20:04 colomon ng:  my @array = 1,2,3;  say @array ~~ Array
20:04 p6eval ng 607a65: 1␤
20:05 moritz_ ng:  my @array = 1,2,3;  say @array ~~ Positional
20:05 p6eval ng 607a65: Null PMC access in get_string()␤current instr.: 'perl6;Perl6Role;Str' pc -1 ((unknown file):-1)␤
20:07 colomon This would be handy information if there actually were a straightforward call to ~~ Positional in the code...
20:11 colomon I'm looking at bind.c, and it looks tantalizingly comprehensible, but I still can't quite see what is going on....
20:12 moritz_ it's not a bind problem, but a type check/roles problem, I think
20:18 mariano__ joined #perl6
20:19 gabiruh_ joined #perl6
20:19 pmichaud say Positional.WHAT
20:19 pmichaud ng: say Positional.WHAT
20:19 p6eval ng dc293e:  ( no output )
20:19 pmichaud ng:  say ~Positional
20:19 p6eval ng dc293e: Null PMC access in get_string()␤current instr.: 'perl6;Perl6Role;Str' pc -1 ((unknown file):-1)␤
20:19 pmichaud rakudo:  say ~Positional
20:19 p6eval rakudo 7ef386: Positional()␤
20:19 mariano__ joined #perl6
20:20 pmichaud the problem is probably that List is not yet defined as "does Positional"
20:20 literal_ joined #perl6
20:20 moritz_ rakudo: say Int ~~ Positional
20:20 p6eval rakudo 7ef386: 0␤
20:21 moritz_ rakudo: say Array ~~ Positional
20:21 pmichaud rakudo: say List ~~ Positional
20:21 p6eval rakudo 7ef386: 1␤
20:21 p6eval rakudo 7ef386: 1␤
20:21 KyleHa joined #perl6
20:21 pmichaud ng:  say List ~~ Positional
20:21 p6eval ng dc293e: Null PMC access in get_string()␤current instr.: 'perl6;Perl6Role;Str' pc -1 ((unknown file):-1)␤
20:21 moritz_ ng: say Int ~~ Positional
20:21 p6eval ng dc293e: Null PMC access in get_string()␤current instr.: 'perl6;Perl6Role;Str' pc -1 ((unknown file):-1)␤
20:21 pmichaud the problem is either an imcomplete implementation of Positional or that List doesn't have that role composed into it
20:21 pmichaud or both
20:22 pmichaud *incomplete
20:22 moritz_ right; that allone would explain why Int ~~ Positional dies
20:30 jaldhar joined #perl6
20:32 viklund_ joined #perl6
20:33 jl_2 joined #perl6
20:33 mj41 joined #perl6
20:33 SmokeMachine joined #perl6
20:34 [particle] joined #perl6
20:35 kwan joined #perl6
20:39 payload joined #perl6
20:44 _jaldhar joined #perl6
20:46 pmurias joined #perl6
20:52 iblechbot joined #perl6
21:02 pmurias_ joined #perl6
21:04 crythias joined #perl6
21:04 romanhunt_ joined #perl6
21:04 romanhunt_ hello all
21:04 nihiliad joined #perl6
21:05 aindilis joined #perl6
21:05 pmurias_ romanhunt_: hi
21:05 moritz_ hi
21:06 lambdabot joined #perl6
21:07 diakopter pmurias_: to answer your question (re: sprixel), it lives locally for the time being. I'm still tinkering with different VMs/architectures.
21:07 pmurias_ what VM are you considering?
21:07 pmurias_ * VMs
21:11 diakopter pmurias: you still there?
21:12 diakopter still V8 && mono/clr
21:12 diakopter leaning more toward mono/clr
21:13 moritz_ what happened to your PAST translater for NQP-rx?
21:14 diakopter it's still "there", and it passed all the nqp-rx test suite up until the OO/class & Regex stuff..
21:15 diakopter the same translator/interpreter model will operate much faster in C#...
21:15 * colomon is salivating at the thought of Perl 6 running on mono / .net...
21:16 diakopter ... but I got ever grossed out at the thought of having to emulate parrot's OO system so that it could support a direct lift-shift/port from nqp-rx
21:16 diakopter just too many peculiarities (not necesarily bad ones)
21:17 jferrero joined #perl6
21:17 diakopter so now it seems it's angling toward being an nqp-rx implementation itself
21:18 diakopter not a self-hosting one, mind you
21:18 diakopter (being an interpreter) :)
21:18 dbrock joined #perl6
21:19 romanhunt_ could someone please tell me what :<is>($arg, $list) syntax means
21:19 romanhunt_ ?
21:19 romanhunt_ as in   multi func_name:<is>($arg1, $arg2)
21:20 romanhunt_ does it verify the argument signature for the multi function?
21:20 colomon where is that from?
21:21 diakopter the regex/nfa engine is now primitive-feature complete... it supports Perl (as opposed to POSIX) semantics on *, +, ?, (and their non-greedy editions), |, char ranges, full unicode, lookahead, lookbehind ...  what remains is capturing groups, and I guess character classes?
21:22 diakopter oh, and ^, $ (are done/working)
21:22 diakopter it's about 20x slower than Perl 5 for success-only paths, but scads faster for paths requiring lots of backtracking
21:23 diakopter the engine is definitely optimized for backtracking
21:24 diakopter for very large inputs, it will need a fallback mode for handling unicode (that doesn't presplit the input string), since currently it splits the input string into int32[])
21:26 diakopter but only 20x slower than Perl 5 on success paths isn't unbearable, imho
21:28 moritz_ romanhunt_: looks like some kind of adverb, but a bit strange to me
21:29 diakopter after capturing groups, I was going to work on the LTM modes. I tried to get to the LTM modes two (and one) days ago, but .. kept finding issues with the primitives implementation.  Now I have confidence in it...
21:32 diakopter jnthn/pmurias/masak/pmichaud: you may be interested to learn that I tried an explicit stack (Stack<StateNode>), but storing the Invoker on each StateNode is much more efficient than using a Stack..
21:32 diakopter also it will make the LTM mode much simpler to implement
21:32 diakopter (.Invoker)
21:38 estrai joined #perl6
21:41 perlygatekeeper left #perl6
21:42 xenoterracide joined #perl6
21:45 pmurias joined #perl6
22:00 PZt joined #perl6
22:06 takadonet left #perl6
22:07 hercynium joined #perl6
22:11 sjohnson afternoon dudes
22:12 colomon o/
22:13 sjohnson hi colomon
22:13 colomon 'ello
22:16 jnthn colomon: (roles) still working on 'em.
22:16 diakopter jnthn: howdy
22:16 jnthn colomon: Didn't quite get to doing does checks properly yet.
22:16 jnthn Planned to today but ended up fighting a screwed SQL Server installation instead.
22:17 jnthn diakopter: hi
22:17 colomon jnthn: you've seen the Positional stuff WRT @ arguments in the backlog?
22:17 jnthn colomon: Yeah
22:17 jnthn colomon: I suspect that's not *quite* working yet.
22:17 jnthn diakopter: I see you're making nice progress on regexy stuff in .Net. That's cool.
22:18 diakopter whee
22:18 jnthn diakopter: I plan to work on object model stuff in .Net
22:18 jnthn I guess we can then meet in the middle somehow. :-)
22:18 jnthn diakopter: ng is priority for now though.
22:18 diakopter jnthn: plz plz plz don't try to make Perl 6 types bijective with .NET types...?
22:18 jnthn diakopter: No, I won't.
22:19 diakopter HAPPY
22:19 jnthn diakopter: I've already sketched out a bit what I may want.
22:19 diakopter b/c DLR sux0r that way
22:19 jnthn While figuring out metamodel bits overall.
22:19 jnthn I suspect we'll need changes to the way Rakudo on Parrot handles it all.
22:19 jnthn (not just for multi backends, just generally anyway)
22:20 jnthn So I don't expect "emulating all of Parrot" is how it'll wind up.
22:20 jnthn It's just a bit much to do all of those bits while doing ng too.
22:21 jnthn My aim is that ClassHOW and RoleHOW and so on will be in nqp.
22:22 diakopter probably what I'll end up with is a simple actor/message/responder system
22:22 diakopter (all dispatchers in nqp code)
22:23 jnthn Yeah...not sure about the dispatchers yet.
22:24 jnthn I strongly suspect the Rakudo ones will stay in c.
22:24 jnthn *c
22:24 jnthn wtf...C
22:24 jnthn :)
22:25 jnthn anyways, now I've got a fixed sql server...I'll go and do the one hour task I set out to do early afternoon. :-/
22:25 diakopter l8r
22:37 meppl joined #perl6
22:59 romanhunt joined #perl6
22:59 wayland76 I hate writing Perl 5 code that really needs a macro :)
23:00 romanhunt hello all
23:01 wayland76 hi!
23:02 romanhunt quick question. 'Perl6Object' from the parrot global symbol table.... how does it translate to perl 6? is it the protoobject that all perl 6 objects decend from?
23:03 zibri joined #perl6
23:03 crythias joined #perl6
23:03 romanhunt it is often called as 'perl6meta = get_hll_global('Perl6Object', ...
23:04 romanhunt in PIR
23:04 romanhunt I am new to OOP by the way ... to make matters worse
23:04 wayland76 pmichaud?  jnthn?
23:08 romanhunt I am just working on converting some Q::PIR blocks to perl6 but I need to know more about how the Parrot global symbol table abstracts to the compiler
23:09 romanhunt learning by immersion! If it works for natural language it *should* work for perl :)
23:09 xenoterracide joined #perl6
23:15 carlin rakudo: my @a=((1|1),'',[],1,{1},1,{},/1/,/1/,(1=>1),/1/,'',{1},{},{1},/1/,'');my @b=(0,2,0,2,0,1,1,1,2,1,2,1,0,1,1,1,0,1,0,1,1,1,2,1,1,1,0,2,3,2,1,1,2,1);for map {lc .WHAT},@a {print .substr(@b.shift,@b.shift)};
23:15 p6eval rakudo 7ef386:  ( no output )
23:15 carlin oh come on :(
23:17 payload joined #perl6
23:22 colomon romanhunt: what are you trying to convert?
23:26 romanhunt to be honest I am just trying to understand what I am reading moreso than actually convert anything *sorry for delays I am afk and back again*
23:27 stephenlb joined #perl6
23:29 colomon I guess my thought here is that Perl6Object is a Parrot detail, not a Perl 6 one.
23:29 colomon The root object as far as Perl 6 is concerned is Mu.
23:29 jnthn References to Perl6Object should be gone in ng.
23:30 jnthn In master, Perl6Object is the internal name for object
23:30 jnthn erm, Object
23:30 jnthn If you're talking about it in Perl 6 code, write Object.
23:30 diakopter which which?
23:30 diakopter :)
23:31 colomon jnthn: Was Object not renamed to Mu in master?
23:31 jnthn colomon: No
23:31 jnthn colomon: We just did the equivalent of Mu := Object :)
23:31 colomon Ah.
23:35 romanhunt awesome thx all
23:36 romanhunt so I checked out master as specified in Frew's workflow and did a `git co -b ng --track'
23:37 romanhunt git said my branch was changed but when I tried a git pull I was told I was up tp date
23:37 romanhunt am I syncing to ng correctly?
23:37 colomon romanhunt: I'm not good with the git, but there's a simple test.
23:37 colomon cat build/PARROT_REVISION
23:38 colomon If you've got an up-to-date ng, it should be 42920.
23:38 romanhunt eerg im at 42559
23:38 colomon yeah, that's probably still master, then.
23:38 supernovus romanhunt: that's the rev from master
23:39 colomon git branch
23:39 colomon ?
23:39 colomon (as a command to run, I mean)
23:41 romanhunt CFW88430WY1B0:rakudo romanhunt$ git branch
23:41 romanhunt master
23:41 romanhunt * ng
23:42 [particle] git fetch origin ng
23:42 romanhunt could it be because I forked my cp?
23:42 thowe does Larry Wall ever actually show up here?
23:42 colomon thowe: pretty much every day.
23:42 colomon romanhunt: you're on a forked Rakudo?
23:43 romanhunt yeah thats what the suggested workflow linked on rakudo.org said to do
23:43 [particle] git checkout ng
23:43 thowe that's pretty cool of him.  what's his nick?
23:43 [particle] TimToady
23:43 romanhunt [particle] it says I am already on ng
23:43 nihiliad joined #perl6
23:44 romanhunt the fork must be the issue I bet
23:44 [particle] yeah, that's what git branch says, too
23:46 colomon do you have a fork on github?
23:46 supernovus hmm, if you do a git clone git://github.com/rakudo/rakudo.git then type 'git branch' it only shows 'master'. If you do 'git checkout -b ng --track' it creates a new branch called 'ng' which is identical to master. I
23:46 jnthn I think you need to do something like git checkout remote/ng/ first or some such...
23:47 jnthn And then a command like the above.
23:47 jnthn I forget exactly...it takes a little fiddling. :-)
23:48 colomon jnthn: gack.  we need to document this somewhere so we don't do this every time someone tries to switch to ng.
23:48 [particle] which remote branch is your local ng branch tracking?
23:48 supernovus okay, 'git checkout origin/ng -b ng --track' properly switches to the remote 'ng' branch.
23:48 [particle] supernovus++
23:53 avar joined #perl6

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

Perl 6 | Reference Documentation | Rakudo