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
|