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