Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-12-05

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:02 s1n left #perl6
00:07 mberends jnthn: hai!
00:07 phenny mberends: 30 Nov 13:53Z <bbkr> tell mberends that HTTP::Daemon should have possibility to get request body on unknown Content-Type (or even better - to allow to connect custom handler method for given content type). This will allow for example to write JSON::RPC::Server based on this nice module.
00:07 sorear hello mberends !
00:07 diakopter mberends: howdy!
00:08 jnthn mberends: hi!! :D
00:08 mberends hello sorear, diakopter : just got back from http://conferences.yapceurope.org/lpw2010
00:08 jnthn mberends: had beer? ;)
00:09 mberends The die hards are still drinking in the pub. The @sponsors++ were very generous :-)
00:09 jnthn :D
00:11 dalek 6model: 3fc868b | jonathan++ | dotnet/compiler/PAST2DNSTCompiler.pm:
00:11 dalek 6model: [dotnet] The war on inline begins. All TC referencess are now a proper DNST::Local.
00:11 dalek 6model: review: https://github.com/jnthn/6model/commit/3fc868b6da
00:14 diakopter mberends: you may not recognize [dotnet]
00:15 jnthn oh my...the makefile thing that says what files changed will give epic output!
00:15 mberends diakopter: :-D
00:15 diakopter jnthn:   nmake /D  is good
00:16 diakopter nmake clean; nmake /D
00:18 mberends 6model/dotnet yesterday on Mono 2.4.4: All tests successful. Files=42, Tests=298.
00:18 dalek 6model: 78122fe | jonathan++ | dotnet/compiler/DNST.pm:
00:18 dalek 6model: [dotnet] DNST::MethodCall now requires a return type unless the call is void. Turns out that all the tests pass with this enforced, which means we have them all annotated, or in the alternate that we don't have enough test coverage. :-)
00:18 dalek 6model: review: https://github.com/jnthn/6model/commit/78122fe379
00:20 diakopter I can't pull frequently enough
00:20 sftp left #perl6
00:21 jnthn Me either...girls are hard work...
00:21 jnthn oh...you meant git...
00:21 mberends I just pulled once and it's all over...
00:22 * diakopter sideways glare
00:22 dalek 6model: aeec319 | jonathan++ | dotnet/compiler/DNST2CSharp.pm:
00:22 dalek 6model: [dotnet] Rip out a sick hack that we no longer need, and diakopter++ noticed that we still had.
00:22 dalek 6model: review: https://github.com/jnthn/6model/commit/aeec3193fc
00:22 diakopter augh
00:22 jnthn rofl
00:22 jnthn To be fair, you did *tell* me to get rid of that hack. :P
00:22 diakopter sigh
00:23 sftp joined #perl6
00:23 jaldhar left #perl6
00:24 jaldhar joined #perl6
00:24 kst left #perl6
00:24 diakopter my changes to DNST.pm got overwritten
00:25 jnthn huh... :/
00:25 jnthn git is...usually thoughtful enough to merge...
00:25 drbean_ is now known as drbean
00:26 * diakopter disregards
00:26 diakopter maybe I reverted them
00:27 kst joined #perl6
00:28 diakopter is there any way to implement parrot-level get_string method in an nqp class?
00:31 jnthn method Str() is vtable('get_string') { ... }
00:33 * diakopter adds it to DNST::Node 'cuz ... you can guess.
00:33 diakopter k now how can that method return the class name :)
00:34 diakopter (including that of subclasses, of course)
00:36 jnthn :)
00:40 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_basics_tablet
00:46 diakopter how does one deeply flatten a list of args in an invocation?
00:47 diakopter func(4, |@args) # flattens only 1 level deep, right?
00:48 sorear @args is pre-flattened under normal circumstances
00:48 diakopter 'pre-flattened' before what
00:48 sorear Array objects only hold items, not sublists
00:48 sorear so @args will never contain anything that needs recursive flattening
00:48 sorear unless you're using a nonstandard container type
00:50 diakopter [] is a nonstandard container type?
00:50 jnthn sorear: I think diakopter is looking for a way to deeply flatten even nested arrays.
00:51 sorear diakopter: [(1,2), (3,4)] is the same as  [1, 2, 3, 4]
00:51 diakopter that much I knew.
00:52 sorear [] never needs flattening
00:52 sorear if it does, your implementation of Array is broken
00:52 jnthn sorear: You're missing the point.
00:53 jnthn sorear: diakopter is just looking for a way - when you do have [[1,2],[3,4]] to get back 1,2,3,4
00:53 diakopter jnthn: express that around the transmitter(s) of the communication, not the receiver(s). :)
00:53 sorear jnthn: That concept needs a name.
00:53 jnthn Steamrollering. :)
00:53 sorear This isn't the first time #perl6 has had a problem
00:54 sorear because of that
00:54 diakopter deepflat
00:54 jnthn drop-chuck-norris-on(@list)
00:55 justatheory left #perl6
00:56 diakopter sorear: my use case was   sub foo(*@args) {  bar(|@args)  }
00:56 dalek niecza: 2496f3f | sorear++ | src/ (3 files):
00:56 dalek niecza: Fix asymmetric elision of unreachable let blocks
00:56 dalek niecza: review: https://github.com/sorear/niecza/commit/2496f3f8ad
00:57 dalek 6model: d144c46 | jonathan++ | dotnet/compiler/PAST2DNSTCompiler.pm:
00:57 dalek 6model: [dotnet] Add a loc($name, $type) and start using it to from DNST::Local and do way instain inline C#.
00:57 dalek 6model: review: https://github.com/jnthn/6model/commit/d144c46f97
00:57 dalek 6model: 6abecdc | jonathan++ | dotnet/compiler/ (3 files):
00:57 dalek 6model: [dotnet] Add a DNST::Null for representing nulls, and use it to eliminate another bunch of inline.
00:57 dalek 6model: review: https://github.com/jnthn/6model/commit/6abecdc42f
00:57 sorear diakopter: *@args already flattens all arguments that are willing to be flattened
00:57 jnthn aww, s/from/form/
00:58 sorear diakopter: after that definiton, foo(1,2,3) = bar(1,2,3), foo([1,2,3]) = bar([1,2,3])
00:58 sorear diakopter: are you saying you want foo([1,2],[3,4]) = bar(1,2,3,4)?
00:59 sorear whee, STD works again
00:59 shi is now known as shiv
00:59 shiv is now known as shi
00:59 diakopter sorear: did you see the | in the call to bar?
01:00 mberends left #perl6
01:00 diakopter yes, I'm expecting something so this works:  foo([1,2],[3,4]) = bar(1,2,3,4)
01:01 lue afk
01:01 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_index_tablet
01:02 diakopter sorear: so, something like a flatten-deeply-to-destination.  ||@args maybe.
01:05 sorear ||@args is taken
01:05 diakopter oh.. for what?
01:05 jnthn lol
01:06 jnthn ...ok, "lol" is slightly obtuse. :)
01:06 jnthn But the spec for it does refer to "lol context"...
01:06 jnthn It's like a ; between things rather than ,
01:08 sorear your use case seems pretty obscure.  multi sub superflat(List $a) { map &superflat, @$a }; multi sub superflat($a) { $a }
01:08 diakopter yeah
01:08 sorear I've never needed to remove all square brackets from an argument list
01:12 sorear perl6: my $a = 1; my $b; ($b = $a) = 2; say $b; say $a;
01:12 p6eval pugs, rakudo : OUTPUT«2␤1␤»
01:12 sorear niecza: my $a = 1; my $b; ($b = $a) = 2; say $b; say $a;
01:12 p6eval niecza e7be5b2: OUTPUT«2␤1␤»
01:13 sjohnson niecza: say <5 3 2 4 1.sort.reverse
01:13 p6eval niecza e7be5b2: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unable to parse quote words at /tmp/z145LzTV38 line 1:␤------> [32msay [33m⏏[31m<5 3 2 4 1.sort.reverse[0m␤Couldn't find final '>'; gave up at /tmp/z145LzTV38 line 1 (EOF):␤------> [32msay <5 3 2 4 1.sort.reverse[33m⏏[31m<EOL>[0m␤Parse
01:13 p6eval ..failed␤»
01:13 sjohnson niecza: say <5 3 2 4 1>.sort.reverse
01:13 p6eval niecza e7be5b2: OUTPUT«Unhandled exception: Unable to resolve method reverse in class List␤  at  line 1 (MAIN mainline @ 3)␤  at  line 992 (SAFE G619ANONC @ 1)␤  at  line 992 (SAFE module-SAFE @ 29)␤  at  line 992 (SAFE mainline @ 1)␤  at  line 0 (boot @ 1)␤  at  line 0 (ExitRunloop @ 0)␤"mono"
01:13 p6eval ..unexpecte…
01:13 sjohnson doh!
01:13 sjohnson niecza: <5 3 2 4 1>.sort.reverse.perl.say
01:14 diakopter so speedy
01:14 p6eval niecza e7be5b2: OUTPUT«Unhandled exception: Unable to resolve method reverse in class List␤  at  line 1 (MAIN mainline @ 3)␤  at  line 992 (SAFE G619ANONC @ 1)␤  at  line 992 (SAFE module-SAFE @ 29)␤  at  line 992 (SAFE mainline @ 1)␤  at  line 0 (boot @ 1)␤  at  line 0 (ExitRunloop @ 0)␤"mono"
01:14 p6eval ..unexpecte…
01:14 sjohnson i broketed it
01:14 gbacon left #perl6
01:16 sorear niecza: say (reverse (<5 3 2 4 1>.sort)).dump
01:16 p6eval niecza e7be5b2: OUTPUT«["5", "4", "3", "2", "1"]␤»
01:17 sorear diakopter: have you seen the sort algorithm rakudo uses?
01:17 sjohnson are the brackets required (for now)?
01:17 sorear the brackets are required
01:17 sorear because I'm mixing method calls and sub calls there
01:18 sorear niecza: use MONKEY_TYPING; augment class List { method reverse() { reverse(@(self)) } }; <5 3 2 4 1>.sort.reverse.dump.say
01:18 p6eval niecza e7be5b2: OUTPUT«["5", "4", "3", "2", "1"]␤»
01:19 jnthn sleep &
01:19 sjohnson jnthn: cya
01:22 whiteknight joined #perl6
01:22 sorear oh, they seem to have fixed it
01:22 sorear parrot++ # no longer using a sort algorithm that goes O(n^2) on pre-sorted data
01:36 muixirt_ joined #perl6
01:38 muixirt left #perl6
01:38 muixirt_ is now known as muixirt
01:54 MaL0 left #perl6
01:55 MaL0 joined #perl6
01:55 sjohnson sorear: if you dont mind me asking, how many O() notations do you know for various data structure and sort algos off the top of your head?
01:56 sjohnson my c++ friend lent me a book on this sort of thing just today, and i'm kind of eager to learn it.. but unsure how much programmers are expected to remember
01:56 sorear sjohnson: only one.  when I encounter one other than O() I have to quickly check wikipedia:Big-O_notation
02:03 muixirt left #perl6
02:04 sjohnson he seems to know how fast insertion, searching, etc etc is for many popular datatypes
02:04 jedai left #perl6
02:05 sorear sjohnson: oh, *that* sense of "how many".  Lots and lots.
02:06 risou_ joined #perl6
02:06 sjohnson ahh, okay, i best read the entire book then :)
02:06 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_links_tablet
02:07 risou left #perl6
02:12 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_index_tablet
02:17 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/perl​6/index.cgi?best_of_perl_6_tablet
02:28 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/perl​6/index.cgi?best_of_perl_6_tablet
02:51 am0c joined #perl6
03:00 ch3ck3r left #perl6
03:04 dalek 6model: d92d231 | diakopter++ | dotnet/compiler/ (2 files):
03:04 dalek 6model: [dotnet] remove debug
03:04 dalek 6model: review: https://github.com/jnthn/6model/commit/d92d231866
03:04 dalek 6model: ce8a2fe | diakopter++ | dotnet/compiler/ (3 files):
03:04 dalek 6model: Merge branch 'master' of github.com:jnthn/6model
03:04 dalek 6model: review: https://github.com/jnthn/6model/commit/ce8a2fe442
03:06 jferrero left #perl6
03:13 REPLeffect joined #perl6
03:37 sorear should .push force a list to be eager?
03:39 risou_ left #perl6
03:39 risou joined #perl6
03:40 anon_ joined #perl6
03:41 anon_ left #perl6
03:56 spinclad joined #perl6
04:02 whiteknight left #perl6
04:05 dalek niecza: a321e05 | sorear++ | lib/Kernel.cs:
04:05 dalek niecza: Remodel INVOKE handling to reflect context handlers
04:05 dalek niecza: review: https://github.com/sorear/niecza/commit/a321e05efe
04:05 dalek niecza: cb25460 | sorear++ | v6/tryfile:
04:05 dalek niecza: Try a more efficient List.push
04:05 dalek niecza: review: https://github.com/sorear/niecza/commit/cb25460b48
04:06 kulp joined #perl6
04:06 risou left #perl6
04:07 risou joined #perl6
04:19 jedai joined #perl6
04:23 am0c^ left #perl6
04:24 am0c left #perl6
04:27 sorear bleh, I broke exception handling
04:37 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_index_tablet
04:37 am0c joined #perl6
04:46 kst left #perl6
04:46 kst joined #perl6
04:50 lichtkind left #perl6
04:57 REPLeffect left #perl6
05:07 orafu left #perl6
05:07 orafu joined #perl6
05:07 risou_ joined #perl6
05:10 risou left #perl6
05:20 am0c left #perl6
05:20 envi joined #perl6
05:29 jhuni joined #perl6
05:30 araujo left #perl6
05:57 Chillance left #perl6
06:04 rcfox joined #perl6
06:05 rcfox left #perl6
06:08 risou joined #perl6
06:10 am0c joined #perl6
06:10 risou_ left #perl6
06:11 kst left #perl6
06:12 kst joined #perl6
06:17 sorear ah, it was a case of exceptions/inferior runloop breakage.
06:18 sorear niecza: class Foo { method Str { die "Boo" } }; try { ~Foo; say "A" }; say "B"
06:18 p6eval niecza cb25460: OUTPUT«B␤A␤B␤»
06:27 xinming left #perl6
06:28 sorear I'm starting to think there should be an operator functioning like try { ~$_; CATCH { "{.Mu::Str} (.Str failed: $!)" } }
06:28 xinming joined #perl6
06:51 wooden left #perl6
06:58 kulp left #perl6
07:02 adu joined #perl6
07:19 kfo left #perl6
07:36 kst left #perl6
07:37 kst joined #perl6
07:41 masonkramer left #perl6
07:42 _kaare joined #perl6
07:48 REPLeffect joined #perl6
07:50 am0c^ joined #perl6
08:01 dalek niecza: d082db5 | sorear++ | lib/Kernel.cs:
08:01 dalek niecza: Refactor inferior loop handling, support exception propagation
08:01 dalek niecza: review: https://github.com/sorear/niecza/commit/d082db5af2
08:04 araujo joined #perl6
08:04 araujo left #perl6
08:04 araujo joined #perl6
08:05 sorear bah.  #OK not used is broken, AGAIN
08:19 adu bah
08:24 cibs joined #perl6
08:27 awwaiid rakudo.org no workey?
08:29 sorear 25m 20s for roast run....  /me is suspicious
08:30 sorear the errors look good though
08:30 sorear 87.40%
08:32 kfo joined #perl6
08:40 ggoebel joined #perl6
08:43 dalek niecza: b57aecc | sorear++ | / (2 files):
08:43 dalek niecza: <suppose> should not be zero width
08:43 dalek niecza: review: https://github.com/sorear/niecza/commit/b57aecc9ba
08:43 sorear #OK fixed
08:44 mathw rakudo: &gt; say ([1, 2] X ['a', 'b'] X ['y', 'z']).perl
08:44 p6eval rakudo : OUTPUT«Could not find sub &gt␤  in main program body at line 10:/tmp/2NQuON_6G7␤»
08:44 mathw woops
08:45 mathw wrong buffer
08:45 mathw rakudo:
08:45 p6eval rakudo :  ( no output )
08:45 mathw other wrong buffer
08:45 mathw WAKE UP
08:45 mathw rakudo: say ([1, 2] X ['a', 'b'] X ['y', 'z']).perl
08:45 p6eval rakudo : OUTPUT«No applicable candidates found to dispatch to for 'infix:<X>'. Available candidates are:␤:(Any $lhs, Any $rhs)␤␤  in main program body at line 22:/tmp/L4QSb4dR9J␤»
08:45 mathw NYI?
08:46 sorear apparently
08:46 sorear rakudo: (([1,2] X ['a','b']) X ['y', 'z']).perl.say
08:46 p6eval rakudo : OUTPUT«((1, "y"), (1, "z"), ("a", "y"), ("a", "z"), (1, "y"), (1, "z"), ("b", "y"), ("b", "z"), (2, "y"), (2, "z"), ("a", "y"), ("a", "z"), (2, "y"), (2, "z"), ("b", "y"), ("b", "z"))␤»
08:46 mathw umm
08:46 mathw interesting
08:46 sorear rakudo: (([1,2] X=> ['a','b']) X=> ['y', 'z']).perl.say
08:46 p6eval rakudo : OUTPUT«(1 => "a" => "y", 1 => "a" => "z", 1 => "b" => "y", 1 => "b" => "z", 2 => "a" => "y", 2 => "a" => "z", 2 => "b" => "y", 2 => "b" => "z")␤»
08:47 sorear flattens I guess
08:47 mathw yeah
08:47 mathw okay I'll just leave that bit out
08:47 diakopter niecza: say "fox" ~~ /f <suppose { /o/ }> x /
08:47 p6eval niecza d082db5: OUTPUT«/home/p6eval/niecza/obj/MAIN.cs(2081,71): error CS1525: Unexpected symbol `:', expecting `,', or `}'␤Compilation failed: 1 error(s), 0 warnings␤"gmcs" unexpectedly returned exit value 1 at (eval 43) line 13␤ at /home/p6eval/niecza/src/CompilerDriver.pm line 256␤»
08:47 mathw now why is my cat pretending to be a bird?
08:47 sorear that is a decidedly NYI error
08:48 diakopter I saw a cat bounce from wall to wall to lamp to ceiling to wall to bookcase through window
08:48 mathw He's not trying to fly, he's just making bird noises
08:49 diakopter oh
08:51 molaf joined #perl6
08:52 kst left #perl6
08:52 mathw rakudo: say ([1, 2] Z [3, 4]).perl
08:52 p6eval rakudo : OUTPUT«(1, 3, 2, 4)␤»
08:52 mathw I'm surprised by that
08:52 mikehh joined #perl6
08:52 kst joined #perl6
08:54 mathw oh even more surprising
08:54 mathw rakudo: say ([1, 2] Z, [3, 4]).perl
08:54 p6eval rakudo : OUTPUT«((1, 3), (2, 4))␤»
08:54 mathw shouldn't they be the same?
08:57 sorear Z and Z, are not *quite* the same iirc
08:57 sorear I think Z is specced to auto-flatten
08:58 mathw "The Z, operator is perhaps more clearly written as Z[,]. However, this list form is common enough to have a shortcut, the ordinary infix Z operator described earlier."
08:59 mathw there's also an example earlier where infix:<Z> shows that it doesn't autoflatten
09:02 mathw I'll file a bug
09:03 sorear file two
09:03 mathw one for flattening, one for them not being identical?
09:03 sorear [1, 2] should be interpreted as exactly one value in the vast majority of cases
09:04 sorear [1, 2] Z [3, 4] should -> [1,2], [3,4]
09:04 mathw oh
09:04 mathw so that's a bug in everything, fun
09:04 mberends joined #perl6
09:05 mathw and of course it should
09:05 mathw can't remember why I even tried it that way to start with
09:14 JimmyZ joined #perl6
09:25 JimmyZ left #perl6
09:39 adu left #perl6
09:59 sjohnson mathw: hows it going?
09:59 mathw sjohnson: not bad
10:00 mathw busy, at least
10:04 TiMBuS rakudo: say ([1,2] >>,<< [3,4]).perl
10:04 p6eval rakudo : OUTPUT«[1, 3, 2, 4]␤»
10:05 TiMBuS rakudo: say ([1,2] >>Z<< [3,4]).perl
10:05 p6eval rakudo : OUTPUT«===SORRY!===␤Unsupported use of << to do left shift; in Perl 6 please use +< or ~< at line 22, near "[3,4]).per"␤»
10:05 TiMBuS oh
10:06 sorear use french quotes
10:08 sorear jnthn: ping?
10:08 finanalyst joined #perl6
10:08 masak joined #perl6
10:08 masak oh hai, #perl6!
10:08 phenny masak: 04 Dec 20:37Z <Tene> tell masak pong
10:08 phenny masak: 04 Dec 20:51Z <Tene> tell masak you may also be interested in adv_windowlist.pl for irssi: http://allalone.org/adv_windowlist.png
10:08 * masak isn't very interested in irssi, really :)
10:08 masak but thanks.
10:09 sorear hello masak!
10:09 masak phenny: tell Tene after I removed ihrd's Routes, I rewrote it as URI::Dispatcher. I'd be happy to hear what you think of it.
10:09 phenny masak: I'll pass that on when Tene is around.
10:11 sorear masak: .net has a feature called "explicit interface implementations"; I'm wondering how to map it into Perl-space
10:12 masak sorear: the answer is usually "as simply as possible" :P
10:12 sorear a type can implement an interface, but the implementations are only visible through pointers of the correct type
10:12 sorear in pseudo Perl6:
10:12 sorear my File $file = ...
10:12 sorear $file.Close; # valid; Close() is a method on Files
10:12 sorear $file.Dispose; # not valid; File.Dispose is a hidden implementation
10:13 sorear my IDispose $disposable = $file;
10:13 sorear $disposable.Close; # not valid: static typing, natch
10:13 masak yeah, I just read up on it myself.
10:13 sorear $disposable.Dispose; # valid
10:13 masak kinda weird :)
10:13 masak reminds me of C's occasional abuse of pointers.
10:14 sorear basically it boils down to "should Perl6 see the difference between the same object viewed through different static types?"
10:14 finanalyst is there any GUI module working that p6 can use? There is work on parrot-Tk but has anyone got it to work with P6? I tried about a year ago.
10:14 sorear finanalyst: I got blizkost-Tk working a few months ago
10:15 masak I'd say that the idea of explicit interface implementations is too limiting to even have a representation in liberal Perl. :)
10:15 sorear note that this is strictly a C# compiler and conventional thing
10:15 sorear at the runtime level, you have $file.File::Close; $file.IDispose::Dispose;
10:15 jhuni left #perl6
10:16 finanalyst sorear: i tried a little to get blizkost up on my box, but failed for lack of guru capabilities ;(
10:16 finanalyst anything for rakudo?
10:18 sorear masak: I'm thinking of doing something like $file."IDispose::Dispose"()
10:19 sorear this would also be an effecive way to handle shadowed functions
10:19 sorear but, it means that generic code written in Perl6 to handle any implementation of IFoo or any sbclass of Foo gets ugly
10:19 masak indeed.
10:20 dalek niecza: f30c13c | sorear++ | / (5 files):
10:20 dalek niecza: Minimal prototype of CLR interop
10:20 dalek niecza: review: https://github.com/sorear/niecza/commit/f30c13c472
10:22 sorear masak: another thing I'm pondering is how much the type hierachy should be reflected
10:22 masak please elaborate.
10:22 sorear System::Console.^superclasses = ?
10:23 sorear hmm.  if interfaces were handled using MI (not roles), then I might be able to make direct Perl 6 $file.IDispose::Dispose work
10:27 am0c left #perl6
10:34 Axius joined #perl6
10:36 am0c^ left #perl6
10:37 masak sorear: S12 speaks of a namespace ::SUPER
10:37 masak sorear: I've never really understood how it works under the hood.
10:39 _ilbot joined #perl6
10:39 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: http://irc.perl6.org/ | UTF-8 is our friend! | Rakudo Star Released!
10:39 moritz_ I guess it doesn't :-)
10:41 masak sorry, I was referring to Unicorn Perl 6, a miraculously working, non-existent implementation.
10:41 * masak wonders idly if he just created a meme
10:41 sorear masak: SUPER is from Perl 5, and widely used there
10:42 masak sorear: ok, then there's prior art.
10:42 sorear $obj->SomeClass::method  # start MRO search at SomeClass
10:42 sorear $obj->SomeClass::SUPER::method # start MRO search at $SomeClass::ISA[0] but with extra MI magic
10:42 masak right.
10:42 sorear $obj->SUPER::method # like $obj->__PACKAGE__::SUPER::method, but works
10:42 masak how much is SUPER:: tied to the choice of MRO in Perl 6?
10:43 sorear I don't think a judgement has been made on that
10:43 sorear I'll probably run a few tests with use mro 'c3' :p
10:43 moritz_ it was abandoned for nextsame/with
10:43 kfo left #perl6
10:44 moritz_ because it's not MI-friendly
10:44 am0c^ joined #perl6
10:45 sorear tomorrow I'll try and actually implement $clrobject.Method
10:45 * sorear .sleep
10:46 moritz_ sleep well, and dream of powerful foreign objects :-)
10:48 sjohnson heh
10:48 sjohnson might be able to sneek a backspace ascii char in there
10:48 sjohnson and get it so it joins with the .sleep
10:48 sjohnson some irc clients might be fooled
10:49 am0c^ left #perl6
11:05 masak moritz_: it's the "not MI-friendly" part that causes me to feel a bit of surprise over the fact that we still have SUPER:: in the spec.
11:09 risou_ joined #perl6
11:10 risou left #perl6
11:11 moritz_ masak: I think it's a fossile
11:11 masak I'm not so sure.
11:12 masak see S12;2110, for example.
11:12 masak that paragraph was clearly written after the introduction of nextsame et al.
11:13 dalek mu: cc4b6f6 | moritz++ | misc/perl6advent-2010/schedule:
11:13 dalek mu: [advent] retro-update schedule
11:13 dalek mu: review: https://github.com/perl6/mu/commit/cc4b6f6b45
11:13 moritz_ S12:2110 # I just want the link in the logs :-)
11:13 masak moritz_++ # saving slot #5
11:14 moritz_ mathw: are you on track for tomorrow's advent post?
11:14 moritz_ SUPER       # Package symbols declared in inherited classes
11:14 moritz_ from S02
11:14 moritz_ uhm
11:15 moritz_ is that from the time before methods where in has-scope?
11:17 moritz_ there are three occurences in the spec
11:17 moritz_ (of SUPER)
11:17 moritz_ one looks like a fossile to me
11:17 moritz_ in S06, my $restorer = $.SUPER::TEMP();
11:18 moritz_ I'd change that to   my $restored = callsame();
11:18 moritz_ any objections?
11:18 mathw moritz_: yes, there's one in the system, if you'd like to check it?
11:18 moritz_ mathw: I'll take a look
11:19 * moritz_ would like to see "Day $n" in the titles
11:19 nadim_ left #perl6
11:19 mathw good point
11:20 masak moritz_: no objections, we can always revert later if it turned out to be (SUPER-)necessary. :)
11:21 mberends left #perl6
11:22 moritz_ mathw: very nice post. If you strive to make it even better, include some actual use case for Z (like creating hashes from keys and values, pairwise iteration or some such)
11:23 dalek specs: 15f0b2b | moritz++ | S06-routines.pod:
11:23 dalek specs: [S06] remove a SUPER:: fossile
11:23 dalek specs: review: https://github.com/perl6/specs/commit/15f0b2ba23
11:24 mathw yes I've been pondering that
11:24 mathw I did pairwise iteration last year :)
11:24 moritz_ you can use Z=> for Pair creation this time, for example
11:24 Chillance joined #perl6
11:26 mathw yes
11:26 mathw I'll add that
11:26 mathw in a bit
11:27 moritz_ mathw++
11:37 masak colomon: [backlog] I have no intention to work more on proto. as far as I'm concerned, neutro is a continuation of already-killed-several-times proto.
11:42 kst left #perl6
11:42 kst joined #perl6
11:47 Axius_ joined #perl6
11:49 Axius left #perl6
11:49 masak &
11:50 masak left #perl6
12:07 wamba joined #perl6
12:15 Axius_ left #perl6
12:17 finanalyst left #perl6
12:32 MayDaniel joined #perl6
12:44 _kaare left #perl6
13:02 molaf left #perl6
13:16 whiteknight joined #perl6
13:19 kfo joined #perl6
13:41 Patterner left #perl6
13:43 cosimo rakudo: say qx{uname -r}.chomp
13:43 p6eval rakudo : OUTPUT«Operation not permitted in safe mode␤  in 'Safe::forbidden' at line 2:/tmp/l6aNpvSMUn␤  in main program body at line 22:/tmp/l6aNpvSMUn␤»
13:43 cosimo rakudo: my $code = 'uname -r'; say qx{$code}.chomp;
13:43 p6eval rakudo : OUTPUT«Operation not permitted in safe mode␤  in 'Safe::forbidden' at line 2:/tmp/NPxwxu9jyn␤  in main program body at line 22:/tmp/NPxwxu9jyn␤»
13:43 cosimo mmh
13:44 cosimo any idea why 'my $x = qx{uname -r}' works, but 'my $c = "uname -r"; my $x = qx{$c}' doesn't??
13:44 moritz_ qx doesn't interpolate
13:44 moritz_ qqx does
13:46 cosimo aha
13:46 cosimo moritz_: thanks!
13:46 cosimo works ofc
13:46 cosimo Cool(tm)
13:46 cosimo facter is ported!!
13:49 masonkramer joined #perl6
13:49 nymacro joined #perl6
13:52 Psyche^ joined #perl6
13:52 Psyche^ is now known as Patterner
13:55 wamba left #perl6
14:08 moritz_ \o/
14:16 cosimo moritz_: if I want to customize what 'if ($instance)' does, can I write a 'method Bool {}' in the class?
14:17 cosimo like 'method Str' ?
14:20 jnthn yes
14:20 jnthn Should work, anyway
14:20 ch3ck joined #perl6
14:22 cosimo ok
14:26 moritz_ but doesn't, afaict
14:26 moritz_ at leat not always
14:27 moritz_ rakudo: class A { method Bool { False } }; if A.new { say "yes" } else { say "no" }
14:27 p6eval rakudo : OUTPUT«no␤»
14:27 moritz_ hm
14:27 moritz_ \o/
14:27 cosimo :)
14:27 MayDaniel left #perl6
14:27 moritz_ I think it's only  '1 but False' that doesn't work, because 1 has a lower level get_bool vtable
14:28 cosimo well, i'm not at that level of sofistication yet
14:36 soroush left #perl6
14:36 PacoLinux left #perl6
14:38 PacoLinux joined #perl6
14:41 dual left #perl6
14:42 ndrsndrs joined #perl6
14:47 glow joined #perl6
14:50 am0c joined #perl6
14:58 whiteknight left #perl6
15:00 wamba joined #perl6
15:00 whiteknight joined #perl6
15:02 am0c left #perl6
15:04 am0c^ joined #perl6
15:05 Axius joined #perl6
15:09 wamba left #perl6
15:10 nymacro left #perl6
15:19 wamba joined #perl6
15:31 lichtkind joined #perl6
15:32 Axius left #perl6
15:38 demolithion joined #perl6
15:43 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_index_tablet
15:46 dual joined #perl6
15:49 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_index_tablet
15:55 lichtkind hinrik++
15:55 lichtkind he released 2 days ago perl6::Doc 0.46
16:11 nadim_ joined #perl6
16:16 am0c^2 joined #perl6
16:16 am0c^ left #perl6
16:34 am0c joined #perl6
16:51 diakopter left #perl6
16:51 TimToady left #perl6
16:52 sorear left #perl6
16:55 Kodi joined #perl6
17:00 HarryS left #perl6
17:04 perlsyntax joined #perl6
17:04 perlsyntax when perl 6 comeing out?
17:05 soroush joined #perl6
17:07 _kaare joined #perl6
17:11 perlsyntax ?
17:11 perlsyntax left #perl6
17:16 am0c^2 left #perl6
17:16 PacoLinux left #perl6
17:16 Chillance left #perl6
17:16 cognominal left #perl6
17:16 [Coke] left #perl6
17:16 Exodist left #perl6
17:16 simcop2387 left #perl6
17:16 clkao left #perl6
17:16 [Coke] joined #perl6
17:16 PacoLinux joined #perl6
17:16 cognominal joined #perl6
17:17 exodist_ joined #perl6
17:17 tadzik hello sixers!
17:17 tadzik what did I miss?
17:17 clkao joined #perl6
17:18 simcop2387 joined #perl6
17:20 Chillance joined #perl6
17:20 lichtkind left #perl6
17:23 perlsyntax joined #perl6
17:23 perlsyntax Anyone know when perl 6 comeing out?
17:26 perlsyntax left #perl6
17:29 sorear joined #perl6
17:30 tadzik phenny: tell perlsyntax before christmas
17:30 phenny tadzik: I'll pass that on when perlsyntax is around.
17:30 soroush left #perl6
17:31 TimToady joined #perl6
17:31 diakopter joined #perl6
17:38 timbunce joined #perl6
17:40 skangas left #perl6
17:44 HarryS joined #perl6
17:47 jedai left #perl6
17:47 jedai joined #perl6
17:54 molaf joined #perl6
17:58 Khisanth left #perl6
18:03 lichtkind joined #perl6
18:04 justatheory joined #perl6
18:10 tadzik (it's quite silent here today, isn't it?)
18:17 finanalyst joined #perl6
18:18 aindilis left #perl6
18:23 Kodi A comment I just wrote: "Camelia forbid there should be a time zone named MAY."
18:24 aindilis joined #perl6
18:25 flussence interesting thing I read a while ago: A..Z are valid timezone identifiers, which is where the "Z" in iso8601 is from. Used by NATO or something.
18:26 Kodi flussence: And how do you interpret "A", "B", etc?
18:26 jnthn Awesome time. Beer time. ...
18:26 flussence dunno, actually...
18:26 Kodi Weird.
18:27 jnthn http://www.worldtimezone.com/​wtz-names/timezonenames.html doesn't list a MAY, but there is a MAT and a MAL...
18:27 Kodi Phew.
18:27 jnthn Please don't tell me this is because it'd be ambiguous with the month name May?
18:28 * jnthn wonders what we're parsing that could have that ambiguity...
18:28 Kodi Alas, 'tis so. I'm trying to write the dwimmiest date-and-time parser possible.
18:28 * jnthn wonders if any other language has a month name that conflicts with a timezone name. :)
18:28 Kodi This necessarily means playing fast and loose with the time-zone abbreviations, among other things, since, e.g., there's more than one EST.
18:29 jnthn There's only one MST though.
18:29 justatheory left #perl6
18:29 jnthn ;-)
18:29 Kodi I am definitely NOT going to implement languages other than English. [shudder]
18:30 justatheory joined #perl6
18:31 jnthn Awww. There is a WFT timezone, but sadly not a WTF.
18:33 aindilis left #perl6
18:35 [Coke] tadzik: ping
18:36 tadzik [Coke]: pong
18:36 aindilis joined #perl6
18:39 aindilis left #perl6
18:44 aindilis joined #perl6
18:46 aindilis left #perl6
18:47 aindilis joined #perl6
18:49 rgrau_ joined #perl6
18:51 HarryS left #perl6
18:51 rgrau_ left #perl6
18:52 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_basics_tablet
18:52 rgrau_ joined #perl6
18:52 aindilis left #perl6
18:53 TimToady left #perl6
18:53 sorear left #perl6
18:53 diakopter left #perl6
18:54 aindilis joined #perl6
18:54 ch3ck left #perl6
18:54 rgrau_ left #perl6
18:54 rgrau_ joined #perl6
18:54 tbt joined #perl6
18:55 justatheory left #perl6
18:56 tbt left #perl6
18:58 Kodi left #perl6
18:58 aindilis left #perl6
19:00 TimToady joined #perl6
19:01 rgrau_ left #perl6
19:01 aindilis joined #perl6
19:01 aindilis left #perl6
19:02 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_lookup_tablet
19:04 TimToady left #perl6
19:05 aindilis joined #perl6
19:06 masak joined #perl6
19:06 masak o/
19:07 tadzik masak!
19:07 aindilis left #perl6
19:07 masak I've just tried Indian home cooking. highly recommended.
19:07 tadzik (I'll be back in an hour or something)
19:08 envi left #perl6
19:09 aindilis joined #perl6
19:09 masak left #perl6
19:09 masak joined #perl6
19:09 jnthn masak: nice!
19:09 risou joined #perl6
19:10 masak jnthn: yes. I recently bought this: http://www.amazon.com/Indian-Home-Cooking-Int​roduction-Recipes/dp/0609611011?tag=dudugo-20
19:10 masak and today was the first time I tried it out.
19:10 masak jnthn: and soon I'll come living next to you, and I will need a co-experimenter :P
19:12 TimToady joined #perl6
19:12 masak mathw: I merged your #80240 into my #73948. thanks for playing. :)
19:12 mathw I suck at finding existing bugs
19:12 mathw I don't really get how to use RT
19:12 masak it's not trivial, no.
19:12 risou_ left #perl6
19:12 mathw I also suck at filing them, because I forget to say [BUG]
19:12 lue ohai wurld o/
19:13 masak mathw: no matter. :) it's just common practice, not law.
19:13 * mathw is just finishing off his advent post
19:13 mathw masak: yeah but it's one I like, that I always forget
19:13 masak mathw++ # \o/
19:13 mathw probably because I don't file enough bugs
19:13 lichtkind mathw++
19:13 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/perl​6/index.cgi?perl_6_variable_tablet
19:13 lichtkind karma masak
19:13 aloha masak has karma of 153.
19:14 moritz_ karma Herber Breunung
19:14 aloha Herber Breunung has karma of 0.
19:14 moritz_ karma Herbert Breunung
19:14 aloha Herbert Breunung has karma of 179.
19:14 kst left #perl6
19:14 masak 153? must submit moar bugs!
19:14 moritz_ correct typing helps :-)
19:14 mathw yup
19:14 kst joined #perl6
19:14 moritz_ masak: we must coax sorear++ into getting dalek reporting new RT entries
19:14 masak karma lichtkind
19:15 aloha lichtkind has karma of 4.
19:15 masak karma mathw
19:15 aloha mathw has karma of 3.
19:15 mathw anybody got a really awesome example for meta-X and meta-Z they really think I should include?
19:15 jnthn masak: *next* to me? :)
19:15 jnthn masak: I'm highly willing to be experimented on when it comes to nom. :-)
19:15 masak jnthn: I am in ur livin room, cooking ur food... :>
19:15 jnthn \o/
19:15 jnthn That's wonderful, but why didn't you use my kitchen?
19:16 masak good question. er.
19:16 TimToady left #perl6
19:16 lichtkind mathw: Z is handy when working with several arrays in parrallel
19:16 mathw got that one
19:16 masak lichtkind: I think he knows that...
19:17 moritz_ mathw: I like it for transforming hashes:
19:17 moritz_ my %all_uc = %orig.keys>>.uc Z=> %orig.values;
19:17 mathw and if somebody has one that uses X and Z together, that would be super awesome
19:17 aindilis left #perl6
19:18 moritz_ my @checkerboard_names = 'A', 'B' ... 'H' X~ 1..8;
19:19 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/perl​6/index.cgi?perl_6_variable_tablet
19:19 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_index_tablet
19:19 masak also, 'my @deck_of_cards = ...'
19:19 lichtkind actually i never felt before a real urge to actually use perl 6 for something i need :)
19:19 aindilis joined #perl6
19:20 * mathw has all the possible totals from a roll of 3d10
19:20 moritz_ mathw: you can link to https://github.com/moritz/perl6-​Sudoku/blob/master/lib/Sudoku.pm for code that uses X and Z extensively
19:20 moritz_ y => ((^$!block-size Xxx $!block-size )X+ ($y * $!block-size)),
19:20 soroush joined #perl6
19:20 soroush left #perl6
19:21 moritz_ that are the indexes of a 3x3 block in a Sudoku board
19:21 mathw Xxx
19:21 mathw nice :)
19:22 masak moritz_++
19:22 glow sorry, what does $! do here?
19:22 masak moritz_: is that the 'dancing links' solution?
19:22 mathw private object attribute
19:23 lue Would a post detailing the Perl 6 community be good for day 25?
19:23 moritz_ masak: no, that's simple constraint propagation
19:23 moritz_ haven't got around to dancing links yet
19:23 masak mathw: heh, I don't even think "private" there any more, even though it is. *all* object attributes are private to me, and then they either have or do not have access methods. :)
19:23 mathw masak: I was trying for a simple one-liner of an explanation :P
19:23 jnthn masak: That's the way I like to look at it too.
19:24 mathw although yes, that is how it goes and it's beautifully elegant that way
19:24 masak lue: I think "merry christmas" would be good for day 25. but I find I'm terribly traditional-minded in all things Advent Calendar. I want to do it like we did it last year. :)
19:24 moritz_ lue: I wouldn't object to one... are you volunteering?
19:25 lue Yes. [maybe a day-after-christmas post?]
19:25 mathw why not a during advent post
19:25 mathw why does it have to go after
19:25 mathw it's just as important as the language
19:25 moritz_ agreed
19:25 mathw now where did I put that ice cream
19:25 lue As a sort of "If you still need help/want to learn more" post.
19:25 moritz_ outside? :-)
19:25 mathw (duh, in the freezeR)
19:26 jnthn Outside would work just as well as the freezer at the moment :)
19:26 masak mathw: you can always have a look at the infix:<Z> section of http://strangelyconsistent.org/blog/6-builti​ns-in-perl-6-that-you-never-knew-you-needed and borrow examples from there.
19:26 mathw true
19:26 mathw well, not quite actually
19:26 moritz_ it's warming up here; -0.5°C
19:26 mathw it's only supposed to get to about -5C here tonight
19:26 masak mathw: though it looks to me that they're not extremely out of the ordinary...
19:26 mathw and my freezer's supposed to be at about -18
19:26 jnthn moritz_: Wow, that's almost tropical... :)
19:27 mathw I think the lowest we hit round my way so far was -9C, which was pretty shocking for the East Midlands
19:27 lue -1.0°C here
19:27 mathw cold enough that my cat actually refused to go outside
19:27 mathw which is previously unheard of when it's not raining
19:27 masak lue: I agree -- do the post, but do it for $slot <= 24. we need authors in those slots, no need to wait! :)
19:27 * moritz_ considered shipping a few metric tons of snow to Isreal, to help with the forest fires
19:27 masak std: >>.grade
19:27 risou left #perl6
19:27 p6eval std a194beb: OUTPUT«[31m===[0mSORRY![31m===[0m␤Bogus statement at /tmp/LNVXVUa7TG line 1:␤------> [32m<BOL>[33m⏏[31m>>.grade[0m␤Parse failed␤FAILED 00:01 119m␤»
19:28 masak std: .>>grade
19:28 p6eval std a194beb: OUTPUT«[31m===[0mSORRY![31m===[0m␤Bogus statement at /tmp/8eCh2dlkNN line 1:␤------> [32m<BOL>[33m⏏[31m.>>grade[0m␤Parse failed␤FAILED 00:01 119m␤»
19:28 jnthn std: .??grade
19:28 p6eval std a194beb: OUTPUT«[31m===[0mSORRY![31m===[0m␤Confused at /tmp/o1RFoPbp8d line 1:␤------> [32m.?[33m⏏[31m?grade[0m␤    expecting dotty method or postfix␤Parse failed␤FAILED 00:01 117m␤»
19:28 jnthn ...gah
19:28 lue Actually, the more I think about it, the more potential ideas are in my head for advent.
19:28 masak what's wrong with '>>.grade'?
19:28 jnthn rakudo: >>.grade
19:28 p6eval rakudo : OUTPUT«===SORRY!===␤Confused at line 22, near ">>.grade"␤»
19:28 mathw lue: good, you can have four days then :)
19:28 masak std: $_>>.grade
19:28 moritz_ lue: also notice that there's a topic-brainstorming file in mu/misc/perl6advent-2010/
19:28 p6eval std a194beb: OUTPUT«ok 00:01 118m␤»
19:28 moritz_ std: .>>.grade
19:28 p6eval std a194beb: OUTPUT«[31m===[0mSORRY![31m===[0m␤Bogus statement at /tmp/q7cyH2dC0Q line 1:␤------> [32m<BOL>[33m⏏[31m.>>.grade[0m␤Parse failed␤FAILED 00:01 119m␤»
19:29 moritz_ std: $_.>>.grade
19:29 p6eval std a194beb: OUTPUT«ok 00:01 118m␤»
19:29 jnthn masak: iirc, only applies when it's an infix...or soemthing...
19:29 masak yes, but why?
19:29 lue I see that, and should add to it.
19:29 jnthn masak: 'cus STD says so :)
19:29 masak :/
19:29 jnthn masak: I don't immediately see why it couldn't be made to work.
19:29 jnthn masak: But I may be missing something.
19:29 masak me too.
19:29 jnthn std: .*lol
19:30 p6eval std a194beb: OUTPUT«ok 00:01 118m␤»
19:30 jnthn ah, but those are in dotty
19:30 aindilis left #perl6
19:30 masak right.
19:31 aindilis joined #perl6
19:32 mathw it's of fairly limited use, I'd say... but that's a terrible reason to not make it work. A better reason would be 'It's really really really really REALLY hard'
19:32 masak I don't like the "limited use" argument.
19:32 mathw no
19:32 masak that's essentially the same argument as moritz_ blogged about, with Duration.
19:32 mathw it's a bad argument
19:32 mathw yes :)
19:33 * mathw likes Duration, it appeals to his inner type zealot
19:33 masak but I suspect that there might be a better one, and that TimToady will tell us.
19:34 mathw :)
19:40 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_index_tablet
19:40 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_block_tablet
19:41 molaf left #perl6
19:44 Khisanth joined #perl6
19:44 lue by what time would I have to write an advent post? 23:59 UTC the previous day?
19:45 moritz_ that would be nice, though if you don't quite make it by day break that's OK too
19:45 masak rakudo: say "foo".PARROT; say dir()[0].PARROT
19:45 p6eval rakudo : OUTPUT«Str␤Operation not permitted in safe mode␤  in 'Safe::forbidden' at line 2:/tmp/gY2z1f5EuR␤  in main program body at line 22:/tmp/gY2z1f5EuR␤»
19:45 masak locally, "Str\nString\n"
19:45 * masak submits rakudobug
19:46 masak uasi++ on Twitter
19:47 aindilis left #perl6
19:50 masak wow, http://www.reddit.com/r/programming/comme​nts/egb42/perl_6_the_sequence_operators/ is just full of misinformed.
19:50 masak I'd go in and provide some actual information, but I don't know where to start.
19:50 huf r/programming, usual perlhate?
19:50 huf *sigh*
19:51 masak "Why bake such stupid operators in to the language instead of just providing a way to define them by the programmer?" -- er, you can't see the use of *sequences*? who says they can't be defined?
19:51 masak heck, we have *multi* operators; we can define already defined operators!
19:51 masak talk about extensibility!
19:51 masak "I fear that operators in Perl have such widely varying syntactic and semantic forms that it would be next to impossible to provide a way for users to define them." -- sorry, what?
19:51 mathw yeah well
19:51 mathw I'll poke them on that subject
19:51 masak I mean, er, what?
19:52 huf :))))
19:52 huf masak: you have to remember, these people know only one thing about perl: "perl is line noise"
19:53 mathw Rakudo's sequence operator is written in Perl 6, isn't it?
19:53 lue I picked day 13 for writing about the P6 community, is that alright?
19:53 masak mathw: yes.
19:53 masak mathw: that's a really good point. I'll write that.
19:53 mathw masak: so it's obviously possible to write such operators at the programmer level :)
19:53 * mathw already did
19:53 lue (no-one's going "aw, I wanted day 13!", right?)
19:54 mathw the point about it being possible to run over the termination condition for a sequence is much more valid
19:54 mathw that surprised me, I must admit
19:55 mathw patrickas++ for trying to get to a proper statement of the problem and figure out if there's a positive spec change there
19:57 khisanth_ joined #perl6
19:57 Khisanth left #perl6
19:57 khisanth_ is now known as Khisanth
20:01 masak mathw: well, that's the most recent spec change for sequences. and yes, that's the "drawback" from that change.
20:01 masak mathw: the advantage was a much, much saner spec, though.
20:01 HarryS joined #perl6
20:02 dalek mu: 7601a25 | lue++ | misc/perl6advent-2010/ (2 files):
20:02 dalek mu: Added my ideas and signed up for day 13 to write about the P6 community
20:02 dalek mu: review: https://github.com/perl6/mu/commit/7601a25680
20:02 mathw it is hard to conceive of a better overall default
20:02 mathw and you *can* override it
20:03 masak and the rule isn't really '==', but 'The sequence stops when the item generated matches the right-hand side'.
20:03 masak which means ~~, not ==.
20:03 masak and that's the power of the spec as it stands today.
20:03 lue .oO(I'll probably (99.99999% chance) end up writing >1 posts.)
20:03 masak yes, it'll bite people who expect <
20:03 mathw aaaaaaaaaaaaaaah
20:03 mathw ~~++
20:03 masak lue: did you pick a slot yet?
20:04 moritz_ people who expect < should think about decreasing sequences
20:04 masak or weird sequences.
20:04 moritz_ masak: he did, you missed the commit report by dalek
20:04 masak lue++
20:08 masak moritz_++ # http://www.reddit.com/r/programming/comments​/egb42/perl_6_the_sequence_operators/c17y8c7
20:11 uasi joined #perl6
20:11 masak uasi: hey, thanks for the bug report!
20:15 uasi left #perl6
20:15 uasi joined #perl6
20:15 uasi masak: sure
20:16 sorear joined #perl6
20:16 uasi rakudo: say 1, 2 ... * > 3
20:16 p6eval rakudo : OUTPUT«1234␤»
20:17 uasi say 1, 2 ... * !< 3
20:17 uasi rakudo: say 1, 2 ... * !< 3
20:17 p6eval rakudo : OUTPUT«Can't take numeric value for object of type Whatever␤  in 'Any::Numeric' at line 1418:CORE.setting␤  in 'infix:<<>' at line 7294:CORE.setting␤  in 'negate' at line 122:CORE.setting␤  in main program body at line 1␤»
20:18 uasi :/
20:18 masak huh.
20:18 * masak submits rakudobug
20:18 masak uasi++
20:18 masak must be some unfortunate combination of ! and operator currying.
20:19 TimToady joined #perl6
20:20 diakopter joined #perl6
20:21 masak TimToady: we were wondering earlier why '».method' isn't legal Perl 6.
20:27 tadzik hello again :)
20:28 masak tadzik! \o/
20:28 tadzik yeah, back from the battlefield :) How is the advent calendar going?
20:31 moritz_ tadzik: no complaints :-)
20:31 moritz_ I had to chime in for today
20:31 tadzik good. Thanks for taking care :)
20:31 tadzik moritz_++
20:34 MayDaniel joined #perl6
20:34 masak lue: I like your "common problems with grammars" idea for the calendar -- it's not a "cool feature", but might still be very useful for people starting out.
20:37 tadzik hmm, I should write something this week
20:38 sorear good * #perl6
20:38 dalek mu: 1bc5538 | masak++ | misc/perl6advent-2010/topic-brainstorming:
20:38 dalek mu: [topic-brainstorming] added three suggestions
20:38 dalek mu: review: https://github.com/perl6/mu/commit/1bc5538c55
20:38 masak dalek: my, you're fast today.
20:38 kthakore rakudo: grammar Card { rule name :w {<[A-Z]><a-z>+ }; };
20:38 sorear I see I'm not the only one suffering from 209.9.237.164's network troubles
20:38 p6eval rakudo : OUTPUT«===SORRY!===␤traits specified as colon pairs not yet understood at line 22, near "{<[A-Z]><a"␤»
20:38 finanalyst left #perl6
20:38 kthakore rakudo: grammar Card { rule name :w {<[A-Z]><[a-z]>+ }; };
20:38 p6eval rakudo : OUTPUT«===SORRY!===␤traits specified as colon pairs not yet understood at line 22, near "{<[A-Z]><["␤»
20:39 kthakore ..?
20:39 masak kthakore: what's the :w doing outside the {}?
20:39 moritz_ what's :w anyway?
20:39 kthakore ... masak I got this from here http://www.ibm.com/developerwor​ks/linux/library/l-cpregex.html
20:39 masak kthakore: who are you, anyway? :P
20:39 sorear masak: that's because perl6/* is using the new push-based notification system
20:39 timbunce left #perl6
20:39 tadzik oh, maybe the module system?
20:39 masak sorear: niceness.
20:39 kthakore masak: random dude trying to make Magic The Gathering Card Gammar in Perl6
20:39 tadzik oh!
20:39 timbunce joined #perl6
20:40 tadzik MtG!
20:40 masak kthakore++
20:40 kthakore tadzik: yeah ... it is not going good
20:40 kthakore the Ibm tutorial sucks
20:40 moritz_ kthakore: :w is now spelled :s or :sigspace
20:40 kthakore ah!
20:40 masak kthakore: I don't think I've seen the IBM tutorial before.
20:40 moritz_ kthakore: it's implied by 'rule' now
20:40 tadzik kthakore: dunno, stopped playing on X ed. :)
20:40 masak whoa, IBM knows about Perl 6. this could be big. :)
20:40 moritz_ if you don't want :sigspace, use 'token' instead of 'rule'
20:40 kthakore masak: hah but they have real old version
20:40 masak oh wait, it's from 2004. :(
20:40 masak yes, of course it sucks.
20:41 masak in that case.
20:41 kthakore ... sigh
20:41 kthakore where do I go to learn grammar
20:41 tadzik oh my, that's Perl 6 on IBM sites
20:41 kthakore this was top result on google
20:41 masak kthakore: here!
20:41 tadzik kthakore: advent calendar, The Book
20:41 kthakore tadzik: okie! :D thanks guys
20:41 moritz_ my 5-to-6 page
20:41 tadzik too
20:41 kthakore ok I remeber the book
20:41 kthakore where is the advent calendar?
20:41 moritz_ and you should know about http://perlgeek.de/en/arti​cle/debug-a-perl-6-grammar
20:42 kthakore moritz_: thanks! Why doesn't this show up on google search
20:42 kthakore ... god damn it google
20:42 tadzik use duckduckgo :)
20:42 moritz_ kthakore: http://perl6advent.wordpress.com/ (I think you have to go back to get to the regex/grammar things)
20:42 masak "Perl 6 is finally coming within reach." -- *chuckle*
20:42 tadzik oh wait, it's also on top in ddg
20:42 kthakore tadzik: yeah ... it was stupid
20:43 kthakore the new stuff needs to show up some how
20:43 masak Teodor Zlatanov, come back! it's six years later, and Perl 6 is finally coming within reach... :P
20:43 masak no no, don't leave...! :)
20:43 kthakore ok I will bookmark and try again thanks guys
20:44 tadzik thank you! Come again some time. Maybe you'll write your game tutorial for 6 one day :)
20:44 kthakore rakudo: grammar Card { token name {<[A-Z]><a-z>+ }; };
20:44 p6eval rakudo : OUTPUT«===SORRY!===␤Unsupported use of - as character range;in Perl 6 please use .. at line 22, near "Z]><a-z>+ "␤»
20:44 kthakore argh
20:44 kthakore rakudo: grammar Card { token name {<[A-Z]><[a-z]>+ }; };
20:44 p6eval rakudo : OUTPUT«===SORRY!===␤Unsupported use of - as character range;in Perl 6 please use .. at line 22, near "Z]><[a-z]>"␤»
20:45 * kthakore cries ... a bit
20:45 masak I really like the "Haskell Weekly News" -- and we used to have something similar for Perl 6, and I think it was a really good thing to have. and I think we should try to have that again, but with a system that doesn't burn people out.
20:45 kthakore sorry my perl6 is taking a while to compile
20:45 masak sort of, like, a wiki-based system for weekly summaries, where different people take turns summarizing different things.
20:46 kthakore tadzik: I will, my plan is to use perl6 to make a good grammar idea. Than make card files from the grammar to  perl5 to do eval on them for a SDL perl5 game.
20:46 masak one person doing a whole weekly summary can be a real chore, but if five people each week do 1/5 of the whole task...
20:46 kthakore tadzik: perl6 is a bit too slow for a game right now
20:46 tadzik rakudo: grammar Card { token TOP { <name> }; token name { [ <[A-Z]> <[a-z]> ]+ }
20:46 p6eval rakudo : OUTPUT«===SORRY!===␤Unsupported use of - as character range;in Perl 6 please use .. at line 22, near "Z]> <[a-z]"␤»
20:46 tadzik hrm
20:46 tadzik rakudo: grammar Card { token TOP { <name> }; token name { [ <[A..Z]> <[a..z]> ]+ }
20:46 p6eval rakudo : OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 22␤»
20:47 tadzik rakudo: grammar Card { token TOP { <name> }; token name { [ <[A..Z]> <[a..z]> ]+ } } # stupid me
20:47 p6eval rakudo :  ( no output )
20:47 kthakore yay!
20:47 kthakore tadzik++
20:47 * kthakore runs away to read perlgeek.de  and hack
20:47 tadzik it was all in the error message :)
20:47 masak here are the tasks I can think of: (a) summarizing p6l, p6c and p6u; (b) grabbing memorable quotes off IRC; (c) summarizing spec changes; (d) cleaning up the layout of the summary; (e) urging the rest along and then posting the summary
20:47 kthakore I don't understand the error messages sorry ...
20:47 kthakore tadzik: blockoid?
20:48 moritz_ "block or similar thing"
20:48 tadzik kthakore: {}-alike
20:48 kthakore actually I would like to bring this up if I may.
20:48 tadzik Unsupported use of - as character range;in Perl 6 please use ..
20:48 kthakore can we please have perl6 tell us where the problem is like clang does?
20:48 wamba left #perl6
20:48 tadzik that was understandable
20:48 kjeldahl joined #perl6
20:48 moritz_ rakudo's parser error messages suck, that's known
20:48 tadzik can we please have perl6? :)
20:48 moritz_ STD is much better in the regard
20:48 wamba joined #perl6
20:48 kthakore http://zi.fi/shots/clang.png
20:49 moritz_ but we do care about good syntax errors, we just aren't there yet
20:49 kthakore tadzik: sure you can
20:49 kthakore rakudo: say 'Hi Tadzik!'
20:49 p6eval rakudo : OUTPUT«Hi Tadzik!␤»
20:49 tadzik :)
20:49 kthakore tadzik: yay! :D
20:49 wamba left #perl6
20:50 kthakore moritz_: what needs to be done if someone (I guess me ) wants to do what clang does for the code on run time?
20:50 masak oh, and (f) collecting interesting blog posts from the interwebz.
20:50 masak nice thing is that all of these tasks which would be very heavy work together can be quite nice if split up.
20:51 lue does #phasers still happen, perchance?
20:51 colomon lue: certainly
20:51 kthakore .. oh well
20:51 * kthakore runs back to perlgeek.de
20:51 tadzik cosimo: pinf
20:51 colomon it's a lot more quiet later than it used to be.
20:51 moritz_ kthakore: what do you mean "on run time"?
20:51 moritz_ not parse time?
20:51 lue maybe part of the weekly summary could be (g) talk in #phasers that week (if interesting)
20:52 lue .oO(I suppose that's a subset of (b), though)
20:52 masak lue: yes, I think so too.
20:52 kthakore moritz_: is there a difference? I was under the assumption that there is a parrot run time then perl 6 run time
20:53 moritz_ kthakore: of course there's a difference between run time and parse time. Code must first be parsed before it can be run
20:53 masak the (e)-responsible person could perhaps pick a "tl;dr big thing that happened this week" from any of the other categories.
20:54 am0c left #perl6
20:54 kthakore moritz_: If we even get errors thrown only during parsing showing where the problem is, I would be soooo happy.
20:54 kthakore moritz_: What would I need to do to add this?
20:54 kthakore My naive idea is have a buffer of code that is read/parse, check for error, if error happens spit our what was last parsed.
20:55 kthakore s/our/out/g
20:55 tadzik std: grammar Card { token TOP { <name> }; token name { [ <[A-Z]> <[a-z]> ]+ }
20:55 p6eval std a194beb: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unsupported use of - as character range; in Perl 6 please use .. at /tmp/fWDmx__Ouz line 1:␤------> [32mken TOP { <name> }; token name { [ <[A-Z[33m⏏[31m]> <[a-z]> ]+ }[0m␤Parse failed␤FAILED 00:01 121m␤»
20:55 tadzik (std is nice)
20:55 kthakore OMG!
20:55 kthakore what is std!!!!!
20:56 tadzik just a standard transmitted disease
20:56 kthakore ... -.-
20:56 tadzik I mean, a Perl 6 grammar with a parser
20:56 kthakore har har har
20:56 kthakore :p
20:56 moritz_ STD is the Perl 6 standard grammar
20:56 moritz_ so, if you want to help, "just" port the error messages from STD to Rakudo
20:56 kthakore moritz_: but I don't get these error ouputs when I hack on perl6
20:56 kthakore moritz_: where is STD? and where to plug in to Rakudo
20:57 moritz_ kthakore: it's in the perl6/std repo on github
20:57 kthakore ok
20:57 moritz_ kthakore: and rakudo's grammar is in src/Perl6/Grammar.pm
20:57 kthakore yay!
20:57 kthakore oh .. great my perl6 is still compiling ...
20:58 kthakore tadzik: moritz_ thanks I will go read code too and see if I get anything
20:58 kthakore thank you soooo much
20:59 masak kthakore: good luck! come back soon!
20:59 kthakore is this the official repo ?
20:59 kthakore https://github.com/rakudo/rakudo
20:59 tadzik yes
21:01 kthakore awww great univserity blocked me from downloading repo ...
21:01 kthakore sigh
21:01 moritz_ http://www.thomaskeller.biz/blog/2010/08/11/sear​ch-and-replace-multiple-lines-across-many-files/
21:01 moritz_ ha a pretty high opinion on Perl 6 :-)
21:01 moritz_ "And while we’re at it, have a look at Rakudo Star, the best Perl 6 compiler which was released just recently. Perl 6 is in my humble opinion one of the well-designed languages I’ve came across so far, so if you find some time, go over and read the last christmas special, its really worth it!"
21:02 tadzik kthakore: use http clone
21:02 kthakore tadzik: it is giving me https https://github.com/perl6/std.git
21:02 kthakore nvm
21:02 tadzik ah, right
21:02 kthakore made it http://
21:02 kthakore thanks
21:03 tadzik oh wow, has anyone tried perl6-facter yet?
21:03 mikehh moritz: I am failing to build rakudo on latest parrot - Parrot_capture_lex function not defined/missing
21:04 kthakore std: give me an error so I can search your code for it
21:04 p6eval std a194beb: OUTPUT«[31m===[0mSORRY![31m===[0m␤Undeclared name:␤    'I' used at line 1␤Undeclared routines:␤        'an' used at line 1␤    'can' used at line 1␤   'code' used at line 1␤  'error' used at line 1␤ 'give' used at line 1␤  'it' used at line 1␤    'me' used at line 1␤    'search'
21:04 p6eval ..used at line 1␤        'your' used …
21:04 mikehh damnit
21:04 tadzik I always thought 2 GBs of RAM is "ha ha, who's going to eat that all anyway?"
21:04 mikehh moritz_:  I am failing to build rakudo on latest parrot - Parrot_capture_lex function not defined/missing
21:04 kthakore hrmf
21:05 kthakore std: say 'this is silly
21:05 p6eval std a194beb: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unable to parse single quotes at /tmp/f3Yf1wmUOp line 1:␤------> [32msay [33m⏏[31m'this is silly[0m␤Couldn't find final "'"; gave up at /tmp/f3Yf1wmUOp line 1 (EOF):␤------> [32msay 'this is silly[33m⏏[31m<EOL>[0m␤Parse failed␤FAILED 00:01
21:05 p6eval ..119…
21:05 kthakore yay!
21:06 tadzik cosimo: t/resolution-exec.t ate like 2.5 GBs of my memory, I guess something somewhere went horribly wrong
21:07 moritz_ mikehh: seem to have been renamed (Parrot_sub_capture_lex)
21:07 kthakore so we have the awesome error stuff all over the place  in boot/Cursor.pmc viv boot/STD.pmc so on, am I on the right track?
21:07 moritz_ kthakore: boot/Cursor.pmc is a generated file
21:07 moritz_ kthakore: you really want to look into STD.pm6
21:07 tadzik well, everything funny is in STD.pm6
21:08 moritz_ and search for obs, worry and panic
21:08 mikehh moritz_: ok let me try that
21:08 kthakore moritz_: ah ok
21:08 kthakore thank you
21:09 kthakore holy batman there be no comments haha
21:09 kthakore ok I gotz to learn grammars first thanks
21:12 skangas joined #perl6
21:14 sorear kthakore: viv does not contain error goodness
21:14 sorear viv is just the compiler
21:14 sorear it translates STD.pm6 into boot/STD.pmc
21:17 dalek rakudo: fedc117 | moritz++ | / (2 files):
21:17 dalek rakudo: track a function rename in Rakudo, and bump PARROT_REVISION
21:17 dalek rakudo: review: https://github.com/rakudo/rakudo/commit/fedc1172ad
21:18 timbunce left #perl6
21:19 timbunce joined #perl6
21:19 MayDaniel left #perl6
21:19 sorear jjore++ # p6l posts that are actually useful
21:20 masak indeed. jjore++
21:25 * sorear is vaguely bothered by the fact that every CLR->Perl6 return needs to do a hash lookup to get the Perl 6 class corresponding to the runtime Type of the returned value
21:29 mathw Hmm
21:29 mathw Might be nice if you could avoid that
21:29 mathw but it's probably better than an O(N) list scan :)
21:31 sorear Do I need to mention this hash table is shared between threads?
21:31 colomon sorear: do you know the type of the CLR->Perl6 return ahead of time?
21:32 sorear colomon: yes, but if it's a non-sealed class that doesn't help
21:32 sorear so I can avoid the hash lookup for returns of sealed classes like System.String
21:33 colomon how are the classes identified?  Is there any sane way to do something faster than a hash table?  (Or, at least, to have a dedicated hashing function?)
21:36 sorear Type objects have canonical instances; they use the default System.Object.HashCode() and can be compared using referential equality
21:37 tadzik seen pmichaud
21:37 aloha pmichaud was last seen in #perl6 4 days ago joining the channel.
21:45 kthakore sorear: oh ok
21:49 timbunce left #perl6
21:49 timbunce_ joined #perl6
21:50 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_lookup_tablet
21:53 exodist_ is now known as Exodist
21:56 tylercurtis joined #perl6
22:00 M_o_C joined #perl6
22:01 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_index_tablet
22:12 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_basics_tablet
22:13 soroush joined #perl6
22:13 soroush left #perl6
22:13 soroush joined #perl6
22:14 timbunce_ left #perl6
22:15 kst left #perl6
22:15 kst joined #perl6
22:18 sorear How much sense does $obj.Role::method make?
22:18 jnthn sorear: Believe it works.
22:18 masak lots of sense.
22:18 masak that's how you disambiguate between colliding roles in class methods.
22:18 jnthn sorear: And yes, it makes sense. It's the way you write disambiguators.
22:19 jnthn I think Rakudo implements it in the right way too.
22:19 masak aye.
22:19 masak ooh, that in itself is an Advent Calendar topic.
22:19 sorear jnthn: does it make any sense outside disambiguators?
22:19 * masak adds to the topic suggestions
22:20 jnthn sorear: Well, a disambiguator is only one by convention.
22:20 jnthn I think that the thing that makes it work when used in that way makes it work generally though.
22:21 jnthn It's related to $obj.NameOfParent::foo() and works in the same places that would.
22:21 jnthn (e.g. it's fine, provided $obj ~~ NameOfParent, or in the role case $obj ~~ TheRole)
22:21 masak I don't think it makes unless $obj ~~ ... what jnthn said.
22:22 dalek mu: 94310a8 | masak++ | misc/perl6advent-2010/topic-brainstorming:
22:22 dalek mu: [topic-brainstorming] added role disambiguators idea
22:22 dalek mu: review: https://github.com/perl6/mu/commit/94310a821c
22:22 masak so fast! :)
22:22 jnthn oh no, this is where the drunk gymnast sneaks into the advent calendar.... :P
22:23 colomon left #perl6
22:32 sorear jnthn: given class Foo { public override string ToString() { return "Bar"; } }
22:33 sorear jnthn: what should Foo.new.Object::ToString return?
22:33 jnthn sorear: Ideally that'd call the .ToString() in System.Object.
22:36 sorear That would require tampering with the verifier...
22:36 jnthn Maybe we have to be less ideal. ;)
22:39 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_basics_tablet
22:40 sorear part of me thinks that creating a new DynMetaObject for every distinct Type is "WTF WHAT ARE YOU DOING"
22:41 lichtkind can be the << >> as in quoting also be writen with chevrons?
22:43 sorear yes
22:45 colomon joined #perl6
22:52 lue .oO( ?(LaTeXUnicodeSupport) == Bool::False; # grrrrr )
22:53 M_o_C left #perl6
22:53 risou joined #perl6
22:54 _kaare left #perl6
22:56 risou left #perl6
22:56 risou joined #perl6
23:05 MaL0 left #perl6
23:06 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_basics_tablet
23:07 shi left #perl6
23:09 kjeldahl left #perl6
23:11 kst left #perl6
23:14 kst joined #perl6
23:14 dukeleto a Parrot Developer Summit is happening now in #parrotsketch on irc.perl.org, if anybody is interested.
23:15 cotto left #perl6
23:15 uasi left #perl6
23:15 cotto joined #perl6
23:27 flatwhatson left #perl6
23:32 lichtkind sorear: thanks
23:34 ch3ck joined #perl6
23:34 ch3ck re
23:35 sjohnson re?
23:37 sunnavy left #perl6
23:37 [particle] darned cats.
23:38 masak it's not cats, it's ch3ck and sjohnson. :)
23:38 sunnavy joined #perl6
23:39 ch3ck masak :*
23:39 masak time to go regenerate.
23:40 masak 'night, all #perl6 cats.
23:40 masak left #perl6
23:43 * sjohnson scratches [particle]
23:43 sjohnson meow!
23:44 dalek ecosystem: 4a27ea2 | thundergnat++ | projects.list:
23:44 dalek ecosystem: Added Text-Levenshtein to projects.list
23:44 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/4a27ea2a61
23:45 shi joined #perl6
23:49 ndrsndrs left #perl6
23:58 phio joined #perl6

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

Perl 6 | Reference Documentation | Rakudo