Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-07-26

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:01 pmichaud Tene/ingy:  {} is in STD.pm also
00:01 pmichaud essentially, it prevents LTM from participating beyond that point
00:01 Tene Ah.
00:01 pmichaud so, with
00:02 pmichaud token comment:sym<#> { '#' {} \N* }
00:02 pmichaud only the '#' ends up participating in LTM calculations, not the \N*
00:06 ingy pmichaud: makes sense. thanks!
00:12 ingy pmichaud++  # for spending so much time getting the grammar/rules stuff to be so ossum
00:16 masonkramer joined #perl6
00:20 masonkramer_ joined #perl6
00:33 s1n joined #perl6
00:41 lestrrat joined #perl6
00:44 nimiezko joined #perl6
00:46 Tene alanT: Why did you want to know my time?
00:51 ingy joined #perl6
00:53 snarkyboojum joined #perl6
00:57 ingy joined #perl6
01:14 mikehh joined #perl6
01:17 ingy pmichaud: ops please
01:17 * ingy lost ops from the 'audreyt' thinger
01:18 ingy well, probably again from my /exit :)
01:18 ingy :)
01:19 * ingy just learned about ChanServ recover
01:19 Tene ingy: better would be to ask him to add you to the channel access list so you could op yourself.
01:19 ingy but doesn't know what to do about his unregistered chans
01:19 ingy pmichaud: what Tene say...
01:20 ingy Tene: how can I get old, unregister freenode chans registered?
01:20 ingy I have 3 like that
01:21 Tene ingy: /msg chanserv help register
01:21 ingy Tene: but I need ops to register
01:22 ingy and register for ops!
01:22 ingy like #kwiki
01:22 ingy I never registered it
01:22 ingy one way is to get everyone to leave
01:23 ingy but that sux
01:23 Tene ingy: you should be able to ask for help in the official freenode support channel, and freenode staff can help you get the channel registered.
01:23 Tene I think #freenode
01:23 Tene not sure
01:26 ingy Tene: asking on #freenode
01:26 Tene ingy: good luck
01:26 Tene I've heard mixed reports about help from freenode staff.
01:27 molaf_ joined #perl6
01:27 ingy nod
01:27 jferrero rakudo: say ~( 1, 4 ... 10 ); say ~( 1, 4 ... ^10 )
01:27 p6eval rakudo b46a3b: OUTPUT«1 4 7 10␤1 2 3 4 5 6 7 8 9␤»
01:29 ingy Tene: #freenode has 600 users!
01:30 Tene That's more users than #cutegirls!!!
01:33 jferrero rakudo: say ~( 1, 4, 7 ... 17 )
01:33 p6eval rakudo b46a3b: OUTPUT«1 4 7 10 13 16␤»
01:33 jferrero rakudo: say ~( 1, 4, 7 ... ^17 )
01:33 p6eval rakudo b46a3b: OUTPUT«1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16␤»
01:34 whee is it normal for rakudo to take 6 seconds for "perl6 -v"?
01:35 jferrero humm
01:35 jferrero no
01:35 jferrero time perl6 -v give me 0m1.595s
01:36 pmichaud depends on your system.  rakudo currently has a known long startup time, yes.
01:37 whee could just be that; it's a boring intel atom
01:37 Tene 0.9s for me
01:38 whee I see an awful lot of brk calls in strace
01:40 pmichaud Parrot's current design forces us to do a lot of data structure building at startup.
01:43 whee heh, twice as fast on a freebsd computer with mostly the same hardware versus linux :)
01:43 whee odd, but whatever
01:43 Tene One of the many things I wish I could spend time on.
01:44 sorear niecza-generated executables start 10 times faster than rakudo on my machine :)
01:45 Tene pmichaud: any chance you could check my recent commit to nqp-rx for sanity? http://github.com/perl6/nqp-rx/commit/9​6bc19114a3962c356304c11b20768ef11fe91ba
01:45 pmichaud Tene: looking
01:46 pmichaud Tene: looks okay to me.
01:47 Tene pmichaud: In that case, is the process to update the parrot snapshot of nqp-rx documented?
01:47 sorear ingy: Hello!
01:48 sorear 2010.07.03.14.50.54  * ingy just realized the Test.pm is not OO. It has no Test::Builder equiv.
01:48 sorear ingy: can you explain this?
01:54 cognominal joined #perl6
02:05 colomon rakudo: say ~( 1, 4, 7 ... ^17 )
02:05 p6eval rakudo b46a3b: OUTPUT«1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16␤»
02:06 colomon ugh.  that one is just plain ugly.
02:07 colomon rakudo: say ~( 1, 4, 7 ... 0,  255)
02:07 p6eval rakudo b46a3b: OUTPUT«255␤»
02:09 snarkyboojum joined #perl6
02:21 sorear colomon: How does .Bridge work?
02:22 dalek niecza: 242a88c | sorear++ |  (4 files):
02:22 dalek niecza: Only store needed bits in the aux setting file, not the whole 2MB AST store
02:22 dalek niecza: review: http://github.com/sorear/niecza/commit/2​42a88c7e98574f1a3a875ef3d0141ea24033aaa
02:24 colomon sorear: when you define a new Real type, you define a Bridge method for it, basically in terms of simpler Bridge methods on existing types.
02:25 colomon so if, for instance, you had a fixed precision decimal money class with two digits past the decimal point, you'd do
02:25 colomon class Money does Real { has Int $.value; method Bridge() { $.value.Bridge / 100.Bridge; } }
02:26 colomon then Real has default implementations of pretty much all the Real methods that can work from that .Bridge
02:33 felliott rakudo: my @d = <a b c>; my @t = "x" xx +@d; @t.perl.say;
02:33 p6eval rakudo b46a3b: OUTPUT«["x", "x", "x"]␤»
02:34 Tene Huh.  There's a lot of trailing whitespace in rakudo
02:34 sorear colomon: What's the difference between .Bridge and .Num?
02:34 felliott This won't work if you remove the "+" from in front of @d, I think b/c xx doesn't numify its rhs.
02:34 colomon sorear: Nothing currently.  But the idea is that .Bridge's actual type can be implementation-defined.
02:35 pmichaud rakudo:  my @d = <a b c>;  my @t = "x" xx @d;  @t.perl.say;
02:35 felliott It just spins forever.
02:35 pmichaud oh.
02:35 p6eval rakudo b46a3b:  ( no output )
02:35 * pmichaud looks
02:35 felliott Should xx numify the right hand side?
02:35 felliott It uses the rhs as the limit of a 1.. range
02:36 pmichaud felliott: yes, it should likely numify the rhs. looking now
02:36 felliott This is causing trans("something" => "") to trip up
02:36 Tene pmichaud: what about xx *?
02:36 pmichaud Tene: seems like that could be done via multidispatch, if needed.
02:36 Tene eh, true.
02:37 Tene rakudo: say +Whatever
02:37 p6eval rakudo b46a3b: OUTPUT«Use of uninitialized value in numeric context␤0␤»
02:37 pmichaud rakudo:  my $a = *; say +$a;
02:37 p6eval rakudo b46a3b: OUTPUT«Can't take numeric value for object of type Whatever␤  in 'Any::Numeric' at line 1348:CORE.setting␤  in main program body at line 6394:CORE.setting␤»
02:38 pmichaud one could also do   $n = Inf if $n ~~ Whatever;
02:38 pmichaud there's somewhere else in the code that does this.
02:39 pmichaud or even
02:39 pmichaud (1.. ($n ~~ Whatever ?? Inf !! +$n)).map({...})
02:39 pmichaud although multidispatch seems like a reasonable answer.
02:40 felliott Should I add tests to the repeat and trans spec test?
02:40 pmichaud felliott: please.
02:40 felliott shall do
02:40 alanT joined #perl6
02:45 Eddward joined #perl6
02:46 Eddward Will the repl in rakudo use libreadline if it's installed?
02:46 tylercurtis joined #perl6
02:46 pmichaud yes
02:46 pmichaud but for some reason parrot wants libreadline-dev to be installed, too
02:47 Eddward Are there any other good -dev package  should have before building?
02:47 pmichaud that's the only one I really know of.
02:47 Eddward ok.  Thanks
02:48 Tene libicu-dev
02:49 Eddward ok.  I'll grab that too.
02:52 [Coke] (atlanta is busted) do we have a test to avoid that happening again?
02:52 pmichaud ...atlanta is busted?
02:55 Tene I expect he's talking about "
02:55 Tene releasd reakudo is so broken that pls does not run; use master for now"
02:55 Tene -- http://github.com/rakudo/star/commit/b3​012ed0082728b46ddb7247ceb6b0e507ff435d
02:58 [Coke] yah. kind of annoyed that wasn't tested before release. I didn't realize it had to be, or i'd've. :(
03:00 adhoc joined #perl6
03:03 pugssvn r31824 | felliott++ | add fudged test for xx with non-number on rhs
03:04 sorear what exactly is wrong with atlanta?
03:08 pmichaud I'm not sure we can reasonably test every release against every module that happens to exist, though.
03:08 pmichaud (I grant that pls is in a somewhat special category.)
03:09 [Coke] joined #perl6
03:09 pmichaud [Coke]:
03:09 pmichaud 03:08 <pmichaud> I'm not sure we can reasonably test every release against every module that happens to exist, though.
03:09 pmichaud 03:08 <pmichaud> (I grant that pls is in a somewhat special category.)
03:11 Eddward I'm having trouble trying to update.
03:11 pmichaud beyond that, I'd want to hear a more detailed description of _why_ pls didn't work with atlanta.
03:11 Eddward "This Parrot cannot read bytecode files with version 8.0."
03:11 pmichaud Eddward: you probably need to remove the parrot and parrot_install directories to build a completely new copy of parrot
03:12 Eddward I saw a cookbook for build rakudo from scratch.  Is there a cookbook for updates?
03:12 pmichaud parrot's "make realclean" doesn't always make realclean
03:12 Eddward ok
03:12 Eddward pmichaud,  thanks
03:12 lue joined #perl6
03:13 lue heyllo o/
03:13 pmichaud fwiw, I don't see that 'pls' failure to work with atlanta indicates any sort of fundamental problem with the atlanta release.
03:13 pmichaud (but I'm still going from somewhat limited information)
03:28 felliott pmichaud: I took  a stab at fixing the repeat bug, but I don't know Perl6 that well yet.  Do you mind taking a look?
03:28 felliott http://github.com/felliott/rakudo/commit/​60ff703ca544041436f77df5c6dd62add1167fe2
03:30 sorear Anyone know of a good 'make'-like tool that's extensible in Perl 5?
03:31 * sorear is looking to avoid the overhead of loading STD.pm6 3+ times in the niecza build
03:32 pmichaud felliott: works for me
03:33 felliott Yay!
03:35 felliott I'm doing a make spectest now to make sure it doesn't break anything else.
03:35 dalek niecza: 66bfe9b | sorear++ |  (5 files):
03:35 dalek niecza: Fiddle bootstrapping a bit so the MOP can use the same strings the rest of Perl6
03:35 dalek niecza: uses
03:35 dalek niecza: review: http://github.com/sorear/niecza/commit/6​6bfe9b0e5869716c139853c028ea20bfe23f294
03:44 felliott This might be a dumb question, but if I have a bug that hangs and a spectest for the bug, when should I unfudge the test?
03:44 felliott Should I wait until after the fix is merged?
03:46 pmichaud yes.
03:46 pmichaud i.e., you can add the test, but fudge it until Rakudo passes the test.
03:47 felliott okay, thanks!
03:48 felliott I have a couple more to add that will need to be fudged as well
03:55 frooh joined #perl6
03:56 frooh why did we all get kicked earlier?
03:56 * frooh curious
03:56 lue Someone came in as 'audreyt' and kicked everyone.
03:57 * lue considers shameless self-promotion
03:57 sorear frooh: channel takeover
03:57 frooh ooooh
03:58 frooh so it wasn't really audrey
03:58 frooh got it
03:58 sorear otoh, this attracted enough attention that we were *finally* able to get #freenode to reregister the channel
03:58 sorear which means that I actually have a chanserv bit now
03:58 frooh well that's nice :-)
03:58 sorear instead of people reopping me
03:58 frooh you'll probably need it in a few days
03:59 frooh or you know, to be on top of things ayway
03:59 frooh how are things coming btw?
03:59 frooh (on star I mean)
04:05 pmichaud seem to be progressing okay
04:10 rlb3_ joined #perl6
04:16 sorear ok, I'm done setting up the ACL, I think
04:21 sorear szabgab: jnthn: TimToady: ping
04:26 Trashlord joined #perl6
04:27 pugssvn r31825 | felliott++ | add fudged test for xx with Whatever
04:28 pugssvn r31826 | felliott++ | add fudged test for trans with empty replace string
04:40 am0c joined #perl6
04:42 tewk joined #perl6
05:00 plobsing joined #perl6
05:05 kaare joined #perl6
05:05 snarkyboojum joined #perl6
05:06 cbk joined #perl6
05:15 Trashlord joined #perl6
05:32 szabgab sorear: reping
05:36 sorear szabgab: if you wish to have ACL access to #perl6, you will need to acquire a nickserv accound
05:41 krakan joined #perl6
05:55 szabgab what is ACL access and why would I want it ?
05:56 szabgab and I think I have an account on the nickserv, though I am not sure if the fact that I need to give a password when I get on freenode is that
06:00 sorear ACL access means that ChanServ automatically ops you and you can use ChanServ functions
06:00 sorear also, you didn't give your password when you logged in.
06:01 sorear since you are not currently authenticated under the szabgab account, any ACL I set for szabgab would be not useful to you
06:04 pmichaud sorear: I don't know that we need to set up a ton of ACL adjusters, fwiw.
06:05 szabgab hmm, I thoought irssi authenticated me when I launched it
06:05 sorear pmichaud: I haven't set up any new ACL adjusters
06:05 szabgab I have so little clue about irc
06:05 pmichaud sorear: okay, what is meant by "ACL access"?
06:05 sorear +O
06:06 sorear also +t etc
06:06 pmichaud do we need +O for a lot of people?
06:06 pmichaud (it's an honest question, not rhetorical)
06:07 tadzik joined #perl6
06:07 sorear I don't know.
06:08 sorear Keeping 1/8th of the channel opped is the status quo
06:08 sorear I've just automated it
06:08 sorear (except for TimToady, szabgab, and jnthn, who weren't authed)
06:08 tadzik morning
06:09 sorear hello tadzik
06:09 tadzik o/
06:11 pmichaud should we remove the entry for audreyt, since it got abused (and au++ doesn't seem to be using that nick anymore)?
06:12 sorear the audreyt entry is an account entry, not a nick entry
06:12 sorear and au|irc is still using the audreyt account
06:12 sorear the abused entry was audreyt!*@*
06:12 pmichaud okay, wfm.
06:13 uniejo joined #perl6
06:14 dalek niecza: 28d41aa | sorear++ |  (3 files):
06:14 dalek niecza: Implement parsing for $*foo $?foo $:foo $^foo
06:14 dalek niecza: review: http://github.com/sorear/niecza/commit/2​8d41aa7b1a8cd91037f73afad1ed586879c0e1c
06:14 dalek niecza: c085987 | sorear++ |  (7 files):
06:14 dalek niecza: Runtime support for $*foo; tests for $.foo & $*foo
06:14 dalek niecza: review: http://github.com/sorear/niecza/commit/c​085987f2da6b82204c137d092a5d1530f3eeb7d
06:14 dalek niecza: 3daf2eb | sorear++ |  (4 files):
06:14 dalek niecza: Implement PROCESS::
06:14 dalek niecza: review: http://github.com/sorear/niecza/commit/3​daf2ebada09d36ad4f51b8c5b07919a9d7ede99
06:26 mtve joined #perl6
06:30 Ross joined #perl6
06:33 am0c rakudo: (1, 2).map { .say }
06:33 p6eval rakudo b46a3b: OUTPUT«===SORRY!===␤Confused at line 22, near "(1, 2).map"␤»
06:34 moritz_ rakudo: (1, 2).map: { .say } # it's lazy
06:34 p6eval rakudo b46a3b:  ( no output )
06:34 moritz_ rakudo: eager (1, 2).map: { .say }
06:34 p6eval rakudo b46a3b: OUTPUT«1␤2␤»
06:36 am0c o_O...
06:38 tylercurtis am0c: what's wrong?
06:40 am0c tylercurtis: er.. nothing, but I think I missed the laziness, should read S07..
06:46 daxim joined #perl6
06:47 am0c I missed the ':' following 'map'. and map will not be evaluated when it's not used or assigned, lazily! I got it! thx moritz_
06:47 wamba joined #perl6
06:48 tylercurtis am0c: if you are wanting to eagerly perform an operation on each element of a list, you probably want to be doing something with the result of map or using for.
06:48 pmichaud note that for is also as lazy as map, though.
06:48 pmichaud (by spec, not by implementation)
06:49 am0c tylercurtis: I see.
06:50 alc joined #perl6
06:52 am0c pmichaud: surprised that 'for' is also lazy, thanks!
06:54 foodoo joined #perl6
06:54 tylercurtis pmichaud: for is lazy?
06:55 pmichaud tylercurtis: per spec, yes.
06:55 am0c pmichaud: could you hint me where I can see that for is lazy though? I cannot find it.
06:57 pmichaud I'm not sure it's explicitly in the spec.
06:58 pmichaud but various conversations on #perl6 over time have indicated that 'for' is lazy.
06:58 tylercurtis pmichaud: I don't think I understand that correctly. The way I'm interpreting that is as saying that if I do ".say for 1, 2;" or "for 1, 2 { .say };", or "(1, 2).map({ . say });", nothing will be output since the result is not used anywhere.
06:58 moritz_ am0c: but in the spec void/sink context is eager, so just writing   for 1,2 { .say } is eager
06:58 pmichaud tylercurtis: in sink context it's eager.
06:59 sorear as long as it's in the middle of a function and not assigned to anything
06:59 pmichaud or if it's the last statement of a block that is called from sink or eager context
06:59 am0c hm;
06:59 sorear but if, for instance, you were to write: my $x; sub foo () { temp $x = 5; for 1, 2 { say $x }; }; foo;  # per spec, this prints Any() Any()
07:00 Tene list assign context is eager too
07:01 pmichaud I think it's array assignment that is eager, not list assignment.
07:01 Tene ah, right
07:02 am0c rakudo: sub foo { (1, 2).map({ .say }); 1 }; foo;
07:02 p6eval rakudo b46a3b:  ( no output )
07:02 pmichaud rakudo doesn't have sink context just yet
07:02 pmichaud maybe I'll implement that real quick.
07:02 am0c moritz_: but there 'map' is not in void context?
07:02 sorear niecza implements a slightly different rule - a for loop is run eagerly if and only if a bare block in the same position would be executed
07:03 moritz_ am0c: it is
07:03 pmichaud actually, it isn't.
07:03 pmichaud (except very indirectly)
07:04 am0c if void context is eager and map is in void context where: "sub foo { (1, 2).map({ .say }); 1 }; foo;"; I think it says 1 and 2. is thank right?
07:05 am0c thank -> *that
07:05 pmichaud if that's the entire program, there's no void context.
07:05 pmichaud the result of "foo;"  likely gets evaluated in numeric context
07:05 pmichaud (to provide a return value to the shell)
07:06 moritz_ but the result of foo; is 1;
07:06 moritz_ pmichaud: that would be a bad idea
07:06 pmichaud ohhhhhh
07:06 pmichaud I didn't see the "; 1" there
07:06 pmichaud right, the .map is in void context.
07:06 pmichaud moritz_: that would be a bad idea... why?
07:07 gfx joined #perl6
07:07 moritz_ pmichaud: because people don't want to append a 0; a the of their programs
07:07 moritz_ pmichaud: if the want an unsuccessful exit, they die() or exit()
07:07 moritz_ pmichaud: remember those pesky p5 modules with their 1; at the end?
07:07 pmichaud moritz_: is that in the spec?  I don't remember seeing it.
07:07 am0c but I thought 1; at the end of function makes map() to be in the void context.
07:07 pmichaud am0c: you're correct, it does.
07:08 pmichaud I didn't see the "1;" there.  Sorry about that.
07:11 am0c pmichaud: thanks for your help (but you don't have to sorry though that 1; is so pesky as moritz_ said.)
07:15 am0c but 'for' is in the void context and eager there, but rakudo is not working as expected. or that is not in the void context, or 'for' is not eager in void context? I think I'm thinking wrong.
07:15 pmichaud void context implies eagerness
07:15 pmichaud and we call it "sink context" now
07:15 moritz_ am0c: rakudo doesn't implement void context
07:15 pmichaud at present rakudo doesn't have "sink context", although I'm writing one now.
07:19 am0c I see.
07:24 frettled Good morning!
07:24 frettled jnthn: I'm now worried that I might not know the exact contents of frettled.t ;)
07:24 baest joined #perl6
07:24 pmichaud frettled: o/
07:25 dimid joined #perl6
07:25 dalek rakudo: 807748a | (Fitz Elliott)++ | src/core/operators.pm:
07:25 dalek rakudo: force xx op to numify rhs except Whatevers
07:25 dalek rakudo: Signed-off-by: Moritz Lenz <moritz@faui2k3.org>
07:25 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​07748a2ea5235f1440bc73de0011e6aecfba491
07:30 pmichaud we could probably stand to eliminate the XXX comment on line 289.
07:31 pmichaud er, 269
07:31 pmichaud # XXX Lazy version would be nice in the future too.
07:31 pmichaud afaict, those versions are lazy.  :)
07:35 moritz_ right
07:37 Ross joined #perl6
07:39 inirss joined #perl6
07:47 snarkyboojum joined #perl6
07:56 alc joined #perl6
07:59 jnthn morning, #perl6
07:59 pmichaud jnthn: o/
07:59 sorear Hello jnthn
07:59 jnthn pmichaud! \o/
07:59 jnthn Wow, clearly I fixed my sleep a little bit if I'm awake before Pm went to bed. :-)
07:59 jnthn o/ sorear
08:00 pmichaud hmmmmm
08:00 pmichaud okay, so how should this work:
08:00 sorear slow day for niecza.
08:00 pmurias joined #perl6
08:00 pmichaud sub foo() { my $a = (1..10).map({ .say }); };  foo();
08:00 pmichaud sub foo() { my $a = (1..10).map({ .say }); };  foo();  1;
08:01 sorear pmichaud: well, who'se calling those blocks?
08:01 pmichaud in my last example, it doesn't really matter.  foo() is in sink context.
08:02 * sorear maintains that sink context should have been killed with fire after the switch to context-after-retrn
08:02 pmichaud actually, sink came after context-after-return, not before.
08:02 jnthn sorear: I just identify'd myself with NickServ - musta forgotten last time I reconnected or something.
08:04 sorear \o/ back over 100 nicks
08:04 moritz_ now that we have firm control over the channel via nickserv, shouldn't we be dropping our ops?
08:04 pmichaud moritz_: that's what I would think, yes.
08:05 pmurias moritz_: what's the benefit of op dropping?
08:05 pmichaud freenode's channel guidelines suggest having ops only when needed
08:06 moritz_ pmurias: not displaying a two class society, or so
08:06 frettled This is a multi-class society!
08:06 moritz_ with multiple inheritance, sure :-)
08:07 pmichaud I figured it was more "role composition"  :)
08:07 jnthn .oO( But I like my kamelbullar... )
08:08 pmichaud I guess I'll worry about sink context after R*
08:09 pmichaud I'm not quite sure how to handle the assignment case.
08:09 moritz_ anyway, I think we should follow freenode guidelines, unless we have a good reason not to
08:09 sorear pmurias: you've been added to the op-on-join registrar
08:09 pmichaud well, it doesn't do much good to de-op ourselves if we're also setting +O on everyone :-P
08:09 moritz_ what is +O?
08:10 pmichaud "op on join"
08:10 moritz_ op-on-jion?
08:10 moritz_ then we shouldn't do that
08:10 sorear I've been removing +O from everyone who deops themselves
08:10 moritz_ sorear++
08:10 pmichaud let's just not add +O for now
08:10 sorear I haven't added any new +Os since moritz' comment
08:10 pmichaud okay.
08:10 zulon joined #perl6
08:10 sorear pmurias was just me forgetting to tell him for a few minutes
08:11 sorear what about the +vs
08:11 moritz_ who is *!~hcchien@211.75.143.140 ?
08:12 sorear no clue
08:12 pmichaud feel free to cull the list down a lot smaller.
08:12 pmichaud remove any entries we're not familiar with.
08:12 frettled moritz_: hmm, «hcchien» is vaguely familiar.
08:12 moritz_ frettled: probably from the pugs days
08:13 pmichaud if the nick hasn't been here in a while, we should go ahead and remove it.
08:13 pmichaud nick/account/whatever.
08:13 frettled moritz_: I wasn't around in the pugs days, so it may just be a fake memory.
08:13 moritz_ the IRC logs show that hcchien was active until early 2008
08:14 sorear hcchien pruned
08:14 niko left #perl6
08:15 sorear pmichaud: well, I hadn't planned on culling any active users without their consent
08:15 frettled Oh on, we scared away the freenode staff!
08:15 pmichaud I'm fine with culling folks, actually.  the existing list was fairly old to begin with.
08:15 pmichaud (since we haven't had acl control in quite some time)
08:17 pmichaud I think I'd go ahead and drop the entry for jesse, since he doesn't seem to use that address anymore.  (we can re-add him as 'obra' if we like)
08:18 moritz_ +1
08:19 pmichaud I presume he has a registered nick, but can't confirm that.
08:19 moritz_ /whois obra doesn't confirm that
08:19 sorear culled
08:20 pmichaud sorear++ again
08:20 pmichaud thanks
08:20 sorear Jesse has fsck.com, though, which is almost as good
08:20 sorear is two-way DNS spoofing harder or easier than stealing someone's nickserv password?
08:21 pugssvn r31827 | pmurias++ | [smop] fix building of the p5 module
08:21 moritz_ sorear: harder, presumably
08:21 sorear that just leaves the actual active users
08:21 pugssvn r31828 | pmurias++ | [smop] add prereq
08:21 pugssvn r31829 | pmurias++ | [smop] replace uses of my_perl with pTHX and aTHX
08:21 pugssvn r31830 | pmurias++ | [smop] unbitrot perl5 interop
08:21 pugssvn r31830 | (only tested on perls with PERL_IMPLICIT_CONTEXT yet)
08:21 moritz_ sorear: nickserv passwords are transmitted in plain text
08:22 sorear so are DNS records
08:22 moritz_ are all users allowed to set /topic ?
08:22 sorear either way I think it comes down to TCP hijacking
08:22 moritz_ sorear: yes, but setting is harder than sniffing, in general
08:22 sorear moritz_: no, only currently opped users
08:23 moritz_ btw somebody commented on my blog, asking for resources about learning functional Programming with Perl 6 - do we have any resources for that?
08:23 moritz_ sorear: should we change that? so far I haven't seen any topic vandalism in other channels
08:24 snarkyboojum Ćao perl6 hacker types
08:24 pmichaud anyway, sleep time here.  bbt
08:24 moritz_ g'night
08:28 moritz_ should given { } be a read-only alias?
08:28 moritz_ it is now
08:28 jnthn 'night, Pm
08:28 moritz_ no wait
08:28 moritz_ $ ./perl6 -e 'given my $x = "abc" { s:g/./X/; .say }'
08:28 moritz_ XXX
08:28 moritz_ I have a local patch which makes s/// a call, instead of an object
08:29 jnthn moritz_: Nice :-)
08:29 jnthn moritz_: Does the s[foo] = 'bar' form also work?
08:29 moritz_ $ ./perl6 -e 'given my $x = "abc" { s:g[.] = "X"; .say }'
08:29 moritz_ XXX
08:29 jnthn \o/
08:29 jnthn moritz_++
08:29 moritz_ I need a few more tweaks, and remove Substitution.pm
08:29 jnthn Yay
08:29 jnthn Kill da hack!
08:29 moritz_ but all in all I'm very optimistic
08:31 jnthn moritz_: Yeah, I suspect it becomes a not too bad patch with the LHS-is-$_ patch.
08:31 moritz_ jnthn: right, which is why I'm doing it now :-)
08:31 mathw Yay
08:31 dakkar joined #perl6
08:31 jnthn moritz_: Makes me glad I worked on it. :-)
08:31 jnthn Was a little bit of a pain to do. :-)
08:32 jnthn But s/// working in void context is an epic win.
08:32 * moritz_ adds a few :node($/) to his patch
08:32 jnthn Yes, that helps us give good line #
08:35 dolmen_ joined #perl6
08:35 dolmen_ o/
08:35 dolmen_ jnthn?
08:38 dolmen_ jnthn: here are some videos of your performances at the French Perl Workshop in 2007: http://webcast.in2p3.fr/FPW2007/
08:39 squeeky left #perl6
08:40 meppl joined #perl6
08:45 jnthn dolmen_: oh scary
08:45 jnthn That was before I hacked on Rakudo. :-)
08:46 moritz_ huh, seems my last-minute tweaks to my patch broke Test.pm. Sigh.
08:48 dolmen_ rakudo: use Test; say "Hello"
08:48 p6eval rakudo b46a3b: OUTPUT«Hello␤»
08:49 moritz_ dolmen_: I didn't push them :-)
08:49 moritz_ that's nice about git - I committed locally, but haven't pushed yet
08:50 moritz_ if I don't commit things right away, I mix up changes, which is ugly in the commit history
08:57 am0c I heard that Perl5 cpan modules are converted or being converted to Perl6. where can I find them?
08:59 cxreg Bridge prevents you from doing fun things
08:59 cxreg rakudo: class Pi does Real { multi method Bridge { 3.14159265358979 };  }; use MONKEY_TYPING; augment class Real { multi infix:<==>(Pi,3) { 1 }; }; say Pi == 3
08:59 p6eval rakudo 807748: OUTPUT«0␤»
08:59 alc joined #perl6
09:00 jnthn cxreg: Well, also, a lexical multi decalred in the class body is going to have no influence at all outside of it. :-)
09:00 jnthn Unless you explicitly import it or some such.
09:00 cxreg orite
09:01 jnthn rakudo: class Pi does Real { multi method Bridge { 3.14159265358979 };  };  multi infix:<==>(Pi,3) { 1 }; say Pi == 3
09:01 p6eval rakudo 807748: OUTPUT«1␤»
09:04 cxreg sorry Bridge, my bad :)
09:07 Snowclone joined #perl6
09:08 jnthn It'll get over it.
09:15 snarkyboojum am0c: I'm not sure Perl5 cpan modules are being converted to Perl6, but you could find existing modules at http://modules.perl6.org
09:15 am0c snarkyboojum: thanks!
09:15 snarkyboojum am0c: welcome! :)
09:17 dolmen_ rakudo: (<a b c>.map: *.uc).perl.say
09:17 p6eval rakudo 807748: OUTPUT«("A", "B", "C")␤»
09:17 am0c <a b c>.uc.say
09:17 am0c rakudo: <a b c>.uc.say
09:17 p6eval rakudo 807748: OUTPUT«A B C␤»
09:18 sorear note that that is .Str.uc
09:18 am0c ah, I see that it's different.
09:18 sorear it joins and adds spaces before upcasing
09:19 dolmen_ my $mult = * * *; say $mult(5, 4);
09:19 dolmen_ rakudo: my $mult = * * *; say $mult(5, 4);
09:19 p6eval rakudo 807748: OUTPUT«20␤»
09:20 dolmen_ rakudo: my $mult = * * * * *; say $mult(5, 4, 8);
09:20 p6eval rakudo 807748: OUTPUT«160␤»
09:20 am0c rakudo: @( <a b c> ).uc.perl.say
09:20 p6eval rakudo 807748: OUTPUT«"A B C"␤»
09:20 am0c :(..
09:21 moritz_ rakudo: <a b c>>>.uc.perl
09:21 p6eval rakudo 807748:  ( no output )
09:21 cxreg ought MiniDBI be on modules.perl6.org ?
09:21 snarkyboojum rakudo: say ('a'..'c')>>.uc
09:21 p6eval rakudo 807748: OUTPUT«ABC␤»
09:21 moritz_ rakudo: say <a b c>>>.uc.perl
09:21 moritz_ snarkyboojum: yes
09:21 p6eval rakudo 807748: OUTPUT«("A", "B", "C")␤»
09:21 am0c yey.
09:22 dolmen_ rakudo: my $morse = - - * * - - - * * - *; say $morse(5, 4, 8);
09:22 p6eval rakudo 807748: OUTPUT«160␤»
09:24 moritz_ jnthn: wut. removing Substitution.pm causes weird compilation failures
09:26 jnthn moritz_: huh wut
09:26 jnthn dolmen_: ewww :P
09:28 dolmen_ rakudo: (- - * * - - - * * - *)(5, 4, 8);
09:28 p6eval rakudo 807748:  ( no output )
09:28 dolmen_ rakudo: (- - * * - - - * * - *)(5, 4, 8).say;
09:28 p6eval rakudo 807748: OUTPUT«160␤»
09:30 dolmen_ Perl 6 makes currying easy and fun!
09:31 tadzik oh my
09:31 * moritz_ has some pineapple curry at home in the fridge
09:31 dolmen_ moritz_++ # Thanks for your posts
09:31 tadzik these are truly golf clibs
09:31 tadzik * clubs
09:31 moritz_ dolmen_: you're welcome :-)
09:32 jnthn moritz_: That sounds tasty. :-)
09:33 moritz_ jnthn: especially with a few cashew nuts
09:33 dolmen_ rakudo: say sin 3
09:33 p6eval rakudo 807748: OUTPUT«0.141120008059867␤»
09:33 dolmen_ rakudo: (sin *)(3).say
09:34 p6eval rakudo 807748: OUTPUT«Method 'sin' not found for invocant of class 'Whatever'␤  in 'sin' at line 1934:CORE.setting␤  in main program body at line 22:/tmp/lIiPafHWmc␤»
09:34 moritz_ dolmen_: routine arguments don't curry
09:34 dolmen_ moritz_: so only operators?
09:34 moritz_ because many routines do work with *
09:34 moritz_ dolmen_: operators and invocants
09:35 moritz_ rakudo: say *.sin.(3)
09:35 p6eval rakudo 807748: OUTPUT«0.141120008059867␤»
09:35 dalek niecza: e55a205 | sorear++ |  (3 files):
09:35 dalek niecza: Add a spectest skeleton (we can't actually run any files yet without extensive
09:35 dalek niecza: fudging for stuff like eval)
09:35 dalek niecza: review: http://github.com/sorear/niecza/commit/e​55a205fa6b42c254870afa09fa622c4f75e3fde
09:36 dolmen_ rakudo: &infix:<+>.assuming(2).WHAT.say;
09:36 p6eval rakudo 807748: OUTPUT«Code()␤»
09:36 dolmen_ rakudo: &infix:<+>.assuming(2).assuming(4).WHAT.say;
09:36 p6eval rakudo 807748: OUTPUT«Code()␤»
09:36 dolmen_ rakudo: &infix:<+>.assuming(2).assuming(4)().say;
09:37 p6eval rakudo 807748: OUTPUT«6␤»
09:37 moritz_ sorear: maybe the t/0*/*.t tests from rakudo would be a good start?
09:38 am0c rakudo: sub a-b{1}; sub a{2}; sub b{3}; a-b
09:38 p6eval rakudo 807748:  ( no output )
09:38 am0c rakudo: sub a-b{1}; sub a{2}; sub b{3}; a-b().say
09:38 p6eval rakudo 807748: OUTPUT«1␤»
09:41 rgrau joined #perl6
09:42 niko joined #perl6
09:43 pugssvn r31831 | moritz++ | [perl6.org] add google webmaster verification tag for www.perl6.org
09:44 moritz_ whoops, accidentally commited a re-fudge at the same time
09:47 snarkyboojum cxreg: FakeDBI used to be there - not sure why MiniDBI isn't there
09:48 moritz_ is it in pls/poc-projects.list?
09:50 alc joined #perl6
09:52 cxreg would that be this?  http://github.com/masak/prot​o/blob/pls/poc-projects.list
09:52 moritz_ yes
09:52 pugssvn r31832 | moritz++ | [t/spec] correct some s/// tests, and unfudge them
09:53 tadzik oh, s/// alredy pushed?
09:53 cxreg then no, it's outdated
09:53 moritz_ tadzik: no, doing that in a few minutes
09:53 snarkyboojum ah - it's still fakedbi there
09:53 moritz_ you'll get a few test failures before I do
09:53 tadzik ah, these are specs
09:53 moritz_ so, pushed
09:56 dalek rakudo: 4884806 | moritz++ | src/Perl6/Actions.pm:
09:56 dalek rakudo: turn s/// into a call
09:56 dalek rakudo: This means it now works everywhere, not only on the RHS of smart-matching.
09:56 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4​884806bca49e2ff8646ae2212d0f782ec56732f
09:56 dalek rakudo: ed98e0f | moritz++ | src/Perl6/Actions.pm:
09:56 dalek rakudo: add :node to substitutions, to get line numbers in error messages
09:56 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​d98e0fe440e323dc3e692ddcf0648906153d170
10:00 snarkyboojum cxreg: I've renamed fakedbi to minidbi, so should be back in when the site refreshes
10:00 frettled snarkyboojum++
10:01 cxreg technically it's spelled MiniDBI but github seems not to care
10:02 mscha joined #perl6
10:03 moritz_ pls does
10:04 dual joined #perl6
10:05 moritz_ jnthn: ah, I see why it failed... there was a stubbed class Substitution in operators.pm, for smart-matching
10:06 snarkyboojum oh well - fixed the case for MiniDBI just in case
10:06 cxreg woot
10:06 jnthn moritz_: Ah!
10:06 snarkyboojum cxreg++
10:06 jnthn That woulda done it.
10:06 moritz_ and cxreg++
10:07 sorear rakudo: (* * *)(2,3).say # aliased?
10:07 p6eval rakudo 807748: OUTPUT«6␤»
10:07 cxreg o_O
10:09 rindolf joined #perl6
10:10 timbunce joined #perl6
10:10 cxreg is passing |@array the opposite of slurpy args?
10:10 moritz_ right
10:10 moritz_ ss/opposite of/complement to/ maybe
10:11 jww joined #perl6
10:11 jww hi.
10:11 rindolf Hi jww
10:11 jww is there some GUI module for perl6 yet ? like ncurses
10:12 xabbu42 joined #perl6
10:12 tadzik jww: you can probably use one through zavolaj
10:12 tadzik (that'd be a nice thing to port for R*)
10:12 sorear why zavolaj?  blizkost works better
10:13 jww umm I know none of the 2, lemme google about it :)
10:13 tadzik to have something in perl 6, not just "emulated"
10:13 moritz_ jww: zavolaj lets you call C functions, blizkost is the interface to Perl 5
10:13 snarkyboojum moritz_: currently try.rakudo.org:8090 runs out of cygx's home directory - don't really want to modify it in there
10:13 snarkyboojum (on feather3)
10:13 tadzik iirc blizkost is here to help porting modules, so you don't have to port all the deps at once
10:13 sorear NO
10:13 jww got it moritz_ .
10:14 sorear blizkost is to make it so modules never have to be ported at all
10:14 tadzik hmm
10:14 sorear the Perl 6 Tk module is Tk:from<perl5> - I've tested it, it works, there's example code in the blizkost repo
10:14 jww sorear: great !
10:14 jww thanks for your help guys.
10:14 sorear perl 6 will be useless if all modules need to be rewritten for it.
10:14 jnthn It can serve both roles, but using Perl 5 modules from Perl 6 should really be seen as a fine thing to be doing. :-)
10:15 jnthn "We have the technology."
10:15 sorear binding is not a four-letter word
10:15 sorear (note: blizkost has a LOT of rough edges and you may be better off writing your own version.  Sorry.)
10:16 jnthn There are some naughty 7 letter words too :-)
10:16 cxreg wasnt there some noise recently about someone resurrecting ponie?
10:17 Trashlord joined #perl6
10:17 sorear ponie is not dead
10:17 sorear ponie is an idea, it can never die
10:17 tadzik sorear: I think some things would be nice to port to take advantage of P6's features, grammars e.g.
10:17 moritz_ cxreg: masak said "it would be fun to resurrect", but I doubt it :-)
10:17 cxreg moritz_: is there anything ponie could do that blizkost can't?
10:18 sorear tadzik: sure
10:18 cxreg besides "not use libperl"
10:18 moritz_ and fail to use XS, at the same time
10:18 tadzik sorear: tbh, I see in keeping using perl 5 modules having something so awesome as perl 6
10:18 tadzik * I see no future
10:18 moritz_ cxreg: maybe it would make cross-HLL calls faster. No idea if it's worth it
10:18 tadzik got a little lost in my own thoughts
10:19 dalek rakudo: 9808d7c | moritz++ |  (4 files):
10:19 dalek rakudo: remove old Substitution hack
10:19 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/9​808d7c3ee3b4e7c48b71bb51853cf94afb3afe6
10:19 sorear tadzik: don't underestimate the value of legacy code
10:19 tadzik I wouldn't like to see Perl 6 being "better Perl, but still using Perl 5 code because it is alredy written"
10:19 sorear *phew*
10:19 sorear moritz++ I was worried Substitution might be something I'd have to steal
10:20 tadzik rather as "better Perl, able to use its advantages to be better"
10:20 moritz_ :-)
10:20 tadzik just my little thoughts,maybe I'm wrong
10:20 sorear tadzik: the two are not mutually exclusive.
10:21 sorear think about how long it would take you to write a TCP/IP stack in Perl 6
10:21 cxreg half of CPAN is replaced with operators in Perl 6 anyway :)
10:21 tadzik sorear: especially when Perl 6 will eventually become faster than Perl 5 (and I believe it will)
10:21 sorear tadzik: computers are cheap.  replacing CPAN will cost billions.
10:22 sorear replacing every other language that perl 6 uses will cost even more
10:23 tadzik )
10:23 moritz_ I'm with sorear here - even if want to port all good p5 modules to p6, it'll take decades
10:23 tadzik (I meant implementations of course). Well, you are right, computers are cheaper than programmers
10:23 sorear I don't think you comprehend the magnitude of what you're asking for
10:24 moritz_ I mean, 20k distributions are quite a number
10:24 tadzik sure they do
10:24 tadzik * are
10:25 moritz_ and even if 10% are not necessary in p6 (like, Moose), and 20% is crap (I don't agree that 90% of everything is crap), there's quite some modules left
10:25 tadzik or whatever. In theory it'd probably be better to have everything Perl 6, but practice stands in a way
10:26 cxreg moritz_: maybe audreyt has a free weekend
10:27 sorear tadzik: do you live in a country where the monetary system has been abolished?
10:27 cxreg i keep coming up with half-formed thoughts about debuggers
10:27 tadzik sorear: sure no
10:27 tadzik as I said, what I was thinking about is probably unreal
10:30 * cxreg ponders PPI written in perl6
10:30 jnthn cxreg: It already is. See STD. ;-)
10:31 jnthn Or Rakudo's Perl6::Grammar. :-)
10:31 cxreg i mean literally, for p5
10:31 jnthn Oh, OK. :-)
10:32 moritz_ also being worked on
10:32 moritz_ in STD.pm6
10:32 cxreg orly
10:32 jnthn http://svn.pugscode.org/pugs/src/perl6/STD_P5.pm6
10:32 moritz_ at least when TimToady++ has tuits :-)
10:33 macroron joined #perl6
10:36 jaffa4 joined #perl6
10:36 jaffa4 hi
10:36 jnthn rakudo: my $x = "lalalal"; $x ~~ s:g/a/o/; say $x;
10:36 azert0x joined #perl6
10:36 p6eval rakudo 807748: OUTPUT«lololol␤»
10:37 pmurias cxreg: re 'also being worked on' you are very welcome to work on that
10:38 jaffa4 rakudo: my $x = "lalalal"; $x ~~ m:g/a/o/; say $x;
10:38 p6eval rakudo 807748: OUTPUT«===SORRY!===␤Confused at line 22, near "$x ~~ m:g/"␤»
10:38 perlygatekeeper joined #perl6
10:39 timbunce rakudo: my $url = ""; say 1 if $url ~~ s/^dbdi:postgres://;
10:39 p6eval rakudo 807748: OUTPUT«===SORRY!===␤Confused at line 22, near "say 1 if $"␤»
10:39 jaffa4 Rakudo star
10:39 * timbunce is confused as well
10:39 jaffa4 Is it coming as planned?
10:39 moritz_ timbunce: you need to escape those :
10:40 timbunce moritz_: d'oh. thanks!
10:40 moritz_ timbunce: every character that does not match \w is potentially a meta character
10:40 moritz_ std generally gives better error messages
10:41 moritz_ std: my $url = ""; say 1 if $url ~~ s/^dbdi:postgres://;
10:41 p6eval std 31832: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unrecognized regex modifier :postgres at /tmp/J5kH8ITQXD line 1:␤------> [32m = ""; say 1 if $url ~~ s/^dbdi:postgres[33m⏏[31m://;[0m␤Unrecognized regex metacharacter : (must be quoted to match literally) at /tmp/J5kH8ITQXD line 1:␤------> [32m=
10:41 p6eval ..…
10:41 jnthn Wonder if we can steal that error.
10:43 tadzik jaffa4: seems so
10:43 jnthn Yes, still on track for 29th.
10:44 jaffa4 greaat
11:12 szabgab rakudo: 'szabgab' .oO 'this is great'
11:13 p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Confused at line 22, near "'szabgab' "␤»
11:13 szabgab rakudo: sub infix:<.oO>($a, $b) { say "$a thinks $b" }; 'szabgab' .oO 'this is great'
11:13 p6eval rakudo 9808d7: OUTPUT«szabgab thinks this is great␤»
11:13 szabgab better
11:13 alc joined #perl6
11:13 szabgab shold be part of the language
11:15 tadzik rakudo: sub infix:<.oO>($a, $b) { say "$a thinks $b" }; 'tadzik' .oO('does this work with parens too?')
11:15 p6eval rakudo 9808d7: OUTPUT«tadzik thinks does this work with parens too?␤»
11:15 tadzik yay
11:18 mscha rakudo: sub postfix:<!>($n) { [*] 1..$n }; say 3!; say 3!!; say 3!!!
11:18 p6eval rakudo 9808d7: OUTPUT«6␤720␤»
11:21 szabgab rakudo: sub postfix:<!>($n) { [*] 1..$n }; say 2!!; say 2!!!
11:22 timbunce rakudo: class c { method foo($s) { $s ~~ s/a/b/; } }; c.new.foo("a") # bug
11:22 p6eval rakudo 9808d7: OUTPUT«2␤2␤»
11:22 p6eval rakudo 9808d7: OUTPUT«Cannot modify readonly value␤  in '&infix:<=>' at line 1␤  in 'c::foo' at line 22:/tmp/vuF1uNuxfE␤  in main program body at line 22:/tmp/vuF1uNuxfE␤»
11:22 timbunce umm, I get "Null PMC access in find_method('new')" for that
11:23 timbunce in a sub it says "Cannot modify readonly value" but in a class method I get "Null PMC access in find_method('new')".  # This is Rakudo Perl 6, version 2010.07-29-gf7fdd51 built on parrot 2.6.0 r48152
11:26 [particle]1 joined #perl6
11:27 _jaldhar joined #perl6
11:28 hercynium joined #perl6
11:30 mulander joined #perl6
11:32 mulander do I understand correctly that the perl 6 rules functionality will greatly help in parsing things like programming language grammar?
11:32 mulander btw hi all :)
11:32 tadzik hey and yes :)
11:32 tadzik In fact, Perl6 is parsed by Perl 6 grammars
11:33 ldd joined #perl6
11:33 mulander so in order to parse a pascal like language one would define a grammar consiting of rules describing the language from the top level unit down to expression level and then just use grammar.parse($source). Correct?
11:34 jnthn szabgab: re .oO
11:34 jnthn rakudo: use MONKEY_TYPING; augment grammar Perl6::Grammar { token comment:sym<`> { <sym> <quote_EXPR> } } Perl6::Grammar!protoregex_generation(); eval(' say 42; .oO( heh heh )');
11:34 tadzik why "a pascal like?" ;) But yes
11:34 p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Confused at line 22, near "augment gr"␤»
11:34 jnthn er, gah
11:34 mulander tadzik: 'a pascal like' because that's what I had to do recently :)
11:35 jnthn rakudo: use MONKEY_TYPING; augment grammar Perl6::Grammar { token comment:sym<.oO> { <sym> <quote_EXPR> } }; Perl6::Grammar!protoregex_generation(); eval(' say 42; .oO( heh heh ); say 42;');
11:35 tadzik oh, ok :)
11:35 jnthn That one :-)
11:35 p6eval rakudo 9808d7: OUTPUT«42␤42␤»
11:35 tadzik mulander: here you can see an exapmle of modifying Perl 6 grammar to add new keywords, if I understand it correctly
11:35 jnthn (We write a Perl 6 program that monkey-patches the grammar with a new type of comment, and then val some code under the now-twiddled grammar, and note how .oO is parsed as a comment now).
11:35 jnthn *eval
11:36 jnthn BTW, I totally didn't show you how to do this. <innocent look>
11:36 tadzik this deserves a blog post or something
11:37 tadzik Perl6::Grammar!protoregex_generation();
11:37 tadzik what does it do?
11:37 jnthn tadzik: Forces the LTM tables to be re-built.
11:37 jnthn tadzik: Essentially a cache-flush
11:38 jnthn It's very Rakudo specific. :-)
11:38 tadzik so why does one need eval here?
11:38 jnthn tadzik: Because we're modifying the parser in our Perl 6 program. But we have to compile and run that program to do the changes. So we need an eval so that we run the code that uses the language tweak with the tweaked grammar.
11:39 tadzik jnthn: how would it have to be done for our code to accept such things?
11:39 jnthn tadzik: Note if we did this properly, it'd be with the keyword "slang" and it'd do the tweaks at BEGIN time and immediately augment the grammar.
11:39 jnthn But not the global grammar class but ratehr a mix-in to the current instance.
11:40 jnthn Anyway, I think this shows that we're not a million miles of being able to support slang.
11:40 jnthn But then I guess it should just be like
11:40 jnthn hmm, I forget the syntax akshually :-)
11:42 jnthn augment slang MAIN { token comment:sym<.oO> { <sym> <quote_EXPR> } }; say "ok!" .oO( now we can comment like this )
11:49 szabgab jnthn: that monkey type did not work, did it?
11:49 sng2c joined #perl6
11:49 szabgab I have not seen he he
11:50 jnthn szabgab: Why should you - it's a comment!
11:50 szabgab oh
11:50 szabgab aha
11:50 jnthn szabgab: This made .oO( whatever here ) be parsed like #`( whatever here ) :-)
11:50 szabgab but we need that eval
11:50 sng2c hello there
11:50 szabgab can't we do without the eval?
11:51 jnthn szabgab: Not really until "slang" is implemented.
11:51 szabgab ok
11:51 szabgab thanks
11:52 jnthn What I just did comes with a big "don't really do this" sticker on it. ;-)
11:55 szabgab I am going to blog about this :)
11:56 tadzik joined #perl6
11:56 frettled Is that a threat?
11:56 szabgab maybe do a presentation with a T-shirt saying "don't really do this"
11:57 frettled szabgab: Do this at home<small>(not work)</small>
11:57 frettled oops, sorry about that inverse background
11:58 frettled jnthn: I can hardly wait for slang to be implemented.
11:59 moritz_ then implement it :-)
11:59 zulon joined #perl6
12:00 * frettled twitches as if mst had just said «congrats, you just volunteered, mate!»
12:00 tadzik Sounds like another "your weekly contribution to Rakudo" :)
12:01 felliott moritz_: thanks for applying my patch
12:01 felliott should I unfudge the tests for it now?
12:01 moritz_ yes
12:01 frettled tadzik: it would be kind of cool to do that, if I am up to it.
12:02 tadzik frettled: shouldn't be too hard if I knew where to write code, and what to write :)
12:02 felliott will do
12:03 Maddingue joined #perl6
12:04 bluescreen joined #perl6
12:04 sorear pmichaud says NQP-rx
12:04 sorear pmichaud says "no" to roles in NQP-rx
12:04 sorear which means that rakudo won't get slangs until after the grammar is bootstrapped in perl6
12:04 pugssvn r31833 | felliott++ | unfudge tests for non-num arguments to xx
12:04 sorear so no rush.
12:05 pugssvn r31834 | felliott++ | unfudge test for empty replacement string
12:07 jnthn sorear: I think pmichaud++'s position may be a little more nuanced than just "no roles ever"
12:08 jnthn sorear: We just don't have a clean way to do them at the moment in a "subset of Perl 6" sense.
12:08 jnthn sorear: The object model re-work I'm about to embark on after R* could well make that much, much more practical.
12:08 moritz_ sorear: parrot supports some hacky role composition mechanism. That could be used for slangs, even if not with NQP syntax
12:09 jnthn moritz_: I'd rather just wait for us to have it done properly in the refactor though, tbh.
12:09 moritz_ jnthn: yes, I'm just going throug some possibilities in my head
12:10 jnthn OK :-)
12:11 jnthn Also http://scg.unibe.ch/archive/pape​rs/Duca05ySafeMetaclassTrait.pdf has some interesting ideas and may mean that we want some basic form of roles at a fairly low level in the meta-model anyway.
12:12 moritz_ jnthn: has the grant been approved yet?
12:12 jnthn moritz_: Not yet, no.
12:14 * moritz_ prints the paper for later reading
12:17 envi^home joined #perl6
12:18 sorear hey, I remember this paper
12:18 sorear (maybe it'll make sense now)
12:32 dalek niecza: 75dc053 | sorear++ |  (5 files):
12:32 dalek niecza: Lift lift_decls into a separate compiler pass
12:32 dalek niecza: review: http://github.com/sorear/niecza/commit/7​5dc053cc44091d72287b28bd8f19a77c2e92dab
12:32 dalek niecza: 726e4a4 | sorear++ |  (2 files):
12:32 dalek niecza: Remove decls fossil
12:32 dalek niecza: review: http://github.com/sorear/niecza/commit/7​26e4a4840d4f155d1791484641af04acbf04ebe
12:37 gfldex joined #perl6
12:42 rgrau_ joined #perl6
12:45 gfldex rakudo: sub a(%p1?){ %p1<a> = 1 };a();
12:45 p6eval rakudo 9808d7: OUTPUT«Null PMC access in invoke()␤  in 'a' at line 1␤  in main program body at line 22:/tmp/9VI2Pgexbm␤»
12:45 gfldex is that intentional?
12:45 jnthn Null PMC Access is never intentional.
12:45 jnthn wtf...
12:46 gfldex i haz a bug :)
12:46 jnthn Indeed.
12:46 jnthn sub a(%p1?){ say %p1 }; a();
12:46 jnthn rakudo: sub a(%p1?){ say %p1 }; a();
12:46 p6eval rakudo 9808d7: OUTPUT«Hash[0x7fb4290]␤»
12:47 jnthn ...huh.
12:47 jnthn Definite Rakudo bug, anyway.
12:47 [Coke] (null pmc) you should really never see /any/ parrot errors, ja.
12:47 jnthn Ja.
12:47 gfldex where do i report bugs?
12:47 jnthn Es ist kaputt!
12:47 [Coke] rakudobug?
12:48 gfldex and shouldn't point www.rakudo.org to that location?
12:48 [Coke] jnthn: mehr bier!
12:48 jnthn gfldex: Email to rakudobug@perl.org
12:48 [Coke] http://www.rakudo.org/how-to-help
12:48 jnthn http://www.rakudo.org/submit-a-bug-report
12:49 jnthn uh, the page [Coke] referenced is, ironically, better...
12:49 [Coke] jnthn: yah. it's also linked to off the main page.
12:49 jnthn [Coke]: So is the one I linked to, bizzarely under the link "Developer's Guide"
12:50 [Coke] jnthn: wow. some seriously SEO going on there. =-)
12:50 [Coke] er, insert adjective before SEO.
12:50 [Coke] nqp question. if I'm using nqp's expr parser, shouldn't I get parens for free?
12:51 moritz_ if you define a postcircumfix:<( )>, I think so, yes
12:51 [Coke] nothing defined by default for grouping?
12:51 * moritz_ not sure
12:51 jnthn er, circumfix:<( )>
12:51 jnthn :-)
12:51 moritz_ yes
12:51 moritz_ what jnthn++ said
12:52 jnthn [Coke]: Well, it's free in that you automatically get term:sym<circumfix>
12:53 [Coke] jnthn: Do I need to define an action for it?
12:53 jnthn [Coke]: For which?
12:53 jnthn Your circumfix:sym<( )>?
12:54 [Coke] yes.
12:54 jnthn [Coke]: Yes
12:54 jnthn [Coke]: See NQP's Actions.pm for how it could look
12:55 jnthn Only a few lines.
12:55 [Coke] stealing from perl6, actually. I'll try that. =-)
12:57 dolmen_ joined #perl6
12:57 [Coke] nope.
12:58 gfldex rakudo: sub a (%p1 is ro){ %p1<a> = 1 }; my %h; a(%h);
12:58 p6eval rakudo 9808d7:  ( no output )
12:58 tadzik ha, gotcha
12:58 alexm joined #perl6
12:58 gfldex should i be allowed to change a hash that is set to ro?
12:59 tadzik yes, locally
12:59 moritz_ gfldex: you shouldn't be allowed to assign to it, but you can modify elements
13:00 [Coke] jnthn: hurm. nqp does not have a term:sym<circumfix>, but rakudo does.
13:00 colomon If someone has a few minutes to spare, could someone sanity check Math::Vector for me?  It should be in the proto/pls/ufo world now...
13:01 moritz_ nqp: say(1+(2+5))
13:01 p6eval nqp: OUTPUT«8␤»
13:01 alexm hi tadzik, i finished translating your Perl 6 presentation into Catalan but i have a couple of doubts
13:02 [Coke] moritz_: right, I just don't see where it's declaring that syntax.
13:02 alexm does nierozwijany mean abandoned, maybe?
13:02 tadzik yeah, can be used in this context
13:02 alexm it refers to PUGS in slide 17
13:02 tadzik yeah, I remember
13:02 tadzik nierozwijany is "no one works on it, extends it"
13:03 alexm ok i see
13:03 salv0 joined #perl6
13:03 alexm and what about nienajpiękniejszej?
13:03 tadzik heh
13:03 alexm it's on slide 19 and i think it refers to too much complicated syntax
13:03 tadzik I'm not sure it's a valid Polish, but I like wordplaying ;)
13:03 jnthn Awesome word :-)
13:03 tadzik not the most beautiful :)
13:03 tadzik (literally)
13:04 jnthn tadzik: Oh heh, my guess (from Slovak similarity) was going to be "not the prettiest" :-)
13:04 tadzik jnthn: almost the sae thing :)
13:04 alexm ok, i got some parts like beautiful and unsatisfied removing some chars ;)
13:04 jnthn tadzik: But in Slovak prettiest is an irregular superlative.
13:05 jnthn nenajkrasie or some such i guess :-)
13:05 tadzik :)
13:05 jnthn oh, prob nenajkrajsie
13:05 PerlJam good $localtime all
13:05 tadzik 'afternoon
13:05 moritz_ oh hai
13:05 jnthn o/ moritz_
13:05 jnthn oh, wait
13:05 jnthn o/ PerlJam
13:06 * jnthn should read more than line :)
13:06 tadzik jnthn: I never know why do we call dwarves "krasnoludy" -- they're not krasnij at all ;)
13:06 jnthn lit "beautiful people"? :-)
13:06 jnthn hehe
13:06 tadzik :)
13:06 jnthn maloludy would seem more appropriate :-)
13:07 mj41 joined #perl6
13:07 [mark] joined #perl6
13:07 [mark] left #perl6
13:09 alexm tadzik: well then, catalan translation is already finished, i'll let you know how it goes on Thu :)
13:09 tadzik alexm: great :)
13:10 tadzik alexm: are you mongers also celebrating R* then?
13:11 alexm tadzik: sure!
13:11 tadzik we decided celebrating on Fri after my presentation
13:12 tadzik (before it people were saying "Ha ha! Even Perl 5.20 will come before Perl 6!")
13:12 jnthn tadzik: Is there regular meeting PM group where you are? :-)
13:13 PerlJam tadzik: I think the tune will change with R*.  It'll be more like  "Where's CPAN?  How can I do X?  How come I get these strange errors?  When will Perl 6 be fast?"  etc.
13:13 [Coke] PerlJam: ... and while that /is/ an improvement, it still sounds bad. =-)
13:13 * alexm planning to start with a quick tutorial on getting rakudo installed, then your presentation and if they want more, try pmichaud's oscon presentation ;)
13:13 tadzik jnthn: not regular :)
13:13 frettled .oO( Perhaps we need signed packages )
13:14 tadzik PerlJam: I don't think so, they're more-less prepared, know what to expect
13:14 PerlJam [Coke]: As long as the chorus is big, we know we've got a good following :)
13:15 tadzik jnthn: not really. Before the worskhop week ago the ast meeting was in December. Now there's a second one this month :)
13:15 jnthn tadzik: Nice :-)
13:15 jnthn tadzik: In Warsaw?
13:15 tadzik jnthn: yep
13:15 jnthn Never really been there. :-)
13:16 tadzik jnthn: you're from Slovakia?
13:16 * mulander is also from Poland :)
13:16 tadzik mulander: skąd? :)
13:16 jnthn tadzik: No, I'm from England originally.
13:16 mulander tadzik: Sanok, podkarpacie
13:16 jnthn tadzik: I lived in Slovakia for 2 years and learned a bit.
13:16 tadzik jnthn: Worthington (am I right?) does not sound Slovak to me, hence my curiosity :)
13:17 jnthn tadzik: I visited Krakow and Zakopane in Poland. :-)
13:17 jnthn Kinda miss that part of the world though. Maybe I'll get chance to drop by Warsaw for a PM meet some day. :-)
13:17 tadzik would be nice :)
13:18 tadzik jnthn: one of our mongers is in London now, even messing on London.pm
13:18 jnthn :-)
13:19 lrnperl6 joined #perl6
13:19 lrnperl6 hi #perl6
13:20 tadzik ho, something sounds like screencasts :)
13:20 tadzik hello lrnperl6
13:21 * alexm liked Slovakia, been there for vacation once
13:21 jnthn alexm: Aye, it's lovely.
13:21 jnthn alexm: Where'd you go?
13:21 tadzik alexm: I was wondering where do people like Spanish go on vacation :) Colder places, huh? :)
13:22 moritz_ tadzik: or other parts of spain :-)
13:22 tadzik :)
13:22 alexm jnthn: i was a few days in Bratislava and then went to the Vysoké Tatry, spent a week hiking there
13:23 jnthn Nice places.
13:23 jnthn Bratislava is where I lived.
13:23 tadzik Vysoke Tatry, on the other side of our Tatry :)
13:24 jnthn tadzik: Aye, that's how I ended up in Zakopane - around from the Slovak side of the Tatry. :-)
13:24 alexm tadzik: also went to the other side but we were living near Strbske Pleso
13:24 jnthn .oO( let's have tourist places named with as few vowels as possible! )
13:24 tadzik alexm: will accept your pull request, I don't understand spanish so I can't review it :)
13:25 tadzik But I'm starting to learn it in the new semester on Unio
13:25 alexm tadzik: it's not Spanish it's Catalan
13:25 alexm they are quite different, though have common root indeed
13:25 tadzik alexm: pardon my faux pas, what's the difference?
13:26 tadzik some kind of dialect?
13:26 alexm Catalan is not a dialect of Spanish, it is a full language on its own
13:26 alexm tadzik: http://en.wikipedia.org/wiki/Catalan_language
13:26 gfldex and bound to a different culture
13:26 alexm gfldex: true
13:27 alexm there are other full languages in Spain, like Galician, Basque, Asturian, etc.
13:27 gfldex and your faux pas is well crafted since the catalans (catalanians?) developted the urge to split of from spain lately :)
13:27 alexm gfldex: :)
13:28 Kodi joined #perl6
13:31 tadzik I see
13:32 tadzik we have Kaszubi, they have language and culture on their own but not willing to split
13:32 * jnthn looks it up out of curiosity
13:33 tadzik pff, apply failed
13:33 tadzik alexm: how about making the separate directory for it?
13:34 alc joined #perl6
13:35 alexm tadzik: then i should copy the .png files or reference them as ../file.png?
13:35 tadzik hmm
13:36 tadzik I'll merge it on my own laptop, not via github, and see what exactly fails
13:37 alexm tadzik: do you think it's worth the effort? you can ignore the pull request, don't worry
13:37 tadzik alexm: curiosity killed the cat, and taught tadzik a bit about git :)
13:37 Maddingue hello guys
13:38 tadzik o/
13:38 Maddingue I am unable to remember or to find what is the name of the current effort for embedding perl5 within Rakudo
13:38 Maddingue could someone point me to the correct location?
13:38 moritz_ blizkost
13:38 Maddingue ah tanks
13:38 Maddingue thanks
13:38 tadzik alexm: see? local merge was successfull
13:39 alexm tadzik: interesting, i will remember that just in case
13:39 Maddingue moritz++
13:40 * tadzik looks at the slides, out of curiosity
13:40 tadzik alexm: is pdf so pixelated on your machine too?
13:40 molecules joined #perl6
13:41 alexm tadzik: you mean pixelated fonts or images?
13:41 tadzik alexm: fonts
13:42 alexm yeah, they are :(
13:42 tadzik hmm
13:42 tadzik will try to compile it here, let's see what happens
13:42 MarkSenn joined #perl6
13:42 alexm maybe i lack the T1 fonts
13:43 tadzik alexm: looks hell better, will push to git
13:43 alexm tadzik: please, do
13:43 tadzik alexm: done
13:44 alexm tadzik: are you working on linux?
13:44 tadzik alexm: yep
13:44 tadzik oh, about the references syntax
13:45 tadzik mongers in warsaw said that in Perl5 only the first -> is required, so in Perl6 we save just one ->, maybe you can work out some better example on how the Perl5 dereferencing is ugly :)
13:45 moritz_ tadzik: compare:  my $a = [1, 2, 3]; $a.push: 4
13:45 moritz_ to
13:46 moritz_ my $a = [1, 2, 3]; push @$a, 4
13:46 moritz_ that's not too but
13:46 moritz_ but once you one more level nesting, you need to wrte
13:46 tadzik ...but when we put it in a hashref…
13:46 * [Coke] wonders why it's $a.push: 4 and not $a.push(4)
13:46 moritz_ push @{$a->{b}}, 5
13:46 jnthn [Coke]: They're equivalent.
13:46 moritz_ [Coke]: both work
13:46 jnthn [Coke]: Mostly matter of style.
13:46 [Coke] yes, but I would never write push: 4. =-)
13:46 [Coke] So I wonder why moritz_ does. =-)
13:46 moritz_ as opposed to $a<b>.push: 5
13:47 tadzik [Coke]: push: 4 has less noise-to-code ratio
13:47 tadzik moritz_: nice example, moritz_++
13:47 moritz_ [Coke]: because parens are harder to type on my keyboard than the colon
13:47 Kodi Outside of Lisp, less parentheses are more.
13:47 tadzik alexm: this would give more positive emotions :)
13:48 dolmen_ Maddingue: http://github.com/jnthn/blizkost
13:48 alexm tadzik: but that will derive from your presentation, it wouldn't be a mere translation
13:48 alexm maybe i can show that example on the blackboard
13:49 tadzik alexm: but this is a better example, I'm thinking about changing it in mine, if that changes anything anyway
13:49 [Coke] You can't use the colon syntax on a random sub, correct?
13:49 tadzik [Coke]: only with object.method iirc
13:49 moritz_ [Coke]: correct. It's methods only
13:49 [Coke] ew.
13:49 alexm tadzik: then i prefer that you change the example first :P
13:50 tadzik alexm: will do :)
13:50 alexm tadzik++
13:52 jnthn .oO( I should probably sort out my YAPC presentation soon :-) )
13:53 tadzik I wonder whether to use push: 4 here
13:54 dolmen_ rakudo: my $a = <1, 2, 3>; 4 ==> $a.push; $a.perl.say
13:54 p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Sorry, do not know how to handle this case of a feed operator yet. at line 22, near " $a.push; "␤»
13:55 jnthn dolmen_: That'd need to be 4 ==> $a.push((*)); iirc
13:55 jnthn dolmen_: But NYI
13:55 MarkSenn left #perl6
13:55 dolmen_ rakudo: my $a = <1, 2, 3>; 4 ==> &$a.push; $a.perl.say
13:55 p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name at line 22, near "&$a.push; "␤»
13:55 jnthn dolmen_: like this
13:56 jnthn rakudo: my @a = <1 2 3>; 4 ==> @a; @a.perl.say
13:56 p6eval rakudo 9808d7: OUTPUT«["1", "2", "3", 4]␤»
13:56 jnthn dolmen_: The pushing is implicit.
13:57 tadzik alexm: changes pushed
13:57 pugssvn r31835 | Kodi++ | [S32/Temporal] Specified how DateTime.new(Int) should interpret ambiguous input.
13:57 gfldex I have defined an infix:<=> and rakudo is telling me that it can't find a candidate for it. It shows me all candidates it knows about, what is nice and dandy but I would rather know what it's looking for instead of what it could find. Is there any way to find out what it's looking for?
13:58 pugssvn r31836 | Kodi++ | [t/spec] More Temporal tests.
13:58 tadzik alexm: the note says: During the presentation the above example was different, I've changed it to underline the benefits
13:58 tadzik alexm: you can omit this last note
13:58 Maddingue dolmen_: moritz_ already gave me the answer, but thanks :)
13:58 dolmen_ rakudo: my @a = <1, 2, 3>; @a ==> say;
13:58 p6eval rakudo 9808d7: OUTPUT«1,2,3␤»
13:59 dolmen_ rakudo: my @a = <1, 2, 3>; (@a ==> perl).say;
13:59 p6eval rakudo 9808d7: OUTPUT«Could not find sub &perl␤  in main program body at line 22:/tmp/hnQ0bSPwi3␤»
13:59 jnthn .perl is only a method
14:00 dolmen_ What is the semantics of "@a ==>" ?
14:01 Guest45518 joined #perl6
14:01 dolmen_ Feed each element to the right part ?
14:01 xinming_ joined #perl6
14:01 dolmen_ rakudo: my @a = <1, 2, 3>; (@a ==> *)(say);
14:01 jnthn dolmen_: Yes
14:01 p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Sorry, do not know how to handle this case of a feed operator yet. at line 22, near " *)(say);"␤»
14:02 jnthn dolmen_: At the moemnt, it only allows you to write either a sub call or a variable on the sharp end
14:02 jnthn dolmen_: In the future, it should look for anywhere you wrote a (*) and accept that case too.
14:02 jnthn But I didn't get to that yet.
14:02 jnthn It's a little "fun" to write. :)
14:03 Sexus joined #perl6
14:03 dolmen_ rakudo: my @a = <1, 2, 3>; (* ==> say)(@a);
14:03 p6eval rakudo 9808d7: OUTPUT«Whatever()<0x80ae530>␤invoke() not implemented in class 'Boolean'␤  in main program body at line 22:/tmp/B40E115s93␤»
14:04 jnthn dolmen_: In that case you're doing same as (say(*))(@a)
14:04 jnthn dolmen_: ==> doesn't declare a curried sub
14:05 jnthn dolmen_: Feed operators are kinda syntactic-ish rather than dispatch-ish.
14:05 jnthn dolmen_: We actually promote each "phase" to a closure.
14:05 moritz_ rakudo: <a b c> ==> say
14:05 p6eval rakudo 9808d7: OUTPUT«abc␤»
14:05 moritz_ rakudo: <a b c> ==> &say
14:05 p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Sorry, do not know how to handle this case of a feed operator yet. at line 22, near " &say"␤»
14:06 moritz_ rakudo: <a bc d> ==> grep { .chars == 1} ==> say
14:06 p6eval rakudo 9808d7: OUTPUT«ad␤»
14:06 dolmen_ rakudo: my $say = say(*); <a b c> => $say;
14:06 dolmen_ rakudo: my $say = say(*); <a b c> ==> $say;
14:06 p6eval rakudo 9808d7: OUTPUT«Whatever()<0x755f600>␤»
14:06 p6eval rakudo 9808d7: OUTPUT«Whatever()<0x7b1f9c0>␤Method 'push' not found for invocant of class 'Bool'␤  in main program body at line 22:/tmp/fSXs7brk6i␤»
14:07 moritz_ does it just stuff additional arguments to the last call?
14:07 jnthn moritz_: Correct
14:07 jnthn moritz_: Or if it's a variable, tries to .push onto it.
14:07 moritz_ jnthn: kinda makes sense
14:08 jnthn &say is a varialbe not a call
14:08 jnthn Well
14:08 jnthn Actually it's...weird. :-)
14:08 moritz_ it's more like a compile-time constant, no?
14:08 jnthn Yeah
14:08 dolmen_ rakudo: say (&say).WHAT
14:08 p6eval rakudo 9808d7: OUTPUT«Multi()␤»
14:08 alexm tadzik: has trouble accepting your changes too into my fork, how did you pull them locally, git pull ...?
14:09 dolmen_ rakudo: say (say).WHAT
14:09 p6eval rakudo 9808d7: OUTPUT«␤Bool()␤»
14:09 mathw note the extra newline in there
14:09 mathw it called say twice :)
14:10 dolmen_ called once without args, then called with .WHAT result
14:10 pugssvn r31837 | moritz++ | [t/spec] unfudge passing test in for.t
14:11 dolmen_ std: my @a = <1, 2, 3>; (@a ==> *)(say);
14:12 p6eval std 31836: OUTPUT«Potential difficulties:␤  Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/ToUGgrnJOA line 1:␤------> [32mmy @a = <1, 2, 3>; (@a ==> *)(say[33m⏏[31m);[0m␤ok 00:01 118m␤»
14:12 tadzik alexm: git pull git://bla.bla.tadzik.slides master:master
14:12 dolmen_ std: my @a = <1, 2, 3>; (@a ==> *)(&say);
14:12 p6eval std 31836: OUTPUT«ok 00:01 122m␤»
14:12 tadzik maybe master:master can be ommited
14:12 dolmen_ rakudo: my @a = <1, 2, 3>; (@a ==> *)(&say);
14:12 p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Sorry, do not know how to handle this case of a feed operator yet. at line 22, near " *)(&say);"␤»
14:13 dolmen_ rakudo: say <a b c>.*.WHAT;
14:13 p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Confused at line 22, near "say <a b c"␤»
14:13 dolmen_ std: say <a b c>.*.WHAT;
14:13 p6eval std 31836: OUTPUT«[31m===[0mSORRY![31m===[0m␤Confused at /tmp/lJccSrH0Pl line 1:␤------> [32msay <a b c>.*[33m⏏[31m.WHAT;[0m␤    expecting dotty method or postfix␤Parse failed␤FAILED 00:01 116m␤»
14:13 tadzik rakudo: (say "foo").WHAT.say # btw, what does say return?
14:13 p6eval rakudo 9808d7: OUTPUT«foo␤Bool()␤»
14:14 gfldex rakudo: class A {}; sub infix:<=>(A $a, $value){ return $a; }; my $a = A.new(); $a = 1;
14:14 p6eval rakudo 9808d7: OUTPUT«Nominal type check failed for parameter '$a'; expected A but got Any instead␤  in 'infix:<=>' at line 22:/tmp/D6utJ4Rqcu␤  in main program body at line 22:/tmp/D6utJ4Rqcu␤»
14:15 alexm tadzik: rejected, non-fast-forward (i think i'll fork yours from scratch)
14:15 gfldex std: class A {}; sub infix:<=>(A $a, $value){ return $a; }; my $a = A.new(); $a = 1;
14:15 p6eval std 31836: OUTPUT«Potential difficulties:␤  $value is declared but not used at /tmp/Zb4_Hm3eiV line 1:␤------> [32mclass A {}; sub infix:<=>(A $a, [33m⏏[31m$value){ return $a; }; my $a = A.new(); [0m␤ok 00:01 122m␤»
14:15 tadzik alexm: conflicts?
14:15 moritz_ rakudo: class A {}; sub infix:<=>(A $a, $value){ return $a; }; say my A $x = 3
14:15 p6eval rakudo 9808d7: OUTPUT«A()␤»
14:16 moritz_ gfldex: you always passed in Any as the first argument to infix:<=>
14:16 alexm tadzik: no conflicts, just...  ! [rejected]        master     -> master  (non-fast-forward)
14:16 tadzik hrm
14:16 tadzik alexm: you can always just git format-patch and send it to me, I'll generate pdf once again then
14:16 gfldex moritz_: so i can't really fool around with infix:<=> like in C++?
14:17 moritz_ gfldex: you can
14:17 dolmen_ std: my @a = <1 2 3>; (@a ==> [+]).say;
14:17 p6eval std 31836: OUTPUT«ok 00:01 118m␤»
14:17 moritz_ gfldex: I've demonstrated it above... but it's mostly not a good idea :-)
14:17 dolmen_ rakudo: my @a = <1 2 3>; (@a ==> [+]).say;
14:17 p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Confused at line 22, near "(@a ==> [+"␤»
14:17 dolmen_ rakudo: my @a = <1 2 3>;  ([+] @a).say;
14:17 p6eval rakudo 9808d7: OUTPUT«6␤»
14:17 moritz_ rakudo: class A {}; sub infix:<=>(A $a, $value){ say "Custom assignment" }; my A $x = 3
14:17 p6eval rakudo 9808d7: OUTPUT«Custom assignment␤»
14:17 alexm tadzik: i'll try, thanks again
14:19 dolmen_ rakudo: 1..4 ==> say;
14:19 p6eval rakudo 9808d7: OUTPUT«1234␤»
14:21 dolmen_ rakudo: 1..* ==> say;
14:21 dolmen_ bad idea...
14:21 p6eval rakudo 9808d7:
14:21 p6eval ..OUTPUT«1234567891011121314151617181920212223242​5262728293031323334353637383940414243444546474849​5051525354555657585960616263646566676869707172737​4757677787980818283848586878889909192939495969798​9910010110210310410510610710810911011111211311411​5116117118119120121122123124125126127128129130…
14:23 dolmen_ rakudo: say &grep.WHAT
14:23 p6eval rakudo 9808d7: OUTPUT«Multi()␤»
14:23 frettled rakudo: [+] 1..* ==> say;
14:23 dolmen_ rakudo: say &grep.HOW
14:23 alester joined #perl6
14:24 p6eval rakudo 9808d7:  ( no output )
14:24 p6eval rakudo 9808d7:  ( no output )
14:24 jnthn frettled: worse idea ;-)
14:24 jnthn rakudo: say &grep.HOW.WHAT
14:24 p6eval rakudo 9808d7: OUTPUT«ClassHOW()␤»
14:26 frettled jnthn: I could've used [*]!
14:27 gfldex is there a nopaste that speaks perl6?
14:28 perigrin joined #perl6
14:29 tadzik joined #perl6
14:29 dolmen_ rakudo: my @a = <1 2 3>; my $b = @a; 4 ==> $b; @a.perl.say
14:29 p6eval rakudo 9808d7: OUTPUT«["1", "2", "3", 4]␤»
14:30 cemal joined #perl6
14:30 jnthn EBADSPELLINGOFCAMEL
14:30 dolmen_ rakudo: my @a = [ 1 2 3 ]; my $b = @a; 4 ==> $b; $b.perl.say
14:31 p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Confused at line 22, near "my @a = [ "␤»
14:31 jnthn gfldex: If you mean one that highlights it, then no.
14:31 dolmen_ jnthn: :)
14:31 jnthn Or nafaik
14:31 dolmen_ rakudo: my @a = [ 1, 2, 3 ]; my $b = @a; 4 ==> $b; $b.perl.say
14:31 p6eval rakudo 9808d7: OUTPUT«[[1, 2, 3], 4]␤»
14:31 dolmen_ rakudo: my @a = < 1 2 3 >; my $b = @a; 4 ==> $b; $b.perl.say
14:32 p6eval rakudo 9808d7: OUTPUT«["1", "2", "3", 4]␤»
14:32 dolmen_ strange
14:32 jnthn rakudo: say "\x[1F483]\x[1F4AB]";
14:32 perimosocordiae joined #perl6
14:32 p6eval rakudo 9808d7: OUTPUT«💃💫␤»
14:32 dolmen_ rakudo: [ 1, 2, 3 ].WHAT.say ; < 1 2 3 >.WHAT.say
14:32 p6eval rakudo 9808d7: OUTPUT«Array()␤Parcel()␤»
14:33 frettled Hmm, so the paste-thingy in /topic is gone :(
14:33 tadzik huh, did Test.pm stop working for you in the recent rakudo?
14:33 tadzik http://wklej.org/id/368888/
14:33 jnthn Time for a keyboard break. bbl
14:34 dolmen_ tadzik: moritz_ said this morning he broke it, but not committed it
14:34 * dolmen_ 's clock is 16:34
14:35 tadzik dolmen_: where are you from? Same timezone as in here
14:36 dolmen_ tadzik: Paris
14:36 rindolf joined #perl6
14:37 bjarneh joined #perl6
14:38 Lasse_ joined #perl6
14:39 Lasse_ Hi, I'm have just written my HW-pgm and a few other test pgm. For me to do something useful I need to connect to databases primarily Mysql. I also need to interface with SAP (sapnwrfc). I appreciate if anyone can tell where I can find documentation.
14:39 tadzik Lasse_: look at zavolaj examples
14:40 tadzik or, MiniDBI is what you look for I think
14:42 Lasse_ Thank you, but where do I find zavolaj examples and miniDBI? I'm unfortunatly completely ignorant of the Perl world :|
14:43 tadzik Lasse_: You don't need Zavolaj itself, MiniDBI uses it, hence my first thought
14:43 dolmen_ Lasse_: if you are ignorant of the Perl world, you should probably start with Perl 5 instead of Perl 6
14:43 tadzik Lasse_: you can try reading the tests: http://github.com/mberends/MiniDBI/tree/master/t/
14:44 tadzik dolmen_: why so>
14:44 tadzik but well, dolmen_ may be right.
14:45 tadzik Lasse_: are you looking for production-ready impementation of Perl?
14:45 dolmen_ tadzik: it looks like he want to achieve a task NOW: connecting to MySQL and SAP.
14:45 sng2c joined #perl6
14:45 tadzik dolmen_: it depends, whether he needs stable, die-hard code or does he want to have some fun with a new language
14:46 dolmen_ tadzik: connecting to SAP is not the kind of things you do for fun...
14:46 tadzik Lasse_: the Perl 6 implementation is not yet complete and/or production ready, I hope you are aware of that
14:46 tadzik dolmen_: Maybe, never heard of SAP
14:47 dolmen_ tadzik: SAP is a big piece of software used in Fortune 500 companies for accounting, warehouse management...
14:47 tadzik oh
14:47 moritz_ tadzik: it's a German business-kill-it-all piece of software
14:48 moritz_ specifically designed for being able to have a checkbox on any feature of a "we need this" list
14:48 Lasse_ No I do not plan to go into production now. I like to convert a huge job scheduling system from PHP to Perl6 just for the hell of it. This is something that will take me a year or so. This is for future not production now
14:49 dolmen_ Lasse_: You'll will have to write the SAP connector yourself...
14:50 dolmen_ Lasse_: and note that the specs for Perl6 IO and Sockets are not yet stable...
14:50 jww :vq
14:50 Lasse_ There is a very good Perl5 SAP interface called sapnwrfc. Can I call that from Perl6
14:50 jww ops
14:52 dolmen_ Lasse_: not yet and not in the near (2-3 months) future
14:53 dolmen_ Lasse_: if you want to use a Perl 5 module, use Perl 5 for now
14:53 * [Coke] wonders why it won't work with z*
14:54 * [Coke] also wonders who dolmen is.
14:54 * dolmen_ wonders what is z*
14:55 [Coke] ah, Olivier. Hio.
14:55 [Coke] with no infobot, I can't just ask purl. the package (starts with a z) for running perl5 in p6.
14:57 [Coke] related to blizkost, though I thought it was not the same.
14:57 Lasse_ I'm to old to take on both Perl5 and Perl6. I stick to PHP for production  and practice Perl6 for future. I'm very impressed by the things I've seen in Perl6 so far.
14:58 alexm tadzik: please, note http://github.com/tadzik/Perl6-slide​s/commit/7fb0ae178b518e599200940e6c7​3a4881d68e5bc#commitcomment-116866
14:59 alester How many new-to-Perl-6 people are we getting in here?
14:59 moritz_ alester: a few, it seems
14:59 tadzik alester: I notice one every few days
14:59 tadzik maybe more than few
14:59 tadzik dolmen_: z* => zavolaj
15:00 tadzik but I think [Coke] mean blizkost
15:00 alester I'd like to suggest we put something in /topic specifically for them.  Even just a "Thanks for your interest in Perl 6"
15:00 tadzik oh, I'll finish reading a backlog first
15:00 alester Anything that can be as welcoming as possible.
15:00 [particle] coke: zavolaj?
15:01 alester I'm thinking the opposite of "No pasting, at all - and we MEAN at all - use http://scsys.co.uk:8002/ (and no arguing either)"
15:01 tadzik or maybe hugme could hug every newcomer :)
15:01 Topic for #perl6is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: http://irc.pugscode.org/ | UTF-8 is our friend!
15:01 alester Thanks moritz_
15:02 tadzik alexm: thanks for a not
15:02 tadzik * note
15:02 [particle] do we still need the alpha: evalbot?
15:02 moritz_ no
15:02 [particle] strike it from the topic, please
15:02 dolmen_ moritz_: add a nopaste
15:03 Topic for #perl6is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: http://irc.pugscode.org/ | UTF-8 is our friend!
15:03 tadzik alexm: thanks, fixed
15:03 tadzik alexm++
15:05 alester You know what?  I had Google Analytics on rakudo.org already.
15:05 alester I wonder where I put it.
15:05 dolmen_ rakudo: 3 err 5;
15:05 p6eval rakudo 9808d7:  ( no output )
15:05 dolmen_ rakudo: say (3 err 5);
15:05 p6eval rakudo 9808d7: OUTPUT«3␤»
15:06 frettled rakudo: say 3 or 5;
15:06 dolmen_ rakudo: say (3 / 0 err 5);
15:06 p6eval rakudo 9808d7: OUTPUT«3␤»
15:06 p6eval rakudo 9808d7: OUTPUT«Inf␤»
15:06 frettled \o/
15:09 [particle] alester: ? you mean, before i created an account, you had one?
15:09 alester yes
15:09 alester populated and everything
15:10 daxim what's the difference between saying perl6 and std to evalbot?  the other ones are clear to me
15:10 alester I have my own tracking, and I put a bug on rakduo.org for it.
15:11 sawyer_ joined #perl6
15:11 frettled daxim: std checks with STD.pm
15:11 Kodi daxim: Whereas, the last time I checked, "perl6" tries every implementation.
15:11 daxim oh!
15:12 daxim and how does the bot bootstrap STD.pm?
15:12 moritz_ not every, but the few that are curently considered complete enough
15:12 moritz_ daxim: it runs 'make' in src/perl6 :-)
15:12 frettled perl6: say 1;
15:12 p6eval pugs, rakudo 9808d7: OUTPUT«1␤»
15:12 frettled nqp: say 1;
15:12 p6eval nqp: OUTPUT«Confused at line 1, near "say 1;"␤current instr.: 'parrot;HLL;Grammar;panic' pc 552 (src/cheats/hll-grammar.pir:205)␤»
15:13 frettled std: say 1;
15:13 p6eval std 31837: OUTPUT«ok 00:01 114m␤»
15:13 dolmen_ rakudo: multi infix:/%(Int $a, Int $b) { [ ($a / $b), ($a % $b) ] }; }; (5 /% 2).perl.say;
15:13 p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Malformed multi at line 22, near "infix:/%(I"␤»
15:13 sawyer_ joined #perl6
15:13 * [particle] is adding google analytics to perl6.org
15:13 dolmen_ rakudo: multi infix:</%>(Int $a, Int $b) { [ ($a / $b), ($a % $b) ] }; }; (5 /% 2).perl.say;
15:13 frettled daxim: See my three examples above :)
15:13 p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Confused at line 22, near "}; (5 /% 2"␤»
15:13 daxim good
15:13 moritz_ std: multi infix:</%>(Int $a, Int $b) { [ ($a / $b), ($a % $b) ] }; }; (5 /% 2).perl.say;
15:13 p6eval std 31837: OUTPUT«[31m===[0mSORRY![31m===[0m␤Confused at /tmp/0OSyWZ4Wrq line 1:␤------> [32m, Int $b) { [ ($a / $b), ($a % $b) ] }; [33m⏏[31m}; (5 /% 2).perl.say;[0m␤Parse failed␤FAILED 00:01 123m␤»
15:15 sawyer_ joined #perl6
15:15 dolmen_ std: multi infix:</%>($a, $b) { [ ($a / $b), ($a % $b) ] }; }; (5 /% 2).perl.say;
15:15 p6eval std 31837: OUTPUT«[31m===[0mSORRY![31m===[0m␤Confused at /tmp/PBd04wvko8 line 1:␤------> [32m>($a, $b) { [ ($a / $b), ($a % $b) ] }; [33m⏏[31m}; (5 /% 2).perl.say;[0m␤Parse failed␤FAILED 00:01 122m␤»
15:16 daxim that line above contains escape characters and they are rendered as fl-ligature in my client - how do I find out which font was used so I can delete it?  it's definitely not the one I specified, a substitution kicked in  (Konversation on KDE)
15:16 sboyette joined #perl6
15:16 moritz_ daxim: they are ANSI terminal control escapes :/
15:16 daxim which starts with an escape character
15:17 daxim I can copy-paste it and everything, it just looks ugly here.  does anyone else have a wacky rendering?
15:17 dolmen_ daxim: std's output
15:17 molaf joined #perl6
15:18 * dolmen_ uses webchat.freenode.net
15:18 frettled daxim: you need to have a terminal emulation that supports ANSI (or ignores it nicely) and UTF-8.
15:18 frettled daxim: irssi works well (not GUI based)
15:18 dolmen_ webchat shows raw ANSI, not colors
15:19 moritz_ http://irclog.perlgeek.de/perl6/today shows red and green at least
15:19 [particle] i don't think enough irc clients support ansi escapes that it should be a standard feature here
15:20 [particle] pidgin doesn't support it, that's what i use.
15:20 _macdaddy joined #perl6
15:20 moritz_ I wouldn't object to filtering it out in p6eval
15:20 daxim screenshot  http://www3.pic-upload.de/​26.07.10/fzqwpp8aem5t.png
15:21 * dolmen_ sees about the same except e square instead of the ligature
15:23 frettled daxim: http://i.imgur.com/skgWA.png
15:24 frettled That's irssi in an xterm.  The font doesn't know the eject symbol, but other fonts do.
15:24 daxim I understood you well, you're not understanding what I'm asking; I realise I'm the wrong place for this, but since escape characters usually aren't used anyplace else, I thought it couldn't hurt to have a stab in the dark
15:25 patrickas joined #perl6
15:25 frettled It's fairly commonly used these days, I'm afraid.  4RED
15:26 frettled I'd say that Konversation has a bug there.
15:26 daxim certainly not
15:26 daxim that's a mirc code
15:27 * dolmen_ sees frettled's RED
15:27 frettled daxim: no, that's ANSI code.
15:28 frettled daxim: and that's a few years older than mirc.
15:29 * frettled used it while, ehrm, "programming" BASIC in 1982.
15:29 [Coke] http://osdir.com/ml/konversati​on-devel/2010-03/msg00027.html
15:30 sawyer_ joined #perl6
15:31 [Coke] er, https://bugs.kde.org/show_bug.cgi?id=231862 - if folks using konversation wanted to vote for the feature.
15:31 daxim your RED thing is definitely a mirc code, hex 03 34
15:32 frettled daxim: which is the hex code used in the ANSI color escape.
15:33 atrodo joined #perl6
15:33 dolmen_ frettled: \e[31m
15:33 sawyer_ joined #perl6
15:34 zulon joined #perl6
15:35 frettled Anyway, this is all besides the point, which is that for reasons unknown to us, Konversation (or the libraries it uses) gets confused about the color escape.
15:37 daxim that was not my question :(
15:37 daxim back on topic, you needn't think about this anymore
15:38 frettled daxim: I understand that wasn't your question, but your question does not seem relevant to your problem.  I cannot see how this is a font problem, but rather a Konversation problem, and therefore the solution is not in deleting something from the font.
15:39 daxim to me it's totally obvious that this is a font substitution problem. look how fuzzy and unsightly the ligature looks, and I know for sure that in DejaVu Sans Mono the codepoint is not filled with a visible character
15:39 daxim also: delete a font, not delete something from a font
15:40 frettled Okay, so the bug is that Konversation substitutes a font when it shouldn't?  There is no fl ligature there.
15:42 daxim all modern X applications do that, it's a feature
15:42 frettled http://geekwhisperin.files.wordpre​ss.com/2009/09/bug-vs-feature.jpg
15:42 daxim obviously I have a stupid font installed where the escape characters looks like that; and I didn't notice before
15:43 frettled If you're lucky, Konversation still has the font file opened.
15:44 frettled If you know the process ID, you can find the files opened like this: lsof -p 1337
15:44 frettled (substitute your PID for 1337, obviously)
15:44 daxim /usr/share/ghostscript/fonts/n019003l.pfb
15:44 daxim begone, bitmap imps!
15:44 daxim frettled++
15:45 * frettled heads home, damage done.  :D
15:45 Ross joined #perl6
15:46 tadzik is there any way to use split so it does not create empty string elements?
15:46 tadzik rakudo: my $a = "\e[1m" ~ "\e[4m" ~ "\e[31;45m"; $a ~~ s:g/\e\[//; $a.split(/m|\;/).perl
15:46 p6eval rakudo 9808d7:  ( no output )
15:46 tadzik rakudo: my $a = "\e[1m" ~ "\e[4m" ~ "\e[31;45m"; $a ~~ s:g/\e\[//; $a.split(/m|\;/).perl.say
15:46 p6eval rakudo 9808d7: OUTPUT«("1", "4", "31", "45", "")␤»
15:46 tadzik many operations, I know, you can ignore most of them. Taken straight from the code
15:47 colomon tadzik: you can try rephrasing it as a comb (where the regular expression you supply is the data you are looking for, not the stuff between)
15:48 tadzik hmm, sounds good
15:49 tadzik my $a = "\e[1m" ~ "\e[4m" ~ "\e[31;45m"; $a ~~ m/(\d+)/; # what now, how does this work?
15:49 alanT joined #perl6
15:49 tadzik bah, too much noise. How do I match it like this?
15:51 tadzik a'right, got it
15:52 * [particle] wonders if a #perl6-users or #perl6-help channel would be a good idea
15:53 tadzik one day probably yes. But now?
15:54 [particle] soon, with the release of R* and accompanying marketing push
15:54 jnthn [particle]: No
15:54 jnthn [particle]: This should stay the users/help channel.
15:54 jnthn [particle]: As it's the first one people are likely to hit.
15:54 jnthn [particle]: If any group of implementers feels a need for a channel for that, we can have #perl6-impl or some such.
15:54 [particle] yes, so perhaps #p6c may be spawned if this gets too chatty with users
15:55 jnthn [particle]: We already have #phasers which is a step in that direction anyway. :-)
15:55 jnthn [particle]: My feeling is that it's not at the "too chatty" point yet though.
15:55 [particle] good idea keeping this the user-focused channel
15:55 [particle] jnthn: agreed, not yet
15:55 jnthn Or at least, I don't find it so.
15:56 jnthn I can see it has potential for us to want some #p6c or some such in the future though.
15:56 [particle] i'm just thinking about what we may need in place to make a smooth transition to more interested people
15:56 [particle] *handling more interested people
16:03 alanT left #perl6
16:05 tadzik rakudo: my $a = '\e[1mThis is bold\e[0m'; $a ~~ s:g/\e\[ <[\d;]>+ m//; $a.perl.say # why? How should it be done?
16:05 p6eval rakudo 9808d7: OUTPUT«"\\e[1mThis is bold\\e[0m"␤»
16:06 sawyer_ joined #perl6
16:06 jnthn tadzik: dobule quotes for \e I guess
16:06 eternaleye joined #perl6
16:06 tadzik jnthn: different results, but still bad
16:06 tadzik rakudo: my $a = "\e[1mThis is bold\e[0m"; $a ~~ s:g/\e\[ <[\d;]>+ m//; $a.perl.say # why? How should it be done?
16:07 p6eval rakudo 9808d7: OUTPUT«"\x[1b][1mThis is bold\x[1b][0m"␤»
16:07 pugssvn r31838 | particle++ | add reference to mowyw website
16:07 jnthn tadzik: Oh!
16:07 jnthn \foo inside character class NYI :-(
16:07 tadzik :(
16:07 tadzik but 0123456789 should work? :)
16:08 tadzik rakudo: my $a = '\e[1mThis is bold\e[0m'; $a ~~ s:g/\e\[ <[\d;]>+ m//; $a.perl.say # why? How should it be done?
16:08 tadzik bah
16:08 p6eval rakudo 9808d7: OUTPUT«"\\e[1mThis is bold\\e[0m"␤»
16:08 tadzik rakudo: my $a = '\e[1mThis is bold\e[0m'; $a ~~ s:g/\e\[ <[0123456789;]>+ m//; $a.perl.say
16:08 p6eval rakudo 9808d7: OUTPUT«"\\e[1mThis is bold\\e[0m"␤»
16:08 tadzik crap :(
16:08 jnthn I'd have thought so :S
16:08 tadzik colorstrip() will have to wait then
16:08 cognominal jnthn, what is the status of the := operator?
16:08 jnthn rakudo: my $a = "\e[1mThis is bold\e[0m"; $a ~~ s:g/\e\[<[0123456789;]>+ m//; $a.perl.say
16:08 p6eval rakudo 9808d7: OUTPUT«"This is bold"␤»
16:09 tadzik oh
16:09 jnthn rakudo: my $a = "\e[1mThis is bold\e[0m"; $a ~~ s:g/\e\[<[0..9;]>+ m//; $a.perl.say
16:09 p6eval rakudo 9808d7: OUTPUT«"This is bold"␤»
16:09 jnthn Or that.
16:09 tadzik waht have I screwed?
16:09 jnthn cognominal: Implemented I think
16:09 jnthn tadzik: Just needed double quotes in the original string
16:09 tadzik whitespaces?
16:09 tadzik hmm
16:09 jnthn tadzik: You tried 0123... but only with single quotes
16:10 tadzik ah, ok
16:10 jnthn I just turned those to double :-)
16:10 jnthn rakudo: my $x = 1; my $y := $x; $x = 42; say $y;
16:10 p6eval rakudo 9808d7: OUTPUT«42␤»
16:11 tadzik jnthn: while You're here, care to look at http://github.com/jnthn/blizkost/issues#issue/13 ?
16:14 jnthn tadzik: Don't really grok the ticket. Blizkost should install to wherever the Parrot installation is, just like Rakudo does.
16:14 jnthn So if you built your Parrot just in some directory, it'll install there.
16:14 tadzik rakudo: for <foo bar asd> -> $a { $a ~~ s/a/b/ }
16:14 p6eval rakudo 9808d7: OUTPUT«Cannot modify readonly value␤  in '&infix:<=>' at line 1␤  in <anon> at line 22:/tmp/Z5pFrz0HUv␤  in main program body at line 1␤»
16:14 tadzik is there a way to make the temporary variable rw?
16:14 jnthn is rw
16:14 tadzik jnthn: but you can install rakudo to a directory, and it works
16:15 jnthn -> $a is rw { ... }
16:15 tadzik bah, too simple :) jnthn++ # thanks
16:15 am0c joined #perl6
16:16 tadzik hmm
16:16 jnthn (We parse a signautre there, so you can do anything you'd do in a signature.)
16:16 cognominal jnthn, thx.
16:16 tadzik rakudo: for <foo bar asd> -> $a is rw { $a ~~ s/a/b/ }
16:16 p6eval rakudo 9808d7: OUTPUT«Cannot modify readonly value␤  in '&infix:<=>' at line 1␤  in <anon> at line 22:/tmp/nRVYvwQUH1␤  in main program body at line 1␤»
16:16 jnthn tadzik: Well yes
16:17 jnthn tadzik: That's ike doing 'foo' ~~ s/a/b/
16:17 jnthn Which is going to try and assign to 'foo' which is a value.
16:17 tadzik jnthn: and I have successfuly made a rakudo package for CRUX, using make DESTDIR=$PKG install, and it works fine, but I can't do that with blizkost
16:18 tadzik jnthn: so, a bug or a feature? (this loop variable)
16:19 jnthn tadzik: Rakudo is right.
16:19 jnthn tadzik: however this should work:
16:19 jnthn rakudo: my @x = <foo bar asd>; for @x -> $a is rw { $a ~~ s/a/b/ }; say @x.perl;
16:19 p6eval rakudo 9808d7: OUTPUT«["foo", "bbr", "bsd"]␤»
16:19 justatheory joined #perl6
16:20 jnthn Note here that you actually have a container to assign to.
16:20 tadzik hm
16:21 jnthn tadzik: Consider that $a ~~ s/a/b/ = like $a .= subst('a', 'b')
16:22 tadzik yeah, I see, I'm just trying to understand http://wklej.org/id/368940/
16:24 jnthn Hmm, yeah. That one is more edge-casey at first glance.
16:24 yarel joined #perl6
16:24 tadzik due to slurpy params?
16:25 moritz_ tadzik: if you don't want to change in-place, you should *really* be using .subst
16:25 tadzik moritz_: can .subst work on regexes?
16:25 moritz_ sure
16:25 moritz_ s/// calls .subst internally
16:26 tadzik oh, great
16:26 moritz_ so .subst can do as least as much as s/// can
16:26 pmichaud good morning, #perl6
16:26 pmichaud long backscroll this morning :)
16:26 tadzik moritz_: even s:g?
16:26 moritz_ tadzik: everything.
16:26 tadzik :)
16:27 moritz_ rakudo: say 'abcdefg'.subst(/./, { .uc }, :g)
16:27 p6eval rakudo 9808d7: OUTPUT«ABCDEFG␤»
16:27 jnthn morning, pmichaud
16:27 moritz_ though if people insist to use the s/// syntax, maybe there could be a :notinplace or :copy or so adverb
16:27 tadzik yay, works
16:27 moritz_ p5 has one, in 5.12 (iirc)
16:28 tadzik moritz_++
16:28 yarel just curious, lua and perl6 are almost similar in language?
16:28 huf what does foo()  .bar(); parse as? (judging from some examples earlier, not the same as foo().bar();)
16:28 tadzik yarel: I wouldn't say so
16:28 tadzik yarel: lua tries to have a minimal syntax, I wouldn't call Perl6's syntax minimal
16:28 tadzik plus I don't see any resemblance at all :) What makes you think so?
16:29 yarel oh just in the sense of embedding and extending
16:29 yarel where does perl6 overpower lua?
16:30 pmichaud huf: foo()  .bar()  is likely an error (two terms in a row)
16:30 pmichaud std:   foo()  .bar()
16:30 p6eval std 31837: OUTPUT«[31m===[0mSORRY![31m===[0m␤Method call found where infix expected (omit whitespace?) at /tmp/nfE8o65OI2 line 1:␤------> [32mfoo()  [33m⏏[31m.bar()[0m␤    expecting infix or meta-infix␤Undeclared routine:␤     'foo' used at line 1␤Parse failed␤FAILED 00:01 115m␤»
16:30 tadzik yarel: I'm reallly unable to see any similarities
16:30 huf pmichaud: ah.
16:30 tadzik yarel: Perl can be embedded too, but it does not make them similar imho
16:30 yarel tadzik not that it has to, just curious
16:31 tadzik yarel: As I said, I don't think they're similar really
16:31 huf pmichaud: i guess it's required if you dont want doom and confusion around the .foo() syntax (call on topic), but the foo()\ n/l .bar()\ syntax makes method chaining look like shellscripts :D
16:31 yarel tadzik noted
16:31 [particle] perl 6 and lua are both dynamic languages. there are similarities to some extent in syntax, semantics, and in some cases implementations.
16:31 moritz_ yarel: lua has one data structure for lists and hash tables; Perl 6 tries to separate them
16:31 pmichaud huf: Perl has a long tradition of looking like shell scripts :-)
16:31 cdarroch joined #perl6
16:32 moritz_ that's a pretty big difference, if you ask me
16:32 cdarroch joined #perl6
16:32 tadzik yarel: lua's point to be minimal, fast embeddable language, Perl 6 has a very complex syntax and isn't oriented at one usecase
16:32 huf pmichaud: yeah but isnt that like the stoat-rapist cousin in the family? arent we kinda embarrassed about that? :)
16:33 pmichaud huf: I'm not embarrassed by it.  I'm pretty sure Perl wears its tradition of stealing from other languages and syntaxes somewhat proudly.  :)
16:33 huf well, apparently we arent, and i'm just nitpicking anyway
16:33 yarel moritz_: yeah i noticed that
16:33 [Coke] if it's any consolation, I find the foo()\n syntax very ugly.
16:34 yarel tadzik: ok, so where does lua perform better ?
16:34 [Coke] er, foo()\\n    .method()
16:34 yarel not in comparison to anything but just lua
16:34 tadzik yarel: it has a very small footprint which makes it great to embed
16:34 huf [Coke]: yeah, but there's no getting around it *now*, is there? :D
16:34 yarel ah so for embedded development it's ideal?
16:34 [particle] yarel: lua is "production-ready"
16:34 tadzik yarel: plus it's syntax is really minimal, hence easy to read
16:34 tadzik yarel: one can say so, yes
16:34 [particle] there is not yet a complete implementation of perl 6
16:34 huf altho i'm sure someone'll come up with some idiom to go around it
16:35 yarel ok
16:35 yarel what other languages are a better alternative to lua in embedded development?
16:35 yarel C?
16:35 [particle] perl 6 allows you to easily modify its own syntax and semantics, by giving you full control over the language itself
16:35 moritz_ it always depends on what you want to achieve
16:35 tadzik well, lua is quite bonded to C I'd say
16:35 [particle] s/better//
16:35 tadzik at least that's how I use it
16:35 [particle] tcl
16:36 yarel tcl? for embedded?
16:36 [particle] lisp flavors
16:36 [particle] yes
16:36 yarel interesting
16:36 yarel what's wrong with using perl6 here? overkill for a small task?
16:36 tadzik yarel: using where?
16:37 yarel in embedded
16:37 [particle] there is not yet a complete implementation of perl 6
16:37 tadzik 1) as [particle] said, no complete implementation
16:37 patrickas rakudo: my @a = [1,2,3]; my ($x,$y) = @a[0] ; say "$x,$y";
16:37 tadzik you can use Perl 5 though, it can be embedded as lua can
16:37 p6eval rakudo 9808d7: OUTPUT«1 2 3,Any()␤»
16:37 patrickas alpha: my @a = [1,2,3]; my ($x,$y) = @a[0] ; say "$x,$y";
16:37 p6eval alpha 30e0ed: OUTPUT«1,2␤»
16:37 [particle] perl 6 has a large runtime component, so the startup cost is not small
16:37 patrickas who is correct here master or alpha ?
16:37 yarel gotcha
16:38 pmichaud master is correct
16:38 moritz_ master
16:38 pwd joined #perl6
16:38 pmichaud it ends up acting the same as
16:38 yarel thanks for your insight
16:39 pmichaud my ($x, $y) = ([1,2,3])
16:39 tadzik yarel: you're welcome
16:40 patrickas so I do I make it act like my ($x,$y) = (1,2,3) ?
16:40 moritz_ my @a = [1,2 3].flat
16:40 moritz_ erm, wait
16:40 pmichaud rakudo:  my @a = [1,2,3];  my ($x, $y) = @(@a[0]);  say "$x, $y";
16:40 p6eval rakudo 9808d7: OUTPUT«1, 2␤»
16:40 moritz_ my ($x, $y) = @a[0].flat
16:40 moritz_ or @(...), yes
16:40 pmichaud rakudo:  my @a = [1,2,3];  my ($x, $y) = @a[0].flat;  say "$x, $y";
16:40 p6eval rakudo 9808d7: OUTPUT«1, 2␤»
16:40 patrickas thanks moritz_ and pmichaud :-)
16:41 jnthn pmichaud: @(...) is .flat these days?
16:41 pmichaud jnthn: no, it's still .list (which also works in this case)
16:41 pmichaud rakudo:  my @a = [1,2,3];  my ($x, $y) = @a[0].list;  say "$x, $y";
16:41 p6eval rakudo 9808d7: OUTPUT«1, 2␤»
16:41 pmichaud the main thing is to remove the item-ness of @a[0]
16:42 pmichaud because @a[0] is normally a scalar here.
16:44 ikev joined #perl6
16:44 jnthn k
16:45 [Coke] [particle]++ # tcl
16:45 rindolf joined #perl6
16:45 pmichaud ugh, it's annoying when people subtly change the context:  http://twitter.com/OmriMaids/status/19584516487
16:50 pyrimidine joined #perl6
16:51 pmichaud afk for a bit
16:51 [Coke] is there a separate repository for star, or just a list of "here's what to throw in the tarball", or???
16:52 moritz_ [Coke]: there's a separate repo
16:52 moritz_ [Coke]: I'm sure you're able to guess the github URL :-)
16:52 [Coke] moritz_: got it in 2.
16:52 moritz_ [Coke]++
16:53 cognominal rakudo:  subset NatRange of Range where { $_.min >= 0 }
16:53 p6eval rakudo 9808d7:  ( no output )
16:53 [Coke] was the released rakudo actually as broken as described, or was there a missing parrot distclean somewhere?
16:53 pmichaud moritz_: is the intent that dist/ becomes the tarballable-dir?
16:53 ashleydev joined #perl6
16:54 moritz_ pmichaud: yes
16:54 pmichaud okay
16:54 moritz_ [Coke]: it segfaults when trying to load modules that meet certain (to me unknown) conditions
16:54 moritz_ [Coke]: like, our module installer. D'oh.
16:55 moritz_ or SVG::Plot (which is one of my pet projects)
16:57 pmichaud I'm trying to figure out how to get DESTDIR= to work reasonably well in the build system.
16:58 pmichaud oh, maybe it'll just work out.
16:59 lue o hai o/
17:00 Chandon joined #perl6
17:01 pmichaud oh, maybe not.  :-(
17:01 moritz_ what's the problem?
17:02 am0c o hai p/
17:04 am0c I have a question that there is any problem with the name of 'rakudo' or some other reasons that the logo of 'rakudo' is impossible to be modified?
17:04 dolmen_ rakudo:  subset NatRange of Range where { $_.min >= 0 }; multi a(NatRange $x) { $x.perl.say }; a(-1..2);
17:04 p6eval rakudo 9808d7: OUTPUT«Type objects are abstract and have no attributes, but you tried to access $!min␤  in 'Range::iterator' at line 4398:CORE.setting␤  in 'Any::join' at line 1␤  in 'List::perl' at line 2557:CORE.setting␤  in <anon> at line 5389:CORE.setting␤  in <anon> at line 1␤  in
17:04 p6eval ..'Signature::perl'…
17:04 dolmen_ rakudo:  subset NatRange of Range where { $_.min >= 0 }; multi a(NatRange $x) { $x.perl.say }; a(0..2);
17:04 p6eval rakudo 9808d7: OUTPUT«0..2␤»
17:04 pmichaud if someone wants to make a rakudo .deb, they really need to do it in two steps I guess.  they first need a parrot .deb, and then they need to have R* build using that Parrot
17:04 moritz_ pmichaud: yes, that's what I expect
17:04 pmichaud they can't really build a .deb using the parrot that comes with R*
17:05 pmichaud (well they _can_, but again, two steps)
17:05 moritz_ pmichaud: they can just patch buildall.pl not to use --gen-parrot
17:05 lue am0c: hrm, I wasn't aware of that issue. /me interested
17:05 pmichaud moritz_: I'm thinking buildall.pl should be smarter
17:06 pmichaud I'm also thinking that buildall.pl should never use --gen-parrot
17:07 pmichaud "--gen-parrot" really means "download a copy of Parrot if needed".  But R* should probably include Parrot in dist/
17:07 moritz_ pmichaud: wfm
17:07 [Coke] moritz_: you should have pull requests.
17:08 moritz_ hugme: add coke to star
17:08 * hugme hugs coke. Welcome to star!
17:09 moritz_ I've merged them, thanks
17:09 lue .oO(what does this 'add'ing do?)
17:09 patrickas how can i work around this ?
17:09 patrickas rakudo: my regex digits  {  \d+:       }; say "OK" if 21 ~~ /<digits>/;
17:09 p6eval rakudo 9808d7: OUTPUT«Method 'digits' not found for invocant of class 'Cursor'␤  in <anon> at line 22:/tmp/mMmiPnMwwf␤  in 'Cool::match' at line 2377:CORE.setting␤  in 'Regex::ACCEPTS' at line 5470:CORE.setting␤  in main program body at line 22:/tmp/mMmiPnMwwf␤»
17:09 dolmen_ lue: hugme seems to be a bot
17:10 pmichaud patrickas: &digits
17:10 pmichaud lue: hugme knows how to add committers to github projects
17:10 patrickas Thanks
17:10 pugssvn r31839 | particle++ | add google analytics code to perl6.org
17:11 lue ah. I'm assuming (chanops|commiters of the appropriate project) are the only ones allowed to do this?
17:11 kjeldahl joined #perl6
17:11 pmichaud there's a general list of trusted adders
17:11 moritz_ patrickas: /<&digits>/
17:11 [particle] anyone who wants access to google analytics reports for perl6.org, msg me your google id (usually your gmail address)
17:11 pmichaud [particle]: you have mine already
17:11 [particle] aye
17:12 moritz_ [particle]: please no google analytics on perl6.org
17:12 patrickas thanks pmichaud & moritz_ again :-)
17:12 moritz_ it's very concerning, from a privacy point of view
17:12 [particle] moritz_: really, why?
17:13 [particle] because of ip address tracking?
17:13 moritz_ [particle]: because it tracks quite many information
17:13 moritz_ s/many/much/
17:14 moritz_ including mouse movements, which tell you things about eye movement
17:14 moritz_ and google can correlate it to your habits on other websites
17:14 frettled It tracks which browser did what, not merely which IP address and user agent text string did what.
17:14 moritz_ via IP/user agnent
17:14 gfldex adblock is blocking it quite nicely
17:14 [particle] can you suggest another traffic analysis tool to use?
17:14 frettled so is NoScript, or any other ja
17:14 moritz_ [particle]: if you want access to the access logs, that can be arranged (or I can publish anonymized stats)
17:15 frettled javascript blocker
17:15 lue .oO("FREEZE SIR! You have been suspected of murder." "Why?" "Google Analytics tell us you move your mouse to the top-left corner often. Too often.")
17:15 moritz_ gfldex: I know, but the 95% people who don't use adblock should be considered as well
17:15 [particle] i don't want to force clients to make the privacy decision, i just want to view reports of site usage
17:15 moritz_ [particle]: I usually run "visitors" over the apache log files of my websites... would that be enough for you?
17:16 moritz_ http://moritz.faui2k3.org/stats/pg is an example report for perlgeek.de
17:16 oha joined #perl6
17:16 frettled I'm a bit ashamed to point in this direction → http://piwik.org/ for an alternative.  Extra points for reimplementing in Perl 6.
17:17 frettled moritz_: That one is probably lying, since it claims to know things about unique visitors, which it cannot do without javascript.
17:17 moritz_ frettled: the visitors website defines what it means by "unque visitor"
17:17 [particle] i suppose daily published visitors reports would do
17:18 moritz_ frettled: unique($ip, $user_agent, $day)
17:18 [Coke] http://www.infoworld.com/t/languages-an​d-standards/whatever-happened-perl-012 - have fun replying to that one!
17:18 [particle] it would be nice to have more visually appealing and dynamic reports, but....
17:18 frettled moritz_: many corp environments are then «unique visitors», and that is not what people mean by it :)
17:19 lue If you just want site traffic, I say just use the logs /me no expert
17:19 frettled urghle, that was not a site header, that was a friggin' Google ad.
17:19 moritz_ frettled: that's fine.
17:19 lue [ you can always gnuplot things for prettyness :) ]
17:19 pmichaud lue: the logs tend to hold a lot of useless entries, though.
17:19 pmichaud lue: it's not quite as simple as "read the logs".
17:20 moritz_ that's why there are tools for it.
17:20 lue Again, /me no expert em/ :)
17:21 lue .oO(Aw, that's a shame. Piwik requires Flash)
17:21 frettled lue: yup, that's where the shame element comes in :)
17:21 pmichaud [Coke]: I'm not sure that article needs a reply.  :-)
17:21 [particle] [Coke]: i find that report... weak.  i don't use perl so much anymore, is this the death of perl?
17:21 frettled javascript and Flash - the worst parts of the web
17:22 moritz_ frettled: activeX is worse :-)
17:22 lue Actually, it's just Flash that I have a problem with (I can't use it). And then there's Java applets...
17:22 pmichaud This article (and many others like it) seem to assume that if Perl doesn't reclaim the dominant position it once had, it must be a failure.
17:23 pmichaud or irrelevant.
17:23 frettled moritz_: not really, but then again, I see it from a web security perspective.
17:23 lue "If they cannot provide an argument, they must be wrong. Therefore I'm right"
17:24 frettled lue: java applets offer _one_ redeeming feature: signed applets :-/
17:24 frettled pmichaud: oh no!  _Oil_ is a failure!  :D
17:24 lue ActiveX is EEEVILLL! .oO(sorry, had to get it out)
17:25 patrickas is prefix "?" not implemented in master or has the spec been changed ?
17:26 moritz_ rakudo: say ?5
17:26 p6eval rakudo 9808d7: OUTPUT«1␤»
17:26 moritz_ rakudo: say (?5).perl
17:26 moritz_ looks implemented to me
17:26 p6eval rakudo 9808d7: OUTPUT«Bool::True␤»
17:26 patrickas :-O
17:26 patrickas problem between keyboard and chair !
17:27 frettled There's always a problem between a keyboard and a chair somewhere, until the keyboard is obsolete.  ;)
17:29 lue .oO(You're not taking into account the second or third dimensions we live in. The problem could be a conveniently placed neighbor or someone digging a tunnel.)
17:30 tadzik are there some guidelines about what should modules included in Star have? Or should they 'just work', or be installable with ufo/proto/pls?
17:30 pmichaud tadzik: "useful, usable"
17:31 tadzik pmichaud: ok
17:31 moritz_ http://perl6.org/page-stats
17:32 moritz_ [particle]: ^^
17:32 lue what happened 29 August 2009?
17:32 pmichaud site opened, probably
17:32 pugssvn r31840 | moritz++ | Revert "add google analytics code to perl6.org" due to privacy concerns.
17:32 pugssvn r31840 |
17:32 pugssvn r31840 | Basic usage statistics are collected from the web server's log files
17:32 tylercurtis joined #perl6
17:33 moritz_ lue: http://perlgeek.de/blog-en/p​erl-6/a-shiny-perl6-org.html might have been redditted or so
17:33 moritz_ or been on digg or so
17:34 pmichaud or everyone came to gawk at camelia
17:34 moritz_ it's interesting to see how many visitors {proto,modules}.perl6.org sends to the main website
17:35 Snowclone joined #perl6
17:35 jnthn joined #perl6
17:35 lue It's fun to see thousands of people visit the site in one day! Maybe R* will make that happen again :)
17:36 pmichaud these days I'm mentally steeling myself for the backlash on the R* release
17:36 [particle] moritz_++ : you beat me to the reversion commit... so you didn't get karma in the commit log
17:36 patrickas pmichaud R* is so slowwwwwwwwwwwwwww you said in your blog post it would be fast!!!!!!!!!! FAIL
17:36 [Coke] moritz_: do you want HTML validation fixes for perl6.org?
17:36 frettled moritz_: ooh, that month-day-map is nice
17:36 * patrickas preparing pmichaud for sensless backlash
17:37 [particle] pmichaud: as in: THIS IS NOT USABLE OR STABLE!!!  WTFZOGMLOL P6SUX!
17:37 pmichaud [particle]: "It took you ten years to produce... this?!?"
17:37 pmichaud (actually, I've only been working on it for five. :-)
17:37 [Coke] we already had someone show up and ask about the "production-ready" perl6 release we were advertised.
17:37 [Coke] *ing
17:37 mulander well it depends on the person's mentality
17:37 [Coke] pmichaud: that's an excellent comeback. =-)
17:37 mulander I wasn't present here during the whole process. Really I'm here for the first time.
17:38 lue "TI-BASIC on the TI-83 is faster that Rakudo!"
17:38 lue s/that/than/
17:38 mulander I programmed a lot in perl5 several years ago and kept an eye on the perl6 project but really didn't look into it.
17:38 mulander I don't consider the implementation performance an issue
17:38 [Coke] moritz_: on top level index page, missing a </li> after planetsix link.
17:39 * lue must prepare promotional banner for blog.
17:39 [Coke] moritz_: oh, it's in pugs? muahaha.
17:39 pmichaud mulander: that's good, but a lot of people will.  actually, there are quite a few people who will be ecstatic that R* gives them so much "justification" to claim that Perl (6) is a failure :)
17:39 mulander pmichaud: yeah, but how much influence such claims have on such projects?
17:39 lue .oO(Now that Doctor Who just finished Series 5 (US), R* is the only thing to look forward to.)
17:40 mulander see how haskell boosted itself recently in the compiler technology
17:40 pmichaud mulander: depends on the people doing the projects, as always. :)
17:40 mulander and people also said that it's not suitable for anything 'yadda yadda' :)
17:40 pugssvn r31841 | particle++ | add closing list tag; [Coke]++
17:40 pmichaud mulander: still, it's not a lot of fun to get the (often undeserved) criticism.  and yes, I'm in it for the long term success, not for a "quick win"
17:40 lue One of the referers is a post denouncing Perl6 (as obvious by the somewhat censored fbomb)
17:41 mulander pmichaud: just remember that most people who have a simillar approach to me won't give feedback.
17:41 [Coke] [particle]++ thanks.
17:41 mulander pmichaud: the loudest responses are usually from the crying masses :)
17:41 pmichaud mulander: sure, I know, and thaks.  :)
17:41 mulander btw I sucessfully built rakudo on this old slackware box :) make tests passed
17:42 mulander 257 wallclock secs
17:42 pmichaud 257 secs on an old box?  seems unlikely :)
17:42 pmichaud I would've expected 500 :-P
17:42 mathw joined #perl6
17:43 pmichaud anyway, afk for a bit, then time for either (a) lunch or (b) revising R* build scripts
17:44 pugssvn r31842 | coke++ | Close <li> tag.
17:45 frettled [Coke]: w00000t :)
17:46 pugssvn r31843 | coke++ | Move h3 out of ul.
17:46 [Coke] frettled: ?
17:47 Leonidas joined #perl6
17:48 jjore_ joined #perl6
17:48 tylercurtis lue: link to said post? Sounds more entertaining than the post I'm currently reading which suggests that no one uses Perl 5 anymore and that no one will use Perl 6 because Perl 5 is good enough. :)
17:49 frettled [Coke]: your HTML fixes are coming in
17:50 jjore_ What am I doing wrong to keep getting kicked? http://pastie.org/1060826
17:50 lue I shouldn't. The swear to actual word ratio is absurdly off-balance, in favor of swearing. It's at shadowcat.co.uk. That's all I'm saying :)
17:50 [Coke] jjore_: that was someone abusing our privs.
17:50 [Coke] /everyone/ got kicked.
17:51 jjore_ Ah.
17:51 frettled but not anymore :)
17:51 jjore_ The "u should't use nick@..." was a comment on the security policy.
17:51 [Coke] hopefully perms are fixed now so that won't happen again.
17:51 jjore_ I get it. Thanks
17:51 [Coke] <nod>
17:52 REPLeffect joined #perl6
17:52 ingy hi sorear
17:52 ingy sorear: did you still want me to explain the Test.pm thing?
17:55 Tene lue: I actually quite liked that post when it first went up.
17:55 Tene http://www.shadowcat.co.uk/bl​og/matt-s-trout/f_ck-perl-6/ is the link
17:55 Tene http://www.shadowcat.co.uk/b​log/matt-s-trout/-5-v-6.html -- is the tl;dr summary
17:56 Tene profanity-free
17:57 pmichaud the f_ck-perl-6 post is actually supportive of Perl 6, not an attempt to tear it down
17:58 perigrin tylercurtis: the one you're reading now is just depressingly wrong in obvious ways.
17:58 lue Well, after a couple dozen fbombs in one paragraph, I lost all interest in this person. I have no care for him.
17:58 pmichaud lue: that's too bad, as it's a really good post.
17:58 pmichaud you can read masak++'s complementary post
17:59 pmichaud http://use.perl.org/~masak/journal/39912
17:59 perigrin lue: shame, his vocabulary choices are not the person. He's one of the nicest people I know in the Perl community when it comes to his actions
17:59 pmichaud no fbombs
17:59 perigrin pmichaud: it was nice to finally meet you btw.
17:59 perigrin :)
18:00 pmichaud perigrin: same here, and many thanks for all of your excellent work manning the Perl booth
18:00 pmichaud there is some real buzz growing around Perl (and Perl 6) now
18:00 lue I don't care. This is the first time I've seen him, and I now no longer care for what he has to say. It is a shame.
18:00 lue (I tried getting through it, but it was too much)
18:01 mulander make test on an msi wind netbook - 122 wallclock secs result: PASS
18:02 [particle] mulander: see you tomorrow when you report the 'make spectest' results....
18:03 frettled lue: too bad.  To me, his f-bombs and rants are pure entertainment value.
18:04 pmichaud [particle]: lol (it took me a few seconds to get the punch line.  my head must be running rakudo these days)
18:04 frettled ...which made his non-swearword-talk at YAPC::EU last year _really_ entertaining.
18:04 perigrin pmichaud: thanks, I'm excited to see the buzz coming back
18:04 cdarroch joined #perl6
18:04 cdarroch joined #perl6
18:06 patrickas rakudo: multi sub foo ( :$f  ) { say $f.perl; } ; foo ({'f'=>'g'});
18:06 p6eval rakudo 9808d7: OUTPUT«No applicable candidates found to dispatch to for 'foo'. Available candidates are:␤:(Any :f($f))␤␤  in main program body at line 22:/tmp/RpmcZUIGqf␤»
18:06 [particle] patrickas: are you looking for a better error message there?
18:07 [particle] it's not a sub call unless there is no space or unspace between the sub name and the parens
18:07 lue .oO(masak's complementary post gave me a brilliant marketing campaign!)
18:07 cognominal rakudo: say (sub ( [*$a, *@a] ){}).signature
18:07 p6eval rakudo 9808d7: OUTPUT«Signature()<0x83cfc90>␤»
18:07 patrickas rakudo: multi sub foo ( :$f  ) { say $f.perl; } ; foo({'f'=>'g'});
18:07 cognominal rakudo: say (sub ( [*$a, *@a] ){}).signature.perl
18:07 p6eval rakudo 9808d7: OUTPUT«No applicable candidates found to dispatch to for 'foo'. Available candidates are:␤:(Any :f($f))␤␤  in main program body at line 22:/tmp/GmF1uvWiq5␤»
18:07 p6eval rakudo 9808d7: OUTPUT«:(Positional  (Any $a, *@a))␤»
18:08 cognominal rakudo: say (sub ( [*$, *@] ){}).signature
18:08 p6eval rakudo 9808d7: OUTPUT«Signature()<0x83c91d0>␤»
18:08 cognominal rakudo: say (sub ( [*$, *@] ){}).signature.perl
18:08 * [particle] now wonders about valid sub declarations and whitespace...
18:08 p6eval rakudo 9808d7: OUTPUT«:(Positional  (Any , *))␤»
18:08 cognominal ouch
18:09 pmichaud [particle]: foo ({'f' => 'g'})   is still a sub call
18:09 jnthn cognominal: * on scalars NYI
18:09 patrickas pmichaud so I guess that's not how it should be called ?
18:09 patrickas rakudo: multi sub foo ( :$f  ) { say $f.perl; } ; foo( :f('g') );
18:09 [particle] pmichaud: lol (my head must be running nqp these days)
18:09 p6eval rakudo 9808d7: OUTPUT«"g"␤»
18:09 pmichaud patrickas: I'm guessing you want    foo :f('g')
18:09 pmichaud patrickas: or   foo  f=>'g'
18:10 pmichaud patrickas: or   foo(f=>'g')
18:10 tylercurtis perigrin: if you've correctly guessed the one I was reading, I think it provides a great advertisement for Perl 5. "Perl 5—Too fast for the web!"
18:10 pmichaud rakudo:  multi sub foo(:$f) { say $f.perl; };  foo f=>'g';
18:10 cognominal rakudo: say (sub ( @ ){}).signature.perl
18:10 p6eval rakudo 9808d7: OUTPUT«"g"␤»
18:10 p6eval rakudo 9808d7: OUTPUT«:(Positional )␤»
18:11 jnthn cognominal: That one's correct.
18:11 perigrin tylercurtis: iI'm guessing it's the one from the infoworld blog
18:11 cognominal the Positional is indeed the role equivalent to the sigil
18:11 cognominal rakudo: say (sub ( $ ){}).signature.perl
18:12 p6eval rakudo 9808d7: OUTPUT«:(Any )␤»
18:12 perigrin if it's not that's all to common a theme in non-perl epopel blog posts these days
18:12 cognominal rakudo: say (sub ( %  ){}).signature.perl
18:12 p6eval rakudo 9808d7: OUTPUT«:(Associative )␤»
18:12 jnthn cognominal: The signature pretty printer won't always put out exactly what you put in. Signature syntax to the underlying representation of it is not a one to one mapping. :-)
18:13 jnthn Close though. :-)
18:13 cognominal I don't mind.
18:14 Tene lue: for whatever it's worth, mst has my full recommendation as someone worth listening to, even including the cursing.  At worst, I just consider it an accent.  I've never regretted reading something mst has to say.
18:14 cognominal and the pretty part is a matter of taste :)
18:14 patspam joined #perl6
18:14 pmichaud .oO( if lue doesn't wish to view the cursing, we shouldn't put too much pressure to do so )
18:15 Tene sed s/f.ck/kittens/g
18:15 Tene :)
18:15 jnthn "Kittens Perl 6!"
18:15 Tene But, yes, the tl;dr summary pretty much covers his point here.
18:16 patrickas rakudo: my $f = { 'a' => *>0 }; say $f.perl;
18:16 p6eval rakudo 9808d7: OUTPUT«{ ... }␤»
18:16 jnthn heh heh
18:16 patrickas rakudo: my $f = { 'a' => {$_>0} }; say $f.perl;
18:16 jnthn It curried the => too
18:16 p6eval rakudo 9808d7: OUTPUT«{"a" => { ... }}␤»
18:16 cognominal WHOA THERE: fun with WebSockets  http://jeffkreeftmeijer.com/20​10/experimenting-with-node-js/
18:17 jnthn I wonder if => should auto-curry. :-)
18:17 Tene I've been a little bit uncomfortable with using {} for both hashes and code blocks for a while now.
18:18 Ross joined #perl6
18:18 patrickas pfew ... I have batteling with this one for a while now ... turned out the previous sub sig had nothing to do with it :-)
18:19 lue I think it's pretty obvious now that you guys like mst, however I guess all the cursing indicates to me that he doesn't have much to say.
18:20 pmichaud lue: I think we're trying to say that beneath the cursing, he does have a lot of good things tos ay
18:20 pmichaud *to say
18:20 lue I guess it's just a bad first impression. I wasn't able to see its sarcasticness because the cursing was a lot.
18:20 nomad__ joined #perl6
18:20 pmichaud lue: sure, makes sense.  I was initially turned off by his language as well the first time I heard him speak.
18:21 lue .oO(When I saw the post being a referer, I just saw it as irony)
18:21 Tene I get the value of consistency with p5, and I don't have a clear counterproposal, but differentiating between the two in edge cases doesn't quite seem to provide much value for the complexity needed.
18:21 pmichaud I suspect he could make the same argument about ours.  "You *#!@#heads use way too much cutesy and hugtastic language!"
18:21 [particle] hugme: hug mst
18:21 * hugme hugs mst
18:22 lue Point is, I have no care for what he has to say now, and that's his problem. You guys don't have to do anything :)
18:22 pmichaud fair enough
18:22 Tene http://search.cpan.org/~mstrout/ ← evidence that he does contribute more to the Perl community than just cursing.
18:22 Tene Sure, fair enough.
18:22 [particle] we need a remote hug protocol so we can hug people on other channels.
18:22 [particle] Tene: but perl 5 looks like cursing.
18:22 pmichaud also, I did see mst at oscon and he was extremely gracious.  Invited me to go to the pub with him and others, for which I had to decline with great regret (had other rakudo stuff that needed doing)
18:23 pmichaud so I'm hoping to catch up with mst at yapc::eu :-)
18:24 lue OTOH, masak's post gave me a '6 = 5' campaign idea. [ feel free to suggest a better operator :) ]
18:24 Tene ~~
18:24 tadzik lue: how about 6 > 5? :)
18:24 oha 6 ~~ 5 ?
18:24 pmichaud !eqv
18:24 oha eheheh :)
18:24 tadzik or >=
18:25 jnthn pmichaud: Heh. The first time I really got to know/understand mst involved beer. :-)
18:25 lue it's a goodwill, "we're different from each other" campaign idea.
18:25 ShadeHawk joined #perl6
18:25 pmichaud jnthn: yes, that's good.  mst is just an outstanding motivator and enabler.
18:26 pmichaud okay, lunch is calling.
18:26 [particle] kill it before eating it.
18:26 user_4936 joined #perl6
18:26 jnthn ooh, I shouldn't forget dinner...
18:27 user_4936 rakudo: "hi".say
18:27 p6eval rakudo 9808d7: OUTPUT«hi␤»
18:27 * jnthn goes to the nom-shop - bbl
18:27 pmurias [particle]: wouldn't that spoil the fun?
18:27 oha pmurias, the fun for the eater or the eated?
18:28 tadzik user_4936: just curious, inspired by szabgab's screencast?
18:29 user_4936 that's me actually :0
18:30 * _sri hopes there will be a perl6tidy in the not too distant future
18:30 moritz_ _sri: there's an easy way to be sure :-)
18:33 _sri ;p
18:34 oha while using .perl i got something i never seen b4: "assoc" => \parse[0]["assoc"],
18:34 lue .oO(my TARDIS could use some travel. Haven't used it in a while)
18:34 oha does .perl now do this to avoid circular references?
18:35 oha (sorry was --target=parse and not .perl)
18:36 moritz_ the parse tree dumber does that
18:36 [particle] *dumper
18:36 oha yep i'm a bit tired and i confuse them
18:36 oha i need a break
18:36 ShadeHawk I have read some time ago article about easy porting of TestML to Perl 6: http://blogs.perl.org/users/ingy_dot_net/2010​/07/rakudos-really-really-release-ready.html
18:37 * moritz_ read that too :-)
18:37 ingy ShadeHawk: easy?
18:37 ingy XD
18:38 ingy I never said it was easy
18:38 ShadeHawk and I had an idea.  Git is defined by its data structures (packfile, index, etc.).  There exists two git implementation: "original" git with plumbing in C, and JGit in Java (its reimplementation, not wrapper)
18:38 ingy It was doable
18:38 ingy which is huge imho
18:38 ShadeHawk I wonder how hard would be to do git implementation in Perl 6 ......
18:38 ShadeHawk s/easy//
18:39 moritz_ ShadeHawk: reading and writing binary files is a rather new feature in Rakudo
18:39 ShadeHawk well, from what I remember JGit is around 10-20% slower than C git, because Java is not as close to metal
18:39 moritz_ ShadeHawk: having a project that uses it heavily would be a nice thing, to shake out bugs and usability glitches
18:40 ingy ShadeHawk: don't be a sucker for moritz_
18:40 ingy hahaha
18:40 moritz_ than rakudo will likely be 1000x slower at the moment - though there's hope
18:40 perigrin ShadeHawk: thre is also a version in Perl5 Git::PurePerl
18:40 ShadeHawk moritz_: so grammars were tested mainly on text data / programming languages?
18:40 lue .oO(I got it! '6 =:= 5' (with appropriate p5 equivalent as well))
18:41 ShadeHawk Git::PurePerl began as port of Grit (in Ruby)
18:41 perigrin it did ... I ended up somewhere else I think.
18:41 moritz_ ShadeHawk: yes. But grammars are probably not what you want for git anyway
18:41 mulander ShadeHawk: I believe grammars and rules are not the utilty that should be used for binary parsing
18:41 * ingy strongly believes in porting, and thinks rakudo is ready to port stuff to
18:41 ingy and kinda fun
18:41 mulander the nicest binary handling I saw so far was the one in Erlang
18:42 tadzik moritz_: rakudo supports binary files?
18:42 * PerlJam would be happy with a P6 wrapper around the git binary
18:42 lue rakudo: use libc :from<C>
18:42 p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Unable to find module 'libc' in the @*INC directories.␤(@*INC contains:␤  lib␤  /home/p6eval/.perl6/lib␤  /home/p6eval//p2/lib/parrot/2.​6.0-devel/languages/perl6/lib␤  .)␤»
18:42 ingy PerlJam++
18:42 moritz_ tadzik: a bit, yes
18:42 ShadeHawk Hmmm... IIRC git-daemon on GitHub has parts written in Erlang.  Perhaps it would be good start...
18:43 ingy what does this mean: #perl6(+Cnt)
18:44 ingy and how do i set/unset those flags?
18:44 ShadeHawk PerlJam: you would have probably wait for git libification; fortunately GSoC pays for work on that: https://git.wiki.kernel.org/index.ph​p/SoC2010Projects#Completing_libgit2
18:44 mulander see this: http://learnyousomeerlang.com/s​tarting-out-for-real#bit-syntax
18:45 ShadeHawk did Perl 6 stole^W borrowed anything from Erlang?
18:45 bjarneh left #perl6
18:45 moritz_ ingy: http://freenode.net/using_the_network.shtml explains the channel flags
18:46 PerlJam ShadeHawk: nope, see P5's Git::Wrapper.  All I need is a fork and some pipes :)
18:46 ingy moritz_++
18:49 ShadeHawk PerlJam: and on OS (:khem: MS Window :khem:) where forking is expensive this would make performance suck
18:50 saaki joined #perl6
18:50 ShadeHawk PerlJam: besides having JGit be reimplementation of git allowed it to be EPL/3 clause BSD dual licensed, while git is GPLv2 / misc GPL licensed
18:50 phenny joined #perl6
18:51 ruoso joined #perl6
18:51 ShadeHawk PerlJam: Perl 6 reimplementation could be GPL / Artistic licensed (IIRC it is "licensed like Perl")... unless Perl 6 is differently licensed from Perl 5?
18:52 lue is there an equivalent to =:= in Perl 5? /me is looking
18:52 tylercurtis mulander: Perl 6 does have blob literals(see http://perlcabal.org/syn/S02.html#Literals and grep for "Blob literals"). I don't know if there's Blob pattern-matching of any sort, though.
18:53 grussell joined #perl6
18:54 lue rakudo: say 6 =:= 5; #probably false
18:54 p6eval rakudo 9808d7: OUTPUT«0␤»
18:55 pmichaud the Rakudo compiler is artistic license 2
18:55 tylercurtis lue: I think that's meaningless.
18:55 shihzy joined #perl6
18:55 moritz_ ShadeHawk: the "licenced like perl" is intentionally polymorphic
18:56 lue then my 'marketing campaign' will seem like it leans towards Perl6. Oh well.
18:56 shihzy greetings
18:56 tylercurtis lue: =:= only makes sense on containers.
18:56 grussell left #perl6
18:56 moritz_ ShadeHawk: so if I port a p5 module with that license to p6, I assume it's OK to be artistic license 2, because that's what my perl is
18:58 lue I know, the message is supposed to be "we come from the same place", like whenever you bind.
18:58 masak joined #perl6
18:58 lue hai masak o/
18:58 masak oh hai, #perl6!
18:58 phenny masak: 23 Jul 13:56Z <au|zzz> tell masak there's an extra Mu() in the "Operator overloading" section, line 4, between the sub and say, #fyi :)
18:58 phenny masak: 23 Jul 15:31Z <moritz_> ask masak if temporal-flux-perl6syn still needs to be in the hugme projects list
18:59 masak moritz_: nope
18:59 masak au: thanks; will fix
18:59 jnthn yay! return of the masak!
18:59 lue rakudo: my $a = 3; my $b := $a; say ($a =:= $b)
18:59 p6eval rakudo 9808d7: OUTPUT«0␤»
18:59 tylercurtis lue: look at the last tests in http://svn.pugscode.org/pugs/t​/spec/S03-operators/identity.t
19:00 lue masak: did you hear about The Boot?
19:00 sorear ingy: Yes
19:00 sorear sbp++
19:01 sorear (although we still don't have the karmabot back)
19:01 lue it's a marketing campaign! It's not supposed to make complete sense :)
19:01 moritz_ masak: I've branched pls, to get some hacks in that R* needs
19:01 masak moritz_: thanks.
19:01 moritz_ masak: I need 1) injection of modules into cache/, so they are not downloaded and 2) custom prefixes (not yet done)
19:01 masak I expect to be back again full-time starting tomorrow afternoon.
19:02 masak moritz_++
19:02 moritz_ it's hacky, because I don't understand pls, and don't know how to do it right :-)
19:02 ingy hi sorear
19:02 dalek book: 25c7182 | ajs++ | src/operators.pod:
19:02 dalek book: Very minor redundancy: removed duplicate "new"
19:02 dalek book: review: http://github.com/perl6/book/commit/25​c7182f8939d9a89837ffc80e1c88415593a415
19:02 dalek book: 4205025 | ajs++ | src/basics.pod:
19:02 dalek book: "word" characters are a Perl 5 ism which we should probably not assume the
19:02 dalek book: reader knows
19:02 dalek book: review: http://github.com/perl6/book/commit/42​05025a3607d0215d902239334c1886d5a3e7fd
19:03 pmurias ruoso: hi
19:03 pmurias ruoso: got the p5 interop to work in smop
19:03 masak (how's that Mu() end up there? now it's gone, at least. au++)
19:03 masak see y'all tomorrow!
19:03 moritz_ caio
19:03 moritz_ erm
19:03 moritz_ s/ai/ia/
19:03 ShadeHawk just in case it got lost in the noise: Perl 6 IIRC borrowed ideas from Python, Ruby, Smalltalk, Haskell.... did Perl 6 stole^W borrowed anything from Erlang?
19:04 moritz_ ShadeHawk: not sure... the concurrency model isn't fully fleshed out yet
19:04 ingy sorear: Test::Builder is a class for making a test set _object_ that encapsulates all the parts of running a test file.
19:04 Tene ShadeHawk: I don't know of anything specifically, no.  I think I remember seeing some erlang stuff mentioned in concurrency discussions.
19:04 pmurias ruoso: it works with MULIPLICITY disables so i don't think we need to seperate it out to a different package
19:05 ruoso pmurias, cool... that's really cool...
19:05 sorear ShadeHawk: We haven't designed the concurrency system yet.  It's quite likely we *will* steal stuff from Erlang
19:05 ingy sorear: a user doesn't typically use Test::Builder directly, but instead uses a module like Test::More (or TestML) that exports test functions
19:05 ruoso pmurias, so I think the next step is "use v6-mildew|
19:05 sorear ingy: what does a test set object entail?
19:05 ingy sorear: and those exported things like 'plan' and 'is' delegate to the object
19:06 cono joined #perl6
19:06 ingy sorear: a plan and a count of what is happening
19:06 ingy sorear: I don't know it inside out
19:07 ingy sorear: but in p5 I made TestML use Test::Builder, which felt clean
19:07 ShadeHawk junctions isn't concurrency?
19:07 ingy sorear: in p6 I just call the Test.pm exports, and it works fine actually, but feels less clean :)
19:08 ingy sorear: are you the Test.pm6 guy?
19:08 pmurias ruoso: do you think making use v6 dispatch to v6::mildew and v6::alpha depending on the -part is a sane first step
19:08 ruoso yes... that was what I had in mind....
19:08 * ruoso brb &
19:09 jnthn ShadeHawk: Junction operations may be parallelized.
19:09 sorear ingy: I'm a Test.pm6 guy.  Each implementation currently maintains an independant Test.pm
19:09 mulander hmm
19:09 mulander I'm tryin an example from perl 5-to-6
19:09 jnthn ShadeHawk: As may some others. But nobody afaik implemented that yet.
19:09 sorear ingy: Mine is currently limited to "ok" and "plan", I thought I'd consult someone who seemed to know what he was doing...
19:09 ingy sorear: yeah, that's what I meant. Test.pm6r ;)
19:09 mulander and I think rakudo got confused or the tutorial is outdated
19:10 mulander after seeing this: token path { <[ a..z A..Z 0..9 -_.!~*'():@&=+$,/ ]>+ }
19:10 mulander rakudo complains: Obsolete use of hyphen in enumerated character class;in Perl 6 please use .. itead at line 27, near "_.!~*'():@"
19:10 ingy sorear: oh right, you're doing niecza
19:11 mulander does it treat the included hyphen incorrectly as a range separator?
19:11 ingy Test.pm6n
19:11 sorear mulander: no, but it thinks you are and carps
19:11 sorear mulander: backslash it
19:11 ingy sorear: I'd at least read the docs for Test::Builder on CPAN
19:12 mulander worked
19:12 ingy sorear: can you do me a favor and try joining #testml ?
19:14 dalek joined #perl6
19:18 felliott joined #perl6
19:24 sorear ingy: can you point me to a module on CPAN that is greatly simplified by the existance of T:B?
19:25 molecules joined #perl6
19:25 ingy sorear: Test::More?
19:26 ingy sorear: Test::Base
19:26 ingy sorear: it's nice to have one trusted interface to the TAP stuff
19:26 ingy sorear: if you are going to have more than one test module...
19:27 ingy sorear: but I don't think it's critical at this point
19:27 ingy sorear: then again, I don't think p6 is critical at this point :)
19:28 sorear I just wonder why that "one trusted interface" can't look like Test::More
19:28 ingy um
19:28 * moritz_ -> out
19:28 Su-Shee joined #perl6
19:28 ingy how do you cleanly extend a non-OO framework
19:29 [Coke] moritz_: gutend abend
19:29 sorear my module Test::EvenMore; use Test::More :EXPORT; sub something_else is export { ... }
19:29 ingy moritz_: thanks for your help. my irc chans are happy
19:30 ingy sigh
19:31 ingy I don't feel like getting into an argument on the benefits of OO
19:31 ingy talk to schwern
19:32 ingy http://search.cpan.org/~mschwern/Te​st-Simple-0.94/lib/Test/Builder.pm  -- Test::Builder - Backend for building test libraries
19:32 ingy pretty much says it all
19:34 PacoLinux joined #perl6
19:35 pmurias sorear: the problem with a Test.pm6 / Test::More like interface is that the underlying "object" having the tests passed already is passed implicitly
19:37 pmurias ingy: isn't the singleton getting in the way of things?
19:37 pmurias as a singleton is mostly the same thing as using subs, just more clumsy
19:38 ingy pmurias: getting in the way of what?
19:38 ingy I'm a bit lost
19:38 ingy sorry
19:39 pmurias the singleton forces a one test per program
19:39 ingy that's TAP though, yeah?
19:40 pmurias they are ways around that in TAP
19:40 pmurias s/they/there
19:40 [Coke] I rarely find that a problem that needs gettin' 'round.
19:40 ingy I'm just saying that extending Test::Builder is more straightforward than extending Test::More or Test.pm
19:40 pmurias would have to read up on that
19:40 ingy it's clear what you can and can't do
19:41 [Coke] if you have to read up on it, I'm guessing it's not getting in your way either.
19:41 ingy who maintains Test.pm for rakudo?
19:42 colomon ingy: no one in particular
19:42 PerlJam ingy: you do!  ;)
19:42 ingy yay! ;)
19:43 ingy compared with the state of the rest of rakudo, I'll get on that in a few years :P
19:44 pmurias [Coke]: http://search.cpan.org/~ovid/Test-Ag​gregate-0.363/lib/Test/Aggregate.pm
19:44 lulinha joined #perl6
19:44 lulinha left #perl6
19:45 jferrero joined #perl6
19:46 [Coke] pmurias: yah, I'm familiar with it. =-)
19:48 nomad__ left #perl6
19:49 dolmen joined #perl6
19:50 dolmen rakudo: (3, 6, 9....*)[10..15].perl.say
19:50 p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Confused at line 22, near "(3, 6, 9.."␤»
19:52 wamba joined #perl6
19:52 pmurias [Coke]: Test::Aggregate had some problems with Test::Builder
19:52 [Coke] close. try "..." instead of "...."
19:53 patrickas joined #perl6
19:54 tylercurtis ingy: For the "one trusted interface" to the TAP stuff, do you really want to extend it, or do you want to build on top of it? I don't know enough about testing frameworks to know which of Test::Builder or Test::More interfaces is a better foundation for building testing libraries, but what sort of things do you want to do that Test::Builder allows but Test::More/Test.pm doesn't?
19:57 PerlJam btw, did anyone point out http://www.perl.com/pub/2005​/07/28/test_builder_p6.html  ?
19:57 pmichaud I suspect I'm the primary maintainer for Test.pm
19:57 tylercurtis ingy: on a related note, there is what appears to be a port of Test::Builder in the pugs repo at ext/Test-Builder/... and PerlJam beat me to mentioning that.
20:01 pmichaud I'm having trouble visioning what the build system for R* should look like.
20:02 pmichaud I'm guessing it needs to be:  build parrot.  test parrot.  install parrot.  build rakudo.  test rakudo.   install rakudo.
20:02 [Coke] pmichaud: are you rolling your own or just invoking the N build systems you already have?
20:02 pmichaud [Coke]: it kinda needs to be "roll our own", I think.
20:02 pmichaud where that in turn invokes the underlying build systems
20:03 [Coke] your order seems reasonable.
20:03 [Coke] (given that's how I do it when I roll my own.)
20:04 [Coke] perhaps further broken down into build -> Configure; build ?
20:04 alexm left #perl6
20:05 [Coke] any way for the user to override choices to parrot's configure, e.g.?
20:05 sorear whether or not Test::Builder is at all useful, it does seem like a good stress test for various aspects of niecza
20:05 pmichaud [Coke]: I think that's a necessity, yes.
20:06 pmichaud one significant difference between R*'s build and Rakudo's build is that I think we have to assume --prefix is going somewhere standard unless explicitly told otherwise
20:06 [Coke] I would just do a simple --parrot_opts="<all yer overrides here>" and not worry about mapping options at that level to the R* build level.
20:06 pmichaud the more troubling aspect is that "install parrot"  tends to require super-user privs
20:06 pmichaud while we want the build+test steps to not require such.
20:06 [Coke] depending on where you install it, sure.
20:07 PerlJam pmichaud: make "somewhere standard" be ~/rakudo-star
20:07 pmichaud PerlJam: that seems bizarre
20:07 pmichaud PerlJam: and it still doesn't help with the build process when someone says   --prefix=/usr/local/rakudo
20:07 pmichaud (or whatever)
20:09 [Coke] do we really need to handhold the user on installing to a system dir?
20:10 pmichaud [Coke]: what does parrot do there?
20:10 pmichaud or are you saying that rakudo star should default to not being installed to a system dir?
20:10 [Coke] make install will fail if you are installing somewhere you have no privs.
20:10 tylercurtis pmichaud: is it possible to build/test Rakudo with a non-installed Parrot?
20:11 pmichaud tylercurtis: no.
20:11 [Coke] at which point, people who install software will usually say, "OH, right need to be root."
20:11 [Coke] nor is it trivial to install parrot one place and relocate it when you're happy. I think.
20:11 pmichaud tylercurtis: parrot has some very significant differences between its build version and its install version (more)
20:12 pmichaud more to the point, the installed version of parrot is never the one that gets tested.
20:12 pmichaud and the installed copies of the libraries are never the ones that get tested
20:12 [Coke] none of which you're going to be able to fix for R*, neh?
20:12 pmichaud [Coke]: I (we) haven't been able to fix them in nearly two years, I doubt it's going to happen in two days :)
20:13 [Coke] While it would be nice to have all bells and whistles, I'd settle for:
20:13 Tene I haven't done a system-level install of parrot in... quite a while.
20:13 Tene I just install to ~/parrot
20:14 [Coke] 1) let the user specify a path to an already installed parrot of correct vintage.
20:14 pmichaud I'm not trying to do "all bells and whistles", I'm just trying to get a clean process that isn't too convoluted to follow.
20:14 Tene I would not find it weird if the default as a restricted user was ~/rakudo-star
20:14 [Coke] 2) prompt (or otherwise let them specify) a target prefix for the install, warning them about privs.
20:14 Tene or /opt/rakudo-star/ oslt as root
20:15 [Coke] and if it fails out due to privs during install, oh well. for this release, they can re-run the whole thing. if you're feeling /really/ helpful, you could skip the config/build steps before doing the install when they rerun with elevated privs. =)
20:15 pmichaud [Coke]: are you suggesting 1 and 2 as exclusive options or as steps in a single process?
20:16 [Coke] I was thinking exclusive.
20:16 [Coke] either they have parrot installed already or they don't
20:17 pmichaud if they have parrot installed already, it's not a big problem.
20:17 pmichaud I'm more interested in the "they don't" case.
20:18 pmichaud so, someone downloads the R* tarball
20:19 pmichaud unpack it, read the README
20:19 pmichaud it says "if you don't have Parrot installed already, you need to...."
20:19 pmichaud ...and what comes next?
20:19 pmichaud (1) should we provide a copy of Parrot in the tarball that is known to work?
20:20 pmichaud or
20:20 [Coke] I had assumed that that was going to happen. If not, you could just point them at parrot.org.
20:20 pmichaud yes, I had assumed that as well.
20:20 tadzik Couldn't it just look for installed parrot in $PATH, and automagically install it if needed?
20:20 tadzik with a warning
20:20 pmichaud tadzik: "automagically install" always frightens me.
20:20 Tene IMO don't include it
20:21 pmichaud and it often assumes su privileges
20:21 tadzik pmichaud: or prompt for installing
20:21 Tene I'd much prefer something like --gen-parrot
20:21 [Coke] tadzik: You'd want to be able to specify the path, I think. that could be the default suggestion though.
20:21 Tene download it if needed.
20:21 tadzik parrot not found, install it?
20:21 pmichaud tadzik: no, it would be more like
20:21 ingy tylercurtis: um, Test::More _is built_ on top of Test::Builder
20:21 tadzik and of course some options --ignore-lacking-parrot or --use-system-parrot, stuff
20:21 pmichaud "parrot not found, please run parrot's build and then 'sudo make install' for Parrot"
20:22 tadzik hmm
20:22 pmichaud tadzik: there's no way that I'm going to recommend to folks that they *build* parrot as superuser.
20:22 tadzik wasn't it R* policy to include a working parrot inside?
20:22 ingy tylercurtis: Test::More is a test writer's module. Test::Builder is a test module writer's module.
20:22 pmichaud tadzik: depends on what you mean by "working parrot".  And this is the first release, so we're allowed to change our minds or set new policy.
20:23 mulander I think the current --gen-parrot really nice.
20:23 mulander *I find
20:23 tadzik I have nothing against it either
20:23 [Coke] assumes 'svn' is installed, which will be less valid for non-devs.
20:23 Tene [Coke]: could be tweaked to download a release tarball instead
20:24 mulander isn't R* something more of a developer preview?
20:24 pmichaud [Coke]: well, I'd have an R* --gen-parrot use an included copy of parrot
20:24 [Coke] (just have it pull from a copy in the tarball, though, but otherwise give it the same semantics?)
20:24 Tene and to install to a different prefix
20:24 pmichaud it wouldn't be the same as rakudo compiler's --gen-parrot
20:24 tylercurtis ingy: sorear said "I just wonder why that "one trusted interface" can't look like Test::More", and you asked "how do you cleanly extend a non-OO framework". If the one standard interface for TAP was Test::More, what couldn't you do that you could with Test::Builder?
20:25 ingy tylercurtis: the one standard module for writing tap modules like Test::More in p5 is Test::Builder
20:26 ingy tylercurtis: I didn't make this stuff up
20:27 ash___ joined #perl6
20:27 tylercurtis ingy: I know that. I'm just curious about what things are made possible by Test::Builder that aren't possible by just wrapping the functions that Test::More or Test.pm provides?
20:28 Tene "made possible" probably isn't the right question.
20:28 ingy tylercurtis: did you read the T:B doc?
20:28 ingy it explains everything better than I can
20:29 sorear ingy: I am merely asking if it is worth revisiting that, since P6 makes extending subroutine modules much easier
20:29 tylercurtis pmichaud: have you looked at how Plumage does module installs? If I have parrot installed in /usr/local and do "plumage install something", it will download and build and test the module and then sudos for just the install part.
20:29 ingy DESCRIPTION ^
20:29 ingy Test::Simple and Test::More have proven to be popular testing modules, but they're not always flexible enough. Test::Builder provides the a building block upon which to write your own test libraries which can work together.
20:30 pmichaud tylercurtis: that assumes you already have a working parrot, though.
20:30 pmichaud the analogy in the R* case is 'pls' or 'proto', which assumes you have a working Perl 6.
20:31 pmichaud so far, as far as I know, plumage isn't able to build parrot from its sources.
20:31 lue afk --hazardous-weather
20:31 ingy sorear: I personally think that an OO class with an API is a better way to expose a framework, than a hand picked bag of functions. but that's just me. Maybe OO is out of vogue.
20:32 pmichaud ingy: it's entirely possible for there to be multiple implementations that expose the same API.
20:32 ingy call me old skööl
20:32 pmichaud and often desirable.  :)
20:32 tylercurtis pmichaud: right. I'm not talking about Plumage as a whole; just the bit that sudos for the only the install part when necessary.
20:32 sorear Perhaps the reasonable thing to do is to provide R* as a single non-installing relocatable blob
20:32 pmichaud tylercurtis: what do they do on windows environments?
20:33 pmichaud "relocatable" and "parrot" do not currently mix.
20:33 tylercurtis pmichaud: no idea.
20:33 sorear pmichaud: it's relocatable until you run make
20:33 sorear uses ./parrot_install?
20:33 pmichaud sorear: then I don't understand what you mean by "relocatable blob"
20:34 sorear I'm not sure anymore either.
20:34 ingy pmichaud: are we talking about the same thing?
20:35 pmichaud ingy: I think so, but I might be wrong.
20:35 pmichaud ingy: iiuc, you're advocating that Test.pm should have an OO implementation behind it
20:36 tylercurtis ingy: I understand that there can be advantages to OO designs. I'm just curious what concrete things are allowed by Test::Builder's architecture that are hard or impossible to do by simply wrapping a module of simple testing functions.
20:38 ingy tylercurtis: like I said, I like OO. If people want to reinvent OO, that's certainly "interesting"
20:38 tadzik does either pls or proto work atm?
20:39 ingy tylercurtis: schwern wrote test::more and realized it was impossible to reuse, so he wrote test::builder under it
20:39 ingy tylercurtis: at some point, maybe someone in p6 will want to do the same
20:39 pmichaud ingy: ...and what stops that from happening?
20:39 ingy I personally have TestML working fine without it
20:40 ingy pmichaud: sigh. NOTHING!
20:40 pmichaud ingy: okay, then I guess we're in agreement.  :)
20:41 ingy pmichaud: about 3-4 weeks ago I asked here if there was a T::B and found out ther wasn't and moved on, and this morning sorear baited me into defending the whole thing, and I guess I bit :P
20:41 ingy pmichaud: I think we are.
20:41 * ingy has test frameworks to write... :)
20:42 * ingy buggers off
20:42 Tene ingy: So, wait, what's so great about Test::Builder? ;)
20:42 tylercurtis ingy: there is a Test::Builder. I don't know if it works in Rakudo or not, but it exists.
20:42 ingy /kick Tene
20:42 Tene :)
20:42 * pmichaud goes back to figuring out rakudo star build process.
20:43 ingy tylercurtis: obviously the pugs people were from my skööl
20:43 sorear I'm genuinely curious.  Maybe I'm also being too obtuse.
20:47 pmichaud should the version of parrot that R* packages be from a parrot tarball or from the parrot svn?  (I vote tarball.)
20:47 [Coke] tarball.
20:47 [Coke] if the user is sophiscated enough to want an svn checkout, they can do it themselves.
20:48 Tene [Coke]: He's asking about the version that R* packages, not the method that R* build uses to fetch
20:48 Tene pmichaud: right?
20:48 ingy sorear: I think with OO you have a better defined API that you can assert works a certain way when you do certain things in combination, but if you really want an earful, ask Schwern...
20:49 [Coke] Tene: it's going to be 2.6.0 either way.
20:49 ingy he will make you change your nick from sorear to soreear
20:49 pmichaud Tene: yes; and I think Coke++ understood it that way.
20:49 [Coke] no?
20:49 [Coke] is the choice between 2.6.0 and HEAD?
20:49 pmichaud [Coke]: at the moment it's going to be 2.6.0, yes.
20:49 [Coke] so, what's the question then?
20:49 pmichaud I didn't get it either.
20:50 [Coke] you asked it!
20:50 [Coke] ;)
20:50 ingy what ToD is Star scheduled to be released?
20:50 tadzik sub find (Callable $callback, *@dirs) -- how to force *@dirs having at least one entry?
20:50 sorear ingy: just ping him on MAGnet?
20:50 [Coke] (and pmichaud, you're doing the actual release, yes?)
20:50 Tene tadzik: ..., *@dirs where { @dirs.elems > 0 }) { ...
20:50 tadzik Tene++, thanks
20:50 ingy sorear: magnet #perl sure
20:50 pmichaud colomon: yes, I plan to do the actual release.
20:51 pmichaud s/colomon/Coke/
20:51 Tene tadzik: that might be slightly off.  Let me know if it works for you.
20:51 pmichaud [Coke]: that way any blame/mistakes are purely my own.  :)
20:51 ingy 13:51 < purl> schwern was last seen on #perl 8 days, 14 hours, 10 minutes and 0 seconds ago, saying: Which is actually the easy way to do it  [Jul 18 06:41:05 2010]
20:51 * [Coke] sees schwern's name and checks his watch.
20:52 ingy schwern and time usually don't mix
20:52 pmichaud ingy: (time of day)  don't have a specific time yet.  I'd like it be early on the 29th, but it will depend on if there are many last-minute-items to be taken care of.
20:52 colomon \o/
20:52 pmichaud schwern++'s  2038 talk at oscon was hilarious.
20:52 pmichaud it was by far my favorite talk of the entire conference.
20:53 pmichaud (and I've seen him give the 2038 talk several times previously.)
20:53 tylercurtis ingy: What I'm wondering is: were the problems with reusing Test::More due to a fundamental problem with modules of subroutines or  due to Test::More not being designed to be a framework for building testing modules? I just don't understand the meaningful difference between a singleton class with methods and a module with functions, with the exception of the Test::Builder.child method.
20:53 pmichaud (but this one was different)
20:53 sorear pmichaud: related to the perl 6 y2038 rumor?
20:54 pmichaud sorear: not sure about that one.  :)
20:54 ingy tylercurtis: it's not my puppy... ask schwern :P
20:54 Tene tylercurtis: ingy has already said that he's not itnerested in discussing it further right now.
20:54 ingy that's my new slogan
20:54 Tene Please stop asking him.
20:54 tadzik tylercurtis: works, thanks
20:54 pyrimidine left #perl6
20:55 pmichaud time for a walk here...bbiab
20:57 tadzik Constraint type check failed for parameter '@dirs' -- could it be more helpful for an end-user one day?
20:58 timbunce joined #perl6
20:59 tylercurtis ingy: I'm sorry if I've been pestering you. I didn't see where you said that you didn't want to further discuss the matter.
20:59 tylercurtis tadzik: I think you meant to say that to someone else? Probably Tene?
21:00 tadzik tylercurtis: yeah, pardon
21:00 tadzik Tene: thanks, works
21:01 whiteknight joined #perl6
21:03 Tene tadzik: For that specific constraint, it's not likely.  You'd have to do it yourself with another multi variant.
21:03 Tene multi ... where { *.elems == 0 } ) { die "More-useful error message" }
21:04 ash___ how does one build std? so i can check syntax at home
21:04 tadzik Tene: this slurpy list was used to avoid the multi subs :) Could the error message print out the method signature maybe?
21:04 Tene tadzik: That sounds reasonable enough, but you'd also need to be able to reproduce the code sub.
21:05 tadzik Tene: what do you mean?
21:05 tadzik rakudo: sub find (Callable $callback, *@dirs where { @dirs.elems > 0}); # just checking
21:05 p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
21:05 lichtkind joined #perl6
21:05 tadzik …exactly. What does he want?
21:05 jnthn Maybe one day we'll be able to write a module that's all like (@x where { @x.elems > 0 } is bind_error('fool, pass some damm elements!'))
21:06 lichtkind greets
21:06 tylercurtis tadzik: without multis, you could remove the constraint on the *@dirs and start the sub with "die 'Some more helpful error message' if @dirs.elems == 0;"
21:06 tadzik tylercurtis: yeah, I thought about that too
21:06 tadzik but constraints just fit perfectly here
21:06 tadzik "choose your poison", eh?
21:07 tadzik ah, I know, ok
21:07 tadzik this code snippet
21:07 tadzik error message could be more helpful though :)
21:07 tadzik rakudo: sub find (Callable $callback, *@dirs where { @dirs.elems > 0}) {}; &find.signature.perl.say # not helpful :F
21:08 p6eval rakudo 9808d7: OUTPUT«:(Callable $callback, *@dirs where ({ ... }))␤»
21:08 Tene tadzik: all that's available in the signature is a code ref.  To print out what was wanted, you'd need to be able to go from a code ref back to text, which we can't do right now.
21:09 tadzik oh, I see
21:09 Tene and, even then, it wouldn't be completely obvious.
21:09 jnthn tadzik: If code refs stringified to anything useful I'd include it in the error already
21:09 jnthn But I didn't 'cus right now they tell you nothing.
21:09 Tene To go from that to "@dirs needs at least one element" in general is very difficult.
21:10 tadzik well, I'd be really amazed if thing like this would be even possible one day
21:10 tadzik sounds like Perl6 → English translator :)
21:11 Tene exactly
21:12 sorear generally speaking, if you want to inspect a code ref, you shouldn't be using a code ref
21:12 sorear transparent stuff should be specced differently
21:13 Tene It wouldn't be completely infeasible with rakudo to save the text of blocks into an attribute in the compiled sub object, or similar.  Just a lot of work nobody's been interested in doing yet.
21:17 oha couldn't be better to make a filter which, given a parse tree, returns code which compile exactly the same? this would also help discover folding and so on.
21:19 sorear well, the parse trees aren't available at runtime either
21:19 ash___ rakudo: class Foo::Bar { }; say Foo::Bar.new.perl # I thought that was changed to be a valid way of making a new object
21:19 p6eval rakudo 9808d7: OUTPUT«Foo;Bar.new()␤»
21:20 ash___ the ; seems wrong
21:20 sorear Foo;Bar is the true name of the class in rakudo
21:20 ash___ but is that correct for perl6?
21:20 sorear .perl probably needs to munge it back into source code syntax
21:20 sorear but that's NYI
21:20 ash___ ah
21:20 sorear and .new itself is absolutely working
21:21 ash___ rakudo: class Bar { has $a }; say Bar.new(a => 10).perl;
21:21 p6eval rakudo 9808d7: OUTPUT«Bar.new(a => 10)␤»
21:21 ash___ they seem to already be doing some sort of work in .perl otherwise that would be just Bar.new
21:22 oha rakudo: class Bar { has $a }; say Bar.new(a=>10).perl;
21:22 sorear some work != all work
21:22 p6eval rakudo 9808d7: OUTPUT«Bar.new(a => 10)␤»
21:23 PerlJam Foo;Bar looks like parrot leaking through
21:24 ash___ rakudo: class Bar { has $a; method add($a) { $!a += $a; } }; my $a = Bar.new(a=>10); $a.add(10); say $a.perl
21:24 p6eval rakudo 9808d7: OUTPUT«Bar.new(a => 20)␤»
21:24 ash___ ah, i see why
21:24 ash___ in .perl they use 'pir::typeof__SP'
21:26 ash___ rakudo: class Foo::Bar {}; say pir::typeof__SP(Foo::Bar);
21:26 p6eval rakudo 9808d7: OUTPUT«Foo::Bar␤»
21:26 bjarneh joined #perl6
21:26 ash___ hmm
21:26 ash___ nm
21:26 dolmen rakudo: (3, 6, 9...*)[10..15].perl.say
21:26 p6eval rakudo 9808d7: OUTPUT«(33, 36, 39, 42, 45, 48)␤»
21:27 dolmen rakudo: (3, 6, 12...*)[10..15].perl.say
21:27 p6eval rakudo 9808d7: OUTPUT«(3072, 6144, 12288, 24576, 49152, 98304)␤»
21:27 ash___ joined #perl6
21:27 dolmen rakudo: (3, 6, 9...*)[3..6].perl.say
21:27 p6eval rakudo 9808d7: OUTPUT«(12, 15, 18, 21)␤»
21:27 kensanata joined #perl6
21:28 dolmen rakudo: (3, 6, 12...*)[3..6].perl.say
21:28 ash___ rakudo: class Foo::Bar {}; say pir::typeof__SP(Foo::Bar.new), ' vs ', pir::typeof__SP(Foo::Bar);
21:28 p6eval rakudo 9808d7: OUTPUT«(24, 48, 96, 192)␤»
21:28 p6eval rakudo 9808d7: OUTPUT«Foo;Bar vs Foo::Bar␤»
21:28 ash___ instances vs namespaces?
21:29 dolmen rakudo: (*..0, 2, 4)[-5].perl.say
21:29 p6eval rakudo 9808d7: OUTPUT«undef␤»
21:30 PerlJam undef?!?
21:30 dolmen rakudo: (*..0, 2, 4)[-1].perl.say
21:30 p6eval rakudo 9808d7: OUTPUT«undef␤»
21:30 ash___ rakudo: (1, 2, 3)[-1].WHAT.say
21:30 p6eval rakudo 9808d7: OUTPUT«Failure()␤»
21:30 ash___ negative indexes are wrong
21:31 ash___ rakudo: (1, 2, 3, 4)[*-1].say
21:31 rindolf *-1
21:31 p6eval rakudo 9808d7: OUTPUT«4␤»
21:31 PerlJam undef was doubly wrong
21:31 ash___ (didn't realize Failure.perl was "undef")
21:31 dukeleto joined #perl6
21:32 ash___ rakudo: say Failure.new("undef").perl
21:32 p6eval rakudo 9808d7: OUTPUT«"undef"␤»
21:33 PerlJam rakudo: Failure.new(undef).perl.say
21:33 p6eval rakudo 9808d7: 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␤
21:33 p6eval .. or fail() as a failur…
21:33 PerlJam rakudo++
21:34 PerlJam rakudo:  my $a; undef $a;
21:34 p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Unsupported use of undef as a verb; in Perl 6 please use undefine function or assignment of Nil at line 22, near " $a;"␤»
21:35 tylercurtis rakudo: Failure.new("foo").perl.say
21:35 p6eval rakudo 9808d7: OUTPUT«"foo"␤»
21:35 ash___ rakudo: my $a; undefine $a;
21:35 p6eval rakudo 9808d7:  ( no output )
21:35 PerlJam rakudo: Exception.perl.say
21:35 p6eval rakudo 9808d7: OUTPUT«Exception␤»
21:36 PerlJam rakudo: Exception.new.perl.say
21:36 p6eval rakudo 9808d7: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expected␤  in main program body at line 1␤»
21:36 tylercurtis rakudo: fail "foo"; CATCH { .perl.say; }
21:36 p6eval rakudo 9808d7:  ( no output )
21:36 ash___ http://github.com/rakudo/rakudo/blob/​master/src/builtins/Exception.pir#L93 is (i think) the undef we saw with [-1]
21:36 PerlJam rakudo: Exception.new("blah").perl.say
21:36 p6eval rakudo 9808d7: OUTPUT«undef␤»
21:37 PerlJam there you go
21:37 tylercurtis rakudo: (fail "foo"
21:37 p6eval rakudo 9808d7: OUTPUT«===SORRY!===␤Confused at line 22, near "(fail \"foo"␤»
21:37 tylercurtis rakudo: (fail "foo").perl.say;
21:37 p6eval rakudo 9808d7:  ( no output )
21:37 ash___ ya, that, what PerlJam did
21:38 PerlJam Exception.pir needs a rewrite to Perl 6 IMHO
21:39 tylercurtis rakudo: Failure.new(Exception.new("foo")).perl.say;
21:39 p6eval rakudo 9808d7: OUTPUT«undef␤»
21:41 ash___ when building STD, i get "dba unspecified at /Users/john/Projects/pugs/src/perl6/CursorBase.pm line 2287." as a make failure, anyone have any suggestions?
21:41 ash___ i am up to date on the svn checkout
21:43 tadzik why is Test.pm broken in master? :(
21:44 ingy tadzik: you mean it's not OO?
21:44 * ingy ducks
21:44 PerlJam heh
21:44 tadzik ;)
21:44 snarkyboojum joined #perl6
21:44 frettled ingy++ :D
21:45 jnthn OO NOES!
21:45 jnthn tadzik: broken?
21:45 tadzik jnthn: seems so
21:45 jnthn tadzik: If you have an installed version, trying tossing that.
21:45 jnthn Or re-make install-ing.
21:46 tadzik http://wklej.org/id/369096/
21:47 jnthn Almost certainly a Test.pir being picked up.
21:47 jnthn That is out of date
21:49 tadzik hmm
21:49 PerlJam tadzik: works for me :)
21:50 tadzik hrm
21:50 tadzik make clean and once again?
21:51 jnthn tadzik: Also check @*INC
21:51 jnthn tadzik: And make sure there's no Test.pir's in those places
21:57 tadzik also, my 2010.07 says "This is Rakudo Perl 6, version 2010.06"
22:00 pmichaud oooops!
22:00 pmichaud looks like the release guide omitted the step of "update VERSION"
22:00 pmichaud that's probably my fault.
22:01 pmichaud I had planned to combine VERSION with make VERSION=   and just never got it finished.
22:05 masonkramer joined #perl6
22:13 ethel joined #perl6
22:23 snarkyboojum joined #perl6
22:24 ingy rakudo: require Test;
22:24 p6eval rakudo 9808d7: OUTPUT«Could not find sub &Test␤  in main program body at line 22:/tmp/JDKoUQU801␤»
22:24 ingy rakudo: require 'Test';
22:24 p6eval rakudo 9808d7: OUTPUT«Could not find sub &require␤  in main program body at line 22:/tmp/CJ8ICgq3C3␤»
22:25 ingy rakudo: need 'Test';
22:25 p6eval rakudo 9808d7: OUTPUT«Could not find sub &need␤  in main program body at line 22:/tmp/oS_k5mlvzM␤»
22:25 snarkyboojum rakudo: need Test;
22:25 p6eval rakudo 9808d7:  ( no output )
22:25 ingy :P
22:26 tylercurtis rakudo: need Test; require Test; plan 5;
22:26 p6eval rakudo 9808d7: OUTPUT«Could not find sub &require␤  in main program body at line 22:/tmp/Mu7YSWHeW2␤»
22:26 tylercurtis rakudo: need Test; import Test; plan 5;
22:26 p6eval rakudo 9808d7: OUTPUT«1..5␤# Looks like you planned 5 tests, but ran 0␤»
22:26 ingy :)
22:27 dalek niecza: 1892a69 | sorear++ |  (5 files):
22:27 dalek niecza: Pull to_cgop out into a pass
22:27 dalek niecza: review: http://github.com/sorear/niecza/commit/1​892a69d2bc9a48a336c4b928e9b32a8ebd535d4
22:27 dalek niecza: 66741e7 | sorear++ |  (5 files):
22:27 dalek niecza: Make extract_scopes into its own pass
22:27 dalek niecza: review: http://github.com/sorear/niecza/commit/6​6741e72f558eba63790f558223d7d53884a6b69
22:27 dalek niecza: 0931115 | sorear++ |  (2 files):
22:27 dalek niecza: Use more generic traversals for extra_decls and write, kill Body.outer
22:27 dalek niecza: review: http://github.com/sorear/niecza/commit/0​931115be51b7dc82acde9e776a46f7b95225edf
22:27 dalek niecza: e6fa129 | sorear++ |  (4 files):
22:27 dalek niecza: Extract a pass from ANF conversion
22:27 dalek niecza: review: http://github.com/sorear/niecza/commit/e​6fa1293fa2dc6198554e612c18882acfe5cb919
22:29 [Coke] (I do wish that I had irssi config to de-emphasize anything that resembled a p6eval conversation.
22:30 [Coke] (version 2010.06) AIIGH. sorry.
22:30 [Coke] I should have done an ack to be sure. :|
22:33 Trashlord joined #perl6
22:35 dual joined #perl6
22:40 mberends joined #perl6
22:45 rgrau_ joined #perl6
22:46 [Coke] http://blogs.perl.org/users/alex_muntada/2010​/07/celebrating-perl-6-with-a-full-menu.html - "the first complete and usable implementation of Perl 6"
22:50 snarkyboojum "complete"? eek
22:51 Tene [Coke]: what would de-emphasize look like for you?
22:53 Tene something like: /hilight -mask p6eval -line -color %whatevercolor -actcolor %n -channels #perl6 -priority 255
22:53 Tene I expect
22:57 ingy what's the syntax for specifying a start rule on a parse again. /me forgot to write it down :'(
23:00 dolmen rakudo: (*...0, 2, 4)[*-4].WHAT.say
23:00 p6eval rakudo 9808d7: OUTPUT«Method 'pred' not found for invocant of class 'Whatever'␤  in <anon> at line 754:CORE.setting␤  in <anon> at line 822:CORE.setting␤  in 'Parcel::elems' at line 1␤  in 'Any::postcircumfix:<[ ]>' at line 1641:CORE.setting␤  in main program body at line 1␤»
23:00 [particle] http://perl6advent.wordpress.com/200​9/12/21/day-21-grammars-and-actions/ says Question::Grammar.parse($text, :action($actions)).ast;
23:00 [particle] where $actions is Question::Actions.new
23:02 dolmen akudo: [1, 2, 3][-2].say
23:02 dolmen rakudo: [1, 2, 3][-2].say
23:02 p6eval rakudo 9808d7:  ( no output )
23:03 dolmen rakudo: (1, 2, 3)[-2].say
23:03 p6eval rakudo 9808d7:  ( no output )
23:03 dolmen rakudo: [1, 2, 3][*-2].say
23:03 p6eval rakudo 9808d7: OUTPUT«2␤»
23:04 dolmen left #perl6
23:05 ingy rakudo: grammar G { rule r { 'r' } }; say G.parse('rrr', :rule('r')).perl
23:05 p6eval rakudo 9808d7: OUTPUT«Match.new(␤ # WARNING: this is not working perl code␤ # and for debugging purposes only␤ from => 0,␤ orig => "rrr",␤ to   => -3,␤)␤»
23:05 ingy rakudo: grammar G { rule r { 'r' } }; say G.parse('rrr', :rule('x')).perl
23:05 p6eval rakudo 9808d7: OUTPUT«Method 'x' not found for invocant of class ''␤  in 'Grammar::parse' at line 5518:CORE.setting␤  in main program body at line 22:/tmp/C6KLX8jzVR␤»
23:06 ingy :)
23:06 ingy rakudo: grammar G { rule r { 'r' } }; say G.parse('xxx', :rule('r')).perl
23:06 p6eval rakudo 9808d7: OUTPUT«Match.new(␤ # WARNING: this is not working perl code␤ # and for debugging purposes only␤ from => 0,␤ orig => "xxx",␤ to   => -3,␤)␤»
23:09 hudnix joined #perl6
23:10 snarkyboojum joined #perl6
23:10 ingy yay. works. TOP iz 4 luzerz
23:26 justatheory joined #perl6
23:27 snarkyboojum joined #perl6
23:33 Tene If anyone wants to edit my day 21 post to mention :rule, it would be appreciated.
23:35 tylercurtis https://gist.github.com/3c03010b81c42bec225f golf is fun. :)
23:38 ShaneC joined #perl6
23:43 mikelifeguard joined #perl6
23:57 rabies joined #perl6
23:57 Psyche^ joined #perl6
23:57 rabies left #perl6
23:59 ruoso joined #perl6
23:59 snarkyboojum joined #perl6

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

Perl 6 | Reference Documentation | Rakudo