Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-06-01

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:07 Transformer joined #perl6
00:08 _buno_ joined #perl6
00:16 pencilk joined #perl6
00:38 snarkyboojum joined #perl6
00:43 envi^home joined #perl6
00:47 snarkyboojum 33k+ passing tests o/
00:47 snarkyboojum congrats to all the busy Perl 6 hacker types :)
01:13 pausenclown joined #perl6
01:26 skids joined #perl6
01:33 Util_ joined #perl6
01:45 Util_ In [S32] Containers.pod, "=head2 Array" contains "=item delete" (method) and "=item :delete" (adverb).
01:45 Util_ In contrast, "=head2 Hash" contains only the adverb form of delete. Shouldn't the delete method also be in Hash?
01:49 agentzh joined #perl6
01:51 pencilk joined #perl6
02:12 [mark] joined #perl6
02:13 snarkyboojum rakudo: my %hash = { 'perl5' => 'perl6', 'foo' => 'bar' }; my %other; map { %other.push: .key, .value }, %hash; say %other.perl
02:13 p6eval rakudo cde6ab: OUTPUT«{}␤»
02:13 snarkyboojum alpha: my %hash = { 'perl5' => 'perl6', 'foo' => 'bar' }; my %other; map { %other.push: .key, .value }, %hash; say %other.perl
02:13 p6eval alpha 30e0ed:  ( no output )
02:25 TiMBuS joined #perl6
02:26 snarkyboojum joined #perl6
02:28 snarkyboojum rakudo: my %hash = { "perl5" => "perl6", "foo" => "bar" }; my %other; map { %other.push: .key, .value }, %hash; say %other.perl
02:28 snarkyboojum \
02:28 p6eval rakudo cde6ab: OUTPUT«{}␤»
02:28 snarkyboojum alpha: my %hash = { "perl5" => "perl6", "foo" => "bar" }; my %other; map { %other.push: .key, .value }, %hash; say %other.perl
02:28 p6eval alpha 30e0ed:  ( no output )
02:29 snarkyboojum that returns {"foo" => "bar", "perl5" => "perl6"} locally (using alpha)
02:29 snarkyboojum and returns {} locally using current master
02:29 snarkyboojum what newbie mistake am I making? :)
02:41 Util snarkyboojum: where you say:
02:41 Util map {...}, %hash;
02:41 Util I think you need:
02:41 Util map {...}, %hash.pairs;
02:41 Util Something else might also be wrong; I don't have a current build at the moment.
02:43 snarkyboojum rakudo: my %hash = { 'perl5' => 'perl6', 'foo' => 'bar' }; my %other; %other.push: %hash.kv; say %other.perl
02:43 p6eval rakudo cde6ab: OUTPUT«{"foo" => "bar", "perl5" => "perl6"}␤»
02:43 tedv| joined #perl6
02:43 snarkyboojum that works, and it's neater
02:43 snarkyboojum but I would have thought the other way would work as well
02:56 snarkyboojum Util: yeah - tried that, but it fails on current master as well
02:56 snarkyboojum but works on alpha
02:56 snarkyboojum not sure if things have changed or master is buggy
02:56 snarkyboojum in that area
02:56 Util but if you make %h mean the same as %h.kv in that situation, then don't you close the door on ever using `map` on *lists* of entire hashes/hashrefs?
02:56 Util my @AoH = map {...} ( %h1, %h2, %h3 );
02:56 snarkyboojum but I think it quite likely that I am buggy :)
02:56 Util (re: "work as well..."
02:57 snarkyboojum Util: I'm not sure I understand
02:58 Util snarkyboojum: more on that in a minute; back to your failing code...
02:58 Util 2nd bug: map in void context does not work. Even though it should not be needed, assign the map to a junk hash.
02:59 snarkyboojum Util: ah sink context
03:01 BrowserUk joined #perl6
03:03 colomon masak++
03:04 atomicstack joined #perl6
03:05 Util snarkyboojum: is anything still unresolved?
03:06 snarkyboojum Util: using map like you suggested works, but I've gone with push and .kv for now
03:06 snarkyboojum for loop using .kv works as well
03:06 Util snarkyboojum: what are you trying to accomplish?
03:06 snarkyboojum rakudo: my %hash = { 'perl5' => 'perl6', 'foo' => 'bar' }; my %other; for %hash.kv -> $k, $v { %other.push: $k, $v }; say %other.perl
03:06 p6eval rakudo cde6ab: OUTPUT«{"foo" => "bar", "perl5" => "perl6"}␤»
03:07 snarkyboojum Util: just adding one hash to another :)
03:09 Util snarkyboojum: do you require `push` to prevent a duplicate key in hash2 from overlaying the value in hash1?
03:09 snarkyboojum this is interesting, from the spec "However, unlike assignment, when a duplicate key is detected, push coerces the colliding entry's value to an array and pushes the Pair's value onto that array"
03:11 snarkyboojum rakudo: my %hash = { 'perl5' => 'perl6', 'foo' => 'bar' }; my %other = { 'perl5' => 'perl5.10'}; %other.push: %hash.kv; say %other.perl
03:11 snarkyboojum pretty neat
03:11 p6eval rakudo cde6ab: OUTPUT«{"foo" => "bar", "perl5" => ["perl5.10", "perl6"]}␤»
03:16 Util snarkyboojum: neat indeed! I just saw the hash push earlier today.
03:17 JimmyZ joined #perl6
03:18 snarkyboojum :)
03:34 snarkyboojum perl6 identi.ca client using HTTP::Client (with an enhancement to do basic authentication), and running on current master :) http://gist.github.com/420530
03:34 snarkyboojum and it works :)
03:41 snarkyboojum does carlins come into #perl6?
03:42 snarkyboojum phenny: .seen carlins
03:42 snarkyboojum .seen carlins
03:42 phenny Sorry, I haven't seen carlins around.
03:42 snarkyboojum .seen jnthn
03:42 phenny snarkyboojum: I last saw jnthn at 2010-05-31 21:02:55 UTC on #perl6
03:42 snarkyboojum I guess not
03:43 snarkyboojum .seen carlin
03:43 phenny Sorry, I haven't seen carlin around.
03:44 snarkyboojum anyway carlin++ for http::client :)
03:44 * snarkyboojum stops talking to himself and goes foraging for lunch
03:47 Util snarkyboojum++ # For real-world Perl 6 code
03:48 * Util sleeps; will backscroll for answers to delete() question.
03:56 meppel joined #perl6
03:56 lue ohai
03:57 molaf joined #perl6
04:21 xinming_ joined #perl6
04:25 snarkyboojum hailue
04:50 [mark] joined #perl6
04:52 lue afk
04:53 [[mark]] joined #perl6
04:59 [[[mark]]] joined #perl6
05:02 plobsing joined #perl6
05:08 redicaps joined #perl6
05:18 pnu joined #perl6
05:19 kaare joined #perl6
05:22 [mark] joined #perl6
05:51 moritz_ good morning
05:51 phenny moritz_: 31 May 22:51Z <pyrimidine> tell moritz_ that there is a partially working .trans implementation (including closures and :d, :s) at http://gist.github.com/420337, but there are issues with regex name mapping.  Also, odd bug with array version mapping (tests with "&nbsp;&lt;&gt;&amp;" string are not parsing).
05:53 moritz_ \o/
06:02 uniejo joined #perl6
06:09 Sarten-X joined #perl6
06:10 clsimons joined #perl6
06:17 clsimons left #perl6
06:20 Su-Shee joined #perl6
06:41 gfx joined #perl6
07:14 ejs joined #perl6
07:17 Su-Shee good morning.
07:20 ejs joined #perl6
07:31 Ross joined #perl6
07:39 eternaleye joined #perl6
07:50 alanhaggai joined #perl6
07:52 masak joined #perl6
07:52 masak oh hai, #perl6
07:55 moritz_ oh hai
07:55 Su-Shee hi M & M ;)
07:57 eternaleye moritz_: I'm working on .trans now, using unpacking for maximum ease
07:57 moritz_ unpacking?
07:58 masak signature unpacking?
07:59 moritz_ I know it's not specced, but I want named arguments to behave just like positional pairs
07:59 moritz_ $str.trans: :a<b> # just like 'a' => 'b';
08:00 moritz_ but that's an easy addition to any sane implementation, I think
08:00 eternaleye Could be done by adding a slurpy hash and iterationg over .pairs - trivial
08:00 eternaleye Should I?
08:00 moritz_ wait a sec
08:00 moritz_ it depends on whether we allow options like /c, /s in Perl 5
08:01 moritz_ that would be done via named arguments => potential clashes
08:11 masak moritz_: not sure I understand your suggestion. if named arguments behave just like positional pairs, does that mean that it's impossible to send a positional pair to a routine?
08:13 moritz_ masak: I was proposing that for .trans only
08:13 masak oh, ok.
08:14 masak I can definitely see that on a sub-to-sub basis, yes.
08:15 masak there was a period where I stubbornly unified pairs and named arguments on the callee-side. I think I've got over that. never wrote a blog post about the pro and cons, though.
08:17 eternaleye Hmm, rakudo barfs on my first attempt with 'unable to find final }' despite all of them being balanced. Hoping tryfile is clearer.
08:17 eternaleye Hm, says it's OK
08:18 eternaleye Oh, wait, premature
08:18 moritz_ eternaleye: it probably means it's a parse error before the closing )
08:18 eternaleye I didn't notice that the 'ok' message was followed by the path to Test.pm6
08:18 eternaleye moritz_: Probably
08:19 eternaleye But if there's an actual error, STD has nice messages
08:19 eternaleye Nope, it checks out. I'll paste it so people can look
08:19 eternaleye http://ix.io/10s
08:20 xinming joined #perl6
08:21 moritz_ uhm
08:22 moritz_ try less at once
08:22 moritz_ comment out some of the blocks
08:22 eternaleye Okay
08:22 moritz_ and see which one causes the parse failure
08:22 moritz_ (and leave out the 'Pair' type constraint before the slurpy... it's probably ignored, or will cause pain)
08:23 masak eternaleye: my guess is that it fails to parse on 'tr/ABC/abc/'.
08:23 masak that's where the line number says it fails, anyway.
08:23 moritz_ oh, right
08:23 masak (yay! line numbers!)
08:23 masak jnthn++
08:23 eternaleye Thanks masak!
08:23 moritz_ and hey, I even wrote that on my blog :-)
08:24 posixninja joined #perl6
08:24 masak eternaleye: and what moritz_ said. treat carefully. I can tell you from experience that taking small steps helps curb the monster in Rakudo.
08:24 moritz_ "To test it without actually having to recompile Rakudo after each change, I recommend to copy the test that Rakudo can parse (ie the method tests, not the tests for tr///),..."
08:24 eternaleye moritz_: I got the first part, but my eyes must have skipped the parens :/
08:27 moritz_ http://moritz.faui2k3.org/tmp/book.pdf # now with an index, and link in the table of contents
08:28 moritz_ we should make a release soonish
08:28 eternaleye Hm now it dies with 'too many positional arguments: 4 passed, 3 expected' and any debugging prints in the method are never executed.
08:29 moritz_ eek
08:29 moritz_ it might be interfering with parrot's .trans method
08:29 moritz_ eternaleye: does it stay the same if you add a 'multi' before the method?
08:30 masak why is Parrot's .trans method even visible on the Rakudo layer?
08:30 eternaleye Yes
08:30 dalek book: ce53208 | (Ralf Valerien)++ |  (2 files):
08:30 dalek book: Implement links and index generation
08:30 dalek book: Signed-off-by: Moritz Lenz <moritz@faui2k3.org>
08:30 dalek book: review: http://github.com/perl6/book/commit/ce​53208e643e0987582dc511ed0c28458e1230ec
08:30 eternaleye Multi has no effect
08:30 eternaleye s/M/m/
08:30 moritz_ eternaleye: then for now re-name the method to .trans2 (and also change the tests)
08:31 eternaleye Okay
08:31 moritz_ we'll investigate later what's the problem and how to fix it
08:32 eternaleye Ewww, parrot leakage: 'Method 'trans2' not found for invocant of class 'Perl6Str''
08:34 eternaleye I really like signature unpacking in when clauses though. REALLY nice.
08:34 mathw I've yet to use it, but I think it's awesome
08:35 mathw It's almost like being a Haskell programmer again
08:38 moritz_ eternaleye: when I rename the method to trans2, it's called just fine (though it gives a Null PMC access)
08:38 dakkar joined #perl6
08:38 eternaleye Although, it's probably tidier to use Pair[Array,Str] than Pair ( Array $key, Str $value )
08:39 eternaleye moritz_: Hmm, maybe my rakudo is old
08:39 moritz_ eternaleye: that would make a difference
08:39 moritz_ eternaleye: I highly recommend to upgrade to latest rakudo development version... those new stack traces make life much easier
08:40 eternaleye moritz_: running configure.pl now. I had a git checkout, it was just old
08:40 eternaleye Since I didn't want to wait for it to build before I started hacking :3
08:40 moritz_ :-)
08:41 mathw unfortunately rakudo's moving so fast that you really do have to be up to date
08:41 moritz_ fortunately it's moving so fast that it's well worth being up to date :-)
08:42 eternaleye moritz_: Thoughts on which phrasing for the when clauses? One is smaller, one is more explicit
08:43 moritz_ eternaleye: I don't think Pair[Array, Str] works
08:43 moritz_ because Pair is not a parametric type
08:44 eternaleye Huh, thought it was for some reason
08:45 moritz_ rakudo: my ($key, $value);  given a => 3 { when :( Pair ( Str $key, $value ) ) { say $key } } }
08:45 p6eval rakudo cde6ab: OUTPUT«===SORRY!===␤Confused at line 11, near "}"␤»
08:45 moritz_ rakudo: my ($key, $value);  given a => 3 { when :( Pair ( Str $key, $value ) ) { say $key } }
08:45 p6eval rakudo cde6ab:  ( no output )
08:46 clintongormley joined #perl6
08:47 mathw moritz_: oh yes, moving fast is, ultimately, good
08:47 mathw especially when it gets us Perl 6 stack traces!
08:47 moritz_ eternaleye: actually on latest parrot it seems to work with naming it 'trans' too, no 'trans2' rename required
08:48 eternaleye moritz_: cool, thanks
08:49 eternaleye rakudo:  given a => 3 { when :( Pair ( Str $key, $value ) ) { say $key } }
08:49 p6eval rakudo cde6ab: OUTPUT«===SORRY!===␤Symbol '$key' not predeclared in <anonymous>␤»
08:49 eternaleye Hm
08:49 eternaleye rakudo: given a => 3 { when :( Pair ( Str :key, :value ) ) { say $key } }
08:49 p6eval rakudo cde6ab: OUTPUT«===SORRY!===␤traits specified as colon pairs not yet understood at line 11, near ", :value )"␤»
08:50 eternaleye rakudo: given a => 3 { when :( Pair ( Str :key($), :value($) ) ) { say $key } }
08:50 p6eval rakudo cde6ab: OUTPUT«===SORRY!===␤Symbol '$key' not predeclared in <anonymous>␤»
08:50 eternaleye rakudo: given a => 3 { when :( Pair ( Str :key($), :value($) ) ) { say 'Yep!' } }
08:50 p6eval rakudo cde6ab:  ( no output )
08:50 eternaleye rakudo: given a => 3 { when :( Pair ( Str :key($), :value($) ) ) { say .key } }
08:50 p6eval rakudo cde6ab:  ( no output )
08:51 eternaleye rakudo: given a => 3 { when :( Pair ( Str $key, $value ) ) { say .key } }
08:51 p6eval rakudo cde6ab:  ( no output )
08:54 moritz_ rakudo: multi sub a( Pair (Str $key, $value)) { say "$key: $value" }; a 'a' => 3
08:54 p6eval rakudo cde6ab: OUTPUT«No applicable candidates found to dispatch to for 'a'. Available candidates are:␤:(Pair  (Str $key, Mu $value))␤␤  in main program body at line 11:/tmp/UiUR01Vab6␤»
08:54 moritz_ rakudo: multi sub a( Pair ($key, $value)) { say "$key: $value" }; a 'a' => 3
08:54 p6eval rakudo cde6ab: OUTPUT«No applicable candidates found to dispatch to for 'a'. Available candidates are:␤:(Pair  (Mu $key, Mu $value))␤␤  in main program body at line 11:/tmp/380MIbFT8J␤»
08:54 moritz_ what's wrong?
08:54 eternaleye rakudo: multi sub a( Pair (Str $key, $value)) { say "$key: $value" }; a( 'a' => 3 )
08:54 p6eval rakudo cde6ab: OUTPUT«No applicable candidates found to dispatch to for 'a'. Available candidates are:␤:(Pair  (Str $key, Mu $value))␤␤  in main program body at line 11:/tmp/uVPdxzydYG␤»
08:54 moritz_ rakudo: say ('a' => 3).key
08:54 p6eval rakudo cde6ab: OUTPUT«a␤»
08:54 moritz_ rakudo: say ('a' => 3).value
08:55 p6eval rakudo cde6ab: OUTPUT«3␤»
08:55 moritz_ jnthn: bug? (the dispatch above)
08:55 moritz_ or moritzbug? :-)
09:04 masak looks like a rakudobug.
09:13 eternaleye The null PMC access is in the first when clause
09:14 eternaleye Oh, it had a line number. I added debugging prints, and _then_ I notice that.
09:20 masak rakudo: grammar G { regex TOP { ^ [\{ <foo> \}]* $ }; regex foo { \[+ || \[+ \]+ } }; say ?G.parse(q<{[[}>); say ?G.parse(q<{[[]]}>)
09:20 p6eval rakudo cde6ab: OUTPUT«1␤0␤»
09:21 masak it's this bug: http://rt.perl.org/rt3/Tic​ket/Display.html?id=73608
09:21 moritz_ agreed
09:22 masak it's currently impacting Form.pm.
09:23 moritz_ in this easy example it's simple to work around
09:23 moritz_ but probably not in the general case
09:26 masak would be quite fun to fix, I think. has bkeeler or someone else attempted it and found it hard?
09:26 moritz_ I know of no such attempt
09:26 masak good. then it might actually be doable :)
09:30 Lorn joined #perl6
09:41 christine joined #perl6
09:57 frettled joined #perl6
09:57 frettled Hiho.
09:58 moritz_ helo
09:59 masak ehlo
09:59 masak syn syn ack ack
10:00 frettled I have one of my probably stupid questions again.
10:01 frettled It's about object-oriented programming :D
10:01 moritz_ shoot
10:01 masak question.shoot
10:01 moritz_ frettled.shoot(question)
10:02 mathw $frettled.ask($question, :of($hash-perl6));
10:02 frettled In Simula, great mother of OOP, there is a piece of semantic sugar called INSPECT, which essentially creates a block to avoid dotting your way into an object chain.
10:02 masak Frettled.new(:OO<curious)).sh​oot(Question.new(:about<OO>))
10:02 frettled heh
10:02 mathw masak: now it's starting to look like Java
10:02 moritz_ like 'given' in Perl 6
10:02 masak mathw: I blame $day-job interference :)
10:03 masak frettled: also http://en.wikipedia.org/wiki/Law_of_Demeter
10:03 moritz_ hey, we could wait until frettled++ actually asked his question :-)
10:03 frettled Heh
10:04 mathw yeah that might be good
10:04 masak where's the fun in that? :)
10:04 mathw well it's distracting me from being angry, so...
10:04 masak if frettled cared about his question, he'd have asked it already :P
10:05 frettled So, let's say that you have an object reference vehicle, which holds a reference to car, which holds a reference to van, and you want to call van's drive() subroutine.
10:05 frettled You typically do: vehicle.car.van.drive();
10:05 frettled In Simula, we'd write:
10:05 frettled (pseudo-codish)
10:05 frettled INSPECT vehicle.car.van DO
10:05 frettled BEGIN
10:05 frettled drive;
10:05 masak that's given.
10:05 frettled END;
10:05 masak as moritz_++ said.
10:06 moritz_ given $vehicle.car.van { .drive };
10:06 frettled Thanks :)
10:06 masak or even .drive given $vehicle.car.van;
10:06 frettled The question was stupid, but the answer was easy. Phew.
10:07 frettled I'll lunch on that!
10:07 moritz_ masak: if it's just one statement, there's no need to use given at all
10:07 masak moritz_: s/statement/use of $_/
10:07 moritz_ except for poetry, maybe
10:09 masak the old Temporal.pm had a nice line which showed this.
10:09 masak return sprintf '%04d-%02d-%02d', .year, .month, .day given self;
10:10 masak (except mberends++ thought that this was too terse and wrote it with the block form instead :)
10:10 moritz_ return sprintf '%04d-%02d-%02d', $.year, $.month, $.day; # not bad either
10:10 masak troo
10:12 masak I'm nuking the buf branch on github now, and creating a new one which branches off of today's master. downstreamers, you have been warned.
10:13 jnthn morning
10:13 masak jnthn! \o/
10:13 jnthn masak! \o/
10:13 mathw jnthn!
10:14 jnthn Hur står det till?
10:14 mathw masak++ nailed down my problem with Form.pm to a known bug! Isn't he great!
10:14 jnthn o/ mathw
10:14 jnthn Yay!
10:14 jnthn masak++
10:14 jnthn Which bug?
10:14 masak http://rt.perl.org/rt3/Tic​ket/Display.html?id=73608
10:14 moritz_ backtracking
10:14 moritz_ into named rules
10:15 jnthn Eww.
10:16 masak & # sushi!
10:16 jnthn Eww. ;-)
10:27 cognominal \o
10:29 jnthn o/
10:29 ejs joined #perl6
10:32 pmurias joined #perl6
10:39 azert0x joined #perl6
10:40 snarkyboojum joined #perl6
10:43 ejs joined #perl6
10:53 colomon joined #perl6
11:06 gbacon joined #perl6
11:53 masak CFP for YAPC::EU ends in two weeks. who else here is planning to be a speaker at YAPC::EU in Pisa?
12:05 bluescreen joined #perl6
12:10 takadonet joined #perl6
12:10 takadonet morning all
12:12 masak takadonet: \o
12:14 mberends masak: oh, yes, I'd better find a YAPC:EU talk topic. proto, maybe.
12:14 masak oh wow.
12:15 mberends (at least it would not be a talk about "failure")
12:15 masak :)
12:16 mberends yes, I like. The Perl 6 ecosystem, I mean.
12:16 snarkyboojum joined #perl6
12:16 jnthn masak: I submitted already two talks for the YAPC::EU
12:16 jnthn masak: I'll be there from Monday
12:16 jnthn masak: Leaving Saturday
12:16 * mathw sighs and wonders again if he can manage to go
12:16 masak good to know. I'll look into tickets soon.
12:19 proller joined #perl6
12:26 pugssvn r31034 | colomon++ | [t/spec] Tests for mixed hash / scalar hypers.
12:27 moritz_ random useless statistics: we have commits from 228 different accounts in the test suite
12:27 moritz_ colomon++ is 6th in the ranking of commit counts
12:27 * colomon blushes
12:27 mathw cool
12:27 mathw I don't seem to have the mindset for tests
12:28 colomon I'm kind of surprised by that, the test spec is huge and I'm a relative late-comer to it.
12:28 moritz_ it's all a matter of motivation and practise
12:28 mathw colomon: you've made up for your lateness with a steady stream of commits
12:28 mathw I'd suspect most of those 228 are fairly inactive
12:28 moritz_ colomon: still you made 368 commits
12:28 mathw including mine
12:29 moritz_ 14 committers made at least 100 commits
12:29 dalek rakudo: 18d9960 | (Solomon Foster)++ | src/core/metaops.pm:
12:29 dalek rakudo: Add mixed hash / scalar hypers.
12:29 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​8d99603b2e546702ebe7ff6133b63d3f17e83f8
12:29 moritz_ (masak++ needs 7 more to make it into that list)
12:29 colomon btw, I think the next spectest landmark to be looking for is 40,000 total tests.  :)
12:30 colomon we only need to write 248 new tests to make it happen.
12:30 tao_ joined #perl6
12:30 tao_ hi
12:30 colomon o/
12:30 masak \o
12:30 moritz_ colomon: I'm pretty sure we have >40k already
12:30 tao_ why rakudo is better then pugs?
12:30 moritz_ colomon: they are just not properly counted yet
12:31 tao_ in terms of perl6
12:31 masak tao_: it's more actively developed.
12:31 moritz_ tao_: pugs hasn't bee devleoped for a few years
12:31 moritz_ so it lacks behind the spec quite a bit
12:31 masak tao_: it's further along in most respects.
12:31 colomon moritz_: probably.  then it should be really easy, right?  ;)
12:31 tao_ hmm
12:31 tao_ i see
12:31 tao_ thanks
12:32 masak tao_: are you thinking of writing something for Rakudo?
12:34 tao_ no
12:35 tao_ i was thinking of writing something for pugs
12:35 tao_ well
12:35 tao_ i mean
12:35 tao_ something in perl6
12:35 tao_ and run in with pugs
12:35 moritz_ well, it's a stable platform
12:35 masak :)
12:35 moritz_ with all the advantages and pitfalls it implies
12:35 masak tao_: if you do, we'll be happy to provide tips and answer questions here on #perl6.
12:35 [Coke] bwahahaha. I have managed to volunter to release both parrot & rakudo in July.
12:36 colomon [Coke]++
12:36 masak [Coke]: that's the perfect time to sneak a trojan into the system! :D
12:36 [Coke] it was not intentional, colomon. =-)
12:36 moritz_ [Coke]: have the appropriate amount of fun
12:36 JimmyZ joined #perl6
12:36 * [Coke] hopes that's not a bad $DAYJOB week. =-)
12:37 moritz_ [Coke]: if you find another volunteer for rakudo, I'm sure nobody will be upset if you swap months
12:37 colomon ah, true, releasing rakudo was a major effort, even though everything was completely straightforward.
12:38 colomon moritz_, masak, jnthn, etc: I don't think the letter of the spec mentions it, but I think the spirit of the spec suggests that nested hypers should include hashes as well.
12:38 colomon It doesn't seem like it would be too hard to implement.
12:39 masak colomon: you should try releasing Rakudo in a foreign country, *without a battery charger for your laptop*! :P
12:39 colomon Thoughts?  Objections?
12:39 masak colomon: yes, probably.
12:39 jnthn colomon: Probably, yes.
12:39 colomon masak: no thanks, I prefer what little sanity I have left.
12:39 masak colomon: because hashes can easily behave as a kind of list.
12:39 moritz_ colomon: yes. Tormenting the implementor and user on behalf of TimToady's evil laughter, and so on :-)
12:40 colomon masak: well, and lists can contain hashes.
12:40 * masak has never heard TimToady's evil laughter
12:40 jnthn colomon: The best bit about that release was that I just sat and watched masak do it while sipping on a beer. ;-)
12:40 masak colomon: right.
12:40 colomon jnthn: awesome.  :)
12:40 masak jnthn: :D
12:40 moritz_ masak: neither have I :-)
12:40 jnthn riga++
12:40 masak hugme: hug Riga
12:40 * hugme hugs Riga
12:41 * colomon is looking forward to hearing TimToady's evil laughter in person later this month.  :)
12:41 colomon okay, I'll try to make nested hashes work later today or tomorrow.  Unless someone beats me to it...  ;)
12:42 * masak .oO( we should have a bot that collects '...unless someone beats me to it' tasks )
12:42 jnthn .oO( ...and then the bot beats them to it )
12:42 [Coke] I'll do it. Unless someone beats me to it.
12:42 masak we could call it 'beatsme' :P
12:43 jnthn :D
12:43 moritz_ masak: I could write a data mining bot connected to the IRC log database
12:43 moritz_ but currently Rakudo + book hacking have much higher priority
12:43 moritz_ and community hacking, I might add
12:43 masak moritz_: well, I was thinking more in terms of real-time data. and people could query for still-open beatsme tasks.
12:44 jnthn BTW, #rs tonight?
12:44 * [Coke] has too much queueing up on his rakudo&parrot&partcl lists.
12:44 jnthn er, #phasers, that is
12:44 ruoso joined #perl6
12:44 masak dang.
12:44 moritz_ jnthn: I'll miss #phasers today
12:44 * masak makes his pre-report in #phasers instead :)
12:44 [Coke] jnthn: thanks for the parrot fixes last week.
12:44 jnthn masak: Yeah, just fire it in there. :-)
12:44 mathw witty
12:44 mathw very witty
12:44 masak :P
12:45 jnthn mathw: So shoot me.
12:45 jnthn [Coke]: Yeah, we actually have useful backtraces now with those. ;-)
12:45 jnthn [Coke]: Hopefully they help @other too.
12:45 [Coke] jnthn++
12:45 mathw It's almost worth becoming more entangled in Rakudo just to have an excuse to hang around in a channel with such a name
12:45 mathw Is that the intention?
12:45 mathw :)
12:45 colomon I'll miss #phasers too.
12:48 jnthn I like how you're exchanging one light-emitting thingy for another. ;-)
12:49 * moritz_ currently researches 4-state phase regeneration for $work
12:49 colomon ;)
12:52 * mathw is currently manipulating the giant finger of blame into position
12:57 masonkramer joined #perl6
13:00 masak wonder if there's a book out there on the topic "Programming Languages and the cultures they've created around themselves".
13:01 * jnthn wishes he'd stop writing ... ? ... ! ... instead of ? ... : in C#
13:02 moritz_ :-)
13:03 masak jnthn: it makes much more sense, doesn't it? and there's no ambiguity either, since the ! in ?! would be in operator position, as opposed to the prefix operator.
13:03 mathw masak: maybe you could write an article on the Perl 6 culture
13:03 mathw Or there should be a chapter in the Book
13:04 mathw I seem to recall something about Perl culture in the camel book
13:04 jnthn masak: Yes, especially as ? and ! has a very boolean-ish feel.
13:04 moritz_ what kind of things would you expect there?
13:05 masak the ?: ternary operator seems to have been born along with BCPL. if so, it's 34 years old.
13:05 mathw yay! another thing that's older than me!
13:06 masak moritz_: I don't know, it's probably not things that can be empirically measured. but I feel that different programming languages seem to attract different types of people, and to shape them differently.
13:06 mathw masak: definitely
13:06 arnsholt IIRC the Camel book talks a bit about TMTOWTDI, and Perl poetry
13:07 arnsholt Maybe golf as well
13:07 mathw definitely talks about TMTOWTDI and poetry
13:07 mathw there's even a poem in it
13:07 arnsholt Yep
13:08 mathw masak: it might be interesting to study the communities around other languages and see if they're as crazy as this one
13:08 rgrau joined #perl6
13:08 masak mathw: some of them probably are. the Ruby community seems to have a lot of fun, for example.
13:10 masak I think much of the warmth of this channel is a function of there being a core of regulars who know each other well by now. dilute it with 10x as many newbies, and much of the warmth might go away.
13:11 jnthn masak: Depends if it happened slowly enough for the warmth to be adopted by the new arrivals.
13:11 masak jnthn: to some extent, yes.
13:11 jnthn masak: If we suddenly got 10x as many people all in one go though, yes, that'd make things quite different.
13:11 mathw we'd probably end up retreating to the bunker
13:11 jnthn .oO( #bunker )
13:12 mathw and loading up the perimeter defences with onions
13:12 moritz_ I hope that the R* release will give us a taste of the future, in that respect
13:12 masak jnthn: seems #bunker is a protected channel. figures :P
13:13 jnthn lol
13:13 masak but even in the absence of direct trolling, managing a larger set of active users most of whom are newbies will lead to a different tone in here. even if the growth to that point was slow.
13:13 mathw definitely
13:13 ejs joined #perl6
13:14 plobsing joined #perl6
13:15 [Coke] #perl6-n00bs
13:15 * moritz_ hopes for a high percentage of quickly adapting newbies :-)
13:19 Su-Shee joined #perl6
13:19 kfo_ joined #perl6
13:25 [Coke] joined #perl6
13:26 skids joined #perl6
13:37 kaare joined #perl6
13:42 gbacon joined #perl6
13:50 rv2733 joined #perl6
13:52 masak joined #perl6
13:53 masak perhaps someone in here speaks Spanish and wants to write a good reply here? http://perlenespanol.com/foro/perl-6-t5150.html -- Google Translate helps me understand what it says, but would probably produce embarrassingly bad Spanish out of my English.
13:56 moritz_ lol, google translate: "Perl 6" -> "Perl June"
13:56 moritz_ when I translate into English
13:56 moritz_ it leaves it as a 6 in German
13:56 mathw translation software is fun
13:57 [Coke] notfound on #parrot is a native spanish speaker, I think.
13:58 mathw \o/ international community
13:58 moritz_ Kaik is just asking for news in general. Posting a link to planetsix might be a good idea
13:58 dhoss joined #perl6
13:58 ejs joined #perl6
14:01 JimmyZ joined #perl6
14:06 frew joined #perl6
14:07 frew left #perl6
14:23 masak apart from line autochomping, is Perl 6 spec'd to do any translation between platform-dependent newlines externally and the "\n" character internally?
14:24 moritz_ I think so
14:24 jnthn I think \n is meant to be a "logical" newline.
14:24 jnthn We're getting something wrong somewhere in that space though.
14:26 masak this question is arguably part of my GSoC grant :)
14:26 jnthn ('cus I get some test fails on Win32 as a result...)
14:26 jnthn Oh cool
14:26 jnthn I don't have to find and fix 'em then. ;-)
14:27 jnthn masak: srsly though, there is something working Not Quite Right in that area, and spec'ing it clearly if it ain't already would go some way to help with getting the right fix.
14:27 Su-Shee mberends: I'll go home in half an hour and will later do cleanup and start fetchrowall_whateverref.
14:27 jnthn Su-Shee++
14:27 masak jnthn: duly noted.
14:28 moritz_ the default input mode should convert CRLF, LF, CR and LFCR all to a single \n
14:31 masak is that explicit in the spec, or is it a case of "Perl 5 does it, so Perl 6 does it"?
14:31 moritz_ I think "\n is a logical newline" is in the spec
14:32 masak the phrase 'logical newline' occurs in S05, but not in (say) S02.
14:33 moritz_ S32::IO would be more interesting
14:34 * masak chuckles
14:34 masak S32::IO is... underspecified.
14:34 moritz_ and {under,over}engineered
14:35 moritz_ just add another named option to open() :-)
14:35 masak it's almost as if it were written by a large number of authors over a long time, with little or no coherence and coordination.
14:37 arnsholt ORLY? =D
14:38 jnthn masak: The commit log may just support you in that statement. ;-)
14:38 moritz_ or experience, for that matter
14:38 masak arnsholt: YA RLY
14:38 arnsholt NOWAI! ^^
14:41 linguist joined #perl6
14:44 frooh joined #perl6
14:45 linguist left #perl6
15:03 jaffa4 joined #perl6
15:05 alester joined #perl6
15:15 moritz_ norway?
15:21 ejs joined #perl6
15:24 clintongormley joined #perl6
15:35 Ross joined #perl6
15:35 ejs joined #perl6
15:44 rindolf joined #perl6
15:44 rindolf Good morning, Perl sixters!
15:44 moritz_ good day
15:44 moritz_ I closed an RT ticket of yours yesterday, if I remember correctly
15:45 Ross joined #perl6
15:45 moritz_ jnthn++ gets the credit though :-)
15:47 masak time to make noms. Yapsi release later tonight. :)
15:47 masak have a good #phaser meeting, you folks.
15:47 Su-Shee food. indeed. garlic-cream-soup.
15:48 dalek yapsi: 7208eb8 | masak++ | logotype/ (2 files):
15:48 dalek yapsi: [logotype] added
15:48 dalek yapsi: review: http://github.com/masak/yapsi/commit/72​08eb82fc8e1c95310541cf2bde6cbc33656051
15:57 ejs joined #perl6
16:03 hercynium joined #perl6
16:06 justatheory joined #perl6
16:09 * TimToady is back home, with a relatively non-flakey network connection o/
16:09 * TimToady thinks the bogosort is sweet!
16:10 Schwern joined #perl6
16:11 moritz_ \o/
16:11 rindolf moritz_: yes, I saw it, I think.
16:11 rindolf Hi TimToady
16:12 diakopter yip yip
16:14 Ross joined #perl6
16:19 patrickas joined #perl6
16:20 patrickas saba7o perlsixers
16:20 phenny patrickas: 31 May 22:26Z <[Coke]> tell patrickas to check the advent tests in t/spec/integration
16:20 patrickas [Coke]: that's where I am adding the missing tests I am finding :-)
16:24 Schwern joined #perl6
16:25 [Coke] patrickas: awesome.
16:25 pmurias joined #perl6
16:25 pmurias ruoso: hi
16:26 rindolf patrickas: what is this 7? Is it an Arabic letter?
16:26 patrickas [Coke]: I am also trying to have comments for the other way around places where the actual advent posts are wrong but rakudo is right
16:27 patrickas rindolf: yes :-) 7 looks like the arabic letter ha'
16:27 rindolf patrickas: ah.
16:28 cdarroch joined #perl6
16:28 cdarroch joined #perl6
16:28 patrickas ?
16:29 patrickas That did not turn out right :-)
16:29 rindolf patrickas: I see.
16:29 rindolf http://en.wikipedia.org/wi​ki/Romanization_of_Arabic
16:29 meppl joined #perl6
16:30 TimToady ح
16:31 TimToady .u ح
16:31 phenny U+062D ARABIC LETTER HAH (ح)
16:31 patrickas that's the missing letter :-)
16:32 patrickas It seems to be one of the hardest letter to pronounce for non natives
16:33 rindolf .u ח
16:33 phenny U+05D7 HEBREW LETTER HET (ח)
16:34 rindolf .u þ
16:34 phenny U+00FE LATIN SMALL LETTER THORN (þ)
16:34 patrickas rindolf: I don't think that's the equivalent hebrew letter...
16:34 rindolf .u Þ
16:34 phenny U+00DE LATIN CAPITAL LETTER THORN (Þ)
16:34 rindolf patrickas: actually, it is.
16:35 rindolf patrickas: כ is like ﺥ when not stressed.
16:35 patspam joined #perl6
16:35 rindolf patrickas: but many Hebrew speakers pronounce כ like ح
16:35 Schwern joined #perl6
16:36 patrickas oh! The think is I always hear the hebrew speakers pronouncing the HAH like a KHAH
16:36 patrickas s/think/thing/
16:37 patrickas or maybe just the ones on tv :-)
16:40 rindolf Well we pronounce them both as ﺥ
16:43 patrickas do you know why? has it always been like this? or did the pronounciation change with time ?
16:47 rindolf patrickas: well, it's part of the modern Hebrew pronunciation.
16:47 rindolf patrickas: it wasn't always like that. At least not officially.
17:03 justatheory joined #perl6
17:04 patrickas rakudo:  .fmt("%b").trans("01" => " #").say for <7340430545089676473904694161​44647854399310>.comb(/.**7/)
17:04 p6eval rakudo 18d996: OUTPUT«too few positional arguments: 2 passed, 3 (or more) expected␤  in main program body at line 11:/tmp/IA76nrJre2␤»
17:05 patrickas I suppose this will be fixed after this week's challenge
17:11 jaldhar joined #perl6
17:16 pugssvn r31035 | patrickas++ | Added partial test for the one liner at the end of the post.
17:19 awwaiid meta question: I see "has $!foo ..." in some perl6 code. where would I go to figure out what the ! in $! means?
17:20 TimToady you'd look in the index for twigils, '!'
17:20 awwaiid the index of the book I'll have, eh?
17:20 jnthn awwaiid: Or WITCH - http://www.perlfoundation.​org/perl6/index.cgi?witch
17:20 TimToady 'd is subjunctive, which is (potentially) counterfactual  :)
17:21 awwaiid so once I figure this out, I should put it in http://svn.pugscode.org/pugs/doc​s/u4x/documentation/twigils.pod ? :)
17:21 jnthn I'm sure contributions to u4x are most welcome. :-)
17:22 awwaiid this wiki guide is pretty handy lookin, thanks jnthn
17:22 patrickas you'd still need to know it's a twigle though for the guide to be useful in that case
17:22 TimToady rakudo: $!foo
17:22 p6eval rakudo 18d996: OUTPUT«Lexical 'self' not found␤  in main program body at line 1:/tmp/sUVDkFpEqh␤»
17:23 jnthn std: $!foo
17:23 p6eval std 31034: OUTPUT«ok 00:01 111m␤»
17:23 TimToady was hoping rakudo would give a better semantic error
17:23 jnthn We probably can.
17:23 jnthn rakudo: has $!foo;
17:23 p6eval rakudo 18d996: OUTPUT«===SORRY!===␤You can not add an attribute to a module; use a class or role␤»
17:23 jnthn Aha
17:23 jnthn We give a good one there.
17:23 jnthn std: has $!foo;
17:23 p6eval std 31034: OUTPUT«ok 00:01 111m␤»
17:23 jnthn Semantic I guess. :-)
17:24 awwaiid patrickas, actually it talks about non-twigle usages too
17:24 lichtkind joined #perl6
17:25 Chillance joined #perl6
17:25 patrickas awwaiid: I meant since it talks about all te usages of the ! it would not have been obvious which one was the usage you are looking for without knowing its name
17:25 TimToady and its name isn't twigle  :)
17:26 awwaiid ah yes
17:26 patrickas hehehe incremental search would have made it good enough :-)
17:26 TimToady twigil rhymes with sigil, and I pronoune it with a 'j' sound
17:26 awwaiid like twijil? fascinating
17:27 TimToady I also pronounce pronoune with a 'c'  :)
17:27 mikehh joined #perl6
17:27 patrickas :-D good comeback
17:28 TimToady yes, incremental search would have helped you twig to it
17:28 arnsholt TimToady: But with 'j' do you mean a palatal approximant, or a post-alveolar fricative? =)
17:29 patrickas I hate how I have no idea how to pronounce half of the technical terms because I always read them and never hear them
17:29 Schwern joined #perl6
17:29 TimToady I mean voiced alveolar affricative, or any reasonble facsimile accepted by the typical English speaker as the /j/ phoneme :)
17:30 TimToady I guess that's usually shortened to "affricate"
17:30 arnsholt Isn't an affricate something like 'ts'?
17:31 arnsholt Two consonants that are one phoneme
17:31 huf patrickas: i read them in whatever strange mix my "internal language" is... and then teach people what i mean when they look at me strange ;)
17:31 TimToady that would be an unvoiced dental affricate, yes
17:31 TimToady well, [ts] can be one or two phonemes
17:32 TimToady see 'prince' vs 'prints'
17:32 TimToady and now we're in the realm of morphophonemics :)
17:32 arnsholt Hooray!
17:33 lichtkind mberends: hai
17:33 huf prince has [ts]?
17:33 Su-Shee patrickas: *haha* me too. and another half is pronounced in my native tongue or .. french :)
17:34 mberends hai lichtkind!
17:35 TimToady huff: yes, you can't help it, because your tongue is already in the 't' position while you're saying the 'n'
17:35 * Su-Shee puts some chocolate between the tongue and the t.
17:36 slavik TimToady: gotta ask, have you studied esperanto?
17:36 TimToady and you need the air pressure of the stop to turn off your voicing, or you'd end up saying [nz]
17:37 patrickas I think I have been pronouncing Sigil with a hard g in my head for over a decade :-(
17:37 TimToady slavik: nope
17:37 slavik авв
17:38 slavik aww
17:38 arnsholt Our local esperantist is masak
17:38 TimToady well, most dictionaries allow both pronunciations
17:38 Su-Shee patrickas: me too.
17:38 slavik forgot to switch from cyrilic ...
17:38 TimToady but I think they tend to prefer the /j/
17:39 slavik ooh, here's another one ... 'often' is the letter 't' supposed to be pronounced? when I was taught english, I was told it was silent (british english), but in US just about everyone pronounces it.
17:39 TimToady slavik: I thought I'd try a non-indo-european language, and esperanto is basically indo-european
17:39 patrickas ok then I think i'll head-pronounce twigil with a hard g too :-)
17:39 TimToady so I'm studying Japanese instead
17:39 slavik I see
17:39 arnsholt I think some pronounce the t, but IIRC it's actually hyper-correct
17:39 slavik japanese is interesting
17:39 arnsholt (re: often)
17:39 slavik since there is no proper future tense ...
17:40 huf hmm, what are the ipa symbols (and the names) for the two t-s?
17:40 jnthn slavik: I speak British-ish English and the "t" is pretty much not said unless you're speaking posh.:-)
17:40 jnthn Not in fast/colloquial speech and especially not in the dialect spoken where I grew up, where even the "t" in "water" was often done away with. :-)
17:40 huf ah, wiki claims they're just variants
17:41 slavik I want to date a hot british chick :D
17:41 TimToady slavik: but the time adverbials usually come first, so you usually know it's future before you ever get to the verb, which is generally last
17:42 TimToady "Tomorrow I go to the store"
17:42 slavik TimToady: right
17:42 slavik TimToady: but there is no future indefinite? as in sometime in the future I will go to the store
17:43 TimToady there's certainly no "someday I will have gone to the store"  :)
17:43 jnthn slavik: Heh, curious. s/british/slavic/ for me. ;-)
17:44 Su-Shee that's to called "slacker's future" ;)
17:44 diakopter future perfect?
17:45 patrickas ford prefect!
17:45 arnsholt Mmmm, future perfect. Brings back memories from reading Latin
17:45 rindolf I will have gone
17:45 TimToady yes, and Greek has it to, and yes, it can be made into a theological point with "what you bind on earth will have been bound in heaven" :0
17:45 slavik yeah, when I was learning enlish as a wee lad, we were taught all the tenses and such
17:46 slavik I think there are 12 of them?
17:46 TimToady I never counted
17:46 slavik needs to say, english class in US is horribly lacking IMO
17:46 jnthn 12 sounds familiar.
17:46 slavik we got up to like 5 or 6 or something
17:46 slavik and we were tested on them, too.
17:46 slavik as in say <blah> in such and such tense and such
17:46 arnsholt But half of those twelve are perifrastic or with modal verbs, no?
17:47 slavik something like that
17:47 arnsholt Like the perfect "I have gone"
17:47 TimToady and, of course, many of the distictions are aspectual, not specifically past/present/future
17:47 TimToady *stinct
17:47 arnsholt Not really a proper tense like "I went" =)
17:47 TimToady well, for instance, "I go" is not really present tense
17:47 huf yeah, you indo-europeans like to mix in weird concepts
17:47 TimToady "I am going" is really the present form
17:48 arnsholt Yeah, the present tense is a more complicated category than many think
17:48 TimToady "I go" is more timeless
17:48 arnsholt Another favourite of mine is "I smoke"
17:48 TimToady and in that sense, "I am going" is also the typical future!
17:49 snarkyboojum joined #perl6
17:49 TimToady so in that sense English is like Japanese
17:49 arnsholt Indeed, it's more of an imperfective aspect than a present tense
17:49 patrickas TimToady isn't that a relatively new addition to english ? using "am ...ing" for the present ?
17:49 nothingmuch joined #perl6
17:50 TimToady I forget :)
17:50 arnsholt My Middle and Old Enligsh are non-existant, but my guess would be not
17:50 TimToady or maybe I am forgetting :)
17:51 cognominal "je vais parler"  in French has (somehow)  same structure as "I am going to talk" and is often used too.
17:51 arnsholt The -ing is a present participle, so combining that with a present tense copula would be a reasonably obvious construction
17:51 cognominal a/same/the same/
17:51 cognominal arf
17:51 patrickas same in spanish
17:51 arnsholt cognominal: I'd argue that it's closer to "I will talk"
17:51 TimToady English speakers still tend to use the non-progressive forms for some verbs, such as "forget"
17:51 PerlJam joined #perl6
17:51 TimToady so the transition is by no means complete even now
17:52 arnsholt Perhaps a telic/atelic thing?
17:52 patrickas with "voy a"
17:53 TimToady "I forget", but "I am forgetting my manners"
17:53 arnsholt cognominal: OTOH the modal verb is the same with the other construction. Choices, choices ^^
17:53 patrickas and just now I realise it is the same in spoken (thou not traditional) arabic!
17:54 Wolfman2000 joined #perl6
17:54 arnsholt Oooh, I have a book that mentions the history of the "going to ..." construction
17:54 * arnsholt tries to find it
17:55 TimToady it's really funny in the Septuigint, how they would avoid the classical past forms and do the equivalent of changing "went" to "was going".
17:56 arnsholt Nifty. Do you happen to know what kind of construction the Hebrew uses in those cases?
17:56 TimToady hence, one of the most common words in the LXX is ἦν
17:57 TimToady arnsholt: not offhand
17:57 TimToady I only learned enough Hebrew to look things up in books :)
17:57 patrickas left #perl6
17:57 patrickas joined #perl6
17:57 rindolf arnsholt: Hebrew only has 4 main tenses : past, medium, future/present and imperative.
17:58 arnsholt Heh. Worth a try. I've been reading some Gothic this semester, and reading it much like reading Greek, but with Germanic words instead ^^
17:58 patrickas rindolf: do you use "to go" for future ?
17:58 rindolf patrickas: no, we don't.
17:58 arnsholt rindolf: Yeah, which is why comparing the "odd" pasts in the Greek with the constructions in the Hebrew original
17:58 rindolf patrickas: well, in modern Hebrew one can say "I am going to do something."
17:58 arnsholt To see if it might be an influence from the original text, or a purely Greek change
17:59 patrickas rindolf: same with spoken arabic
17:59 TimToady Japanese has a similar form, though based on 'come' instead of 'go'
17:59 rindolf patrickas: ah.
17:59 patrickas and i just realized that :-O
17:59 arnsholt My book says that "going to ..." as a future in English dates to the fifteenth century
18:00 arnsholt Cites an example from 1439 as "one of the earliest examples"
18:00 TimToady certainly they had "Go to!" as a command back then
18:00 TimToady to which an appropriate response is "I am going to!"
18:00 TimToady :)
18:01 arnsholt Good point. At which point the future construction is but a stone's throw away =D
18:01 TimToady Note: that's just a conjecture on my part, don't take it as Truth :)
18:02 arnsholt Of course, but it's a conjecture I like =)
18:05 Su-Shee mberends: awake? maybe even here?
18:05 Util joined #perl6
18:06 mberends Su-Shee: yes, just sipping some Heidelbeerwein :)
18:07 Su-Shee mberends: I made the column name array and played around a little.. there is really weird stuff in the arrays depending on how you loop over them.
18:07 Su-Shee mberends: I make you a pastebin.
18:07 mberends ok
18:09 patspam joined #perl6
18:12 ShaneC joined #perl6
18:12 ShaneC left #perl6
18:14 ruoso joined #perl6
18:14 mberends the weird stuff you mentioned might be successive members of the MYSQL_FIELD struct, documented about 30% down http://dev.mysql.com/doc/refma​n/5.1/en/c-api-datatypes.html
18:14 Util In S32-Containers, Role 'Array' contains 'delete' (method) and ':delete' (adverb).
18:14 Util In contrast, Role 'Hash' contains only the adverb form of delete.
18:15 Util Shouldn't the delete method also be in 'Hash'?
18:18 Guest45088 joined #perl6
18:23 hercynium joined #perl6
18:26 christin1 joined #perl6
18:26 posixninja_ joined #perl6
18:26 bbkr joined #perl6
18:27 ascent_ joined #perl6
18:28 Su-Shee mberends: http://pastebin.org/298990 essentially my question is what I can ignore and what I shouldn't.
18:28 Su-Shee mberends: ah, just seen your url.
18:28 drbean joined #perl6
18:28 pausenclown joined #perl6
18:29 Su-Shee ok, that explains that. ;)
18:29 Juerd joined #perl6
18:30 mberends Su-Shee: you probably need only $field_info[0]
18:30 Su-Shee mberends: yes, that returns the proper stuff.
18:31 Su-Shee mberends: but do I plainly ignore what else is in there?
18:32 ash__ joined #perl6
18:34 snarkyboojum joined #perl6
18:36 mberends Su-Shee: yes, ignore the remaining fields. The first  version looks correct. Also add an if { } around the first loop to make sure you do not call mysql_fetch_field() when fetching the second and later rows, because otherwise it will return NULLs.
18:37 * Su-Shee can be ignorant. ok :)
18:39 mberends Su-Shee: you can also make  the @column_array into a @!column_array object member (using has) to persist it between rows.
18:39 Su-Shee mberends: that would have been my next question.
18:40 snarkyboojum Util: and it looks like moritz_ implemented the method form on Hash originally :) http://github.com/rakudo/rakudo/commit/2​fcac45b48b0c81dbf7799013ca152870313448b
18:40 snarkyboojum Util: so perhaps pick his brain ;)
18:42 estrabd joined #perl6
18:42 Trashlord joined #perl6
18:43 patrickas rakudo: grammar Inventory { regex color { \S+ }; regex description { \N* }; regex TOP { ^^ <description> \s+ <color> $$ };} ;say Inventory.parse('A description red') ;
18:43 p6eval rakudo 18d996: OUTPUT«␤»
18:44 patrickas can anyone help with what is wrong here ?
18:45 jnthn patrickas: I think it may be the Rakudo bug about backtracking into named subrules.
18:45 TimToady that's what it looks like to me
18:45 jnthn We have one in RT, I believe.
18:46 jnthn If anyone's actually about for it, #phasers in ~15 mins
18:46 patrickas Oh ok thanks... I'll add a test to the day 10 in advent calendar
18:46 bkeeler #phasers used to be #rakudosketch?
18:47 jnthn bkeeler: Yes
18:47 jnthn pmichaud: Friendly reminder of ^^, if you're about. :-)
18:47 bkeeler Now with added Star Trek jokes
18:47 pugssvn r31036 | patrickas++ | Added tests, one of them fails because of a rakudobug
18:53 arnsholt .u latin small letter h with dot below
18:53 phenny U+1E25 LATIN SMALL LETTER H WITH DOT BELOW (ḥ)
18:53 TimToady patrickas: just translated your example into STDese, and it works correctly under Cursor
18:54 patrickas Cursor++ I guess
18:54 patrickas even though I have no idea what cursor is!
18:55 LylePerl joined #perl6
18:55 diakopter it takes only a cursory glance
18:56 LylePerl hi all
18:56 patrickas oh :-)
18:56 TimToady in Cursor it works by returning a lazy list of possible matches from the subrule
18:56 TimToady so it's easy to backtrack into a rule simply by generating its next match from the lazy list
18:57 TimToady in a sense, backtracking in Cursor is nothing more than throwing away your current conjecture; nothing has to be "undone"
18:58 patrickas Are there any plans for rakudo to implement it the same way ?
18:58 Su-Shee mberends: http://pastebin.org/299114
18:58 TimToady patrickas: dunno, but it's a very clean way to think about it
18:58 aindilis joined #perl6
18:59 bkeeler It is indeed, Cursor++!
18:59 TimToady it does imply that Cursors are immutable, at least till optimizations get involved
19:02 TimToady which also imples that, at least in the abstract, there are a number of Cursors out there carrying duplicate state information
19:02 TimToady but indirection and laziness keep most of those from ever being generated, I hope
19:03 TimToady well, the laziness prevents generation, and the indirection makes it cheap to dup
19:03 mberends Su-Shee: looks correct. Does finish() also set @!column_names to Mu, or does maybe execute() do that?
19:04 TimToady so all Cursors, for instance, carry around context pointers to a linked list of contexts that can be "cut", but the tails of those lists are all shared
19:07 jaldhar joined #perl6
19:10 Su-Shee mberends: not yet, I'll add it.
19:11 Su-Shee done.
19:12 xinming_ joined #perl6
19:13 mberends Su-Shee: you'll probably need to write new tests for this, because the P5 test suite is lacking on fetchrow_hashref().
19:13 Su-Shee mberends: I've seen yesterday. :)
19:14 Su-Shee mberends: it uses fetchrow_hashref only for some memleak test.
19:14 mberends yes, disappointing
19:18 Su-Shee ok, first I need to call my mother and making soothing birthday congratulation sounds.
19:19 Trashlord joined #perl6
19:20 snarkyboojum rakudo: my Int|Str $test = 5; say $test;
19:20 p6eval rakudo 18d996: OUTPUT«===SORRY!===␤In "my" declaration, typename Int must be predeclared (or marked as declarative with :: prefix) at line 11, near "|Str $test"␤»
19:20 snarkyboojum std: my Int|Str $test = 5; say $test;
19:20 p6eval std 31036: OUTPUT«[31m===[0mSORRY![31m===[0m␤Malformed my at /tmp/q4f1l0LgAN line 1:␤------> [32mmy Int[33m⏏[31m|Str $test = 5; say $test;[0m␤    expecting any of:␤     multi_declarator␤ scoped declarator␤        typename␤Parse failed␤FAILED 00:02 111m␤»
19:21 snarkyboojum pugs: my Int|Str $test = 5; say $test;
19:21 p6eval pugs: OUTPUT«5␤»
19:23 snarkyboojum pugs: my Int|Str $test = 22/7;
19:23 p6eval pugs:  ( no output )
19:24 TimToady that form will probably never be allowed, due to excessive ambiguity
19:24 snarkyboojum but it's still in the spec for now?
19:24 TimToady where?
19:24 snarkyboojum under polymorphic types in S02
19:25 snarkyboojum "Anywhere you can use a single type you can use a set of types"
19:25 TimToady that's pretty close to fossilized by now
19:25 snarkyboojum ah ok
19:25 TimToady | and & have other important meanings
19:25 ruoso joined #perl6
19:26 TimToady and constraints can always be put into a 'where' instead
19:26 snarkyboojum yep - okydoke
19:35 BrowserUk joined #perl6
19:38 M_o_C joined #perl6
19:42 masak joined #perl6
19:42 masak ahoy, #perl6!
19:42 jaffa4 joined #perl6
19:42 jnthn ahoj!
19:44 macdaddy joined #perl6
19:45 TimToady ¡ajoy!
19:48 pjcj joined #perl6
19:51 masonkramer joined #perl6
19:52 Trashlord joined #perl6
19:59 tedv_ joined #perl6
19:59 * masak goes into Yapsi release mode
19:59 charsbar_ joined #perl6
20:01 masonkramer joined #perl6
20:02 masak patrickas: http://rt.perl.org/rt3/Ticket/[…]lay.html?id=73608
20:02 Psyche^ joined #perl6
20:05 Schwern joined #perl6
20:06 TimToady sorear: sorry that my network connection went down hard in the middle of our last conversation
20:06 TimToady <sorear> TimToady: Might changing the names of alternatives have broken anything?  (ws_03 and ws_05 are now ws_0 and ws_1)
20:07 TimToady could, if there were collisions in lex/
20:07 cognominal say  "$index :  $_"  for @a  # Here $index is placeholder for some unknown syntax. is there a syntax for getting an index when iterating, or should I do that manually?
20:07 TimToady @a.kv
20:08 cognominal thx
20:08 TimToady but then they'll alternate
20:08 TimToady so you really want @a.pairs
20:08 TimToady and then .key vs .value
20:08 cognominal nice
20:08 TimToady of course, those don't interpolate
20:08 TimToady {.key} {.value} would though
20:09 BrowserUk joined #perl6
20:09 TimToady <sorear> TimToady: Can you tell me anything about the hacks involved in autolexing EXPR?
20:09 TimToady well Cursor.pmc:1810 is one such hack
20:09 cognominal hopefully mberends will help me for the french Perl 6 worshop,  I don't yet feel up to par to lead it.
20:10 cognominal mberends++
20:10 TimToady the basic notion is that if you peek EXPR you should get termish's LTM instead
20:10 TimToady there have also been hacks in other spots, and if they're still there, they're probably fossils
20:12 mberends cognominal: don't worry, I like giving orders ;)
20:13 cognominal :)
20:13 cognominal fine with me
20:14 TimToady <sorear> TimToady: apparently the .*? -> _SCANf optimization is Really Important / implementing it in viv made STD.pmc 36 times faster
20:14 TimToady Um, yes, forgot that one, though I suppose it falls into the category of lazymap avoidance.
20:16 cognominal speaking of fossils, I have a patch waiting to be applied to rakudo :  http://paste.lisp.org/display/110983
20:23 dalek yapsi: 1fffb4a | masak++ | logotype/ (2 files):
20:23 dalek yapsi: [logotype] next iteration
20:23 dalek yapsi: Still not perfect, but hopefully an improvement.
20:23 dalek yapsi: review: http://github.com/masak/yapsi/commit/1f​ffb4ad80e350da8a9c88b5a9ca608c39b09755
20:23 mberends phenny, tell moritz_ a Rakudo challenge idea is to bring a module to a state of Rakudo * readiness, and add it to the module list in http://wiki.github.com/rakudo/​rakudo/whats-going-into-rakudo
20:23 phenny mberends: I'll pass that on when moritz_ is around.
20:24 TimToady <sorear> TimToady: Why is $CTX only updated at certain places, instead of continuously in deb?
20:24 masak if bringing a module to a state of Rakudo * readiness, such a task may or may not be too big for a weekly challenge. :)
20:24 TimToady sorear: because ->callm is very expensive to compute
20:25 TimToady not saying there might not be a better way, of course
20:30 TimToady <sorear> STD.pm, having been compiled with STD.pm, just successfully parsed STD.pm
20:30 TimToady \ ⣀ / \☺/ /"\
20:30 TimToady hmm
20:31 TimToady \ ⣀ /
20:31 TimToady \☺/
20:31 TimToady /"\
20:31 TimToady that's better :)
20:31 TimToady or \ö/ for short
20:34 snarkyboojum joined #perl6
20:35 masak snarkyboojum! \o/
20:35 snarkyboojum masak \o/
20:35 masak snarkyboojum: guess what day it is? :)
20:35 snarkyboojum yapsi release day? :P
20:35 snarkyboojum my dad's birthday?
20:35 snarkyboojum :)
20:35 masak yay! \o/
20:35 snarkyboojum o/
20:35 masak perhaps that too. say hi from me :)
20:35 Schwern joined #perl6
20:35 snarkyboojum masak: will do :)
20:36 masak snarkyboojum: I'm seeing if I can get in if statements before cutting the release. :)
20:36 masak snarkyboojum: let me know what you think of the logotype, by the way.
20:36 masak it still needs a little je ne sais quoi.
20:36 kensanata joined #perl6
20:37 snarkyboojum masak: I like it, and the fact that it's SVG
20:37 masak it's rendered down to a 32x32 png for proto.perl6.org, though.
20:38 snarkyboojum yeah, checked it out (earlier) this morning.. pretty cool
20:39 alester joined #perl6
20:39 masak I just made a newer version, because I didn't think the strip was visible enough in the first one.
20:40 masak it's still not ideal, though.
20:40 snarkyboojum I like the strange loop connotations though :)
20:41 snarkyboojum foraging&
20:41 masak moritz_++ # idea
20:41 moritz_ huh, which idea?
20:41 phenny moritz_: 20:23Z <mberends> tell moritz_ a Rakudo challenge idea is to bring a module to a state of Rakudo * readiness, and add it to the module list in http://wiki.github.com/rakudo/​rakudo/whats-going-into-rakudo
20:41 masak moritz_: the Möbius strip.
20:42 masak lying down, it also looked like an infinity sign.
20:42 TimToady my badge lanyard this past weekend was an unintentional Möbius strip
20:43 masak 'unintentional Möbius strip' sounds like a good name for a rock band.
20:44 bkeeler I hate it when my seatbelt does that
20:44 masak your seatbelt is a loop? o.O
20:44 bkeeler Well, not quite, but sometimes it seems to have a half-turn that I can't get rid of
20:44 masak I know the feeling.
20:45 masak some days are like that. :)
20:49 drbean joined #perl6
20:50 pmurias joined #perl6
20:50 pmurias ruoso: ping
20:53 dalek yapsi: 49e6a6b | masak++ | README:
20:53 dalek yapsi: [README] some more guidance about alpha
20:53 dalek yapsi: Still not enough, though. :/
20:53 dalek yapsi: review: http://github.com/masak/yapsi/commit/49​e6a6bfa8c8be6e1918080802ab60843d3d1283
20:54 Guest35959 left #perl6
20:59 Squern joined #perl6
21:03 frettled ~/It's hip to be a Schware/~
21:03 m6locks lol
21:09 justatheory joined #perl6
21:11 azert0x joined #perl6
21:12 masak ah. it's going well with giving Yapsi if statements, but there's not enough time until midnight. I'll have to do it after the release :)
21:16 jnthn masak: It must unconditionally be released on the first of the month? :-)
21:17 masak trust jnthn to make a pun out of something :P
21:23 whiteknight joined #perl6
21:24 dalek yapsi: 8de9d4d | masak++ | doc/ChangeLog:
21:24 dalek yapsi: [ChangeLog] updated
21:24 dalek yapsi: review: http://github.com/masak/yapsi/commit/8d​e9d4d4c2a103166fc1a35405fa018258682450
21:30 dalek yapsi: 2965085 | masak++ | doc/announce/2010.06:
21:30 dalek yapsi: [doc/announce/2010.06] added
21:30 dalek yapsi: review: http://github.com/masak/yapsi/commit/29​6508510fb35093f50be9229b8f8ee12587d87e
21:31 masak I cordially invite people to proof-read the announcement with me. :)
21:33 jnthn "mien"?
21:33 masak I felt a bit French tonight. :)
21:33 masak there is such a word, though. I checked.
21:33 jnthn Yeah, I had to.
21:33 snarkyboojum I've even used it in conversation before :P
21:33 snarkyboojum an English one
21:34 snarkyboojum masak++ # for witty yapsi release announcement :)
21:34 masak thanks.
21:35 snarkyboojum I'm especially impressed with how you've guaranteed backwards compatibility with last month's release
21:35 jnthn masak++ # enhancing my knowledge of the English language
21:35 masak snarkyboojum: I have?
21:35 snarkyboojum yeah - but the only change being a logo :)
21:35 snarkyboojum *by
21:35 snarkyboojum or have I missed something..
21:35 masak snarkyboojum: well, something compiled with Yapsi 2010.05 still won't run under Yapsi 2010.06 :P
21:36 masak as a matter of principle.
21:36 snarkyboojum ah SIC version bumps?
21:36 masak aye.
21:36 masak always after the release.
21:36 snarkyboojum right :)
21:37 snarkyboojum good fun :)
21:38 masak hopefully next month we'll have an actual feature or so :)
21:38 masak I'm halfway through having if statements working. they already parse fine.
21:38 snarkyboojum I'll help you put something in there next month :)
21:39 masak \o/
21:40 masak and for the next release we'll showcase Tardis as well, that'll impress people.
21:40 snarkyboojum we'll have to merge the branch with yapsi integration then
21:40 masak aye.
21:42 masak release announcement sent to p6c.
21:44 justatheory joined #perl6
21:46 masak ...and blog post's away! http://use.perl.org/~masak/journal/40372
21:46 * masak exhales
21:46 jnthn masak: Will you submit a YAPC talk about Yapsi?
21:46 masak I don't think I'll be able to resist.
21:47 jnthn ;-)
21:47 * jnthn is already looking forward to it :-)
21:47 masak and we'll call the August release "EU" :P
21:47 jnthn :D
21:53 snarkyboojum rakudo: "tes.t".subst(/<-[\.]>/, 'A', :g)
21:53 p6eval rakudo 18d996:  ( no output )
21:53 snarkyboojum rakudo: say "tes.t".subst(/<-[\.]>/, 'A', :g)
21:53 p6eval rakudo 18d996: OUTPUT«AAA.A␤»
21:53 snarkyboojum rakudo: "tes.t".subst(/<-[\.]>/, $0, :g)
21:53 p6eval rakudo 18d996: OUTPUT«Method 'postcircumfix:<[ ]>' not found for invocant of class ''␤  in main program body at line 1␤»
21:54 snarkyboojum that doesn't work in current rakudo?
21:54 snarkyboojum using $0 like that?
21:55 masak snarkyboojum: (1) you'd need to put it in braces to have it evaluate after the match.
21:55 masak snarkyboojum: (2) no :/
21:56 masak alpha: say Nil.defined
21:56 p6eval alpha 30e0ed: OUTPUT«0␤»
21:56 snarkyboojum masak: ah thanks, but putting it in braces should work eventually?
21:56 masak it used to.
21:56 masak in alpha, it works.
21:57 snarkyboojum I'm trying to get $url.subst(/(\W & <-[\.]>)/, {sprintf('%%%02X', ord($0))}, :g); going on rakudo
21:57 masak Rakudo master?
21:57 snarkyboojum but \W & <-[\.]> is causing issues as well as the $0
21:57 snarkyboojum yeah
21:57 snarkyboojum it's obviously not working as is :)
21:57 masak no.
21:58 Schwern joined #perl6
21:59 snarkyboojum some of the issues I've seen so far in trying to get modules working on master are related to regex bits and bobs
21:59 masak nod. the regex engine was switched out.
21:59 snarkyboojum this kind of support planned for rakudo *?
22:00 masak I hope so.
22:00 snarkyboojum me too.. would result in a large usability jump I think
22:02 jnthn I really hope the $/ in subst closure thing will be fixed for R*, yes.
22:02 jnthn rakudo: my $x = 'helo'; $x ~~ s/l/$0$0/; say $x;
22:02 p6eval rakudo 18d996: OUTPUT«Method 'postcircumfix:<[ ]>' not found for invocant of class ''␤  in <anon> at line 1␤  in 'Cool::subst' at line 1885:CORE.setting␤  in 'Substitution::ACCEPTS' at line 4928:CORE.setting␤  in 'infix:<~~>' at line 345:CORE.setting␤  in main program body at line
22:02 p6eval ..11:/tmp/GVDzNX9vcU␤»
22:03 jnthn At least it tells us where we need to fix things in the setting. :-)
22:03 snarkyboojum jnthn++ :)
22:06 jnthn I can think of an easy hack to make it work for s/// but of course it gets fixed "naturally" if we can make subst work.
22:07 snarkyboojum is the (\W & <-[\.]>) in the example above legal?
22:08 snarkyboojum the ampersand...
22:08 jnthn std: /(\W & <-[\.]>)/
22:08 p6eval std 31036: OUTPUT«ok 00:01 116m␤»
22:08 jnthn Yeah
22:08 jnthn Thought so, but just wanted to check std agreed.
22:08 snarkyboojum but rakudo has an issue with it atm
22:08 jnthn I don't think we implement that in Rakudo yet though.
22:08 snarkyboojum rightio
22:08 jnthn Don't know that alpha had it either.
22:09 posixninja_ left #perl6
22:10 snarkyboojum alpha: say "tes+t".subst(/\W & <-[\.]>/, 'A', :g)
22:10 p6eval alpha 30e0ed: OUTPUT«tesAt␤»
22:10 snarkyboojum looks like it worked
22:12 justatheory joined #perl6
22:12 dalek yapsi: 53608b3 | masak++ | lib/Yapsi.pm:
22:12 dalek yapsi: [Yapsi] bumped SIC version
22:12 dalek yapsi: Between releases, the SIC version is always the version number of the
22:12 dalek yapsi: upcoming release.
22:12 dalek yapsi: review: http://github.com/masak/yapsi/commit/53​608b3ca6b57a7fa46231705aef01265458a02c
22:12 dalek yapsi: 87dd785 | masak++ | logotype/ (2 files):
22:12 dalek yapsi: [logotype] brighter
22:13 dalek yapsi: It looked far too somber with navy blue. Brightened it up a bit.
22:13 dalek yapsi: review: http://github.com/masak/yapsi/commit/87​dd78511eefa2e682b6eb88f047586a04684cb9
22:32 xomas_ joined #perl6
22:33 snarkyboojum rakudo: say Nil.defined
22:33 p6eval rakudo 18d996: OUTPUT«0␤»
22:33 snarkyboojum rakudo: say ().defined
22:33 p6eval rakudo 18d996: OUTPUT«0␤»
22:34 masak buubot: eval say defined ()
22:35 buubot masak: ERROR: syntax error at (eval 38) line 1, near "say defined"
22:35 masak buubot: eval defined ()
22:35 buubot masak: No output.
22:35 masak buubot: eval print defined ()
22:35 buubot masak: 1
22:35 masak should be 1 in Rakudo as well.
22:36 snarkyboojum yeah
22:37 masak there's an RT ticket about it: http://rt.perl.org/rt3/Tic​ket/Display.html?id=74916
22:37 masak I eval'd it for alpha to see whether it was a regression or not.
22:37 snarkyboojum ah - masak++
22:37 masak and empty list (or capture or whatever it's called) is false when boolified, but it's still defined.
22:38 snarkyboojum rakudo: say ?()
22:38 p6eval rakudo 18d996: OUTPUT«0␤»
22:38 masak assign an empty list to a scalar variable, however, and that variable will revert to containing the type object of whatever it's typed to.
22:38 masak again, by spec, not by current Rakudo.
22:38 snarkyboojum oky doke
22:39 masak while I remember it, here's the short-term roadmap for Yapsi:
22:39 snarkyboojum rakudo: my @a = 1; @a = Nil; say @a.perl # that works
22:39 p6eval rakudo 18d996: OUTPUT«[]␤»
22:39 masak if statements, loops, functions. we might get that far before next release, if we're lucky.
22:40 masak once we have functions, it'll be much easier to add operators, and standard Perl 6 functions.
22:40 snarkyboojum sounds like some fun - let me know how I can help
22:41 masak sure thing.
22:41 masak thanks for the fine collaboration so far. it's fun to be writing a Perl 6 implementation with you. \o/
22:42 snarkyboojum well, the little futzing around I've done, but yes, great fun so thank you :) o/
22:42 masak you've also provided invaluable ground for discussion.
22:43 masak hm, time to go to sleep over here. :)
22:43 masak 'night
22:45 Tene aw, ENOMASAK
22:50 Schwern joined #perl6
23:00 skangas left #perl6
23:06 orafu joined #perl6
23:34 cognominal rakudo:   'grammar A {  token a { a } };  say 'a' ~~ /<A::a>/ # what is the proper way to directly use a rule from a grammar
23:34 p6eval rakudo 18d996: OUTPUT«===SORRY!===␤Confused at line 11, near "'grammar A"␤»
23:37 Schwern joined #perl6
23:43 TimToady rakudo: grammar A { token a { a } }; say A.parse('a', :rule<a>).perl
23:43 p6eval rakudo 18d996: OUTPUT«Match.new(␤ # WARNING: this is not working perl code␤ # and for debugging purposes only␤ ast  => Any,␤ Str  => "a",␤ from => 0,␤ orig => "a",␤ to   => 1,␤)␤»
23:43 TimToady something like that
23:43 sorear ...WARNING?
23:43 TimToady you aren't Will Robinson?
23:44 * TimToady is now only about 30 hours behind in backlogging...
23:46 sorear TimToady: consider $<x> = y?
23:46 sorear assertion:var and gimme5 both parse the RHS of = as quantified_atom
23:46 TimToady haven't got there yet
23:47 sorear so the parse tree looks like RE_bindnamed(RE_quant(...))
23:47 sorear yet, gimme5 generates the _OPTr call on the *outside*
23:47 sorear at first I thought this was a bug in @*BINDINGS usage, but now I am not so sure
23:47 TimToady oh, I thought your ? was meta :)
23:47 TimToady metaer
23:48 TimToady looks like maybe a bug to me
23:49 skids joined #perl6
23:49 sorear it will be added to viv, for now, in the name of compatibility
23:49 sorear STD.pm6 +5031 depends on it
23:50 justatheory joined #perl6
23:51 sorear why are bindnamed and bindpos separate?
23:53 TimToady ah, okay, same for STARr, etc
23:55 TimToady the multiple bindings semantics that produce an array are actually determined by whether the field is initialized to []
23:55 sorear yes, I found that already
23:55 TimToady so there's a sense in which the quantifier is outside
23:56 sorear binding /to/ the optonal paren, however, seems to result in $<binding> being a string
23:56 sorear which is quite useless to viv
23:56 TimToady it looks like a bug with OPTr that we don't have C->{'binding'} = [];
23:56 * sorear doesn't fully understand the Cursor subcapture mechanism
23:56 sorear OPTr is special cased to not do that, actually
23:57 sorear the rule is an approximation of "could the capture be matched more than once?  array it!"
23:57 TimToady Cursor.pmc:441 decided whether to array it based on whether it's already a []
23:57 TimToady but not arraying ? is non-spec
23:58 TimToady it might date from when non-arraying it *was* spec :)
23:59 TimToady so it should really have C->{'binding'} = []; above to do it by spec

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

Perl 6 | Reference Documentation | Rakudo