»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by lichtkind on 5 March 2010.
00:03 cdarroch left 00:07 Transformer joined 00:08 _buno_ joined 00:10 _buno_ left, Transformer left 00:16 pencilk joined 00:38 snarkyboojum joined 00:43 envi^home joined
snarkyboojum 33k+ passing tests o/ 00:47
congrats to all the busy Perl 6 hacker types :)
00:49 whiteknight left 01:04 pnate left 01:09 pausenclown left 01:13 pausenclown joined 01:26 skids left, skids joined 01:30 pencilk left 01:33 Util_ joined 01:44 BrowserUk left
Util_ In [S32] Containers.pod, "=head2 Array" contains "=item delete" (method) and "=item :delete" (adverb). 01:45
In contrast, "=head2 Hash" contains only the adverb form of delete. Shouldn't the delete method also be in Hash?
01:47 Util_ is now known as Util 01:49 agentzh joined 01:51 pencilk joined 02:12 [mark] joined
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«{}␤»
snarkyboojum alpha: my %hash = { 'perl5' => 'perl6', 'foo' => 'bar' }; my %other; map { %other.push: .key, .value }, %hash; say %other.perl
p6eval alpha 30e0ed: ( no output )
02:16 Sarten-X left 02:18 snarkyboojum left 02:25 TiMBuS joined 02:26 snarkyboojum joined
snarkyboojum rakudo: my %hash = { "perl5" => "perl6", "foo" => "bar" }; my %other; map { %other.push: .key, .value }, %hash; say %other.perl 02:28
\
p6eval rakudo cde6ab: OUTPUT«{}␤»
snarkyboojum alpha: my %hash = { "perl5" => "perl6", "foo" => "bar" }; my %other; map { %other.push: .key, .value }, %hash; say %other.perl
p6eval alpha 30e0ed: ( no output )
snarkyboojum that returns {"foo" => "bar", "perl5" => "perl6"} locally (using alpha) 02:29
and returns {} locally using current master
what newbie mistake am I making? :)
Util snarkyboojum: where you say: 02:41
map {...}, %hash;
I think you need:
map {...}, %hash.pairs;
Something else might also be wrong; I don't have a current build at the moment.
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
snarkyboojum that works, and it's neater 02:43
but I would have thought the other way would work as well
Util: yeah - tried that, but it fails on current master as well 02:56
but works on alpha
not sure if things have changed or master is buggy
in that area
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?
my @AoH = map {...} ( %h1, %h2, %h3 );
snarkyboojum but I think it quite likely that I am buggy :)
Util (re: "work as well..."
snarkyboojum Util: I'm not sure I understand 02:57
Util snarkyboojum: more on that in a minute; back to your failing code... 02:58
2nd bug: map in void context does not work. Even though it should not be needed, assign the map to a junk hash.
snarkyboojum Util: ah sink context 02:59
03:01 BrowserUk joined
colomon masak++ 03:03
03:04 atomicstack joined
Util snarkyboojum: is anything still unresolved? 03:05
snarkyboojum Util: using map like you suggested works, but I've gone with push and .kv for now 03:06
for loop using .kv works as well
Util snarkyboojum: what are you trying to accomplish?
snarkyboojum rakudo: my %hash = { 'perl5' => 'perl6', 'foo' => 'bar' }; my %other; for %hash.kv -> $k, $v { %other.push: $k, $v }; say %other.perl
p6eval rakudo cde6ab: OUTPUT«{"foo" => "bar", "perl5" => "perl6"}␤»
snarkyboojum Util: just adding one hash to another :) 03:07
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:10 colomon left
snarkyboojum rakudo: my %hash = { 'perl5' => 'perl6', 'foo' => 'bar' }; my %other = { 'perl5' => 'perl5.10'}; %other.push: %hash.kv; say %other.perl 03:11
pretty neat
p6eval rakudo cde6ab: OUTPUT«{"foo" => "bar", "perl5" => ["perl5.10", "perl6"]}␤»
Util snarkyboojum: neat indeed! I just saw the hash push earlier today. 03:16
03:17 JimmyZ joined
snarkyboojum :) 03:18
03:26 pencilk left 03:31 lestrrat is now known as lest_away 03:33 skids left
snarkyboojum perl6 identi.ca client using HTTP::Client (with an enhancement to do basic authentication), and running on current master :) gist.github.com/420530 03:34
and it works :)
03:40 gbacon left
snarkyboojum does carlins come into #perl6? 03:41
phenny: .seen carlins 03:42
.seen carlins
phenny Sorry, I haven't seen carlins around.
snarkyboojum .seen jnthn
phenny snarkyboojum: I last saw jnthn at 2010-05-31 21:02:55 UTC on #perl6
snarkyboojum I guess not
.seen carlin 03:43
phenny Sorry, I haven't seen carlin around.
snarkyboojum anyway carlin++ for http::client :) 03:44
snarkyboojum stops talking to himself and goes foraging for lunch
Util snarkyboojum++ # For real-world Perl 6 code 03:47
Util sleeps; will backscroll for answers to delete() question. 03:48
03:48 Util left 03:56 meppel joined
lue ohai 03:56
03:57 molaf joined 04:00 meppel left, meppl left 04:09 tedv| left 04:12 BrowserUk left 04:21 xinming_ joined 04:25 xinming left
snarkyboojum hailue 04:25
04:31 patspam left 04:34 [mark] left 04:36 xinming_ is now known as xinming 04:43 molaf left, justatheory left 04:50 [mark] joined
lue afk 04:52
04:53 [[mark]] joined 04:57 [mark] left 04:59 [[[mark]]] joined 05:00 [[[mark]]] left 05:02 [[mark]] left, plobsing joined 05:08 redicaps joined 05:18 pnu left, pnu joined 05:19 kaare joined 05:20 kaare is now known as Guest90053 05:22 [mark] joined 05:38 redicaps left
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 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).
moritz_ \o/ 05:53
06:02 uniejo joined 06:09 Sarten-X joined 06:10 clsimons joined 06:17 clsimons left 06:20 Su-Shee joined 06:41 gfx joined 07:14 ejs joined
Su-Shee good morning. 07:17
07:19 ejs left 07:20 ejs joined 07:24 eternaleye left 07:31 Ross joined 07:33 alanhaggai left 07:39 eternaleye joined 07:50 alanhaggai joined 07:52 masak joined
masak oh hai, #perl6 07:52
moritz_ oh hai 07:55
Su-Shee hi M & M ;)
eternaleye moritz_: I'm working on .trans now, using unpacking for maximum ease 07:57
moritz_ unpacking?
masak signature unpacking? 07:58
moritz_ I know it's not specced, but I want named arguments to behave just like positional pairs 07:59
$str.trans: :a<b> # just like 'a' => 'b';
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
Should I?
moritz_ wait a sec
it depends on whether we allow options like /c, /s in Perl 5
that would be done via named arguments => potential clashes 08:01
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:11
moritz_ masak: I was proposing that for .trans only 08:13
masak oh, ok.
I can definitely see that on a sub-to-sub basis, yes. 08:14
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:15
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
Hm, says it's OK
Oh, wait, premature 08:18
moritz_ eternaleye: it probably means it's a parse error before the closing )
eternaleye I didn't notice that the 'ok' message was followed by the path to Test.pm6
moritz_: Probably
08:18 xinming left
eternaleye But if there's an actual error, STD has nice messages 08:19
Nope, it checks out. I'll paste it so people can look
ix.io/10s
08:20 xinming joined
moritz_ uhm 08:21
try less at once 08:22
comment out some of the blocks
eternaleye Okay
moritz_ and see which one causes the parse failure
08:22 plobsing left
moritz_ (and leave out the 'Pair' type constraint before the slurpy... it's probably ignored, or will cause pain) 08:22
masak eternaleye: my guess is that it fails to parse on 'tr/ABC/abc/'. 08:23
that's where the line number says it fails, anyway.
moritz_ oh, right
masak (yay! line numbers!)
jnthn++
eternaleye Thanks masak!
moritz_ and hey, I even wrote that on my blog :-)
08:24 posixninja joined
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///),..."
eternaleye moritz_: I got the first part, but my eyes must have skipped the parens :/
08:25 snarkyboojum left
moritz_ moritz.faui2k3.org/tmp/book.pdf # now with an index, and link in the table of contents 08:27
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.
moritz_ eek 08:29
it might be interfering with parrot's .trans method
eternaleye: does it stay the same if you add a 'multi' before the method?
masak why is Parrot's .trans method even visible on the Rakudo layer? 08:30
eternaleye Yes
dalek ok: ce53208 | (Ralf Valerien)++ | (2 files):
Implement links and index generation
eternaleye Multi has no effect
s/M/m/
moritz_ eternaleye: then for now re-name the method to .trans2 (and also change the tests)
eternaleye Okay 08:31
moritz_ we'll investigate later what's the problem and how to fix it
eternaleye Ewww, parrot leakage: 'Method 'trans2' not found for invocant of class 'Perl6Str'' 08:32
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
It's almost like being a Haskell programmer again 08:35
moritz_ eternaleye: when I rename the method to trans2, it's called just fine (though it gives a Null PMC access) 08:38
08:38 dakkar joined
eternaleye Although, it's probably tidier to use Pair[Array,Str] than Pair ( Array $key, Str $value ) 08:38
moritz_: Hmm, maybe my rakudo is old 08:39
moritz_ eternaleye: that would make a difference
eternaleye: I highly recommend to upgrade to latest rakudo development version... those new stack traces make life much easier
eternaleye moritz_: running configure.pl now. I had a git checkout, it was just old 08:40
Since I didn't want to wait for it to build before I started hacking :3
moritz_ :-)
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 :-)
eternaleye moritz_: Thoughts on which phrasing for the when clauses? One is smaller, one is more explicit 08:42
moritz_ eternaleye: I don't think Pair[Array, Str] works 08:43
because Pair is not a parametric type
eternaleye Huh, thought it was for some reason 08:44
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 "}"␤»
moritz_ rakudo: my ($key, $value); given a => 3 { when :( Pair ( Str $key, $value ) ) { say $key } }
p6eval rakudo cde6ab: ( no output )
08:46 clintongormley joined
mathw moritz_: oh yes, moving fast is, ultimately, good 08:47
especially when it gets us Perl 6 stack traces!
moritz_ eternaleye: actually on latest parrot it seems to work with naming it 'trans' too, no 'trans2' rename required
eternaleye moritz_: cool, thanks 08:48
rakudo: given a => 3 { when :( Pair ( Str $key, $value ) ) { say $key } } 08:49
p6eval rakudo cde6ab: OUTPUT«===SORRY!===␤Symbol '$key' not predeclared in <anonymous>␤»
eternaleye Hm
rakudo: given a => 3 { when :( Pair ( Str :key, :value ) ) { say $key } }
p6eval rakudo cde6ab: OUTPUT«===SORRY!===␤traits specified as colon pairs not yet understood at line 11, near ", :value )"␤»
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>␤»
eternaleye rakudo: given a => 3 { when :( Pair ( Str :key($), :value($) ) ) { say 'Yep!' } }
p6eval rakudo cde6ab: ( no output )
eternaleye rakudo: given a => 3 { when :( Pair ( Str :key($), :value($) ) ) { say .key } }
p6eval rakudo cde6ab: ( no output )
eternaleye rakudo: given a => 3 { when :( Pair ( Str $key, $value ) ) { say .key } } 08:51
p6eval rakudo cde6ab: ( no output )
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␤»
moritz_ rakudo: multi sub a( Pair ($key, $value)) { say "$key: $value" }; a 'a' => 3
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␤»
moritz_ what's wrong?
eternaleye rakudo: multi sub a( Pair (Str $key, $value)) { say "$key: $value" }; a( 'a' => 3 )
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␤»
moritz_ rakudo: say ('a' => 3).key
p6eval rakudo cde6ab: OUTPUT«a␤»
moritz_ rakudo: say ('a' => 3).value
p6eval rakudo cde6ab: OUTPUT«3␤» 08:55
moritz_ jnthn: bug? (the dispatch above)
or moritzbug? :-)
masak looks like a rakudobug. 09:04
eternaleye The null PMC access is in the first when clause 09:13
Oh, it had a line number. I added debugging prints, and _then_ I notice that. 09:14
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␤»
masak it's this bug: rt.perl.org/rt3/Ticket/Display.html?id=73608 09:21
moritz_ agreed
masak it's currently impacting Form.pm. 09:22
moritz_ in this easy example it's simple to work around 09:23
but probably not in the general case
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
masak good. then it might actually be doable :)
09:30 Lorn left, Lorn joined 09:32 christine left 09:41 christine joined 09:57 frettled joined
frettled Hiho. 09:57
moritz_ helo 09:58
masak ehlo 09:59
syn syn ack ack
frettled I have one of my probably stupid questions again. 10:00
It's about object-oriented programming :D 10:01
moritz_ shoot
masak question.shoot
moritz_ frettled.shoot(question)
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.
masak Frettled.new(:OO<curious)).shoot(Question.new(:about<OO>))
frettled heh
mathw masak: now it's starting to look like Java
moritz_ like 'given' in Perl 6
masak mathw: I blame $day-job interference :)
frettled: also en.wikipedia.org/wiki/Law_of_Demeter 10:03
moritz_ hey, we could wait until frettled++ actually asked his question :-)
frettled Heh
mathw yeah that might be good 10:04
masak where's the fun in that? :)
mathw well it's distracting me from being angry, so...
masak if frettled cared about his question, he'd have asked it already :P
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
You typically do: vehicle.car.van.drive();
In Simula, we'd write:
(pseudo-codish)
INSPECT vehicle.car.van DO
BEGIN
drive;
masak that's given.
frettled END;
masak as moritz_++ said.
moritz_ given $vehicle.car.van { .drive }; 10:06
frettled Thanks :)
masak or even .drive given $vehicle.car.van;
frettled The question was stupid, but the answer was easy. Phew.
I'll lunch on that! 10:07
moritz_ masak: if it's just one statement, there's no need to use given at all
masak moritz_: s/statement/use of $_/
moritz_ except for poetry, maybe
10:08 agentzh left
masak the old Temporal.pm had a nice line which showed this. 10:09
return sprintf '%04d-%02d-%02d', .year, .month, .day given self;
(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
masak troo
10:10 alanhaggai left
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:12
jnthn morning 10:13
masak jnthn! \o/
jnthn masak! \o/
mathw jnthn!
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!
jnthn o/ mathw
Yay!
masak++
Which bug?
masak rt.perl.org/rt3/Ticket/Display.html?id=73608
moritz_ backtracking
into named rules
jnthn Eww. 10:15
masak & # sushi! 10:16
jnthn Eww. ;-)
10:25 ejs left
cognominal \o 10:27
jnthn o/ 10:29
10:29 ejs joined 10:32 pmurias joined 10:36 Ross left 10:38 ejs left 10:39 azert0x joined 10:40 snarkyboojum joined 10:42 JimmyZ left 10:43 ejs joined 10:53 colomon joined 11:06 gbacon joined 11:34 saaki is now known as Arroz
masak CFP for YAPC::EU ends in two weeks. who else here is planning to be a speaker at YAPC::EU in Pisa? 11:53
11:59 pmurias left 12:01 snarkyboojum left 12:05 bluescreen joined, bluescreen is now known as Guest45088 12:10 takadonet joined
takadonet morning all 12:10
masak takadonet: \o 12:12
12:13 gbacon left
mberends masak: oh, yes, I'd better find a YAPC:EU talk topic. proto, maybe. 12:14
masak oh wow.
mberends (at least it would not be a talk about "failure") 12:15
masak :)
mberends yes, I like. The Perl 6 ecosystem, I mean. 12:16
12:16 snarkyboojum joined
jnthn masak: I submitted already two talks for the YAPC::EU 12:16
masak: I'll be there from Monday
masak: Leaving Saturday
12:16 proller left
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
pugssvn r31034 | colomon++ | [t/spec] Tests for mixed hash / scalar hypers. 12:26
moritz_ random useless statistics: we have commits from 228 different accounts in the test suite 12:27
colomon++ is 6th in the ranking of commit counts
colomon blushes
mathw cool
I don't seem to have the mindset for tests
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
mathw colomon: you've made up for your lateness with a steady stream of commits
I'd suspect most of those 228 are fairly inactive
moritz_ colomon: still you made 368 commits
mathw including mine
moritz_ 14 committers made at least 100 commits 12:29
dalek kudo: 18d9960 | (Solomon Foster)++ | src/core/metaops.pm:
Add mixed hash / scalar hypers.
moritz_ (masak++ needs 7 more to make it into that list)
colomon btw, I think the next spectest landmark to be looking for is 40,000 total tests. :)
we only need to write 248 new tests to make it happen. 12:30
12:30 tao_ joined
tao_ hi 12:30
colomon o/
masak \o
moritz_ colomon: I'm pretty sure we have >40k already
tao_ why rakudo is better then pugs?
moritz_ colomon: they are just not properly counted yet
tao_ in terms of perl6 12:31
masak tao_: it's more actively developed.
moritz_ tao_: pugs hasn't bee devleoped for a few years
so it lacks behind the spec quite a bit
masak tao_: it's further along in most respects.
colomon moritz_: probably. then it should be really easy, right? ;)
tao_ hmm
i see
thanks
masak tao_: are you thinking of writing something for Rakudo? 12:32
tao_ no 12:34
i was thinking of writing something for pugs 12:35
well
i mean
something in perl6
and run in with pugs
moritz_ well, it's a stable platform
masak :)
moritz_ with all the advantages and pitfalls it implies
masak tao_: if you do, we'll be happy to provide tips and answer questions here on #perl6.
12:35 snarkyboojum left
[Coke] bwahahaha. I have managed to volunter to release both parrot & rakudo in July. 12:35
colomon [Coke]++ 12:36
masak [Coke]: that's the perfect time to sneak a trojan into the system! :D
[Coke] it was not intentional, colomon. =-)
moritz_ [Coke]: have the appropriate amount of fun
12:36 JimmyZ joined
[Coke] hopes that's not a bad $DAYJOB week. =-) 12:36
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.
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
It doesn't seem like it would be too hard to implement.
masak colomon: you should try releasing Rakudo in a foreign country, *without a battery charger for your laptop*! :P 12:39
colomon Thoughts? Objections?
masak colomon: yes, probably.
jnthn colomon: Probably, yes.
colomon masak: no thanks, I prefer what little sanity I have left.
masak colomon: because hashes can easily behave as a kind of list.
moritz_ colomon: yes. Tormenting the implementor and user on behalf of TimToady's evil laughter, and so on :-)
colomon masak: well, and lists can contain hashes. 12:40
masak has never heard TimToady's evil laughter
jnthn colomon: The best bit about that release was that I just sat and watched masak do it while sipping on a beer. ;-)
masak colomon: right.
colomon jnthn: awesome. :)
masak jnthn: :D
jnthn riga++
moritz_ masak: neither have I :-)
masak hugme: hug Riga
hugme hugs Riga
colomon is looking forward to hearing TimToady's evil laughter in person later this month. :) 12:41
okay, I'll try to make nested hashes work later today or tomorrow. Unless someone beats me to it... ;)
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 )
[Coke] I'll do it. Unless someone beats me to it.
masak we could call it 'beatsme' :P
jnthn :D 12:43
moritz_ masak: I could write a data mining bot connected to the IRC log database
12:43 Su-Shee left
moritz_ but currently Rakudo + book hacking have much higher priority 12:43
and community hacking, I might add
masak moritz_: well, I was thinking more in terms of real-time data. and people could query for still-open beatsme tasks.
jnthn BTW, #rs tonight? 12:44
[Coke] has too much queueing up on his rakudo&parrot&partcl lists.
jnthn er, #phasers, that is
12:44 ruoso joined
masak dang. 12:44
moritz_ jnthn: I'll miss #phasers today
masak makes his pre-report in #phasers instead :)
[Coke] jnthn: thanks for the parrot fixes last week.
jnthn masak: Yeah, just fire it in there. :-)
mathw witty
very witty
masak :P
jnthn mathw: So shoot me. 12:45
[Coke]: Yeah, we actually have useful backtraces now with those. ;-)
[Coke]: Hopefully they help @other too.
[Coke] jnthn++
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
Is that the intention?
:)
colomon I'll miss #phasers too.
jnthn I like how you're exchanging one light-emitting thingy for another. ;-) 12:48
moritz_ currently researches 4-state phase regeneration for $work 12:49
colomon ;)
mathw is currently manipulating the giant finger of blame into position 12:52
12:57 Guest90053 left, masonkramer joined, lest_away is now known as lestrrat
masak wonder if there's a book out there on the topic "Programming Languages and the cultures they've created around themselves". 13:00
jnthn wishes he'd stop writing ... ? ... ! ... instead of ? ... : in C# 13:01
13:01 gfx left
moritz_ :-) 13:02
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
Or there should be a chapter in the Book
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.
moritz_ what kind of things would you expect there?
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!
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
arnsholt IIRC the Camel book talks a bit about TMTOWTDI, and Perl poetry
13:06 ejs left
arnsholt Maybe golf as well 13:07
mathw definitely talks about TMTOWTDI and poetry
there's even a poem in it
arnsholt Yep
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
13:08 rgrau joined
masak mathw: some of them probably are. the Ruby community seems to have a lot of fun, for example. 13:08
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:10
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.
jnthn masak: If we suddenly got 10x as many people all in one go though, yes, that'd make things quite different.
mathw we'd probably end up retreating to the bunker
13:11 masonkramer left
jnthn
.oO( #bunker )
13:11
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
masak jnthn: seems #bunker is a protected channel. figures :P
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.
mathw definitely
13:13 ejs joined, masak left 13:14 [mark] left, plobsing joined
[Coke] #perl6-n00bs 13:15
moritz_ hopes for a high percentage of quickly adapting newbies :-)
13:19 Su-Shee joined, [Coke] left, kfo_ joined 13:23 kfo left, kfo_ is now known as kfo, ejs left 13:25 [Coke] joined 13:26 skids joined 13:37 kaare joined, kaare is now known as Guest35959 13:42 gbacon joined, dju left 13:43 Wolfman2000 left 13:50 rv2733 joined 13:52 masak joined
masak perhaps someone in here speaks Spanish and wants to write a good reply here? 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:53
moritz_ lol, google translate: "Perl 6" -> "Perl June" 13:56
when I translate into English
it leaves it as a 6 in German
mathw translation software is fun
[Coke] notfound on #parrot is a native spanish speaker, I think. 13:57
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, ejs joined 14:01 JimmyZ left, JimmyZ joined 14:02 uniejo left 14:06 frew joined 14:07 frew left 14:09 dhoss left 14:10 frooh left, JimmyZ left
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:23
moritz_ I think so 14:24
jnthn I think \n is meant to be a "logical" newline.
We're getting something wrong somewhere in that space though.
masak this question is arguably part of my GSoC grant :) 14:26
jnthn ('cus I get some test fails on Win32 as a result...)
Oh cool
I don't have to find and fix 'em then. ;-)
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.
jnthn Su-Shee++
masak jnthn: duly noted.
moritz_ the default input mode should convert CRLF, LF, CR and LFCR all to a single \n 14:28
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:31 plobsing left
masak the phrase 'logical newline' occurs in S05, but not in (say) S02. 14:32
moritz_ S32::IO would be more interesting 14:33
masak chuckles 14:34
S32::IO is... underspecified.
moritz_ and {under,over}engineered
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.
arnsholt ORLY? =D 14:37
jnthn masak: The commit log may just support you in that statement. ;-) 14:38
moritz_ or experience, for that matter
masak arnsholt: YA RLY
arnsholt NOWAI! ^^
14:41 linguist joined 14:44 frooh joined 14:45 linguist left 14:57 clintongormley left 15:03 jaffa4 joined 15:05 jaffa4 left, alester joined 15:14 atomicstack left
moritz_ norway? 15:15
15:16 ejs left 15:21 ejs joined 15:24 clintongormley joined 15:30 ejs left 15:35 Ross joined, ejs joined 15:40 ejs left 15:44 rindolf joined
rindolf Good morning, Perl sixters! 15:44
moritz_ good day
15:44 Ross left
moritz_ I closed an RT ticket of yours yesterday, if I remember correctly 15:44
15:45 Ross joined
moritz_ jnthn++ gets the credit though :-) 15:45
masak time to make noms. Yapsi release later tonight. :) 15:47
have a good #phaser meeting, you folks.
15:47 masak left
Su-Shee food. indeed. garlic-cream-soup. 15:47
dalek psi: 7208eb8 | masak++ | logotype/ (2 files):
[logotype] added
15:48
15:57 ejs joined 16:03 hercynium joined 16:06 justatheory joined
TimToady is back home, with a relatively non-flakey network connection o/ 16:09
TimToady thinks the bogosort is sweet!
16:10 Schwern joined
moritz_ \o/ 16:11
rindolf moritz_: yes, I saw it, I think.
Hi TimToady
diakopter yip yip 16:12
16:13 Ross left 16:14 Ross joined 16:19 patrickas joined
patrickas saba7o perlsixers 16:20
phenny patrickas: 31 May 22:26Z <[Coke]> tell patrickas to check the advent tests in t/spec/integration
patrickas [Coke]: that's where I am adding the missing tests I am finding :-)
16:22 Schwern left 16:24 Schwern joined
[Coke] patrickas: awesome. 16:25
16:25 pmurias joined
pmurias ruoso: hi 16:25
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
rindolf: yes :-) 7 looks like the arabic letter ha' 16:27
rindolf patrickas: ah.
16:28 cdarroch joined, cdarroch left, cdarroch joined
patrickas ? 16:28
16:28 Schwern left
patrickas That did not turn out right :-) 16:29
rindolf patrickas: I see.
en.wikipedia.org/wiki/Romanization_of_Arabic
16:29 meppl joined 16:30 rv2733 left
TimToady ح 16:30
.u ح 16:31
phenny U+062D ARABIC LETTER HAH (ح)
patrickas that's the missing letter :-)
It seems to be one of the hardest letter to pronounce for non natives 16:32
rindolf .u ח 16:33
phenny U+05D7 HEBREW LETTER HET (ח)
rindolf .u þ 16:34
phenny U+00FE LATIN SMALL LETTER THORN (þ)
patrickas rindolf: I don't think that's the equivalent hebrew letter...
rindolf .u Þ
phenny U+00DE LATIN CAPITAL LETTER THORN (Þ)
rindolf patrickas: actually, it is.
patrickas: כ is like ﺥ when not stressed. 16:35
16:35 patspam joined
rindolf patrickas: but many Hebrew speakers pronounce כ like ح 16:35
16:35 Schwern joined
patrickas oh! The think is I always hear the hebrew speakers pronouncing the HAH like a KHAH 16:36
s/think/thing/
or maybe just the ones on tv :-) 16:37
16:39 Trashlord left 16:40 TiMBuS left
rindolf Well we pronounce them both as ﺥ 16:40
patrickas do you know why? has it always been like this? or did the pronounciation change with time ? 16:43
rindolf patrickas: well, it's part of the modern Hebrew pronunciation. 16:47
patrickas: it wasn't always like that. At least not officially.
16:52 Ross left 16:56 justatheory left 16:58 Schwern left 17:03 dakkar left, justatheory joined
patrickas rakudo: .fmt("%b").trans("01" => " #").say for <734043054508967647390469416144647854399310>.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␤»
patrickas I suppose this will be fixed after this week's challenge 17:05
17:05 ejs left 17:11 jaldhar left, jaldhar joined 17:16 pmurias left
pugssvn r31035 | patrickas++ | Added partial test for the one liner at the end of the post. 17:16
awwaiid meta question: I see "has $!foo ..." in some perl6 code. where would I go to figure out what the ! in $! means? 17:19
TimToady you'd look in the index for twigils, '!' 17:20
awwaiid the index of the book I'll have, eh?
jnthn awwaiid: Or WITCH - www.perlfoundation.org/perl6/index.cgi?witch
TimToady 'd is subjunctive, which is (potentially) counterfactual :)
awwaiid so once I figure this out, I should put it in svn.pugscode.org/pugs/docs/u4x/docu...wigils.pod ? :) 17:21
jnthn I'm sure contributions to u4x are most welcome. :-)
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
TimToady rakudo: $!foo
p6eval rakudo 18d996: OUTPUT«Lexical 'self' not found␤ in main program body at line 1:/tmp/sUVDkFpEqh␤»
jnthn std: $!foo 17:23
p6eval std 31034: OUTPUT«ok 00:01 111m␤»
TimToady was hoping rakudo would give a better semantic error
jnthn We probably can.
rakudo: has $!foo;
p6eval rakudo 18d996: OUTPUT«===SORRY!===␤You can not add an attribute to a module; use a class or role␤»
jnthn Aha
We give a good one there.
std: has $!foo;
p6eval std 31034: OUTPUT«ok 00:01 111m␤»
jnthn Semantic I guess. :-)
awwaiid patrickas, actually it talks about non-twigle usages too 17:24
17:24 lichtkind joined 17:25 Chillance joined
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 :)
awwaiid ah yes 17:26
patrickas hehehe incremental search would have made it good enough :-)
TimToady twigil rhymes with sigil, and I pronoune it with a 'j' sound
awwaiid like twijil? fascinating
TimToady I also pronounce pronoune with a 'c' :) 17:27
17:27 mikehh joined
patrickas :-D good comeback 17:27
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? =)
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
17:29 Schwern joined
TimToady I mean voiced alveolar affricative, or any reasonble facsimile accepted by the typical English speaker as the /j/ phoneme :) 17:29
I guess that's usually shortened to "affricate" 17:30
arnsholt Isn't an affricate something like 'ts'?
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 ;)
TimToady that would be an unvoiced dental affricate, yes
well, [ts] can be one or two phonemes
see 'prince' vs 'prints' 17:32
17:32 alester left
TimToady and now we're in the realm of morphophonemics :) 17:32
arnsholt Hooray!
lichtkind mberends: hai 17:33
huf prince has [ts]?
Su-Shee patrickas: *haha* me too. and another half is pronounced in my native tongue or .. french :)
mberends hai lichtkind! 17:34
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.
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]
patrickas I think I have been pronouncing Sigil with a hard g in my head for over a decade :-( 17:37
TimToady slavik: nope
slavik авв
aww 17:38
arnsholt Our local esperantist is masak
TimToady well, most dictionaries allow both pronunciations
Su-Shee patrickas: me too.
slavik forgot to switch from cyrilic ...
TimToady but I think they tend to prefer the /j/
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
patrickas ok then I think i'll head-pronounce twigil with a hard g too :-)
TimToady so I'm studying Japanese instead
slavik I see
arnsholt I think some pronounce the t, but IIRC it's actually hyper-correct
slavik japanese is interesting
arnsholt (re: often)
slavik since there is no proper future tense ...
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.:-)
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. :-)
huf ah, wiki claims they're just variants
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
"Tomorrow I go to the store" 17:42
slavik TimToady: right
17:42 hercynium left
slavik TimToady: but there is no future indefinite? as in sometime in the future I will go to the store 17:42
TimToady there's certainly no "someday I will have gone to the store" :) 17:43
jnthn slavik: Heh, curious. s/british/slavic/ for me. ;-)
Su-Shee that's to called "slacker's future" ;) 17:44
diakopter future perfect?
17:44 azert0x left
arnsholt Mmmm, future perfect. Brings back memories from reading Latin 17:45
patrickas ford prefect!
rindolf I will have gone
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
slavik yeah, when I was learning enlish as a wee lad, we were taught all the tenses and such
I think there are 12 of them? 17:46
TimToady I never counted
slavik needs to say, english class in US is horribly lacking IMO
jnthn 12 sounds familiar.
slavik we got up to like 5 or 6 or something
and we were tested on them, too.
as in say <blah> in such and such tense and such
arnsholt But half of those twelve are perifrastic or with modal verbs, no?
slavik something like that 17:47
arnsholt Like the perfect "I have gone"
TimToady and, of course, many of the distictions are aspectual, not specifically past/present/future
*stinct
arnsholt Not really a proper tense like "I went" =)
TimToady well, for instance, "I go" is not really present tense
huf yeah, you indo-europeans like to mix in weird concepts
TimToady "I am going" is really the present form
arnsholt Yeah, the present tense is a more complicated category than many think 17:48
TimToady "I go" is more timeless
arnsholt Another favourite of mine is "I smoke"
TimToady and in that sense, "I am going" is also the typical future!
17:49 snarkyboojum joined
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 nothingmuch joined
patrickas TimToady isn't that a relatively new addition to english ? using "am ...ing" for the present ? 17:49
TimToady I forget :) 17:50
arnsholt My Middle and Old Enligsh are non-existant, but my guess would be not
TimToady or maybe I am forgetting :)
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
cognominal a/same/the same/
17:51 Schwern left
cognominal arf 17:51
17:51 PerlJam left
patrickas same in spanish 17:51
arnsholt cognominal: I'd argue that it's closer to "I will talk"
TimToady English speakers still tend to use the non-progressive forms for some verbs, such as "forget"
17:51 PerlJam joined
TimToady so the transition is by no means complete even now 17:51
arnsholt Perhaps a telic/atelic thing? 17:52
patrickas with "voy a"
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 ^^
patrickas and just now I realise it is the same in spoken (thou not traditional) arabic!
17:54 Wolfman2000 joined
arnsholt Oooh, I have a book that mentions the history of the "going to ..." construction 17:54
arnsholt tries to find it
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:55
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 ἦν
arnsholt: not offhand 17:57
I only learned enough Hebrew to look things up in books :)
17:57 patrickas left, patrickas joined
rindolf arnsholt: Hebrew only has 4 main tenses : past, medium, future/present and imperative. 17:57
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 ?
rindolf patrickas: no, we don't.
arnsholt rindolf: Yeah, which is why comparing the "odd" pasts in the Greek with the constructions in the Hebrew original
rindolf patrickas: well, in modern Hebrew one can say "I am going to do something."
arnsholt To see if it might be an influence from the original text, or a purely Greek change
patrickas rindolf: same with spoken arabic 17:59
TimToady Japanese has a similar form, though based on 'come' instead of 'go'
rindolf patrickas: ah.
patrickas and i just realized that :-O
arnsholt My book says that "going to ..." as a future in English dates to the fifteenth century
Cites an example from 1439 as "one of the earliest examples" 18:00
TimToady certainly they had "Go to!" as a command back then
to which an appropriate response is "I am going to!"
:)
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 :)
arnsholt Of course, but it's a conjecture I like =) 18:02
Su-Shee mberends: awake? maybe even here? 18:05
18:05 Util joined, ruoso left 18:06 patspam left
mberends Su-Shee: yes, just sipping some Heidelbeerwein :) 18:06
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
mberends: I make you a pastebin.
mberends ok
18:09 patspam joined 18:12 ShaneC joined, ShaneC left 18:14 ruoso joined
mberends the weird stuff you mentioned might be successive members of the MYSQL_FIELD struct, documented about 30% down dev.mysql.com/doc/refman/5.1/en/c-a...types.html 18:14
Util In S32-Containers, Role 'Array' contains 'delete' (method) and ':delete' (adverb).
In contrast, Role 'Hash' contains only the adverb form of delete.
Shouldn't the delete method also be in 'Hash'? 18:15
18:18 Guest45088 left, Guest45088 joined 18:23 hercynium joined 18:26 christin1 joined, posixninja_ joined, snarkyboojum left, colomon left, christine left, pausenclown left, posixninja left, Juerd left, drbean left, bbkr left, ascent_ left, bbkr joined 18:27 ascent_ joined
Su-Shee mberends: pastebin.org/298990 essentially my question is what I can ignore and what I shouldn't. 18:28
mberends: ah, just seen your url.
18:28 drbean joined, pausenclown joined
Su-Shee ok, that explains that. ;) 18:29
18:29 Juerd joined
mberends Su-Shee: you probably need only $field_info[0] 18:30
Su-Shee mberends: yes, that returns the proper stuff.
mberends: but do I plainly ignore what else is in there? 18:31
18:32 ash__ joined, rindolf left 18:34 snarkyboojum joined
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:36
Su-Shee can be ignorant. ok :) 18:37
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.
snarkyboojum Util: and it looks like moritz_ implemented the method form on Hash originally :) github.com/rakudo/rakudo/commit/2fc...870313448b 18:40
Util: so perhaps pick his brain ;)
18:42 estrabd joined, Trashlord joined
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«␤»
patrickas can anyone help with what is wrong here ? 18:44
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
jnthn We have one in RT, I believe.
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
bkeeler #phasers used to be #rakudosketch?
jnthn bkeeler: Yes 18:47
pmichaud: Friendly reminder of ^^, if you're about. :-)
bkeeler Now with added Star Trek jokes
pugssvn r31036 | patrickas++ | Added tests, one of them fails because of a rakudobug
arnsholt .u latin small letter h with dot below 18:53
phenny U+1E25 LATIN SMALL LETTER H WITH DOT BELOW (ḥ)
TimToady patrickas: just translated your example into STDese, and it works correctly under Cursor
patrickas Cursor++ I guess 18:54
even though I have no idea what cursor is!
18:55 LylePerl joined
diakopter it takes only a cursory glance 18:55
LylePerl hi all 18:56
patrickas oh :-)
TimToady in Cursor it works by returning a lazy list of possible matches from the subrule
so it's easy to backtrack into a rule simply by generating its next match from the lazy list
in a sense, backtracking in Cursor is nothing more than throwing away your current conjecture; nothing has to be "undone" 18:57
patrickas Are there any plans for rakudo to implement it the same way ? 18:58
Su-Shee mberends: pastebin.org/299114
TimToady patrickas: dunno, but it's a very clean way to think about it
18:58 aindilis joined
bkeeler It is indeed, Cursor++! 18:59
TimToady it does imply that Cursors are immutable, at least till optimizations get involved
which also imples that, at least in the abstract, there are a number of Cursors out there carrying duplicate state information 19:02
19:02 justatheory left
TimToady but indirection and laziness keep most of those from ever being generated, I hope 19:02
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?
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:04
19:06 jaldhar left 19:07 jaldhar joined 19:08 ruoso left 19:09 Trashlord left
Su-Shee mberends: not yet, I'll add it. 19:10
19:11 patrickas left
Su-Shee done. 19:11
19:12 xinming_ joined
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. :)
mberends: it uses fetchrow_hashref only for some memleak test. 19:14
mberends yes, disappointing
19:16 xinming left
Su-Shee ok, first I need to call my mother and making soothing birthday congratulation sounds. 19:18
19:19 Trashlord joined
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"␤»
snarkyboojum std: my Int|Str $test = 5; say $test;
p6eval std 31036: OUTPUT«===SORRY!===␤Malformed my at /tmp/q4f1l0LgAN line 1:␤------> my Int⏏|Str $test = 5; say $test;␤ expecting any of:␤ multi_declarator␤ scoped declarator␤ typename␤Parse failed␤FAILED 00:02 111m␤»
snarkyboojum pugs: my Int|Str $test = 5; say $test; 19:21
p6eval pugs: OUTPUT«5␤»
snarkyboojum pugs: my Int|Str $test = 22/7; 19:23
p6eval pugs: ( no output )
TimToady that form will probably never be allowed, due to excessive ambiguity 19:24
snarkyboojum but it's still in the spec for now?
TimToady where?
snarkyboojum under polymorphic types in S02
"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
snarkyboojum ah ok
TimToady | and & have other important meanings
19:25 ruoso joined
TimToady and constraints can always be put into a 'where' instead 19:26
snarkyboojum yep - okydoke
19:30 Arroz is now known as saaki, saaki is now known as Arroz, Arroz is now known as saaki 19:31 saaki is now known as Arroz 19:33 Trashlord left 19:34 Arroz is now known as saaki, saaki is now known as Arroz, Arroz left 19:35 BrowserUk joined 19:38 M_o_C joined 19:42 masak joined
masak ahoy, #perl6! 19:42
19:42 jaffa4 joined
jnthn ahoj! 19:42
19:44 macdaddy joined, macdaddy is now known as Guest35747
TimToady ¡ajoy! 19:45
19:48 pjcj joined 19:49 snarkyboojum left 19:50 BrowserUk left 19:51 masonkramer joined 19:52 Trashlord joined 19:55 masonkramer left 19:59 tedv_ joined, charsbar left
masak goes into Yapsi release mode 19:59
19:59 charsbar_ joined 20:01 hercynium left, tedv left, masonkramer joined
masak patrickas: rt.perl.org/rt3/Ticket/[…]lay.html?id=73608 20:02
20:02 Psyche^ joined 20:05 Schwern joined 20:06 Patterner left, Psyche^ is now known as Patterner
TimToady sorear: sorry that my network connection went down hard in the middle of our last conversation 20:06
<sorear> TimToady: Might changing the names of alternatives have broken anything? (ws_03 and ws_05 are now ws_0 and ws_1)
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?
TimToady @a.kv
cognominal thx 20:08
TimToady but then they'll alternate
so you really want @a.pairs
and then .key vs .value
cognominal nice
TimToady of course, those don't interpolate
{.key} {.value} would though
20:09 BrowserUk joined
TimToady <sorear> TimToady: Can you tell me anything about the hacks involved in autolexing EXPR? 20:09
well Cursor.pmc:1810 is one such hack
cognominal hopefully mberends will help me for the french Perl 6 worshop, I don't yet feel up to par to lead it.
mberends++ 20:10
TimToady the basic notion is that if you peek EXPR you should get termish's LTM instead
there have also been hacks in other spots, and if they're still there, they're probably fossils
mberends cognominal: don't worry, I like giving orders ;) 20:12
cognominal :) 20:13
fine with me
TimToady <sorear> TimToady: apparently the .*? -> _SCANf optimization is Really Important / implementing it in viv made STD.pmc 36 times faster 20:14
Um, yes, forgot that one, though I suppose it falls into the category of lazymap avoidance.
cognominal speaking of fossils, I have a patch waiting to be applied to rakudo : paste.lisp.org/display/110983 20:16
dalek psi: 1fffb4a | masak++ | logotype/ (2 files):
[logotype] next iteration
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 wiki.github.com/rakudo/rakudo/whats...nto-rakudo
phenny mberends: I'll pass that on when moritz_ is around.
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. :)
TimToady sorear: because ->callm is very expensive to compute
not saying there might not be a better way, of course 20:25
<sorear> STD.pm, having been compiled with STD.pm, just successfully parsed STD.pm 20:30
\ ⣀ / \☺/ /"\
hmm
\ ⣀ / 20:31
\☺/
/"\
that's better :)
or \ö/ for short
20:34 snarkyboojum joined
masak snarkyboojum! \o/ 20:35
snarkyboojum masak \o/
masak snarkyboojum: guess what day it is? :)
20:35 Schwern left
snarkyboojum yapsi release day? :P 20:35
my dad's birthday?
:)
masak yay! \o/
snarkyboojum o/
masak perhaps that too. say hi from me :)
20:35 Schwern joined
snarkyboojum masak: will do :) 20:35
masak snarkyboojum: I'm seeing if I can get in if statements before cutting the release. :) 20:36
snarkyboojum: let me know what you think of the logotype, by the way.
it still needs a little je ne sais quoi.
20:36 kensanata joined
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.
snarkyboojum yeah, checked it out (earlier) this morning.. pretty cool 20:38
20:39 alester joined, masonkramer left
masak I just made a newer version, because I didn't think the strip was visible enough in the first one. 20:39
it's still not ideal, though. 20:40
snarkyboojum I like the strange loop connotations though :)
foraging& 20:41
masak moritz_++ # idea
moritz_ huh, which idea?
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 wiki.github.com/rakudo/rakudo/whats...nto-rakudo
masak moritz_: the Möbius strip.
lying down, it also looked like an infinity sign. 20:42
TimToady my badge lanyard this past weekend was an unintentional Möbius strip
masak 'unintentional Möbius strip' sounds like a good name for a rock band. 20:43
bkeeler I hate it when my seatbelt does that 20:44
masak your seatbelt is a loop? o.O
bkeeler Well, not quite, but sometimes it seems to have a half-turn that I can't get rid of
20:44 moritz_ sets mode: +oo masak snarkyboojum
masak I know the feeling. 20:44
some days are like that. :) 20:45
20:48 M_o_C left 20:49 drbean left, drbean joined 20:50 pmurias joined
pmurias ruoso: ping 20:50
dalek psi: 49e6a6b | masak++ | README:
[README] some more guidance about alpha
20:53
20:54 Su-Shee left, Guest35959 left 20:59 Squern joined, Schwern left, Squern is now known as Schwern
frettled ~/It's hip to be a Schware/~ 21:03
m6locks lol
21:09 justatheory joined 21:11 azert0x joined
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:12
jnthn masak: It must unconditionally be released on the first of the month? :-) 21:16
masak trust jnthn to make a pun out of something :P 21:17
21:21 Guest45088 left 21:23 whiteknight joined
dalek psi: 8de9d4d | masak++ | doc/ChangeLog:
[ChangeLog] updated
21:24
21:26 jaffa4 left 21:29 Schwern left 21:30 envi^home left
dalek psi: 2965085 | masak++ | doc/announce/2010.06:
[doc/announce/2010.06] added
21:30
masak I cordially invite people to proof-read the announcement with me. :) 21:31
21:31 gbacon left
jnthn "mien"? 21:33
masak I felt a bit French tonight. :)
there is such a word, though. I checked.
jnthn Yeah, I had to.
snarkyboojum I've even used it in conversation before :P
an English one
masak++ # for witty yapsi release announcement :) 21:34
masak thanks.
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
masak snarkyboojum: I have?
snarkyboojum yeah - but the only change being a logo :)
*by
or have I missed something..
masak snarkyboojum: well, something compiled with Yapsi 2010.05 still won't run under Yapsi 2010.06 :P
as a matter of principle. 21:36
snarkyboojum ah SIC version bumps?
masak aye.
always after the release.
snarkyboojum right :)
good fun :) 21:37
21:37 justatheory left
masak hopefully next month we'll have an actual feature or so :) 21:38
I'm halfway through having if statements working. they already parse fine.
snarkyboojum I'll help you put something in there next month :)
masak \o/ 21:39
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
masak aye.
release announcement sent to p6c. 21:42
21:44 justatheory joined
masak ...and blog post's away! use.perl.org/~masak/journal/40372 21:46
masak exhales
jnthn masak: Will you submit a YAPC talk about Yapsi?
masak I don't think I'll be able to resist.
jnthn ;-) 21:47
jnthn is already looking forward to it :-)
21:47 ruoso left
masak and we'll call the August release "EU" :P 21:47
jnthn :D
21:49 skids left
snarkyboojum rakudo: "tes.t".subst(/<-[\.]>/, 'A', :g) 21:53
p6eval rakudo 18d996: ( no output )
snarkyboojum rakudo: say "tes.t".subst(/<-[\.]>/, 'A', :g)
p6eval rakudo 18d996: OUTPUT«AAA.A␤»
snarkyboojum rakudo: "tes.t".subst(/<-[\.]>/, $0, :g)
p6eval rakudo 18d996: OUTPUT«Method 'postcircumfix:<[ ]>' not found for invocant of class ''␤ in main program body at line 1␤»
snarkyboojum that doesn't work in current rakudo? 21:54
using $0 like that?
masak snarkyboojum: (1) you'd need to put it in braces to have it evaluate after the match. 21:55
snarkyboojum: (2) no :/
alpha: say Nil.defined 21:56
p6eval alpha 30e0ed: OUTPUT«0␤»
snarkyboojum masak: ah thanks, but putting it in braces should work eventually?
masak it used to.
in alpha, it works.
21:57 justatheory left
snarkyboojum I'm trying to get $url.subst(/(\W & <-[\.]>)/, {sprintf('%%%02X', ord($0))}, :g); going on rakudo 21:57
masak Rakudo master?
snarkyboojum but \W & <-[\.]> is causing issues as well as the $0
yeah
it's obviously not working as is :)
masak no.
21:58 Schwern joined
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.
snarkyboojum this kind of support planned for rakudo *?
masak I hope so. 22:00
snarkyboojum me too.. would result in a large usability jump I think
jnthn I really hope the $/ in subst closure thing will be fixed for R*, yes. 22:02
rakudo: my $x = 'helo'; $x ~~ s/l/$0$0/; say $x;
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
..11:/tmp/GVDzNX9vcU␤»
jnthn At least it tells us where we need to fix things in the setting. :-) 22:03
snarkyboojum jnthn++ :)
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:06
snarkyboojum is the (\W & <-[\.]>) in the example above legal? 22:07
the ampersand... 22:08
jnthn std: /(\W & <-[\.]>)/
p6eval std 31036: OUTPUT«ok 00:01 116m␤»
jnthn Yeah
Thought so, but just wanted to check std agreed.
snarkyboojum but rakudo has an issue with it atm
jnthn I don't think we implement that in Rakudo yet though.
snarkyboojum rightio
jnthn Don't know that alpha had it either.
22:09 posixninja_ left
snarkyboojum alpha: say "tes+t".subst(/\W & <-[\.]>/, 'A', :g) 22:10
p6eval alpha 30e0ed: OUTPUT«tesAt␤»
snarkyboojum looks like it worked
22:12 justatheory joined
dalek psi: 53608b3 | masak++ | lib/Yapsi.pm:
[Yapsi] bumped SIC version

