Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-03-17

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:00 TimToady rakudo: for $*.lines { .say }
00:00 p6eval rakudo f67670: OUTPUT«Confused at line 11, near "for $*.lin"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
00:00 jnthn rakudo: for $*IN.lines -> $l -> { say $l.flip }
00:00 p6eval rakudo f67670: OUTPUT«Missing block at line 11, near "-> $l -> {"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
00:00 drake1 cool
00:00 jnthn rakudo: for $*IN.lines -> $l{ say $l.flip }
00:00 TimToady rakudo: for $*IN.lines { .say }
00:00 p6eval rakudo f67670: OUTPUT«,emortS ma dnaL ,egreB red dnaL␤,emoD red dnaL ,rekcÄ red dnaL␤!hcierstfnukuz ,remmäH red dnaL␤,enhöS reßorg ud tsib tamieH␤,enöhcS sad rüf tedangeb ,kloV␤,hcierretsÖ setmhüregleiv␤!hcierretsÖ setmhüregleiv␤␤nettirtsmu dliw ,tedhefmu ßieH␤,nettimni ud lietdrE med
00:00 p6eval ..tsgeil␤.hcielg nez…
00:00 p6eval rakudo f67670: OUTPUT«Land der Berge, Land am Strome,␤Land der Äcker, Land der Dome,␤Land der Hämmer, zukunftsreich!␤Heimat bist du großer Söhne,␤Volk, begnadet für das Schöne,␤vielgerühmtes Österreich,␤vielgerühmtes Österreich!␤␤Heiß umfehdet, wild umstritten␤liegst dem Erdteil du inmitten,␤einem
00:00 p6eval ..stark…
00:00 wolf2k_ubuntu joined #perl6
00:01 TimToady std: for $*IN.lines -> $l{ say $l.flip }
00:01 p6eval std 30105: OUTPUT«ok 00:01 109m␤»
00:01 TimToady I guess it lets you leave out the space before that {
00:02 TimToady but only because $l is in a sig
00:02 jnthn TimToady: Oh, I did that by accident. :-)
00:02 jnthn Meant to have the space.
00:06 bkeeler You spaced the space?
00:08 TimToady no, he blanked
00:09 bkeeler hehe
00:09 jnthn <groan>
00:09 drake1 gotta rest. next time with perl6 or rakuda installed, i'll probably return with more stupid question. bye
00:10 TimToady o/
00:10 japhb joined #perl6
00:10 jnthn Anyone fancy looking at our s/// test coverage?
00:11 bkeeler nqp: say(pir::split("::", "foo::bar::baz"))
00:11 p6eval nqp: OUTPUT«[ "foo", "bar", "baz" ]␤»
00:11 jnthn rakudo: class Beer { method taste-good() { } }; say Beer.can('taste-good')
00:11 p6eval rakudo f67670:  ( no output )
00:11 jnthn :-/
00:11 jnthn rakudo: class Beer { method taste-good() { } }; say ?Beer.can('taste-good')
00:11 bkeeler Any reason why Rakudo source uses pir::split__PSS when pir::split seems to work just fine?
00:11 p6eval rakudo f67670: OUTPUT«Method 'Bool' not found for invocant of class 'P6Invocation'␤current instr.: 'prefix:<?>' pc 235914 (src/gen/perl6-actions.pir:18171)␤»
00:11 jnthn bkeeler: pessimism.
00:12 bkeeler Heh, fair enough
00:12 jnthn bkeeler: It takes me a lot less time to type the op signature that I know than it does for me to compile and then find out it's one of the ones that the compiler toolkit knows.
00:13 bkeeler My problem is I don't know all the signatures, so it's nice that NQP does
00:13 jnthn Well, find out it's *not* in a lot of cases. :-)
00:13 jnthn Yes, it's nice when it does. :-)
00:13 jnthn Feel free to just use pir::split
00:13 jnthn I don't mind at all if it works. :-)
00:15 daemon joined #perl6
00:15 dalek rakudo: 3a03034 | jonathan++ | src/Perl6/ (2 files):
00:15 dalek rakudo: Get the $bottle ~~ s[full] = 'empty' syntax working too.
00:15 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​a030342f62ca44da2130f19f75e19e4ee169f33
00:15 dalek rakudo: 05086a3 | jonathan++ | docs/ROADMAP:
00:15 dalek rakudo: Add 'basic s///' to the done section of ROADMAP. One priority #1 item down for Rakudo Star.
00:15 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​5086a3f56479416b294a04adf27c1c37c3b7448
00:16 bkeeler Holy shit, it's taken 45 minutes to copy a 300M file from one machine at work to another.  It only took a couple minutes to download it from the internet in the first place
00:17 bkeeler Gonna hafta gripe at the network admins
00:17 jnthn The TCP/IP by carrier pigeon RFC was *meant* to be a joke.
00:19 bkeeler It wouldn't surprise me much if there were avian carriers involved
00:19 bkeeler the $work network is such a clusterfuck of SONET rings, VLANs and firewalls it's a wonder anything ever works
00:21 bkeeler Thankfully none of the safety critical stuff goes over it
00:21 bkeeler Well, not much anyway
00:22 bkeeler If you ever visit Portland, feel free to ride our wonderful trains and relax comfortably with the knowledge that your train *probably* won't be routed into another one due to an errant packet
00:23 jnthn Heh, I *did* visit Portland and ride the trains once. :-)
00:23 justatheory joined #perl6
00:23 lue which portland?
00:23 bkeeler Oregon
00:24 TimToady well, at least you know the natives will be friendly as the trains collide.
00:24 TimToady Portlanders seems to have negative inhibitions about talking to each other on the train.
00:25 TimToady it's almost a requirement...
00:25 bkeeler And it's comforting to know the drivers are sloshed on really *good* beer
00:26 jnthn The beer in Portland *was* good.
00:26 jnthn It's partly to blame for my involvement in Rakudo.
00:26 bkeeler Hmm, probably shouldn't be saying all this with my real name on a public network
00:27 bkeeler I wonder if I'll still have a job tomorrow
00:27 bkeeler to my bosses:  You didn't read any of this.  Go about your business.  Fnord.
00:27 TimToady well, if not, they'll be very friendly about it
00:28 TimToady I blame the Oregon Trail.
00:35 colomon jnthn: finally back and caught up.  I think you figured out the X and Z issue on your own there?
00:37 snarkyboojum joined #perl6
00:38 nihiliad joined #perl6
00:38 yinyin joined #perl6
00:39 jnthn rakudo: say (1,2,3) Z ('a','b','c')
00:39 p6eval rakudo 8b09f6: OUTPUT«Confused at line 11, near "say (1,2,3"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
00:39 jnthn That's what's broken, right?
00:39 jnthn I think I have a fix.
00:39 jnthn Will know in a few minutes.
00:39 colomon well, that's broken because I turned it off.
00:39 jnthn Well, or properly after a spectest run.
00:39 jnthn Right
00:40 jnthn I worked that bit out. I've turned it back on with a fix.
00:40 jnthn Hopefully
00:40 jnthn :-)
00:40 colomon what was happening was 1, 2 Z- 3, 4 was getting parsed as 1, 2 Z -3, 4
00:40 jnthn Right.
00:40 colomon well then, \o/ if you have a fix!
00:40 jnthn rakudo: say (1, 2 Z- 3, 4).perl
00:40 daemon joined #perl6
00:40 p6eval rakudo 8b09f6: OUTPUT«GatherIterator.new()␤»
00:40 jnthn grrrRRRrr.
00:40 jnthn rakudo: say (1, 2 Z- 3, 4).eager.perl
00:40 p6eval rakudo 8b09f6: OUTPUT«(-2, -2)␤»
00:41 colomon looking good!
00:41 jnthn OK, let me see what does with my local fix.
00:46 jnthn colomon:
00:46 jnthn > say (1, 2 Z- 3, 4).eager.perl
00:46 jnthn (-2, -2)
00:46 jnthn > say (1,2,3) Z ('a','b','c')
00:46 jnthn 1a2b3c
00:46 jnthn \o/
00:46 colomon \o/
00:46 jnthn spectesting.
00:46 jnthn (plus a .can fix...which gets us a long way into S12-attributes/instance.t
00:46 jnthn )
00:46 colomon sweet!
00:47 jnthn Yeah, there's like 130 or so tests in there.
00:47 jnthn We make it up to 76 or so before we blow now.
00:47 jnthn Rather than, like, 3.
00:47 jnthn (Mostly as a result of the other fixes I did yesterday, mind.)
00:47 snarkyboojum rakudo: say 1,2,3 Z* 4,5,6
00:47 colomon the worst are the ones that are 3 with two fudges.  :)
00:47 p6eval rakudo 05086a: OUTPUT«41018␤»
00:48 colomon rakudo: say (1..* Z* 4..*).batch(3).perl
00:48 p6eval rakudo 05086a: OUTPUT«(4, 10, 18)␤»
00:49 jnthn TimToady: If I have an "our multi foo() { }" and an "multi foo($x) { }" and do foo(), does it work out?
00:49 jnthn That is, does the lexical multi also incorporate any candidates installed in the namespace?
00:49 jnthn Or does it hide them?
00:49 * jnthn needs to get lexical multi combination a bit more sorted soonish...
00:50 colomon rakudo: my $a = &infix:<+>; say $a ~~ Code; say $a.count;
00:50 p6eval rakudo 05086a: OUTPUT«1␤Method 'count' not found for invocant of class 'Perl6MultiSub'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
00:50 colomon jnthn: Is that expected?
00:50 jnthn Well, it doesn't surprise me... :-)
00:50 jnthn But maybe it should.
00:50 jnthn :-)
00:51 colomon should surprise you or should work?  ;)
00:51 jnthn What should it do if it did work?
00:51 colomon 2, right?
00:51 jhuni joined #perl6
00:51 jnthn Or more generally, for multi foo() { } and multi foo($x) { }, what is &foo.count?
00:51 colomon it's infix:, after all.
00:51 colomon oooooo.
00:52 jnthn Well, but the reduce meta-op fallbacks are infixes with 0 or 1 arity, iirc.
00:52 nihiliad joined #perl6
00:52 jnthn So [*] () knows to be 1 and all that lot.
00:52 jnthn This is where TimToady interjects and tells us we shouldn't be doing introspection anyway, probably. :-)
00:53 jnthn (no, there isn't currently another way...)
00:53 jnthn For now though you can cheat a bit.
00:53 colomon other than calling and seeing if anything blows up?  :)
00:53 jnthn my $count = $sub ~~ Multi ?? $sub.candidates[0].count !! $sub.count
00:53 jnthn maybe
00:54 colomon don't we have to do introspection to know how many arguments to pass to the code block?
00:54 jnthn Now, yes
00:54 jnthn There's also an idea that you can invoke with an iterator instead of a capture
00:54 Guest5910 joined #perl6
00:54 jnthn And it will steal the number of arguments it wants from the iterator
00:54 jnthn But it's not really spec'd yet and a bit scary to implement
00:54 jnthn So we need to go the introspection route for now.
00:55 colomon interesting notion, that.
00:55 jnthn Yeah, but a bit scary to implement. :-)
00:55 jql joined #perl6
00:56 colomon it would require being able to unshift things to the iterator.
00:56 colomon but that's doable...
00:56 daemon joined #perl6
00:57 colomon but I'm definitely with you on the scary to implement part.
01:00 snarkyboojum rakudo: say (1..* Z* 10..*).batch(5).perl
01:00 p6eval rakudo 05086a: OUTPUT«(10, 22, 36, 52, 70)␤»
01:01 TimToady jnthn: even with 'our multi', you still get the name in the lexical scope, so I don't see any reason to look into the current namespace unless you want to look for functions that someone has poked there at run time
01:01 snarkyboojum rakudo: say (1..*).WHAT
01:01 p6eval rakudo 05086a: OUTPUT«Range()␤»
01:01 TimToady in which case, it should look there as a last resort
01:05 jnthn TimToady: hmm
01:05 jnthn TimToady: if I have
01:06 colomon should iterators have a .skip($n) method to skip ahead?
01:06 jnthn multi foo(Int $x) { 'a' }; { multi foo($x) { 'b' }; foo(42) }
01:06 jnthn Do I get a or b?
01:11 mberends rakudo: my $a="foo:"; given $a { when / ^ (\S+) \: / { say "found" }; default { say "failed" }; }; # from proto
01:11 jnthn colomon: pushed fixes for X and Z
01:11 p6eval rakudo 05086a: OUTPUT«failed␤»
01:11 mberends rakudo: my $a="foo:"; given $a { when / ^ (\S+) ':' / { say "found" }; default { say "failed" }; }; # from proto
01:11 p6eval rakudo 05086a: OUTPUT«failed␤»
01:11 colomon \o/
01:11 jnthn rakudo: say "foo:" ~~ / ^ (\S+) \: /
01:11 colomon trying parrot 2.2.0 with rakudo now.
01:11 p6eval rakudo 05086a: OUTPUT«␤»
01:12 jnthn rakudo: say "foo:" ~~ / ^ \S+ \: /
01:12 p6eval rakudo 05086a: OUTPUT«foo:␤»
01:12 mberends locally ':' matches but \: does not
01:12 jnthn Damm, it's the same capturing fubars backtracking bug that bkeeler noticed earlier.
01:12 dalek rakudo: c053d61 | jonathan++ | src/pmc/p6invocation.pmc:
01:12 dalek rakudo: Fix .can.Bool.
01:12 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c​053d6160564e3a844775b3cbfd3aeb4f7fe3323
01:12 dalek rakudo: 1120182 | jonathan++ | src/ (2 files):
01:12 dalek rakudo: Re-enable infix:<Z> and infix:<X> with a tweak so Z- style meta-ops still parse correctly.
01:12 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​120182ed2f364bc0a6a2a5b844abea3b70d8ff9
01:12 jnthn rakudo: say "foo:" ~~ / ^ (\S+) ':' /
01:12 p6eval rakudo 05086a: OUTPUT«␤»
01:12 szbalint joined #perl6
01:12 jnthn orly?
01:13 sorear ooh fun people are designing IO now.
01:13 bkeeler It's possible to work around it with / ^ $<something>=[\S+] ':' /
01:14 jnthn Yeah
01:14 jnthn We should try and fix the underlying bug at some point
01:14 jnthn But I don't have the energy to go hunting that today.
01:14 mberends will work around in proto
01:15 jnthn Cool
01:15 TimToady you should get a as the better match
01:16 jnthn TimToady: OK, I figured so. So, why/how?
01:16 jnthn TimToady: That implies that we merge the candidates into one candidate list.
01:16 jnthn TimToady: Which is fine
01:16 jnthn TimToady: So long as you also expect:
01:16 TimToady yes, which is what I've been calling &foo in the inner lexical scope consistently
01:16 jnthn multi foo($a) { 'a' }; { multi foo($a) { 'a' }; foo(1) } # ambiguous dispatch, fails
01:17 jnthn That's fine, I'm just trying to get the exact semantics down so I stand a vague chance of getting it implemented correctly. :-)
01:17 TimToady well, unless we use the scoping as a tiebreaker
01:17 jnthn I...don't want to go there.
01:17 jnthn :-/
01:17 jnthn Well, conservative approach is it fails. We can unfail it in the future I guess.
01:19 jnthn Anyway, I'll try implementing that soonish.
01:19 jnthn Then fix lexical imports of multis to merge rather than clobber.
01:19 lue I can has something to fix? :)
01:20 jnthn lue: Of course. :-)
01:20 TimToady well, S12:1007 uses the word "hides" for outer multies with the same longname
01:20 jnthn Ah
01:20 gabiruh joined #perl6
01:20 jnthn That suggests signature comparrisons, no?
01:20 jnthn Or at least partial...
01:21 jnthn And then I fear things get...really nasty.
01:21 TimToady we just need a sig canonicalizer
01:21 TimToady then it's a string comparison
01:21 daemon joined #perl6
01:22 jnthn If we can come up with a sane canonicalization that does the right thing, I guess that can work.
01:22 quietfanatic joined #perl6
01:24 jnthn Hmm, this one's true for Rakudo dev too... http://blogs.perl.org/users/ovi​d/2010/03/enterprise-perl.html
01:28 colomon :)
01:28 colomon actually compiling at the moment.  ;)
01:28 jnthn :-)
01:28 lue any problem that needs tackling at the momen? :)
01:28 lue OOPS moment
01:29 sorear lue: the rakudo stage1 compiler uses too much memory
01:29 lue I know that more than anyone :D
01:29 lue [probably]
01:30 sorear well ... it still needs tackling
01:30 snarkyboojum go lue!
01:30 lue the stage1 compiler being executed when? make I'm assuming? Then where is it? Help! (reference to Beatles)
01:31 jnthn lue: If you want some slightly lower hanging through, maybe look at t/spectest.data
01:31 jnthn Maybe try and tackle getting these to pass again:
01:31 jnthn # S32-array/pairs.t
01:31 jnthn # S32-array/rotate.t
01:31 jnthn # S32-array/exists.t
01:31 jnthn Probably all can be done in Perl 6. :-)
01:32 lue "lower hanging" means... "less of a challenge"?
01:32 snarkyboojum "quick wins" :P
01:32 jnthn Stuff that doesn't require deep guts skillz but still is very valuable. :-)
01:32 jnthn (because it gets more passing tests!)
01:32 lue ExegesisMan, I choose you!
01:32 colomon more passing tests!  more passing tests!
01:32 snarkyboojum ooh sorry - "quick winz" :)
01:32 * lue away!
01:33 sorear lue: yes, the stage1 compiler is used only during make.
01:33 mberends did he flue away?
01:34 lue no, I meant that in a heroic tone "Batman, Away!"
01:34 lue Awaaaaaaaaaaay!
01:35 snarkyboojum rakudo: say (1,2 Z+ 3,4).perl
01:35 p6eval rakudo 05086a: OUTPUT«GatherIterator.new()␤»
01:36 snarkyboojum rakudo: say (1,2 Z+ 3,4).batch(2).perl
01:36 p6eval rakudo 05086a: OUTPUT«(4, 6)␤»
01:36 snarkyboojum should I be able to get (4, 6) without having to use batch?
01:36 * sorear makes his presense known to jnthn
01:36 jnthn OMG sorear!
01:36 lue (good thing I got something to do. I was about to start coding an SNES emulator in P6 with SDL)
01:37 snarkyboojum rakudo: say (1,2 Z+ 3,4).eager.perl
01:37 p6eval rakudo 05086a: OUTPUT«(4, 6)␤»
01:37 sorear uh... you can't use SDL in P6.
01:37 snarkyboojum I guess that's it eh
01:37 jnthn sorear: I need to sleep soon...any questions on Blizkost or other bits before I do so?
01:37 sorear Not until jnthn/Tene/I fix :from<> parsing
01:37 sorear Well, I suppose you could do it with Q:PIR
01:37 jnthn :from parsingworks.
01:37 jnthn *works
01:37 jnthn It just ignores it righ tnow.
01:38 jnthn gah, typing FAIL.
01:38 jnthn sorear: If you see src/Perl6/Module/Loader.pm in method need, there's a %adverbs or so.
01:38 lue Heck, I have more problems with my keyboard, especially if the computer's doing something :)
01:38 jnthn :ver and :auth get passed in there, which is what it cares about for now, but a :from will too.
01:38 sorear how about :anythingelse
01:38 jnthn Yes, that to
01:38 jnthn :-)
01:39 sorear it's an open parser?  neat
01:39 jnthn It parses colonparis and tosses 'em in. :-)
01:39 jnthn We maybe should make it check to see it knows what to do with them at some point.
01:39 lue colomon must get woozy from all that tossing...
01:39 lue (oh wait, misread :D )
01:40 jnthn I did realize that if you're just being plain evil you can swap out the module loader for a different one though ;-)
01:40 jnthn (if you know the right place to poke the guts)
01:40 mberends in zavolaj we had to toss the adverbs from the call to need() :-(
01:40 colomon I am feeling kind of woozy, actually.
01:40 jnthn mberends: ?
01:40 mberends there may be a buglet there.
01:40 jnthn We didn't have need when we writzed Zavolaj. ;-)
01:41 jnthn What am I missing?
01:41 * mberends searches
01:41 jnthn yes, buglet I can imagine.
01:42 sorear jnthn: that's a good thing, it means I don't have to wait 9 hours after writing a new module loader.
01:43 jnthn Only if it doesn't take you 9 hours to work out which bits of guts to poke. ;-)
01:43 jnthn Also, I never told you this was possible. :-)
01:44 lue The Perl 6 motto tells us for you, jnthn. :)
01:44 lue s/The/A/
01:44 jnthn It said "the hard", not "the sick" :-)
01:45 mberends jnthn: Perll6/Module/Loader.pm:7 method need($name, %name_adverbs?) # the ? was added so that zavolaj could omit the adverbs
01:45 lue sick augments hard :D
01:45 lue that's all :)
01:45 jnthn mberends: oh? I thought we did that so you could use it as a poor mans require for FakeDBI?
01:46 jnthn Though maybe I misunderstood.
01:46 jnthn Or misremember.
01:46 mberends jnthn: you may well be right on that
01:46 mberends (collective amnesia)--
01:46 * mberends needs sleep
01:46 jnthn I'm sure it was because require was not implemented, and then I looked at the spec and decided I hated how require was spec'd, so didn't implement it. :-)
01:47 jnthn Yeah, same here
01:47 mberends \o #perl6
01:47 jnthn o/
01:47 colomon o/
01:47 lue o/ (oop!)
01:47 jnthn ETOOLATE
01:48 sorear jnthn: Do we have a list of modules that should be usable in p6 by R*?
01:48 jnthn sorear: modules as in Perl 6 modules, or as in Perl 5 modules via Blizkost?
01:49 jnthn (The answer is no for both though...)
01:49 sorear the answer is "yes"
01:49 jnthn oh
01:49 jnthn :-)
01:49 sorear valid solutions include: porting, making them work with Blizkost, others
01:49 jnthn Ah, I see
01:50 lue I plan on developing a bunch of modules when 楽土 is more mature.
01:50 jnthn DBI through Blizkost is less urgent now in some ways, but is nice to have if we can, because our Perl 6 "FakeDBI" or whatever will not support all the drivers the Perl 5 one does.
01:50 lue Including the jnthn omnisub :D
01:50 jnthn LWP and that lot would probably be rather nice to have though.
01:51 jnthn Again, some will be possible through Perl 6, some not.
01:51 jnthn I dunno, CPAN is so vast, and people have so many different needs.
01:52 pugssvn r30106 | colomon++ | [t/spec] Unfudge infix:<Z> tests.
01:52 dalek rakudo: e3937f7 | (Solomon Foster)++ | build/PARROT_REVISION:
01:52 dalek rakudo: Bump Parrot to 2.2.0.
01:52 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​3937f789264507d584a2211b616b5ec8fcbf263
01:52 dalek rakudo: 72046f9 | (Solomon Foster)++ | src/core/Any-list.pm:
01:52 dalek rakudo: Don't assume that a Code block will know how to .count.
01:52 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7​2046f9cf5adbee29b29d57302718ab554817677
01:52 lue I propose CP6AN! (as a subdomain, or cateogry, at least)
01:53 jnthn sorear: Dunno if there's some "most used" metrics somewhere we could draw on too.
01:53 bkeeler A lot of the CPAN stuff is rather old and would probably be worth refreshing with a more up-to-date role-ish object model anyway
01:53 sorear jnthn: CPAN, as a matter of policy, does not provide usage metrics.
01:54 sorear http://www.cpan.org/misc/cpan-​faq.html#Plans_for_statistics
01:54 bkeeler And I firmly believe that core protocol implementations should use async IO under the hood
01:54 PerlJam joined #perl6
01:54 bkeeler Something POE-like (though with modernised object model) would be a good project
01:54 jnthn bkeeler: Yes, though pragmatically a lot of stuff on CPAN exists and a lot of Perl 6 modules don't yet exist. :-)
01:56 pugssvn r30107 | colomon++ | [t/spec] Refudge now that infix:<X> is back.
01:56 jnthn A situation I expect to change with time and adoption, but I expect making a decent chunk of CPAN accessible from Perl 6 will help adoption and help get that process some more momentum.
01:56 lue Paranomal Object Environment (can anyone see the reference?)
01:56 bkeeler momentum is good
01:57 bkeeler Though kinetic energy is better.  Momentum is too conservative ;)
01:57 pugssvn r30108 | colomon++ | [t/spec] Unfudge two tests now that infix:<Z> is back.
01:58 pugssvn r30109 | colomon++ | [t/spec] Unfudge four tests now that infix:<Z> is back.
01:58 colomon jnthn++
01:58 jnthn :-)
01:59 jnthn According to http://github.com/rakudo/rakudo/b​lob/master/docs/release_guide.pod the release manager this month is smash.
01:59 colomon smash?
01:59 * jnthn sees no smash here
01:59 lue .oO(maybe adding ++ to the end of a jnthn omnisub would allow for augmented power...)
01:59 bkeeler Good. Instant mashed potatoes are the work of the devil
02:00 sorear what's the point of POE anyway
02:01 bkeeler It's a framework upon which to build event-driven async sort of stuff
02:01 lue other than capturing its soul and making a few rupees, not much (o wait...)
02:01 bkeeler I've never actually used it, personally, but it has its fans
02:01 jnthn Ah, I think smash can me found on #parrot
02:02 jnthn OK, I *really* need sleep
02:02 jnthn night o/
02:02 bkeeler G'night
02:02 colomon \o
02:02 colomon and same here
02:02 sorear good night
02:02 colomon sleeeeeep
02:02 lue night colomon, jnthn
02:05 hudnix joined #perl6
02:18 lue afk
02:18 sorear is there a tellbot here?
02:18 snarkyboojum joined #perl6
02:18 bkeeler yeah, phenny
02:19 bkeeler phenny: tell sorear all about yourself
02:19 phenny bkeeler: I'll pass that on when sorear is around.
02:22 bkeeler Speaking of which, I could make use of that now that I think about it
02:22 bkeeler phenny: tell pmichaud wasn't sure where to report nqp-rx bugs, so I submitted one to http://github.com/perl6/nqp-rx/issues
02:22 phenny bkeeler: I'll pass that on when pmichaud is around.
02:25 sorear and of course I've forgotten what I was going to relay
02:25 phenny sorear: 02:19Z <bkeeler> tell sorear all about yourself
02:26 bkeeler but of course
02:27 arthur-_ joined #perl6
02:38 JimmyZ joined #perl6
02:48 rv2733 joined #perl6
02:51 rv2733 joined #perl6
02:58 lue alpha: my @a=1,2,3; my @p=pairs(@a); say @p
02:58 p6eval alpha 30e0ed: OUTPUT«0   11      22      3␤»
02:58 lue alpha: my @a=1,2,3; my @p=pairs(@a); say @p.join(":")
02:58 p6eval alpha 30e0ed: OUTPUT«0   1:1     2:2     3␤»
02:59 lue rakudo: my @a=1,2,3; my @p=pairs(@a); say @p.join("␤")
02:59 p6eval rakudo e3937f: OUTPUT«Could not find non-existent sub &pairs␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
02:59 lue where would pairs be defined?
02:59 lue (in the code, not the spec)
03:01 snarkyboojum in alpha?
03:03 snarkyboojum src/setting/Pair.pm in alpha
03:04 snarkyboojum or old/setting/Pair.pm in master
03:04 snarkyboojum src/old/setting/Pair.pm even
03:05 lue I was thinking in src/core/Array.pm (in master), unless it is used for more than just array...
03:05 snarkyboojum well the src/old/setting/Pair.pm is just a copy of the src/setting/Pair.pm from alpha (I'm guessing)
03:05 snarkyboojum wasn't saying that's where it *should* live
03:06 snarkyboojum lue: there was also a src/classes/Pair.pir in alpha
03:06 snarkyboojum I'm confusing the issue aren't I :)
03:07 lue I know, thanks for the idea though. Didn't consider it apply to more than Arrays
03:07 lue I'm going to take up jnthn's challenge and code it in P6 :)
03:07 snarkyboojum go lue!
03:08 snarkyboojum lue: ah - check src/builtins/Pair.pir
03:08 snarkyboojum in master
03:09 snarkyboojum you can see it is an Enum if you look there
03:10 snarkyboojum lue: oh god - I'm stupid - there is a src/core/Pair.pm in master too ;)
03:14 lue yes, but it only defines the perl method (just looked) :)
03:14 snarkyboojum yeah, but that's the structure :) the Pair class is defined in Pair.pir (whose parent is Enum), and then Pair.pm augments the class and adds a perl method
03:15 snarkyboojum FMLU (from my limited understanding) :)
03:21 lue I'll put the pairs sub in pairs.pm for simplicity :)
03:21 snarkyboojum that's where the method used to live in alpha (it seems)
03:23 huf_ joined #perl6
03:24 arthur-_ joined #perl6
03:25 lue methinks I'll define it as a multi method to be safe.
03:26 snarkyboojum it was just method pairs() {..} previously (but I'm not qualified to comment :))
03:27 ned joined #perl6
03:27 lue heh, you may want to expand on it in your scripts, so multi it is for now.
03:30 lue maybe you want it to return a hash instead?
03:31 jjore joined #perl6
03:32 mj41 joined #perl6
03:32 snarkyboojum lue: how are you going about building rakudo now?
03:32 lue remote server, which is not mine. :)
03:32 snarkyboojum lue: ah - brilliant :)
03:33 takadonet joined #perl6
03:35 lue alpha: my @a=1,2,3; my @p=pairs(@a); say @p.join("␤"); say @p[0]; say @p[1];
03:35 p6eval alpha 30e0ed: OUTPUT«0   1␤1      2␤2      3␤0       1␤1      2␤»
03:35 astrojp joined #perl6
03:36 lue alpha: my @a=1,2,3; my @p=pairs(@a); say @p.join("␤"); say @p[0].WHAT; say @p[1].WHAT;
03:36 p6eval alpha 30e0ed: OUTPUT«0   1␤1      2␤2      3␤Pair()␤Pair()␤»
03:36 lue alpha: my Pair $a=3,4; say $a
03:36 p6eval alpha 30e0ed: OUTPUT«Assignment type check failed; expected Pair, but got Array␤in Main (file <unknown>, line <unknown>)␤»
03:36 lue alpha: my Pair $a=3 4; say $a
03:37 p6eval alpha 30e0ed: OUTPUT«Confused at line 10, near "4; say $a"␤in Main (file <unknown>, line <unknown>)␤»
03:37 lue alpha: my Pair $a=<<3 4>>; say $a
03:37 p6eval alpha 30e0ed: OUTPUT«Assignment type check failed; expected Pair, but got Array␤in Main (file <unknown>, line <unknown>)␤»
03:37 lue bah. How to define a Pair...
03:38 sorear rakudo: my Pair $a = :3<4>; say $a
03:38 p6eval rakudo e3937f: OUTPUT«Confused at line 11, near "my Pair $a"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
03:38 sorear rakudo: my Pair $a = 3 => 4; say $a
03:38 TimToady rakudo: say ('a' => 'b').WHAT
03:38 p6eval rakudo e3937f: OUTPUT«3  4␤»
03:38 p6eval rakudo e3937f: OUTPUT«Pair()␤»
03:38 lue ah. Thank you :)
03:38 snarkyboojum rakudo: say 1 => 2
03:38 p6eval rakudo e3937f: OUTPUT«1  2␤»
03:38 TimToady rakudo: say Pair.new(3,4)
03:39 p6eval rakudo e3937f: OUTPUT«Any()      Any()␤»
03:39 snarkyboojum fat arrow builds pairs eh
03:39 lue amazed there isn't another way besides the "P5 style" => :)
03:40 TimToady alpha: say Pair.new(3,4)
03:40 p6eval alpha 30e0ed: OUTPUT«Use of uninitialized value␤Use of uninitialized value␤        ␤»
03:40 TimToady pugs: say Pair.new(3,4)
03:40 p6eval pugs: OUTPUT«*** Must only use named arguments to new() constructor␤    Be sure to use bareword keys.␤    at /tmp/c17SpkVbDY line 1, column 5 - line 2, column 1␤»
03:40 lue TimToady: is the pairs sub and adverb only applicable to arrays, or any list-type object?
03:41 TimToady rakudo: say Pair.new(:key(3), :value(4))
03:41 p6eval rakudo e3937f: OUTPUT«3  4␤»
03:41 TimToady anything that is indexed
03:41 TimToady rakudo: say %*ENV.pairs
03:41 p6eval rakudo e3937f: OUTPUT«Method 'key' not found for invocant of class 'String'␤current instr.: 'perl6;EnumMap;_block12950' pc 381696 (src/gen/core.pir:52031)␤»
03:42 lue ah. I can't help but feel Pair.pm is not quite the most appropriate spot for pairs()
03:42 TimToady alpha: say %*ENV.pairs
03:42 p6eval alpha 30e0ed: OUTPUT«SUDO_COMMAND        /usr/sbin/chroot /chroot/HISTCONTROL    ignorebothSUDO_USER     diakopterSUDO_UID       1001_   ../rakudo-alpha/perl6USER       p6evalPERL6LIB  libLANG en_US.UTF-8LOGNAME      p6evalMAIL      /var/mail/p6evalSHLVL   4HOME   /home/p6evalPWD
03:42 p6eval ../home/p6eval/rakudo-alphaPATH   /usr/local/bin:/usr/bin:/bin:/usr/g…
03:43 * lue --mode="homework" &
03:47 cj joined #perl6
04:05 am0c joined #perl6
04:06 snarkyboojum rakudo: say <1 2 3>.^parents.perl
04:06 p6eval rakudo e3937f: OUTPUT«(Iterable, Any, Mu)␤»
04:07 snarkyboojum rakudo: my @a =<1 2 3>; say @a.^parents.perl
04:07 p6eval rakudo e3937f: OUTPUT«(Seq, Iterable, Any, Mu)␤»
04:22 snarkyboojum alpha: <1 2 3>.rotate.say
04:22 p6eval alpha 30e0ed: OUTPUT«231␤»
04:22 snarkyboojum alpha: <1 2 3>.WHAT
04:22 p6eval alpha 30e0ed:  ( no output )
04:22 snarkyboojum alpha: <1 2 3>.WHAT.say
04:22 p6eval alpha 30e0ed: OUTPUT«List()␤»
04:22 snarkyboojum rakudo: <1 2 3>.WHAT.say
04:22 p6eval rakudo e3937f: OUTPUT«Parcel()␤»
04:23 snarkyboojum should <1 2 3>.rotate work in rakudo?
04:23 snarkyboojum I know it's not implemented yet, but should rotate work for a Parcel?
04:25 TimToady it should promote to list like many of the other listops do
04:25 snarkyboojum rakudo: <1 2 3>.Seq.say
04:25 p6eval rakudo e3937f: OUTPUT«123␤»
04:25 TimToady or Seq, rather....
04:25 snarkyboojum rightio
04:28 snarkyboojum rakudo: <a b c>.elems.say
04:28 p6eval rakudo e3937f: OUTPUT«3␤»
04:28 snarkyboojum rakudo: <a b c>.Seq.elems.say
04:28 p6eval rakudo e3937f: OUTPUT«3␤»
04:34 pmichaud What's going on with Pm:  http://use.perl.org/~pmichaud/journal/40248
04:34 phenny pmichaud: 02:22Z <bkeeler> tell pmichaud wasn't sure where to report nqp-rx bugs, so I submitted one to http://github.com/perl6/nqp-rx/issues
04:57 snarkyboojum what type should <a b c>.rotate return?
04:57 snarkyboojum I should read the specs shouldn't I
04:59 snarkyboojum :)
05:00 lue hello!
05:00 snarkyboojum o/ lue
05:02 lue snarkyboojum: unless it's defined in a place other than S32, there is no spec :)
05:02 snarkyboojum seems to be defined there
05:03 cognominal pmichaud, I wish you well for your wife and your family
05:04 lue snarky: it is _defined_ there, but the parts of it I saw didn't detail it (and that I don't consider being specced)
05:04 envi^home joined #perl6
05:05 unobe joined #perl6
05:08 snarkyboojum lue: you might have read it more carefully than me
05:09 pmichaud cognominal: thanks
05:10 * lue is trying to find an esperanto word meaning "creation" that starts with a D
05:12 * snarkyboojum is trying to find the meaning of 'Null PMC access in getprop()'
05:12 snarkyboojum :)
05:14 lue when it comes to rakudo/parrot, HLL (which I assume means High Level Language) sound very ominous to me (probably due to its similarity with DLL)
05:18 lue I've come up with a new (fake) standards body (more)
05:20 lue DNA: The Association for the Declaration of Concepts (La Deklaroj de Nocioj Asocio)
05:22 lue (I love flexible epo grammar :D )
05:27 lue goodnight
05:28 snarkyboojum night lue
05:31 sorear DLL = awesomeness
05:31 sorear although I prefer to call them SO
05:40 synth joined #perl6
05:46 synth joined #perl6
05:49 ShaneC joined #perl6
05:49 xinming joined #perl6
05:51 pugssvn r30110 | lwall++ | [STD] unify regex flags in %*RX
05:51 pugssvn r30110 | [Cursor] allow dynamic lookup of compiler * vars as ? run-time vars
05:51 pugssvn r30110 | [viv] various developments with viv --p5 toward replacing gimme5
06:12 spinclad pmichaud: may your wife be safe, happy in body, speech, and mind, well, and at ease.  may you be safe, happy in body, speech, and mind, well, and at ease.  (may all beings ...) -- (the metta prayer)
06:17 sorear may the future be a happy place.
06:40 arthur-_ joined #perl6
06:44 sorear oh, I remember now
06:45 sorear phenny: tell jnthn - What minimum version of Perl 5 does Blizkost target?
06:45 phenny sorear: I'll pass that on when jnthn is around.
06:55 c1sung joined #perl6
07:01 kaare joined #perl6
07:22 lue joined #perl6
07:23 brushie_ joined #perl6
07:25 Su-Shee joined #perl6
07:27 yinyin joined #perl6
07:34 masak joined #perl6
07:35 masak morning, #perl6.
07:35 sorear hello.
07:40 arthur-_ joined #perl6
07:46 agentzh joined #perl6
07:47 uniejo joined #perl6
07:57 dual joined #perl6
07:58 azawawi joined #perl6
07:58 azawawi hi
07:58 azawawi moritz_: ping
07:59 sorear hello
08:00 azawawi moritz_: please take a look at http://irclog.perlgeek.de/ , I think search.pl is now on parked domain or something
08:01 * azawawi &
08:02 vamped joined #perl6
08:06 masak our thoughts go out to pmichaud and his wife: http://use.perl.org/~pmichaud/journal/40248
08:11 arthur-_ joined #perl6
08:12 spinclad aye.
08:13 vamped yes indeed
08:15 envi^home joined #perl6
08:16 masak alpha: sub infix:<op> ($a, $b) {return {$_.($a, $b)}}; say (3 op 4).(&infix:<+>)
08:16 p6eval alpha 30e0ed: OUTPUT«7␤»
08:16 masak that is so geeky.
08:16 masak I'm going to Twitter that.
08:20 mberends joined #perl6
08:25 masak [backlogging] supernovus, TimToady: I think you both identified the core of the matter re Temporal: should a simple (iso8601-based) parser be a part of the core? during my fluxxing, I defaulted to "yes", simply because the alternative seemed... utterly horrible.
08:25 masak but as is always the case in these matters, there might be a third alternative I'm missing.
08:33 masak the latest Perl 6-related meme on Twitter (of which everyone seems to think they're the originator) is "Both Perl 6 and PHP 6 are infinite projects... coincidence? hehe"
08:34 masak http://twitter.com/fauveauarmel/status/10576578661 http://twitter.com/felipernb/status/10525954807 http://twitter.com/tsukimiya/status/10612573924
08:35 iblechbot joined #perl6
08:37 masak as to what goes into core, I think we should be conservative with Temporal.
08:37 masak as a general rule of thumb, I'd only have the things necessary for file timestamps and the like in core.
08:38 masak but then there's the slight problem of who'll be the authority of the rest of Temporal...
08:38 masak if it's http://perl.org, then it's practically in core anyway, even if it's stored outside of the individual compilers.
08:42 masak supernovus: also, I think it's time to axe 'Gregorian' in all type names. it should be possible to do DateTime stuff in Perl 6 without getting to know Gregor first.
08:42 mathw In my ideal world, there'd be good date/time handling shipped with the compiler, because I've had a lot of pain in the past where I didn't have something like Date::Manip and the acquisition of a third-party module was something of a nightmarish procedure
08:43 masak mathw: yes, but OTOH Perl 5 has often fallen into the trap of too many core modules. and dual-life support with CPAN, etc.
08:43 mathw I'm more inclined to think it's the wrong set of core modules, but unfortunately that's going to be differently wrong for everyone
08:44 masak rakudo: say "aaaab" ~~ /a*b/; say "aaaab" ~~ /.*b/; say "aaaab" ~~ /(a*)b/; say "aaaab" ~~ /(.*)b/
08:44 p6eval rakudo e3937f: OUTPUT«aaaab␤aaaab␤aaaab␤␤»
08:44 * masak submits rakudobug
08:45 masak mathw: seems to me a smaller core is the right way to go for a long-lived language.
08:45 masak oh, and bug courtesy of jnthn++
08:47 mathw true
08:47 mathw and we're not going miss things like Moose, because that's all built into the language now
08:48 masak rakudo: say "ab" ~~ / (ab|a) b /
08:49 p6eval rakudo e3937f: OUTPUT«␤»
08:51 uniejo joined #perl6
08:52 leonxx joined #perl6
08:52 leonxx perl6: say3;
08:52 p6eval pugs: OUTPUT«*** No such subroutine: "&say3"␤    at /tmp/VkO3HqtETm line 1, column 1-5␤»
08:52 p6eval ..rakudo e3937f: OUTPUT«Could not find non-existent sub &say3␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
08:52 p6eval ..elf 30110: OUTPUT«Undefined subroutine &GLOBAL::say3 called at (eval 122) line 3.␤ at ./elf_h line 5881␤»
08:52 leonxx perl6: say 3;
08:52 masak right. as much as I would like to see good 'native' handling of civil time close to the core of Perl 6, I'm not convinced it actually belongs in core.
08:52 p6eval elf 30110, pugs, rakudo e3937f: OUTPUT«3␤»
08:57 colomon joined #perl6
08:57 arthur-_ joined #perl6
08:59 cosimo joined #perl6
08:59 dakkar joined #perl6
09:00 masak std: / . ** 1 .. 2 /
09:00 p6eval std 30110: OUTPUT«[31m===[0mSORRY![31m===[0m␤Spaces not allowed in bare range at /tmp/zMvJcNzkRS line 1:␤------> [32m/ . ** 1 ..[33m⏏[31m 2 /[0m␤FAILED 00:01 108m␤»
09:00 masak std: / . ** 1.. 2 /
09:00 p6eval std 30110: OUTPUT«[31m===[0mSORRY![31m===[0m␤Malformed range at /tmp/OWF3ILhMFc line 1:␤------> [32m/ . ** 1..[33m⏏[31m 2 /[0m␤    expecting quantifier__S_562StarStar␤FAILED 00:01 106m␤»
09:06 rgrau joined #perl6
09:11 mberends joined #perl6
09:13 arthur-_ joined #perl6
09:16 mberends phenny, tell pmichaud I am thinking of you and your wife all the time. Many of us would like to help, if you would let us know how.
09:16 phenny mberends: I'll pass that on when pmichaud is around.
09:17 masak phenny: tell pmichaud what mberends said.
09:17 phenny masak: I'll pass that on when pmichaud is around.
09:17 mberends masak! ping!
09:17 masak mberends: pong!
09:19 arthur-_ joined #perl6
09:19 mberends as pmichaud++ wrote, we should make proper contingency plans for the Rakudo * release. jnthn++ is pumpking, but he is also tasked with plenty of items. It's all about enlisting more willing helpers and coordinating their contributions.
09:20 masak nod.
09:21 mberends should we convene an initially one-off #rakudosketch type meeting to brainstorm the roadmap?
09:21 jnthn Good morning, folks
09:21 phenny jnthn: 06:45Z <sorear> tell jnthn - What minimum version of Perl 5 does Blizkost target?
09:21 mberends jnthn: good morning, you sleep-deprived perlgeek!
09:22 jnthn OK, I need to do a run to the laundry room before anything else...
09:22 masak mberends: sounds like a plan.
09:22 jnthn Back in...well...however long it takes me to work out how to use the washing machine. ;-)
09:22 jnthn (soon)
09:23 masak it's not too hard. it's not like it's a Commonwealth washing machine. :P
09:23 mberends jnthn.availability -= Time.hours( * );
09:23 masak mberends: 'DateTime' :/
09:23 mberends :/
09:26 masak (actually, I'm not too averse to it being called 'DateTime' nowadays. it's the traditional Perl 5 name, and not *that* much longer than just 'Time'. but 'Gregorian::' must go.)
09:26 mberends aye
09:27 mberends Gregorian is so 16th Century
09:29 sorear jnthn: Why does Blizkost allocate and free PMC bodies itself?  Isn't that what auto_attrs is for?
09:29 masak I don't think it's culturally insensitive to make Gregorian the implicit default. just as it's not too culturally insensitive to make Unicode the implicit default.
09:29 sorear Unicode as default is culturally insensitive at all now?
09:31 masak sorear: I hear Japan has a couple of reasons to prefer their own encoding to Unicode.
09:31 masak similarly, I can see that Gregorian would be entirely wrong as a default for a small number of people.
09:31 masak probably well below 1%.
09:31 sorear I can see Gregorian being "entirely wrong" for some people
09:32 sorear but I thought the arguments against Unicode boiled down to "nooo the wasted bytes"
09:32 masak not so.
09:32 masak that's only the arguments of ASCII-happy Americans. :)
09:33 sorear EUC-JP can encode any kanji in 2 bytes
09:33 sorear because there are only around 10,000 of them
09:33 masak sorear: http://en.wikipedia.org/wiki/J​apanese_language_and_computers
09:33 sorear UTF-8 needs 3 bytes for the Japanese blocks; UTF-16 needs 2 bytes for most but 4 for the rarer kanji (outside BMP)
09:33 sorear ooh ty
09:35 masak see especially the last paragraph of the 'Character encodings' section.
09:40 jnthn ok, back
09:40 masak jnthn: you implemented s/// syntax!?!?!
09:40 masak hugme: hug jnthn 100x!
09:40 * hugme hugs jnthn
09:40 jnthn masak: s[foo] =  'bar' syntax too
09:41 masak oh wow!
09:41 jnthn But I didn't do s[foo] op= 'bar'
09:41 masak this is the best day ever!
09:41 jnthn lol
09:41 jnthn OK, I think I defeated the washing machine
09:41 masak time to go and cross out the last TODO thing in the good/bad/ugly post.
09:41 jnthn It's now doing...something taht looks like it'll make my clothes cleaner.
09:41 mathw jnthn: they're going to come out in little strips, because it turns out that the washing machine has a 'convert clothes to cat litter' mode
09:42 jnthn mathw: A common feature of Swedish washing machines, yes...but I'm quite sure I deselected that option.
09:43 mathw time will tell...
09:44 mathw I once lived in a place with a washing machine which had a special 'stop and wait randomly for an hour in the middle of the cycle' option
09:44 masak all the tasks are now done on http://use.perl.org/~masak/journal/37303 \o/
09:44 mathw which appeared to be activated by the flapping of butterflies in Australia
09:45 * masak resolves to go through http://use.perl.org/~masak/journal/39597 today as well, checking for fixed tickets
09:45 rv2733 joined #perl6
09:46 mathw \o/
09:46 masak colomon: when you add back [+}, could you throw in [\+] while you're at it? :)
09:47 payload joined #perl6
09:48 jnthn mmm...min cafe ar so stork \o/
09:48 jnthn *kaffe
09:48 jnthn :-)
09:48 * jnthn reads the pmichaud post
09:50 jnthn Read.
09:51 pugssvn r30111 | moritz++ | [t/spec] some fudges for rakudo, and fix an eval() test
09:52 masak moritz_!
09:52 pugssvn r30112 | moritz++ | [t/spec] more rakudo fudges
09:52 pugssvn r30113 | moritz++ | [t/spec] explicitly coerce values to bool before comparison
09:52 pugssvn r30114 | moritz++ | [t/spec] some unfudges for rakudo
09:52 moritz_ masak: I'll be gone very soon, but I'll have internet from starting form the 20th of March :-)
09:53 masak that's like... three days from now. :/
09:53 moritz_ aye
09:53 masak we'll try to pass the time without you.
09:53 masak it won't be easy, but we'll have to cope.
09:53 dalek rakudo: fc02ce6 | moritz++ | t/spectest.data:
09:53 dalek rakudo: run more test files
09:53 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f​c02ce680e57bab12a23e2c69ebc6a84e3f5b2ed
09:57 payload joined #perl6
09:57 jnthn masak, mberends: +1 to having a rakudosketch
09:58 jnthn (as a one-off for planning)
09:59 jnthn But we should wait until colomon++ is around.
09:59 masak +1
10:00 sorear sketch?
10:00 sorear also, 02:34 < sorear> jnthn: Why does Blizkost allocate and free PMC bodies itself?   Isn't that what auto_attrs is for?
10:01 jnthn The code may pre-date auto_attrs.
10:01 payload1 joined #perl6
10:01 jnthn sorear: It's a pun on parrotsketch
10:02 sorear What's a parrotsketch?
10:02 sorear And what's the best way to get your attention?
10:03 jnthn parrotsketch is meeting of core Parrot developers once a week
10:04 sorear Oooh.
10:06 rgrau sorear: it happens tuesday-ly :) http://irclog.perlgeek.de/parrotsketch/
10:06 pmurias joined #perl6
10:06 sorear rgrau: yeah, I read a few logs from that channel and decided it was permanently unused :)
10:06 sorear Just... no tuesday ones.
10:07 rgrau gotta be at the right place at right time
10:07 * jnthn is pondering what to submit for NpW
10:07 jnthn *NPW
10:08 sorear jnthn: Can I do anything to contact you more reliable that address on #perl6?
10:09 jnthn What kind of "more reliable" do you need? :-)
10:09 jnthn There's email too I guess, but you're likely to get a quicker answer here.
10:09 sorear jnthn: Will be answered with probability >75%.
10:09 riffraff joined #perl6
10:10 jnthn sorear: That's pretty good. ;-)
10:11 jnthn Oh wait, I don't get >75% now? :-)
10:11 sorear Well, it would be better if we were simultaneously on IRC more than 2 hours a day
10:11 sorear But it does feel like half of the stuff I tell you in backlog never makes it
10:12 sorear ...which tells me that backlog-telling is a bad approach
10:13 jnthn I try to backlog but yes, it's lossy. Sorry.
10:13 snarkyboojum dobro jutro all :)
10:13 jnthn There's not enough hours in the day to do everything that would be ideal.
10:13 snarkyboojum morning even :)
10:14 jnthn snarkyboojum: dobre utro # yeah, yeah, so I western-Slav-ized it :-)
10:14 sorear jnthn: yes, and I don't know what the correct approach is.
10:14 snarkyboojum jnthn: :) makes sense to me (and I'm an aussie)
10:14 sorear I'm trying to get you to help me, not get you to feel bad
10:15 snarkyboojum masak: o/
10:15 masak snarkyboojum: hi!
10:15 snarkyboojum masak: I've been git pulling your tardis (that sounds a little odd)
10:15 masak snarkyboojum: I'm steadily getting better. when you wanna get togethern and hack?
10:16 snarkyboojum sure thing - I'm keen as mustard
10:16 masak great. so am I.
10:16 snarkyboojum I've been breaking rakudo stuff locally trying to get .rotate working lol
10:16 masak oh, nice.
10:16 jnthn sorear: I'm trying to help you, but you might have to prod me more than once over things. :-)
10:16 payload joined #perl6
10:16 masak an aspiring Rakudo hacker.
10:16 snarkyboojum definitely aspiring
10:17 snarkyboojum vs hacker :)
10:17 jnthn sorear: Maybe if there's stuff you have questions on when I'm not here, you could pop it in an email
10:17 jnthn And then if I am about, ask on channel.
10:17 sorear sure.
10:17 jnthn sorear: mailto:jnthn@jnthn.net
10:17 * sorear sleep
10:17 jnthn OK, we'll try that protocol :-)
10:17 jnthn o/
10:23 snarkyboojum so I have > say [1,2,3].rotate
10:23 snarkyboojum 231
10:23 snarkyboojum working
10:24 payload1 joined #perl6
10:24 snarkyboojum but parcels aren't happy > say <1 2 3>.rotate
10:24 snarkyboojum Null PMC access in getprop()
10:24 snarkyboojum anyone feel up for mentoring? :)
10:27 meteorjay joined #perl6
10:32 smash_ joined #perl6
10:32 smash_ hello everyone
10:33 masak smash_: hi!
10:33 snarkyboojum in my naivety I noticed that an Array is a Seq and that a Parcel is backed by an iterator and you can get a Seq but calling self.Seq, so I assumed Seq.pm might be a good place for rotate (probably wrong). So implementing method rotate in Seq.pm works for Array, but implementing method rotate in Parcel.pm and passing it to self.Seq.rotate blows up in my face as per above :)
10:33 jnthn smash_! :-)
10:33 snarkyboojum I've missed the mark horribly haven't I? :)
10:34 pmichaud snarkyboojum: I suspect we still need to resurrect List
10:34 phenny pmichaud: 09:16Z <mberends> tell pmichaud I am thinking of you and your wife all the time. Many of us would like to help, if you would let us know how.
10:34 phenny pmichaud: 09:17Z <masak> tell pmichaud what mberends said.
10:34 snarkyboojum pmichaud: buggery
10:34 smash_ everyone: i need help updating the changelong for tomorrow release
10:34 snarkyboojum pmichaud: I could have a bash and learn more about how little I know :)
10:38 pmichaud mberends / masak:  prayers and/or positive energy helps a lot :)
10:38 masak pmichaud: gotcha.
10:38 masak consider it done.
10:38 snarkyboojum pmichaud: my gf and I wishing you and your wife the very best
10:39 pmichaud mainly it's just great knowing that Rakudo and Perl 6 make such outstanding progress without me being ever-present to move it along
10:39 pmichaud and having you all take care of Copenhagen was a -big- pressure reliever for me
10:40 smash_ pmichaud: all the best for you and your wife
10:41 masak pmichaud: Copenhagen was wonderful. we all missed you, but we made the best of it, and the results were very positive.
10:41 jnthn pmichaud: o/
10:43 jnthn pmichaud: You and Paula are in my thoughts and prayers too, of course. :-) And Rakudo is coming along very nicely thanks to everyone++. :-)
10:43 masak snarkyboojum: is it nearing midnight for you? how about meeting up after you've woken up? I should have had dinner by then.
10:43 * jnthn is very happy with the progress too
10:44 snarkyboojum masak: yeah - 9:45 here, should have a slow day at work again tomorrow - so sounds like a plan
10:44 masak \o/
10:44 snarkyboojum alternatively, I could stay up for another 3 hours or so.. I want to get .rotate working too :P
10:44 snarkyboojum even if it's horribly wrong ;)
10:45 masak snarkyboojum: I'm at $work right now, and a bit distracted by tasks.
10:45 snarkyboojum masak: okydoke - I'll be online in the morn in about 9-10 hours tho
10:46 masak snarkyboojum: cool. I'd like to set as a goal for that hacking session to have a simple interactive time-travelling debugger going.
10:46 snarkyboojum masak: would be gold
10:46 masak something that can execute and navigate the assignment and binding stuff I've been toying with so far.
10:46 snarkyboojum masak: yeah
10:49 * masak finally finished backlogging two days
10:50 envi^home joined #perl6
10:51 * pmichaud has 10 days to backlog
11:00 pmichaud hugme show rakudo
11:00 hugme pmichaud: sorry, I don't know anything about 'rakudo'
11:00 pmichaud nm.
11:04 arthur-_ joined #perl6
11:13 rgrau left #perl6
11:55 colomon jnthn: you are too kind.  and I am around.
11:55 jnthn Kind? :-)
11:58 jnthn .oO( what kind of type^W^W^Wtype of kind? )
11:59 jnthn http://en.wikipedia.org/wi​ki/Kind_%28type_theory%29 :-)
12:07 takadonet morning all
12:07 jnthn morning, takadonet
12:08 takadonet jnthn: how are you doing?
12:09 jnthn My cold is continuing to go away, and I've survived the day so far as lunchtime. :-)
12:09 jnthn You?
12:10 takadonet Found out yesterday that I had bronchitis
12:10 colomon ooo, ick.
12:10 * colomon has survived the day so far as staring at breakfast.
12:11 jnthn takadonet: ooh, not fun :-(
12:11 takadonet It's not that bad ....
12:12 jnthn Get well soon!
12:12 takadonet thanks
12:12 takadonet Changing topic, probably going to have some time soon to work on Bioperl6!!!
12:13 jnthn \o/
12:13 * jnthn needs to go and get lunch stuffs...min brod e kass!
12:13 masak Ö=
12:13 masak :)
12:13 masak 'mitt bröd'
12:14 jnthn oh, neuter bröd
12:14 jnthn ?
12:14 masak aye.
12:14 * jnthn attempts to commit that to memory :-)
12:14 jnthn bbs
12:17 colomon woah, moritz_++
12:31 * jnthn back
12:31 colomon S32-str/uc.rakudo................​..................perl6(1377) malloc: *** error for object 0x4500200: non-page-aligned, non-allocated pointer being freed
12:31 colomon *** set a breakpoint in malloc_error_break to debug
12:31 colomon perl6(1377) malloc: *** error for object 0x33d7258: Non-aligned pointer being freed
12:31 colomon *** set a breakpoint in malloc_error_break to debug
12:31 colomon again.
12:32 jnthn :-(
12:32 jnthn fajl
12:32 masak fejl :)
12:32 jnthn lol
12:32 * jnthn has discovered a very nice pear juice
12:33 colomon once the "spectest" run is done I'll try it separately, but so far I haven't been able to isolate the problem.  :(
12:34 jnthn yes, those are kinda pesky
12:34 ruoso joined #perl6
12:35 jnthn masak, mberends, colomon: When today is good for all of you for rakudosketch?
12:36 colomon I've also had one other point of wierdness with that file: the todo tests that sometimes pass and sometimes fail.
12:37 colomon sometime between 9:30-11:00 am Eastern would be awesome.
12:37 jnthn What's that in proper time?
12:37 jnthn er, I mean...
12:37 jnthn :-)
12:38 colomon I don't think there are any outright bad times for me until late for you guys.  6:30pm eastern and after...
12:38 colomon define proper time.  :)
12:38 masak CET :)
12:38 colomon It's 11:00 am to 12:30 pm Newfoundland time.
12:39 colomon 2:30 pm to 4:00 pm CET
12:39 hejki just use UGT? :)
12:39 colomon assuming it's actually 1:39 pm CET now.
12:40 masak aye.
12:40 masak I'll be here and available in that time span.
12:41 colomon is there actually a #rakudosketch ?
12:41 jnthn colomon: Not yet. ;-)
12:41 masak there is today :)
12:42 jnthn 2:30pm - 4:00pm CET works for me
12:42 masak I've been hanging out there since 10:22 :)
12:42 jnthn lol
12:45 mberends jnthn: after 6:30pm CET for me because of $work and commute() :-(
12:45 * takadonet loves having a dual quad core at work
12:46 jnthn Ah, OK
12:46 jnthn masak, colomon: Can either of you make after 6:30pm CET?
12:48 * masak can
12:48 colomon that's 5 hours from now?
12:48 colomon I should be able to do that.
12:48 jnthn Roughly, yes.
12:49 masak preferably an hour or more after :)
12:49 jnthn masak: ah, you're thinking about nom? :-)
12:50 masak I usually make/eat nom around 7-ish.
12:52 arnsholt masak: That's an unusually civilised time to eat for a Scandinavian =)
12:52 arnsholt Many of my friends have dinner at four or five for some reason
12:53 jnthn whoa!
12:54 * jnthn doesn't normally lunch until at least 1pm
12:56 Bzek joined #perl6
13:03 M_o_C joined #perl6
13:13 masak jnthn: if you have time for a little bit of hand-holding today, I think I'll be able to do the last bit on named enums.
13:13 masak jnthn: I'll start by diagnosing the current problem a bit further.
13:14 jnthn masak: OK, sure. :-)
13:14 jnthn masak: I need to concentrate on a few $dayjob bits too.
13:14 ignacio_ joined #perl6
13:15 masak jnthn: ok, no problem.
13:31 lichtkind joined #perl6
13:36 snarkyboojum I'm looking at t/spec/S32-array/rotate.t
13:37 masak yes?
13:37 snarkyboojum if you have my @array = <a b c d e> and you do @a.rotate(7), the test expects, d e a b c, but I think it should be, c d e a b
13:37 snarkyboojum am I mad?
13:38 snarkyboojum alpha: my @array = <a b c d e>; say @a.rotate(7)
13:38 p6eval alpha 30e0ed: OUTPUT«Symbol '@a' not predeclared in <anonymous> (/tmp/GPYmSrawFj:10)␤in Main (file <unknown>, line <unknown>)␤»
13:38 snarkyboojum oops
13:38 snarkyboojum alpha: my @array = <a b c d e>; say @array.rotate(7)
13:38 p6eval alpha 30e0ed: OUTPUT«cdeab␤»
13:39 masak snarkyboojum: no, I don't think you're mad. I also arrive at that result.
13:39 snarkyboojum I think the test is wrong?
13:39 masak seems like it.
13:39 Bzek joined #perl6
13:39 snarkyboojum if that's the case, then I have a patch to make .rotate work ;)
13:39 colomon \o/
13:39 masak snarkyboojum++
13:40 snarkyboojum not saying it's "right", but it passes the tests heh
13:40 snarkyboojum and works for Array and Parcel
13:40 colomon Sounds like a good start.
13:41 snarkyboojum > say [1,2,3].rotate(2)
13:41 snarkyboojum 312
13:41 snarkyboojum > say <1 2 3>.rotate(-8)
13:41 snarkyboojum 231
13:41 snarkyboojum :)
13:42 snarkyboojum > say <1 2 3>.rotate.rotate
13:42 snarkyboojum 312
13:42 masak alpha: sub postfix:<!>($n) { [*] 1..$n }; say 4!.comb.rotate.join
13:42 p6eval alpha 30e0ed: OUTPUT«Confused at line 10, near ".comb.rota"␤in Main (file <unknown>, line <unknown>)␤»
13:42 masak alpha: sub postfix:<!>($n) { [*] 1..$n }; say (4!).comb.rotate.join
13:42 p6eval alpha 30e0ed: OUTPUT«42␤»
13:42 masak \o/
13:43 snarkyboojum anyway - was fun to work it something out for it. what do I do now?
13:43 snarkyboojum s/work it/work/
13:43 masak snarkyboojum: put the patch somewhere we can see it.
13:43 colomon nopaste it, I'd suggest
13:43 snarkyboojum masak: ok
13:43 colomon check in your changes to the test file.
13:44 snarkyboojum have done.. just amounted to turning the tests back on
13:44 snarkyboojum those 28 tests pass
13:44 snarkyboojum anyway, will paste up a patch somewhere
13:45 colomon if you make it using git patch, it will be very easy to handle it.  :)
13:46 meppl joined #perl6
13:47 snarkyboojum do I add the test file to the patch?
13:47 colomon no
13:47 snarkyboojum I guess not
13:48 [hudnix] joined #perl6
13:48 snarkyboojum but I guess the change to spectest.data
13:48 colomon rakudo: say 1.5 % 1
13:48 p6eval rakudo fc02ce: OUTPUT«0.5␤»
13:49 masak rakudo: say 1.5 % 0
13:49 p6eval rakudo fc02ce: OUTPUT«1.5␤»
13:49 masak alpha: say 1.5 % 0
13:49 p6eval alpha 30e0ed: OUTPUT«1.5␤»
13:50 * masak expected a 'divide by 0' error
13:52 lisppaste3 snarkyboojum pasted "A bash at a .rotate patch" at http://paste.lisp.org/display/96509
13:52 snarkyboojum oh no.. that's wrong :O
13:53 colomon why?
13:53 snarkyboojum it's an old version :S
13:54 justatheory joined #perl6
13:55 snarkyboojum I'll have to futz around a bit to get it right I guess
13:57 masak alpha: my $c = sub($m) { say $m }; my $r = &$c("OH HAI"); say $r.WHAT
13:57 p6eval alpha 30e0ed: OUTPUT«Confused at line 10, near "{ say $m }"␤in Main (file <unknown>, line <unknown>)␤»
13:57 masak alpha: my $c = sub ($m) { say $m }; my $r = &$c("OH HAI"); say $r.WHAT
13:57 p6eval alpha 30e0ed: OUTPUT«OH HAI␤Bool()␤»
13:59 * snarkyboojum needs to learn git properly :|
14:01 masak some enterprising person could rewrite the 'reduce' and 'revert' entries in S32/Containers. it contains only code right now, which I consider to be both over- and underspecifying.
14:02 colomon I was thinking reduce might need some extra features as well.
14:03 masak do tell.
14:04 colomon digging up S32 now...
14:06 colomon in specific, I was thinking that the reduce metaop may do the reduction forwards or backwards, and might gather intermediate results.
14:06 colomon If we're thinking of the metaop being implemented in terms of .reduce, then .reduce needs those features.
14:07 colomon Also, I was certainly under the impression that reduce was supposed to work with Code blocks that take more than two arguments.
14:08 SmokeMachine joined #perl6
14:08 colomon wonder how hard it would be to implement the FIRST phaser?  I'd love to have that available...  :)
14:10 * masak also wants phasers
14:11 colomon how does FIRST even work?
14:11 colomon In theory, I mean.
14:12 colomon If it's just something in a block, how does it know when the enclosing for / map has started afresh?
14:12 masak colomon: probably when the code is compiled, it's physically put before the loop body.
14:13 masak except that it also needs access to the variables within the right scope.
14:14 colomon FIRST doesn't have to be the first thing in the code block, does it?
14:14 colomon and I don't see how that sits with the notion that for is map, and map can be passed a code block that comes from elsewhere.
14:15 colomon hmmm... maybe a hidden bool variable that the block can access?
14:15 masak colomon: no matter where you put the FIRST phaser physically in the code block, remporally it'll still be executed at the same time.
14:15 * colomon should be $working....
14:15 masak s/remporally/temporally/
14:16 colomon orly?
14:16 masak ya rly.
14:16 masak the description of it is "at loop initialization time, before any ENTER"
14:17 colomon hmmmm....
14:17 masak which means they are executed before block entry time.
14:17 masak think of the loop as an actual OO object in the runtime, with a callback to any FIRST phasers.
14:19 lisppaste3 snarkyboojum pasted "Another attempt at a .rotate patch" at http://paste.lisp.org/display/96512
14:20 snarkyboojum had to fix two bugs in S32-array/rotate.t though
14:21 dalek joined #perl6
14:21 masak that's OK :)
14:21 colomon trying patch now.
14:21 snarkyboojum I'm not keen on fixing a test to make it pass though (even if I'm sure I'm right about the test being wrong)
14:21 snarkyboojum colomon: cool - shred away! :)
14:22 colomon snarkyboojum: yeah, that's a tricky thing.
14:22 masak snarkyboojum: maybe we should try our hand at implementing phasers even before we attack subroutines? :)
14:22 masak though the problem of blocks will rear its head before either of these. :/
14:23 snarkyboojum masak: hehe - if you'll teach me about phasers :P
14:23 masak 'course.
14:23 masak snarkyboojum: I'm surprized you're still here, by the way. isn't it very late where you are? bordering on early...
14:23 snarkyboojum masak: yeah - 1:30am :|
14:24 masak oh, not as bad as I thought :)
14:24 masak snarkyboojum: as long as you're ready to hackathon away in 8 hours or so, I'm fine with that :)
14:24 snarkyboojum masak: I can be stubborn when it comes to trying to understand/get things working :)
14:25 colomon That's a great trait to have.  :)
14:25 masak sounds like a useful trait.
14:25 snarkyboojum heh - tell my gf
14:25 colomon It was the rotate 7 tests you changed, right?
14:25 snarkyboojum yeah
14:26 colomon Can you commit those changes to svn?
14:26 snarkyboojum I don't think I have access
14:26 snarkyboojum haven't set it up...
14:27 colomon masak, can you commitbit him?
14:27 masak sure thing.
14:27 masak snarkyboojum: could you privmsg me your email address?
14:27 colomon (and meanwhile I'll duplicate his changes and check them in.)
14:29 pugssvn r30115 | colomon++ | [t/spec] Fix two broken rotate tests.
14:30 masak snarkyboojum: please add yourself to the AUTHORS file in the Pugs repo.
14:30 colomon okay, spectesting then I'll push snarkyboojum++'s changes.
14:30 masak snarkyboojum: oh, and welcome aboard! :)
14:30 smash_ anyone on the perl6-compiler list: did my invite for changelog update, etc. made to the list ?
14:30 snarkyboojum masak: ok - will work out how to do that :)
14:30 snarkyboojum masak: thanks! :)
14:30 masak smash_: aye.
14:31 smash_ masak: ok, thks
14:31 masak smash_: I might take a look at it later today.
14:31 smash_ masak: you can reply to the e-mail if you prefer, i'll update the file later
14:33 masak smash_: I'd probably find it easier just to commit directly to the repo :)
14:34 smash_ masak: as you prefer :)
14:34 smash_ i'm ok with either approach
14:35 nihiliad joined #perl6
14:37 tylerni7 joined #perl6
14:49 dalek rakudo: 02ba26c | snarkyboojum++ |  (3 files):
14:49 dalek rakudo: An attempt at getting .rotate working
14:49 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​2ba26c5bb4fba4b4bd47d02ffbc42be2779b1eb
14:49 dalek rakudo: d0f934f | (Solomon Foster)++ | src/core/Seq.pm:
14:49 dalek rakudo: Delete trailing whitespace.
14:49 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​0f934f0e7f733f4ff6fb035abceed42f2ba5223
14:50 snarkyboojum colomon: w00t!
14:50 colomon snarkyboojum++
14:50 snarkyboojum colomon++ :)
14:54 pugssvn r30116 | snarkyboojum++ | Added snarkyboojum to AUTHOR file
14:56 PacoLinux joined #perl6
14:59 snarkyboojum thanks colomon and masak for your help
15:00 colomon thank you for the coding!
15:00 snarkyboojum sleep awaits! hopefully I can continue tomorrow :)
15:00 * snarkyboojum afk
15:01 masak sweet dreams.
15:01 * jnthn back
15:01 jnthn masak: It randomly occurred to me that a time travelling debugger and STM may both want to hang off the same primitives.
15:02 colomon STM?
15:02 masak primitives?
15:02 jnthn random?
15:02 jnthn :-)
15:03 jnthn STM = software transactional memory
15:03 colomon ah, okay.
15:03 jnthn masak: in stm you need to track what changed.
15:03 masak it randomly occurred to me yesterday that it'll be very difficult to keep complexity down after introducing laziness. :/
15:03 masak the user will watch the step-through replay and choose to go insane rather than understand what happens.
15:04 TimToady you need to virtualize time :) * 1/2
15:04 masak depending on what that means, I think I already did.
15:06 TimToady so it's the time travel paradox that is driving the insanity?
15:06 masak but it seems there are a number of different kinds of frames in a runnin Perl 6 program. dormant ones, which are closures which haven't been executed; active ones, which are the ones that through laziness are currently involved in producing values; and the current one, which is just a little more special than the other active ones.
15:06 * colomon just used 0...32 and 32...0 in his $work code...
15:06 masak TimToady: nah, just the general jumpiness of it all.
15:06 TimToady colomon: what does mod 33 arithmetic?
15:07 masak rakudo: .say for (0...32) Z (32...0)
15:07 p6eval rakudo fc02ce: OUTPUT«32␤32␤31␤31␤30␤30␤29␤29␤28␤28␤27␤27␤26␤2​6␤25␤25␤24␤24␤23␤23␤22␤22␤21␤21␤20␤20␤19␤19␤18␤​18␤17␤17␤16␤16␤15␤15␤14␤14␤13␤13␤12␤12␤11␤11␤10​␤10␤9␤9␤8␤8␤7␤7␤6␤6␤5␤5␤4␤4␤3␤3␤2␤2␤1␤1␤0␤0␤»
15:07 masak :(
15:07 TimToady masak: yes, I noticed the effect when trying to debug lazymaps
15:07 colomon that's the gather /take bug
15:07 masak I guess I submitted that one already.
15:08 astrojp left #perl6
15:08 colomon TimToady: it's not mod 33, it's creating a barber-pole loop in UV space.  (So the u coordinates are / 11, and the v coordinates / 32.)
15:09 TimToady ah
15:09 colomon BTW, I'm currently thinking that Rats are a big ++
15:09 TimToady you're the guy who shaves the barber pole...
15:09 colomon ;)
15:10 masak I got a tip about http://undo-software.com/ from a friend over lunch. supposedly they also have some interesting papers out.
15:10 TimToady doubtless patented...
15:12 masak nod.
15:12 masak but they can't patent -Ofun, and that's what we're basing Tardis on! :P
15:12 TimToady perhaps some way to view the call graph and trim off uninteresting branches, like 1...* iterators
15:12 masak something like that. I think they only saved non-deterministic points or something.
15:14 TimToady hmm, I can see that; if you can replay a 1000 deterministic steps in the blink of an eye, the user doesn't care
15:14 TimToady so while you're forced to remember non-deterministic, you can choose any other checkpoints for convenience
15:14 masak right.
15:15 TimToady a mild form of memoization, as it were
15:15 TimToady having a side-effect-free language helps there :)
15:16 TimToady as does pass-by-value
15:16 TimToady even pass-by-copy, if it provides a barricade against what you have to remember long-term
15:17 * TimToady waves arms vaguely in the direction of .se
15:18 jonasbn joined #perl6
15:19 masak :)
15:19 * masak likes the fact that .se is now a potential arm-waving focal point
15:20 TimToady we should grab all the two-letter method names and turn them into translation methods
15:21 masak sounds like a good idea for a module.
15:22 TimToady I think iso8601 dates would be okay in the core
15:23 masak I know I'd prefer DateTime.new('2010-04-01') to DateTime.new(:year(2010), :month(4), :day(1)).
15:24 TimToady as with unicode, when there's a (relatively) sane international interface that replaces a host of insane interfaces, we should be encouraging people to use it
15:24 masak full ACK
15:25 masak Perl 6 is partly about daring to point the way to sensible standards.
15:25 TimToady it's about paying our debts to the future before we get there
15:26 jnthn masak: With multi dispatch, you can offer both. :-)
15:26 masak jnthn: true. :) I think I did in my flux repo.
15:26 jnthn \o/
15:26 masak jnthn: but I still prefer the iso8601 one.
15:26 TimToady we only make sanity the default, we don't require it.  :)
15:27 jnthn Well, I was thinking of the case where you have the tree bits individually to hand.
15:27 jnthn :-)
15:29 TimToady jnthn <(tree bits) --> TimToady .oO(dendrochronology)
15:29 masak rakudo: class A { method foo() { say "OH HAI" } }; class B is A { multi method foo($a) { say "OH NOES" } }; B.new.foo
15:29 p6eval rakudo d0f934: OUTPUT«OH HAI␤»
15:29 masak \o/
15:30 masak jnthn: I also used the tree-bits version to delegate to from the iso8601 versions. :)
15:30 TimToady superificool
15:31 jnthn masak: Yes, we've had that one work for a little while. :-)
15:32 masak I think I have a couple of # RAKUDO comments for that one in various projects.
15:32 jnthn yeah, it got fixed when we got our own custom method dispatcher
15:33 jnthn The Parrot default one doesn't do that.
15:33 masak :)
15:33 jnthn I don't think it does still. Hilariously, the Perl 6 dispatcher also knows what to do when it sees a Parrot multi sub too, so it can multi-method-dispatch Parrot's own MultiSub type better than Parrot itself can. :-)
15:34 jnthn (They're welcome to steal that back. :-))
15:34 mathw lol
15:34 mathw nice one jnthn
15:35 TimToady once we have an optimizing compiler, we'll rewrite all of parrot in perl, and steal everything back to parrot.  :)
15:35 Psyche^ joined #perl6
15:36 jnthn .oO( Imagine a JIT written in Perl 6 )
15:36 mathw \o/
15:36 mathw That would be awesome
15:36 jnthn "You can go JIT yourself!"
15:36 mathw Obviously it would have to operate on itself to make it fast enough to use...
15:36 TimToady using multi dispatch to pick the right instruction
15:36 masak let's do the "correct" bit before doing the "jit" bit :P
15:36 mathw How deliciously recursive
15:39 masak what's the biggest reason for positional parameters having to come before named-only parameters?
15:39 TimToady transparency
15:40 masak in what sense?
15:40 masak I find foo(2, x => 1) quite confusing when the signature is :($x, $y).
15:40 TimToady being able to look at a signature, and not potentiatlly having to read the whole thing to determine what to pass for the first required parameter
15:41 TimToady are you talking about parameters or arguments?
15:41 jnthn I suspect it'll only become a best practice if we don't enforce it, for that reason.
15:41 masak TimToady: both, I guess.
15:41 masak TimToady: the restriction is there for both, isn't it?
15:41 jnthn (For parameters that is)
15:41 TimToady it's only restricted for parameters, not arguments
15:42 masak oh, ok.
15:42 jnthn I think Rakudo lets you do the args in any order too.
15:42 masak o.O
15:42 jnthn rakudo: sub foo($x, $y) { say "$x,$y" }; foo(x => 1, 2)
15:42 p6eval rakudo d0f934: OUTPUT«1,2␤»
15:42 masak ok. :)
15:42 masak rakudo: sub foo(:$b, $a) {}
15:42 p6eval rakudo d0f934:  ( no output )
15:42 jnthn I agree with TimToady++ about the restriction staying in signa...damm, NYI.
15:42 masak std: sub foo(:$b, $a) {}
15:42 jnthn :-)
15:43 p6eval std 30116: OUTPUT«[31m===[0mSORRY![31m===[0m␤Can't put required parameter after variadic parameters at /tmp/xZwT8ysKUs line 1:␤------> [32msub foo(:$b, $a[33m⏏[31m) {}[0m␤    expecting any of:␤        constraint␤       parameter␤       trait␤FAILED 00:01 108m␤»
15:43 * masak submits rakudobug
15:44 alester joined #perl6
15:49 lisppaste3 joined #perl6
15:50 mathw makes sense
15:50 * mathw agrees
15:51 jnthn masak: btw, +1 to having a Rakudo ticket too, to track nqp-rx issues. Since we also need to make sure we have test coverage in spectests for such things.
15:52 masak troo.
15:54 bkeeler joined #perl6
16:02 Trashlord joined #perl6
16:05 TimToady We should put in more bugs, because masak is always so disappointed when he tries something strange and it's not buggy.
16:06 mathw No I think we need to encourage masak to try stranger things
16:06 mathw And I need to go home. Hurrah!
16:11 masak I think what mathw said is the right approach. :)
16:12 masak but I find the ng merge has supplied a fresh set of non-strange bugs. it's definitely easier to stumble on bugs again. :)
16:13 masak diakopter: have you seen this? http://pegjs.majda.cz/
16:15 jnthn Mmmm... .cz
16:15 jnthn :-)
16:16 nihiliad joined #perl6
16:18 astrojp joined #perl6
16:19 envi_home2 joined #perl6
16:25 Chillance joined #perl6
16:25 cdarroch joined #perl6
16:25 cdarroch joined #perl6
16:34 am0c joined #perl6
16:40 pyrimidine joined #perl6
16:43 quietfanatic sub infix:<op> ($a, $b) { return {$_.($a, $b)} }; say (3 op 4).(&infix:<+>)
16:43 quietfanatic rakudo: sub infix:<op> ($a, $b) { return {$_.($a, $b)} }; say (3 op 4).(&infix:<+>)
16:43 p6eval rakudo d0f934: OUTPUT«Confused at line 11, near "say (3 op "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
16:44 quietfanatic Not yet...
16:51 arnsholt CPS is fascinating
16:52 arnsholt I'm not entirely sure I actually understand it though ^^
16:55 masak I think I do. still doesn't mean I'm not scared by it.
16:55 meppl joined #perl6
17:01 stephenlb joined #perl6
17:14 cosimo joined #perl6
17:29 ruoso joined #perl6
17:31 ash_ joined #perl6
17:42 ash_ so... a while back, i was wondering if there was a callback or something for when a role gets composed. at the time jnthn was saying i could try making a method ^compose() on my role and it might get called when it is composed, but then it kinda became fussy and I don't know if there was ever a conclusion to that, has there been any more recent talking about some sort of functionality similar to that?
17:42 ash_ i suppose you could add a multi to does... too
17:43 jnthn ^compose wouldn't be quite the hook...
17:43 jnthn There's nothing for this yet.
17:43 pugssvn r30117 | unobe++ | [t/spec] Add !== tests to S03-operators/equality.t
17:43 pugssvn r30118 | unobe++ | [t/spec] Add !eq tests to S03-operators/equality.t
17:44 pugssvn r30119 | unobe++ | [t/spec] Added equality tests and unfudged !== tests
17:44 pugssvn r30120 | unobe++ | [t/spec] Update the plan for S03-operators/equality.t
17:44 jnthn But it'd be easy to implement if it can be agreed it's desirable.
17:44 pugssvn r30121 | unobe++ | [t/spec] Mark one test as TODO in equality.t
17:45 ash_ i know i can find some uses for it
17:46 ash_ for comparison, ruby has 2 callbacks for modules (rubies version of a role), depending on how they are included it either calls included or extended
17:46 ash_ the only real difference is where the methods end up, either on the class or on the instance
17:57 mberends joined #perl6
18:02 araujo joined #perl6
18:19 sECuRE hm, i was trying to use NativeCall.pm from zavolaj, but as soon as i use more than 4 parameters in an 'is native' sub, i get: Parrot VM: PANIC: iiiiii is an unknown signature type.
18:19 sECuRE what could be the problem?
18:20 jnthn sECuRE: Parrot limitation.
18:20 jnthn sECuRE: It can't generate arbitary call sigs yet.
18:20 sECuRE oh, ok
18:20 sECuRE too bad
18:20 jnthn sECuRE: If you need others, you can add to a file in Parrot
18:21 jnthn I've asked when they'll have some more proper frame-builder, didn't get any certain timeframe yet but apparently it's being worked on.
18:21 sECuRE i don’t really need it, i just wanted to see if how well external c libraries are usable at the moment ;)
18:21 jnthn For now add to parrot/src/extra_thunks.nci
18:21 jnthn And then re-compile Parrot
18:22 jnthn If you do get a library working with Zavolaj, they'll probably be happy to accept a patch adding extra things to that file.
18:23 jnthn (the re-compile Parrot step is just "make install" in the parrot directory, fwiw.)
18:24 sorear Alternatively
18:24 sorear Go download 'libffi'
18:24 sorear modify Zavolaj to use *it*
18:24 sorear this will be a bit slower, of course
18:25 ash_ they are working on a generic solution for N number of variables ffi calls
18:26 ash_ i have seen them talking about it in the mailing lists, so, they are aware its an issue
18:26 sorear maybe they are ... libffi exists right now though.
18:26 jnthn sorear: Well, I'd rather that Parrot actually uses libffi.
18:26 jnthn Or something.
18:26 jnthn It's a dependency, but maybe that's not a huge problem.
18:27 iblechbot joined #perl6
18:27 sorear dependencies are bad?
18:28 ash_ there are ways of doing it without libffi, i know libffi could make things easier for us now, but just saying... python doesn't use libffi but its built in ctypes can do ffi calls for instance
18:28 sorear libffi is one of the most NIHed libraries I know
18:28 ash_ could you make libffi a dependency of rakudo for now? or does it need to be really intergated into parrot?
18:29 sorear just because Python ignores it doesn't mean we should
18:29 ash_ lol, i just checked, actually python bundles libffi in its source, my bad
18:30 ash_ does libffi work on windows? (never checked...)
18:30 jnthn Well, if not, that'd be an immediate fail for it.
18:30 jnthn I believe it does though.
18:31 jnthn The bigger problem than "does it work on windows" is often "is it easy to build on Windows"
18:32 masak joined #perl6
18:34 mberends libffi does not claim standard win32 support, only cygwin and mingw32 http://sourceware.org/libffi/
18:35 jnthn For anyone who is interested, there's a meeting now in #rakudosketch (a channel just for today!) for planning things related to Rakudo * in light of http://use.perl.org/~pmichaud/journal/40248
18:35 jnthn mberends: Oh. Well, that means I can't build it with my normal tool chain then. I'd call that a fail. :-/
18:35 mberends yup
18:35 jnthn (For anyone not wanting to join #rakudosketch now, or unable, we will post logs.)
18:38 synth joined #perl6
18:41 sorear Non-core folk are invited?
18:41 jnthn sorear: yes
18:54 ash_ mberends: apparently there is a set of patches (or a separate branch of libffi, they use the same code) that works fine in msvc
18:55 mberends cool :)
19:07 masak colomon: a protoregex is a way to make regexes in grammars more extensible and modular.
19:07 masak colomon: that's the teleological view of them. then there's a technical explanation too :)
19:08 ash_ http://perlgeek.de/en/articl​e/mutable-grammar-for-perl-6 moritz++ explained them in that post, protoregex
19:09 masak ash_++: thanks :)
19:11 pmurias joined #perl6
19:11 pmurias what's zavolaj?
19:13 ash_ a project to make a NCI system in rakudo
19:13 ash_ http://github.com/jnthn/zavolaj
19:13 ash_ they have an example of calling mysql libraries from rakudo, with no special compiling needed, just using the NCI stuff built into parrot
19:14 ash_ but parrot has some limitations, which are being worked around soon
19:15 pmurias why are things getting increasingly stranger names?
19:15 masak pmurias: :)
19:15 masak pmurias: how's mildew going, by the way? :P
19:15 colomon ash_++ indeed!  big help, I've been using them without really knowing what they were.  :)
19:17 pmurias masak: got it to convert the ast into ssa form for the uni project
19:17 masak pmurias: oh wow! I've completely missed that development.
19:17 masak that is, I saw the commits...
19:17 masak but I didn't know it's completed already.
19:18 pmurias masak: didn't hack after that on it, still needs some hacking to infer variable types properly
19:18 ash_ pmichaud: i bet its not english or something, but i only know english...
19:18 ash_ zavolaj that is
19:18 ash_ and i meant to say pmurias
19:18 * ash_ tab complete fail
19:19 pmurias ash_: it's propably call in some language (it's similiar in polish)
19:19 masak ash_: it's "call" in Slovak.
19:19 TiMBuS joined #perl6
19:20 synth joined #perl6
19:23 ash_ see, you learn something new every day :P
19:23 colomon joined #perl6
19:31 * masak learned the right way to cut an onion yesterday
19:31 masak I can't understand how I could avoid that knowledge for so long.
19:38 [synth] joined #perl6
19:46 quietfanatic joined #perl6
19:49 Tene masak: what's the right vs wrong way?
19:51 masak Tene: I used to go about it in a more or less unprincipled manner. but the biggest mistake I did was to cut off the end with all the little stringy things.
19:51 masak Tene: here's the right way: http://www.youtube.com/watch?v=aDjNl5gs4nM
19:52 Su-Shee if you use a really sharp knife you can cut off the ends, doesn't matter. it'll cut properly and the onion doesn't slide apart.
19:53 masak oh!
19:53 Su-Shee but I really mean SHARP.
19:53 masak ok. :)
19:54 Tene Huh, that's not how I do it.  I cut it in half vertically, and then make vertical cuts along the radial lines that descend almost to the bottom, but not quite, so the bottom with the stringy ends is still holding everything together, and then I lay the halves flat on the cutting board and make horizontal cuts, yielding small pieces.
19:54 Tene subdivided on a polar instead of cartesian grid.
19:55 masak interesting.
19:55 Tene then I don't have to hold everything together with my hands.
19:56 Tene The girlfriend's way is a lot easier for her than my way is, though, and it gets exactly the same results.
19:56 M_o_C And whenever I cut the onion the way the video shows sooner or later it'll fall apart before I'm done^^ Though I have to add that my intent was to cut it into pieces smaller than in the video..
19:56 Tene "Tene!  Come cut this onion for me!  I don't want to do it; it makes my eyes hurt. :("
19:57 masak Tene: :)
20:01 ShaneC joined #perl6
20:02 ash_ what would my $a, @b, $c = |@other; parse as?
20:03 masak std: my @other;  my $a, @b, $c = |@other;
20:03 p6eval std 30121: OUTPUT«[31m===[0mSORRY![31m===[0m␤Variable @b is not predeclared (declarators are tighter than comma, so maybe your 'my' signature needs parens?) at /tmp/eVpJygy6ic line 1:␤------> [32mmy @other;  my $a, @b[33m⏏[31m, $c = |@other;[0m␤    expecting any of:␤      POST␤   postfix␤
20:03 p6eval ..postfix_p…
20:03 masak ash_: parsefail :)
20:03 ash_ ah, got ya
20:04 masak ash_: you need parens around '$a, @b, $c' after 'my'.
20:05 ash_ std: my @other; my ($a, @b, $c) = |@other;
20:05 p6eval std 30121: OUTPUT«ok 00:01 108m␤»
20:05 ash_ something like that?
20:05 masak seems yes :)
20:06 ash_ would that be $a = @other.first; $c = @other.last; @b = @other[1...*-1] ?
20:09 masak ash_: no, I think @b might gobble all of the rest.
20:10 ash_ so, $a would be @other.first, @b = @other[1..*-1]; and $c = Mu?
20:11 sjohnson hi guys
20:11 masak ash_: think so.
20:11 masak sjohnson: \o
20:16 sjohnson yo masak long time no chat!
20:17 masak sjohnson: indeed. how are you these days?
20:19 sjohnson masak: pretty good.  did a 2 month Clipper programming project which I finally got over with, so i can think about Perl again.  i wrote something in perl yesterday for work and was reminded how much i love perl
20:20 masak :)
20:30 stephenlb joined #perl6
20:41 sjohnson have i missed any exciting rakudo news?
20:43 masak sjohnson: well, things are happening every day now, it seems.
20:43 mathw sjohnson: did you hear about s///?
20:44 sjohnson mathw: no, do tell :)
20:44 sjohnson the last time i was impressed with s///, was when i found out you can do s{}{}, as well as s///e
20:45 sjohnson .. in p5.  i am ready for more profound news in p6
20:46 mathw jnthn implemented it
20:46 mathw I think that's profound enough, yes?
20:47 masak sjohnson: in p6, you can do $string ~~ s[regex] = 'substitution string';
20:47 masak sjohnson: jnthn++ implemented most of it yesterday. \o/
20:48 masak oh, it is.
20:48 masak I've been wanting that feature since September 2008. :)
20:48 masak well, the s/// one, at least.
20:54 pyrimidine now we just need to update tr///
20:55 masak pyrimidine: I like your thinking :)
20:55 pyrimidine (of course, that involves getting .trans working)
20:55 jnthn Does tr/// just desugar to .trans or some such?
20:56 masak jnthn: yes, in an almost trivial way.
20:56 pyrimidine jnthn: I would assume so.
20:56 masak jnthn: my guess is that it stays closer to the p5 semantics than .trans does. the latter is quite versatile.
20:56 pyrimidine I think .trans is NYI in master (it was in alpha)
20:56 jnthn If you get .trans to work, I'll probably be able to do tr/// for you quite easily-ish.
20:57 jnthn Now that I worked out basic s///. :-)
20:57 masak ++jnthn
20:57 pyrimidine pmichaud and I had talked about how to get it working at one point using grammars
20:59 pyrimidine would a p6 version go into any-str?
21:00 masak aye, think so.
21:00 pyrimidine okay, I'll see what I can come up with.
21:00 masak woot!
21:01 jnthn \o/
21:02 pyrimidine :)
21:03 * colomon now remembers why he didn't port .trans....
21:03 sECuRE left #perl6
21:04 sjohnson masak: i'll have to wrap my peanut sized brain around that one !
21:05 masak sjohnson: $a ~~ s[B] = 'C'; basically does the same as $a ~~ s/B/C/;
21:05 masak sjohnson: it's just a different syntax, with some advantages further on along the complexity scale.
21:07 masak snarkyboojum: ping
21:10 sjohnson thanks
21:13 wknight8111 joined #perl6
21:17 ignacio_ joined #perl6
21:18 meppl joined #perl6
21:22 jhuni joined #perl6
21:24 pyrimidine left #perl6
21:29 diakopter masak: :
21:29 masak std: :
21:29 p6eval std 30121: OUTPUT«[31m===[0mSORRY![31m===[0m␤Illegal use of colon as invocant marker at /tmp/nVrcVsCFgS line 1:␤------> [32m:[33m⏏[31m<EOL>[0m␤FAILED 00:01 107m␤»
21:29 masak hah! :)
21:30 diakopter :1
21:30 diakopter std: :1
21:30 p6eval std 30121: OUTPUT«[31m===[0mSORRY![31m===[0m␤Malformed radix number at /tmp/Ja4ZrY4Cbf line 1:␤------> [32m:1[33m⏏[31m<EOL>[0m␤FAILED 00:01 105m␤»
21:30 diakopter std: :1, 2
21:30 p6eval std 30121: OUTPUT«[31m===[0mSORRY![31m===[0m␤Malformed radix number at /tmp/S9HvbofJ8d line 1:␤------> [32m:1[33m⏏[31m, 2[0m␤FAILED 00:01 105m␤»
21:30 diakopter std: 1:, 2
21:30 p6eval std 30121: OUTPUT«[31m===[0mSORRY![31m===[0m␤Confused at /tmp/tnerFWpanu line 1:␤------> [32m1[33m⏏[31m:, 2[0m␤    expecting any of:␤    POST␤   bracketed infix␤    infix or meta-infix␤      postfix␤        postfix_prefix_meta_operator␤       statement modifier loop␤FAILED 00:01 106m␤»
21:30 masak those are alright, I guess.
21:30 diakopter std: 1++:, 2
21:30 p6eval std 30121: OUTPUT«[31m===[0mSORRY![31m===[0m␤Confused at /tmp/1736QwdY9y line 1:␤------> [32m1++[33m⏏[31m:, 2[0m␤    expecting any of:␤  POST␤   bracketed infix␤    infix or meta-infix␤      postfix␤        postfix_prefix_meta_operator␤       statement modifier loop␤FAILED 00:01 106m␤»
21:30 masak but the first one was strange.
21:31 masak std: ::
21:31 diakopter it's done that for years
21:31 p6eval std 30121: OUTPUT«ok 00:01 105m␤»
21:31 masak std: :::
21:31 diakopter std: ()++()
21:31 p6eval std 30121: OUTPUT«[31m===[0mSORRY![31m===[0m␤Illegal use of colon as invocant marker at /tmp/2TZWgBDImt line 1:␤------> [32m:::[33m⏏[31m<EOL>[0m␤    expecting signature␤FAILED 00:01 106m␤»
21:31 p6eval std 30121: OUTPUT«ok 00:01 105m␤»
21:32 diakopter std: ().++.()
21:32 p6eval std 30121: OUTPUT«ok 00:01 105m␤»
21:33 diakopter std: ()...++...()
21:33 p6eval std 30121: OUTPUT«ok 00:01 106m␤»
21:33 was kicked by diakopter: TROLL
21:33 jnthn ...you can kick yourself?!
21:33 masak that's new.
21:34 masak somehow it feels wrong from a physics perspective.
21:34 masak not enough leverage, or something. :)
21:36 jnthn :-)
21:36 sjohnson irc also follows timtowdti philosphies
21:41 sjohnson maybe diakaptor is angry at himself
21:42 jnthn It was a bit more impressive than a plain old /quit :-)
21:42 sjohnson i suppose a true /quit would be to ask an ircop to remove him from the server
21:42 Tene freenode also has /remove, which forces a leave.
21:43 jnthn Forces someone else to levae?
21:43 Tene Yes.
21:43 jnthn .oO( no, don't test it )
21:43 Tene some people have clients that auto-rejoin when kicked.
21:44 jnthn left #perl6
21:44 jnthn joined #perl6
21:44 jnthn er
21:44 jnthn /leave is more forceful? :-)
21:44 jnthn yes, I missed the space!
21:48 ignacio_ joined #perl6
21:50 Tene it doesn't trigger the auto-rejoin
21:50 jnthn Aha.
21:50 jnthn It turns out you can use it to remove yourself from the channel too!
21:51 jnthn ...by accidnet. :-)
21:51 masak I accidentally the IRC channel. :)
21:52 jnthn Better than accidentally the whole IRC channel. :-)
21:52 masak ouch :)
21:53 jnthn Updated ROADMAP pushed.
21:53 dalek rakudo: fed4687 | jonathan++ | docs/ROADMAP:
21:53 dalek rakudo: Tweak the ROADMAP with the results of The Meeting.
21:53 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f​ed46878c492186a006c7a5a8500befda962714c
22:07 cotto_work joined #perl6
22:10 rgrau joined #perl6
22:11 nihiliad joined #perl6
22:17 cotto_work joined #perl6
22:18 masak right.
22:18 masak named enums.
22:18 masak at least until snarkyboojum showz op :)
22:18 jnthn :-)
22:19 snarkyboojum masak: hello!
22:19 jnthn Well, there goes named enums.
22:19 masak :)
22:19 snarkyboojum whoops
22:19 masak I... could try to do both.
22:19 jnthn hehe
22:20 snarkyboojum masak: well, esp as I'm doing some firefighting at work atm
22:20 snarkyboojum :|
22:20 masak there's a fire where you are?
22:20 masak I suggest you deal with that first, yes.
22:20 jnthn I hope that's non-literal.
22:20 masak let me know when things aren't burning anymore.
22:20 snarkyboojum masak: people would lead me to believe there is - yeah non-literal
22:21 masak oh :)
22:21 * jnthn remembers all the QDB quotes where people came on IRC to say how their room is on fire :-)
22:21 lue hello all!
22:21 jnthn hellue!
22:21 masak lue: heLUE!
22:21 snarkyboojum lue: o/
22:22 masak snarkyboojum: after you extinguish your non-literal flames, how about we start our discussions for world domi^W^W Tardis development here on the channel, until they throw us out for bad behaviour?
22:23 lue the array stuff hasn't been fixed yet, I take it? :)
22:23 snarkyboojum masak: sure thing :)
22:23 lue (never seen the ^W control character...)
22:23 masak lue: the array... stuff? :)
22:23 rv2733 joined #perl6
22:23 masak lue: then you need a decent editor :)
22:23 lue rotate, pairs, and exists.
22:23 lue masak: like emacs?
22:23 masak I think I saw a rotate patch fly by.
22:23 masak lue: yes.
22:24 colomon rakudo: say <1 2 3 4 5>.rotate(2)
22:24 lue I has emacs open right now :)
22:24 p6eval rakudo fed468: OUTPUT«34512␤»
22:24 colomon yup.
22:24 masak lue: in my Emacs, C-w is bound to backward-kill-word.
22:24 masak lue: but I suspect I added that in my .emacs file.
22:24 lue I saw that patch. It was gyrating :)
22:24 colomon blame snarkyboojum++
22:25 masak gladly :) snarkyboojum++
22:25 snarkyboojum yay!
22:25 jnthn snarkyboojum++
22:25 jnthn Do we pass rotate.t now? :-)
22:25 snarkyboojum colomon and masak should take some of the blame :)
22:25 snarkyboojum yep!
22:25 * masak doesn't remember helping :P
22:26 jnthn \o/
22:27 masak snarkyboojum: I'll start by mocking up an nopaste of an interactive debugger.
22:27 masak be right back.
22:29 lue masak: ^W does that in the terminal, but not in emacs (something about regions and marks not set)
22:30 masak lue: right. I have (global-set-key "\C-w" 'backward-kill-word) in my .emacs file.
22:35 masak snarkyboojum: http://gist.github.com/335815 # interactive tardis session
22:36 snarkyboojum masak: will check it out
22:36 masak all the keywords, and the presentation of a pad, are very much up for debate.
22:36 masak but getting this working would be a great start, I think. and all the pieces are there already.
22:37 masak hm, it seems to me that 'MAIN:' is too visually heavy... :/
22:37 * masak edits
22:41 masak hm. and I added actual going backwards in time now, too.
22:43 snarkyboojum ah cool, where go \d+ goes to that tick
22:46 masak yes.
22:46 masak at least for now.
22:46 masak 'go \d+' feels like a kind of last-resort way to navigate :)
22:46 masak but it's the simplest one to start with.
22:47 snarkyboojum n performs the previous operation again?
22:47 snarkyboojum next
22:47 masak snarkyboojum: I can see two atomic, fairly independent tasks on the way to having a program that does that.
22:47 masak yes. 'n' and 'step' are synonyms.
22:47 snarkyboojum I like "look"
22:47 masak they're basically 'go self+1'
22:48 masak :)
22:48 masak one task is writing a Perl 6 grammar that does what my yapsi-prototype does in terms of parsing.
22:48 masak the other task is writing the loop for the interactive shell, along with understanding commands etc.
22:48 masak both quite pleasant tasks.
22:49 snarkyboojum aye
22:49 masak snarkyboojum: feel like writing some Perl 6? :)
22:49 snarkyboojum what does look show? the current lexical scope or something?
22:49 snarkyboojum masak: sure thing ;)
22:49 masak yes. the current lexical scope.
22:50 masak for now, that's all we have.
22:50 masak it'll be more complicated when we tackle blocks.
22:50 masak but for now, it's simple :)
22:50 masak (the '{...}' braces are a sort of preparation for more complex situation)
22:50 masak (a kind of 'bracing oneself', you might say)
22:51 snarkyboojum masak: simple is good :)
22:51 snarkyboojum :)
22:51 masak snarkyboojum: yes. we'll need it :)
22:51 * masak has been thinking about phasers and lazy and exceptions lately
22:52 masak snarkyboojum: so, which subtask would you like to attack? parser, or interactive loop?
22:52 snarkyboojum masak: which is easier? :) interactive loop?
22:52 masak I think that one might be slightly easier, yes.
22:52 masak probably less frustrating, at least.
22:53 snarkyboojum masak: I think I'll try and take the easier option if that's ok :P
22:53 masak it's definitely ok.
22:53 masak here are some loose tips: prompt("> "). while. given/when. :)
22:53 snarkyboojum masak: yep - cool
22:54 masak good luck! see you in 15 minutes or so :)
22:54 * masak starts on the parser
22:54 snarkyboojum masak: excellent :)
23:00 k23z__ joined #perl6
23:01 diakopter joined #perl6
23:02 diakopter bzam
23:02 diakopter oh. 1 hour too early.
23:04 masak diakopter: too early for what?
23:04 diakopter top of the log entry :)
23:05 masak diakopter: :P
23:05 lichtkind joined #perl6
23:05 lue stupid daylight savings!
23:06 lichtkind lue: o/
23:07 lichtkind moritz_: ping?
23:07 masak lichtkind: moritz_ will be back in two days.
23:07 lichtkind masak: too late :^(
23:08 masak if you say so.
23:08 * diakopter eyes the purple mold on his cheese with suspicion
23:08 lichtkind masak: i wanted to ask him too proofread my newest p6 article
23:08 lichtkind masak: deadline was today :)
23:09 masak then it *is* too late.
23:09 lichtkind masak: but since im faster then lichtkind i can travel back in time :)
23:09 masak lichtkind: you joke, but guess what snarkyboojum and I are working on? :)
23:10 lichtkind snarkyboojum: on a tardis?
23:10 diakopter every time I see that word, I think "tardy slip"
23:10 lichtkind diakopter: tardy who?
23:11 masak her lip.
23:11 diakopter http://en.wiktionary.org/wiki/tardy_slip
23:11 TimToady I prefer hardy tulips
23:11 lichtkind masak: it supposed to be a joke since tardis is driven by dr who
23:11 diakopter a slip [of paper] that indicates tardiness
23:12 lichtkind masak: but honestly i dont feel comfortly to pretend that einsteins theories matter :)
23:12 masak oh, so it's not the slip that's tardy, it's the messenger.
23:12 masak lichtkind: watch that bogosity meter, buddy :)
23:12 diakopter the tardy person becomes a messenger when he receives a tardy slip
23:13 * diakopter exchanges humility for impunity
23:13 diakopter not a fair trade.
23:13 TimToady just don't trade that for impugnity
23:19 lue Newton sucks. Why'd he have to invent the law of gravity? :(
23:19 * lue is breaking several of Newton's laws
23:21 lichtkind lue++
23:21 masak snarkyboojum: ping. how's it going?
23:21 lue Oi... the Shadow Proclomation is at the door O.o (better escape, I'll try and stay connected to the IRC)
23:35 cotto_work joined #perl6
23:37 lue Geez! OK, OK, erm... Great. I'm on the planet Metaop.
23:46 masak 'night, #perl6!

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

Perl 6 | Reference Documentation | Rakudo