Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-07-25

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:04 snarkyboojum joined #perl6
00:05 sunnavy_ joined #perl6
00:05 kst joined #perl6
00:05 Eddward rakudo: %x = a=>1, b=>2
00:05 p6eval rakudo f7fdd5: OUTPUT«===SORRY!===␤Symbol '%x' not predeclared in <anonymous> (/tmp/z4vxbrCTGX:22)␤»
00:05 Tene sorear: yes?
00:05 Eddward rakudo: my  %x = a=>1, b=>2
00:05 colomon Eddward: here's an improvment:
00:05 p6eval rakudo f7fdd5:  ( no output )
00:06 Eddward rakudo my %y = c=> 3, d=> 4
00:06 snarkyboojum cool - first kick out of #perl6 :P
00:06 colomon maybe...
00:06 sorear Tene: you're the only one right now who has one
00:06 Tene sorear: who has what?
00:06 colomon http://gist.github.com/489111  # same gist, now with a $seen junction instead of a @seen array
00:06 sorear +o
00:06 Eddward rakudo: say %x, %y
00:07 Tene sorear: is there some context here?
00:07 p6eval rakudo f7fdd5: OUTPUT«===SORRY!===␤Symbol '%x' not predeclared in <anonymous> (/tmp/ZWWmhaZHFD:22)␤»
00:07 colomon Eddward: p6eval doesn't have memory from one invocation of it to the next
00:07 Tene Are you asking for a +o?  Is someone else?
00:07 Tene Is there a problem that needs to be addressed?
00:07 Eddward Should %x ,= %y add %y entries to %x's?
00:08 sorear I'm asking for +os for: [Coke], au|irc, colomon, jnthn, mberends, moritz_, pmichaud, sorear
00:08 colomon Eddward: huh, I've not seen that one before.
00:08 Eddward colomon,  Cool use of junction.
00:08 sorear The problem is that you're the only one with one now
00:08 Eddward It looked like I could do %x = %x, %y
00:08 colomon rakudo: my %x = "red" => 2; my %y = "green" => 411; say :%x.perl; %x ,= %y; say :%x.perl
00:09 colomon Tene++
00:09 p6eval rakudo f7fdd5: OUTPUT«"x" => {"red" => 2}␤"x" => {"green" => 411}␤»
00:09 Eddward I was wondering if %x ,= %y would work or if that was too evil.
00:09 Eddward The junction would be better for want I'm trying anyhow.
00:10 colomon Eddward: I like the idea of %x ,= %y, but that test there suggests it doesn't work.
00:10 sorear 19:09 -ChanServ(ChanServ@services.)- 5     pmichaud               +voOtsriRfAF  [modified 4 hours, 15 minutes, 44 seconds ago]
00:10 sorear +25 karma to whoever made this happen.
00:11 Tene sorear: most of those used to be on the channel access list, and could have opped themselves, but looks like the access list has been cut down to just pmichaud and audreyt.
00:11 snarkyboojum was there an audreyt imposter kicking people from the channel?
00:11 Tene ... and hasn't actually fixed the issue that allowed the problem in the first place, afaict
00:11 Eddward It didn't work for me.  It just assigned %y to %x.
00:13 Tene I'm gonna check.
00:13 audreyt joined #perl6
00:13 Tene Ah, good.
00:13 Tene I guess I misunderstand.
00:23 sorear "audreyt" means you need to be identified to nickserv under that name
00:23 sorear "audreyt!*@*" means you need to be IRCing under that name
00:24 sorear anyways, before today *nobody* had the power to change the access list
00:24 sorear pmichaud has +f now, which means he can
00:25 lue hooray \o/
00:25 Tene I must have misremembered what I saw in the access list right after the incident.
00:25 Eddward Is any(any(1, 2, 3, 4), any(5, 6, 7, 8)) the same as any(1, 2, 3, 4, 5, 6, 7, 8)?
00:25 colomon rakudo: say any(any(1, 2, 3, 4), any(5, 6, 7, 8)).perl
00:26 p6eval rakudo f7fdd5: OUTPUT«any(any(1, 2, 3, 4), any(5, 6, 7, 8))␤»
00:26 colomon rakudo: say (any(1, 2, 3, 4) | any(5, 6, 7, 8)).perl
00:26 p6eval rakudo f7fdd5: OUTPUT«any(any(1, 2, 3, 4), any(5, 6, 7, 8))␤»
00:27 colomon rakudo: say (any(1, 2, 3, 4) | 5).perl
00:27 p6eval rakudo f7fdd5: OUTPUT«any(any(1, 2, 3, 4), 5)␤»
00:27 Eddward rakudo: my $x = 1|2|3|4; my $y=5|6|7|8; my $z = $x; $z |= $y; $z.say
00:28 p6eval rakudo f7fdd5: OUTPUT«any(any(1, 2, 3, 4), any(5, 6, 7, 8))␤»
00:28 jferrero joined #perl6
00:31 colomon rakudo: say 3 ~~ any(any(1, 2, 3, 4), any(5, 6, 7, 8))
00:31 p6eval rakudo f7fdd5: OUTPUT«1␤»
00:31 mscha joined #perl6
00:33 Eddward I wonder if any(any(), any()) performs as well as a single any().
00:34 Eddward I was going to build a big junction piecewise.
00:34 Eddward A hash might be better.
00:39 Eddward colomon,  I was able to speed up mine by adding a global $happy and $unhappy junction.  I check $seen|$unhappy and 1|$happy.
00:39 Eddward I then add $seen to either $happy or $unhappy.
00:40 s1n joined #perl6
00:40 Eddward I went from 10ish seconds to 4ish.
00:41 colomon Eddward: yeah, I thought something like that might be nice.
00:41 colomon but what you've got now is very elegant.
00:47 lue loliblog: http://rdstar.wordpress.com/2010/07​/25/only-you-can-prevent-op-abuse/
00:48 kjeldahl_ joined #perl6
00:49 snarkyboojum has anyone managed to track down TimToady's state of the onion oscon speech online - slides or vid? (apologies for asking the same question again) :)
00:52 snarkyboojum or it is top secret? :)
00:54 sorear Eddward: What comparison operator are you using with the junction?
00:54 * snarkyboojum mutters into his beard
00:55 Eddward sorear,  given $n { when $junction { ... } }
00:55 Eddward ~~ I would assume.
00:55 lue .oO[ snarky: if I knew, I would tell you :) ]
00:56 sorear Eddward: what kind of thing is $n?
00:56 Eddward snarkyboojum,  I didn't even know there had been another SotO.  I'm watching for the answer too.
00:56 Eddward number.  Int.
00:57 sorear junctions are designed to work for any comparison op
00:57 sorear so they can't be optimized any further than just "linear search"
00:57 lue Hrm. I would ask to get my blog added to the aggregator, but not until my posting habits stablize :)
00:57 sorear you may have much better success with a hash
00:58 Eddward ok.  I was thinking a tree of any(any,any()) probably isn't as good as a single any().
00:58 Eddward Maybe a possible optimization to unnest them?
00:59 lue afk --drwho="SeasonFinale!"
00:59 sorear the nesting isn't what's hurting you
00:59 snarkyboojum Eddward: I'm starting to think there wasn't either ;) but there was
01:00 sorear comparing an int against a single junction with 10k ints requires 10k comparisons
01:00 snarkyboojum Eddward: or perhaps there wasn't, and I'm acting the fool :)
01:00 sorear you ought to put your ints in %happy, not $happy
01:01 Eddward sorear,  It's a lot faster to use hashes instead of junctions.
01:01 Eddward I need to look up a better way to append one has onto another.  %x = $x, %y
01:02 Eddward snarkyboojum,  I haven't been paying attention.  There have probably been several since the last one I watched.
01:03 snarkyboojum Eddward: yeah - scant details online about the last few, so I'm starting to think they're not published any longer after the event *shrug*
01:03 snarkyboojum Eddward: http://sirhc.us/journal/2010/07/2​2/oscon-2010-state-of-the-onion/ is the most info I've found so far ;)
01:24 aubreyja joined #perl6
01:28 mtk joined #perl6
01:52 diakopter joined #perl6
01:57 kjeldahl joined #perl6
01:57 diakopter___ joined #perl6
01:57 diakopter___ test1
01:57 diakopter k
01:57 diakopter___ left #perl6
02:01 sorear whatcha testing?
02:03 diakopter whether unregistered users could speak
02:10 diakopter what did that do
02:11 diakopter nm
02:12 lue why o hai o/
02:17 hsb joined #perl6
02:21 dalek joined #perl6
02:40 cibs joined #perl6
02:42 cibs left #perl6
02:48 sorear Are Parcels Cool?
03:00 kjeldahl_ joined #perl6
03:04 dalek joined #perl6
03:05 kjeldahl joined #perl6
03:27 sorear I would like to campaign for $*FOO with no $*FOO in scope being an error.
03:28 sorear Right now, it returns a Failure, which happens to be a perfectly acceptable False in boolean contexts.
03:28 sorear Allowing $*FOO to see all the way up to the initial frame makes it very easy to create non-recursive programs by accident
03:29 sorear suppose your parser occasionally uses $*IN_DECL without localizing it
03:29 sorear you won't notice until you try to add module loads
03:29 sorear and then one day load a module inside a decl
03:31 * diakopter 's brains swim before my eyes
03:35 sorear wha?
03:40 alester joined #perl6
03:41 alester ping particle
03:42 alester perl6: say 'where is particle?'
03:42 p6eval pugs, rakudo f7fdd5: OUTPUT«where is particle?␤»
03:44 sorear Is it legal to pass an infinite number of arguments to a function?
03:55 [Coke] sorear: ... it would certainly be impractical
03:56 [Coke] why does it take a day for messages from RT to hit the mailing list?
03:56 sorear greylisting
03:57 tylercurtis Is *@ eager?
03:57 [Coke] seems silly, if everything's on the perl.org domain.
03:57 sorear [Coke]: other side
03:58 snarkyboojum joined #perl6
03:58 sorear or something
03:58 sorear you'd best ask the RT admins for more details
03:58 ashleydev joined #perl6
04:02 dalek niecza: 872f958 | sorear++ |  (4 files):
04:02 dalek niecza: Remove !HOW fossil
04:02 dalek niecza: review: http://github.com/sorear/niecza/commit/8​72f958cda735d0dbb486e58779da44596562741
04:02 dalek niecza: 989e088 | sorear++ | CORE.setting:
04:02 dalek niecza: Add &unfold for easily defining lazy lists without delimited continuations
04:02 dalek niecza: review: http://github.com/sorear/niecza/commit/9​89e0889675389c5f79c72f6bd1c39a2f7a07aa3
04:02 dalek niecza: 8e38cd1 | sorear++ | Niecza/Actions.pm:
04:02 dalek niecza: Implement ?? !!
04:02 dalek niecza: review: http://github.com/sorear/niecza/commit/8​e38cd15e29dab902389fc0d4582d8ff72cb6dd6
04:02 dalek niecza: a6f61b0 | sorear++ | CORE.setting:
04:02 dalek niecza: Implement Cool.grep, Cool.map, Cool.for
04:02 dalek niecza: review: http://github.com/sorear/niecza/commit/a​6f61b07e50d2d2f1dd07c7681667817f65c2217
04:02 dalek niecza: e9aee8f | sorear++ |  (4 files):
04:02 dalek niecza: Require explicit marking of calls which need CPS conversion
04:02 dalek niecza: review: http://github.com/sorear/niecza/commit/e​9aee8fdd0fddb09f050aa52e4aa56fcb09a3321
04:02 dalek niecza: 444e9d0 | sorear++ |  (2 files):
04:02 dalek niecza: Simplify handling of parenthesized context-sensitive operators
04:02 dalek niecza: review: http://github.com/sorear/niecza/commit/4​44e9d0e1b06b071a89de3052c26b73ebec4cb46
04:02 dalek niecza: 0530951 | sorear++ |  (2 files):
04:02 dalek niecza: Implement non-statement-level bare blocks
04:02 dalek niecza: review: http://github.com/sorear/niecza/commit/0​530951628680e141bb3f435fbb33508ec8d60da
04:04 PerlJam joined #perl6
04:05 PerlJam joined #perl6
04:12 cotto joined #perl6
04:13 [particle] joined #perl6
04:14 [particle] now why was i kicked?
04:16 sorear some jerk did a channel takeover and kicked everybody
04:17 sorear on the plus side, pmichaud has metaops now
04:17 sorear so it'll actually be possible for us to get +o ACLs
04:19 benji-man joined #perl6
04:19 isBEKaml joined #perl6
04:20 benji-man i'm getting this err with the Rakudo Atlanta when used w/ $*INITTIME:
04:20 sorear rakudo: 2.note
04:20 sorear rakudo: 2.warn
04:20 p6eval rakudo f7fdd5: OUTPUT«Method 'note' not found for invocant of class 'Int'␤  in main program body at line 22:/tmp/vXegajYLJf␤»
04:20 p6eval rakudo f7fdd5: OUTPUT«Method 'warn' not found for invocant of class 'Int'␤  in main program body at line 22:/tmp/XjKg41OMqi␤»
04:20 benji-man Method 'Bridge' not found for invocant of class 'Failure'
04:20 benji-man in 'infix:<->' at line 3407:CORE.setting
04:20 benji-man in 'Msg::write' at line 134:Msg.pm
04:20 benji-man in main program body at line 6:./Msg.p6
04:21 benji-man is inittime broken right now?
04:21 sorear I don't think I've seen $*INITTIME defined
04:22 benji-man i had to look it up.. it's in S28: http://perlcabal.org/syn/S28.html
04:22 snarkyboojum A Temporal::Instant object?
04:22 benji-man i'm trying to port something from perl5 that used $^T, process-startup-time
04:24 benji-man not sure if it's my misuse of the object.. i'm attempting to do $foo = time() - $*INITTIME;
04:25 sorear most of S[23]. is extremely conjectural
04:26 snarkyboojum benji-man: I don't think $*INITTIME is implemented anywhere in Rakudo (though I don't really understand what it'd be used for)
04:26 tylercurtis rakudo: $*INITTIME.WHAY.say
04:26 p6eval rakudo f7fdd5: OUTPUT«Method 'WHAY' not found for invocant of class 'Failure'␤  in main program body at line 22:/tmp/af11Eb2BlY␤»
04:26 tylercurtis rakudo: $*INITTIME.WHAT.say
04:26 sorear rakudo: say 1.elems
04:26 sorear rakudo: say "foo".elems
04:26 p6eval rakudo f7fdd5: OUTPUT«Failure()␤»
04:26 p6eval rakudo f7fdd5: OUTPUT«1␤»
04:26 p6eval rakudo f7fdd5: OUTPUT«1␤»
04:26 tylercurtis rakudo: $*LFSLDFAGKSKNGA.WHAT.say;
04:26 p6eval rakudo f7fdd5: OUTPUT«Failure()␤»
04:27 snarkyboojum 'Contextual $*INITTIME not found' here
04:28 tylercurtis benji-man: looks as though $*INITTIME isn't implemented in Rakudo, so it's producing a Failure, which causes infix:<-> to die because it can't turn it into a number.
04:30 sorear is List.Str supposed to flatten?
04:32 sorear rakudo: say (1,(2,3)).Str # like so
04:32 p6eval rakudo f7fdd5: OUTPUT«1 2 3␤»
04:32 sorear erm.
04:32 sorear I have my answer
04:35 tylercurtis sorear: are you sure? Don't lists stringify as their elements stringified separated by ' '? And thus wouldn't a list of lists stringify as the same as that list flattened regardless of whether the stringification actually flattened the list?
04:38 sorear tylercurtis: "I have my answer"
04:38 sorear I was about to implemement list String in a non-associative way
04:57 cbk joined #perl6
05:05 envi^home joined #perl6
05:19 szabgab joined #perl6
05:21 tylercurtis joined #perl6
05:23 kjeldahl_ joined #perl6
05:46 Raynes joined #perl6
05:47 Lasse_ joined #perl6
05:58 szabgab rakudo: "dear evalbot, were you also kicked by audreyt?".say
05:58 p6eval rakudo f7fdd5: OUTPUT«dear evalbot, were you also kicked by audreyt?␤»
06:02 CSJewell joined #perl6
06:03 CSJewell Just curious if anybody has tried building Rakudo on 64-bit Strawberry Perl?
06:06 dalek niecza: 93f8f17 | sorear++ | CORE.setting:
06:06 dalek niecza: Implement Cool.{say,chars,substr,at-pos,elems,iterator}
06:06 dalek niecza: review: http://github.com/sorear/niecza/commit/9​3f8f17633e813afd74e29ee8b9decc65bbbb9b5
06:06 dalek niecza: e9c9a9f | sorear++ |  (2 files):
06:06 dalek niecza: Implement pointy blocks
06:06 dalek niecza: review: http://github.com/sorear/niecza/commit/e​9c9a9fa9d2d2d5cabd09851833004f94b117b22
06:06 dalek niecza: 37a27ee | sorear++ |  (3 files):
06:06 dalek niecza: Implement for loops
06:07 dalek niecza: review: http://github.com/sorear/niecza/commit/3​7a27ee7c292740aa625d9a396f2bee8065452fe
06:07 dalek niecza: 0bdcb00 | sorear++ | CORE.setting:
06:07 dalek niecza: Implement List.join, Cool.join, List.Str, fix several stupid bugs
06:07 dalek niecza: review: http://github.com/sorear/niecza/commit/0​bdcb00af4208d0dcf8e54c067dd15deefd8dd07
06:27 mafs joined #perl6
06:37 TimToady joined #perl6
06:38 sorear TimToady!
06:38 sorear Type objects dilemma again.  If X is a role which cannot be punned, what is X and what operations does it support?
06:38 TimToady well, I have to get up in 4ish hours to catch a plane to barcelona...
06:38 sorear Presumably X.HOW is valid, so X has to be a symbol
06:39 sorear Yeesh.  What for, YAPC?
06:39 TimToady eventually
06:41 TimToady you should probably work that sort of thing out with jnthn++
06:42 TimToady I think jnthn++ primarily sees roles as multisubs, typewise
06:43 TimToady but it's possible that bare X itself cannot be usefully used for most things
06:51 szabgab rakudo: 2 ~~ regex { <[0..9] - [3]> }
06:51 szabgab rakudo: 3 ~~ regex { <[0..9] - [3]> }
06:52 p6eval rakudo f7fdd5:  ( no output )
06:52 p6eval rakudo f7fdd5:  ( no output )
06:52 szabgab rakudo: say 2 ~~ regex { <[0..9] - [3]> }
06:52 p6eval rakudo f7fdd5: OUTPUT«2␤»
06:52 szabgab rakudo: say 3 ~~ regex { <[0..9] - [3]> }
06:52 p6eval rakudo f7fdd5: OUTPUT«␤»
06:52 szabgab rakudo: say 3 ~~ regex { <\d - [3]> }
06:52 p6eval rakudo f7fdd5: OUTPUT«===SORRY!===␤Malformed regex at line 22, near "{ <\\d - [3"␤»
06:52 szabgab rakudo: say 3 ~~ regex { <[\d] - [3]> }
06:52 p6eval rakudo f7fdd5: OUTPUT«␤»
06:52 szabgab rakudo: say 2 ~~ regex { <[\d] - [3]> }
06:52 p6eval rakudo f7fdd5: OUTPUT«␤»
06:53 TimToady rakudo: say 2 ~~ regex { <+digit - [3]> }
06:53 p6eval rakudo f7fdd5: OUTPUT«2␤»
06:53 TimToady though [\d] ought to have worked too
06:53 szabgab the \d stuff won't work in character classes?
06:53 szabgab ah
06:53 szabgab so that's a bug only
06:54 szabgab ty
06:57 sorear std: / :r * / #I wonder what this means
06:57 p6eval std 31820: OUTPUT«ok 00:01 116m␤»
06:58 sawyer_ joined #perl6
07:02 drbean joined #perl6
07:03 kjeldahl joined #perl6
07:07 cosimo joined #perl6
07:17 meppl joined #perl6
07:18 cosimo any idea why rakudo can't find modules in .perl6/lib ?
07:18 cosimo http://nopaste.snit.ch/22289
07:18 cosimo and good $morning, all
07:18 Tene cosimo: check your PERL6LIB env var
07:19 sorear good morning cosimo
07:21 sorear rakudo: "foo\nbar".comb(/^./).say
07:21 p6eval rakudo f7fdd5: OUTPUT«f␤»
07:21 sorear rakudo: "foo\nbar".comb(/^^./).say
07:21 p6eval rakudo f7fdd5: OUTPUT«fb␤»
07:22 sorear hmm
07:22 sorear rakudo: ("a","b").say
07:22 p6eval rakudo f7fdd5: OUTPUT«ab␤»
07:22 sorear niecza: ("a","b").say
07:22 p6eval niecza 64fc764: OUTPUT«␤Unhandled Exception: System.Exception: Unable to resolve method say in class Parcel␤  at Niecza.Kernel.Die (Niecza.Frame caller, System.String msg) [0x00000] in <filename unknown>:0 ␤  at Niecza.DynObject.Fail (Niecza.Frame caller, System.String msg) [0x00000] in <filename
07:22 p6eval ..unknown…
07:22 sorear which is... oh bother
07:22 sorear niecza: ("a","b").flat.say
07:23 p6eval niecza 64fc764: OUTPUT«␤Unhandled Exception: System.Exception: Unable to resolve method say in class List␤  at Niecza.Kernel.Die (Niecza.Frame caller, System.String msg) [0x00000] in <filename unknown>:0 ␤  at Niecza.DynObject.Fail (Niecza.Frame caller, System.String msg) [0x00000] in <filename
07:23 p6eval ..unknown>:…
07:23 cosimo Tene: doesn't the paste show that @*INC contains my '/home/cosimo/.perl6/lib' already?
07:23 cosimo it used to work...
07:24 szabgab cosimo: have you ran make install?
07:24 szabgab or probably I just misunderstand the whole thing
07:24 cosimo szabgab: yes, App/Pls.pir is there, as `ls' shows
07:25 sorear rakudo: ("a","b").flat.say
07:25 p6eval rakudo f7fdd5: OUTPUT«ab␤»
07:25 cosimo szabgab: i mean, in ~cosimo/.perl6/lib/App/Pls.pir
07:25 sorear stefan@stefans:~/niecza$ ./niecza_eval -e '("a","b").flat.say'
07:25 sorear a b
07:25 sorear which is right
07:26 snarkyboojum cosimo: are you just use'ing it in 'proof-of-concept'?
07:27 sorear ?
07:27 TimToady rakudo is right
07:28 TimToady neither .flat nor .say are in the business of inserting spaces
07:29 cosimo snarkyboojum: i think so
07:29 snarkyboojum cosimo: will see if can reproduce
07:29 cosimo just cleaned, pulled and built both rakudo and parrot
07:30 wamba joined #perl6
07:32 cosimo snarkyboojum: maybe it's because of the .pir extension
07:32 snarkyboojum cosimo: yeah, that's what I'm testing atm
07:33 cosimo snarkyboojum: i'm sure it worked a few rakudos ago...
07:33 snarkyboojum cosimo: I have a feeling that it'll use the pir in ~/.perl6/lib if there is a .pm there, but not sure if there is just a .pir (just a gut feeling)
07:34 snarkyboojum cosimo: i.e. if there is a .pm and a .pir
07:34 TimToady zzz &
07:35 snarkyboojum cosimo: kinda seems that way on a superficial reading of Perl6::Module::Loader
07:36 sorear <.SUPER::ws> ?  Is that even legal?
07:36 snarkyboojum cosimo: Perl6::Module::Locator only seems to look for .pm and .pm6, so if that fails, it never checks for .pir in Perl6::Module::Loader
07:38 mberends cosimo, snarkyboojum: yes, that's the intent by design. The .pm or .pm6 file is officially the module you need to have installed, and the .pir file is just a performance enhancement.
07:39 snarkyboojum mberends: ok - so you can't just dump a compiled .pir file in your lib dirs
07:39 mberends snarkyboojum: you can't.
07:39 snarkyboojum mberends: you have to have a pm or pm6 there to use it - ok
07:39 snarkyboojum mberends: thanks for clearing that up :)
07:39 mberends well you can, but they won't work as modules ;)
07:40 snarkyboojum mberends: I see :)
07:40 kjeldahl_ joined #perl6
07:40 snarkyboojum mberends++ :)
07:40 mberends this points to a need for documentation, but where would people go looking?
07:41 sorear Is it the intention that any implementation can claim bits of extension space in ~/.perl6/lib?
07:41 sorear i.e. I can claim App/Pls.dll
07:43 mberends sorear: only Rakudo uses ~/.perl6 so far, it's an implementation specific policy. S11 is deliberately unclear about implementation. You're certainly welcome to claim other file extensions right now. That might become a friction point in future though.
07:44 snarkyboojum mberends: if it's implementation specific then I guess it belongs in rakudo doco somewhere?
07:44 cosimo mberends: i have been using 'ufo' to build and install modules. Am i wrong?
07:45 mberends cosimo++: you're right to do so :)
07:47 snarkyboojum does rakudo have implementation specific doco on those types of implementation points yet?
07:48 cosimo mberends: it looks like I needed to update ufo as well
07:48 cognominal joined #perl6
07:50 mberends snarkyboojum: there is rakudo/docs/S11-Modules-proposal.pod which is only partly implemented. Some of us meeting in Pisa may well re-visit that design and take it further.
07:51 snarkyboojum cosimo: yeah, ufo generated makefiles install both a .pm and a .pir into ~/.perl6/lib for me - so looks consistent
07:51 snarkyboojum mberends: groovy
07:54 mberends sorear: to avoid file collisions, would this set make sense to you: ~/.perl6/lib/App/Pls.pm6, ~/.perl6/rakudo/lib/App/Pls.pir, ~/.perl6/niecza/lib/App/Pls.dll ? It would involve only a small Rakudo update.
07:56 cosimo masak: snarkyboojum: I needed to patch ufo to correctly deal with .pm6 installation
07:57 cosimo http://github.com/cosimo/ufo/commit/c3​a30c650c7a5d085b944bf20587a99ad534956f
07:57 snarkyboojum cosimo: cool - just found that bug too - I thought someone had patched ufo for pm6 extensions
07:57 mberends cosimo++
08:00 cosimo so that means that rakudo now will load only .pm files and ignore .pir files?
08:00 chitragupt joined #perl6
08:01 cosimo I just run the test suite for LWP::Simple and its noticeably slower
08:02 mberends cosimo: Rakodo should find the .pm or .pm6 file, and then load the .pir file if it exists, otherwise load the .pm or .pm6 file
08:02 cogno joined #perl6
08:02 sorear mberends: shrug, niecza isn't nearly that mature yet and probably never will be
08:03 sorear mberends: do what's convenient for rakudo (and doesn't completely ruin extensibility)
08:03 szabgab rakudo: say 'monday' ~~ m/ mon | monday /
08:03 p6eval rakudo f7fdd5: OUTPUT«mon␤»
08:03 szabgab I thought it would match monday
08:04 sorear it *should*
08:04 mberends sorear: ok thanks
08:04 sorear however, longest term matching is not implemented in any existing implementation of Perl 6
08:04 snarkyboojum cosimo: FYI - your patch fixes the .pm6 problem for me :)
08:05 szabgab ok, so I better not try that in live show...
08:05 mberends hugme: add mberends to ufo
08:06 mberends ENOHUGME :-( # due to the Great Kick
08:06 snarkyboojum I can't commit to ufo either - I'm sure masak will apply it
08:07 mberends yep
08:07 sorear 22:00 -!- hugme [~moritz@feather2.perl6.nl] has quit [Ping timeout: 240 seconds]
08:07 sorear this was well after the kick
08:08 dalek niecza: 90bb87e | sorear++ | Niecza/Actions.pm:
08:08 dalek niecza: Implement parsing for metachar:* except qw, var
08:08 dalek niecza: review: http://github.com/sorear/niecza/commit/9​0bb87ece1f995cab64dcc20c3c645f44446c874
08:08 dalek niecza: efc2334 | sorear++ |  (2 files):
08:08 dalek niecza: Fix --ast mode
08:08 dalek niecza: review: http://github.com/sorear/niecza/commit/e​fc2334d1a93b4daf0fec2d6bfe523b31a64894a
08:08 dalek niecza: 78b17bb | sorear++ |  (2 files):
08:08 dalek niecza: Implement :!s-like modifiers and fix null subregexes
08:08 dalek niecza: review: http://github.com/sorear/niecza/commit/7​8b17bb81e1199fab9f3c61ddadb5c4fce2cd5a2
08:08 Mowah joined #perl6
08:09 cosimo snarkyboojum: cool
08:11 cosimo sorear: OMG, perl6 on .net runtime? awesome
08:11 snarkyboojum .OMG :)
08:12 * cosimo wonders how long to perl6-on-jvm :)
08:12 hugme joined #perl6
08:12 sorear hey
08:12 sorear who did that
08:13 sorear and would they please tell me how
08:13 sorear I spent the last ten minutes logged in to feather2 as root fighting screen's command interface
08:13 * moritz_
08:14 moritz_ screen -Urd
08:14 * moritz_ finds a better solution
08:14 sorear screen refuses to operate as root
08:14 hugme joined #perl6
08:14 sorear as su moritz, it fails (can't open terminal)
08:14 hugme joined #perl6
08:15 snarkyboojum hugme needs some hugs
08:15 moritz_ sorear: I've now put it in a  while true; do perl hugme.pl; sleep 1;  done  loop
08:15 moritz_ sorear: so the next time, you can just kill the perl process, and it will reconnect
08:16 sorear oh, awesome.
08:17 mberends sorear: pulled your last commit, passes all 99 tests on Ubuntu/x86 :)
08:18 mberends hugme: add mberends to ufo
08:18 * hugme hugs mberends. Welcome to ufo!
08:19 sorear mberends: it had better, that's almost the development platform
08:23 mberends cosimo: merged your fix and pushed
08:23 moritz_ mberends++
08:23 moritz_ cosimo++
08:24 Leonidas joined #perl6
08:46 zulon joined #perl6
08:47 TiMBuS joined #perl6
08:47 cono joined #perl6
09:02 moritz_ rakudo: say &infix:<+>.assuming(3).(5)
09:02 p6eval rakudo f7fdd5: OUTPUT«8␤»
09:03 moritz_ rakudo: say &infix:<x>.assuming(2).('foo')
09:03 p6eval rakudo f7fdd5: OUTPUT«␤»
09:06 moritz_ rakudo: my $x = *; say $x + 2
09:06 p6eval rakudo f7fdd5: OUTPUT«Can't take numeric value for object of type Whatever␤  in 'Any::Numeric' at line 1348:CORE.setting␤  in 'infix:<+>' at line 6394:CORE.setting␤  in main program body at line 22:/tmp/bkbNmtXHwg␤»
09:12 moritz_ rakudo: say ~(1, 2, 3).map: 'foobar'.substr(*)
09:12 p6eval rakudo f7fdd5: OUTPUT«Can't take numeric value for object of type Whatever␤  in 'Any::Numeric' at line 1348:CORE.setting␤  in 'infix:<>>' at line 6394:CORE.setting␤  in 'Cool::substr' at line 2189:CORE.setting␤  in main program body at line 22:/tmp/2gnyKxnwLh␤»
09:13 trek1s joined #perl6
09:14 zulon joined #perl6
09:15 oha joined #perl6
09:16 szabgab rakudo: my regex qqrq { \d }; say '42' ~~ m/ <qqrq> /
09:16 p6eval rakudo f7fdd5: OUTPUT«Method 'qqrq' not found for invocant of class 'Cursor'␤  in <anon> at line 22:/tmp/mAzoo_po6f␤  in 'Cool::match' at line 2377:CORE.setting␤  in 'Regex::ACCEPTS' at line 5470:CORE.setting␤  in main program body at line 22:/tmp/mAzoo_po6f␤»
09:16 szabgab no named regexes now?
09:17 dju_ joined #perl6
09:17 szabgab or am I doing sg wrong?
09:17 moritz_ rakudo: my regex qqrq { \d }; say '42' ~~ m/ <&qqrq> /
09:17 Tene rakudo: my regex qqrq { \d }; say '42' ~~ m/ <&qqrq> /
09:17 p6eval rakudo f7fdd5: OUTPUT«4␤»
09:17 p6eval rakudo f7fdd5: OUTPUT«4␤»
09:17 szabgab rakudo: my regex qqrq { \d }; say '42' ~~ m/ <&qqrq> /
09:17 p6eval rakudo f7fdd5: OUTPUT«4␤»
09:18 szabgab hmm
09:18 szabgab will that & stay there ?
09:18 moritz_ sorear: if you want it to capture, you need the ugly <qqrq=&qqrq> syntax for now
09:18 szabgab or just for now?
09:18 moritz_ erm, meant szabgab
09:18 Tene szabgab: just for now
09:18 moritz_ I think it's meant to go again, in the long run
09:18 szabgab oh ppl, and I wanted to show it working ..
09:19 moritz_ szabgab: then write a grammar :/
09:19 * moritz_ not happy with it either
09:19 szabgab what do you mean by write a grammar?
09:19 szabgab in grammars this works?
09:19 moritz_ yes
09:19 szabgab oh
09:19 moritz_ because it does method lookup, not lexical lookup
09:20 xabbu42 joined #perl6
09:20 szabgab I am reaching the grammars a bit later
09:20 moritz_ rakudo: grammar A { token TOP { \d+ } }; say A.parse('42')
09:20 p6eval rakudo f7fdd5: OUTPUT«42␤»
09:20 szabgab let me continue now with the caveat
09:24 Axius_ joined #perl6
09:24 oha rakudo: my $r = regex { \w\w }; say "123" ~~ /$r/;
09:24 p6eval rakudo f7fdd5: OUTPUT«12␤»
09:25 moritz_ http://github.com/moritz/perlgeek.de/blob​/master/other/perl-5-to-6/28-currying.pod # feedback appreciated before I blog it
09:25 moritz_ and after that too :-)
09:25 Axius_ hi, I'm new to perl 6.How can I try perl 6 wihout installing it on my mashine?
09:26 moritz_ rakudo: say "like this, Axius_"
09:26 p6eval rakudo f7fdd5: OUTPUT«like this, Axius_␤»
09:26 moritz_ you can also /msg p6eval rakudo: your code here
09:26 moritz_ Axius_: we're also working on a web interface, but it's not running yet
09:27 Axius_ rakudo:say 23 * 5
09:28 moritz_ it might need the space after the colon
09:28 Axius_ rakudo: say 23 * 5
09:28 p6eval rakudo f7fdd5: OUTPUT«115␤»
09:28 Axius_ thanks
09:28 moritz_ you're welcome
09:29 moritz_ have fun with Perl 6! :-)
09:31 pugssvn joined #perl6
09:31 * moritz_ resurrects pugssvn
09:31 jnthn moritz_: currying article looks good - maybe mention the * + * like forms where it creates a closure that takes two args?
09:31 moritz_ jnthn: it's in the text body, C<* * 5 + *>
09:32 moritz_ jnthn: do you think it belongs in the synopsis too?
09:33 jnthn moritz_: oh, I missed it
09:33 jnthn moritz_: :-)
09:33 jnthn I was looking for a full-on code example with it in
09:34 moritz_ rakudo: (* * 5 + *).(10, 2)
09:34 p6eval rakudo f7fdd5:  ( no output )
09:34 moritz_ rakudo: say (* * 5 + *).(10, 2)
09:34 p6eval rakudo f7fdd5: OUTPUT«52␤»
09:34 mberends moritz_: very nice article. In the Description, s/extracts/extract/
09:34 jnthn Time to go meet a friend in another city. bb sometime
09:35 moritz_ jnthn, mberends: thanks
09:35 moritz_ jnthn: have fun :-)
09:37 oha "* * 5+*" i read it as "* * -> 5+*". how come "* * -> *+5+*"?
09:38 * moritz_ confused
09:39 moritz_ you just substitute each term * with a parameter
09:39 oha yep
09:40 moritz_ so * * 5 + * becomes  $a * 5 + $b
09:40 oha ohhhhhh
09:40 oha not al the stars are params, one is a infix ok
09:41 oha ty moritz_
09:42 oha maybe "* / 5+ *" would generate less confusion?
09:42 moritz_ oha: I've pushed a version with more verbose explanation
09:42 oha spaces become important that way
09:42 oha cauz
09:43 oha ** could be power
09:43 moritz_ right
09:43 huf spaces are always important ;)
09:43 moritz_ rakudo: (* ** *).(3)
09:43 p6eval rakudo f7fdd5: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤  in <anon> at line 2:/tmp/QBFXOZy1R6␤  in main program body at line 22:/tmp/QBFXOZy1R6␤»
09:43 huf pick() isnt the same as p       ick()
09:43 moritz_ rakudo: say (* ** *).(3, 2)
09:43 p6eval rakudo f7fdd5: OUTPUT«9␤»
09:44 oha i wonder ***-1
09:44 moritz_ oha: back in the day the spec was slightly different, and * * * would mean -> $a { $a * $a }. Then http://perlgeek.de/blog-en/perl-6/starry-obfu.html worked :-)
09:45 moritz_ rakudo: ***-1
09:45 p6eval rakudo f7fdd5: OUTPUT«===SORRY!===␤HyperWhatever (**) not yet implemented at line 22, near "*-1"␤»
09:45 oha will be $a ** -1 or $a * $b - 1
09:45 moritz_ ***-1 is ** * -1 # there's also a term **, which is a mullti-dimensional Whatever
09:46 jedai joined #perl6
09:46 abrasive joined #perl6
09:47 oha huf, i just tough about perl5 print issues
09:47 huf hm?
09:49 moritz_ print (1+2) * 3; # confuses the heck out of beginners in Perl 5
09:49 moritz_ did you mean this one?
09:51 oha i do not remember exactly the case but i remember that print( and print ( will be parsed differently in some cases
09:52 moritz_ in p5 they are always parsed the same
09:52 moritz_ in p6 never
09:52 oha i'm still searching...
09:52 moritz_ $ perl -E 'say (1+2)*3'
09:52 moritz_ 3
09:53 moritz_ $ perl6 -e 'say (1+2)*3'
09:53 moritz_ 9
09:53 moritz_ $ perl6 -e 'say(1+2)*3'
09:53 moritz_ 3
09:53 cognominal std: say $_ for 1..2 if 1
09:53 p6eval std 31821: OUTPUT«[31m===[0mSORRY![31m===[0m␤Confused at /tmp/bz651RH3ep line 1:␤------> [32msay $_ for 1..2 [33m⏏[31mif 1[0m␤Parse failed␤FAILED 00:01 117m␤»
09:53 moritz_ rakudo: say $_ for 1..2 if 1
09:53 p6eval rakudo f7fdd5: OUTPUT«===SORRY!===␤Missing block at line 22, near ""␤»
09:54 cognominal I thought stacking  a  conditional modifier whith a loop modifier was allowed.
09:54 cognominal Larry has flipfloped many times on that one.
09:55 moritz_ rakudo: say $_ if $_ % 2 for 1..5
09:55 p6eval rakudo f7fdd5: OUTPUT«1␤3␤5␤»
09:56 cognominal too bad I don't need them in that order.
09:57 cognominal I can do an or anyway
09:57 huf which s describes Whatever?
09:57 cognominal ...to avoid a block
09:57 moritz_ S02 iirc
09:58 moritz_ oh right, I forgot the SEE ALSO section
09:58 huf thanks
09:59 Axius_ Where can I find a tutorial about perl6?
10:01 moritz_ Axius_: do you know perl 5?
10:01 cognominal Axius:  http://github.com/perl6/book/downloads
10:02 moritz_ see also: http://perl6.org/documentation/
10:03 Axius_ ok, thank.
10:07 * sorear out
10:58 szabgab moritz_: why do you use := and not simple = assignment in the currying example?
11:02 moritz_ szabgab: because I happened to know that it works that way
11:03 moritz_ rakudo: my &f = sub () { say "moep" }; f()
11:03 p6eval rakudo f7fdd5: OUTPUT«moep␤»
11:03 moritz_ could have used assignment instead, no difference, it seems
11:08 szabgab moritz_: thanks, I am still trying to figure out when is := useful :")
11:13 szabgab rakudo: $sos = * * * + + + * * *; say $sos(2, 11, 4, 5)
11:13 p6eval rakudo f7fdd5: OUTPUT«===SORRY!===␤Symbol '$sos' not predeclared in <anonymous> (/tmp/cy4fEZ_CIi:22)␤»
11:13 szabgab rakudo: my $sos = * * * + + + * * *; say $sos(2, 11, 4, 5)
11:13 p6eval rakudo f7fdd5: OUTPUT«42␤»
11:14 kjeldahl joined #perl6
11:15 moritz_ szabgab++
11:15 szabgab I wonder what kind of art will come out of this
11:15 moritz_ http://perlgeek.de/blog-en/perl-6/starry-obfu.html
11:15 moritz_ but it only works with the old spec
11:16 moritz_ rakudo: my $sos = * * * - - - * * *; say $sos(13, 4, 2, 5)
11:16 p6eval rakudo f7fdd5: OUTPUT«42␤»
11:18 szabgab that obfu thing is scary
11:19 moritz_ I know :-)
11:19 szabgab I wonder if I should use that as my opening slide at the Python meeting presenting perl 6
11:20 moritz_ I don't know if they appreciate that kind of humor
11:21 chitragupt joined #perl6
11:22 szabgab I think they are serious people
11:22 szabgab I need to find a serious joke fr hem
11:22 szabgab or series
11:23 szabgab anyway, nice article
11:26 TiMBuS is the use of := encouraged for saving memory usage? or is it more just intended for referencing things (like nested data)
11:28 TiMBuS if so, I could see := being used in place of = for a lot of things szabgab
11:29 moritz_ I don't think so
11:29 moritz_ := can lead to strange action-at-a-distance if used without care
11:31 TiMBuS that's very true. use ::= instead?
11:31 szabgab it is basically what is called aliasing in perl 5 , right?
11:32 oha i see that for @a -> $x { ... } $x is readonly, but for @a { ... } $_ is rw
11:32 oha isn't risky to default to rw?
11:32 oha or maybe counter-intuitive?
11:33 moritz_ it's what people are used to from p5
11:33 * moritz_ wouldn't mind defaulting to ro
11:34 oha i remember more cases in p5 where this was a bug instead of a wanted feature :)
11:35 moritz_ the famous   my @a = map { s/a/b/ }, @thing
11:36 moritz_ "why is @thing broken? and @a is just 1s and 0s?"
11:36 oha the map should not do aliasing, or am i wrong?
11:37 moritz_ map and for are the same thing
11:37 oha i mean, @thing shouldn't be changed there
11:37 moritz_ it should
11:37 oha rakudo: my @a=1..4; map { $_*2 }, @a; say @a.perl;
11:37 p6eval rakudo f7fdd5: OUTPUT«[1, 2, 3, 4]␤»
11:38 oha ehm
11:38 moritz_ rakudo: my @a=1..4; map {$_= $_*2 }, @a; say @a.perl;
11:38 oha rakudo: my @a=1..4; map { $_*=2 }, @a; say @a.perl;
11:38 p6eval rakudo f7fdd5: OUTPUT«[1, 2, 3, 4]␤»
11:38 p6eval rakudo f7fdd5: OUTPUT«[1, 2, 3, 4]␤»
11:38 oha rakudo: my @a=1..4; for @a { $_*=2 }; say @a.perl;
11:38 moritz_ ah, it's lazy
11:38 p6eval rakudo f7fdd5: OUTPUT«[2, 4, 6, 8]␤»
11:38 moritz_ rakudo: my @a=1..4; eager map {$_= $_*2 }, @a; say @a.perl;
11:38 p6eval rakudo f7fdd5: OUTPUT«[2, 4, 6, 8]␤»
11:39 oha moritz_++
11:39 oha a reason more that should default to ro then :)
11:40 moritz_ it's not me who needs to be convinced
11:41 oha mh
11:41 oha rakudo: my @a=1..4; map { $_*=2; }, @a; say @a[1];
11:41 p6eval rakudo f7fdd5: OUTPUT«2␤»
11:41 oha rakudo: my @a=1..4; eager map { $_*=2; }, @a; say @a[1];
11:41 p6eval rakudo f7fdd5: OUTPUT«4␤»
11:42 oha the lazy is on the result, and not on the aliased?
11:43 oha rakudo: my @a=1..4; my @x := map { $_*=2; }, @a; say @a[1]; say @x[1]; say @a[1];
11:43 p6eval rakudo f7fdd5: OUTPUT«2␤4␤4␤»
11:45 sorear Two terms in a row (previous line missing its semicolon?) at CORE.setting line 441:
11:45 sorear I love STD
11:48 squeeky joined #perl6
11:50 TiMBuS oha, that last one is a pretty good argument for a readonly $_ right there
11:51 oha TiMBuS, mh. or the lazy is applied to the invocant too
11:51 oha so @a[1]; will computer *=2;
11:52 TiMBuS i dont want to think about how that would be implemented D:
11:53 funneydude joined #perl6
11:53 oha eheheh :)
11:53 xinming joined #perl6
11:54 TiMBuS on the other hand its kind of cool to see laziness in action like that
11:54 TiMBuS rakudo: my @a=1..4; my @x := map { $_*=2; }, @a; say @a[1]; say @x[1]; say @a[2];
11:54 p6eval rakudo f7fdd5: OUTPUT«2␤4␤3␤»
11:54 TiMBuS :o magic
11:55 oha rakudo: my @a=1..4; my @x := map { $_*=2; }, @a; say @a[1]; say @x[2]; say @a[1];
11:55 p6eval rakudo f7fdd5: OUTPUT«2␤6␤4␤»
11:55 oha it evaluat "up to"?
11:55 TiMBuS yep
11:56 oha but probably "depends on the implementation"
11:56 oha so you can't assert what happen to @a[x] when any other element is accessed
11:57 p6eval joined #perl6
11:58 TiMBuS true
11:58 TiMBuS I think it'd be extremely hard to implement any other kind of laziness though
11:59 Gothmog_ joined #perl6
11:59 oha it seems to me that the "lazy code" is attached to the container and not the value, isn't it?
11:59 nigell joined #perl6
11:59 TiMBuS yes
12:00 oha but lazyness change the value to aliases too, so
12:00 rindolf joined #perl6
12:00 dalek niecza: e569c75 | sorear++ |  (3 files):
12:00 dalek niecza: Implement has declarations
12:00 dalek niecza: review: http://github.com/sorear/niecza/commit/e​569c75f47a1378faa3a91b50ab1738f0142474b
12:00 dalek niecza: 0357b1d | sorear++ |  (4 files):
12:00 dalek niecza: Implement add-attribute metacall so has declarations can work
12:00 dalek niecza: review: http://github.com/sorear/niecza/commit/0​357b1de6f57a9434471d68bc6190e8369a7ffdf
12:00 oha aliasing w/ lazyness is scary
12:00 dalek niecza: 607036c | sorear++ | Op.pm:
12:00 dalek niecza: Unbreak has $.a
12:00 dalek niecza: review: http://github.com/sorear/niecza/commit/6​07036c129916e0b998a7deb564bd66a81a4152f
12:00 dalek niecza: 67aa90a | sorear++ |  (3 files):
12:00 dalek niecza: Implement Mu.new, which sets up attributes automatically
12:00 dalek niecza: review: http://github.com/sorear/niecza/commit/6​7aa90a3b1b2dbe7a33864b5e9aa8b316739bb85
12:00 dalek niecza: 3063691 | sorear++ | CORE.setting:
12:00 dalek niecza: Use attributes in setting
12:00 dalek niecza: review: http://github.com/sorear/niecza/commit/3​063691920ea15abb32d505d91f67b8896fcb294
12:00 dalek niecza: f3424dd | sorear++ | test.pl:
12:00 dalek niecza: Add a few tests for pseudo-packages and objects with attributes
12:00 dalek niecza: review: http://github.com/sorear/niecza/commit/f​3424dd56baca45ce8621c7f7b137678190bf6f8
12:02 snarkyboojum left #perl6
12:08 isBEKaml joined #perl6
12:09 isBEKaml hi, #perl6!
12:10 moritz_ \o
12:10 isBEKaml moritz_: http://perlgeek.de/blog-en/pe​rl-5-to-6/07-rules.writeback. I think the path rule is somewhat wrong. Shouldn't the hypen be escaped?
12:11 isBEKaml moritz_: "-" -> "\-"
12:11 * moritz_ checks
12:12 isBEKaml moritz_: the period too.
12:12 moritz_ std: /<[ a - b ]>/
12:12 p6eval std 31821: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unsupported use of - as character range; in Perl 6 please use .. at /tmp/Te7OAodwDp line 1:␤------> [32m/<[ a - b[33m⏏[31m ]>/[0m␤Parse failed␤FAILED 00:01 116m␤»
12:12 moritz_ isBEKaml: I don't think the period has special meaning in a char class
12:12 moritz_ std: /<[ a \- b ]>/
12:12 p6eval std 31821: OUTPUT«ok 00:01 116m␤»
12:13 moritz_ isBEKaml: i've fixed the source now, will update the generated files later
12:13 moritz_ thanks
12:13 Guest23195 joined #perl6
12:13 isBEKaml moritz_: I thought the period is just about any character. if we want the period to be shown, we should be escaping it?
12:14 mscha joined #perl6
12:15 moritz_ isBEKaml: in a character class it makes no sense vor a period to be everythinig
12:16 moritz_ s/vor/for/
12:16 moritz_ because then the whole character class would be the same as a period in normal regexes, ie match any character
12:16 oha maybe <[.]-[x]> have?
12:17 isBEKaml moritz_: Ah, I see. Thanks.
12:18 moritz_ .oO (one eye cross out? )
12:18 moritz_ oha: that's the same as <-[x]>
12:21 isBEKaml moritz_: what does this mean then? <byte> [\. <byte> ] ** 3
12:21 moritz_ byte, than a dot, than a byte, repeat 3 times
12:21 moritz_ isBEKaml: in character classes the rules for escaping are different
12:21 isBEKaml moritz_: yes, I understood that. escaping the . ?
12:22 moritz_ yes
12:23 * isBEKaml goes looking at S05
12:28 isBEKaml moritz_: one more thing in your TOP rule. the <hostname> token is such defined that it never looks at the alternation <ip> token. Have you checked that? Try typing in some ip num and say $match<ip>. I just get a blank here.
12:29 isBEKaml moritz_: I think the \w would match everything. So nothing goes into <ip>
12:29 aigoo joined #perl6
12:29 isBEKaml s/everything/\1 alnum/
12:29 moritz_ right
12:30 moritz_ this grammar was written before rakudo supported them properly, so it's not tested at all :(
12:30 aigoo hi, I'm new to perl6 and I need some help.
12:31 moritz_ hi aigoo
12:32 moritz_ what kind of help do you need?
12:33 aigoo How try perl6 without installing it?
12:33 aigoo How can I try perl6 without installing it?
12:33 moritz_ funny, we've had that question today already
12:34 moritz_ aigoo: see http://irclog.perlgeek.de/​perl6/2010-07-25#i_2606150
12:35 aigoo moritz_:
12:36 JimmyZ joined #perl6
12:37 aigoo almost the some question
12:37 moritz_ or do you mean, without running 'make install'?
12:37 moritz_ you can run rakudo without 'make install', but only from the build directory
12:38 moritz_ but really nothiing stops you from 'make install' - you don't need root privs, and it's only intalling locally
12:39 aigoo What do you mean by "build directory"?
12:40 szabgab rakudo: say time
12:40 p6eval rakudo f7fdd5: OUTPUT«1280060416␤»
12:40 szabgab rakudo: say time + 0
12:40 p6eval rakudo f7fdd5: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤  in 'time' at line 5578:CORE.setting␤  in main program body at line 22:/tmp/A3iESm2YtP␤»
12:40 szabgab rakudo: say 0 + time
12:40 p6eval rakudo f7fdd5: OUTPUT«1280060451␤»
12:40 aigoo rakudo: say 12 ** 2
12:41 p6eval rakudo f7fdd5: OUTPUT«144␤»
12:41 szabgab rakudo(time + 0)
12:41 moritz_ aigoo: the rakudo dir, in which you can find the README, for example
12:41 szabgab rakudo: say(time + 0)
12:41 p6eval rakudo f7fdd5: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤  in 'time' at line 5578:CORE.setting␤  in main program body at line 22:/tmp/pgH6Fark78␤»
12:41 moritz_ rakudo: say time() + 0
12:41 szabgab rakudo: say(time() + 0)
12:41 p6eval rakudo f7fdd5: OUTPUT«1280060493␤»
12:41 p6eval rakudo f7fdd5: OUTPUT«1280060497␤»
12:42 aigoo rakudo: say (23 **3) + 23 - 3
12:42 p6eval rakudo f7fdd5: OUTPUT«12187␤»
12:43 aigoo rakudo: print 364 ** 2
12:43 p6eval rakudo f7fdd5: OUTPUT«132496»
12:44 isBEKaml moritz_: :(
12:44 isBEKaml moritz_: doesn't swapping <hostname> and <ip> tokens in TOP help?
12:44 * isBEKaml checks.
12:45 moritz_ isBEKaml: it should
12:45 moritz_ at least in rakudo
12:45 isBEKaml moritz_: Seems to work! :)
12:46 isBEKaml moritz_: [<hostname> | <ip> ]  -> [ <ip> | <hostname> ]
12:48 cognominal rakudo: %( { :a } )
12:48 p6eval rakudo f7fdd5: OUTPUT«Method 'hash' not found for invocant of class ''␤  in main program body at line 22:/tmp/yaWywQx8Wt␤»
12:49 cognominal std : %( { :a } )
12:49 cognominal std: %( { :a } ).perl
12:49 p6eval std 31821: OUTPUT«ok 00:01 115m␤»
12:49 aigoo How can one use the std in perl6?
12:50 moritz_ std is a syntax checker
12:50 moritz_ currently you can't use it from within rakudo, for example
12:51 szabgab rakudo: my $x = "1" x 20000; my $t0 = time; say $x ~~ m/:s \d+ \+ /; my $t1 = time; say $x ~~ m/:s:ratchet \d+ \+ /; my $t2 = time; say $t1-$t0, " ", $t2-$t1;
12:51 szabgab my $x = "1" x 20000; my $t0 = time; say $x ~~ m/:s \d+ \+ /; my $t1 = time; say $x ~~ m/:s:ratchet \d+ \+ /; my $t2 = time; say $t1-$t0, " ", $t2-$t1;
12:51 p6eval rakudo f7fdd5: OUTPUT«␤␤2 2␤»
12:52 szabgab hmm, I tried to check how :ratchet improves speed
12:53 oha szabgab, in this case the engine should optimize alot
12:54 aigoo say = print in per?
12:54 aigoo say = print in perl6?
12:55 masonkramer joined #perl6
12:55 moritz_ say = print + newline
12:55 cono aigoo: say "text" = print "text\n"
12:56 szabgab I get about 50% speed improvement only
12:56 cono moritz_: btw, print+(2+1)*3, + - context change operator? Or just prefix + ?
12:57 dalek book: d9997e5 | moritz++ | src/regexes.pod:
12:57 dalek book: [rx] uglify the regex chapter, but make the code run at least. Probably also
12:57 dalek book: needs updates in the grammar chapter, to make up for the missing explanation of
12:57 dalek book: <foo>
12:57 dalek book: review: http://github.com/perl6/book/commit/d9​997e5e175b3d3eb9c19f7aa37954e2aca3e050
12:57 dalek book: 54850cf | moritz++ | src/grammars.pod:
12:57 dalek book: [grammars] explain <foo> calling syntax
12:57 dalek book: review: http://github.com/perl6/book/commit/54​850cf4e649ca0ba2b6605eac35b29e97719f6d
12:57 dalek book: 93ee5f2 | (Nikolai Prokoschenko)++ |  (14 files):
12:57 dalek book: merge layout-basic branch
12:57 dalek book: review: http://github.com/perl6/book/commit/93​ee5f28704dbb1c4c8d56e2ac86566791345368
12:57 dalek book: f6de689 | (Nikolai Prokoschenko)++ | Makefile:
12:57 dalek book: note to self: test before push. Fixed the makefile
12:57 dalek book: review: http://github.com/perl6/book/commit/f6​de68948fe4b36d004a49b3d97db037aaa4d0df
12:58 moritz_ cono: in perl 5, prefix + is a no-op
12:58 moritz_ just for parsing disambiguation
12:59 cono thanks
13:00 colomon am I correct in thinking we don't have "lift" yet?
13:01 moritz_ colomon: correct
13:02 colomon that's really ugly for Vector.  :(
13:02 moritz_ I know
13:03 sundar joined #perl6
13:04 isBEKaml aigoo: just one thing. Please donot login to IRC networks as root user. login as any user but root. Security issue. :)
13:07 TimToady at seatac
13:07 sorear Did alpha have lift?
13:07 TimToady freewifi++
13:08 szabgab how can I use the result of a computation as par of a regex ?
13:08 szabgab rakudo: say '2 + 3 = 5' ~~ rule { (\d+) \+ (\d+) \= { $0+$1 } }
13:08 moritz_ sorear: no
13:08 p6eval rakudo f7fdd5: OUTPUT«2 + 3 = ␤»
13:08 moritz_ rakudo: say '2 + 3 = 5' ~~ rule { (\d+) \+ (\d+) \= <?{ $0 + $1 }> }
13:08 p6eval rakudo f7fdd5: OUTPUT«2 + 3 = ␤»
13:08 sorear szabgab: \= "{ $0 + $1 }" should work
13:08 szabgab rakudo: say '2 + 3 = 5' ~~ rule { (\d+) \+ (\d+) \= <?{ $0+$1 }> }
13:09 p6eval rakudo f7fdd5: OUTPUT«2 + 3 = ␤»
13:09 moritz_ rakudo: say '2 + 3 = 5' ~~ rule { (\d+) \+ (\d+) \= <?{ say $0 + $1; $0 + $1 }> }
13:09 p6eval rakudo f7fdd5: OUTPUT«5␤2 + 3 = ␤»
13:09 moritz_ sorear: don't think so. { } just executes, but does not use the return value
13:09 sorear {} runs stuff in void context
13:09 sorear moritz_: "{}" is an interpolating string
13:09 moritz_ hm
13:09 sorear rakudo: say "{ 2 + 3 }"
13:09 moritz_ rakudo: say '2 + 3 = 5' ~~ rule { (\d+) \+ (\d+) \= "{ say $0 + $1; $0 + $1 }" }
13:09 p6eval rakudo f7fdd5: OUTPUT«5␤»
13:09 p6eval rakudo f7fdd5: OUTPUT«␤»
13:10 moritz_ sorear: you're right - but I don't know if that's implmented in Rakudo
13:11 azert0x joined #perl6
13:12 colomon moritz_: arrrgh.  Given Vector +, += doesn't work, [+] doesn't work, >>+<< doesn't work....  :(
13:13 szabgab so when is the ratchet useful besides speed issues?
13:14 moritz_ szabgab: for avoiding reparses, for example
13:14 szabgab that's speed, right?
13:14 moritz_ szabgab: if you parse a programming language, and you match a number with \d+, and the next rules fails, you don't want it to backtrack
13:16 szabgab unless I am looking for a snippet in the code
13:17 szabgab but this can be true in any case where I do "input validation"
13:17 szabgab thyat is when I use ^ anchor
13:18 szabgab so for this purpose any well defined syntax / file format is a "programming language"
13:18 meteorjay joined #perl6
13:31 TimToady boarding &
13:31 oha rakudo: my $x = "11"~(1..10).map({$_*$_*$_}).join('0'); say ($x ~~ rx/ ( (\d) (\d*?) (\d) <?{ $0 eq $2 }> )* /).caps.map({.values}).join(',');
13:31 p6eval rakudo f7fdd5: OUTPUT«11,10802706401,2502,160343051,2072␤»
13:32 oha rakudo: my $x = "11"~(1..10).map({$_*$_*$_}).join('0'); say ($x ~~ rx/:ratchet ( (\d) (\d*?) (\d) <?{ $0 eq $2 }> )* /).caps.map({.values}).join(',');
13:32 p6eval rakudo f7fdd5: OUTPUT«11␤»
13:36 masonkramer joined #perl6
13:43 tylercurtis joined #perl6
13:44 zulon joined #perl6
13:50 sorear jnthn: ping
13:55 Daenyth joined #perl6
13:55 Daenyth Hi all
13:55 sorear Hello
13:55 Daenyth I'm building the july rakudo and it's been left for several minutes on /usr/bin/parrot  src/gen/perl6.pbc --target=pir  \ src/gen/core.pm > src/gen/core.pir
13:55 Daenyth Is that normal?
13:55 sorear Yes
13:55 Daenyth ok
13:55 Daenyth 4 more days :)
13:55 sorear It's a lot faster now than it used to be
13:56 sorear March rakudo needed 8 hours for that step
13:56 Daenyth 0.0
13:56 sorear now it usually finishes in 5-10 minutes
13:56 Daenyth wth?
13:56 Daenyth that's insane!
13:56 * sorear is on a very underspec computer
13:57 sorear Yes.  Yes, it is.
13:57 Daenyth you know, I probably could work something out with some of the other people I know and get you shell access on the arch build box
13:57 sorear The parser is... slow.
13:57 Raynes joined #perl6
13:59 tadzik joined #perl6
13:59 tadzik hello #perl6
14:00 macroron joined #perl6
14:00 sorear Hello tadzik
14:06 masonkramer_ joined #perl6
14:07 rindolf Hi tadzik
14:08 frettled o/
14:08 tadzik seen this mysterious commit on GH -- http://github.com/rakudo/star/commit/b3012ed -- so we're not shipping 2010.07 with Star?
14:09 Daenyth huh?
14:09 Daenyth .07 is broken?
14:10 Daenyth hm just compiled
14:10 Daenyth is it supposed to be this slow?
14:11 Daenyth master!Daenyth/builds/aur/rakudo> time perl6 -e 'say "hi"'
14:11 Daenyth hi
14:11 Daenyth real    0m2.725s
14:11 Daenyth :/
14:12 tadzik yep
14:12 moritz_ Daenyth: about 1s here
14:12 Daenyth that's pretty pathetic :/
14:12 sorear Agreed
14:12 sorear But R* is not focusing on speed
14:12 tadzik YMMV, but generally it's not too fast right now. The effort is put into completeness, not into optimizations
14:12 Daenyth well... I guess I'll wait on doing euler
14:12 sorear You can't wait 2.7 seconds?
14:13 moritz_ yeah, R* is not meant for project euler
14:13 Daenyth for one 'say'
14:13 tadzik oh come on
14:13 moritz_ no bigints, and too slow
14:13 Daenyth well, taking the example from the other day you gave me re problem 1
14:13 sorear Daenyth: the say took .01s, the rest was taken loading rakudo
14:13 Daenyth sorear: moment
14:13 tadzik it's like running Hello world in Java and complaining that it's slow. It's not fast, I agree, but here the most time is the init time, and compilation
14:14 Daenyth moritz_: master!Daenyth/builds/aur/rakudo> time perl6 -e 'say [+](1..999).grep: * %% (3|5)'
14:14 tadzik Daenyth: try perl6 --stagestats to see what takes the most amount of time
14:14 Daenyth 233168
14:14 Daenyth real    0m33.436s
14:14 Daenyth tadzik: will do
14:14 sorear stefan@stefans:~/niecza$ time ./niecza_eval -e 'say "hi"'
14:14 sorear real    0m8.812s
14:15 Daenyth master!euler> time ./python/euler1.py
14:15 Daenyth real    0m0.051s
14:16 oha on my notebook it takes about the same time of javac T.java; java T for just a print
14:16 Daenyth let me try with the --stagestats
14:16 tadzik Daenyth: no sense in comparing to python
14:17 Daenyth Yeah, I mean.. I get that's the 1.0 release
14:17 slavik joined #perl6
14:17 tadzik no it's not :)
14:17 Daenyth I'm just disappointed because all the hype has been saying that this is the "production ready" release
14:17 moritz_ it's not an 1.0 release
14:17 Daenyth well, r* is
14:17 moritz_ no.
14:17 tadzik …this is not
14:17 moritz_ NO!
14:17 tadzik who said that?
14:17 sorear R* is 0.01
14:17 sorear not 1.0
14:17 Daenyth oh
14:17 tadzik exactly
14:17 moritz_ it's a preview release, to get more people interested
14:17 moritz_ it's not "stable" or "production"
14:18 moritz_ we hope it's useful
14:18 tadzik Daenyth: come on, where did you find this info? Serious question, no offence
14:18 sorear also, Perl5 runs euler1 in 0.013 seconds
14:18 Daenyth http://use.perl.org/~pmich​aud/journal/39411?from=rss
14:18 Daenyth So, here's what the Rakudo Perl project is going to do:
14:18 Daenyth We will make an "official", intermediate, useful and usable release of Perl 6 (an appropriate subset) by Spring 2010.
14:18 Daenyth eh
14:18 Daenyth I guess it's just semantics
14:18 tadzik looks that you misunderstood it a bit
14:19 Daenyth guess so
14:19 Daenyth We've also had discussions about what to call the intermediate release. We've considered tagging it as "Rakudo 1.0"
14:19 Daenyth outdated info I guess
14:19 tadzik it is useful and stable, but not complete and not production ready
14:19 moritz_ it also seems the pcworld authors have misunderstood larry a bit :-)
14:20 Daenyth yeah
14:20 sorear Daenyth: taking 2.7s to start does not make something "not useful"
14:20 Daenyth I've definitely seen a few places around the net calling it 1.0
14:20 Daenyth sorear: I didn't say it was useless
14:20 moritz_ well, we try hard not to spread that myth, but the myth spreads itself
14:20 sorear 09:18 < Daenyth> We will make an "official", intermediate, useful and usable  release of Perl 6 (an appropriate subset) by Spring 2010.
14:21 sorear Which adjective do you disagree with
14:21 Daenyth I'm not
14:21 Daenyth It's just easy to misunderstand
14:21 tadzik right
14:21 tadzik don't blame him, it's not that easy to filter all these bullshit on the internets
14:22 Daenyth A lot of the hype is that this is going to be the first production ready release
14:22 Daenyth even if you're not claiming it
14:22 tadzik I hope you alredy know it's wrong :)
14:22 sorear It's not any different from previous releases
14:23 moritz_ sorear: it is
14:23 sorear Except that this is the one we *want* people to use in production
14:23 moritz_ sorear: it's a distribution, not only a compiler
14:23 tadzik it's rather a psychological difference
14:23 sorear moritz_: I meant other than that
14:23 moritz_ it comes with modules, a module installer
14:23 moritz_ ah well; the same holds true for all projects that do regular releases
14:24 moritz_ none of them improves from "imature" to "stable" in one month
14:24 moritz_ it's always a question of declaration
14:24 Daenyth tadzik: I know now, it's just disappointing
14:24 tadzik Daenyth: probably, if you were filled with hope. But the facts are it's not the Final, Production Ready Perl Six
14:25 Daenyth indeed
14:25 tadzik But wait, there's hope!
14:26 tadzik You can alredy write Perl 6 disregarding all the difficulties, and hopefully with your support Rakudo 1.0 will come earlier
14:26 tadzik and _that_'s what R* is for
14:27 Daenyth true
14:29 oha a part the speed, rakudo is very usable
14:29 oha pefect to start understanding perl6
14:29 Daenyth yes, true
14:29 Daenyth but I was hoping to learn it by doing project euler with it
14:29 tadzik you can
14:29 tadzik …but that will require patience :)
14:29 Daenyth and that seems like an exercize in masochism now
14:29 oha at least, it was for me. i was (and currently am) very impressed how good it is
14:29 tadzik also you will be able to see how important is the algorithm itself
14:30 JimmyZ_ joined #perl6
14:30 oha Daenyth, it can be used for, in my opinion.
14:30 Daenyth tadzik: well euler is mostly designed along the lines of "correct algorithm should be under a minute to run", and any other approach runs in unworkable time
14:31 dual joined #perl6
14:31 tadzik yep, that's what I remember about it
14:31 Daenyth anyway, seems the bulk of the time is Stage 'past': 7.60555267333984e-05 sec
14:31 moritz_ if 76ms is the bulk of time, you're lucky :-)
14:32 Daenyth oh wait no
14:32 Daenyth didn't notice the e at first
14:32 moritz_ erm, microsecends
14:32 moritz_ runtime isn't shown as a stage
14:32 Daenyth moritz_: yeah just realized that
14:32 Daenyth all the stages complete very quickly
14:32 Daenyth then runtime takes forever
14:33 colomon moritz_: do we have a way to say "give me the end of this array starting at $n" that actually works at the moment?
14:34 tylercurtis rakudo: my $a = [1,2,3,4,5,6,7,8,9,10]; $a[5..*].perl.say;
14:34 p6eval rakudo f7fdd5:  ( no output )
14:34 tylercurtis rakudo: my $a = [1,2,3,4,5,6,7,8,9,10]; $a[5..$a.elems].perl.say;
14:34 p6eval rakudo f7fdd5: OUTPUT«(6, 7, 8, 9, 10, Any)␤»
14:35 tylercurtis rakudo: my $a = [1,2,3,4,5,6,7,8,9,10]; $a[5 .. $a.elems - 1].perl.say;
14:35 p6eval rakudo f7fdd5: OUTPUT«(6, 7, 8, 9, 10)␤»
14:35 tadzik rakudo: my $a = [1,2,3,4,5,6,7,8,9,10]; $a[5, 6 ... *].perl.say;#curious
14:36 p6eval rakudo f7fdd5:  ( no output )
14:36 oha rakudo: my @a = 1..10; say @a[*]; # should print the last elements, isn't it?
14:36 tadzik ah no, it's infinite
14:36 p6eval rakudo f7fdd5: OUTPUT«Can't take numeric value for object of type Whatever␤  in 'Any::Numeric' at line 1348:CORE.setting␤  in 'infix:<<>' at line 6394:CORE.setting␤  in 'Any::postcircumfix:<[ ]>' at line 1655:CORE.setting␤  in main program body at line 1␤»
14:37 moritz_ oha: should return all array elements
14:48 colomon moritz_: so, how mad do you think pmichaud would get if I added postcircumfix:<[ ]>(Range $range) to Any-list.pm?  It's not the right long term solution, but it would be easy to get the most common case working quickly.
14:49 moritz_ colomon: no idea
14:51 moritz_ rakudo: 'abc' ~~ /./; my %h = a => 1, b => 2; say %h{$/}
14:51 p6eval rakudo f7fdd5: OUTPUT«maximum recursion depth exceeded␤  in 'Block::count' at line 5420:CORE.setting␤  in 'Block::count' at line 5424:CORE.setting␤  in 'Any::postcircumfix:<{ }>' at line 1␤  in <anon> at line 1␤  in 'Any::postcircumfix:<{ }>' at line 1␤  in <anon> at line 1␤  in
14:51 p6eval ..'Any::postcircumfix:<{ }…
14:52 Juerd joined #perl6
14:52 Juerd Er, wow. Some kickfest :)
14:52 moritz_ rakudo: 'ab' ~~ /./; say $/ ~~ Positional
14:52 p6eval rakudo f7fdd5: OUTPUT«1␤»
14:53 moritz_ rakudo: 'ab' ~~ /(.)(.)/; my @a := $/; .say for @a
14:53 p6eval rakudo f7fdd5: OUTPUT«ab␤»
14:53 moritz_ rakudo: 'ab' ~~ /(.)(.)/; my @a := $/.flat; .say for @a
14:53 p6eval rakudo f7fdd5: OUTPUT«a␤b␤»
14:54 * moritz_ spectests a fix for the infinite recursion
14:59 moritz_ hm, not so easy
15:07 moritz_ the problem is that $/ ~~ Positional
15:07 moritz_ so the Positional variant postcircumfix:<{ }> is called
15:07 moritz_ which iterates over the argument, and recurses into self
15:08 moritz_ but since it's just one item, which is again Positional, it loops infinitely
15:22 amkrankruleuen joined #perl6
15:27 szbalint joined #perl6
15:34 amkrankr1leuen joined #perl6
15:35 moritz_ my "fix" results in a "Null PMC in copy" in rx.t
15:38 m6locks joined #perl6
15:39 Axius joined #perl6
15:39 Axius hello
15:39 moritz_ hi
15:40 sorear Hello.
15:40 mac_|afk joined #perl6
15:40 mac_|afk hi
15:41 * moritz_ is glad to see that we're approaching 100 nicks again
15:41 * mac_|afk is angry, cuz some1 has stolen his nickname :(
15:41 pugssvn r31822 | moritz++ | [t/spec] fix syntax error in fudge directive, moritz--
15:42 moritz_ mac_|afk: next time it's available, register it
15:43 mac_|afk Yup, I know... I should, but I haven't though some1 can take "mac_", "mac" was registered, but "mac_". Yes, I'm popular, but I've not minded it's so much
15:49 timbunce joined #perl6
15:56 markshaw joined #perl6
15:57 pmichaud good morning, #perl6
15:58 moritz_ good morning pmichaud
15:58 MarkS joined #perl6
15:58 sorear good morning pmichaud
16:00 moritz_ I've got 'star' far enough to download rakudo and modules, and then build rakudo into a custom prefix and run a sanity check
16:00 dalek book: 550965b | moritz++ | src/subs-n-sigs.pod:
16:00 dalek book: [subs] remove forbidden mandatory parameter after an optional one
16:00 dalek book: review: http://github.com/perl6/book/commit/55​0965b6dc3231dd389006f8f18ab006fb37b39b
16:00 moritz_ I'm also injecting the modules into proto's cache dir
16:00 moritz_ but somehow the build step always fails
16:01 pmichaud okay, my plan is to work on the star build system today
16:01 moritz_ great
16:01 pmichaud is it currently downloading rakudo?  I've been thinking that we should include a copy of rakudo in the tarball, rather than rely on downloading
16:02 moritz_ pmichaud: the idea is to have a script that downloads all the stuff that goes into the release tar ball
16:02 moritz_ pmichaud: and then a second script is copied there (dist/ directory)
16:02 moritz_ which the user then calls to build the stuff
16:02 pmichaud okay, that works for me
16:02 moritz_ so you run
16:02 pmichaud that sounds even better :-)
16:02 moritz_ $ perl build/download-stuff.pl
16:03 moritz_ this creates dist/, which will eventually be tar'ed
16:03 moritz_ when you  cd dist/, you can run  perl buildall.pl
16:04 moritz_ the download-stuff.pl is also responsible for checking out the correct branch or tag from rakudo and proto/pls
16:06 mantovani joined #perl6
16:06 tadzik joined #perl6
16:15 MarkS left #perl6
16:16 wolverian joined #perl6
16:16 wolverian oh boy.
16:17 moritz_ wolverian: hm?
16:18 sorear it's ok
16:18 sorear pmichaud has metaops now
16:18 wolverian it's good to be back. :)
16:18 sorear we're better off than before
16:19 pmichaud moritz_, sorear:  do you have registered nicks?
16:19 moritz_ pmichaud: yes, account moritz_
16:19 sorear yes, account sorear
16:20 pmichaud you're both now registered with chanserv for #perl6
16:21 sorear (wow, I watn
16:21 pmichaud anyone else we should register?
16:21 sorear (wow, I wasn't expecting *meta*ops)
16:21 pmichaud I don't want to be the only person with metaops, because sometimes I'm not around.
16:21 sorear TimToady maybe
16:21 pmichaud is his nick registered?
16:21 sorear doesn't look like it
16:21 timbunce how can I contribute to the perl6 book? (I have some suggestions after trying to use it for learning perl6)
16:22 pmichaud timbunce: what kind of contributions are you looking to offer?  ;-)
16:22 pmichaud small patches, entire chapters, major rewrites, ... ?
16:22 sorear the 'TimToady' account exists and was last used under the username ~larry
16:22 sorear so it looks like he does have the account, just doesn't habitually identify
16:22 timbunce small patches and some suggested TODOs
16:23 timbunce I've an annotated PDF I could send to someone
16:23 pmichaud git pull requests and patch submissions are very welcome
16:23 pmichaud or that works
16:23 pmichaud if you get it to us, someone will incorporate it :)
16:23 moritz_ hugme: add timbunce to book
16:23 * hugme hugs timbunce. Welcome to book!
16:23 pmichaud email to me should work fine -- I plan to be doing book edits over the next few days
16:23 moritz_ feel free to push diretly
16:23 pmichaud ah, yes, and you now have a commitbit :)
16:23 moritz_ cc me please (moritz@faui2k3.org)
16:24 * jnthn is back o/
16:24 pmichaud jnthn: o/
16:24 jnthn o/ pmichaud
16:25 jnthn pmichaud: Safe journey back?
16:25 pmichaud yes
16:25 pmichaud very nice journey, as it turns out
16:25 jnthn Good good. :-)
16:25 pmichaud weather was beautiful and I had a window seat
16:25 jnthn \o/
16:25 jnthn I like flights like that.
16:25 pmichaud and the flight path meant that I got great views of Mt. Hood, Mt. Rainier, Great Salt Lake, and Canyonlands.
16:25 pmichaud as in, we flew right over each of those.  (I think the pilot did so deliberately)
16:27 jnthn Ooh, very nice!
16:27 * moritz_ will visit a Clasic Open Air tonight
16:27 jnthn I remember one where I had clear weather, a window seat and we flew over Greenland. That was quite impressive. :-)
16:29 pmichaud I'm guessing the other side of the plane had equally good views (especially of Canyonlands), because I heard a lot of camera shutters :-)
16:30 jnthn :-)
16:30 pmichaud anyway, definitely the nicest (and shortest)  PDX->DAL journey I've had.
16:31 pmichaud (southwest airlines)++
16:32 jnthn pmichaud: What're you planning to work on next in Rakudo land?
16:32 pmichaud I realized last night on the plane that I have several commits I forgot to make
16:32 pmichaud er, forgot to push
16:32 pmichaud so, right now I'm re-spectesting and preparing to push those.  (I think they may be the for->map commits.)
16:33 pmichaud then I'm going to work a bit on the book and the star repo
16:33 jnthn OK.
16:33 pmichaud my notebook has been acting crazy the last couple of days, too, so I'm thinking I'll reinstall (easy automated process, only takes about 30 mins)
16:34 pmichaud any urgent things I should look at?
16:34 pmichaud I'll probably see if I can figure out mainline lexical chains as well
16:34 moritz_ pmichaud: if you happen to have a fix for the %h{$/} infinite recursion, that would be nice
16:34 moritz_ pmichaud: apart from that, we should really start to focus more on the distribution aspect
16:35 pmichaud right
16:35 pmichaud distribution is my focus for the next couple of days, likely
16:35 pmichaud what's the %h{$/} recursion?  is there a ticket?
16:35 moritz_ rakudo: my %h = a => 1; 'a' ~~ /./; say %h{%/}
16:35 p6eval rakudo f7fdd5: OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name at line 22, near "%/}"␤»
16:36 moritz_ rakudo: my %h = a => 1; 'a' ~~ /./; say %h{$/}
16:36 p6eval rakudo f7fdd5: OUTPUT«maximum recursion depth exceeded␤  in 'Block::count' at line 5420:CORE.setting␤  in 'Block::count' at line 5424:CORE.setting␤  in 'Any::postcircumfix:<{ }>' at line 1␤  in <anon> at line 1␤  in 'Any::postcircumfix:<{ }>' at line 1␤  in <anon> at line 1␤  in
16:36 p6eval ..'Any::postcircumfix:<{ }…
16:36 pmichaud ...what should happen there?
16:36 moritz_ stringify, in the end
16:36 pmichaud why would it stringify?
16:37 moritz_ because our hash keys are strings
16:37 moritz_ http://rt.perl.org/rt3/Tic​ket/Display.html?id=75868
16:37 pmichaud I thought Perl 6 hashes didn't have string keys
16:37 moritz_ they have, unless you declare them has %hash{Any}
16:37 jnthn pmichaud: They coerce to string by default.
16:38 moritz_ I know why it recurses
16:38 pmichaud is that in the synopses somewhere?
16:38 moritz_ $/ ~~ Positional
16:38 moritz_ S09 likely
16:38 moritz_ so it choses the @-sigiled postcircumfix
16:38 moritz_ iterates over it
16:38 moritz_ gets one item back
16:38 moritz_ recurses into self
16:39 pmichaud perhaps add    postcircumfix:<{ }>(Match $x) { self{~$x} }   ?
16:39 moritz_ To declare a hash that can take any object as a key rather than just a string or integer, say something like:
16:39 moritz_ my %hash{Any}; my %hash{*};
16:39 moritz_ from S09
16:40 moritz_ any, afk
16:40 moritz_ s/any/anyway/
16:48 jnthn pmichaud: I'll take a crack at the role outer issue tomorrow and at least try and get a workaround in place.
16:49 jnthn pmichaud: I kinda failed to sleep last night so don't have the concentration to do it this evening. :-(
16:49 pmichaud jnthn: np
16:52 sorear jnthn: are you awake enough for me to pick your brain on a tiny role semantics issue?
16:53 jnthn sorear: how tiny? ;-)
16:53 jnthn sorear: Try me :-)
16:54 sorear role X { }; # What, exactly, is X?  It's not necessarily a type object, especially if X can't be punned, but it has to be something that trait_mod:<does> can inspect
16:55 jferrero joined #perl6
16:56 jnthn sorear: It's a Role object, which encapsulates the multi-sub
16:56 jnthn sorear: An actual role is really called ConcreteRole
16:56 sorear So... there's a class Role { ... } somewhere, and X.^isa(Role)?
16:56 jnthn sorear: So your trait_mod:<does> has a candidate for Role and a candidate for ConcreteRole
16:57 jnthn And if it gets Role then it goes it needs to Role[] it to select the parameterless variant
16:58 jnthn Role stands for "any concrete role I've ever made" normally, e.g. in the context of smart-matching.
16:58 jnthn It's just when it's forced to commit that it then []'s itself to get a concrete role, and acts like a parameterless variant.
16:58 jnthn er, sorry
16:59 jnthn ...and so to the user it just works for them to declare non-parametric roles and be able to name them parameterless, without precluding the ability to add other variants later.
16:59 jnthn Yes, Rakudo has a class Role
16:59 jnthn And a class ConcreteRole
16:59 sorear but the X "type object" is an ordinary instance of class Role, not a funky undefined type object thingie?
16:59 sorear (except insofar as it overrides .new to pun)
17:00 jnthn Yeah, it's not quite a type object in the class-y sense.
17:00 jnthn It's an instance of Role but it always responds False to defined.
17:00 jnthn So it's type-object-y in that sense.
17:01 jnthn I ran into a situation where if it didn't claim to be undefined, it caused issues. I forget exactly where.
17:01 jnthn Punning isn't really overloading .new, it's more overloading .dispatch, or .find_method
17:02 jnthn er, .^dispatch that is
17:02 jnthn .^find_method is maybe .^can too
17:02 jnthn I'm still speculating a bit on exactly how that should fall out.
17:02 sorear Doesn't Role have methods?
17:02 sorear Shouldn't I be able to call them?
17:03 jnthn There are some methods that don't pun, yes.
17:03 jnthn .perl and .postcircumfix:<[ ]> come to mind
17:04 jnthn Rakudo today is the closet approximation we have to correct, anyway. But I'm not convinced it's 100% spot on yet either, fwiw.
17:04 jnthn But we do handle punning as "any method not on this list of exceptions".
17:05 jnthn It may well be that we can do away with that completely though. (more)
17:06 jnthn If .perl returns something indistinguishable for the punned class as it would the role, and we say that actually it's not .postcircumfix:<[ ]> that Pint[Beer] calls but actually something on the meta-object, or some other macro-y thing, we maybe can say "all method calls pun"
17:06 jnthn I'd prefer that.
17:06 jnthn But it still leaves some awkwardness.
17:07 jnthn Like contextualizers.
17:07 jnthn But I really don't like lists of hardcoded exceptions, so if you find a workable approach that escapes that I'll probably be willing to copy it. :-)
17:08 jnthn .oO( did any of that make any sense... :-) )
17:08 jnthn I just didn't manage to beat it into submission in Rakudo yet.
17:08 jnthn Maybe I can in the forthcoming meta-model re-working.
17:09 timbunce I've forked the book on github, made some minor tweaks and TODOs and sent a pull request.
17:11 wolverian jnthn: is there a .hash-code method or so, then? (re: object keys)
17:12 jnthn wolverian: I guess that's .WHICH
17:13 eternaleye joined #perl6
17:14 s1n joined #perl6
17:14 dalek book: 939ca34 | (Nikolai Prokoschenko)++ | lib/Makefile:
17:14 dalek book: merge upstream patch for direct svg->pdf conversion, doesn't work though, still
17:14 dalek book: converts via eps
17:15 pmichaud jnthn: ping
17:15 dalek joined #perl6
17:15 jnthn pmichaud: pong
17:15 pmichaud I think there's a problem with the topicalization in ~~
17:16 pmichaud (looking)
17:16 jnthn pmichaud: I could believe that...I had a small fight with PAST::Compiler in the proccess...
17:16 pmichaud creating a new intermediate block loses the correct OUTER chain
17:17 pmichaud in particular, for anything that needs to set $! or $/
17:17 jnthn pmichaud: Seems it gets really upset if a PAST::Op node of type if and unless has a PAST::Stmt as the condition.
17:17 jnthn pmichaud: That is, it doesn't run the stuff and take the last thing returned as the condition.
17:17 jnthn Oh, ouch :-(
17:17 jnthn Yes, I can see that :-(
17:17 jnthn I didn't *want* the block at all.
17:18 szabgab can someone please let me know what is the \  called in the    [\+] 0..6  code    ?
17:18 szabgab besisdes "escape"
17:18 pmichaud szabgab: "triangle reduction"
17:18 pmichaud szabgab: search S03 for "triangle"
17:18 szabgab and if I am not mistake in does the reductiopn right-wards
17:18 pmichaud szabgab: it might depend on the op associativity
17:18 jnthn szabgab: Through the list, yes.
17:19 jnthn oh, what pmichaud said...
17:19 jnthn szabgab: The implementation of it is in Perl 6 if you want to check :-)
17:19 szabgab :)
17:19 axigo joined #perl6
17:19 szabgab I was just reading the 'series' thread
17:19 szabgab and was trying to understand a bit more
17:19 axigo hi
17:20 jnthn szabgab: See reducewith in http://github.com/rakudo/rakudo/​blob/master/src/core/metaops.pm
17:20 jnthn axigo: hi
17:20 pmichaud jnthn: I'll see if I can figure out why PAST::Stmt isn't working in an 'if'.  It really should work.
17:20 jnthn pmichaud: If you know of a way to not have it as a PAST::Block that doesn't hit code-gen problems, feel free to change it.
17:21 pmichaud the problem is that S05-mass/rx.t fails currently
17:21 jnthn pmichaud: Well yes, it should, but I figured it was not too much point hunting that down immediately.
17:21 pmichaud (because of this bug)
17:21 jnthn pmichaud: Given we can't actually fix PAST::Compiler bugs until post-R*
17:21 jnthn So I went for "workaround it and comment why" :-)
17:21 jnthn Evidently the workaround is fail though.
17:21 jnthn Huh, how'd I miss that one failing...
17:22 pmichaud well, it's failing in my local copy--don't know if that's related to other changes I've made
17:23 jnthn pmichaud: I coulda missed it. I get a load of exit code 1 thingies that pass in my failed tests list. :(
17:23 pmichaud yeah, that's _really_ annoying.
17:23 jnthn It really really is.
17:24 jnthn Anyway, sorry if I caused breakage.
17:24 pmichaud for some reason I've found that if I rm -rf t/spec and re-check it out, the exit code 1's sometimes go away
17:24 jnthn And it sounds feasible.
17:24 jnthn I'm just not immediately sure what the best solution is.
17:24 pmichaud well, PAST::Stmts really should work.  I can't think of any reason it would not.
17:25 jnthn pmichaud: IIUC, I should be able to change the PAST::Block to a PAST::Stmts in the make_smartmatch sub and it'd work the same?
17:25 jnthn (as in, is that what you'd epxect)
17:25 pmichaud oh, there's another possibility :-)
17:25 pmichaud (looking)
17:26 jnthn (and where the same means, same minus this bug :-))
17:26 pmichaud you could also try   PAST::Op.new( :pasttype<stmts>, ... )
17:26 jnthn ...oh?
17:26 pmichaud yes.  :)
17:26 jnthn I didn't know that existed!
17:26 pmichaud yes
17:26 jnthn How does it differ from PAST::Stmts?
17:26 jnthn (Other than by node type :-))
17:26 pmichaud because sometimes we want to quickly convert a PAST::Op node to simply evaluate its children but do something else :)
17:26 pmichaud s/something/nothing/
17:27 jnthn lemme try it
17:27 dalek book: 48c8de7 | timbo++ | src/ (4 files):
17:27 dalek book: some minor fixes and assorted suggestions
17:27 dalek book: review: http://github.com/perl6/book/commit/48​c8de709dcfb5b9d7dc15026d0d235cbd9d786c
17:27 pmichaud jnthn: it's really no different, iirc
17:27 jnthn pmichaud: aye, but it may not have the same code-gen bug
17:28 pmichaud right... just in case the bug has something to do with the node type.
17:28 lue o hai o/
17:28 pmichaud anyway, I'm pushing my commits
17:28 jnthn (if you want to see it, change to PAST::Stmts, and then compare before and after the PIR output of "if 1 && 1 ~~ 1 { }")
17:28 pmichaud done
17:28 rindolf Hi all.
17:28 rindolf Hi jnthn , pmichaud
17:28 pmichaud I wonder if I can see it in nqp
17:29 rindolf So? A release in two days?
17:29 * jnthn pulls them and rebuilds with those
17:29 pmichaud rindolf: four, I think.
17:30 pmichaud (today is Sun, release is Thu.)
17:30 pmichaud depending on what you mean by "release"
17:30 rindolf pmichaud: ah.
17:30 rindolf I mean the Star Release.
17:30 jnthn o/ rindolf
17:30 jnthn * is 29th. :)
17:30 * lue must prepare promotional banner
17:31 rindolf jnthn: ah.
17:31 pmichaud rakudo:  if 1 && (1; 1) { say 'yes'; }
17:31 p6eval rakudo f7fdd5: OUTPUT«yes␤»
17:31 pmichaud jnthn: that seems to work just fine.
17:31 justatheory joined #perl6
17:32 pmichaud (the "(1; 1)" produces a PAST::Stmts node)
17:33 dalek rakudo: 1ccf35d | pmichaud++ | src/ (7 files):
17:33 dalek rakudo: Convert Nil to be a constant (finally!) instead of treating it like a
17:33 dalek rakudo: subroutine.
17:33 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​ccf35d54f8bd46dc0afeb9aa8adb02ffc682649
17:33 dalek rakudo: 83e0bdd | pmichaud++ |  (6 files):
17:33 dalek rakudo: Merge branch 'master' of github.com:rakudo/rakudo
17:33 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​3e0bdd3fe37b3784ff503136373ca97d53ad1e7
17:33 dalek rakudo: d1f2e59 | pmichaud++ |  (6 files):
17:33 dalek rakudo: Merge branch 'master' of github.com:rakudo/rakudo
17:33 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​1f2e59c00807a4080077c6c0f79c93778669748
17:33 dalek rakudo: e991c43 | pmichaud++ | src/ (2 files):
17:33 dalek rakudo: Merge branch 'master' of github.com:rakudo/rakudo
17:33 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​991c43e8c2a7321641c758a3ffc11382103eb55
17:34 pmichaud huh, that was weird.
17:34 jnthn merge-tastic
17:34 Axius joined #perl6
17:34 pmichaud anyway, I need to grab lunch.
17:35 jnthn > if 1 && 1 ~~ 1 { say 42 }
17:35 jnthn Null PMC access in get_bool()
17:35 jnthn grrr
17:35 jnthn Nope, PAST::Op with pasttype of stmts exhibted same problem. :-(
17:35 pmichaud just a sec, let me look.
17:35 sorear niecza: if 1 && 1 ~~ 1 { say 42 }
17:35 pmichaud the problem doesn't appear to be with PAST::Stmts
17:35 p6eval niecza 64fc764: OUTPUT«42␤»
17:36 sorear # I've copied enough design that intersection could help localize the bug
17:37 pmichaud sorear: the bug is appearing now because our smartmatch is temporizing $_
17:37 sorear aha.
17:37 pmichaud at least, it's trying to.
17:37 sorear I'm ... not doing that just yet.
17:38 pmichaud jnthn: what does the PIR look like from your example above?
17:38 pmichaud that would be a huge help
17:39 jnthn pmichaud: http://gist.github.com/489711
17:39 jnthn pmichaud: Notice how sm_result25 never gets used
17:39 pmurias joined #perl6
17:40 jnthn pmichaud: And it uses $P77 instead which was never initialized
17:40 jnthn AFAICT
17:41 pmichaud what is that .return?!
17:41 pmichaud there can't be a .return there
17:41 pmichaud oh, wait, yes there can
17:42 pmichaud $P77 doesn't need to be initialized -- it's the result of the outer 'if'
17:42 pmichaud ...which, you're right, isn't set.
17:42 pmichaud wait.
17:42 plobsing joined #perl6
17:43 pmichaud I'm guessing PAST::Stmts is having trouble with a PAST::Var(:scope<register>) as its last child, for some reason.
17:44 jnthn Oh. :S
17:44 pmichaud either that or the PAST::Stmts node being returned is ..... oh.
17:44 pmichaud I think I see the problem.
17:44 pmichaud looking
17:44 jnthn .oO( this is where we discover I did some really silly mistake :-) )
17:45 pmichaud in method EXPR
17:45 pmichaud we have
17:45 pmichaud oh, nm, that's not it.
17:45 pmichaud hmmm
17:46 pmichaud I'm wondering if whatever is handling the results of the smartmatch is somehow using only the first three children.
17:46 pmichaud i.e., if it's unpacking the PAST::Stmts node
17:46 jnthn Hmm
17:47 pmichaud just for fun, what if you create a PAST::Stmts node that contains a single child of another PAST::Stmts node?
17:47 pmichaud (which then has all of the children)
17:47 jnthn pmichaud: heh heh...I'm compiling that at the moment ;-)
17:48 jnthn (Actually I did a PAST::Op with stmts as pasttype inside another one, but maybe same effect.)
17:48 pmichaud should be same effect
17:49 pmichaud fwiw, if done using a PAST::Block, there's no need to save/restore the original $_  :-P
17:51 jnthn True, but PAST::Block is wrong for other reasons.
17:51 pmichaud agreed.
17:52 jnthn pmichaud: No, that doesn't help :-(
17:52 pmichaud okay
17:52 jnthn Let's see if it's the register var node
17:52 pmichaud it has to be something about the construction of the PAST::Stmts node that is causing the problem.
17:52 pmichaud maybe try it as inline PIR, just for fun
17:53 pmichaud oh, that might be a pain, never mind.
17:53 jnthn eww!
17:53 pmichaud (unique registers needed)
17:53 jnthn We already have too much inline PIR. :-)
17:53 pmichaud working inline pir > buggy non-inline past
17:54 pmichaud :)
17:54 pmichaud anyway, I need lunch.  if you're unable to come up with anything, just leave me a note and I'll pick it up later.
17:54 jnthn kk
17:54 pmichaud I'm pretty sure it's something trivialish, just needs a bit of debugging
17:54 jnthn I seem to be doing better at conciousness than I'd anticipated. :-)
17:57 jnthn pmichaud: Promoting it to a lexical rather than a register var works
17:57 jnthn pmichaud: I'll spectest and go with that for now. But seems it is the register var.
17:57 pmichaud okay, I can buy that.
17:58 jnthn .oO( Bugs for sale! Best prices! )
17:59 Ross joined #perl6
17:59 pmichaud ah, yes.
17:59 pmichaud PAST::Var(:name<foo>, :scope<register>)   doesn't actually generate any code
18:00 pmichaud so there's never any statement generated that sets the result of the PAST::Stmts node to be <foo>
18:00 pmichaud I bet something like that is the problem.
18:01 jferrero p6eval: say [+] (1..6).pick(4, :replace);
18:01 pmichaud anyway, at some point I'll likely want to factor out the temporization of $_ into its own helper sub
18:01 pmichaud jferrero: try "rakudo: "
18:02 jferrero rakudo: say [+] (1..6).pick(4, :replace);
18:02 p6eval rakudo f7fdd5: OUTPUT«9␤»
18:02 jferrero Thanks, pmichaud :)
18:02 jnthn Could not find sub &Nil in 'Test::plan' at line 47:Test.pm
18:02 jnthn ...huh?
18:02 * jnthn thought he had re-configured
18:02 jferrero rakudo: say [~] (1..6).pick(4, :replace);
18:02 p6eval rakudo f7fdd5: OUTPUT«4522␤»
18:02 pmichaud jnthn: maybe need to make sure Test.pir rebuilds?
18:03 jnthn pmichaud: well, realcleaned...trying again
18:03 jnthn I thought Test.pir had
18:03 jnthn Deleted it for good measure.
18:03 pmichaud :-)
18:03 jedai joined #perl6
18:04 pmichaud okay, definitely lunchtime here.
18:04 pmichaud bbiaw
18:04 jnthn see you in a bit :-)
18:07 alester joined #perl6
18:09 lue [ in case you missed it, iblogged: http://rdstar.wordpress.com/2010/07​/25/only-you-can-prevent-op-abuse/ ]
18:24 * pmurias hates gcc bugs
18:35 jferrero rakudo: say <Patrick Jonathan Larry Moritz Audrey>.classify( *.Str )
18:35 p6eval rakudo f7fdd5: OUTPUT«Audrey     AudreyLarry     LarryJonathan   JonathanMoritz  MoritzPatrick   Patrick␤»
18:36 jferrero rakudo: say <Larry Larry Moritz Audrey>.classify( *.Str )
18:37 p6eval rakudo f7fdd5: OUTPUT«Moritz     MoritzAudrey    AudreyLarry     Larry Larry␤»
18:38 dalek niecza: 40e8e9d | sorear++ | C (2 files):
18:38 dalek niecza: Rework code generator to expose th.resultSlot to ANF, saves 7k lines from
18:38 dalek niecza: CORE.cs
18:38 dalek niecza: review: http://github.com/sorear/niecza/commit/4​0e8e9d2de27666b91ece6695914e6ae696612a6
18:38 dalek niecza: 0ec7b78 | sorear++ | CodeGen.pm:
18:38 dalek niecza: Disable _saveall handling
18:38 dalek niecza: review: http://github.com/sorear/niecza/commit/0​ec7b78d97bd493ec013fce65e8deb6ef7d2b2cb
18:38 dalek niecza: 7227acd | sorear++ | C (2 files):
18:38 dalek niecza: The great codegen refactor
18:38 dalek niecza: We no longer need to fake an evaluation stack and can use C#'s stack directly,
18:38 dalek niecza: cutting an additional 10,000 lines off CORE.cs.  CORE.cs is down to 1/3 the
18:38 dalek niecza: size it was at the beginning of this spree and compiles 5(!) times faster.
18:38 dalek niecza: review: http://github.com/sorear/niecza/commit/7​227acdd159f9fb54d79abfe1aac2434f06db9bc
18:38 jferrero rakudo: say <Larry Larry Moritz Audrey>.classify( *.Str ).perl
18:38 p6eval rakudo f7fdd5: OUTPUT«("Moritz" => ["Moritz"], "Audrey" => ["Audrey"], "Larry" => ["Larry", "Larry"])␤»
18:40 tadzik joined #perl6
18:54 lue afk
19:00 benji-man joined #perl6
19:00 mac joined #perl6
19:01 mac re
19:03 tadzik o/
19:03 mac ;)
19:05 pragma_ joined #perl6
19:05 pragma_ Well, #perl6 has shrunk considerably.
19:05 tadzik idlers are gone?
19:06 cono joined #perl6
19:06 tadzik and nothing of the value was lost, imho
19:06 pragma_ you have only one value?
19:07 tadzik what do you mean?
19:07 pragma_ The hunters shot deer.  The hunters shot the deer.
19:08 tadzik I miss your point, I'm afraid. My thoughts are: nothing polite happened, yet the people who still feel a need to be here, will go back
19:10 pragma_ Hm, it happened 23 hours, 50 minutes ago.  That's practically yesterday.
19:10 pragma_ Yes, it is old news.
19:21 cosimo pragma_: what exactly?
19:22 pragma_ cosimo: someone gained privileged access to the channel and kicked everyone.
19:23 tadzik using nick 'audreyt'
19:24 cosimo oh, interesting. now I see why I wasn't there :)
19:25 cosimo i just stopped by to say that I'm proud to be a (even tiny) part of Perl 6
19:26 jnthn pmichaud: Fix worked; pushed.
19:26 cosimo I have that sense of "I was there when that happened"
19:26 cosimo i wish I could do more to help out
19:27 cosimo that's it. good $night
19:27 cosimo :)
19:27 sundar joined #perl6
19:29 tadzik cosimo: gnight :)
19:30 dalek rakudo: b46a3b3 | jonathan++ | src/Perl6/Actions.pm:
19:30 dalek rakudo: Avoid using a PAST::Var register node as the result of a smart-match, since it
19:30 dalek rakudo: ends up with the code-gen wrong if we use a PAST::Stmts to hold them. This
19:30 dalek rakudo: avoids issues that the block trick introduced.
19:30 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/b​46a3b3f05f24dd2909a8d7f53014225fac93d67
19:31 rgrau` joined #perl6
19:41 tadzik so, any other PM groups celebrating R* this week?
19:48 ggoebel joined #perl6
19:57 plol joined #perl6
20:08 pmichaud back
20:08 cxreg sorear: any plans for either niecza or rakudo to target jvm?
20:08 rindolf tadzik: sounds like a release of GNU R.
20:08 rindolf tadzik: although I know it's Rakudo Star.
20:08 tadzik rindolf: why GNU?
20:08 rindolf tadzik: GNU R.
20:09 rindolf tadzik: their S clone.
20:09 tadzik will ask duckduckgo
20:09 rindolf tadzik: which should be pretty good.
20:09 Sexus joined #perl6
20:10 tadzik rindolf: the programming language?
20:10 rindolf tadzik: yes.
20:10 tadzik ee, I don't see how it could be more awesome than Perl6 anyway :)
20:11 tadzik so, any mongers celebrating somewhere/
20:11 rindolf tadzik: well, GNU R is very different from Perl.
20:11 rindolf Either Perl 5 or Perl 6.
20:15 avar cxreg: There's an experimental .net thing
20:17 avar cxreg: But it's pretty tied to the Parrot VM right now, all the interesting stuff calls out to PIR libs
20:20 jnthn cxreg: Rakudo may have a JVM backend at some point.
20:20 hercynium joined #perl6
20:21 jnthn cxreg: One of my explicit goals in the Rakudo meta-model re-working I'm looking at is to have something that can be comfortably implemented on Parrot/JVM/CLR and more.
20:23 avar Is there a todo / something written down for what needs to be done to get to that point?
20:23 jnthn And while I've not made implementing it on anything besides Parrot a grant deliverable, it's almost certain I'll end up with an implementation on things other than Parrot, if only because I'd rather write the first implementation in C# or Java rather than C.
20:23 avar jnthn: sweet
20:23 jnthn (easier to refactor, more primitives to hand, don't have to worry about memory management, etc)
20:25 jnthn tadzik: YAPC::Europe will be soon after R* - I'll celebrate there. :-)
20:26 tadzik :)
20:26 patspam joined #perl6
20:26 tadzik hmm, some of the tests in spectests are e.g. fmt.rakudo. So are they official Perl 6 spectests, or rakudo-only?
20:27 jnthn tadzik: They're generated from the .t files
20:27 jnthn tadzik: But they have parts of them "fudged" out
20:27 tadzik ah, like TODO?
20:27 jnthn tadzik: The .t files have markers like "this implementation can't run this test, comment it out and emit a skip directive"
20:28 jnthn tadzik: And then at the start of make spectest, a .implementation version of the time (.rakudo in Rakudo's case) is generated based on the #?rakudo markers in the file.
20:28 jnthn tadzik: Yeah, but an implementation-specific todo.
20:28 tadzik I see
20:28 [Coke] tadzik: more like SKIP.
20:28 jnthn Well, there's todo and skip.
20:28 jnthn skip actually comments the code out though - becase it may well not even parse.
20:29 jnthn tadzik: http://svn.pugscode.org/pugs/t/spec/README has all the gory details. :-)
20:36 tadzik joined #perl6
20:38 pmichaud .oO( does it also have the non-gory details? )
20:38 pmichaud .oO( are all of the details gory? )
20:38 pmichaud .oO( where are all of these bubbles coming from? )
20:39 tadzik ah, those are bubbles!
20:39 tadzik nice
20:42 trek1s joined #perl6
20:44 rindolf joined #perl6
20:48 whiteknight joined #perl6
20:50 integral joined #perl6
20:50 integral left #perl6
20:51 constant joined #perl6
20:56 wknight8111 joined #perl6
21:03 xabbu42 joined #perl6
21:06 alexm joined #perl6
21:08 molaf joined #perl6
21:16 pugssvn r31823 | Kodi++ | [t/spec] More tests for Instants and Durations.
21:17 lue hello o/
21:17 frettled I see it's time to go to bed, I read «More tests for insomniacs»
21:18 frettled lue: \o/
21:18 * frettled goes back to idling.  If frettled is not idle for the next eith or nine hours, frettled is sleep-ircing.
21:18 jnthn frettled: you passed them ;-)
21:20 colomon jnthn: Sitting here trying to figure out how to start the grant report, looking at an old report of yours where you mention that in the course of your work, Rakudo went from passing 4,000 tests to passing 10,000 tests.  :)
21:21 jnthn colomon: :)
21:22 colomon Funny thing is, were I to use the same sort of comment, we pass many fewer tests now than when I started.  ;)
21:22 jnthn ;)
21:22 jnthn Yes, but IIUC the tests we pass cover more :-)
21:23 colomon that is true.  :)
21:24 lue .oO[ I pass hundreds of tests everyday on my way to a certain .t file I need to edit :) ]
21:25 colomon while I'm taking a quick pause: I think we should extract three of the modules from the Vector package to make independent Math::Vector, Math::Polynomial, and BinarySearch.
21:25 colomon (other names might be better)
21:25 jnthn colomon: In general, I'd say start with a short introduction indicating the grant work has been successfully completed, then explain a little bit for each deliverable to make clear what was done, with some references to blog posts/tests, and then some kind of conclusion about how all of this means Rakudo is a step closer to covering the Perl 6 spec, and that the spec has been straightened out and is better tested now which is an all around win too.
21:26 colomon jnthn: I've already explained the deliverables, it's just the intro and outro which I still have to write.
21:26 jnthn oh, maybe references to some code too if you feel it's appropriate.
21:26 jnthn colomon: Ah, OK. :-)
21:26 colomon hmmm, I hadn't considered code references.
21:27 jnthn colomon: I don't think I've tended to use them extensively.
21:28 colomon back on the Vector stuff for a second -- I have all three of those areas fully passing their tests again.  The remaining tricky bit seems to be the combination (using a vector-valued polynomial versus a NURBS curve) which is making me throw up my hands in frustration.
21:29 jnthn colomon: In terms of trying to work out the right factoring?
21:30 jnthn colomon: For "BinarySearch" maybe Algorithm::BinarySearch (to avoid top-level name)
21:31 colomon jnthn: the problem seems to be that you cannot currently use (say) Vector coefficients in your polynomial without doing "use Vector" in Polynomial.pm.  But if you have to also do that in Nubs.pm, and then you use both Polynomial and Nubs, bad things happen.
21:32 colomon I'll try to come up with a more coherent bug report at some point, but that may be a couple of weeks off yet.
21:32 jnthn *nod*
21:32 jnthn I can certainly believe there are bugs in that area.
21:32 jnthn But I can't think of any known issue that would give you that kind of trouble either.
21:32 colomon at any rate, it's silly to try to include that all as one single package anyway.  Vector and Polynomial can be completely independent, and BinarySearch even more so.
21:33 jnthn Yes, sounds sensible.
21:35 colomon and of course, the easier we make it for people to use them / work on them, the more people are likely to do so.  :)
21:35 jnthn Yes, somebody looking for a binary search impl wouldn't be likely to look in a single Vector package for it. :-)
21:35 colomon exactly.
21:36 colomon jnthn: I keep on being tempted to stick an "areas for future development" section in my grant report.  Smart or dumb?
21:37 jnthn Doesn't that belong in your next grant application? ;-)
21:37 colomon jnthn: maybe.  :)
21:38 jnthn Things phrased as "this opens the door to being able to work on X, Y and Z that we were not in a positoin to before this work" is probably good.
21:38 colomon though done that way it would be kind of scattery: BigInts!  FatRats!  Numeric methods we should have had but left out of the spec!
21:38 jnthn *position
21:38 colomon oooo, clever way of thinking about it.
21:40 colomon okay, that's everything but the conclusion done in first draft, and I should really go cook noms.
21:40 jnthn :-)
21:40 jnthn Enjoy noms.
21:44 ingy joined #perl6
21:45 ingy someone set up us the bomb!
21:46 pragma_ what you say!
21:47 pwd joined #perl6
21:47 dalek nqp-rx: 96bc191 | tene++ | src/NQP/Actions.pm:
21:47 dalek nqp-rx: Set :nsentry on our methods
21:47 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/9​6bc19114a3962c356304c11b20768ef11fe91ba
21:47 lue .oO(Ooh, there's a discussion on radices (radixes? radii?) on p6l! /me interested)
21:49 dolmen joined #perl6
21:56 Patterner joined #perl6
22:05 Ross joined #perl6
22:06 whee joined #perl6
22:12 masonkramer joined #perl6
22:17 alanT joined #perl6
22:18 alanT left #perl6
22:25 ingy morning
22:25 squeeky evening!
22:25 ingy so audreyt cleared the chan eh?
22:25 ingy what else is happening
22:26 squeeky everyone appears to be having happy hour, somewhere.
22:26 ingy yeah!
22:26 * ingy is waking up at 3:30pm
22:26 ingy making coffee
22:26 squeeky "SIR! BEEN AWAKE SINCE THE CRACK OF NOON, SIR!"
22:27 ingy but a cocktail sounds like a fine idea
22:27 ingy is rakudo* busted?
22:27 ingy http://github.com/rakudo/star
22:27 ingy that msg seems onerous
22:29 jnthn ingy: No, the release that went out on Thursday kinda was though :-(
22:29 jnthn But that's OK, Star can use from master. I'd expected that anyway. :-)
22:34 justatheory joined #perl6
22:36 lue what time will R* be released?
22:44 ingy jnthn: there was a release on thurs?
22:44 ingy was the 29th a fake date
22:44 jnthn ingy: Just the Rakudo compiler monthly release
22:44 jnthn Not R*
22:44 ingy ah
22:45 lue .oO(O darn, where is confetti? I only have a few days until R*!)
22:47 whee would it be safe to use rakudo star as an excuse to learn perl 6 or should I expect disappointment? :D
22:48 ingy whee: expect excitement!
22:48 alanT joined #perl6
22:48 lue whee: feel free to use anything as an excuse :)
22:49 ingy whee: http://blogs.perl.org/users/ingy_dot_net/2010​/07/rakudos-really-really-release-ready.html
22:50 * ingy goes off to write a yaml parser for the rakudo star release
22:50 ingy :)
22:50 * jnthn -> rest
22:51 lichtkind joined #perl6
22:51 lichtkind mberends: greets
22:52 whee ingy: awesome
23:00 ingy moritz_: ping
23:00 ingy moritz_: what's this: token value:sym<true> { <sym> };
23:03 Tene ingy: what about it?
23:06 Tene ingy: it's a protoregex
23:06 Tene It's like multiple dispatch for regexes.
23:06 lue afk
23:08 alexm left #perl6
23:09 ingy Tene: can you break it down a little bit for me (or point me at the doc)?
23:10 ingy Tene: I think I found something...
23:11 Tene ingy: I'm glad to break it down.
23:11 Tene Should be documented in S05
23:12 Tene ingy: look for :sym in http://github.com/rakudo/rakudo/​blob/master/src/Perl6/Grammar.pm for examples
23:13 Tene http://github.com/rakudo/rakudo/blo​b/master/src/Perl6/Grammar.pm#L476
23:13 Tene is good
23:14 Tene when another rule uses <statement_prefix>, it checks to see which of those rules it oculd match
23:14 Tene <sym> inside of those those tokens matches the argument given to :sym in the definition
23:14 Tene so statement_prefix:sym<BEGIN> { <sym> <blorst> }; matches 'BEGIN' and then a <blorst>
23:16 Tene the advantage there is that you don't have to do like:
23:16 Tene token foo { <foo_a> | <foo_b> | <foo_v> | <foo_d> <lol> | ... }
23:16 Tene And then have an action method to check each of them and return the ast for whichever it matched
23:17 Tene just define token foo:sym<a>, foo:sym<b>, etc.
23:17 Tene and then just use <foo>
23:17 Tene That was kind of scattered.  Did that end up covering what you needed?
23:32 ingy Tene: thanks!
23:36 ingy Tene: that kinda makes 'sym' a keyword, no?
23:37 ingy rakudo: token sym { 'foo' }
23:37 p6eval rakudo b46a3b: OUTPUT«Useless declaration of has-scoped token in a module; add our or my to install it in the lexpad or namespace␤»
23:37 Tene ingy: Kinda.
23:37 ingy rakudo: grammar X { token sym { 'foo' } }
23:37 p6eval rakudo b46a3b:  ( no output )
23:37 ingy std: grammar X { token sym { 'foo' } }
23:37 p6eval std 31823: OUTPUT«ok 00:01 116m␤»
23:39 ingy or is 'sym' just a convention for some:such?
23:40 Tene I'm not entirely sure how that works, grammatically.
23:40 ingy Tene: what's {}
23:40 ingy as in: '#' {} \N*
23:40 Tene ingy: where do you see that?
23:41 ingy token comment:sym<#> { '#' {} \N*
23:41 Tene Ah.
23:41 ingy }that looks cool
23:41 Tene No idea, actually.
23:42 ingy hmm
23:42 Tene certainly not necessary or related to protoregexes.
23:43 ingy yeah, but I've moved on!
23:43 ingy ;)
23:50 Eddward joined #perl6
23:55 Tene ingy: {} in general just call a closure of Perl 6 code.
23:55 Tene As far as I can tell, in Rakudo right now that really does just call an empty closure that returns Nil
23:55 Tene I have no idea what that's good for.
23:55 Tene But that's what it actually compiles to.
23:56 ingy Tene: awesome. thanks!
23:57 Tene pmichaud: what is {} used for in Rakudo's Grammar.pm?
23:57 Psyche^ joined #perl6

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

Perl 6 | Reference Documentation | Rakudo