Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-08-06

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:05 [particle] joined #perl6
00:08 vieq joined #perl6
00:20 vieq left #perl6
00:23 wooden joined #perl6
00:23 wooden joined #perl6
00:27 petdance joined #perl6
00:36 LaVolta joined #perl6
00:40 huf joined #perl6
00:50 Guest30823 joined #perl6
01:01 plol is there an equivalent of the perl5 ``-syntax?
01:02 plol qqx[] seems to work, never mind :)
01:10 plobsing joined #perl6
01:20 ruoso joined #perl6
01:22 tylercurtis joined #perl6
01:35 dduncan joined #perl6
01:38 avuserow std: `foo`
01:38 p6eval std 31912: OUTPUT«[31m===[0mSORRY![31m===[0m␤Bogus statement at /tmp/LIc0rjlbA1 line 1:␤------> [32m<BOL>[33m⏏[31m`foo`[0m␤Parse failed␤FAILED 00:01 113m␤»
01:38 avuserow std: qx/foo/;
01:38 p6eval std 31912: OUTPUT«ok 00:01 112m␤»
01:38 avuserow std: qqx/foo/;
01:38 p6eval std 31912: OUTPUT«ok 00:01 112m␤»
01:43 dduncan left #perl6
01:51 lucas_ joined #perl6
02:05 pragma_ needs less color and less extraneous symbols
02:18 synth joined #perl6
02:30 leprevost joined #perl6
02:37 justatheory joined #perl6
02:40 jaldhar joined #perl6
02:51 drbean joined #perl6
02:57 ash_ joined #perl6
03:13 molaf joined #perl6
03:31 [Coke] I imagine it's prettier on the command line.
03:34 sekimura1 joined #perl6
03:36 sorear yes.
03:37 pmichaud ohnononononono
03:37 * pmichaud is very sad
03:37 avuserow pmichaud: por que?
03:37 pmichaud http://gist.github.com/510793  # the source of Pm's current sadness
03:38 pmichaud and there doesn't appear to be an &infix:<cmp> for Numeric/Int/Rat/.....
03:38 pmichaud rakudo:  say 3.5.Str
03:38 p6eval rakudo 19931f: OUTPUT«3.5␤»
03:39 pmichaud rakudo:  say 13 cmp 9
03:39 p6eval rakudo 19931f: OUTPUT«1␤»
03:39 pmichaud rakudo:  say 9 cmp 13
03:39 p6eval rakudo 19931f: OUTPUT«-1␤»
03:39 pmichaud ...but there must be somewhere.
03:40 avuserow doesn't that sub apply to all types?
03:40 pmichaud it ends up being the default fallback
03:40 pmichaud (it's a multi)
03:40 avuserow right
03:40 avuserow oh, cmp is not p5's cmp.
03:40 avuserow duh.
03:40 pmichaud the fallback for cmp is supposed to be string comparison, yes.
03:40 sorear pmichaud: why does that make you sad
03:40 pmichaud but I'm trying to figure out where the numeric cmps are taken care of
03:41 avuserow rakudo: say 5 gt 15
03:41 p6eval rakudo 19931f: OUTPUT«1␤»
03:41 sorear rakudo: say ((13 cmp 9), (13 <=> 9), (13 leg 9)).perl
03:41 p6eval rakudo 19931f: OUTPUT«(1, 1, -1)␤»
03:42 pmichaud I can't seem to find another definition for &infix:<cmp> that doesn't use string compares
03:43 pmichaud I must be missing something somewhere.
03:43 avuserow rakudo: say ((13 lt 9), (13 < 9)).perl
03:43 p6eval rakudo 19931f: OUTPUT«(Bool::True, Bool::False)␤»
03:44 avuserow oh, I see the problem...
03:44 avuserow I don't see the solution though
03:47 tylercurtis joined #perl6
03:49 pmichaud okay, I'm totally confused.  *why* does that even work?
03:52 sorear niecza:
03:52 p6eval niecza : OUTPUT«Can't locate Niecza/Grammar.pm in @INC (@INC contains: STD_checkout /opt/perl-5.12.1/lib/site_perl/5.12.1/x86_64-linux /opt/perl-5.12.1/lib/site_perl/5.12.1 /opt/perl-5.12.1/lib/5.12.1/x86_64-linux /opt/perl-5.12.1/lib/5.12.1 .) at CompilerDriver.pm line 27.␤BEGIN failed--compilati…
03:53 sorear phenny: tell moritz_ Since the new build system works for you and fixes several bugs in incremental builds, I've pushed it live
03:53 phenny sorear: I'll pass that on when moritz_ is around.
03:54 sorear phenny: ask pmurias How do I test STD-CPAN builds after altering STD?  Would it be possible for me to get a CPAN comaint bit?
03:54 phenny sorear: I'll pass that on when pmurias is around.
03:55 pmichaud ohhhh, I found it
03:55 pmichaud it used « instead of <
03:56 sorear I thought we expunged all french quotes from the setting
03:56 pmichaud well, not all
03:56 pmichaud still want them for   <=> and the like, I think.
03:56 avuserow is there an infix:<«> ?
03:56 sorear could do :<< <=> >> for that, no?
03:56 sorear avuserow: no
03:56 avuserow oh
03:56 avuserow I see what pmichaud means
03:57 avuserow how about infix:'<' ?
03:57 pmichaud okay, I now see where <cmp> is being defined.... and I'm still sad.
03:57 sorear Why does this make you /sad/?
03:57 pmichaud some code just hurts to read :-)
03:57 pmichaud http://gist.github.com/510813   the definition of &infix:<cmp>
03:58 sorear rakudo: say List.^methods(:local).Str
03:58 p6eval rakudo 19931f: OUTPUT«munch shift map hash fmt flat new rotate pop Capture elems Str list push exists unshift batch ACCEPTS eager at_pos sort iterator Bool Num perl of␤»
03:58 pmichaud having to create and manipulate two arrays to perform numeric comparisons of Ints .... hurts
03:59 pmichaud (much less going through a reduce operator to check the boolean result)
03:59 sorear Isn't that infinite regress?
03:59 pmichaud oh, <=> might be defined for Int
03:59 pmichaud that would make me feel slightly better
04:00 pmichaud it's defined for Num
04:01 pmichaud and for Real
04:01 pmichaud okay, things look a little better now
04:02 pmichaud oh, no they don't.
04:02 pmichaud (sigh)
04:02 sorear Why not
04:03 mikehh joined #perl6
04:03 sorear Why can't you just use a tracer to find out exactly what 3 > 2 calls
04:03 pmichaud do we have a tracer?
04:04 sorear I'm pretty sure I've filled up my hard drive with parrot call records at some point
04:04 sorear perl6 --trace=1 might be related
04:04 pmichaud that's an opcode trace...
04:04 pmichaud generally way too long to be helpful
04:04 pmichaud --trace=4 is the normal "follow the sub entry/exit" trace
04:06 pmichaud anyway, <=> ends up calling Int.Bridge which ends up calling Int.Num
04:06 pmichaud which is a horrible amount of overhead for comparisons of a fundamental type
04:07 pmichaud and which also explains why our basic range and series operators are so slow
04:07 pmichaud anyway, time to fix
04:08 melte :D
04:09 pmichaud ouch ouch ouch  /me looks at &infix:«<=>»(Num, Num)
04:16 sorear pmichaud: how are Rat/Num comparisons going to work?
04:16 sorear or Int/Rat?
04:16 sorear or Int/FatRat?
04:16 pmichaud they fall back to Real
04:17 * sorear does not like the O(N^2) factor
04:17 pmichaud and Real does coercions via the .Bridge method
04:17 pmichaud but (Int,Int) should definitely be optimized for speed
04:19 sorear What does self!fill(0) do?
04:19 pmichaud makes sure that @items is initialized, mainly
04:20 pmichaud er @!items
04:20 sorear ah
04:20 sorear what's the point of .Seq.eager.iterator?
04:20 pmichaud where are you looking?
04:20 sorear List.pm+85
04:20 pmichaud .Seq creates a Seq; .eager makes it eager
04:20 pmichaud .iterator returns a new iterator for the Seq
04:21 pmichaud ah
04:21 pmichaud you're looking at push
04:21 pmichaud so, that just adds an iterator to @!rest
04:25 Exodist Behold, I have launched a futile attempt at creating another perl6 implementation (more for fun than anything else) http://github.com/exodist/Oyster
04:26 Exodist Just to see what I can do, not an attempt to compete with rakudo (currently) more a learning exersize.
04:26 * Exodist loves a challenge.
04:26 sorear You can try competing with yapsi
04:26 sorear That's what I'm doing
04:26 TiMBuS i personally encourage you to aim to beat rakudo. :3
04:27 Exodist yapsi?
04:27 sorear Although it's a bit of a joke at the moment
04:27 pmichaud Exodist++
04:27 sorear The competition
04:27 Exodist mine is 3 structs in a single C file and a plan in a readme.
04:27 Exodist whats yapsi?
04:27 TiMBuS yet another perl six implementation
04:28 pmichaud http://github.com/masak/yapsi
04:28 Exodist hmm, good name. I thought Oyster was pretty good for a perl implementation :-)
04:28 pmichaud oyster is indeed good
04:28 pmichaud it also has layers, like an onion :)
04:29 Exodist lol, I wonder if anyone will follow the project (hint hint) lol
04:29 pmichaud Exodist (and others):  Note that you'll never hear me give the "project XYZ is stealing resources from Rakudo" argument.
04:29 LaVolta joined #perl6
04:29 pmichaud I'm a firm believer in multiple implementations.
04:29 sorear Rakudo would not be where it is today without cross-pollination from STD and Pugs
04:29 Exodist heh, its more heading off any rais community members who see me and perl 6 and yell re-invented wheel at the top of their lungs.
04:29 pmichaud (and vice-versa, fwiw :)
04:30 Exodist *rails  (yes its a stereotype, sorry, in my experience its fairly accurate)
04:30 pmichaud STD borrowed a lot of ideas (and lessons) from very early versions of Rakudo.
04:30 rcfox Exodist: You'd think Perl hackers would be the most tolerant of reinventing the wheel.
04:31 sorear Most of what I know about Rails people is _why
04:31 Exodist rcfox, you would think.
04:31 pmichaud night before last I had someone come up and ask about my comment about "multiple implementations are good" (more)
04:31 sorear Exodist: I suppose you're already aware of and following niecza?
04:32 pmichaud he gave the typical "wouldn't things go quicker if everyone worked on a single implementation?" (more)
04:32 Exodist generally it is my friends/co-workers who are big rails guys who bash any new project I start if something even remotely related exists
04:32 Exodist sorear, nope
04:32 pmichaud both me and moritz++ quickly responded with a sharp "No."  (In retrospect, I think I should've made the answer a little less sharp :)
04:32 Exodist lol
04:33 sorear IMO rakudo is at close to a local maximum of developer time efficiency
04:33 Exodist more implementations means more lessons learned and more ideas tried, then survival of the fittest + cross polination will lead to an ultimate couple that are awesowe
04:33 sorear If we rounded up every Perl 5 and 6 person and made them work on Rakudo, there'd be a lot more lock contention and not much more code
04:34 rcfox sorear: Also, you probably wouldn't want 99% of their commits anyway.
04:34 Exodist lol
04:35 rcfox "It is not written in a pure subset of Perl6 making it hard for a Perl6 hacker to dive in.
04:35 rcfox "
04:35 rcfox What does that mean?
04:35 Exodist I am also gonna use this to try and Get the Fennec testing framework working to tost perl6 and non-perl code, should be trivial
04:36 sorear Fennec?
04:36 Exodist rcfox, someone told me rakudo is written in "not quite perl 6"
04:36 sorear Exodist: In addition to Niecza, you should take a look at Perlito, it seems to have a few similar goals
04:36 pmichaud we use NQP as a bootstrap
04:36 sorear not to join, of course.  to steal from.
04:36 rcfox NQP?
04:36 pmichaud "Not Quite Perl 6"
04:37 Exodist sorear, behavior driven development for perl5, forking in tests just works, lots of other good: http://search.cpan.org/~ex​odist/Fennec/lib/Fennec.pm
04:37 petdance my $sum = [+] @list; is an example of... autocurrying?
04:37 pmichaud it lets us write grammars and translators using Perl 6 syntax without the full P6 overhead
04:37 pmichaud petdance: reduction
04:37 petdance Wanna get the term right
04:37 petdance ok
04:37 rcfox pmichaud: Is NQP more or less than Perl 6?
04:37 Exodist http://github.com/exodist/Fennec
04:37 pmichaud rcfox: "less"
04:38 Exodist its highly pluggable, custom file types, assertion libs, etc are all triviral
04:38 Exodist *trivial
04:38 rcfox pmichaud: I guess I meant: Is it a subset of Perl 6?
04:38 pmichaud rcfox: yes, a very restricted one.
04:38 rcfox Ah.
04:38 Exodist porting the assertion libs and file-based collector in perl6 is also simple.
04:39 pmichaud http://github.com/perl6/nqp-rx   # nqp
04:39 sorear pmichaud: I'm afraid I still don't grok Seq's reason for existing
04:39 pmichaud sorear: it's a sequence of _values_
04:39 pmichaud as opposed to List which can have containers
04:40 pmichaud i.e., Seq de-containerizes the elements of a List
04:40 sorear What's the difference between a List and and Array?
04:40 pmichaud An array is a List of scalar containers
04:40 agentzh joined #perl6
04:41 pmichaud all of the elements of an Array are items
04:41 pmichaud whereas the things in a List don't have to be
04:41 Exodist arrays are stored as a data type, a list is a bunch of independant elements in a context
04:42 felliott__ joined #perl6
04:42 pmichaud more to the point, if I do something like:    for (@a, @b) { $_++ }
04:42 petdance Proofing please: http://gist.github.com/510846
04:42 Exodist but arrays and lists can be assigned to eachother (perl5 code: @stuff = ( $a, $b ); ($b, $a) = @stuff;)
04:43 pmichaud the list that is constructed from @a and @b has the individual scalar containers of @a and @b as its elements (when it flattens)
04:43 pmichaud but if I create an Array from a List, the Array gets its own set of scalar containers
04:44 pmichaud petdance: looking now
04:44 sorear a Parcel can contain any kind of container, List is just scalars, right?
04:45 Exodist is undef a scalar?
04:45 Exodist my @stuff = ( undef, $a );
04:45 Exodist or ( my $a, undef, $b ) = @stuff;
04:46 Exodist ^ thats valid perl5 at least
04:46 pmichaud sorear: List is lazy; afaik it doesn't require that its elements be items
04:46 sorear undef is gone.
04:46 Exodist excusing lexical of globals $a and $b...
04:46 Exodist sorear, what is used now?
04:46 Exodist how do you function w/o undef?
04:46 pmichaud Exodist: each type object stands for an undefined value of that type
04:47 pmichaud the most global/unrestrcited undefined value is Mu
04:47 pmichaud *unrestricted
04:47 Exodist pmichaud, can you link to the correct syn and section? or point me at it? I must read this.
04:48 pmichaud petdance: the main rebuttal I'd see to your article is that Perl 5 at least kept some semblence of backwards compatibility with Perl 4, whereas Perl 6 does no such thing
04:48 petdance Sure, but I'm not optimizing for rebuttlas.
04:48 pmichaud Exodist: S02, "The C<Mu> type"
04:49 rcfox petdance: I'm not at all familiar with Perl 4, but I think a better way of saying "my variables" would be "lexical scopes".
04:49 petdance ok
04:51 Exodist pmichaud, awesome thanks, I must have been spacing out last time I read it, or did not understand the significance.
04:52 rcfox pmichaud: I guess the rebuttal for your rebuttal is that Perl 6 takes the lessons learned from modern Perl 5, and discards the cruft that should no longer be used anyway.
04:53 petdance any other comments anyone?
04:53 petdance I've updated a bunch recently
04:53 petdance I'm about to run it
04:53 pmichaud rcfox: sure, that's the reason for it existing, but not necessarily the reason it needs to be called "Perl 6" (which is what this article is about)
04:53 Exodist perl6 is more than it should be if you want it fast
04:53 pmichaud (note that I'm playing "devil's advocate" here, not spouting my own opinions)
04:53 Exodist but is also everything a language should be (as far as features)
04:54 petdance I was starting out with a two sentence article.
04:54 petdance "It's still Perl because Larry says it's still Perl.  End of discussion."
04:54 melte Perl 6 is also tied to the concept of Perl by its community, and not just its similarities with Perl 5
04:54 petdance but then I expanded
04:54 Exodist I don't agree with the name being a problem. Larry created perl, he wants to make a new language, he can use the name again.
04:55 petdance But it doesn't matter if you agree or not.
04:55 Exodist why would perl 5 need to evolve into perl6 anyway?
04:55 pmichaud petdance: are you responding to a recent thread that I've missed while at yapc::eu, ooc?
04:55 Exodist *let me rephrase
04:55 petdance No, just general whining
04:55 pmichaud petdance: okay.
04:55 petdance saw some comment on reddit, I think.
04:55 Exodist why would perl 5 need to incriment the 5?
04:57 rcfox I'm not sure "Larry says so." is a great reason, really...
04:58 petdance It doesn't matter if you think it's a great reason.
04:58 LaVolta close up the bug-hole...may be? :)
04:58 LaVolta then 5 turns into 6
04:58 petdance That's the entire point.
04:58 TiMBuS i think what he is saying is if perl5 is never going to change why would it need to reserve the 6?? or am i wrong
04:59 rcfox Perl 6 feels like Perl, it behaves like Perl, and it has the philosophy of Perl.
04:59 sorear petdance: What do you have to say to the "Larry is some old kook who nobody has seriously listened to since the early 90s" crowd?
04:59 Exodist perl5 is unlikely to ever change enough to warrant 5++, it would be a back-incompatible change to do that.
04:59 petdance "So?"
05:00 TiMBuS Exodist, i think the only reason for previous version jumps was rewriting the entire internals
05:00 Exodist exactly
05:00 TiMBuS not the changing language spec
05:00 petdance sorear: Or if not "So?", I say "OK, that's fine.  Isn't it cool we can use list reductions?"
05:00 TiMBuS so it can stay 5
05:00 Exodist perl5 can,t really do that again easily
05:00 petdance Not every dicussion needs to hapepn.
05:01 petdance Just because some crank on reddit says "Larry should have done X" doesn't mean that it needs a response.
05:01 Exodist perl5 is huge, and near impossible to re-implement, only perl5 can parse perl5, re-writing it is an exercise in pain.
05:01 TiMBuS i wish i was forever 5! a new bmx every birthday
05:01 petdance See also: "OMG SOMEONE IS WRONG ON THE INTERNET"
05:01 Exodist lol
05:02 Exodist they can always call it perl5++,  Schwern already gobbled perl5i (which is fun (disclaimer: I am a committer))
05:02 TiMBuS perl#
05:02 petdance ok, no other notes on my article?
05:02 pmichaud anyway, I guess I've already moved into the "Isn't it cool that we can use list reductions?"  phase of thinking about the issue.  :-)
05:02 petdance I'm gonna publish it.
05:03 pmichaud so I don't have much to respond to this article :)
05:03 Exodist or they can call it perl7 and piss a lot of people off.. or perl{me,xp,ce,95,98,200,etc....}
05:03 pmichaud other than "yes, it's very cool"
05:03 Exodist where is the article?
05:03 TiMBuS ISO Perl
05:03 TiMBuS ANSI perl*
05:04 petdance Exodist: I posted a link ot a gist asking for commentary.
05:04 Exodist found it, reading
05:05 sorear TiMBuS: sorry, perl# is taken
05:05 rcfox P#
05:06 rcfox Microsoft's bastardized version of Perl.
05:06 pmichaud I'm so glad I can say "Rakudo" instead of "Perl 6"  :-)
05:06 Exodist petdance, I like it
05:06 rcfox pmichaud: What do you mean?
05:06 Exodist rcfox, is P# real?
05:06 rcfox Exodist: I sure hope not!
05:07 pmichaud rcfox: sometimes it's nice to be able to talk about Perl 6 without having to use the phrase "Perl 6"  :-)
05:07 Exodist lol, this is all google finds: http://github.com/mbarbon/language-p
05:08 rcfox pmichaud: But doesn't that only work in a context where everyone knows about Perl 6?
05:08 Exodist is it a perl5 compiler written in perl5 that compiles perl5 into perl5?
05:08 pmichaud rcfox: I'm hoping that someday it will work outside of that context, yes.
05:11 sorear pmichaud: if List is lazy and holds containers, why does List.push eagerly evaluate and remove containers?
05:11 pmichaud TimToady++ decided that push should act eagerly.
05:11 pmichaud (and I agree)
05:12 pmichaud to be more consistent with the p5 expectation.
05:12 pmichaud I think someone would be very surprised if
05:12 sorear How often does a P5 expectation programmer even see a List?
05:12 pmichaud $b = 6;  $list.push($b);   $b = 5;
05:12 pmichaud caused $list to suddenly have a 5 value in it
05:13 Exodist wait, what? $b = 6;  $list.push($b);   $b = 5;   <-- how does this make sense?
05:13 Exodist oh
05:13 Exodist $b = 6;  $list.push($b);   $b = 5; wait
05:13 Exodist duh
05:14 Exodist ignore me
05:14 Exodist wtf?  I somehow accidently pasted?
05:15 NiiHiiL joined #perl6
05:15 pmichaud time for breakfast here -- bbiaw
05:15 rcfox rakudo: my $a = {1}; $a = {$a()}; $a();
05:15 p6eval rakudo 19931f: OUTPUT«maximum recursion depth exceeded␤  in <anon> at line 22:/tmp/weYpKIwekl␤  in <anon> at line 22:/tmp/weYpKIwekl␤  in <anon> at line 22:/tmp/weYpKIwekl␤  in <anon> at line 22:/tmp/weYpKIwekl␤  in <anon> at line 22:/tmp/weYpKIwekl␤  in <anon> at line 22:/tmp/weYpKIwekl␤  in
05:15 p6eval ..<anon> at …
05:15 rcfox ^ Is that expected?
05:15 tylercurtis rcfox: why not?
05:15 pmichaud seems reasonable to me
05:16 tylercurtis rakudo: sub a { a(); }; a();
05:16 p6eval rakudo 19931f: OUTPUT«maximum recursion depth exceeded␤  in 'a' at line 1:/tmp/C3LS9zXPwG␤  in 'a' at line 22:/tmp/C3LS9zXPwG␤  in 'a' at line 22:/tmp/C3LS9zXPwG␤  in 'a' at line 22:/tmp/C3LS9zXPwG␤  in 'a' at line 22:/tmp/C3LS9zXPwG␤  in 'a' at line 22:/tmp/C3LS9zXPwG␤  in 'a' at line
05:16 p6eval ..22:/tmp/C3LS9zXPw…
05:16 pmichaud it's not really much different than having    &foo = { &foo() }
05:17 sorear rcfox: rakudo doesn't handle tailcall optimization yet
05:17 Exodist rcfox, closure, $a is the same $a regardless of whats in it
05:17 rcfox Okay, I guess so.
05:17 * pmichaud doesn't see how tailcall optimization applies... but oh well.
05:17 Exodist rakudo: my $a = {1}; $a = {my $b = $a; $b()}; $a();
05:17 p6eval rakudo 19931f: OUTPUT«maximum recursion depth exceeded␤  in 'Mu::item' at line 1186:CORE.setting␤  in 'Mu::item' at line 1188:CORE.setting␤  in '&infix:<=>' at line 1␤  in <anon> at line 22:/tmp/ZmSVbLcePW␤  in <anon> at line 22:/tmp/ZmSVbLcePW␤  in <anon> at line 22:/tmp/ZmSVbLcePW␤  in <anon> at
05:17 p6eval ..line …
05:18 Exodist oh, duh :-P
05:18 Exodist I did the same thing
05:18 tylercurtis rakudo: my $a = 5; sub b { $a }; say b; ++$a; say b; #rcfox, consider this related case.
05:18 p6eval rakudo 19931f: OUTPUT«5␤6␤»
05:18 petdance joined #perl6
05:19 pmichaud I guess someone could expect an infinite loop instead of 'maximum recursion'
05:19 rcfox rakudo: my $a = {1}; my $b = $a; $a = {$b()}; $a();
05:19 p6eval rakudo 19931f:  ( no output )
05:19 Exodist can you override the maximum if needed?
05:19 pmichaud Exodist: that's a very good question.
05:19 LaVolta rakudo: my List $l .= new; my $b = 6; $l.push($b); $b = 5; $l.perl.say; # test
05:20 p6eval rakudo 19931f: OUTPUT«(6)␤»
05:20 TiMBuS i remember overriding it in my language
05:20 Exodist pmichaud, I could see it being necssary for some algorithms
05:20 pmichaud Exodist: I agree.
05:20 pmichaud currently Parrot enforces the max recursion depth, so we'd have to tune it there.
05:20 TiMBuS since it was functional and executed backwards i needed a large call depth
05:20 pmichaud (i.e., provide a way to access that tuning)
05:20 Exodist perl5 lets you I think, but then again deep recursion is a warning not fatal in p5
05:21 rcfox I guess I was expecting it to do something sort of like my last thing.
05:21 TiMBuS $P0 = getinterp
05:21 TiMBuS $P0.'recursion_limit'(100000)
05:21 sorear rakudo: sub moo($x) { $x ?? 20 !! moo($x-1) }; moo(10000)
05:21 p6eval rakudo 19931f:  ( no output )
05:21 sorear rakudo: sub moo($x) { $x ?? 20 !! moo($x-1) }; say moo(50000)
05:21 p6eval rakudo 19931f: OUTPUT«20␤»
05:21 sorear rakudo: sub moo($x) { $x ?? 20 !! moo($x-1) }; say moo(500000)
05:21 ktne joined #perl6
05:21 p6eval rakudo 19931f: OUTPUT«20␤»
05:21 sorear rakudo: sub moo($x) { $x ?? 20 !! moo($x-1) }; say moo(5000000)
05:21 p6eval rakudo 19931f: OUTPUT«20␤»
05:22 sorear rakudo: sub moo($x) { $x ?? 20 !! moo($x-1) }; say moo(100000000)
05:22 p6eval rakudo 19931f: OUTPUT«20␤»
05:22 Exodist wow.
05:22 sorear rakudo: sub moo($x) { $x ?? moo($x-1) !! 20 }; say moo(50000)
05:22 p6eval rakudo 19931f: OUTPUT«maximum recursion depth exceeded␤  in 'upgrade_to_num_if_needed' at line 3444:CORE.setting␤  in 'upgrade_to_num_if_needed' at line 3454:CORE.setting␤  in 'infix:<->' at line 3510:CORE.setting␤  in 'moo' at line 22:/tmp/4I2GAKPbKh␤  in 'moo' at line 22:/tmp/4I2GAKPbKh␤  in
05:22 p6eval ..'moo' at …
05:22 Exodist thats pretty deep (thats what she said)
05:22 melte lol
05:22 snearch joined #perl6
05:23 sorear rakudo: sub moo($x) { $x ?? moo($x-1) !! 20 }; pir::getinterp().recursion_limit(1000000); say moo(50000)
05:23 p6eval rakudo 19931f: OUTPUT«===SORRY!===␤The opcode 'getinterp' (getinterp<0>) was not found. Check the type and number of the arguments␤»
05:23 sorear rakudo: sub moo($x) { $x ?? moo($x-1) !! 20 }; pir::getinterp__P().recursion_limit(1000000); say moo(50000)
05:23 p6eval rakudo 19931f:  ( no output )
05:23 justatheory joined #perl6
05:23 tylercurtis rakudo: sub moo($x) { $x ?? moo($x-1) !! 20 }; say moo(1000);
05:23 p6eval rakudo 19931f: OUTPUT«maximum recursion depth exceeded␤  in 'upgrade_to_num_if_needed' at line 3444:CORE.setting␤  in 'upgrade_to_num_if_needed' at line 3454:CORE.setting␤  in 'infix:<->' at line 3510:CORE.setting␤  in 'moo' at line 22:/tmp/yAgyW2H00I␤  in 'moo' at line 22:/tmp/yAgyW2H00I␤  in
05:23 p6eval ..'moo' at …
05:24 sorear rakudo: sub moo($x) { $x ?? moo($x-1) !! 20 }; pir::getinterp__P().recursion_limit(1000000); say moo(1000)
05:24 p6eval rakudo 19931f: OUTPUT«20␤»
05:24 TiMBuS yeah sorear was doing it backwards there
05:24 rcfox sub moo($x) { $x ?? moo($x-1) !! 20 }; say moo(1);
05:24 petdance ok done http://perlbuzz.com/2010/08/what-to-s​ay-to-perl-6-isnt-perl-any-more.html
05:24 rcfox rakudo: sub moo($x) { $x ?? moo($x-1) !! 20 }; say moo(1);
05:24 p6eval rakudo 19931f: OUTPUT«20␤»
05:26 rcfox Okay... Nap, then study.
05:26 rcfox I hate exams.
05:27 melte I hear ya
05:29 TiMBuS hahaha ok, recursing 100,000 times with the limit set to 1,000,000 = segfault
05:30 TiMBuS must have crashed because it was looping so fast!
05:30 sorear TiMBuS: -Minf
05:30 tylercurtis in the first example at http://perlcabal.org/syn/S12​.html#Autovivifying_objects, wouldn't { :name<Fido> } be a hash literal rather than a closure?
05:30 sorear er
05:30 sorear -g inf
05:30 * snarkyboojum is betting a GC barf :P
05:30 sorear you need to turn off the garbage collector if you want to loop more than 20,000 deep or so
05:30 tylercurtis TiMBuS: that happens even with tailcalls, too.
05:31 TiMBuS ah
05:32 TiMBuS did parrots gc ever get reworked after the gsoc attempt?
05:32 pmichaud it's being reworked now
05:32 TiMBuS whiteknight again?
05:32 pmichaud bacek
05:32 pmichaud (and chromatic)
05:33 TiMBuS awesome
05:33 pmichaud afk # nom
05:33 * Exodist -> bed, night all
05:34 TiMBuS pmichaud <<== pretzels() <== beer()
05:35 tylercurtis Hmm... where in the spec is the way of determining where "{ foo }" is a block or a hash?
05:38 tylercurtis Nevermind, found it.
05:38 snarkyboojum alester++ # interesting Perl 6 blogging :)
05:38 dalek rakudo: 9dd4081 | pmichaud++ |  (2 files):
05:38 dalek rakudo: Add somewhat cheating version of src/core/Order.pm .
05:38 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/9​dd40811cc4cb62337cf72bbda0ba46f15d5b36b
05:38 dalek rakudo: 6d32585 | pmichaud++ | src/core/Int.pm:
05:38 dalek rakudo: Add more Int numeric comparision operators.
05:38 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​d3258517a0a166bc17c1dd4d48f2b47a361e57d
05:38 petdance snarkyboojum: thanks.
05:41 snarkyboojum moritz_++ beat me to the mkdir bug.. I had a patch for it :)
05:41 moritz_ good morning
05:41 phenny moritz_: 03:53Z <sorear> tell moritz_ Since the new build system works for you and fixes several bugs in incremental builds, I've pushed it live
05:42 * tylercurtis appears to have been right.
05:42 tylercurtis Curlies enclosing a pair make a hash, not a block.
05:42 snarkyboojum moritz_: o/
05:43 moritz_ \o
05:44 tylercurtis Does Rakudo implement autovivifying objects?
05:45 moritz_ rakudo: my %h; push %h<a>, 1, 2; say %h.perl
05:45 p6eval rakudo 19931f: OUTPUT«Method '!fill' not found for invocant of class ''␤  in 'List::push' at line 2610:CORE.setting␤  in main program body at line 22:/tmp/IxHzXM4aK0␤»
05:46 TiMBuS haha oh dear
05:46 moritz_ rakudo: my %h; %h<a><b> = 3; say %h.perl
05:46 p6eval rakudo 19931f: OUTPUT«{"a" => {"b" => 3}}␤»
05:46 * moritz_ submits rakudobug
05:46 tylercurtis moritz_: I mean things like "Dog but WHENCE({ :name<Fido> })"
05:47 moritz_ tylercurtis: not sure
05:48 TiMBuS i recall pmichaud saying it can be used now
05:48 snarkyboojum sorear: if I run xbuild 3 times, I get a working niecza build via ./niecza_eval, but if I run few xbuilds I get errors
05:48 snarkyboojum sorear: related to the ContineOnError attr stuff I was going on about yesterday
05:48 tylercurtis rakudo: class Dog { has $.name; method wag { say "$.name wags his tail." } }; my $dog = Dog{ :name<Fido> }; defined $dog or say "doesn't exist"; $dog.wag();
05:49 p6eval rakudo 19931f: OUTPUT«doesn't exist␤Method 'wag' not found for invocant of class ''␤  in main program body at line 22:/tmp/s61g0jxJh8␤»
05:49 moritz_ niecza: say "alive"
05:49 snarkyboojum sorear: I think
05:49 p6eval niecza d274387: OUTPUT«alive␤»
05:49 sorear snarkyboojum: huh.
05:49 snarkyboojum sorear: bizarro eh
05:49 sorear snarkyboojum: what is the output
05:50 snarkyboojum sorear: I mentioned yesterday that the additional ContinueOnError attrs for the Exec tasks running mono --aot were still failing on OS X
05:50 sorear well, it's supposed to output FAILED, but it also continues
05:50 sorear or at least that's how it worked for me & touch commands
05:50 snarkyboojum sorear: and after a single xbuild, and even a second I get a failing evalutator, but a third build makes it work.. a coincidence that there are 3 exec tasks doing mono --aot? not sure
05:50 snarkyboojum sorear: will pastebin some errors
05:51 tylercurtis Doesn't look like it's yet implemented. Anyway, the reason I'm asking is because the WHENCE closure is supposed to return an argument list for .bless.
05:51 moritz_ after a git clean -xdf  the xbuild worked fine for me on first attempt
05:51 sorear tylercurtis: that is quite completely unlike how WHENCE works these days
05:52 tylercurtis sorear: that's what S12 says about it.
05:52 sorear tylercurtis: check out src/core/List.pm and src/core/Any-list.pm
05:52 sorear implementation is leading specification
05:52 tylercurtis Good. Because I was about to complain about how the spec currently doesn't even work for its own examples.
05:52 sorear moritz_: snarkyboojum is using a version of mono which fails on --aot attempts
05:53 moritz_ oh.
05:54 sorear I guess because it's the official OSX build, it's probably a fat binary and doesn't know what kind of code to AOT?
05:54 sorear or something like that
05:54 Mowah joined #perl6
05:54 sorear in any case it errors out with --aot not supported
05:55 * sorear is now overhauling niecza's list type hierarchy
05:57 snarkyboojum sorear: during the first xbuild I get a failure due to mono --aot etc at the Kernel.dll target, the second I get a failure at SAFE.dll, and the third I get a similar failure at CORE.dll, so it seems to be "getting one target further" for each xbuild invocation, until the fourth invocation, at which point the build "succeeds" :D, but the evaluator runs properly after the third, until then I get these types of errors
05:57 snarkyboojum http://gist.github.com/510905
05:57 tylercurtis sorear: I guess Rakudo's current interpretation of WHENCE eliminates my issue that with S12's definition, almost every use of it(probably every use) would require Dog{; :name<Fido> } instead of Dog{ :name<Fido> }, to use the spec's example.
05:59 pmichaud back from nom
06:05 sorear snarkyboojum: What version of Mono are you usign?
06:07 moritz_ alester: is it intentional that you don't like to perl6.org in the sidebar of the perlbuzz blog?
06:07 moritz_ if not, please consider doing it :-)
06:07 snarkyboojum sorear: 'Mono JIT compiler version 2.6.4 (tarball Thu Apr 22 13:24:33 MDT 2010)'
06:09 sorear snarkyboojum: I just pushed a change making UseAOT a configurable variable
06:14 szabgab cam I talk to the repl via a soket instead of on the command line?
06:14 pnate joined #perl6
06:14 szabgab or maybe via a socket...
06:15 dalek niecza: b1b9752 | sorear++ | test2.pl:
06:15 dalek niecza: start prototyping Array accessors
06:15 dalek niecza: review: http://github.com/sorear/niecza/commit/b​1b9752d41d8a397a6f4aac6fedbbe6f3a360818
06:15 dalek niecza: fb128e3 | sorear++ | SAFE.setting:
06:15 dalek niecza: !fill should be a private method
06:15 dalek niecza: review: http://github.com/sorear/niecza/commit/f​b128e3c59a314ce4d4b9e1e86be7e7deedc1626
06:15 dalek niecza: c392842 | sorear++ | Niecza.proj:
06:15 dalek niecza: Add a central switch to turn off AOT, rather than relying on ContinueOnError
06:15 dalek niecza: review: http://github.com/sorear/niecza/commit/c​392842cce4462acf53a927cd6ad3eaed194f8f3
06:15 pmichaud hmmm, I seem to be unable to svn commit to pugs.
06:17 sorear moritz was talking aout that earlier
06:17 sorear apparently pisa doesn't like svn much
06:17 pmichaud apparently.
06:17 snarkyboojum sorear: thanks - works for me if I set UseAOT to 'N' - cheers :)
06:17 Su-Shee joined #perl6
06:17 sorear I've asked #mono what could be going wrong
06:17 moritz_ pmichaud: related to some network filtering - I rsync'ed to another box, and committed from tehre
06:18 snarkyboojum sorear: did some reading about ContinueOnError doing strange things, and still failing builds last night, but didn't make much sense of it to be honest
06:18 sorear so, in the US, ISPs like to kill BitTorrent, but in Italy they go after subversion.  WTF?
06:18 pmichaud moritz_: my commits aren't urgent, I'll wait until I get to a real wifi connection :)
06:19 petdance moritz_: http://perlbuzz.com/ is updated
06:19 moritz_ petdance++
06:21 pmichaud petdance++
06:21 petdance I'm reasonably responsive. :-)
06:23 sorear petdance: would it make any sense at all to have git-grep functionality in ack 2?
06:23 petdance What is "git-grep functionality"
06:23 sorear accesses the packfile instead of the filesystem
06:24 masak joined #perl6
06:24 masak morning, #perl6!
06:24 sorear *much* faster than grep -r for largish projects (mono, linux)
06:24 sorear although that could just be ext3 sucking
06:24 sorear hello masak!
06:25 sorear masak: check out http://github.com/exodist/Oyster
06:25 petdance sorear: You can do anything you want with plugins in ack 2.0
06:25 sorear masak: someone else has started an -Ofun perl6 implementation
06:26 petdance However, no, ack will not do anything with git specifically.
06:26 masak sorear: wow! looks impressive!
06:27 masak I'm happy to report that Yapsi is currently ahead of that project :)
06:27 masak but if there's any way I can compile things down into his interpreter, I definitely will.
06:28 * masak emails exodist
06:28 snarkyboojum masak o/
06:28 masak snarkyboojum! \o/
06:30 tylercurtis http://github.com/ekiru/Bennu/bl​ob/rewrite/setting/metamodel.pm6 is a very early draft of vaguely what I expect the bootstrappy stuff for Bennu I rambled incoherently about a couple nights ago ago to look like.
06:30 * tylercurtis isn't going to stay around to discuss it tonight, though.
06:31 * tylercurtis told himself that he had to go to bed an hour ago and disobeyed himself.
06:31 * snarkyboojum told himself "last beers" an hour ago and disobeyed himself :P
06:35 huf joined #perl6
06:35 masak Exodist: oh, you're here on the channel :)
06:35 masak Exodist: I'm writing you an email :)
06:39 masak sent.
06:39 * masak goes back to panicking
06:39 masak my talk is at 12:00! o.O
06:39 tylercurtis I plan to, after obsessively reading S12, S14, and probably S06 and S13 several times, write up a theoretical implementation of Perl 6's object system on top of that. And eventually (by which I mean, after GSoC) figure out how to make that stuff all parse properly with STD. Someday I might even write something to compile some of it!
06:40 snarkyboojum masak: next talk in 3 hours or so? :O
06:41 masak 3:20, yes.
06:41 * masak writes more slides
06:41 snarkyboojum go-go masak-san ;)
06:42 tylercurtis Anyway, another night's worth of semi-coherent (I hope) rambling about Bennu is done. Good night, #perl6!
06:42 snarkyboojum alberto has been mentioning Perl 6 YAPC::EU 2010 talks on his blog http://blogs.perl.org/users/alberto_simoes/ - he seems to yearn for real world applications
06:43 masak who doesn't? :)
06:43 snarkyboojum indeed :)
06:43 masak for what it's worth, I liked moritz_' talk.
06:44 moritz_ mine was as real-world application as can be :-)
06:45 snarkyboojum I wish I would have been there to hear it, alberto's reviews seem to be quite... terse
06:45 snarkyboojum does he hang out on #perl6?
06:45 masak "Just a bunch of theory without a real application." -- My mind boggles at this assertion.
06:46 moritz_ snarkyboojum: not afaik
06:47 masak someone on Twitter wonders when Rakudo Star will hit MacPorts.
06:47 snarkyboojum moritz_: that's a shame - we need to get him contributing modules/tests/patches ;)
06:47 TiMBuS Am I allowed to make a rakudo star PPA?
06:47 moritz_ yes (although I don#t know what a PPA is :-)
06:47 TiMBuS i know someone here has rakudo on launchpad but its nothing but a link really
06:48 TiMBuS it's ubuntus package site
06:48 snarkyboojum why is a macport required?
06:49 moritz_ because people expect it?
06:49 snarkyboojum I thought macports were useful for *nix software that had to be *ported* to OS X
06:50 snarkyboojum I guess I misunderstood the point
06:50 * moritz_ wonders if Alberto read http://conferences.yapceurope.org/ye2010/talk/2949 before attending the talk
06:50 moritz_ "Along the way I will briefly explain some Perl 6 features used (but I'll keep it minimal)."
06:51 petdance I think this is my new strategy
06:51 petdance http://perlbuzz.com/2010/08/what-to-s​ay-to-perl-6-isnt-perl-any-more.html
06:51 petdance when the "But Perl 6..." folks talk about the negatives, I'll just reply with a positive.
06:51 petdance and ignore the gripe.
06:51 pmichaud I have the impression that Alberto doesn't like Perl 6 very much.  (That's okay, it's his right to have an opinion.)
06:52 snarkyboojum pmichaud: I kind of arrived at the same conclusion
06:52 snarkyboojum I'm also reminded of au|irc's "turn trolls into commiters" :)
06:53 * moritz_ wonders whether to reply with a tasty blog post... and decides against it
06:53 snarkyboojum not saying alberto is a troll though!
06:53 pmichaud iirc, he's been a committer in the past.  :)
06:53 * snarkyboojum shuts up :)
06:53 snarkyboojum +1 for moritz_'s tasty blog post!
06:56 snarkyboojum petdance: piers cawley I think said something different but vaguely in the same spirit perhaps, about only replying to constructive posts or some such.. I liked that
06:57 petdance I don't mind responding to the negative posts, but that doesn't mean you have to repsond to the negativity.
06:57 petdance "Perl 6 is ugly!"  "OK."
06:57 dalek niecza: 39d5124 | sorear++ |  (4 files):
06:57 dalek niecza: Implement $?ORIG and $?FILE
06:57 dalek niecza: STD.pm6 is adding a newline to $?ORIG for no clear reason.  Need to investigate.
06:57 dalek niecza: review: http://github.com/sorear/niecza/commit/3​9d5124d3ef9ce3ef87349fba18af68a98733f19
06:57 masak chromatic is good at ignoring the low blows and focusing on the facts in comments.
06:58 sorear chromatic++
06:59 snarkyboojum aye, chromatic++ # for resilience, and general FUD-fighting :)
07:00 petdance well, I wish he didn't fight
07:00 petdance he likes the rolling in the mud
07:00 petdance OK, it's  bedtime for me
07:03 masak I think he likes to respond factually to over-emotional FUDding. more often than not, I like reading it.
07:04 pmichaud yes, I think he just likes exposing FUD and logically unsound reasoning
07:04 sorear yes, that's chromatic.  meticulous to a fault.
07:05 sorear so it appears that the main operational difference between Array and List is that Arrays can have new elements added by subscripting
07:05 sorear my @a; @a[0] = 'x';
07:05 sorear # equivalently: my @a; @a = ( 'x' )
07:05 dalek rakudo: 2c0ea31 | pmichaud++ | src/c (2 files):
07:05 dalek rakudo: Refactor Order::* constants--- as cheats we want them available before
07:05 dalek rakudo: compiling the setting.  When we have enums working we can move them
07:05 dalek rakudo: back into the setting itself.
07:05 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/2​c0ea315c272d4f5151861710025a8513de92a46
07:05 dalek rakudo: 035efb0 | pmichaud++ | src/core/ (2 files):
07:05 dalek rakudo: Refactor some comparison operators to avoid unnecessary blocks and
07:05 dalek rakudo: use of -1 and +1 "constants".
07:05 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​35efb02e264df180e138b8e50eaf478af1e27fc
07:05 sorear neither would work with an empty List
07:05 sorear ?
07:06 wamba joined #perl6
07:07 * sorear should do something with enums in niecza soon (before rakudo)
07:08 masak sorear: grrr :)
07:08 masak I have the patches ready, they just cause problems when I apply them.
07:09 pmichaud if rakudo once had enums (i.e., in alpha), does that count?  ;-)
07:09 masak Rakudo *has* enums in master too.
07:09 masak they're just less than awesome.
07:16 sorear What's LTA about them?
07:17 masak the enumeration object is an EnumMap instead of wrapping one.
07:17 masak hence, it has the wrong set of methods.
07:17 masak the individual enum things also have the wrong set of methods.
07:18 sorear What's the deal with EnumMap anyway
07:18 sorear Why can't it just use Hash
07:18 masak immutability.
07:18 sorear masak: What I'm currently proudest of in niecza is the implementation of Test::Builder::blame
07:19 * sorear wonders how many changes woule need to be made to niecza's Test::Builder for it to work on rakudo, (and how many fudges could be removed)
07:19 sorear s/::Builder/.pm6/
07:22 * masak hides from IRC until after his talk
07:22 masak o/
07:22 sorear aww, I didn't manage to rope masak into reading the best example of niecza input code.
07:24 plol joined #perl6
07:24 pmichaud sorear: need to pick a day when he's not putting together a talk :)
07:26 sorear Can a Seq contain flattening objects?
07:28 pmichaud A Seq is already flattened, like an Array.
07:30 sorear Is Seq entirely defined in PIR?
07:35 TiMBuS looks like it is
07:40 Lasse_ joined #perl6
07:52 dalek rakudo: 0e5edb5 | pmichaud++ | src/core/Int.pm:
07:52 dalek rakudo: Clean up &infix:<cmp>(Int, Int).
07:52 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​e5edb5c5fb2c2a2011c5a41d0f5161bcd1f8885
07:55 eternaleye joined #perl6
07:58 pmichaud TiMBuS: you may need to descalarref the values
07:59 TiMBuS can i use isa
07:59 pmichaud better is ACCEPTS
08:00 TiMBuS Any.ACCEPTS or p6scalar.ACCEPTS?
08:00 jhuni joined #perl6
08:00 pmichaud ...where are you thinking you'd need isa...?
08:02 TiMBuS i'm thinking for times when people pass unboxed types, but now I think about it thats never going to happen is it
08:04 TiMBuS its just the current one i wrote works by using "new ['Perl6Scalar'], other_scalar" without derefing
08:05 mberends joined #perl6
08:05 TiMBuS i do it that way because generated pir does that
08:08 pmichaud hmmmm
08:08 vcrini joined #perl6
08:11 dalek niecza: ea7e7a7 | sorear++ |  (2 files):
08:11 dalek niecza: Add MONKEY_TYPING module
08:11 dalek niecza: review: http://github.com/sorear/niecza/commit/e​a7e7a705e5bc11fa31dc451cae775fa2834b8f1
08:11 dalek niecza: 2ceeaa4 | sorear++ | SAFE.setting:
08:11 dalek niecza: add List!item, fix List.iterator to not leak memory, other list tweaks
08:11 dalek niecza: review: http://github.com/sorear/niecza/commit/2​ceeaa40745c632c8a3d434e0c0dec1cb8e244cb
08:19 itz joined #perl6
08:22 cono rakudo: class E {has $.n is rw; has $.v is rw; method Str{~self.v}}; my E $x .= new(:v(1)); $x.n = E.new(:v(2)); (gather { my $i = $x; while $i.defined { take $i; $i = $i.n } }).join("|").say
08:22 p6eval rakudo 6d3258: OUTPUT«Any()|Any()␤»
08:22 cono is it a bug/
08:22 cono rakudo: class E {has $.n is rw; has $.v is rw; method Str{~self.v}}; my E $x .= new(:v(1)); $x.n = E.new(:v(2)); (gather { my $i = $x; while $i.defined { take $i; $i = $i.n } }).map({~$_}).join("|").say
08:22 p6eval rakudo 6d3258: OUTPUT«1|2␤»
08:23 pmichaud cono: yes, it's likely a bug.
08:23 pmichaud actually, I might be able to fix it easily now.
08:23 cono should I submit?
08:23 pmichaud sure... it's likely the take() bug.
08:27 sorear std: anon $x = 5;
08:27 p6eval std 31912: OUTPUT«ok 00:01 115m␤»
08:27 sorear std: my $x = 5;
08:27 p6eval std 31912: OUTPUT«ok 00:01 115m␤»
08:27 LaVolta is http post available in Perl 6 using modules?
08:27 sorear std: { my $x = 5; }
08:27 p6eval std 31912: OUTPUT«Potential difficulties:␤  $x is declared but not used at /tmp/mBUlN7RCQa line 1:␤------> [32m{ my $x[33m⏏[31m = 5; }[0m␤ok 00:01 115m␤»
08:27 sorear std: { anon $x = 5; }
08:27 p6eval std 31912: OUTPUT«ok 00:01 115m␤»
08:29 rcfox So, wait.
08:29 rcfox You guys are in Italy, but you're still on IRC? :P
08:30 foodoo joined #perl6
08:31 sorear rcfox: dude, the US isn't the only place with internet
08:31 cono :D
08:31 sorear US is actually one of the worst places for internet access, even in cities
08:32 rcfox sorear: I'm Canadian. :P
08:33 rcfox What I mean is, why aren't you out eating lots of Italian food, harassing the natives?
08:34 * rcfox forgot an "and" there...
08:34 mberends many of us did that to exhaustion last night ;)
08:34 rcfox Guh, my sleep schedule is not condusive
08:34 sorear Personally, I recommend not harrassing anybody in a non-native jurisdiction
08:34 rcfox conducive to coherence.
08:36 * rcfox has been doing 4 hours sleeping -> ~20 hours awake -> 3 hours sleeping -> 12 hours awake for the past few days.
08:36 rcfox Not even on purpose. :\
08:36 sorear right now, I think my sleep schedule could be used as a high-quality random bit source
08:37 sorear pity I don't actually need to generate new keypairs now.
08:37 mberends :)
08:38 rcfox Just talk into a pipe.
08:51 tadzik joined #perl6
08:52 jferrero joined #perl6
08:52 tadzik morning #perl6
08:53 cono tadzik: o/
08:54 cono rakudo: sub qwe {Nil}; qwe.defined.perl.say
08:54 p6eval rakudo 0e5edb: OUTPUT«Bool::True␤»
08:54 cono rakudo: sub qwe {my $x = 5; $x = Nil; $x}; qwe.defined.perl.say
08:54 p6eval rakudo 0e5edb: OUTPUT«Bool::False␤»
08:54 cono is it a bug?
08:55 sorear Nil changes when assigned to a scalar variable
08:55 sorear it's not a /bug/
08:55 sorear but it is very weird behavior which I don't understand the rationale for
08:56 cono changes to what?
08:57 rcfox rakudo: sub foo {0}; foo.defined.perl.say;
08:57 p6eval rakudo 0e5edb: OUTPUT«Bool::True␤»
08:57 rcfox Why should it matter if Nil changes?
08:57 rcfox The sub should still be defined.
08:57 rcfox rakudo: sub qwe {my $x = 5; $x = Nil; $x}; qwe();
08:57 cono result of sub
08:57 sorear the sub is defined
08:57 p6eval rakudo 0e5edb:  ( no output )
08:58 sorear you're not testing if the sub is defined
08:58 sorear rakudo: sub qwe {my $x = 5; $x = Nil; $x}; say qwe.WHAT
08:58 p6eval rakudo 0e5edb: OUTPUT«Any()␤»
08:58 sorear rakudo: sub qwe {my $x = 5; $x = Nil; $x}; say qwe.WHAT; say &qwe.WHAT;
08:58 p6eval rakudo 0e5edb: OUTPUT«Any()␤Sub()␤»
08:58 cono rakudo sub qwe { Nil }; qwe.WHAT.say
08:58 rcfox rakudo: sub foo {0}; say foo.WHAT;
08:58 p6eval rakudo 0e5edb: OUTPUT«Int()␤»
08:58 cono rakudo: sub qwe { Nil }; qwe.WHAT.say
08:59 p6eval rakudo 0e5edb: OUTPUT«Parcel()␤»
08:59 cono oO
08:59 rcfox p6eval: Needs to add the user's name in the reply. :P
08:59 cono rakudo: "ok".say
08:59 cono :)
08:59 p6eval rakudo 0e5edb: OUTPUT«ok␤»
09:00 rcfox rakudo: sub foo {0}; say foo.WHAT;
09:00 p6eval rakudo 0e5edb: OUTPUT«Int()␤»
09:00 Meg_ joined #perl6
09:00 rcfox rakudo: sub foo {0}; say &foo.WHAT;
09:00 p6eval rakudo 0e5edb: OUTPUT«Sub()␤»
09:01 rcfox rakudo: sub foo {0}; say foo;
09:01 p6eval rakudo 0e5edb: OUTPUT«0␤»
09:01 rcfox Ah.
09:02 rcfox rakudo: say Nil.WHAT;
09:02 p6eval rakudo 0e5edb: OUTPUT«Parcel()␤»
09:02 briang joined #perl6
09:02 rcfox rakudo: say Nil;
09:02 p6eval rakudo 0e5edb: OUTPUT«␤»
09:03 rcfox rakudo: my $a = Nil; say $a.WHAT;
09:03 cono I guess Nil == ()
09:03 p6eval rakudo 0e5edb: OUTPUT«Any()␤»
09:03 rcfox rakudo: my $a = Nil; say $a;
09:03 p6eval rakudo 0e5edb: OUTPUT«Any()␤»
09:03 rcfox :\
09:04 rcfox rakudo: say undef;
09:04 p6eval rakudo 0e5edb: OUTPUT«===SORRY!===␤Unsupported use of undef as a value; in Perl 6 please use something more specific:␤     Mu (the "most undefined" type object),␤   an undefined type object such as Int,␤    Nil as an empty list,␤    *.notdef as a matcher or method,␤ Any:U as a type constraint␤
09:04 p6eval .. or fail() as a failur…
09:04 jhuni joined #perl6
09:05 rcfox rakudo: say Mu;
09:05 p6eval rakudo 0e5edb: OUTPUT«Mu()␤»
09:05 rcfox rakudo: use MONKEY_TYPING; augment class Mu { method Str { "mew" }}; say Mu;
09:05 cono rakudo: Mu.new.defined.perl.say
09:06 p6eval rakudo 0e5edb: OUTPUT«Mu()␤»
09:06 p6eval rakudo 0e5edb: OUTPUT«Bool::True␤»
09:06 rcfox Oh, I didn't make an instance.
09:06 cono wyup
09:06 rcfox rakudo: use MONKEY_TYPING; augment class Mu { method Str { "mew" }}; say Mu.new;
09:06 p6eval rakudo 0e5edb: OUTPUT«mew␤»
09:06 rcfox :D
09:08 rcfox rakudo: use MONKEY_TYPING; augment class Block { method Num { self.() }}; my $a = {1+{1+{1+{1+{1}}}}}; say $a();
09:08 p6eval rakudo 0e5edb: OUTPUT«5␤»
09:09 sorear rcfox: It *should* have happened even for Mu
09:09 sorear but ... you're playing very deep in the bowels of rakudo now
09:09 rcfox sorear: Heh, okay then.
09:09 sorear and not everything works as it should
09:10 rcfox Wait, really?
09:10 rcfox It's a method.
09:10 rcfox Doesn't that require an instance?
09:10 tadzik http://stackoverflow.com/questions/3420700/​how-can-i-try-perl-6-without-installing-it
09:10 tadzik Is answering your own questions an usual habit on SO?
09:10 rcfox tadzik: I think there might even be a badge for it?
09:11 tadzik rcfox: maybe
09:11 sorear my @x = 1, 2 works in Niecza now
09:11 sorear \o/
09:11 tadzik yes there is
09:11 tadzik \o/
09:11 rcfox Haha
09:11 rcfox sorear: Nice. That's an important one. ;)
09:12 dalek niecza: 2ba29b2 | sorear++ | test2.pl:
09:12 dalek niecza: add List.push, Seq to array prototyping
09:12 dalek niecza: review: http://github.com/sorear/niecza/commit/2​ba29b2f1cc35899265ab29598c3b540e8361c34
09:12 dalek niecza: 241de60 | sorear++ |  (2 files):
09:12 dalek niecza: Add pop to arrays prototype
09:12 dalek niecza: review: http://github.com/sorear/niecza/commit/2​41de609b72236062e18a186b8cc558d3a778b24
09:12 dalek niecza: ddf23a6 | sorear++ |  (3 files):
09:12 dalek niecza: Implement list assignment and fold arrays back into the standard setting
09:12 dalek niecza: review: http://github.com/sorear/niecza/commit/d​df23a680bdee7e0c52f232a2c7a423a4e54437a
09:12 rcfox Man, Rakudo Star came out at the worst time possible.
09:12 rcfox Right before my exams started!
09:13 sorear The important thing now is @x[0]
09:13 sorear And, worse, @x[2][0]
09:14 sorear autovivification and postcircumfix operators
09:14 sorear niecza: say$?ORIG; # Perl6 quine
09:14 p6eval niecza d274387: OUTPUT«[31m===[0mSORRY![31m===[0m␤Two terms in a row at /tmp/aZ_PPMv6tK line 1:␤------> [32msay[33m⏏[31m$?ORIG; # Perl6 quine[0m␤    expecting any of:␤  POST␤   argument list␤      bracketed infix␤  infix or meta-infix␤      postfix␤        postfix_prefix_meta_operator␤
09:14 p6eval .. statement modifier loop␤Other p…
09:14 sorear niecza: say $?ORIG; # Perl6 quine
09:15 p6eval niecza d274387: OUTPUT«say $?ORIG; # Perl6 quine␤␤»
09:15 rcfox Should it have said the comment?
09:16 sorear yes
09:19 clintongormley joined #perl6
09:20 sorear rakudo: say 2<3>;
09:20 p6eval rakudo 0e5edb:  ( no output )
09:20 sorear rakudo: use fatal; say 2<3>;
09:20 p6eval rakudo 0e5edb: OUTPUT«postcircumfix:<> not defined for type Int()␤  in 'Any::at_key' at line 1␤  in 'Any::postcircumfix:<{ }>' at line 1696:CORE.setting␤  in main program body at line 1␤»
09:20 sorear tiny bug there
09:21 sorear fail "postcircumfix:<{ }> not defined for type {self.WHAT}"
09:21 rcfox ?
09:21 sorear rcfox: see source line and printed error
09:22 rcfox Oh, heh.
09:27 cosimo rakudo: my $x = "lalalal \$4"; say $x;
09:27 p6eval rakudo 0e5edb: OUTPUT«lalalal $4␤»
09:28 meppl joined #perl6
09:28 cosimo rakudo: my $ns='8.8.8.8'; my $cmd = "host files.geo.myopera.com $ns | grep ^files | awk '{ print \$4 }'"; say $cmd;
09:28 p6eval rakudo 0e5edb: OUTPUT«Capture()<0x75141d0>host files.geo.myopera.com 8.8.8.8 | grep ^files | awk '1'␤»
09:28 snearch joined #perl6
09:28 cosimo aah, now i understand :)
09:28 cosimo rakudo: my $ns='8.8.8.8'; my $cmd = "host files.geo.myopera.com $ns | grep ^files | awk '\{ print \$4 \}'"; say $cmd;
09:28 p6eval rakudo 0e5edb: OUTPUT«host files.geo.myopera.com 8.8.8.8 | grep ^files | awk '{ print $4 }'␤»
09:29 cosimo i have to quote the '{' and '}' chars...
09:29 rcfox Strange...
09:30 sorear just use single quotes
09:30 rcfox Oh, right, there's block interpolation now.
09:30 sorear it's also specced possible to say q:s'foo' for only scalar interpolation
09:30 sorear and generally allowing you to pick and choose what you want interpolated
09:31 sorear qq:!c"no { code interp"
09:31 sorear but rakudo doesn't do that yet
09:33 Alias joined #perl6
09:47 thebird joined #perl6
09:49 envi^home joined #perl6
09:57 uniejo joined #perl6
10:00 vcrini joined #perl6
10:07 pmurias joined #perl6
10:08 sorear it is beginning to strike me as odd that there is only one type of scalar container in the specs
10:09 pmurias sorear: there is Proxy
10:09 phenny pmurias: 03:54Z <sorear> ask pmurias How do I test STD-CPAN builds after altering STD?  Would it be possible for me to get a CPAN comaint bit?
10:09 snarkyboojum I thought Proxy was going away
10:09 bbkr is there any URI class for P6? i remember that there was nice grammar for it but I cannot find it now on GitHub.
10:10 pmurias sorear: i'll give you the STD comaint ASAP
10:11 pmurias sorear: dzil build builds the CPAN dist, Dist-Zilla-Plugin-STD found in v6/ needs to be installed for that
10:11 cono Where I can find join method definition for List class?
10:11 muixirt joined #perl6
10:12 tadzik bbkr: there is
10:12 tadzik http://github.com/ihrd/uri/
10:12 tadzik not sure it works though
10:12 pmurias sorear: STD on CPAN doesn't include any tests right now
10:12 tadzik fails tests for me
10:13 pmurias sorear: but some sort of testing would be nice to have
10:13 bbkr tadzik: dziekuje
10:13 tadzik bbkr: proszę. Forkuję że poprawić te failujące testy
10:13 dalek niecza: 14b2b77 | sorear++ |  (2 files):
10:13 dalek niecza: Add a field to lvalues to hold WHENCE data
10:13 dalek niecza: review: http://github.com/sorear/niecza/commit/1​4b2b774deaa76cd213de332e4f60088cb7154f6
10:13 tadzik s/że/żeby/
10:14 sorear pmurias: any particular reason the STD dist has its own independant version numbers instead of just using svn ref?
10:14 pmurias didn't think of using those
10:15 sorear ok
10:15 * sorear -> sleep
10:23 timbunce joined #perl6
10:26 tadzik bbkr: I fixed some things, but not all of them
10:27 Mowah joined #perl6
10:27 rgrau joined #perl6
10:31 tadzik bbkr: alright, URI::Escape fails, but rest is fine
10:31 bbkr tadzik: awesome
10:35 tadzik http://github.com/tadzik/uri
10:35 tadzik bbkr: ↑
10:38 Italian_Plumber joined #perl6
10:41 bbkr tadzik: thanks. currently i borrowed only grammars. I'm developing HTTP::Request/Response and i'll switch to URI when interface will be stable.
10:42 redicaps joined #perl6
10:49 zby can i check if a class was declared by some package?
10:50 zby or rather defined
10:56 ktne joined #perl6
11:21 uniejo joined #perl6
11:23 sorear zby: elaborate?
11:25 cognominal joined #perl6
11:28 shade__ joined #perl6
11:43 x3nU https://gist.github.com/3bc99d33749763cdb4a4
11:43 x3nU why it don't work?
11:43 x3nU gives me
11:43 x3nU ===SORRY!===
11:43 x3nU Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 4
11:43 x3nU sorry
11:43 x3nU gives
11:43 x3nU ===SORRY!===
11:43 x3nU Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 2
11:44 cono x3nU: try to delete :i
11:45 x3nU yeah, then it will work
11:45 x3nU but
11:45 x3nU i want case insensitive matching
11:45 cono I think not implemented yet
11:47 frettled rakudo: my $s = "fOO"; if ($s ~~ m:i/o/) { say "yay"; }
11:47 p6eval rakudo 0e5edb: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
11:48 frettled rakudo: my $s = "fOO"; if ($s ~~ m:samecase/o/) { say "yay"; }
11:48 p6eval rakudo 0e5edb: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
11:51 TiMBuS rakudo: my $a; push $a, 1, 2
11:51 p6eval rakudo 0e5edb: OUTPUT«Method '!fill' not found for invocant of class ''␤  in 'List::push' at line 2609:CORE.setting␤  in main program body at line 22:/tmp/Etsz_aDRT8␤»
11:52 frettled rakudo: my $a; push $a, 1;
11:52 p6eval rakudo 0e5edb: OUTPUT«Method '!fill' not found for invocant of class ''␤  in 'List::push' at line 2609:CORE.setting␤  in main program body at line 22:/tmp/1ql3G6yiep␤»
11:52 zby sorear - I would like to check if SomeClass is available - so that I could call it, for example by doing SomeClass.new
11:53 mberends joined #perl6
11:53 tadzik zby: how about try {}?
11:54 zby I guess that could work - but this would not be direct - I mean SomeClass.new can fail in many ways
11:56 zby and also I would need to redo SomeClass.new after loading it
11:58 tadzik well, you can always check $! to see what failed
12:01 masak joined #perl6
12:01 masak lol talks done
12:01 tadzik I hope you didn't forgot to panic?
12:01 masak during the talk, I felt strangely serene.
12:02 masak I should panic a bit later today and work a bit on GSoC. but right now I'm having a break from the panic.
12:02 tadzik mind showing slides or something?
12:03 masak sure thing.
12:03 masak just a moment.
12:08 zby Hmm - then maybe I'll ask it this way - is there an analogue for %INC from Perl 5?
12:09 frettled rakudo: say @*INC
12:09 p6eval rakudo 0e5edb: OUTPUT«lib/home/p6eval/.perl6/lib/home/p6eval//p​2/lib/parrot/2.6.0-devel/languages/perl6/lib.␤»
12:09 frettled rakudo: say @*INC.perl
12:09 p6eval rakudo 0e5edb: OUTPUT«["lib", "/home/p6eval/.perl6/lib", "/home/p6eval//p2/lib/parrot/2.​6.0-devel/languages/perl6/lib", "."]␤»
12:10 zby as I understand this one is an array - %INC is a hash
12:10 azert0x joined #perl6
12:11 zby rakudo say %INC.perl
12:11 zby rakudo: say %INC.perl
12:11 cono undef
12:11 p6eval rakudo 0e5edb: OUTPUT«===SORRY!===␤Symbol '%INC' not predeclared in <anonymous> (/tmp/n_xksr9B7F:22)␤»
12:11 frettled zby: I may be a bit lost, but I didn't know there was a hash in Perl 5 for that, only the list @INC.
12:11 masak tadzik: bottom of http://feather.perl6.nl/~masak/
12:11 * frettled doesn't usually fiddle with INC.
12:12 zby well - I would just expect that there is a way to check if something is loaded without trying to call it
12:12 masak from S28: 218: %INC                %*INC (maybe, if needed)
12:12 cono not implemented
12:12 zby in Perl 5 you can inspect %INC
12:12 tadzik masak: thanks, will see
12:13 zby which is not very convenient - but there are modules that make it easier
12:13 frettled zby: aha, now I see, it has something in it when a module is loaded.
12:13 frettled masak++
12:14 takadonet morning all
12:15 masak takadonet: \o
12:20 pmurias joined #perl6
12:20 frettled masak: I think I got the gist of it.
12:20 masak \o/
12:21 cono Where can I find join implementation for List?
12:21 masak brian_d_foy++ # http://blogs.perl.org/users/brian_d_foy​/2010/08/how-to-write-about-perl-6.html
12:21 cono read already
12:21 masak cono: src/core/Any-list.pm
12:22 cono thanks
12:22 masak brian's post reminds me of jnthn++'s talk. it was great in the respects he mentions.
12:24 pmurias masak: i figured out how to implement {use v5;...}
12:25 TiMBuS should 'push' turn its first argument into a list if it's uninitialized Any?
12:25 masak pmurias: \o/
12:25 masak pmurias: how?
12:26 masak TiMBuS: yes.
12:26 masak rakudo: my $a; $a.push(1, 2, 3); say $a.perl
12:26 p6eval rakudo 0e5edb: OUTPUT«Method 'push' not found for invocant of class ''␤  in main program body at line 22:/tmp/vXfWeeB8Z7␤»
12:27 masak rakudo: my %h; %h<foo>.push(1, 2, 3); say %h.perl
12:28 p6eval rakudo 0e5edb: OUTPUT«Method 'push' not found for invocant of class ''␤  in main program body at line 22:/tmp/pgxLr6lZNp␤»
12:28 pmurias B::Hooks::EndOfScope + inserting __END__ with some XS
12:30 masak rakudo: say Nil.defined
12:30 p6eval rakudo 0e5edb: OUTPUT«1␤»
12:30 timbunce joined #perl6
12:31 cono masak: look
12:31 cono rakudo: sub q { Nil }; q.defined.perl.say
12:31 zby Hmm -  OK so there is no %*INC yet - but still I would think there should be some way to check if a module (or class) is loaded without calling it?
12:31 p6eval rakudo 0e5edb: OUTPUT«===SORRY!===␤Confused at line 22, near "q.defined."␤»
12:31 masak cono: anything but 'q' :)
12:31 cono rakudo: sub qwe { my $x = 5; $x = Nil; $x }; qwe.defined.perl.say
12:31 p6eval rakudo 0e5edb: OUTPUT«Bool::False␤»
12:31 cono rakudo: sub qwe { Nil }; qwe.defined.perl.say
12:31 p6eval rakudo 0e5edb: OUTPUT«Bool::True␤»
12:31 cono :)
12:31 frettled masak: Regarding the 8-queen problem; have you tried solving the problem generally, that is the N-queen problem?
12:32 masak cono: there you're doing assignment.
12:32 cono masak: yup
12:32 masak cono: as soon as you assign Nil to something, it turns into the Appropriate undefined value.
12:32 cono masak: how to proper undefined the value?
12:32 cono rakudo: $x = undef;
12:33 p6eval rakudo 0e5edb: OUTPUT«===SORRY!===␤Unsupported use of undef as a value; in Perl 6 please use something more specific:␤     Mu (the "most undefined" type object),␤   an undefined type object such as Int,␤    Nil as an empty list,␤    *.notdef as a matcher or method,␤ Any:U as a type constraint␤
12:33 p6eval .. or fail() as a failur…
12:34 masak cono: well, that's how you do it. $x = Nil (or $x = ())
12:35 cono rakudo: my $x = 5; undef $x; $x.defined.perl.say
12:35 p6eval rakudo 0e5edb: OUTPUT«===SORRY!===␤Unsupported use of undef as a verb; in Perl 6 please use undefine function or assignment of Nil at line 22, near " $x; $x.de"␤»
12:35 cono rakudo: my $x = 5; undefine $x; $x.defined.perl.say
12:35 p6eval rakudo 0e5edb: OUTPUT«Bool::False␤»
12:44 Holy_Cow joined #perl6
12:45 squeeky pmichaud++ # Thanks, this'll keep me busy
12:53 drbean joined #perl6
12:56 [Coke] phenny, tell pmichaud you can adjust the max recursion depth from PIR. want the code?
12:56 phenny [Coke]: I'll pass that on when pmichaud is around.
12:57 Lasse_ joined #perl6
13:05 widders joined #perl6
13:12 snarkyboojum left #perl6
13:12 snarkyboojum joined #perl6
13:12 snarkyboojum left #perl6
13:13 snarkyboojum joined #perl6
13:14 * [Coke] assumes people here have seen: http://blogs.perl.org/users/brian_d_foy​/2010/08/how-to-write-about-perl-6.html
13:15 * takadonet nods
13:15 PerlJam [Coke]: not I.  Thanks  :)
13:20 PerlJam bdf++
13:21 frettled Me neither, but looking at it now, thanks [Coke]!
13:21 gfldex std: role foo { has Rule $.matcher; };
13:21 p6eval std 31912: OUTPUT«[31m===[0mSORRY![31m===[0m␤In has declaration, typename 'Rule' must be predeclared (or marked as declarative with :: prefix) at /tmp/6heHW_hGPj line 1:␤------> [32mrole foo { has Rule[33m⏏[31m $.matcher; };[0m␤Malformed has at /tmp/6heHW_hGPj line 1:␤------> [32mrole foo
13:21 p6eval ..{…
13:22 gfldex std: role foo { has rule $.matcher; };
13:22 p6eval std 31912: OUTPUT«[31m===[0mSORRY![31m===[0m␤Malformed block at /tmp/Pm98LErGtC line 1:␤------> [32mrole foo { has rule [33m⏏[31m$.matcher; };[0m␤    expecting any of:␤ name␤   regex_def␤ trait␤Parse failed␤FAILED 00:01 112m␤»
13:22 gfldex rakudo: my rule foo { \{ }; foo.WHAT.say;
13:22 p6eval rakudo 0e5edb: OUTPUT«Not enough positional parameters passed; got 0 but expected 1␤  in 'foo' at line 2:/tmp/Ks4S0XB0iN␤  in main program body at line 22:/tmp/Ks4S0XB0iN␤»
13:23 gfldex rakudo: my rule foo { \{ }; say foo.WHAT;
13:23 p6eval rakudo 0e5edb: OUTPUT«Not enough positional parameters passed; got 0 but expected 1␤  in 'foo' at line 2:/tmp/cVg7iTdtYb␤  in main program body at line 22:/tmp/cVg7iTdtYb␤»
13:23 gfldex rakudo: my rule foo { \{ }; say /<foo>/.WHAT;
13:23 p6eval rakudo 0e5edb: OUTPUT«Regex()␤»
13:25 frettled PerlJam: I concur, bdf++
13:26 uniejo joined #perl6
13:31 jaldhar joined #perl6
13:32 rindolf joined #perl6
13:32 molaf joined #perl6
13:36 macroron joined #perl6
13:36 ruoso joined #perl6
13:41 lmistura joined #perl6
13:45 clintongormley joined #perl6
13:47 patspam joined #perl6
13:57 perimosocordiae joined #perl6
14:02 bbkr rakudo: (+"1").WHAT.say # is that a bug? IMO should be Int
14:02 p6eval rakudo 0e5edb: OUTPUT«Num()␤»
14:04 uniejo rakudo: BEGIN {push @*INC, "..";}
14:04 p6eval rakudo 0e5edb: OUTPUT«===SORRY!===␤Could not find sub &push␤»
14:06 uniejo rakudo: BEGIN {@*INC.push("..");}
14:06 p6eval rakudo 0e5edb:  ( no output )
14:08 PerlJam bbkr: How is perl to know?
14:11 bbkr PerlJam: probably same as "say 0.0" prints "0" - Num can be narrowed to Int
14:13 PerlJam bbkr: but, it does look like a bug.  From the spec regarding prefix:<+> ... "For values that do not already do the C<Numeric> role, the narrowest appropriate type of C<Int>, C<Rat>, C<Num>, or C<Complex> will be returned"
14:13 PerlJam rakudo:  (+"5i").WHAT.say
14:14 p6eval rakudo 0e5edb: OUTPUT«Num()␤»
14:14 PerlJam rakudo:  (+5i).WHAT.say
14:14 p6eval rakudo 0e5edb: OUTPUT«Complex()␤»
14:14 PerlJam (just checking :)
14:15 LaVolta joined #perl6
14:15 mberends joined #perl6
14:16 bbkr PerlJam: lack of narrowing can bite. I found it while I was parsing URI and passing to Socket::INET port as +$/<port>. and it took me a while to find that :) I'll report this lack of narrowing. thanks for spec quote.
14:18 PerlJam rakudo: (+"2/5").WHAT.say  # broken t oo
14:18 p6eval rakudo 0e5edb: OUTPUT«Num()␤»
14:24 bbkr PerlJam: also added to ticket: http://rt.perl.org/rt3/Tic​ket/Display.html?id=77044
14:24 wamba joined #perl6
14:28 bbkr http://rt.perl.org/rt3/Tic​ket/Display.html?id=62622 - I just fount that something similiar was reported a year ago :)
14:28 bbkr found*
14:32 pmurias joined #perl6
14:32 pmurias ruoso: hi
14:35 jerome_ joined #perl6
14:39 patrickas joined #perl6
14:45 ruoso hi pmurias
14:45 ruoso today is soft pencils-down
14:45 cosimo rakudo: say 0.0, 0.1, 0.2, ..., 1.0;
14:45 p6eval rakudo 0e5edb: OUTPUT«===SORRY!===␤Comma found before apparent series operator; please remove comma (or put parens␤    around the ... listop, or use 'fail' instead of ...) at line 22, near " ..., 1.0;"␤»
14:45 cosimo rakudo: say 0.0, 0.1, 0.2 ... 1.0;
14:45 p6eval rakudo 0e5edb: OUTPUT«00.10.20.30.40.50.60.70.80.91␤»
14:46 cosimo rakudo: say (0.0, 0.1, 0.2 ... 1.0).perl;
14:46 p6eval rakudo 0e5edb: OUTPUT«(0/1, 1/10, 1/5, 3/10, 2/5, 1/2, 3/5, 7/10, 4/5, 9/10, 1/1)␤»
14:46 foodoo cool :)
14:47 cosimo whatthe... this is highly magical stuff! :-)
14:47 cosimo rakudo: say (0.0, 0.1, 0.2 ... 1.0);
14:47 p6eval rakudo 0e5edb: OUTPUT«00.10.20.30.40.50.60.70.80.91␤»
14:48 cosimo rakudo: say (0.0, 0.1, 0.2 ... 1.0).join(' ');
14:48 p6eval rakudo 0e5edb: OUTPUT«0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1␤»
14:48 perimosocordiae rakudo: say ~(0.0, 0.1, 0.2 ... 1.0);
14:48 p6eval rakudo 0e5edb: OUTPUT«0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1␤»
14:48 foodoo rakudo: say (0.0, 0.1, 0.2 ... 1.0).perl.join( ' ' );
14:49 p6eval rakudo 0e5edb: OUTPUT«(0/1, 1/10, 1/5, 3/10, 2/5, 1/2, 3/5, 7/10, 4/5, 9/10, 1/1)␤»
14:49 frettled rakudo: say (0.1, 0.3 ... 2.7).join(', ');
14:49 p6eval rakudo 0e5edb: OUTPUT«0.1, 0.3, 0.5, 0.7, 0.9, 1.1, 1.3, 1.5, 1.7, 1.9, 2.1, 2.3, 2.5, 2.7␤»
14:50 frettled rakudo: say (0.1, 0.3, 0.9 ... 2.7).join(', ');
14:50 p6eval rakudo 0e5edb: OUTPUT«0.1, 0.3, 0.9, 2.7␤»
14:50 kiithroen joined #perl6
14:50 frettled rakudo: say (0.1, 0.3, 0.9 ... 24.3).join(', ');
14:50 p6eval rakudo 0e5edb: OUTPUT«0.1, 0.3, 0.9, 2.7, 8.1, 24.3␤»
14:50 frettled cosimo: isn't that cute magic?
14:51 cosimo frettled: it's amazing, seriously
14:52 PerlJam Perl 6 is designed to be amazing :)
14:52 [Coke] pmichaud++
14:53 foodoo I really need to do more hands on work with perl6. If only my timetable allowed me to :-/
14:55 foodoo rakudo: say ~("a".."z");
14:55 p6eval rakudo 0e5edb: OUTPUT«a b c d e f g h i j k l m n o p q r s t u v w x y z␤»
14:55 foodoo rakudo: say ~("a".."Z");
14:56 p6eval rakudo 0e5edb: OUTPUT«␤»
14:56 foodoo rakudo: say ~("A".."z");
14:56 p6eval rakudo 0e5edb:  ( no output )
14:56 foodoo rakudo: say ~("A".."Z", "a", "z");
14:56 p6eval rakudo 0e5edb: OUTPUT«A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a z␤»
14:57 foodoo rakudo: say ~("A".."Z", "a".. "z");
14:57 p6eval rakudo 0e5edb: OUTPUT«A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z␤»
14:57 PerlJam rakudo: say "Z".succ;
14:57 foodoo is there any difference between .. and ... ?
14:57 p6eval rakudo 0e5edb: OUTPUT«AA␤»
14:57 PerlJam foodoo: yes
14:57 cosimo foodoo: I started coding those little scripts that come up everyday in perl6 instead of perl5
14:58 cosimo right now, I'm running a small simulation to find out how to balance our data centers bandwidth usage while trying to minimize latency across the planet
14:59 cosimo i'm so having fun
14:59 rokoteko rakudo: ~(1/2).WHICH.WHAT
14:59 p6eval rakudo 0e5edb:  ( no output )
14:59 rokoteko rakudo: say ~(1/2).WHICH.WHAT
14:59 p6eval rakudo 0e5edb: OUTPUT«Int()␤»
15:00 foodoo cosimo: Thanks for the advice. Perl is certainly a good replacement for shell scripting
15:00 rokoteko .. how to get this to return ObjAt() ?
15:00 rokoteko � obviously misunderstood something again. :)
15:00 * [Coke] needs to fix the REPL dying on a SORRY.
15:01 [Coke] rokoteko: ObjAT?
15:01 cosimo foodoo: i didn't want to say that, but... your choice
15:01 rokoteko [Coke]: S02: 'So WHICH still returns a value rather than another object, but that value must be of a special ObjAt type that prevents accidental confusion with normal value types, and at least discourages trivial pointer arithmetic.'
15:01 foodoo it's okay
15:02 PerlJam rokoteko: NYI
15:02 rokoteko Not Yet Implemented?
15:02 [Coke] hai.
15:03 LaVolta need to ask a dumb question
15:03 rokoteko ok. So it's not *me* that is lost in perl6. :) Thanks again.
15:03 PerlJam rakudo: my $a = 5;  say $a.WHERE; say $a.WHICH;
15:03 p6eval rakudo 0e5edb: OUTPUT«144828384␤5␤»
15:04 LaVolta "sub b { ... return \@a; }" what will b's caller get? a reference?
15:04 [Coke] LaVolta: better to just ask it. =-)
15:04 PerlJam rakudo: class C {}; my $a = C.new; say $a.WHERE; say $a.WHICH;
15:04 LaVolta I guess \ in p6 doesn't mean that
15:04 p6eval rakudo 0e5edb: OUTPUT«113019216␤113019216␤»
15:05 PerlJam (I had forgotten briefly that value types return their value as their identity)
15:05 LaVolta context: I'm  reading through LWP::Simple.pm6
15:06 LaVolta method parse_response()
15:06 frettled rakudo: sub b { my @a = 1,2,3; @a; }; my $x = b; $x.WHAT.say;
15:06 p6eval rakudo 0e5edb: OUTPUT«Array()␤»
15:07 frettled LaVolta: does that example do something similar to what you want?
15:08 LaVolta frettled:  add a '\' in front of @a...
15:08 frettled LaVolta: why?
15:08 PerlJam LaVolta: \@a turns @a into a Capture.
15:08 LaVolta interesting...i forget about .WHAT
15:08 frettled rakudo: sub b { my @a = 1,2,3; @a; }; my $x = b; $x[1].say;
15:08 p6eval rakudo 0e5edb: OUTPUT«2␤»
15:09 frettled rakudo: sub b { my @a = 1,2,3; @a; }; my $x = b; my @y = $x,4,5; @y.perl.say;
15:09 p6eval rakudo 0e5edb: OUTPUT«[[1, 2, 3], 4, 5]␤»
15:09 frettled rakudo: sub b { my @a = 1,2,3; @a; }; my $x = b; my @z = b; my @y = $x,4,5,@z; @y.perl.say;
15:10 p6eval rakudo 0e5edb: OUTPUT«[[1, 2, 3], 4, 5, 1, 2, 3]␤»
15:10 LaVolta i am reading through the module, then came across this line: ' return $status_line, \%header, \@content;'
15:11 LaVolta just wondering what the '\'s are used for
15:11 TiMBuS i think refs? like perl 5
15:11 PerlJam Perl 6 doesn't have references.
15:12 TiMBuS if it uses % or @ it will copy tho
15:12 TiMBuS wait no it wont
15:13 TiMBuS i am confused now. ive seen it used in rakudo internals and i just never really thought about it
15:16 rokoteko PerlJam: no references? what for are the dereference ops for then?
15:16 rokoteko rakudo: my @arr = <a b c>; my $x := @arr; say list $x ~ "/" ~ @($x)
15:16 p6eval rakudo 0e5edb: OUTPUT«a b c/a b c␤»
15:16 PerlJam rokoteko: that's not a dereference op
15:17 PerlJam rakudo: my @arr = <a b c>; my $x := @arr; say list $x ~ "/" ~ $x.list
15:17 p6eval rakudo 0e5edb: OUTPUT«a b c/a b c␤»
15:18 rokoteko S03: "Perl 5's ${...}, @{...}, %{...}, etc. dereferencing forms are now $(...), @(...), %(...), etc. instead."  .. can you please elaborate? Im not understanding something.
15:19 ashleydev joined #perl6
15:20 PerlJam rokoteko: @($x) is more like "give me the list view of $x"   If $x is a capture (it doesn't have to be), you get just the listy bits of the capture and the hashy bits are ignored.  (for instance)
15:20 PerlJam rakudo:  say @(1,2,3);
15:20 p6eval rakudo 0e5edb: OUTPUT«123␤»
15:20 PerlJam rakudo:  my $blah = 7; say @($blah);
15:21 p6eval rakudo 0e5edb: OUTPUT«7␤»
15:21 PerlJam and also ...
15:21 rokoteko PerlJam: what does dereference mean in perl6 then if there are no references? .. confused.
15:21 PerlJam rakudo: my %h = "a" => 6, "z" => 5; say @(%h);
15:21 p6eval rakudo 0e5edb: OUTPUT«z  5a      6␤»
15:22 [Coke] rakudo: my %h = "a" => 6, "z" => 5; say @%h;
15:22 PerlJam rokoteko: nothing.  I think that text is slightly fossilized.
15:22 p6eval rakudo 0e5edb: OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name at line 22, near "@%h;"␤»
15:22 TiMBuS to explain further, %($a) is exactly equal to $a.hash. @($a) is $a.list, etc
15:22 LaVolta oh....I remember that, me myself or someone else asked once, and TimToady said @$x is a shorthand for @($x)
15:22 rokoteko PerlJam: ahh. ok. Im reading this from perlcabal.org, anything more current available?
15:22 M_o_C joined #perl6
15:22 [Coke] rokoteko: if you're reading the SYN, that's the up-to-date-est.
15:23 [Coke] ... but that doesn't mean it doesn't contain fossils.
15:23 ashleydev_ joined #perl6
15:24 * LaVolta is trying to grok S02 again and again...
15:26 Axius joined #perl6
15:26 PerlJam A quick ack of the synopses shows it talking about dereferencing using prefix |, postfix .(), and circumfix $()
15:26 PerlJam I think the language just needs a little cleaning perhaps
15:27 PerlJam (or reference/dereference needs some good definition)
15:30 frettled PerlJam: Slightly bugrep-like material, more of a ToDo, really, since it probably needs a bit of discussion, maybe on p6l?
15:37 rokoteko ahh. think I found it in S02.
15:37 rokoteko 'Parcel and Capture objects fill the ecological niche of references in Perl 6. You can think of them as "fat" references, that is, references that can capture not only the current identity of a single object, but also the relative identities of several related objects. Conversely, you can think of Perl 5 references as a degenerate form of Capture when you want to refer only to a single item.'
15:38 rokoteko rakudo: my @arr = <a 1 b 2 c 3>; my %hash = "a" => 1, "b" => 2; my $x := @arr; say @($x).perl ~ "/" ~ %($x).perl
15:38 p6eval rakudo 0e5edb: OUTPUT«["a", "1", "b", "2", "c", "3"]/{"a" => "1", "b" => "2", "c" => "3"}␤»
15:38 rokoteko .. this would fail in perl5 as perl5 refs can only contain a reference to a hash or to an arr. not to both.
15:42 TiMBuS but that $x only refers an array. you converted it to a hash
15:42 frettled rokoteko: well, uhm
15:42 rokoteko rakudo: my %hash = "a" => 1, "b" => 2; my $x := %hash; say @($x).perl ~ "/" ~ %($x).perl
15:42 p6eval rakudo 0e5edb: OUTPUT«Method 'hash' not found for invocant of class ''␤  in main program body at line 22:/tmp/4sWfLithMd␤»
15:43 frettled rokoteko: in Perl 5, you'd do: my %h = @{$x}; # viola, a hash
15:43 TiMBuS rakudo: my $x = [1,2,3,4,5,6]; %($x).perl.say
15:43 p6eval rakudo 0e5edb: OUTPUT«{"5" => 6, "1" => 2, "3" => 4}␤»
15:44 rokoteko Hmm. Ok. I trust you all. It's probably just "wrong" terms used in the SYNs then. thanks all. Ill try to digest this.
15:45 TiMBuS is it better to say everything is a reference?
15:46 TiMBuS rakudo: my $x = [1,2,3,4,5,6]; my $z = $x; $x[2] = 'blah'; $z.perl.say
15:46 p6eval rakudo 0e5edb: OUTPUT«[1, 2, "blah", 4, 5, 6]␤»
15:46 rokoteko TiMBuS: obviously not, since this far Ive been told there are no references in perl6. I was just wondering the usage of the word "derefence" in S02 and S03 .. (havent gotten very far in the syns yet) :)
15:46 rokoteko *dereference
15:47 Mowah joined #perl6
15:48 LaVolta may I understand Capture this way: it 'captures' a value, and later might be cast into other types
15:48 frettled rokoteko: P5 example, BTW: http://nopaste.snit.ch/22591
15:48 frettled Perhaps a better word would be «decapture», but that sounds just weird.  Discapture?  Uncapture?
15:49 LaVolta joined #perl6
15:49 tom_tsuruhara joined #perl6
15:49 rokoteko frettled: thank you. fortunately I already understands bits of perl5 works. :)
15:50 LaVolta thank you for your uncountable help
15:50 desertm4x joined #perl6
15:50 timbunce joined #perl6
15:52 rokoteko p6eval rakudo: my $arr = [<a 1 b 2>]; my %hash = %($arr); say %hash.perl
15:52 p6eval rokoteko: rakudo 0e5edb: OUTPUT«{"a" => "1", "b" => "2"}␤»
15:52 rokoteko seems to work in a smiliar fashion.
15:53 rokoteko actually just an hour earlier I thought you had to say:
15:53 rokoteko p6eval rakudo: my $arr = [<a 1 b 2>]; my %hash := $arr; say %hash.perl
15:53 p6eval rokoteko: rakudo 0e5edb: OUTPUT«["a", "1", "b", "2"]␤»
15:54 rokoteko ahh. but that is different.
15:54 uniejo_ joined #perl6
15:55 rokoteko rakudo: my $arr = [<a 1 b 2>]; my %hash := %($arr); say %hash.perl
15:55 p6eval rakudo 0e5edb: OUTPUT«{"a" => "1", "b" => "2"}␤»
15:55 uniejo_ joined #perl6
15:57 uniejo_ joined #perl6
15:57 rokoteko also my %hash := $arr.hash; ... but I kinda prefer the %($arr) to $arr.hash  as the former obviously reduces my cognitive load as a programmer.
15:57 uniejo joined #perl6
15:58 * LaVolta says bye-bye to #perl6, see you tomorrow :)
15:58 briang left #perl6
16:00 robert3t joined #perl6
16:00 perimosocordiae rokoteko: the sigil-y version only reduces the load if you're a perl5'er. Rubyists would much prefer $arr.hash
16:00 pmurias ruoso: isn't the soft pencil down date one the 9th?
16:00 pmurias s/one/on/
16:05 rokoteko hugme: hug perimosocordiae
16:05 * hugme hugs perimosocordiae
16:07 rokoteko perimosocordiae: very nice to hear that rubyists might also be interested of perl6. :)
16:09 perimosocordiae rokoteko: of course! I think of perl6 as the lovechild of perl5, ruby, and haskell
16:09 pmurias ruoso: see http://github.com/pmurias/Devel-EvalFragment
16:09 rokoteko perimosocordiae: :)
16:09 perimosocordiae (don't ask me how all three got in there;-))
16:09 diakopter pmurias: yes; the 9th
16:10 pmurias diakopter: hi
16:11 * pmurias just wrote the module that can make determin where a {use v5;...} ends
16:13 Exodist does perl6 still require a file to end with a true value?
16:13 pyrimidine joined #perl6
16:13 Exodist (ala perl5)
16:13 pmurias Exodist: no
16:13 Exodist :-D
16:15 takadonet Exodist: best reason to switch
16:15 Exodist heh
16:20 pyrimidine that, and signatures
16:20 pyrimidine and grammars
16:20 pyrimidine and etc etc etc etc
16:23 tadzik joined #perl6
16:23 risou joined #perl6
16:23 justatheory joined #perl6
16:25 tadzik is there a better way to check if a module is installed than try {'use Module'} ?
16:25 tadzik I wonder if that's how CPAN does this
16:25 tadzik (cpan, the client)
16:28 zby is 'use' execution time in Perl6?
16:29 tadzik what do you mean?
16:29 zby in Perl5 use is compile time
16:29 zby so try { use Module }
16:29 tadzik hmm, right
16:29 zby would not work because it would be executed before the interpreter gets to try
16:30 Exodist zby, try{ require Module }
16:30 tadzik how about require?
16:30 tadzik oh, ok :)
16:30 tadzik Exodist: it's me who has to try :)
16:30 zby yeah - I've seen that require is on the list of functions
16:30 Exodist use also has other consequences you don,t want (in p5 at least, not sure on perl6)
16:30 tadzik import
16:30 zby I am also waiting for documentation for require
16:31 zby like for example the failure modes
16:31 zby i.e. file not found
16:31 zby and does not compile
16:31 Exodist p6 still has use = BEGIN { require + import() } ?
16:31 tadzik no idea
16:31 jaldhar joined #perl6
16:31 Exodist as opposed to some other magic
16:32 zby tadzik - if you find out about that - please pass the knowledge
16:32 tadzik I'm tempted to write some proper dependency management for neutro. Like when you install a module with loads of deps and then remove it, it can remove all the unneeded dependencies
16:33 Exodist hmm, I wonder if use/require errors are a standard, or implementation dependant?
16:33 tadzik but that isn't easy in terms of many module installers, and I wonder if anyone cares anyway
16:33 tadzik zby: sure
16:33 tadzik zby: are Synopsis still "to be continued"?
16:34 jaldhar joined #perl6
16:35 tadzik * Synopses
16:36 [particle] Exodist: it's a little different in perl 6
16:37 Exodist [particle], ?
16:37 [particle] see synopsis 11: http://perlcabal.org/syn/S11.html
16:37 tadzik zby: http://perlcabal.org/syn/S11.​html#Compile-time_Importation
16:37 tadzik found :)
16:38 Exodist [particle], I mean whats different, the erroring, or requre vs use?
16:38 [particle] tadzik: for the most part, the higher the # on the synopsis, the less complete it is
16:38 tadzik [particle]: yeah, that's how it looks like on http://perlcabal.org/syn/
16:39 Mowah joined #perl6
16:39 [particle] tadzik: that's mainly because they're written so that the later chapters refer back to the previous chapters
16:40 tadzik reasonable
16:41 rir joined #perl6
16:41 rir ?
16:42 Exodist hmm, the page clarified almost everything, but it does not say weather error messages are standardized, or implementation dependant.
16:42 Exodist A lot of code in perl5 parses the expected error messages (bad idea)  I could see a problem with compatibility.
16:43 Exodist or tests that test for an error...
16:43 tadzik I think Exception class is planned to be something more than a string-keeper
16:43 _macdaddy joined #perl6
16:44 Exodist ah, yah, forgot exceptions are meaningful in p6.
16:44 tadzik not yet :)
16:44 zby Hmm - it does not seem to answer the question of how do you import a module that you don't know the name at compile time
16:45 zby like 'require $module'
16:45 tadzik require "/home/non/Sense.pm" <common @horse>; says Syn
16:45 tadzik there can be any string I think
16:46 rir good localtime, all.  I have gotten R* and would like to use git to pull the various released products.  What do I need to do?
16:46 tadzik star: my $foo = "File::Find"; require $foo; say 'alive'
16:46 p6eval star 2010.07: OUTPUT«Could not find sub &require␤  in main program body at line 22:/tmp/P5OuNB0RMe␤»
16:46 tadzik now that's funny
16:46 Exodist yeah...
16:46 tadzik rir: define: various released products
16:46 Exodist star: require File::Find;
16:46 p6eval star 2010.07: OUTPUT«Can not find sub File::Find␤  in main program body at line 1␤»
16:47 Exodist star: my $foo = "File::Find"; eval "require $foo"; say 'alive'
16:47 p6eval star 2010.07: OUTPUT«alive␤»
16:47 tadzik oh, funny
16:47 rir "various released products" ~~ the non-core modules in the tarball:  miniDBI, etc.
16:47 tadzik star: my $foo = "File::Find"; eval "require $foo"; find.WHAT
16:47 p6eval star 2010.07: OUTPUT«Could not find sub &find␤  in main program body at line 22:/tmp/HXw9ZmYxsN␤»
16:48 tadzik crap
16:48 Exodist tadzik...
16:48 Exodist star: require File::Find;
16:48 p6eval star 2010.07: OUTPUT«Can not find sub File::Find␤  in main program body at line 1␤»
16:49 Exodist is require even implemented?
16:49 [Coke] not sfaik.
16:49 zby as I understand you need to put filename there not the module
16:49 Exodist std: my $foo = "File::Find"; require $foo; say 'alive'
16:49 p6eval std 31912: OUTPUT«ok 00:01 116m␤»
16:49 Exodist pugs: my $foo = "File::Find"; require $foo; say 'alive'
16:49 p6eval pugs: OUTPUT«*** Unsafe function 'require' called under safe mode␤    at /tmp/8r82fMRyXt line 1, column 25-37␤»
16:49 Exodist lol
16:49 Exodist rakudo: my $foo = "File::Find"; require $foo; say 'alive'
16:50 p6eval rakudo 0e5edb: OUTPUT«Could not find sub &require␤  in main program body at line 22:/tmp/jP4xLRwhne␤»
16:51 Exodist star: my $foo = "File::Find"; eval "use $foo ()" || die( $@ ); say 'alive'
16:51 p6eval star 2010.07: OUTPUT«===SORRY!===␤Unsupported use of $@ variable as eval error; in Perl 6 please use $! at line 22, near " ); say 'a"␤»
16:51 Exodist star: my $foo = "File::Find"; eval "use $foo ()" || die( $! ); say 'alive'
16:51 p6eval star 2010.07: OUTPUT«alive␤»
16:51 Exodist star: my $foo = "File::Find"; eval "use $foo ()" || die( $! ); say  find.WHAT
16:51 p6eval star 2010.07: OUTPUT«Could not find sub &find␤  in main program body at line 22:/tmp/gys9X4w9aW␤»
16:52 Exodist star: my $foo = "File::Find"; eval "use $foo" || die( $! ); say  find.WHAT
16:52 p6eval star 2010.07: OUTPUT«Could not find sub &find␤  in main program body at line 22:/tmp/cddUurodnK␤»
16:52 * Exodist is done
16:53 Exodist oh yeah! use imports to scope, which is the eval
16:53 Exodist star: my $foo = "File::Find"; eval "use $foo; say find.WHAT" || die( $! );
16:53 p6eval star 2010.07:  ( no output )
16:53 tadzik this is hopeless :)
16:53 Exodist thats scary..
16:53 tadzik but
16:54 tadzik star: my $foo = "File::Find"; eval "require $foo"; say 'alive'
16:54 p6eval star 2010.07: OUTPUT«alive␤»
16:54 jferrero joined #perl6
16:54 Exodist star: my $foo = "File::Find"; eval "require $foo" || die( $! ); say 'alive'
16:54 p6eval star 2010.07: OUTPUT«alive␤»
16:54 tadzik star: my $foo = "Nothing"; eval "require $foo"; find.WHAT
16:54 p6eval star 2010.07: OUTPUT«Could not find sub &find␤  in main program body at line 22:/tmp/ooQaXWpsOt␤»
16:54 tadzik star: my $foo = "Nothing";  eval "require $foo"; say 'alive'
16:54 p6eval star 2010.07: OUTPUT«alive␤»
16:54 mberends Exodist, tadzik : here's one I did earlier: eval 'use MiniDBD::mysql; $driver = MiniDBD::mysql.new()' (from http://github.com/mberends/MiniDB​I/blob/master/lib/MiniDBI.pm6#L29)
16:54 tadzik damn
16:55 Exodist tadzik, the use is lexical to the eval, find() wont be defined outside it.
16:55 tadzik Exodist: that's ok, now I want to check if it actally loads the module
16:55 tadzik star: my $foo = "Nothing"; eval "use $foo"; say 'alive'
16:55 p6eval star 2010.07: OUTPUT«alive␤»
16:55 tadzik oh, sure
16:56 Exodist mberends, ah, that is crafty.
16:56 dual joined #perl6
16:56 jaldhar joined #perl6
16:58 Exodist so, is it more correct to use file.pm or file.pm6 when writing a perl6 module?
16:58 tadzik pm I think
16:59 tadzik I see the Big Guys using .pm :)
17:00 mberends .pm6 was added recently to clarify file contents in multi language projects, such as STD.pm6
17:04 tadzik star: my $foo = 'File::Find'; my $works = 0; eval "use $foo; $works = 1"; say 'works' if $works;
17:04 p6eval star 2010.07:  ( no output )
17:04 tadzik pff
17:05 tadzik star: my $foo = 'File::Find'; my $works = 0; eval '$works = 1'; say 'works' if $works;
17:05 p6eval star 2010.07: OUTPUT«works␤»
17:05 tadzik star: my $foo = 'File::Find'; my $works = 0; eval "use $foo; \$works = 1"; say 'works' if $works;
17:05 p6eval star 2010.07: OUTPUT«works␤»
17:06 tadzik star: my $foo = 'Works::Not'; my $works = 0; eval "use $foo; \$works = 1"; say 'works' if $works;
17:06 p6eval star 2010.07:  ( no output )
17:06 tadzik a'right
17:10 jfried joined #perl6
17:13 rokoteko what are you trying to do? just out of curiosity?
17:14 tadzik I'm trying to figure whether a module is installed and working, or not
17:16 rokoteko tadzik: I think particle already guided you to http://perlcabal.org/syn/S11.html .. which Im browsing through right now.
17:17 rokoteko tadzik: search for "Runtime Importation"
17:18 tadzik rokoteko: tried this alredy
17:19 tadzik [Coke] said require isn't even implemented
17:19 rokoteko ok. :) Im only in S03 myself, so can't yet provide further advice.
17:19 rokoteko Ahh.
17:24 [Coke] rakudo: use "something";
17:24 p6eval rakudo 0e5edb: OUTPUT«Could not find sub &use␤  in main program body at line 22:/tmp/2uNT3jh6dj␤»
17:24 [Coke] hurm.
17:25 avuserow star: use something;
17:25 p6eval star 2010.07: OUTPUT«===SORRY!===␤Unable to find module 'something' in the @*INC directories.␤(@*INC contains:␤  /home/p6eval/.perl6/lib␤  /home/p6eval/rakudo-star-2010.07/instal​l/lib/parrot/2.6.0/languages/perl6/lib␤  .)␤»
17:25 avuserow rakudo: use something;
17:25 p6eval rakudo 0e5edb: OUTPUT«===SORRY!===␤Unable to find module 'something' in the @*INC directories.␤(@*INC contains:␤  lib␤  /home/p6eval/.perl6/lib␤  /home/p6eval//p2/lib/parrot/2.​6.0-devel/languages/perl6/lib␤  .)␤»
17:29 timbunce joined #perl6
17:45 _jaldhar joined #perl6
17:47 * [Coke]
17:51 pugssvn r31915 | moritz++ | [t/spec] tests for rx:i etc. quoting (no semantic checks yet)
17:52 pugssvn r31916 | moritz++ | [helpnow] delete drafts, they are out of date anyway
17:52 pugssvn r31917 | moritz++ | [helpnow] rewrite README; bring it up-to-date
17:52 pugssvn r31918 | moritz++ | [S05] be explicit about which attributes/modifiers are allowed where
17:52 pugssvn r31918 |
17:52 pugssvn r31918 | Also removes rx:g// from existing examples.
17:52 pugssvn r31918 | Added myself boldly to AUTHORS list
17:52 pugssvn r31919 | moritz++ | [S03] smart-match entry for Match on RHS
17:52 pugssvn r31919 |
17:52 pugssvn r31919 | After some discussion with @Larry on YAPC::EU, we figured that's the best way
17:52 pugssvn r31919 | to solve the dilemma that C<'string' ~~ m/regex/> immediately matches on the
17:52 pugssvn r31919 | right-hand side, thus ends up calling $/.ACCEPTS('string').
17:55 [Coke] joined #perl6
17:55 * [Coke]
17:56 * [Coke] thinks he's registered this nick now.
17:56 [Coke] (what a pita. =)
18:00 M_o_C joined #perl6
18:01 tadzik cosimo:
18:01 tadzik cosimo: perl6-lwp-simple has a broken deps.proto: should be Perl6-MIME-Base64, not perl6-...
18:13 moritz_ http://blog.fox.geek.nz/2010/08/w​hy-am-i-not-using-perl-6-yet.html
18:13 moritz_ oh I see that pmichaud++ and szabgab++ already commented
18:14 oha joined #perl6
18:14 * moritz_ also blagged, twice
18:17 mberends joined #perl6
18:20 Trashlord joined #perl6
18:22 drrho joined #perl6
18:24 Holy_Cow joined #perl6
18:24 drrho Hi! A quick question Re: grammars in Perl6:
18:25 drrho I picked up on a blog ....
18:25 drrho grammar PERL6 is Perl6 { .... }
18:25 moritz_ that likely won't run yet
18:25 drrho The idea being that the Perl6 syntax can be extended via "subclassing" the parser.
18:25 moritz_ right
18:25 drrho :-)
18:25 drrho I think this was _your_ blog, moritz.
18:26 drrho Ah, ok.
18:26 [particle] that grammar practically shouts PERL!
18:26 moritz_ probably http://perlgeek.de/en/articl​e/mutable-grammar-for-perl-6
18:26 moritz_ [particle]: that's the point
18:26 drrho Yup!
18:27 drrho This is _really_ a cool feature, I have to say.
18:27 drrho Will be patient :-)
18:27 hercynium hey there... I don't see it in the scrollback so: has anybody mentioned a usability/cosmetic issue on http://try.rakudo.org/ ?
18:28 moritz_ hercynium: it's not yet production ready - we know full well it sucks as it is know
18:28 [Coke] hercynium: there are some issues. it kind of snuck out before we were quite happy with it.
18:28 hercynium Camelia sits in front of the first two lines of output and there's no way to move her
18:28 [Coke] but you can always open a RT for issues you find.\
18:28 hercynium heh
18:28 hercynium sure... where's the url?
18:29 hercynium (btw, the site looks great, and seems to be much faster since yesterday)
18:29 [Coke] rakudobug@perl.org works.
18:29 [Coke] (even though it's not rakudo.)
18:30 hercynium OK will do
18:32 xinming_ joined #perl6
18:36 hercynium thar we go. A "bug" report ;-)
18:40 tadzik joined #perl6
18:41 sorear phenny: tell pmurias SOREAR
18:41 phenny sorear: I'll pass that on when pmurias is around.
18:48 ashleydev joined #perl6
18:51 skyheights joined #perl6
18:52 tadzik yay, neutro handles deps now
18:55 tadzik hmm, doesn't git handle empty directories?
18:56 avuserow tadzik: nope, only directories with content
18:57 tadzik avuserow: this is a feature?
18:57 molecules joined #perl6
18:57 avuserow I guess?
18:57 avuserow I usually just make a TODO or README file
18:57 avuserow or an EXISTS file or something
18:57 avuserow I usually don't need to have empty directories anyway
18:58 tadzik well, I wanted an empty dir for tests
18:58 moritz_ or a .gitignore
18:58 moritz_ tadzik: mkdir
18:58 tadzik hmm, can be
18:58 molecules rakudo: class Range6 { has Int $.chr; };
18:58 p6eval rakudo 0e5edb:  ( no output )
18:59 molecules rakudo: class Range6 { has Int $.chr; }; my $range = Range6.new(); $range.perl.say;
18:59 p6eval rakudo 0e5edb: OUTPUT«Range6.new(chr => Any)␤»
19:04 perimosocordiae tadzik: anything in neutro to avoid infinite-looping on circular dependencies? (not that those should happen, but...)
19:04 tadzik perimosocordiae: will lead to infinite recursion I think. Not that this should happen, but yeah, should be fixed
19:05 tadzik mind opening a GH issue?
19:05 perimosocordiae not at all
19:05 tadzik I think about cleaning modules.list a bit, not to include everything on modules.perl6.org but rather to include things that work and actually can be installed
19:06 cono joined #perl6
19:06 perimosocordiae yeah, even if it's just commenting out the ones that fail
19:07 tadzik my $match = "^A," ~~ m/ <ABC::pitch> /; -- is this working in current Rakudo?
19:07 tadzik I mean using a token from foreign grammar?
19:07 moritz_ no
19:08 moritz_ ABC.parse($string, :rule<pitch>)
19:08 tadzik is there a workaround, or this just waits to be fixed?
19:08 moritz_ is the best you can do
19:08 moritz_ oh wait
19:08 moritz_ in your own grammar
19:08 tadzik causes a failing tests in URI and ABC
19:08 tadzik moritz_: I mean this: http://github.com/LastOfTheCarelessM​en/ABC/blob/master/t/01-regexes.t#L8
19:09 plol joined #perl6
19:09 * moritz_ takes a look
19:09 moritz_ tadzik: my $match = ABC.parse($string, :rule<pitch>)
19:10 moritz_ would "fix" it
19:10 tadzik mhm
19:10 tadzik moritz_: but is the original behaviour planned to be fixed?
19:10 tadzik is arnsholt sometimes around?
19:11 moritz_ tadzik: yes, but probably on if it's an 'our rule pitch { ... }' in the ABC grammar
19:13 * tadzik installing all proto modules to see how many of them work
19:15 tadzik phenny: tell masak could You fix CSV in some spare time? The tests fail
19:15 phenny tadzik: I'll pass that on when masak is around.
19:15 tadzik phenny: thanks buddy
19:18 tadzik cosimo: ping
19:18 tadzik cosimo: could you take a look at Digest::MD5 too? It fails some tests with Null PMC access
19:18 xinming joined #perl6
19:21 tadzik phenny: tell masak also, could you take a look at web's dependencies too? gttp::daemon is not in proto
19:21 phenny tadzik: I'll pass that on when masak is around.
19:29 tadzik moritz_: JSON is failing 04-roundtrip.t for me, could You take a look?
19:36 ashleydev joined #perl6
19:39 justatheory joined #perl6
19:45 moritz_ tadzik: it's a known failure
19:45 moritz_ nothing severe, just array/list thing distinction, iirc
19:47 perimosocordiae tadzik: I tried running the new neutro code, but the mkdirp call somehow created ~/.neutro with perms 000
19:47 tadzik perimosocordiae: update your rakudo
19:47 tadzik perimosocordiae: it was fixed few days ago
19:48 perimosocordiae tadzik: ah, thanks
19:48 * alester is going to give chromatic a big kiss.
19:48 moritz_ Date:   Wed Aug 4 12:19:55 2010 +0200
19:49 moritz_ (that was the fix from the umask + chmod problem)
19:49 tadzik whew. I just installed (all tried) every module in proto db
19:50 moritz_ how many of them are b0rked?
19:50 tadzik failing tests are like in 50%
19:50 tadzik few of them don't work for various reasons
19:51 tadzik I think it'd be nice to put the module binaries in bin/ rather than lying around
19:51 tadzik it would be easier to install them when shamelessly ingoring Makefile :)
19:53 moritz_ rakudo: say [<an array>].perl
19:53 tadzik moritz_: seen my mail on @perl6-users?
19:53 p6eval rakudo 0e5edb: OUTPUT«["an", "array"]␤»
19:53 moritz_ tadzik: yes, but didn't get around to writing a decent reply yet
19:53 moritz_ rakudo: for <a b>.kv -> $k, $_ { .perl.say }
19:53 p6eval rakudo 0e5edb: OUTPUT«0␤1␤»
19:53 moritz_ huh.
19:54 moritz_ shouldn't that be "a", "b" ?
19:54 _jaldhar joined #perl6
19:54 moritz_ rakudo: for <a b>.kv -> $k, $v { $v.perl.say }
19:54 p6eval rakudo 0e5edb: OUTPUT«"a"␤"b"␤»
19:54 tadzik rakudo: <a b>.kv.perl
19:54 tadzik rakudo: <a b>.kv.perl.say
19:54 p6eval rakudo 0e5edb:  ( no output )
19:54 p6eval rakudo 0e5edb: OUTPUT«(0, "a", 1, "b")␤»
19:55 * moritz_ submits rakudobug
19:57 moritz_ tadzik: I just todo'ed the tests in json
19:57 moritz_ should be clean now
20:03 tadzik moritz_: yep, looks fine
20:03 tadzik moritz_++
20:03 jaldhar_ joined #perl6
20:03 [Coke] phenny: .u ace
20:10 zostay joined #perl6
20:13 ash_ joined #perl6
20:13 skyheights joined #perl6
20:21 tylercurtis joined #perl6
20:21 xinming_ joined #perl6
20:24 Eddward joined #perl6
20:25 _macdaddy joined #perl6
20:26 Eddward Is the MAIN sub supposed to be working correctly in Rakudo *?
20:26 Eddward ...from http://perlgeek.de/en/article/5-to-6#post_14
20:27 tadzik Eddward: yup
20:27 tadzik Eddward: got any issues?
20:28 Eddward A couple things seem wrong.
20:28 moritz_ rakudo: sub MAIN($x = 5) { say $x }
20:28 moritz_ Eddward: do tell
20:28 p6eval rakudo 0e5edb: OUTPUT«5␤»
20:28 lue joined #perl6
20:28 Eddward Using the example from that page I get the following message ...
20:29 Eddward oops... leading slash
20:29 Eddward ... /tmp/main-test.p6 [--home=value-of-home] [--recursive=value-of-recursive] [--force=value-of-force] path
20:29 Eddward sub MAIN($path, :$force, :$recursive, :$home = glob("~/"))
20:29 moritz_ that's curious
20:30 Eddward Looks like force & recursive should not require a value.
20:30 tadzik it would be kind of them
20:30 Eddward Also, home is not optional for me.
20:30 moritz_ Eddward: the problem is that glob() is not yet implemented in Rakudo
20:30 Eddward oh.
20:30 moritz_ Eddward: if you replace the glob("~") by just '~', you get the proper behaviour
20:31 moritz_ Eddward: but it is a bug that the USAGE sub is triggered on that error
20:31 moritz_ rakudo: sub MAIN($x = unknown_function()) { };
20:31 p6eval rakudo 0e5edb: OUTPUT«Usage:␤/tmp/xxCYRgfKfJ [x]␤»
20:32 cognominal http://www.theregister.co.uk/201​0/08/06/ipv6_security_nightmare/
20:32 simcop2387 joined #perl6
20:32 Eddward That fixes that.
20:32 Eddward ok.  That made the other oddities I saw go away too.  Thanks.
20:32 cognominal oops wrong window
20:33 moritz_ bug submitted
20:33 takadonet Eddward: anything else?
20:33 Eddward I was just walking through the 5-to-6 page.  The MAIN looks pretty slick.
20:33 Eddward Not at the moment.  It had looked like force and recursive where required but that went away with glob.
20:34 Eddward Thanks.
20:34 jaldhar_ joined #perl6
20:35 moritz_ Eddward: keep in mind that 5-to-6 tries to describe ideal Perl 6, not necessarily runnable code
20:36 moritz_ ... and that much of it was written before the features were actually implemented. If they work nonetheless, be even more impressed :-)
20:37 Eddward ok.  I've been lurking since before the apocalypses.  I'm just trying to come up to speed on the current shape of perl6.
20:38 Eddward It's cool to get to dabble with it.
20:38 * moritz_ now updated it to use plain '~', so it's actually runnable
20:38 avuserow I must say that the magic argument passing for MAIN() is probably one of my favorite features of Perl 6
20:39 moritz_ avuserow: I must say that I was mostly unimpressed by it, until it was implemented, and I started using it - I love it now :-)
20:39 moritz_ and I mostly show-cased it because it was easy to understand (both for the reader and for me :-)
20:40 * moritz_ -> sleep
20:40 Eddward In perl5 it was something that took too much thought for how often it was needed and how unrelated it is to the problems I'm try to solve..
20:40 lue joined #perl6
20:42 avuserow it's also something I have not seen elsewhere
20:42 avuserow most languages rely on manual processing or getopt or similar
20:42 avuserow and multiple dispatch for MAIN will be amazing
20:43 Eddward With all the deep magic in perl6, it's not the sort of thing I was expecting to be impressed by.
20:43 Eddward What?
20:43 Eddward That make my head hurt.
20:44 Eddward Can it multi-dispatch on $0?
20:44 Eddward aka, the name it's run as?
20:44 avuserow rakudo: multi sub MAIN() {say "no args";}; multi sub MAIN($foo) {say "one arg";}
20:44 p6eval rakudo 0e5edb: OUTPUT«no args␤»
20:44 orafu joined #perl6
20:45 avuserow so you can dispatch on your args
20:45 takadonet Anyone else have the issue where short argument format only work with two dash in front?
20:45 tadzik moritz_: so what is the right way to make params to MAIN with no arguments?
20:46 takadonet i.e '--f filename' or '--file filename' but not '-f filename' ?
20:46 Eddward That's cool, but it would be nifty to be able to dispace on name too.
20:48 Eddward I could try, but I don't know the format for declaring a short option.
20:48 takadonet sub MAIN(:f($file)) { say $file}
20:50 Eddward oh.  I thought you meant something like 'f|file=s' in Getopt::Long.
20:51 takadonet that what I mean
20:51 takadonet however when you use either formats, the value get put into $file
20:51 Eddward oh.
20:51 avuserow I'm not having any luck with argument processing on the version of rakudo that I have...
20:52 takadonet moritz_: any ideas?
20:52 avuserow takadonet: moritz_++ went for sleep
20:53 takadonet nuts
20:54 avuserow I'm going to hazard a guess that the :f($file) format is not handled yet
20:54 avuserow but I can't get --f foo or --file foo to work
20:54 takadonet the code works on the latest rakudo build
20:55 avuserow oh
20:55 takadonet just with --f
20:55 takadonet instead of -f
20:55 avuserow I am using an older version, looks like :|
20:55 takadonet i'm assuming it's a bug
21:15 elmex joined #perl6
21:25 pnate joined #perl6
21:26 plol joined #perl6
21:26 ghyspran joined #perl6
21:28 masak joined #perl6
21:28 masak \o/
21:28 phenny masak: 19:15Z <tadzik> tell masak could You fix CSV in some spare time? The tests fail
21:28 phenny masak: 19:21Z <tadzik> tell masak also, could you take a look at web's dependencies too? gttp::daemon is not in proto
21:28 masak tadzik: (1) I'd love to. (2) will do.
21:29 tadzik masak++ # thanks
21:29 masak CSV probably fails because it's old and has bitrotted.
21:29 masak all the tests passed at one point.
21:29 tadzik masak: also, neutro is now working fine, handling dependencies and stuff
21:29 masak neutro? :)
21:29 tadzik oh. The working proto, it is :)
21:29 masak inevitable pun, but I'm not sure I've heard about it.
21:30 masak it's a fork of the repo?
21:30 tadzik nah, separate thing
21:30 masak oh, ok
21:30 masak tadzik++
21:30 tadzik my thursday project :)
21:30 tadzik masak: http://github.com/tadzik/neutro
21:30 tadzik Patches, ideas and criticism welcome
21:30 masak tadzik: I'll have a look at it at some point. I suspect I'll still be rooting for pls in the long run, but it's always nice to be looking at alternatives.
21:31 masak and working stuff always trumps ideal stuff.
21:31 tadzik well, neutro is for proto what MiniDBI is for DBI I think
21:31 perimosocordiae tadzik: speaking of, I found a simple circular-dep fix
21:32 tadzik perimosocordiae: speak on please
21:32 masak tadzik: oh, it's sort of a cpanminus? :)
21:32 tadzik masak: not really, it does not to be minimal, or doing installing-only
21:32 masak ok
21:33 tadzik as in README:
21:33 tadzik It's a temporary working solution, while experts build
21:33 tadzik the Real Deal (proto, pls).
21:34 masak thanks for the vote of confidence. :P
21:34 perimosocordiae tadzik: just add a @install_stack in the module scope, unshift module names onto/off it when you enter/exit the 'install' sub, and then checking for circulars is as simple as:
21:34 perimosocordiae die "Detected circular dependency!" if @installs.grep: { $_ eq $realdep }
21:34 masak tadzik: if you had introspection access to my brain, I bet you'd take back the "experts" part. :)
21:35 wolverian tadzik: I see that you're calling subs as foo; instead of foo(); in neutro, where foo is declared later in the file. is that guaranteed to work in Perl 6?
21:35 perimosocordiae @installs == @install_stack, :-\
21:35 tadzik wolverian: it does work :)
21:35 tadzik afk for a while
21:35 masak wolverian: it's guaranteed to work.
21:36 masak wolverian: because of the different passes.
21:36 wolverian I thought Perl 6 was strictly one-pass :)
21:36 [Coke] rakudo: spaf
21:36 masak wolverian: it is.
21:36 p6eval rakudo 0e5edb: OUTPUT«Could not find sub &spaf␤  in main program body at line 22:/tmp/brGcp3uvOs␤»
21:36 masak std: foo(); sub foo() { }
21:36 p6eval std 31912: OUTPUT«ok 00:01 113m␤»
21:36 masak std: foo();
21:36 p6eval std 31912: OUTPUT«[31m===[0mSORRY![31m===[0m␤Undeclared routine:␤      'foo' used at line 1␤Check failed␤FAILED 00:01 111m␤»
21:37 masak wolverian: I meant 'passes' more in the sense of 'compile-time', 'run-time'
21:37 wolverian masak: ah, thanks. phases, perhaps.
21:37 masak right.
21:37 wolverian (I think that's used in the literature)
21:37 wolverian that's great news, btw.
21:37 masak the 'undeclared sub' errors are thrown at CHECK time, after the parsing's done.
21:37 masak it is great news.
21:38 masak would've been hard(er) to do mutual recursion otherwise.
21:38 perimosocordiae it's just a good idea in general, I think
21:40 wolverian I think it's great just because I prefer to write lower level subs after the higher level subs that use them.
21:40 wolverian (and I prefer my syntax without unnecessary parens.)
21:42 perimosocordiae (he said, parenthetically) :-)
21:45 masak perimosocordiae: "Who discovered radium?" asked Marie, curiously. :)
21:45 xinming joined #perl6
21:45 perimosocordiae masak: :-D
21:45 masak that's my favourite Tom Swiftie.
21:48 sjohnson hi dudes
21:48 masak phenny: tell pmichaud http://gist.github.com/500732 http://gist.github.com/512060
21:48 phenny masak: I'll pass that on when pmichaud is around.
21:48 masak sjohnson! \o/
21:48 sjohnson hi masak
21:48 sjohnson whats new in perl6 land today?
21:49 masak YAPC::EU finished today.
21:49 masak YAPC::EU orgas++
21:49 tadzik perimosocordiae: mind posting it to issues, or even with a patch? I doubt I'll remember it tommorow
21:50 sjohnson cool
21:51 masak sjohnson: they even had a "Camelia" up at the venue :) http://twitpic.com/2c6alh
21:52 tadzik masak: who is that?
21:52 masak tadzik: I can't see who's in the picture. it's one of the orgas.
21:52 masak phenny: tell pmichaud I misremembered who wrote the "How to write about Perl 6" article; it was brian d foy: http://blogs.perl.org/users/brian_d_foy​/2010/08/how-to-write-about-perl-6.html
21:52 phenny masak: I'll pass that on when pmichaud is around.
21:53 am0c joined #perl6
21:53 sjohnson haha
21:53 sjohnson everytime i hear Camelia now, i think of the cipher
21:53 sjohnson masak: http://en.wikipedia.org/wiki/Camellia_%28cipher%29
21:53 perimosocordiae tadzik: will do
21:53 * masak looks
21:53 tadzik perimosocordiae++
21:54 tylercurtis masak: random Pod6 question: does Pod6 have a way to include ">" in a formatting (B, C, I, etc.) code?
21:54 sjohnson "perl 6... a reality" -- new slogan
21:54 masak tylercurtis: C<< > >>
21:54 masak tylercurtis: or C«>»
21:54 tadzik I was thinking about: Perl 6 -- ready enough for me
21:54 tadzik I even thought about a blag post
21:55 tylercurtis masak: related question: does that also work in Perl 5's POD? If not, yay for Pod6!
21:55 tadzik tylercurtis: yes
21:55 tadzik :(
21:55 tadzik :)
21:55 masak yes, it does.
21:55 masak well, not th C«>» one, I don't think.
21:58 tylercurtis Thanks, tadzik and masak. :) Yay for Pod6, regardless!
22:01 perimosocordiae tadzik: patch is on the issue comment: http://github.com/tadzik/neutro​/issues/#issue/1/comment/344579
22:02 tadzik perimosocordiae: checked?
22:02 perimosocordiae tadzik: well... not fully, but it at least doesn't break anything
22:03 perimosocordiae tadzik: couldn't find anything that actually has circular deps
22:04 masak huh -- this appeared completely unrelated, but a quick Google Translate reveals that it's actually about Rakudo Star.
22:04 masak http://atnd.org/events/6687
22:04 tadzik perimosocordiae: I'll build something to check
22:07 lue ohello o/
22:08 masak lue! \o
22:08 fatface joined #perl6
22:08 arnsholt joined #perl6
22:09 leprevost joined #perl6
22:10 leprevost joined #perl6
22:10 pmichaud masak: thanks for the brian_d_foy link -- just left a comment/reply there
22:10 phenny pmichaud: 12:56Z <[Coke]> tell pmichaud you can adjust the max recursion depth from PIR. want the code?
22:10 phenny pmichaud: 21:48Z <masak> tell pmichaud http://gist.github.com/500732 http://gist.github.com/512060
22:10 phenny pmichaud: 21:52Z <masak> tell pmichaud I misremembered who wrote the "How to write about Perl 6" article; it was brian d foy: http://blogs.perl.org/users/brian_d_foy​/2010/08/how-to-write-about-perl-6.html
22:11 pmichaud itsalue++
22:11 lue .oO(curse you inferior computer and your slow-down-to-a-crawl capabilities)
22:13 lue and what's more, this old PPC processor has dwindling support, soon I either have to install *another* distro or get another computer
22:13 lue [as a reference, I still have Firefox 3.5, and not by choice]
22:14 perimosocordiae left #perl6
22:16 hanekomu joined #perl6
22:17 masak rakudo: my @a = "hip" xx 2; say ~(@a, @a.WHAT), "!"
22:17 p6eval rakudo 0e5edb: OUTPUT«hip hip Array()!␤»
22:17 masak rakudo: my @a = "hip" xx 2; say ~(@a, @a.WHAT.perl), "!"
22:17 p6eval rakudo 0e5edb: OUTPUT«hip hip Array!␤»
22:17 masak :)
22:18 * masak sleeps for a bit
22:18 patrickas joined #perl6
22:20 patrickas avuserow what kind of problems are you having with MAIN args processing ?
22:20 rokoteko Two hips an no hurray.
22:20 avuserow patrickas: nothing really relevant. I forgot that I'm still on the 2010.06 release (just using the packages from Fedora and not building my own yet)
22:20 pyrimidine left #perl6
22:21 rokoteko </quote frasier>
22:21 patrickas oh ok
22:21 avuserow it's been a while since I followed trunk :)
22:21 patrickas in all cases I still haven't gotten around to implementing the short form  for arguments autoprocessing
22:24 patrickas I still have no idea how to differenciate the short form and long one in the args and how to link the same short argument to a long one ...
22:24 Eddward joined #perl6
22:25 jaldhar_ joined #perl6
22:48 sorear pugs: my $a = 1; my $b = \($a); $a := 2; say $b[0]
22:48 p6eval pugs: OUTPUT«CaptSub {c_feeds = [:MkFeed {f_positionals = [:IFinite 1:], f_nameds = []}:]}␤»
22:48 sorear heh, show output.
22:52 am0c joined #perl6
22:53 _jaldhar_ joined #perl6
22:56 pnate2 joined #perl6
22:56 zostay_ joined #perl6
22:56 tadzik wow, that's awesome
22:56 tadzik rakudo: my @a = "hip" xx 2; say ~(@a, @a.WHAT.perl), "!"
22:56 p6eval rakudo 0e5edb: OUTPUT«hip hip Array!␤»
23:02 ruoso joined #perl6
23:02 azert0x joined #perl6
23:04 sorear pugs: my $a = 1; my $b = \($a); $a := 2; say(|$b)
23:04 p6eval pugs: OUTPUT«1␤»
23:05 tom_tsuruhara joined #perl6
23:09 lue joined #perl6
23:10 sjohnson rakudo: "%s knows %s like the back of his %s".printf(<sjohnson perl6 hand>);
23:10 p6eval rakudo 0e5edb: OUTPUT«Method 'printf' not found for invocant of class 'Str'␤  in main program body at line 22:/tmp/eFsNz4K0i8␤»
23:10 sjohnson ... doh!
23:12 sjohnson ( ° ー°)
23:14 tadzik star: "%s knows %s like the back of his %s".fmt(<sjohnson perl6 hand>);
23:14 p6eval star 2010.07: OUTPUT«No applicable candidates found to dispatch to for 'fmt'. Available candidates are:␤:(Mu : Str $format = { ... };; *%_)␤␤  in main program body at line 22:/tmp/twFNzrlPGR␤»
23:14 tadzik pff
23:14 tylercurtis star: say "%s knows %s like the back of his %s".sprintf(<sjohnson perl6 hand>);
23:14 p6eval star 2010.07: OUTPUT«sjohnson knows perl6 like the back of his hand␤»
23:14 sjohnson oops, i did it again!
23:14 sjohnson tylercurtis: is printf gone in p6?
23:15 sjohnson star: "happy %s".sprintf<house>.say
23:15 tylercurtis star: printf "%s don't %s", "I", "know."
23:15 p6eval star 2010.07: OUTPUT«Any()␤»
23:15 p6eval star 2010.07: OUTPUT«I don't know.»
23:15 sjohnson haha
23:15 sjohnson star: "happy %s".sprintf<(house)>.say
23:15 p6eval star 2010.07: OUTPUT«Any()␤»
23:15 * sjohnson scratches head
23:15 sjohnson oh
23:15 sjohnson oops
23:15 sjohnson star: "happy %s".sprintf(<house>).say
23:15 p6eval star 2010.07: OUTPUT«happy house␤»
23:15 tylercurtis sjohnson: there just doesn't appear to be a printf method.
23:15 sjohnson nice
23:15 sjohnson blasphemy!
23:18 hercynium joined #perl6
23:19 hercynium joined #perl6
23:19 sorear try fmt.
23:22 avuserow rakudo: "foo %s %s".fmt(<bar baz>)
23:22 p6eval rakudo 0e5edb: OUTPUT«No applicable candidates found to dispatch to for 'fmt'. Available candidates are:␤:(Mu : Str $format = { ... };; *%_)␤␤  in main program body at line 22:/tmp/mpaeKTFrWf␤»
23:23 tylercurtis rakudo: say <bar baz>.fmt("foo %s %s"
23:23 p6eval rakudo 0e5edb: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
23:23 tylercurtis rakudo: say <bar baz>.fmt("foo %s %s")
23:23 p6eval rakudo 0e5edb: OUTPUT«Insufficient arguments supplied to sprintf␤  in 'Any::join' at line 1␤  in 'Any::join' at line 1386:CORE.setting␤  in 'List::fmt' at line 2551:CORE.setting␤  in 'Iterable::fmt' at line 3559:CORE.setting␤  in main program body at line 22:/tmp/Ggbr30kFZY␤»
23:26 gena joined #perl6
23:41 kid51 joined #perl6
23:54 am0c joined #perl6
23:59 Psyche^ joined #perl6

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

Perl 6 | Reference Documentation | Rakudo