upcoming release.
22:12
psi: 87dd785 | masak++ | logotype/ (2 files):
[logotype] brighter
22:14 pjcj left 22:32 xomas_ joined
snarkyboojum rakudo: say Nil.defined 22:33
p6eval rakudo 18d996: OUTPUT«0␤»
snarkyboojum rakudo: say ().defined
p6eval rakudo 18d996: OUTPUT«0␤»
masak buubot: eval say defined () 22:34
buubot masak: ERROR: syntax error at (eval 38) line 1, near "say defined"
masak buubot: eval defined () 22:35
buubot masak: No output.
masak buubot: eval print defined ()
buubot masak: 1
masak should be 1 in Rakudo as well.
snarkyboojum yeah 22:36
masak there's an RT ticket about it: rt.perl.org/rt3/Ticket/Display.html?id=74916 22:37
I eval'd it for alpha to see whether it was a regression or not.
snarkyboojum ah - masak++
masak and empty list (or capture or whatever it's called) is false when boolified, but it's still defined.
snarkyboojum rakudo: say ?() 22:38
p6eval rakudo 18d996: OUTPUT«0␤»
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.
again, by spec, not by current Rakudo.
snarkyboojum oky doke
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
p6eval rakudo 18d996: OUTPUT«[]␤»
masak if statements, loops, functions. we might get that far before next release, if we're lucky.
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
masak sure thing. 22:41
thanks for the fine collaboration so far. it's fun to be writing a Perl 6 implementation with you. \o/
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.
hm, time to go to sleep over here. :) 22:43
'night
22:43 pmurias left, masak left 22:44 Schwern left
Tene aw, ENOMASAK 22:45
22:50 Schwern joined 23:00 skangas left 23:04 orafu left 23:06 orafu joined, cdarroch left 23:29 Schwern left
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:36 clintongormley left 23:37 Schwern joined 23:40 lichtkind left
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,␤)␤»
TimToady something like that
sorear ...WARNING?
TimToady you aren't Will Robinson?
TimToady is now only about 30 hours behind in backlogging... 23:44
23:45 justatheory left
sorear TimToady: consider $<x> = y? 23:46
assertion:var and gimme5 both parse the RHS of = as quantified_atom
TimToady haven't got there yet
sorear so the parse tree looks like RE_bindnamed(RE_quant(...)) 23:47
yet, gimme5 generates the _OPTr call on the *outside*
at first I thought this was a bug in @*BINDINGS usage, but now I am not so sure
TimToady oh, I thought your ? was meta :)
metaer
looks like maybe a bug to me 23:48
23:49 skids joined
sorear it will be added to viv, for now, in the name of compatibility 23:49
STD.pm6 +5031 depends on it
23:50 justatheory joined
sorear why are bindnamed and bindpos separate? 23:51
TimToady ah, okay, same for STARr, etc 23:53
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
TimToady so there's a sense in which the quantifier is outside
sorear binding /to/ the optonal paren, however, seems to result in $<binding> being a string 23:56
which is quite useless to viv
23:56 Schwern left
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
OPTr is special cased to not do that, actually
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 []
but not arraying ? is non-spec
it might date from when non-arraying it *was* spec :) 23:58
so it should really have C->{'binding'} = []; above to do it by spec 23:59