Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-05-03

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:18 nnunley_ joined perl6
00:26 EdLin joined perl6
00:35 * theorbtwo ponders a parser.
00:37 Quell joined perl6
00:43 theorbtwo It's not for a perl6-related project, but there are a lot of parsers from this channel that are meant to be nice general-purpose parsers (or parser-generators) for perl5, and I'm pondering using one of those, because the existing alternatives kind of suck.
00:43 theorbtwo Cough, cough... is this thing on?
00:56 buu No
01:00 theorbtwo Do you know what the best thingy that fits my description above is?  Or, indeed, any of them?
01:02 theorbtwo Ah!
01:02 theorbtwo Pugs::Compiler::Rule
01:02 theorbtwo pugs/misc/pX/Common/Pugs-Compiler-Rule
01:07 jserv-- joined perl6
01:23 EdLin left perl6
01:29 pasteling "theorbtwo" at 62.56.24.236 pasted "Death of a salesman^W Pugs::Compiler::Rule" (16 lines, 410B) at http://sial.org/pbot/17021
01:29 * theorbtwo boggles.
01:35 beppu` joined perl6
01:37 audreyt {} ?
01:37 audreyt you mean []?
01:37 audreyt or []?
01:37 obra gr. I want my strongly typed perl5.
01:37 audreyt I mean, [<object>+]? ?
01:37 audreyt obra: perl5 is strongly typed.
01:37 audreyt maybe you want statically typed perl5 :)
01:37 obra I want multiple types, then
01:37 obra ;)
01:38 obra It would have saved me an hour of "foo" being compared to a regex.
01:38 obra with "eq"
01:38 audreyt ahh.
01:38 obra "It's strongly typed. You can only have scalars"
01:38 Juerd And arrays, and hashes, ...
01:38 audreyt not true, there is also arrays and hashes and io and format and code!
01:38 audreyt ...but yeah. nothing more than that
01:39 obra audreyt: hm should have the "sort by milestone" you want within a few hours.
01:39 audreyt oooooh
01:39 aufrank it always surprised me that format snuck in there as a basic type
01:39 audreyt will take a relook then
01:39 audreyt aufrank: it goes way back to perl1
01:39 aufrank yeah
01:39 audreyt that was the "r" part of perl
01:40 aufrank formats are one part of the Apocolypses that haven't gotten much attention since then
01:40 aufrank or did I miss that part?
01:40 obra "they're being moved into user space"
01:41 audreyt aufrank: see Perl6::Form on CPAN
01:42 * aufrank checks
01:42 theorbtwo OOooh, life.
01:43 theorbtwo audreyt: I wanted \{ ... \}, and I'm not sure what I wanted with that inner object bit.
01:43 theorbtwo But if it's not going to give something more then "Unknown error", then I think I don't want to write my parser in it.
01:43 audreyt I think it's a Yapp thing.
01:44 audreyt which is certainly no excuse. :)
01:44 audreyt $job, bbiab
01:49 aufrank ?eval 'a' ~~ / a /;
01:49 evalbot_10184 *** Cannot parse PGE:  a  *** Error: Cannot find the parrot executable in PATH Match.new(   ok => bool::false,    from => 0,    to => 0,    str => "",    sub_pos => (),    sub_named => {} )
01:51 TimToady my goodness, in my pugs that returns a much simpler value "Segmentation fault".
01:51 aufrank heh, mine too
01:51 aufrank I've been striving to get to the above error :)
01:52 TimToady evalbot may not build PGE embedded.  Do you?
01:52 TimToady (I embed PGE)
01:52 theorbtwo It sounds like it doesn't, because otherwise it wouldn't need to attempt to find the parrot executable.
01:52 aufrank for my last build I took parrot out of the embed flags
01:52 aufrank but I still didn't get the error above
01:53 TimToady ok, I was running an ancient pugs by accident.
01:53 aufrank and what error do you get now?
01:53 TimToady I get a Match.new(...)
01:54 aufrank hrm
01:54 * aufrank goes to build a fresh one
01:54 TimToady difference between running "pugs" and "./pugs"... :/
01:55 TimToady I stopped installing pugs when it kept rebuilding Yaml::Syck as root and then failing to clean up as non-root.
02:01 audreyt ?eval 1 ~~ /1/
02:01 evalbot_10184 *** Cannot parse PGE: 1 *** Error: Cannot find the parrot executable in PATH Match.new(   ok => bool::false,    from => 0,    to => 0,    str => "",    sub_pos => (),    sub_named => {} )
02:01 audreyt TimToady: that particular bug is now fixed
02:01 audreyt ?eval 1 ~~ /1/
02:02 evalbot_10184 Match.new(   ok => bool::true,    from => 0,    to => 1,    str => "1",    sub_pos => (),    sub_named => {} )
02:02 audreyt there you go
02:02 audreyt (external parrot)
02:03 TimToady It was aufrank's bug.  (and me running an ancient pugs by accident)
02:03 TimToady or were you speaking of the Syck bug?
02:05 audreyt the syck one
02:05 audreyt it's now in third-party
02:05 audreyt and we no longer rm it before each build
02:06 aufrank ?eval 'a' ~~ / a /;
02:06 evalbot_10184 Match.new(   ok => bool::true,    from => 0,    to => 1,    str => "a",    sub_pos => (),    sub_named => {} )
02:06 aufrank hey, look at that!
02:06 aufrank when did that happen?
02:06 audreyt 5 minutes ago?
02:06 aufrank oh boy!
02:06 audreyt I built parrot and symlinked it in my feather's ~/bin/
02:29 aufrank hrm.  if I run the installed pugs I get a segfault on matches.  if I run pugs in the build directory, I get a bus error.
02:29 neoesque joined perl6
02:30 audreyt I'll look at parrotembed bitrot later (or you can also fire up gdb)
02:31 audreyt meanwhile, build without embed; that should work.
02:31 aufrank ooh, sorry.  this was without embed already =\
02:32 audreyt you sure? try ldd
02:32 audreyt shouldn't bus error without embed...
02:34 aufrank I did still get the bad magic number error that I posted last night
02:34 aufrank I should chase that one down and see if it's the culprit
02:35 audreyt also rm the installed parrot
02:35 audreyt parrot isn't designed to be installed :/
02:35 audreyt (yet)
02:35 aufrank oh, ok
02:35 audreyt it consistently links on wrong libraries
02:35 audreyt and even fails building
02:35 audreyt when there is /usr/local/bin/parrot and /usr/local/lib/libparrot*and /usr/local/include/parr*
02:36 aufrank so I should remove those, too?
02:36 audreyt yup
02:52 neoesque joined perl6
02:55 justatheory joined perl6
03:31 qu1j0t3 joined perl6
03:36 weinig is now known as weinig|sleep
03:46 aufrank ?eval my $x = 'b'; my $y = $x ~~ / a b c /; say $x; say $y;
03:46 evalbot_10184 OUTPUT[b  ] bool::true
03:47 aufrank ?eval my $x = 'b'; my $y = $x ~~ / a <(b)> c /; say $x; say $y; say $/[0];
03:47 evalbot_10184 *** Cannot parse PGE:  a <(b)> c  *** Error: Null PMC access in invoke()  OUTPUT[b   ] bool::true
03:48 aufrank ?eval my $x = 'b'; my $y = $x ~~ / a (b) c /; say $x; say $y; say $/[0];
03:48 evalbot_10184 OUTPUT[b   ] bool::true
03:52 macroron joined perl6
03:53 TimToady that's never going to match unless $x contains a and c as well.
03:54 TimToady and I don't believe PGE implements <( ... )> yet.
03:55 TimToady ?eval my $x = 'abc'; my $y = $x ~~ / a (b) c /; say $x; say $y;say $/[0];
03:55 evalbot_10184 OUTPUT[abc abc b ] bool::true
03:56 aufrank yeah, that's the ticket!
04:02 aufrank I was curious about $x = 'abc'; $x ~~ / (a) <(b)> c /;
04:02 aufrank what's in $/[0] and $/[1] ?
04:03 aufrank is it 'a' and 'b', or is there an interaction between the assertion and the regular capture
04:05 nirgle joined perl6
04:07 KingDillyDilly joined perl6
04:07 KingDillyDilly Two tildes should mean approximately equal to, and I don't care what anyone says.
04:07 KingDillyDilly left perl6
04:07 TimToady $0 would end up with 'a'.  $1 would end up with nothing.  $$/ would end up with 'b'.
04:09 TimToady the parens in <(...)> have nothing to do with regular capture parens except by analogy.
04:09 aufrank ok
04:09 TimToady and conveniently, the value ends up in $(), so there's some mnemonic value there too.
04:10 aufrank that one makes sense :)
04:13 dvorak joined perl6
04:19 aufrank TimToady: I don't find $$/ in any of the syns when I grep.  Did I misgrep or is it not in there?
04:20 aufrank $($/) is there
04:22 nirgle left perl6
04:23 aufrank is $$/ shorthand for $($/)?  If so, is $$/ always the same as $() ?
04:27 TimToady yes, those are always the same.
04:28 TimToady $($a) and $$a are always the same.
04:35 aufrank thanks
04:35 Ymmv joined perl6
04:55 ko1_away is now known as ko1
05:23 neoesque joined perl6
05:27 Quell joined perl6
06:00 FurnaceBoy_ joined perl6
06:00 neoesque joined perl6
06:01 FurnaceBoy_ joined perl6
06:01 Quell joined perl6
06:01 dvorak joined perl6
06:01 beppu` joined perl6
06:01 jserv-- joined perl6
06:01 Blicero joined perl6
06:01 xinming joined perl6
06:01 drbean_ joined perl6
06:01 SubStack joined perl6
06:01 rgs joined perl6
06:01 trym joined perl6
06:01 meppl joined perl6
06:01 beppu joined perl6
06:01 theorbtwo joined perl6
06:01 szbalint joined perl6
06:01 q[uri]_ joined perl6
06:01 gaal joined perl6
06:01 Kattana joined perl6
06:01 ajs_home joined perl6
06:01 amv joined perl6
06:01 evalbot_10184 joined perl6
06:01 nothingmuch joined perl6
06:01 miyagawa joined perl6
06:01 stevan joined perl6
06:01 stclare joined perl6
06:01 steve`` joined perl6
06:01 cjn joined perl6
06:01 lisppaste3 joined perl6
06:01 froh-doh joined perl6
06:01 xern joined perl6
06:01 Shabble_ joined perl6
06:01 integral joined perl6
06:01 perlbot joined perl6
06:01 qwacky joined perl6
06:01 sri_ joined perl6
06:01 hcchien joined perl6
06:01 rmoriz joined perl6
06:01 rashakil joined perl6
06:01 tcliou joined perl6
06:01 Soga joined perl6
06:01 PerlJam joined perl6
06:01 oozy joined perl6
06:01 arguile joined perl6
06:01 Odin- joined perl6
06:01 Grrrr joined perl6
06:01 scw joined perl6
06:01 arcady joined perl6
06:01 merlyn joined perl6
06:01 kane-xs joined perl6
06:01 mugwump joined perl6
06:01 Gothmog_ joined perl6
06:01 broquaint joined perl6
06:01 jabbot joined perl6
06:01 kcwu joined perl6
06:01 webmind joined perl6
06:01 wolverian joined perl6
06:01 knewt joined perl6
06:01 jiing_ joined perl6
06:01 rw-rw-r-- joined perl6
06:01 cookys joined perl6
06:01 Maddingue joined perl6
06:01 gugod joined perl6
06:01 ingy joined perl6
06:01 locksy joined perl6
06:06 f0rth_ joined perl6
06:10 r0nny joined perl6
06:30 ko1 is now known as ko1_away
06:33 Aankhen`` joined perl6
06:34 iblechbot joined perl6
06:57 r0nny joined perl6
06:58 Ymmv joined perl6
07:00 miyagawa joined perl6
07:02 Quell joined perl6
07:05 elmex joined perl6
07:06 Alias_ joined perl6
07:06 Alias_ seen audreyt?
07:06 jabbot Alias_: audreyt was seen 4 hours 29 minutes 28 seconds ago
07:06 Alias_ nice to see you finally got a bot that supports that
07:07 Alias_ audreyt: Re: my comments the other day about using SQLite in the 6PAN client. You may be interested to hear that it looks like Firefox is going to be embedding SQLite for it's data storage :)
07:07 Alias_ audreyt: So it looks like we won't be the only ones getting into  that game :)
07:07 Alias_ Anyways, that is all
07:07 Alias_ left perl6
07:10 drrho joined perl6
07:31 Cryptic_K joined perl6
07:33 webmind joined perl6
07:34 KingDiamond joined perl6
07:37 Juerd joined perl6
07:37 wolverian joined perl6
07:39 ringen joined perl6
07:40 audreyt joined perl6
07:45 Aragone is now known as Arathorn
07:48 Juerd joined perl6
07:48 audreyt joined perl6
07:48 pmichaud joined perl6
07:48 chip joined perl6
07:50 integral joined perl6
07:50 knewt joined perl6
07:50 broquaint joined perl6
07:50 Shabble joined perl6
07:50 mugwump joined perl6
07:51 kcwu joined perl6
07:55 Quell joined perl6
07:57 marmic joined perl6
08:01 Maddingue joined perl6
08:02 Odin- joined perl6
08:02 stclare joined perl6
08:02 arguile joined perl6
08:04 cjn joined perl6
08:34 arcady joined perl6
08:34 Ymmv joined perl6
08:55 ringen left perl6
09:32 Ymmv joined perl6
09:41 nnunley joined perl6
09:42 nnunley joined perl6
09:44 Kattana joined perl6
09:51 xerox joined perl6
09:51 xerox Hey hey hey!
09:54 azuroth hi hi hi
09:55 xerox So, we've got some pugs projects for the Summer of Code
09:55 xerox Is it like there aren't many students around here... or wasn't it published ennough?
09:55 xerox I thought that we're likely to get flood of applications from pugsers :-)
09:58 Arathorn could it be that surfing the everchanging waters of pugsland is a bit too intimidating for your average socer?
09:58 xerox Possibly.
09:58 xerox I wonder if you could spread the word a bit.
09:58 xerox I don't know where to blarf
09:59 theorbtwo If I were a student, I think I'd jump at the chance to have something this cool, and this structured, and get paid to do it.
09:59 xerox http://hackage.haskell.org/trac/summer-of-code/
09:59 theorbtwo However, I'm not, and thus inelegable.
09:59 azuroth I was going to try for it, but it overlaps far too much with when the majority of my TAFE work is :-(
10:00 xerox http://hackage.haskell.org/trac/summer-of-code/query?status=new&amp;status=assigned&amp;status=reopened&amp;group=topic&amp;verbose=1&amp;keywords=%7Epugs&amp;type=proposed-project&amp;order=priority
10:00 xerox These so far.
10:00 theorbtwo TAFE?
10:00 azuroth turtle and four elephants
10:00 azuroth or technical and further education, I think? it's an Australian vocational education institute
10:01 theorbtwo Aaah.
10:14 nnunley_ joined perl6
10:28 azuroth hmm. just an idea, but maybe "we try to call them /regex/ because they haven't been regular expressions for a long time ..." should be "call them regex - not regular expressions - because"
10:29 azuroth it just seems so hard-wired in my head that regex == regular expressions that the italics doesn't do it enough for me. I could be the only one, though
10:29 Blicero left perl6
10:30 azuroth is a grammar a type declarator? hmm
10:35 Odin-LAP joined perl6
10:42 knewt_ joined perl6
10:42 qmole_ joined perl6
11:01 mago_ joined perl6
11:01 nnunley joined perl6
11:10 chris2 joined perl6
11:13 knewt_ is now known as knewt
11:15 jserv-- joined perl6
11:23 neoesque joined perl6
11:24 mago__ joined perl6
11:52 flounder99 joined perl6
12:00 sahadev joined perl6
12:02 flounder99 ?eval my @h=(1,2);@h .=reverse;@h.perl.say;
12:02 evalbot_10184 OUTPUT[[2, 1] ] bool::true
12:02 flounder99 ?eval my @h=(1,2);@h .=reverse.reverse;@h.perl.say;
12:02 evalbot_10184 OUTPUT[[2, 1] ] bool::true
12:03 wolverian instead of foo.perl.say, you can just say foo
12:03 wolverian ?eval my @h = (1, 2); @h.=reverse.=reverse
12:03 evalbot_10184 Error:  unexpected "=" expecting ".", subroutine name, array subscript, hash subscript or code subscript
12:03 wolverian damn :)
12:03 wolverian ?eval my @h = (1, 2); @h.=reverse.=reverse
12:03 theorbtwo ?eval my @h=(12,34); @h.=reverse;
12:03 wolverian er
12:03 flounder99 looks like .=foo.bar doesn't run bar
12:03 evalbot_10184 Error:  unexpected "=" expecting ".", subroutine name, array subscript, hash subscript or code subscript
12:03 evalbot_10184 Error:  unexpected "=" expecting ".", subroutine name, array subscript, hash subscript or code subscript
12:04 wolverian flounder99, or it runs (@h.=reverse).reverse
12:04 wolverian which doesn't assign the second reverse's return value to anything
12:04 flounder99 you need the whitespace before .=
12:04 wolverian ?eval my @h = (1, 2); @h.=reverse
12:04 evalbot_10184 Error:  unexpected "=" expecting ".", subroutine name, array subscript, hash subscript or code subscript
12:04 wolverian oh, I see.
12:04 theorbtwo ?eval my @h=(12,34); @h .= reverse; @h
12:04 evalbot_10184 [34, 12]
12:04 wolverian ?eval my @h = (1, 2); @h .= reverse .= reverse
12:04 evalbot_10184 Error: the right-hand-side of .= must be a function application
12:04 wolverian sigh :)
12:05 theorbtwo Ah, good, it is correctly doing a listy reverse and not a stringy one.
12:05 wolverian ?eval my @h = (1, 2); @h .= reverse for 1..2
12:05 evalbot_10184 undef
12:05 wolverian ?eval my @h = (1, 2); @h .= reverse for 1..2; @h
12:05 evalbot_10184 [1, 2]
12:05 wolverian well, that works.. should foo.=bar.=baz fail?
12:06 flounder99 ?eval my @h=(1,2);@h .=(reverse.reverse);@h.perl.say;
12:06 evalbot_10184 Error: cannot cast from VStr "perl6" to Pugs.AST.Internals.VCode (VCode)
12:06 wolverian ?eval my @h = (1, 2); [.=] (@h, &reverse)
12:06 evalbot_10184 Error:  unexpected "[" expecting comment, ";", end of input, Doc block, block declaration, declaration, construct or expression
12:06 wolverian ;)
12:08 flounder99 might be .= has same precidence as . so @h .=foo.bar does (@h=@h.foo).bar
12:09 jsiracusa joined perl6
12:09 flounder99 ?eval my @h=(1,2);my @g=(@h .=reverse.reverse);@g;
12:09 evalbot_10184 [2, 1]
12:10 flounder99 I guess not
12:11 azuroth ?eval my @h = (1,2); (@h .= reverse) .= reverse; @h
12:11 evalbot_10184 [2, 1]
12:11 azuroth weird. where is that second one going?
12:11 wolverian looks like a bug. add a test?
12:12 azuroth ?eval my @h = (1,2); @h .= reverse
12:12 evalbot_10184 [2, 1]
12:12 flounder99 looks like .=foo.bar doesn't run bar
12:12 wolverian ?eval "foo".=uc.lc
12:12 evalbot_10184 Error:  unexpected "=" expecting ".", subroutine name, array subscript, hash subscript or code subscript
12:12 wolverian ?eval "foo" .=uc.lc
12:12 evalbot_10184 Error: Can't modify constant item: VStr "foo"
12:12 wolverian ?eval ("foo" .=uc).lc
12:13 wolverian er
12:13 wolverian duh
12:13 evalbot_10184 Error: Can't modify constant item: VStr "foo"
12:13 wolverian ?eval my $foo = "foo"; ($foo .=uc).lc
12:13 evalbot_10184 "foo"
12:13 wolverian that worked
12:13 wolverian ?eval my $foo = "foo"; ($foo .=uc) .=lc
12:13 evalbot_10184 \"foo"
12:13 wolverian ?eval my $foo = "foo"; ($foo .=uc) .=lc; $foo
12:13 evalbot_10184 \"foo"
12:13 wolverian so did that
12:13 azuroth ?eval my $foo = "FoO"; ($foo .=uc).lc
12:13 evalbot_10184 "foo"
12:14 wolverian ?eval my @foo = qw(a b c); (@foo .=reverse) .=reverse; @foo
12:14 evalbot_10184 ["c", "b", "a"]
12:14 wolverian yeah, that definitely looks like a bug.
12:14 azuroth my @foo = (1,2,3); @foo .= reverse
12:14 flounder99 is it in reverse or .= ?
12:15 azuroth ?eval my $a = "foo"; $a .= uc
12:15 azuroth ?eval my @foo = (1,2,3); @foo .= reverse
12:15 evalbot_10184 \"FOO"
12:15 evalbot_10184 [3, 2, 1]
12:15 flounder99 ?eval my $foo="FoO";$foo .=uc.lc;$foo;
12:15 evalbot_10184 \"foo"
12:15 azuroth ?eval my $a = "foo"; $a
12:15 evalbot_10184 \"foo"
12:16 wolverian ?eval my @foo = qw(a b c); @foo .=grep: {$_ eq 'a'}
12:16 evalbot_10184 ["a",]
12:16 wolverian ?eval my @foo = qw(a b c); @foo .=grep: {$_ ne 'a'} .=grep: {$_ ne 'b'}
12:17 evalbot_10184 Error:  unexpected "=" expecting ".", subroutine name, array subscript, hash subscript or code subscript
12:17 wolverian ?eval my @foo = qw(a b c); @foo .=grep: {$_ ne 'a'} .grep: {$_ ne 'b'}
12:17 evalbot_10184 Error: cannot cast from VList [VCode (MkCode {isMulti = False, subName = "<anon>", subType = SubBlock, subEnv = Just (MkEnv {envContext = CxtSlurpy (mkType "Any"), envLValue = False, envLexical = MkPad (padToList [("$?1",[(<ref>,<ref>)]),("$_",[(<ref>,<ref>)]),("$__evalbot_print",[(<ref>,<ref>)]),("$code",[(<ref>,<ref>)]),("$lang",[(<ref>,<ref>)]),("&?BLOCK_EXIT",[(<ref>,<ref>),(<ref>,<ref>),(<ref>,<ref>),(<ref>,<ref>),(<ref>,<ref>),(<ref>,<ref>)]
12:17 azuroth maybe it's like, ref-vs-copy stuff?
12:17 wolverian ?eval my @foo = qw(a b c); (@foo .=grep: {$_ ne 'a'}) .grep: {$_ ne 'b'}
12:17 evalbot_10184 Error:  unexpected "." expecting comment, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
12:17 wolverian well, that certainly looks bogus
12:18 wolverian seems to be the error is in Array::postfix:<.=>
12:18 wolverian not Array::reverse
12:18 flounder99 I noticed it when trying to reverse keys and values in a hash with %h .=kv.reverse
12:18 azuroth oh, wow. so .= isn't a consistent operator, like dot is?
12:18 flounder99 ?eval my $foo="FoO";$foo .=uc.lc;$foo;
12:18 evalbot_10184 \"foo"
12:19 flounder99 why does that work?
12:20 azuroth I would love to know...
12:20 wolverian azuroth, it doesn't seem to be implemented that way right now, or there is another bug that it's tickling
12:20 flounder99 at least it DWIMs in that case
12:21 azuroth yeah... hmm
12:21 flounder99 ?eval my $foo="FoO";$foo .=uc;$foo;
12:21 evalbot_10184 \"FOO"
12:22 flounder99 ?eval my $foo="FoO";$foo .=uc.lc.ucfirst;$foo;
12:22 evalbot_10184 \"FoO"
12:22 azuroth what's the length method on a string?
12:22 azuroth ?eval my $foo = "FoO"; $foo .=length.say
12:22 evalbot_10184 OUTPUT[FoO ] \bool::true
12:22 azuroth that is weird...
12:22 azuroth ?eval my $foo = "FoO"; $foo .=lc.say
12:23 evalbot_10184 OUTPUT[FoO ] \bool::true
12:23 kolibrie joined perl6
12:23 azuroth ?eval my $foo = "FoO"; $foo .=lc.say; $foo
12:23 evalbot_10184 OUTPUT[FoO ] \bool::true
12:23 azuroth ?eval my $foo = "FoO"; $foo .=say.lc; $foo
12:23 evalbot_10184 \"foo"
12:25 flounder99 that seems to me it should be "1" , the lower case of the return of "say", right?
12:26 Limbic_Region joined perl6
12:26 azuroth yeah, and it's not even calling say
12:26 flounder99 ?eval my $foo="FoO";my $bar=$foo.say;$bar;
12:26 evalbot_10184 OUTPUT[FoO ] \bool::true
12:26 flounder99 ?eval my $foo="FoO";my $bar=$foo.print;$bar;
12:26 evalbot_10184 OUTPUT[FoO] \bool::true
12:27 flounder99 I'm used to "print" returning true, usually 1
12:27 flounder99 but I see it is returning true
12:30 avarab joined perl6
12:30 flounder99 perl -e '$foo="FoO";$bar=print $foo;print $bar;' prints FoO1
12:31 avarab flounder99: what's the return value of print() ?
12:33 flounder99 ?eval print(print("foo"))
12:33 evalbot_10184 OUTPUT[foo1] bool::true
12:33 theorbtwo The second print is stringifying Bool::True, and getting 1.
12:33 theorbtwo ?eval ~Bool::True
12:34 evalbot_10184 Error: No such sub: "&Bool::True"
12:34 theorbtwo ?eval ~bool::true
12:34 evalbot_10184 "1"
12:34 flounder99 ?eval print(my $foo = print("foo"))
12:34 evalbot_10184 Error: No such method in class Any: "&my"
12:35 flounder99 ?eval my $foo;print($foo=print("foo"))
12:35 evalbot_10184 OUTPUT[foo1] bool::true
12:36 flounder99 ?eval my $foo;say($foo=say("foo"))
12:36 evalbot_10184 OUTPUT[foo 1 ] bool::true
12:36 flounder99 ?eval my $foo;say($foo="foo".say))
12:36 evalbot_10184 Error:  unexpected ")" expecting ":", term postfix, comment, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
12:37 flounder99 ?eval my $foo;say($foo="foo".say)
12:37 evalbot_10184 OUTPUT[foo 1 ] bool::true
12:39 flounder99 ?eval my $foo;$foo="foo".say;$foo.perl.say;
12:39 evalbot_10184 OUTPUT[foo \bool::true ] bool::true
13:00 weinig|sleep is now known as weinig
13:01 aufrank joined perl6
13:12 rlp joined perl6
13:13 Qiang joined perl6
13:26 hexmode` joined perl6
13:30 lichtkind joined perl6
13:36 fglock joined perl6
13:41 lichtkind hi i just startet an perl6 apetizer tour, selfexplaining by showing perl5 and perl6 equivalent and just showing the best bits, is there anything like this in pugs svn?
13:43 audreyt docs/other/porting_howto
13:43 audreyt or, more modernly
13:43 theorbtwo There's also the Exgises, which are very out of date.
13:44 lichtkind yeah but i want to keep it short, not like exegesis
13:44 lichtkind i just want to make people wow
13:44 lichtkind that they generate some motivation
13:44 theorbtwo Yeah, IIRC at least some of the exgises are wow, but certianly not short.
13:45 lichtkind please what means IIRC?
13:45 * theorbtwo wonders if verbosity is an industrial risk of being a linguist.
13:45 theorbtwo If I Recall Correctly.
13:45 lichtkind thanks
13:45 theorbtwo I tend to use it a lot, because my memory sucks, and I feel like I should warn people.
13:46 lichtkind its nop but as far i dont know it it troubles a bit
13:47 audreyt_ joined perl6
13:47 audreyt_ the ISP is down again :/
13:47 audreyt_ (to feather)
13:47 audreyt_ there is docs/Perl6/Perl5/Differences.pod
13:47 theorbtwo No problem.  I'd much rather you ask then not have any clue what I'm on about.
13:47 audreyt_ hacking on Differences.pod is very welcome
13:48 lichtkind audreyt_ ist the http://svn.openfoundry.org/pugs/docs/other/porting_howto up to date (especially the long dot section) ?
13:48 audreyt_ I think it's massively out of date
13:49 audreyt_ can you merge it into Differences.pod and/or fix it?
13:50 lichtkind audreyt_ i will when its all more progressed, im still learning
13:50 lichtkind @array.end ??? i think ist @array.last?
13:51 audreyt__ joined perl6
13:51 audreyt_ it's .end
13:51 audreyt_ "last" might be confused with loop control
13:52 lichtkind thanks so got it outdated from the book
13:53 audreyt_ the book is infinitely outdated by this point...
13:53 audreyt_ is now known as audreyt
13:54 lichtkind yes but thats what i started with, i began this tutorial 2 weeks ago
13:54 jserv-- joined perl6
13:54 lichtkind maybe you get my idea when you see http://wiki.perl-community.de/bin/view/Wissensbasis/Perl6TutorialAnhangC
13:54 fglock joined perl6
13:54 lichtkind even if you cant german
13:54 audreyt k
13:55 fglock theorbtwo: did you get the problem with Pugs::Compiler::Rule fixed?
13:55 lichtkind the Differences.pod i would write in a different way
13:55 wolverian joined perl6
13:55 audreyt lichtkind: please refactor mercilessly
13:55 azuroth is grammar a 'type declarator', like class etc?
13:56 azuroth oh no, never mind
13:56 lichtkind :) no doubt audreyt i would do it anyway :)
13:56 pmichaud joined perl6
13:57 Juerd joined perl6
13:57 lichtkind when i do it, still have my own open source project, dragging for attention
13:57 webmind joined perl6
13:57 chip joined perl6
13:58 audreyt_ joined perl6
13:58 PerlJam joined perl6
13:59 justatheory joined perl6
14:04 orafu joined perl6
14:09 eric256 joined perl6
14:17 theorbtwo fglock: I decided to go with Parse::RecDescent instead.  It's not as shiney, nor as fast (I assume -- you can't get that much slower then PRD), but it's a known quantity for me...
14:18 fglock theorbtwo: ok
14:19 theorbtwo The problem is that PRD gives poor error messages, and when I'm learning something, error messages are my god.
14:19 hexmode` joined perl6
14:30 fglock theorbtwo: good point
14:30 penk joined perl6
14:33 PerlJam theorbtwo: add that to the SoC list of ideas: make PRD have better error messages.
14:34 sahadev joined perl6
14:34 ingy audreyt_: ping0rz
14:35 fglock theorbtwo: oh, do you mean PCR messages, right?
14:36 particle_ fglock: parse::recdescent
14:37 kolibrie fglock: have you done any work on regex/token/rule in PCR, or should I just pass in the appropriate modifiers?
14:38 eric256 left perl6
14:39 fglock kolibrie: I did some experiments (RuleInline.pl), but there is nothing implemented yet
14:40 audreyt ingy: pong
14:40 kolibrie fglock: I don't need it yet, but I'm thinking of using PCR in production, and want to make sure any grammars I write are somewhat stable
14:40 audreyt_ is now known as audreyt
14:41 ingy audreyt: where is that pappy code we wrote again?
14:45 fglock kolibrie: PCR implements 'regex' - there is no rule and token yet. We can state that PCR->compile compiles 'regex' by default, and the you are safe
14:45 fglock s/the/then/
14:46 kolibrie fglock: okay
14:48 audreyt ingy: http://svn.kwiki.org/audreyt/Wiki/
14:50 ingy audreyt: gugod and I are working on doing wysiwyg editing for all of wikipedia
14:51 audreyt cool
14:51 ingy the wikipedia syntax is quite complicated
14:51 ingy we are thinking of using haskell to parse it to json
14:52 audreyt sure, pappy should be able to handle it
14:52 ingy and creating a test system to show that we can roundtrip all of wikipedia from wikitext to html and back
14:52 audreyt if you need more flexibility, use the pappy-compatible packrat monad
14:52 audreyt see this for example: http://pdos.csail.mit.edu/~baford/packrat/thesis/java/JavaMonad.hs
14:52 audreyt I'm sure gugod can navigate you around :)
14:53 ingy and using json as the intermediate canonical format
14:55 ingy audreyt: I was wondering by doing the text2json transformation in Haskell, if I can prove anything methematically
14:56 wolverian hrm
14:56 wolverian what's this: Loading Prelude... pugs: performMayjorGC not supported in threaded RTS (yet)
14:56 wolverian exits immediately after that
14:58 audreyt wolverian: wow. never seen that
14:58 wolverian I wonder what Mayjor is, too :)
14:58 audreyt what ghc/platform are you on?
14:58 wolverian or rather, who
14:58 wolverian The Glorious Glasgow Haskell Compilation System, version 6.5
14:58 wolverian ubuntu dapper
14:59 wolverian hrm, that's a local ghc
14:59 wolverian it might even be a patched ghc
14:59 * wolverian sighs
14:59 ruz joined perl6
14:59 wolverian and I don't have the uninstall target anywhere
14:59 * wolverian hits head on the wall
14:59 audreyt nono
14:59 audreyt that's fine
15:00 wolverian system ghc is 6.4.1. should I try with that?
15:00 audreyt look at src/Pugs/Eval.hs
15:00 wolverian mmkay
15:00 audreyt delete the performGC line
15:00 audreyt and see if that works
15:00 wolverian do I need to reconfigure?
15:00 wolverian er, run Makefile.PL, that is
15:00 audreyt nope
15:00 wolverian okay
15:00 wolverian making
15:01 wolverian oops, I ran make clean
15:02 wolverian okay, now I'm making :)
15:02 ingy audreyt: ?
15:03 audreyt ingy: what properties would you like to prove?
15:03 audreyt no-syntax-failure? roundtrip? linear time?
15:04 ingy audreyt: that the entire syntax is covered by the parser
15:05 * wolverian makes some tea while pugs is building
15:06 chris2 joined perl6
15:10 audreyt ingy: ok... you need to come up with the definition of "entire syntax" somehow; packrat always find a parse when it can (through backtracking), so it makes induction a bit easier
15:10 audreyt or you can also write a QuickCheck to generate random snippets and make sure that they all roundtrip correctly
15:11 wolverian just write it on the blackboard..
15:11 wolverian that's what real mathematicians do
15:16 obscurite joined perl6
15:17 clkao scw++ # proposal
15:18 wolverian proposal?
15:18 audreyt we need more proposal
15:18 FurnaceBoy joined perl6
15:19 vel joined perl6
15:29 wolverian audreyt, works now
15:29 audreyt k
15:29 audreyt mmm
15:29 wolverian (with the hide-patched ghc 6.5)
15:29 audreyt k
15:30 audreyt I just did a cross-compiling port of GHC to AIX 4.3 today
15:30 audreyt involved a lot of C hacking
15:30 audreyt so I'm a bit burned now :)
15:30 wolverian hehe, that's fine
15:31 wolverian does the change I did affect my pugs a lot?
15:31 audreyt which change? performGC?
15:31 wolverian yeah
15:32 wolverian (I didn't change anything else, hopefully)
15:32 audreyt I think it means DESTROY is not called on end of program
15:32 scw clkao: they redirect the proposal that soon!
15:32 audreyt for objects
15:32 audreyt that's fine
15:32 wolverian yeah
15:32 audreyt scw: it's all automagic
15:32 scw audreyt: Hmm more like magic than automatic :p
15:33 audreyt hen is the SoC submission deadline?
15:33 scw next monday i think
15:33 szbalint 8th of may
15:33 audreyt oh ok
15:33 audreyt so still some time
15:33 scw in west coast time
15:33 * audreyt already saw 3 pugs-related proposals :D
15:33 * szbalint will submit a 4th soon
15:34 audreyt ooh.
15:34 audreyt what'd be that about?
15:34 scw audreyt: should be, say, 5/9 9:00am in +0800
15:35 Southen_ joined perl6
15:36 szbalint I'm waiting for Tim Bunce's detailed email atm. He gave me a shorter reply already about Perl 6 DBI
15:36 audreyt ah k.
15:37 clkao scw: what are you going to do if perl5 based rule parser is too slow?
15:38 scw clkao: tune it :p
15:39 * clkao grins
15:39 scw clkao: maybe caching or so, I haven't really think of it
15:39 * scw going home &
15:40 macroron joined perl6
15:40 audreyt packrat caching, yay!
15:48 q[uri] joined perl6
15:50 obscurite anyone using any of the "perl 6 implementations" for anything in production?
15:50 obscurite or know of anyone who is?
15:50 obscurite just curious for the novelty of it
15:53 szbalint audreyt: If I get my application accepted, or if noone gets this idea through, I'd develop the code in ext/DBI/ if you don't mind.
15:55 audreyt surely I don't mind :)
15:56 audreyt obscurite: svnbot6 and evalbot_10184 here (and in #parrot) is considered "production"
15:56 audreyt obscurite: a while ago I used Pugs in $jobs
15:56 obscurite audreyt - $jobs?
15:57 audreyt day job
15:57 obscurite print Dumper \$jobs
15:57 audreyt pugs is my 2nd haskell project; $job was the first
15:57 audreyt http://svn.openfoundry.org/openafp/
15:58 obscurite Thanks. :D
15:58 audreyt np :)
15:59 neoesque joined perl6
16:01 TimToady audreyt: on the return capture business, I guess it really needs to be a capture in any case, so you can say my \$cap := foo()
16:02 TimToady so that a call() can deal with the return value as a unit.
16:02 audreyt yes. that's why we specced return() as such in tokyo
16:02 PerlJam er,  "my \$cap"?  that's strange.
16:02 audreyt the question is whether it applies to fallthru return too
16:02 audreyt or if
16:02 audreyt sub f { x=>3 }
16:03 TimToady I believe so.
16:03 audreyt is always just a pair
16:03 audreyt instead of potentially named
16:03 TimToady I think it has to be consistent on the return end
16:03 audreyt good. then I can commit my Syn diff :)
16:03 TimToady but we still need to think about how a Capture interpolates into a Capture...
16:03 TimToady s/we/I/ :)
16:04 audreyt sub f { (1,2,3) } g(f(), f(), f())
16:04 audreyt this ought to flatten
16:04 audreyt if g takes *@_
16:05 TimToady Yes, people shouldn't have to think about Captures all the time.
16:05 audreyt so, you ok with the parens as general-context-specified?
16:05 audreyt    sub f { :x<1> }     # possibly named-argument binding
16:05 audreyt    sub f { (:x<1>) }   # always just one positional Pair object
16:05 audreyt seems to me that this is consistent with the lhs use
16:05 audreyt as well as the general named-disambiguating use
16:06 TimToady but sub f { 1,2,3 } doesn't necessarily supply positionals, so why is named different?
16:06 Arathorn is now known as Aragone
16:06 audreyt oh, but I was thinking that f{1,2,3} supplies positionals, and f{(1,2,3)} not.
16:07 TimToady unless we say that f() always implies *
16:07 audreyt the latter is just a List in invocant position, which is flattenable
16:07 audreyt but that may be too bizzare to explain
16:08 PerlJam soon I will echo merlyn's lament that perl6 may be too bizarre to explain  ;)
16:08 audreyt it's probably better for sub {1,2,3} and sub {(1,2,3)} to mean the same thing :)
16:08 TimToady I think a returned capture is treated almost identically to @foo
16:09 TimToady that is, scalar in (eventual) scalar context, flattening in list context.
16:09 audreyt and like @foo, you can explode it explicitly with *@foo
16:09 audreyt as well as *f()
16:09 TimToady and you still have to say *foo() to get positionals.
16:10 TimToady that implies probably *foo() to get named as well.
16:10 audreyt yup
16:10 TimToady I think I'm happy with that explanation.  People will grok it.
16:10 audreyt yay
16:10 q[uri]_ joined perl6
16:11 stevan_ joined perl6
16:13 audreyt it's past midnight so I'll not trust myself with ghostwriting :)
16:13 TimToady it's still before midnight, so I'm not sure I trust my writing either.  :)
16:13 audreyt rofl
16:14 TimToady well, one or the other of us will wake up eventually.
16:16 audreyt hopefully both.
16:17 amnesiac joined perl6
16:24 svnbot6 r10218 | fglock++ | Pugs-Compiler-Rule/RuleInline.pl - added 'optional'; benchmarks against
16:24 svnbot6 r10218 | fglock++ | p5-regex (PCR is 100x slower)
16:30 shachaf joined perl6
16:31 hexmode joined perl6
16:34 Limbic_Region joined perl6
16:36 svnbot6 r10219 | fglock++ | RuleInline.pl - better output formatting
16:44 xerox joined perl6
16:54 nbd joined perl6
16:57 Aankh|Clone joined perl6
17:30 KingDiamond joined perl6
17:33 ghenry joined perl6
17:35 DaGo joined perl6
17:38 bernhard joined perl6
17:44 m_ joined perl6
17:46 larsen joined perl6
17:55 vel joined perl6
17:57 szbalint_ joined perl6
17:59 davidfetter joined perl6
18:01 szbalint_ is now known as szbalint
18:18 svnbot6 r10220 | fglock++ | RuleInline.pl - implemented token captures
18:19 DaGo joined perl6
18:26 elmex joined perl6
18:29 vel joined perl6
18:36 ingy audreyt: CogBase-0.10 on cpan...
18:38 nbd left perl6
18:39 TreyHarris joined perl6
18:39 lichtkind joined perl6
18:40 audreyt Schema has invalid YAML: Can't call method "value" on an undefined value at /home/autrijus/i/CogBase-0.10/blib/lib/CogBase/Factory.pm line 40.
18:41 audreyt but, sleep first. :) &
18:48 rashakil joined perl6
19:00 DaGo joined perl6
19:01 ingy audreyt: how did you get that error?
19:02 ingy audreyt: I think you have a bogus YAML::Syck
19:02 ingy audreyt: I have 0.43
19:11 penk joined perl6
19:15 swarm joined perl6
19:25 xerox joined perl6
19:29 spinclad ?eval my $foo = (1,2,3); $foo .= { .reverse }; $foo
19:29 evalbot_10184 Error: the right-hand-side of .= must be a function application
19:29 spinclad ?eval my $foo = (1,2,3); $foo .= sub { .reverse }; $foo
19:29 evalbot_10184 Error:  unexpected "{" expecting comment, operator, ">>=><<", "\187=>\171", "=>", ".=", "&&=", "**=", "+&=", "+<=", "+>=", "+^=", "+|=", "//=", "::=", "?^=", "?|=", "^^=", "xx=", "||=", "~&=", "~<=", "~>=", "~^=", "~|=", "%=", "&=", "*=", "+=", "-=", "/=", ":=", "Y=", "^=", "x=", "|=", "~=", "\165=", "=", postfix conditional, postfix loop, postfix iteration, ";" or end of input
19:30 theorbtwo ?eval my $foo = (1,2,3); $foo .= { .reverse }.(); $foo
19:30 evalbot_10184 Error: cannot cast from VList [VUndef] to Pugs.AST.Internals.VCode (VCode)
19:30 theorbtwo ?eval { say "Foo!" }.();
19:30 evalbot_10184 OUTPUT[Foo! ] bool::true
19:30 marmic joined perl6
19:30 spinclad ?eval my $foo = (1,2,3); $foo .= { $^a.reverse }; $foo
19:30 evalbot_10184 Error: the right-hand-side of .= must be a function application
19:32 lichtkind ?eval grep {$_*2}, (0,1,2);
19:32 evalbot_10184 (1, 2)
19:32 lichtkind sorry
19:32 lichtkind ?eval grep {$_*2}, (0,1,2);
19:32 evalbot_10184 (1, 2)
19:32 lichtkind ?eval grep {$_+2}, (0,1,2);
19:32 evalbot_10184 (0, 1, 2)
19:33 spinclad those look right
19:33 lichtkind i ment map
19:33 lichtkind ?eval grep {$_ > 1}, (0,1,2);
19:33 evalbot_10184 (2,)
19:33 lichtkind ?eval grep {$^a > 1}, (0,1,2);
19:33 evalbot_10184 (2,)
19:34 lichtkind ahh thants i wanted know
19:35 arcady joined perl6
19:35 spinclad ?eval my $foo = (1,2,3); $foo .= method { .reverse }; $foo
19:35 evalbot_10184 Error:  unexpected "{" expecting comment, operator, ">>=><<", "\187=>\171", "=>", ".=", "&&=", "**=", "+&=", "+<=", "+>=", "+^=", "+|=", "//=", "::=", "?^=", "?|=", "^^=", "xx=", "||=", "~&=", "~<=", "~>=", "~^=", "~|=", "%=", "&=", "*=", "+=", "-=", "/=", ":=", "Y=", "^=", "x=", "|=", "~=", "\165=", "=", postfix conditional, postfix loop, postfix iteration, ";" or end of input
19:36 rashakil that's just sick
19:36 spinclad evalbot thought so too
19:37 lichtkind ?eval multi qsort ( [ ] )       { return ( ) }; multi qsort ( [ ] )       { return ( ) }
19:37 evalbot_10184 Error:  unexpected "[" expecting comment, formal parameter, ":" or ")"
19:37 lichtkind ?eval multi qsort ( [ ] )       { return ( ) };
19:37 evalbot_10184 Error:  unexpected "[" expecting comment, formal parameter, ":" or ")"
19:37 lichtkind ?eval multi qsort ()       { return ( ) };
19:37 evalbot_10184 undef
19:37 lichtkind ?eval multi qsort ()       { return ( ) }; multi qsort ()       { return ( ) };
19:37 evalbot_10184 undef
19:37 lichtkind no conflict?
19:37 lichtkind hm
19:38 spinclad C< my $foo = (1,2,3); $foo .= { .reverse }; $foo >:
19:38 spinclad i think something like that ought to work, though; just unsure how i would mention an immediate anonymous function for it.
19:40 spinclad lichtkind: looks like [] as a pattern-like parameter isn't implemented (is it specced?)
19:40 lichtkind iv seen it somewhere in syn
19:41 spinclad call it a bug, then
19:41 PerlJam [] is an array slot where you can specify the pieces of the array individually
19:41 PerlJam it should be in the syn
19:43 spinclad pugs doesn't have 'where' constraints either, or Signature or Capture types
19:43 spinclad ENOTYET
19:43 q[uri] joined perl6
19:43 PerlJam Hmm.  I can't find [] used in signatures in the Synopses at all.
19:46 borkened joined perl6
19:47 lichtkind it was an code sample i took out a synopsys or some docs in pugs svn
19:52 PerlJam yeah, I thought that qsort example was in S06 even
19:52 TimToady see "Unpacking array parameters" in S06
19:53 PerlJam ah, there it is
19:53 PerlJam Though I realize now that I was conflating the Haskell example and the perl example in my head.
19:56 lichtkind so its valid perl6?
19:56 TimToady I often show the qsort example in my stump speech, so maybe you saw it there.
19:56 TimToady is what valid Perl 6?
19:56 PerlJam TimToady: probably.
19:58 PerlJam lichtkind: sub foo ([$thing1,$thing2,*@other_stuff]) { ... }  will let you pass an array to foo() and it will put the first element of the array in $thing1 and the second element of the array in $thing2 and the rest of the array will go into @other_stuff.
19:59 TimToady A Capture argument would also work.
19:59 PerlJam TimToady: I assume that you can have defaults in there too:  sub foo ([$alpha,$beta=5,$gamma=10]) { ... }   n'est pas?
20:00 lichtkind TimToady yeah i think i copied your slide :) so it has to be valid becaus larry never fails :)
20:00 lisppaste3 joined perl6
20:03 TimToady PerlJam: yes, it's just an ordinary signature applied to a sub-Mumble.
20:04 TimToady where the square brackets indicate that an Array is ordinarily expected.
20:05 PerlJam I can imagine some obfuscation there or at least some easy errors.  Those square brackets suddenly look quite small  :)
20:05 DaGo joined perl6
20:06 wolverian you know, I don't really like constructors with positional args, but haskell's data constructors are _really_ short.. :)
20:11 wolverian hrm, if I call foo({ one => { bar => 42 }, two => { bar => 13 } }), is it possible to unpack the 'bars' into an array in the signature of &foo?
20:13 PerlJam wolverian: let's make up a syntax and shoot at it:    sub foo  ( { @keys => @values } )   # ouch  :)
20:13 wolverian :)
20:14 aufrank wolverian: I think the :p tag might do what you want
20:14 wolverian sub foo ({ bar »=> @values }) # it's an arrow
20:14 PerlJam wolverian: personally, that's one area of the waterbed I don't want to push down upon.  Leave such work  to the programmer.
20:14 wolverian PerlJam, but Data.Generics does it so well! I want that for perl6 too.. :)
20:14 aufrank sub foo (%hash:p) { for @_ -> { say } }
20:15 wolverian aufrank, whoa. that's bizarro.
20:15 aufrank I think that passes the hash in as positional pairs
20:15 wolverian how about if I don't have a hash but an object with 'has @.bar;'?
20:15 PerlJam aufrank: except that :p doesn't work in the sig does it?
20:16 PerlJam :p is a call-time thing, not a compile-time thing
20:16 aufrank it does
20:16 aufrank see S06
20:16 PerlJam now I *know* I'm going to have to re-read the Synopses
20:16 * aufrank is about to attempt a grammar for Signatures
20:16 aufrank so I just reread S06
20:17 aufrank I'm pulling out the :p stuff for you now
20:17 aufrank go grep go!
20:17 aufrank To pass both key and value out of hash as a positional pair, use ":p".
20:17 aufrank
20:17 aufrank           doit %hash<a>:p,1,2,3;
20:17 aufrank           doit %hash{'b'}:p,1,2,3;
20:18 PerlJam yeah, but that's just the call, not the sig.  he's have to specify a slurpy in the sig to get at the pairs.
20:18 PerlJam (or some other suitable construct)
20:18 aufrank yeah, I just say that
20:18 aufrank my bad
20:19 aufrank s/say/saw/
20:19 wolverian I guess what I really want is Data::Generics
20:19 * wolverian ports
20:19 wolverian (I'm not very serious about porting it)
20:30 PerlJam pmichaud++  /me just read p6c
20:31 wolverian link? :)
20:31 PerlJam um ... ask google because I don't know how to give you a link to my mailbox :)
20:31 bernhard http://www.nntp.perl.org/group/perl.perl6.internals/33588
20:31 PerlJam bernhard++
20:32 wolverian thanks
20:33 wolverian ?eval say: 1,2,3
20:33 evalbot_10184 Error:  unexpected ":" expecting "::", dot, "!", word character, "(", "{", comment, term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
20:33 lichtkind cool bernhard++
20:34 wolverian hm. can subroutines have the :? kind of clashes with labels
20:38 PerlJam wolverian: what do you mean?  were you trying to make a label "say:"?
20:38 wolverian PerlJam, no.
20:38 wolverian I was trying to do 'say(1,2,3)'
20:38 PerlJam What does it mean for "subroutines to have the :" ?
20:38 wolverian ?eval (1,2,3).map: {$_*2} # similar to this
20:38 evalbot_10184 (2, 4, 6)
20:39 PerlJam wolverian: er, that's    (1,2,3).map  :{$_*2}   isn't it?
20:39 wolverian no.
20:39 wolverian you need to reread the Synopses.
20:39 wolverian ;)
20:40 wolverian (particularly "Methods" in S12)
20:40 merlyn they change hourly. :)
20:40 PerlJam indeed.  This channel just confuses me lately.
20:40 wolverian hey, haskellish:
20:40 wolverian sub infix:«->» ($t, &r) { when $t { &r($_) } } # given $foo { Bar -> { say hi }; Baz -> { say hello } }
20:40 merlyn revision 9112.  for *specifications*
20:40 merlyn that's making government work look simple. :)
20:40 wolverian too bad -> is kind of taken already.. 'Bar -> -> $x { ... }' looks just weird
20:42 wolverian merlyn, hm. what are the commits for that aren't shown on p6l?
20:45 PerlJam wolverian: "say: 1,2,3" still makes no sense.
20:45 wolverian PerlJam, I guess. it's the default anyway.
20:50 theorbtwo PJ: It makes more sense on a method, where the parens aren't optional unless you use the colon.
20:51 vel joined perl6
20:51 wolverian right.
20:52 PerlJam theorbtwo: right, and methods won't clash with labels at that point.
20:55 theorbtwo Indeed, since . isn't a valid char in a label.
21:04 wolverian I like how it makes 'new Foo:' and 'Foo.new:' the same thing.
21:26 DaGo joined perl6
21:35 FurnaceBoy_ joined perl6
21:45 nirgle joined perl6
21:55 jsiracusa joined perl6
21:56 coumbes joined perl6
21:57 hexmode joined perl6
22:07 ruoso joined perl6
22:16 xerox joined perl6
22:18 nirgle joined perl6
22:25 nothingmuch is pugscode.org down?
22:27 nirgle left perl6
22:29 Limbic_Region joined perl6
22:40 nirgle joined perl6
22:41 nirgle joined perl6
22:41 nirgle left perl6
22:44 nirgle joined perl6
22:44 nirgle sorry, going for good
22:44 nirgle left perl6
22:53 xerox Did 01:02:03 04/05/06 pass in your timezone yet?
22:53 xinming nothingmuch: I think so, I can't access it here either...
22:54 ruoso xerox, not mine...
22:54 xinming xerox: neither mine...
22:55 KingDillyDilly joined perl6
22:55 xerox 7 mins here :-9
22:55 KingDillyDilly It loads for me.
22:55 KingDillyDilly In NY
22:56 KingDillyDilly HaHa. And I don't even need it.
22:56 _SamB_ joined perl6
22:57 _SamB_ is now known as SamB
22:59 Limbic_Region audreyt backlog - you probably already knew this but Pugs is building on Win32 again quite nicely (and is much faster too)
22:59 azuroth it did 8 hours ago here :-(
22:59 Limbic_Region did or didn't?
23:05 pjcj joined perl6
23:06 KingDillyDilly left perl6
23:07 svnbot6 r10221 | lwall++ | Tests of supplying closures as invocant on list functions.
23:08 pjcj joined perl6
23:10 xerox joined perl6
23:15 borkened joined perl6
23:30 Khisanth joined perl6
23:34 meppl gute nacht
23:42 kanru joined perl6
23:46 clkao audreyt: can we have svnbot6 run on #svk as well?
23:48 Toaster whatever happened to the metaobject model stuff?
23:49 froh-doh joined perl6
23:52 cognominal joined perl6
23:53 TimToady Toaster: mostly it's been poking its head up in P5 space via Moose, I think.
23:53 cognominal joined perl6
23:54 TimToady As a language Perl 6 is completely agnostic about metamodels, and sweeps the whole thing behind the .meta curtain.
23:55 TimToady Other than that, you'd probably have to poke stevan.
23:57 cognominal sounds like a meta cop out

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

Perl 6 | Reference Documentation | Rakudo