Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2007-03-04

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 explorer is now known as JoaquinFerrero
00:11 cj PerlJam: I'd be willing to look it over: [email@hidden.address]
00:16 cognominal joined perl6
00:17 moritz cj: since PerlJam said he'd have to leave I can forward it to you
00:18 justatheory joined perl6
00:21 cj moritz: roger.  thanks :)
00:23 dduncan joined perl6
00:24 moritz cj: np, I hope PerlJam approves ;)
00:26 cj oh, I'm sure he's fine with it.  we go way back :)
00:27 moritz allright
00:31 moritz where can I find documentation on multi dimensional arrays in p6?
00:31 moritz and is it implemented in pugs?
00:31 dduncan look at synopsis 9
00:32 moritz dduncan: thanks
00:32 dduncan eg, http://dev.perl.org/perl6/doc/design/syn/S09.html
00:32 lambdabot Title: Synopsis 9: Data Structures - perl6:
00:35 moritz allright, pugs doesn't implement the @array[1;2] syntax for multidimensional array access - or am I just too dump to initialize it correctly?
00:37 Macae joined perl6
00:39 Macae left perl6
00:39 cj moritz: can you paste a reproduction snippit?
00:40 moritz ?eval my @a=[1,2],[3,4];@a[1;1]
00:40 evalbot_r15418 is now known as evalbot_r15427
00:40 evalbot_r15427 Error: ␤Unexpected ";"␤expecting "_", fraction, exponent, term postfix, operator or "]"
00:40 moritz it seems the grammer doesn't like a ; inside the square brackets
00:42 kisu joined perl6
00:42 kisu left perl6
00:46 dec_ joined perl6
00:49 nperez joined perl6
00:57 dduncan seen TimToady
00:57 jabbot dduncan: TimToady was seen 4 hours 57 minutes 35 seconds ago
00:58 dduncan TimToady, regarding the "Mapping" data type, have you considered calling it "Map"?
00:58 tene seen any good movies lately
00:58 jabbot tene: I havn't seen any, tene
00:59 dduncan I'm wondering whether Map may be a better name than Mapping
01:00 dduncan anyone else have thoughts on that question?
01:00 Teratogen left perl6
01:02 dduncan I'm inclined to think it may be used a lot, and the shorter name could be useful huffman wise ... also, I don't see such a change as introducing any confusion or causing conflicts
01:03 dduncan and it is then also the same length as Seq,Set,Bag
01:04 dduncan also, the new name sounds less like a verb
01:04 dduncan or maybe not
01:06 moritz is there a working example of a class with a constructor that requires an argument?
01:08 dduncan dunno
01:11 buetow joined perl6
01:37 cognominal joined perl6
02:02 Lacrimosa joined perl6
02:19 dmq joined perl6
02:24 Lacrimosa left perl6
02:29 allbery_b building 15427 from scratch
02:36 araujo joined perl6
02:50 REPLeffect_ joined perl6
03:13 bsb joined perl6
03:17 allbery_b smoking...
03:34 vel joined perl6
03:43 mako132_ joined perl6
03:46 mako132_ joined perl6
04:45 forsaken joined perl6
04:49 lambdabot joined perl6
05:01 allbery_b @seen gaal
05:01 lambdabot gaal is in #perl6 and #haskell. I don't know when gaal last spoke.
05:21 mako132_ joined perl6
05:35 dduncan left perl6
05:36 allbery_b oh look, my smoke test looped at the same place everyone else's did.
05:36 * allbery_b leving the rest to run overnight
05:44 allbery_b exhaustive.t also hangs forever, fwiw
05:44 allbery_b s/hangs/spins/
05:44 TimToady I had two
05:45 TimToady so you're probably safe now
05:45 allbery_b yy
05:45 allbery_b er.  yay
05:55 REPLeffect_ joined perl6
06:02 gaal is "yy" a new combinator of some sort?
06:03 gaal or maybe just yy _ = True
06:03 allbery_b no, just me not being able to type, per usual :)
06:04 gaal there's yyk, which is sussgestive of SK...
06:04 gaal heh i can't type either :)
06:07 gaal The loopy test is this:
06:07 gaal ok(!( "bokeper" ~~ m/(<?single>) ($0)/ ), 'Failed positional backref');
06:07 gaal ( t/regex/from_perl6_rules/capture.t )
06:08 gaal I guess that's a demonstration of the importance of bookkeeping.
06:09 gaal hmm, I haven't done this in a while, do we have a convenient skip-one-test syntax?
06:09 dduncan joined perl6
06:09 gaal flunk 'text of failing test' :todo<loop> or something should to it...
06:09 allbery_b skip 1; # ?
06:12 gaal that should also do it :)
06:12 gaal for things that aren't parsefails, it oughta be possible to write a macro that looks at the description of the test and preserve that for reporting.
06:14 BooK_ joined perl6
06:17 svnbot6 r15428 | gaal++ | * skip looping test
06:20 audreyt anyone want to work on a alarm-based timeout support for "make smoke"?
06:20 REPLeffect_ is now known as REPLeffect
06:22 audreyt (added a ticket for that)
06:22 devbot6 dev: Ticket #21 (task created): alarm-based timeout support for "make smoke" <http://dev.pugscode.org/ticket/21>
06:25 audreyt or maybe build this into our Test.pm
06:26 TimToady it would kinda want to know in advance about how long it should expect something to run
06:26 TimToady but scaled somehow for the current machine
06:28 gaal it could autocalibrate in ~/.pugs or something...
06:30 gaal or, specifically for pugs, smoke reports already provide timing info, so it could download a recent one of those and calibrate against that...
06:31 TimToady just a rough, "this one takes 2 units, that one takes 5, the other takes 23" would be sufficient, if the criterion for "too long" is something like twice too long as measured in basic units
06:31 gaal or, we could do something coarse like assume a ten-minute wallclock cap on any test, overridable by a setting. it won't be efficient, but will help in overnight smokes.
06:32 TimToady that would be better than nothing
06:32 gaal TimToady: I think it was dduncan who added some sort of throughput indicator to smokes
06:32 gaal but the units there are test cases
06:32 gaal obviously not a perfect predictor...
06:33 dduncan I know I did something with the smokes last year, but I'm not sure what right now
06:33 audreyt 10min cap I think is useful with our without annotations
06:33 audreyt because loops defy normal unit-expectations
06:33 dduncan it was intended partly to give an early indicator how long it might take, or when something might be hanging
06:33 audreyt and if there's one single test that takes 10min to run, our test suite is broken anyway...
06:33 audreyt *nod*
06:34 dduncan I had also suggested a year back that the test harness put a time limit on each test, and kill those that go too long, assuming they are hung, so the rest of the suite can complete ... was that ever done?
06:35 gaal that's what we're discussing now, dduncan
06:35 gaal it would be pretty if we could put this in Test.pm, sure, but I don't think we can
06:36 audreyt I think yaml_harness.pl is the place to put it
06:36 audreyt abstraction-wise
06:36 dduncan on a different matter, TimToady, I asked you a question here 5.5 hours ago ... not sure if you saw it ... to repeat, is there any particular reason that the name Mapping was chosen over Map for the data type?
06:36 TimToady to avoid confusion with the map operator, perhaps
06:36 dduncan eg, could it be renamed to Map, or is Mapping better somehow
06:36 audreyt that was the reason TimToady gave in tokyo
06:36 dduncan hm, didn't think of that
06:36 audreyt iirc
06:37 dduncan even then, I'm not sure I would be confused by that
06:37 gaal is there a portable p5 timeouted-execution feature?
06:37 gaal IPC::Run3 style or something, wow I don't even remember how yaml_harness spawns tests :(
06:40 gaal yeah, why am I not surprised )-:
06:41 gaal yaml_harness's run_tests -> Test::TAP::Model -> Test::Harness::Straps' analyze_file
06:41 gaal which just does open-|
06:42 gaal so unless we for for each file, I don't think we can moose this
06:42 gaal ugh, it's not even a lexical filehandle
06:42 gaal *fork for each file
06:43 audreyt wait
06:43 audreyt                $self->run_test($_) for @own_tests;
06:43 audreyt line 66 no?
06:43 audreyt we can moose it there
06:43 gaal how? alarm?
06:43 audreyt aye
06:43 gaal is it portable?
06:43 audreyt win32 does have emu alarm
06:43 audreyt yes, since activeperl 5.6 or so iirc?
06:44 audreyt oh wait
06:44 audreyt no, that was fork
06:44 bsb left perl6
06:44 gaal "don't count on signals or %SIG for anything", advises perlport...
06:45 audreyt Time::HiRes::alarm?
06:45 audreyt I think it's made portable to win32
06:45 gaal okay, I'll give it a shot
06:46 gaal have to go visit a doctor first though
06:46 audreyt yay
06:46 audreyt k
06:46 audreyt enjoy
06:46 * audreyt goes MO hacking for today
06:46 gaal no doubt
06:46 gaal whee!
06:50 Aankhen`` joined perl6
07:40 dduncan left perl6
08:56 elmex joined perl6
09:24 bernhard joined perl6
09:39 cognominal joined perl6
10:11 avarab joined perl6
10:25 kanru joined perl6
10:32 ofer0 joined perl6
10:38 gaal Time::HiRes does not provide alarm and ualarm on strawberry perl, and probalby not on other non-cygwin win32 perls...
10:41 the_dormant joined perl6
10:47 jisom joined perl6
10:54 audreyt I guess fork/waitpid (which is portable) is only recourse then :/
10:55 clkao [particle]: /win 21
11:07 gaal you mean with some busy loop?
11:08 the_dormant_ joined perl6
11:08 gaal (is there sleep on win32?)
11:08 gaal answer: yes there is, on strawberry perl at least
11:09 gaal hey wait! alarm works on strawberry perl!
11:09 gaal that's... interesting :)
11:10 gaal hmm, also on a homebuilt p5 with vc++2003...
11:13 chris2 joined perl6
11:30 explorer joined perl6
11:36 gaal I don't quite understand why, but my warning messages about the timeout being reached is never shown.
11:37 gaal the timeout itself does appear to work, though, so I'll commit away.
11:38 audreyt cool!
11:40 svnbot6 r15429 | gaal++ | * Rudimentary timeout to guard against looping tests.
11:40 svnbot6 r15429 | gaal++ |   Currently set to 30 seconds because some computers are slow;
11:40 svnbot6 r15429 | gaal++ |   tweaks welcome.  Also, the timeout works but a message never
11:40 svnbot6 r15429 | gaal++ |   gets printed, haven't yet figured out why.
11:40 * gaal takes a nap &
11:42 moritz @eval sub s($x){PRE{$x>0} sqrt($x)} s(4)
11:42 moritz evalbot, where are you?
11:42 moritz ?eval sub s($x){PRE{$x>0} sqrt($x)} s(4)
11:42 moritz my fault ;)
11:42 tene heh
11:42 evalbot_r15427 is now known as evalbot_r15428
11:42 evalbot_r15428 Error: ␤Unexpected end of input␤expecting infix assignment
11:43 tene ?eval sub s($x){PRE{$x>0} sqrt($x)}; s(4)
11:43 evalbot_r15428 Error: ␤Unexpected end of input␤expecting infix assignment
11:43 audreyt Perl5 bridge is ready
11:43 audreyt will commit in a bit
11:44 audreyt good thing is taht "No compatible subroutine(...)" will no longer be displayed when calling newland vals
11:44 audreyt i.e. "no such method" and "multi mismatch" will be clearly separated
11:46 moritz is there a neat way to create an array with $n identical values?
11:47 moritz nicer than map {1}, 1 .. $n;
11:47 audreyt ?eval 9 xx 10
11:47 evalbot_r15428 is now known as evalbot_r15429
11:47 evalbot_r15429 (9, 9, 9, 9, 9, 9, 9, 9, 9, 9)
11:47 moritz audreyt++ thanks ;)
11:47 audreyt np :)
11:49 moritz ?eval [1 xx 3] xx 3
11:49 evalbot_r15429 (1, 1, 1, 1, 1, 1, 1, 1, 1)
11:49 moritz not quite what I expected ;)
11:53 buetow joined perl6
11:55 audreyt it's a bug.
11:55 audreyt write a test?
11:55 audreyt t/operator/repeat.t
11:56 audreyt oh wait
11:56 audreyt there's already a test for that
11:56 moritz ;)
11:56 audreyt :)
11:56 audreyt sorry, a sec, I'm in the middle of committing
11:56 moritz audreyt: don't hurry ;)
12:04 reqamst joined perl6
12:09 the_dormant joined perl6
12:33 integral joined perl6
12:54 gaal moose
12:55 iblechbot joined perl6
12:56 ayrnieu joined perl6
12:58 rodi joined perl6
13:13 audreyt gaal: rehi
13:14 gaal heya audreyt
13:15 gaal hee, it's Pi pm here
13:19 elmex joined perl6
13:22 svnbot6 r15430 | audreyt++ | * Pugs.Val: Show PureStr as normal string, not haskell structure
13:22 svnbot6 r15431 | audreyt++ | * Pugs.Run.Perl5: Blessed Perl 5 objects now roundtrips as VV, not PerlSV.
13:22 stevan_ VV?
13:23 gaal stevan_: the AST datatype variant that encapsulates newVals.
13:23 svnbot6 r15432 | audreyt++ | * Tidying up: Remove useless import from Pugs.Val.Code.
13:23 svnbot6 r15432 | audreyt++ |   Also remove the unused (and nonuseful) Data.ByteString.Seq.
13:24 gaal rather than (old)Val
13:24 stevan_ a ha!
13:24 stevan_ :)
13:24 stevan_ I thought it was maybe a p5 thing
13:25 gaal we're all pining for the s:g/VV/Val/
13:25 svnbot6 r15433 | audreyt++ | * Pugs.Meta: GHCi doesn't like empty non-exporting modules.
13:25 svnbot6 r15433 | audreyt++ |   So we create a stub definition.
13:26 gaal audreyt: could you make any sense of the "mismatch" warnings on make ghci?
13:26 cmarcelo joined perl6
13:27 gaal Var/Type length mismatch .. [base:GHC.Base.(){(w) tc 40}] and so on
13:27 audreyt nope
13:27 audreyt let me finish committing...
13:28 gaal sure :)
13:28 * gaal is very curious about the p5 bridge :)
13:31 svnbot6 r15434 | audreyt++ | * Pugs.AST: Make oldVal boxable.
13:31 svnbot6 r15434 | audreyt++ | * Pugs.Prim: Move op1 "vv"'s implementation to the Value instance in Pugs.AST.
13:32 gaal re: r15430, we should evenutally never be using this instanace, right? other than debugging...
13:33 audreyt correct
13:36 gaal I'm getting dupe instance at src/Pugs/AST.hs
13:36 svnbot6 r15435 | audreyt++ | * MO.Run: Upon method lookup error, include the object in the message.
13:36 gaal :46
13:37 gaal against src/Pugs/AST/Internals.hs:607
13:37 audreyt next commit fixes it
13:37 audreyt there's several to come
13:37 gaal okay :)
13:37 svnbot6 r15436 | audreyt++ | * Pugs.AST.Internals: Move the (Value Val.Val) instance into Pugs.AST.
13:37 svnbot6 r15436 | audreyt++ |   Also introduce vvToVal to bridge between unboxed values.
13:39 gaal doesn't "undefined :: b" require 6.6?
13:39 svnbot6 r15437 | audreyt++ | * Pugs.Embed.Perl5: Relax mkEnv's type signature for "make ghci"
13:39 svnbot6 r15437 | audreyt++ |   (which does not embed perl5 and therefore doesn't know about mkEnv.)
13:39 audreyt we already require 6.6
13:39 audreyt in case you did not notice :)
13:39 gaal oh, I didn't remember that :)
13:39 gaal well, groovy :)
13:39 audreyt does 6.6 allow instance in -boot?
13:40 gaal I *think* so
13:40 gaal I can check
13:40 svnbot6 r15438 | audreyt++ | * Pugs.Internals: Export GHC.PArr since we'll be using it quite often now.
13:40 avarab is now known as avar
13:40 audreyt please do
13:40 gaal got any pending commits?
13:41 audreyt 3 more
13:41 gaal I'll just build with 6.6 and see what breaks
13:41 audreyt then 1 more that adds instance to -boot
13:41 svnbot6 r15439 | audreyt++ | * Pugs.Class: Allow the right hand side of ./ to be polymorphic,
13:41 svnbot6 r15439 | audreyt++ |   thus allowing two convenient callconv forms (more to come):
13:41 svnbot6 r15439 | audreyt++ |     obj ./ meth
13:41 svnbot6 r15439 | audreyt++ |     obj ./ (meth, pos, nam)
13:41 audreyt k
13:41 gaal ah
13:41 gaal whoa!
13:41 gaal that's neat :)
13:41 audreyt :D
13:41 Patterner very neat indeed
13:42 svnbot6 r15440 | audreyt++ | * Pugs.Prim.Keyed: Use gaal++'s fixpoint trick to refactor
13:42 svnbot6 r15440 | audreyt++ |   the fallthrough case; also work with the new VV.
13:42 svnbot6 r15441 | audreyt++ | * Pugs.Meta.Perl5: The Grand Perl 5 Bridge Box
13:45 svnbot6 r15442 | audreyt++ | * Pgugs.Eval.Var: Grand Unified Dispatch for both VV and PerlSV.
13:46 audreyt that's it for the bridge
13:46 audreyt now let me commit the instance-in-boot test
13:47 devogon joined perl6
13:47 gaal yay!
13:48 svnbot6 r15443 | audreyt++ | * Try making old-land Val Typeable in a -boot file
13:48 svnbot6 r15443 | audreyt++ |   to avoid most of the circularity.  This may not work in 6.6 -- needs test.
13:48 audreyt works in bleadghc here
13:49 gaal anyToVal is teh funk
13:49 gaal testing with vanilla 6.6....
13:49 gaal will take a few moose
13:50 Patterner how do you test if 6.6 works?
13:50 gaal I kick 6.7 out of my path and rebuild :)
13:51 Patterner and hope "make" succeeds...
13:51 gaal should have done it in a separate checkout :/
13:51 audreyt there's evalbot
13:51 xerox Oooh, what is the fixpoint trick?
13:52 gaal ok come to think of it, that "Just x' <- fromTypeable" thing is really crazy!
13:52 audreyt xerox:
13:52 audreyt f (C c) = ...
13:52 audreyt f (D d) = ...
13:52 gaal haha, I really can't take credit for it! It's mentioned in the nice OOHaskell paper.
13:52 audreyt f rest = fix err rest
13:52 gaal (Oleg and Ralf)++
13:53 audreyt err f x = ...try to make C/D out of x and then call f again...
13:53 audreyt the good thing is that "fix err rest" can be used by multiple f-like things
13:54 gaal ooh that's a very nice application of this technique though!
13:55 audreyt doesn't quite work though... it only works with pattern guards
13:55 audreyt hm, maybe not even that
13:55 audreyt oh well. misapplied trick
13:55 * audreyt goes fixing it
13:56 svnbot6 r15444 | audreyt++ | * Pugs.Prim.Keyed: Rescind broken fixpoint trick.
13:56 svnbot6 r15444 | audreyt++ |   In any case most of t/perl5/*.t is now revived.
13:59 rodi joined perl6
14:01 gaal audreyt: r15443 looks good with 6.6! yay
14:01 audreyt yay
14:02 gaal I'm finishing the compile though, to see if there were other problems.
14:02 audreyt I'll run smoke in a bit
14:02 audreyt but this is a good enough proof-of-concept
14:02 audreyt the next is VObject
14:02 audreyt i.e. user-defined objects
14:02 audreyt we'll worry about oldland builtins last
14:03 audreyt shouldn't be too hard, now we have two-way bridge
14:03 audreyt (instance Boxable Eval Pugs.AST.Internals.Val)
14:03 audreyt (instance Value Pugs.Val.Val)
14:04 gaal repl works here with 6.6 compile. :)
14:04 audreyt woot
14:04 gaal any additional test you can think of there before I make clean and re-6.7 it?
14:05 audreyt run t/perl5/roundtrip.t
14:05 gaal okies
14:09 gaal all pass :)
14:09 audreyt woot!
14:09 audreyt cool, it's just 5 lines to finish the dispatch table for oldVal in newValMOLand
14:10 audreyt dispatchOldVal :: Val.Val -> Call -> Eval Val.Val
14:10 audreyt dispatchOldVal inv call = do
14:10 audreyt    inv' <- castVal inv
14:10 audreyt    rv   <- evalExp $ App (_Var ('&':cast (miName call)))
14:10 audreyt                          (Just $ Val inv')
14:10 audreyt                          [Syn "|" [Val . VV . mkVal $ miArguments call]]
14:10 audreyt    fromVal rv
14:10 audreyt (whomever implemented Syn "|" and Syn "\( )")++
14:10 audreyt that seems to be gaal :)
14:10 gaal hee, someone just released a haddock vim plugin :)
14:10 audreyt nice :)
14:11 audreyt I totally forgot that our Capture objects where already in VV
14:11 gaal I don't think I implemented Syn "|"
14:11 audreyt so I worried about how to cast (Capt NewVal) to (Capt OldVal)
14:11 audreyt but then I realized we never used (Capt OldVal)
14:11 audreyt so the cast is id
14:11 gaal :)
14:11 audreyt yay for plan coming together etc :)
14:11 audreyt ok, I'
14:12 audreyt ok, I'll leave smoke running and go playing with $cat
14:12 audreyt bbiab
14:12 gaal :))
14:12 gaal cat and moose. nice world, this.
14:15 svnbot6 r15445 | audreyt++ | * Pugs.AST: Grand Unified Dispatch for oldVal, reusing Syn "|".
14:20 gaal huh? Syn "|" is kind of a noop?
14:27 PhUrl joined perl6
14:27 PhUrl hi all
14:27 PhUrl anyone know the equivalent of gccs -save-temps for pugscc?
14:28 audreyt PhUrl: you can add it to script/pugscc
14:28 audreyt PhUrl: do you have a commit bit? if not, what's your email addr?
14:29 audreyt gaal: no, look at it in conjunction to reduceApp
14:32 gaal that's the \() stuff, which I remember you helping me with to add :)
14:33 gaal but reduceSyn "|" = reduceExp [exp]...
14:33 gaal er modulo my typos
14:35 gnuvince joined perl6
14:37 gaal does anyone understand the first subtest in t/statements/gather.t
14:37 gaal which fails and is marked unspecced?
14:38 gaal looks wrong to me.
14:38 gaal funny how gather/take is shorter to implement in p5 than it is in hs...
14:50 penk joined perl6
14:51 evalbot_r15444 joined perl6
14:52 moritz when my 'make smoke' finishes there is a pugs process still running in the background, consuming 100% CPU
14:52 moritz can anybody reproduce that?
14:52 gaal i'll start a smoke now to see
14:52 moritz @ revision 15429
14:53 gaal can you strace it?
14:53 gaal not that that would necessarily be helpful..
14:53 moritz strace make smoke?
14:53 moritz I guess it would take up too much resources
14:54 gaal no; if you didn't kill it yet you can strace -p PID
14:54 gaal stracing the whole thing will take forever and a day
14:54 moritz I did kill it :(
14:54 gaal never moose, I'll see on my box in ~1-2hr
14:55 gaal or however long it takes today
14:55 * gaal is embarassed to admit not to having ran 'make smoke' in a while...
14:55 rindolf joined perl6
14:56 gaal what platform are you on, moritz?
14:57 moritz Debian 2.6.20.1 #2 Tue Feb 20 08:27:49 GMT 2007 i686 GNU/Linux
14:58 gaal come to think of it it may have been caused by the timeout thing: analyze_file uses a global, and if unluckily that's the last one, you might get a hanfing open-|... ?
14:58 rindolf gaal: the "make smoke" also hangs here (Mandriva Cooker, P4-2.4GHz)
14:58 gaal *hanging
14:58 gaal rindolf: still hung? strace it?
14:58 rindolf gaal: let me see where it hung.
14:58 gaal if it's waiting on read then it's probably the timout commit
14:58 rindolf gaal: I killed it.
14:59 gaal I forget, does the perl debugger have attach-to-running-process?
14:59 gaal rindolf: no matter, I'll see if mine does this
14:59 rindolf gaal: but I have the last reported test.
14:59 gaal do you guys use concurrent smokes?
15:00 REPLeffect joined perl6
15:00 * moritz certainly not
15:00 gaal it may be that a timeout kills one concurrent thread...
15:00 gaal okay
15:00 moritz ie I don't use make -j 2 smoke or something
15:01 moritz I used pugs while 'make smoke' was running, but I think I used the one from a installed deb package, while smoke uses the one built from svn
15:01 rindolf My Pugs "make smoke" hangs after 4 wallclock secs ( 0.00 usr  0.00 sys +  2.99 cusr  0.12 csys =  3.11 CPU)
15:01 rindolf Mar 03 23:08:24 <rindolf>t/regex/from_perl6_rules/capture.t
15:02 gaal rindolf: svn up, we skipped that test yesterday
15:02 rindolf gaal: OK.
15:03 gaal (skippified? enskipped?)
15:04 rindolf skipticated.
15:11 gaal bbiab&
15:20 phiker joined perl6
15:27 Belaf_ joined perl6
15:35 diakopter joined perl6
15:40 the_dormant joined perl6
15:46 weinig|bbl is now known as weinig
15:47 forsaken joined perl6
15:50 explorer joined perl6
16:11 weinig is now known as weinig|bb
16:12 nothingmuch joined perl6
16:18 gaal ok the hang thing is indeed related to alarm; I think what happens is that triggering an alarm does not actually kill off the hung pugs, so its reused for subsequent calls
16:19 gaal for me, the first test to hit the timeout is t/regex/from_perl6_rules/exhaustive.t
16:20 Daveman joined perl6
16:25 svnbot6 r15446 | gaal++ | * maddeningly ugly fix for alarm-related hangs.
16:25 svnbot6 r15446 | gaal++ |   Needs testing on win32 (and an upstream Straps fix...)
16:27 rindolf gaal: should I svn up?
16:27 gaal sure
16:28 rindolf gaal: OK.
16:28 gaal it would be so great not to depend on Test::Harness:Straps...
16:31 rindolf gaal: maybe you should switch to TAPx::Parser.
16:31 rindolf gaal: or to Test::Run (which uses it)
16:37 gaal that's a pretty big refactoring..
16:38 gaal actually what I want to say is that I wish we didn't depend on Perl 5 for anything in build time. :-)
16:39 Patterner why? (in 16 words or less)
16:39 gaal Less legacy.
16:41 gaal not that I'd particularly enjoy rewriting a platform probe, to be sure, but looking at perl(5)'s Config to find out the path separator feels kinda kludgy.
16:42 gaal but, never mind me, I'm just having one of those "clean slate" episodes, it'll pass :)
16:42 Patterner what would be an alternative?
16:42 Patterner I like "clean slate"
16:43 gaal what would be an alternative to what?
16:44 Patterner looking at perl(5)'s Config
16:45 amnesiac joined perl6
16:45 gaal oh, doing essentially the same thing as perl5's Configure does to figure it out.
16:45 gaal I don't *really* want to do that
16:47 gaal but e.g. today's commits by audreyt++ provide a cleaner runtime bridge to p5; with the idea being that at least transitionally, everything that's hard to implement in pugs that happens to have suitably similar semantics in Perl 5 is just delegated there
16:48 moritz so what's the point in having no build dependency on perl5 if you have such a runtime dependence?
16:48 gaal so, sure, I realize writing everything ourselves would be so much work we'll never finish it, but you know, the purist in me (when he manages to surface) doesn't like the jutting-out bits
16:50 gaal moritz: the point is avoiding patches like this one:
16:50 gaal +        # okay, this is the hackiest thing EVER. Kill the hung pugs.
16:50 gaal +        close \*Test::Harness::Straps::FILE;
16:51 rhizo joined perl6
16:51 gaal also I'm scared that at some points we'll inherit Perl 5 semantics just because we inherit the implementation which is 98% like we want but the remaining 2% are hard to refit
16:51 moritz ok, good point
16:53 gaal but once again, I do appreciate the fact that implementing everything ourselves is a good way to end up with 4% of what we want precisely, and 96% unwritten. :)
16:53 * gaal regains his cheery pragmaticality
17:30 nothingmuch moose!
17:30 svnbot6 r15447 | kudra++ | This week's summary
17:32 gaal you can say that again
17:32 Patterner moose!
17:32 penk joined perl6
17:35 rindolf Hi nothingmuch
17:42 shay hag sameach
17:43 devbot6 planet6: Audrey Tang: Weekly Perl 6 mailing list summary for 18-24 March, 2007 <http://pugs.blogs.com/pugs/2007/03/weekly_perl_6_m.html>
17:48 PerlJam Anyone else want to take a shot at critiquing my article on perl6
17:48 PerlJam ?
17:49 gaal PerlJam: sure, send away please
17:49 gaal or post a draft somewhere?
17:50 moritz I did a strace to the pugs job that keeps running after "make smoke"...
17:50 moritz it repeats two lines all over again:
17:50 moritz --- SIGALRM (Alarm clock) @ 0 (0) ---
17:50 moritz sigreturn()                             = ? (mask now [])
17:50 gaal moritz: svn up
17:50 PerlJam gaal: see http://feather.perl6.nl/~duff/articles/everyday-perl6.pod
17:51 moritz gaal: fixed? cool
17:52 gaal PerlJam: looking
17:53 gaal "like to delight" => "delight" maybe?
17:53 GabrielVieira joined perl6
17:55 gaal %hash = "a".."z" works, of course, but possibly remembering the English alphabet has an even number of letters is a distraction here.
17:55 devbot6 dev: Ticket #21 (task closed): alarm-based timeout support for "make smoke" <http://dev.pugscode.org/ticket/21#comment:1>
17:58 gaal PerlJam: there's a corner-case with lazy file reads: I'm not sure if the solution's been specced yet, but IIRC for now =$fh isn't really lazy, because of pitfalls related to timing the close.
17:58 gaal not sure it's worth mentioning though
18:00 xinming joined perl6
18:00 PerlJam I'm just giving an overview, so it's okay to gloss over some details  :)
18:00 gaal *nod*
18:00 gaal I like what I'm reading so far very much :)
18:01 PerlJam btw, reload, I changed the tail end of that 3rd paragraph.
18:01 gaal you need "mutli" for the dog/fish example
18:01 gaal ok
18:02 PerlJam I seem to recall that multi is implied when you declare two subs with the same short name.  Am I incorrect?
18:02 gaal how would you then specify a sub is not a multi?
18:03 PerlJam good point.
18:03 gaal I think this is the case only when there was proto.
18:03 PerlJam :-)
18:03 PerlJam ah.  perhaps that's what I was thinking of.
18:05 PerlJam That might also explain why pugs wasn't working like I though it should
18:05 gaal nice article; PerlJam++.
18:05 gaal where are you publishing it?
18:05 PerlJam I haven't decided yet.
18:05 PerlJam I was thinking of perl.com
18:06 PerlJam That recent article on perl6 parameter passing has a few comments to the effect of "we need more articles on perl 6"  I'm just trying to fill the void a little.
18:07 gaal ...another remark on the perl 5 stuff from earlier: see for example the last point made here: http://dev.pugscode.org/ticket/14
18:07 lambdabot Title: #14 (More information in pugs -V output.) - Pugs - Trac
18:07 [particle] my $beta = %hash{'beta'}; should be @hash
18:08 [particle] 2nd para: s/intend to/will/ ??
18:08 PerlJam [particle]: er, I don't think so.
18:08 PerlJam reload.  I s/intend to/will/ and I added the multis at the end
18:08 [particle] perl -cwe "my %h; my @b= %h{qw/a b/};"
18:08 [particle] syntax error at -e line 1, near "%h{"
18:09 [particle] perl -cwe "my %h; my @b= @h{qw/a b/};"
18:09 [particle] -e syntax OK
18:09 gaal in perl 6? you never get to say @hash
18:09 prism joined perl6
18:09 [particle] no, p5
18:09 PerlJam [particle]: are you sure you're looking at the perl5 examples and not the perl6 examples?
18:09 [particle] =head2 sigil invariance
18:10 PerlJam my $beta = %hash{'beta'}  is fine.
18:10 [particle] oh, yep, i got that wrong
18:10 [particle] "The only difference is that in Perl 5 the hash slice would have started with a C<@> sigil."
18:10 PerlJam The only place it's weird is where I talk about slices, but I did mention that you need a @ on the hash slice
18:10 [particle] nevermind
18:10 gaal how do I add a category to the pugs trac? http://dev.pugscode.org/ticket/17 is really spec before implementation... but I don't know if we should be opening spec tickets there?
18:11 [particle] open a ticket about that
18:11 gaal in triplicate :)
18:12 gaal dinner &
18:12 [particle] does range op interp in double-quote string context?
18:13 [particle] <<a..z>> ?
18:13 TimToady why would it?
18:13 [particle] just curious, i've forgotten that bit. isn't it an interpolating context?
18:14 PerlJam Who is responsible for perl.com these days?  Why are the articles so far down the page?
18:14 [particle] pj: ask chromatic
18:14 TimToady yes, it's interpolating, but you wouldn't expect .. to do anything with "a..z" either
18:15 [particle] i guess i'm expecting an op to interpolate, when it's variables that get interpolated
18:15 TimToady you can say << {'a'..'z'} >> if you need to
18:15 [particle] need a closure for that
18:15 [particle] yep, thanks for the clarification
18:17 [particle] pj: say "Send @items[] to [email@hidden.address] -- be nice to see the expected result here, too
18:17 gaal TimToady: now that bridges are becoming stouter, we can start implementing introspection
18:17 gaal TimToady: but we need a spec :)
18:17 gaal frex for Signature queries
18:17 VanilleBert joined perl6
18:18 [particle] s/Quite useful that\./Quite useful, that\./ ?
18:19 PerlJam not how I say it :)
18:19 [particle] unary C<=>  => prefix C<=> ?
18:20 PerlJam I thought about that, but I think most people are used to seeing/saying "unary minus" for instance.  Or when they're talking about a prefix op, it usually comes out as "unary op"
18:21 TimToady gaal: so write one.  :)
18:21 PerlJam (that might just be my bias though)
18:22 [particle] well, postfix ++ is unary, too
18:22 TimToady unary isn't wrong, and it communicates better here
18:23 [particle] okay
18:23 gaal hmmm... maybe we can steal some ideas from JTL, if anyone's in a mood for logic programming
18:23 gaal # http://portal.acm.org/citation.cfm?id=1167481&amp;dl=ACM&amp;coll=&amp;CFID=15151515&amp;CFTOKEN=6184618
18:23 [particle] hrmm, i can't do code like $foo= 3; in p6, can i?
18:23 lambdabot Title: JTL, http://tinyurl.com/2gkxfj
18:23 gaal and a recent dissertation I mentioned here, by a friend
18:23 [particle] i like to anchor the = to the lhs in my p5 code
18:24 gaal then again, maybe that's better done in an external tool, no need for it to be in the language
18:24 TimToady [particle]: that would still work okay unless you have a postfix:<=> defined
18:24 [particle] too risky, then
18:25 TimToady P6 tends to biased towards wanting spaces around its infixes.
18:25 TimToady s/to/to be/
18:25 [particle] on another topic, i'm forgetting my S26... is there a single line pod comment?
18:25 [particle] one that doesn't require ws on the following line
18:26 TimToady not sure
18:26 [particle] pj's comment about pod being too verbose for multi-line comments reminded me of it
18:27 TimToady who wants to tell kudra that she's predicting the future with the latest summary?
18:27 [particle] it'd be nice if pod wasn't too verbose for single line comments
18:27 PerlJam as long as it's a good future :-)
18:27 PerlJam What was the prediction?
18:27 * PerlJam hasn't read the summary yet
18:28 gaal TimToady: ask her!
18:30 TimToady [particle]: looks like not, everything seems to end at next pod directive or blank line
18:31 TimToady that lets you use =foo as a single line comment in pod but not in Perl
18:31 [particle] hrmm. livable, i guess
18:31 TimToady 'course, in Perl you have #
18:32 TimToady could maybe sneak =# in there
18:32 TimToady and maybe even =
18:32 TimToady =#[...]
18:32 [particle] iterate over this comment ;)
18:33 [particle] it'd be nice to have my TODO comments show up in the pod automatically
18:33 TimToady gotta go play the drums
18:33 elmex joined perl6
18:33 TimToady bbl &
18:34 [particle] =# TODO play drums
18:34 [particle] self-documenting one line comment
18:36 PerlJam =# would be neat.
18:36 PerlJam # comments are for commenting about the code
18:36 PerlJam =pod is for documenting the code
18:36 PerlJam =# is for commenting about the POD  ;)
18:36 [particle] :)
18:37 [particle] so, that wouldn't show up in the pod?
18:37 PerlJam I wouldn't want it to
18:37 PerlJam at least, not by default.
18:38 [particle] yeah, that's fine for me, too, as long as it can be turned on
18:38 PerlJam right
18:39 [particle] however i'd like to see no following vertical ws afterwards
18:39 [particle] *required afterwards
18:40 PerlJam indeed
18:40 [particle] but this is only possible if it's for one-liners only
18:40 PerlJam =#{ line one
18:40 PerlJam line two }
18:40 [particle] possibly, there's a related multi-line, like =#{... \n =#...}
18:40 PerlJam :-)
18:41 PerlJam jinx
18:41 [particle] er, right
18:42 rindolf left perl6
18:42 [particle] pj: =head3 parameterized blocks
18:42 [particle] parameters, but others, like the body of a C<for> loop do.  But any
18:43 [particle] parameters; others do, like the body of a C<for> loop.  But any
18:43 PerlJam heh, that's exactly what I just did
18:43 [particle] jinx
18:44 PerlJam :w
18:44 PerlJam oops
18:45 moritz we do need an irssi/vim hybrid ;)
18:46 [particle] that would be quite virssitile
18:46 moritz of course scriptable in p6 ;)
18:48 [particle] hrmm, no util yet to extract code blocks from pod and run them through the pugs parser
18:49 [particle] PerlJam++ for a good read
18:51 PerlJam [particle]: reload and re-read the parameterized blocks section.  I added some stuff.
18:54 [particle] looks good. ship it!
18:54 VanilleBert left perl6
18:55 PerlJam I wouldn't mind a irssi plugin that allowed for sub-etha-edit-style editing but with vi keybindings :)
18:55 PerlJam it would be an interesting use of the IRC protocol
18:57 * cmarcelo remembers seeing mooses talking about making vim collaborative long ago...
18:57 weinig|bb is now known as weinig
18:58 PerlJam hmm
19:00 avarab joined perl6
19:02 gaal it's hard :(
19:03 GabrielVieira2 joined perl6
19:04 * [particle] heads to breakfast
19:04 PerlJam It can't be that hard.  All you need (in case you can't see it coming, there's a gross oversimplification on its way) is to setup vi to read input commands from a socket as well as the keyboard and a way to send every command entered at the keyboard over that socket.
19:04 avarab is now known as avar
19:04 cmarcelo gaal: did you tried w/ vim?
19:04 PerlJam presumably you'd only want to do this for a specific window.
19:05 gaal tried reconciling vim with obby
19:05 gaal probably didn't try hard enough; if you folks want to give it a moose by all means do!
19:07 nwc10 joined perl6
19:07 cmarcelo gaal: do you remember what got in your way?
19:07 nwc10 left perl6
19:08 gaal no particulars, except that there were pretty different models of how events are handled
19:08 gaal there's a Sun project that embeds vim, iirc; it's a little weird
19:18 mako132_ joined perl6
19:20 the_dormant joined perl6
19:24 Limbic_Region joined perl6
19:24 nperez joined perl6
19:29 cmarcelo PerlJam++ # re: article, nice overview.. Maybe it's a good idea mention "use perl5:xxxx" stuff, ie., you still can use p5 modules in p6, given the p5 audience of the article.
20:09 Juerd PerlJam: You fail to realise that vi needs a terminal :)
20:10 Juerd A bidirectional tcp stream is often not enough.
20:38 mj41 joined perl6
20:39 Aankhen`` joined perl6
20:55 justatheory joined perl6
21:00 larsen_ joined perl6
21:03 ludan joined perl6
21:08 dec_ is now known as dec
21:09 offby1` joined perl6
21:09 moritz I did a 'make smoke' with r15447, and it still leaves a pugs instance running in background after make has terminated
21:17 sri_ joined perl6
21:21 offby1` is now known as offby1
21:22 devbot6 planet6: Audrey Tang: Weekly Perl 6 mailing list summary for 18-24 February, 2007 <http://pugs.blogs.com/pugs/2007/03/weekly_perl_6_m.html>
21:24 gnuvince What's the Perl 6 equivalent of Ruby's initialize() method?
21:28 jisom joined perl6
21:29 jisom left perl6
21:29 jisom joined perl6
21:29 moritz gnuvince: what does it do?
21:31 gnuvince moritz: it's called when the object is created, that's where you typically put all your initialization code.
21:32 moritz gnuvince: you can use any method as a constructor as long as it bless()es $self
21:32 moritz gnuvince: or at least that's how I understand it
21:32 gnuvince moritz: are we talking Perl 5 or Perl 6?
21:33 moritz gnuvince: p6
21:33 moritz gnuvince: http://perlcabal.org/syn/S12.html#Construction_and_Initialization
21:33 lambdabot Title: S12
21:42 mako132_ joined perl6
22:09 kisu joined perl6
22:10 Psyche^ joined perl6
22:25 Psyche^ is now known as Patterner
22:29 ruz joined perl6
22:57 bsb joined perl6
22:57 ofer0 joined perl6
23:01 cognominal joined perl6
23:30 moritz joined perl6
23:41 tene 27777774444444+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++23~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1~1tt888888888888888888888888888888888888888888888888888888888888555555558 e  hhhhhh -]'.....................................7856327777777777777756
23:41 tene Oops, rat on the keboard.
23:42 dec tene has rats!
23:42 * allbery_b offers a pair of cats that hate each other :)
23:42 tene No, just one very friendly rat. :)
23:43 tene Taking care of her for my girl.
23:51 GabrielVieira joined perl6

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

Perl 6 | Reference Documentation | Rakudo