Please test pre0: pugs.blogs.com/pre0/Perl6-Pugs-6.2.12.tar.gz | paste: sial.org/pbot/perl6 | pugs.blogs.com | pugscode.org | pugs.kwiki.org
Set by audreyt on 12 June 2006.
svnbot6 r10676 | audreyt++ | * assign.t: The Synopsis now no longer guarantee list context for: 02:25
r10676 | audreyt++ | ($a) = W, W, W;
r10676 | audreyt++ | so we fix it as:
r10676 | audreyt++ | ($a,) = W, W, W;
r10676 | audreyt++ | and indeed that works with Pugs.
cmarcelo audreyt: ping? 03:26
QtPlatypus What does it take to wrangle an account on feather? 04:17
audreyt QtPlatypus: write Juerd at perl6 dot nl 04:40
with your desired nick, ssh pubkey, and realname 04:41
audreyt is still packing... bbiab
unobe make test results on darwin/ppc (embedded parrot): 05:15
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t/oo/proxy.t 18 6 33.33% 4 6 9 13 15 18
t/pugsrun/06-dash-help.t 254 65024 8 12 150.00% 3-8
t/pugsrun/06-dash-version.t 254 65024 8 10 125.00% 4-8
t/pugsrun/07-dash-uppercase-v.t 0 10 59 72 122.03% 24-59
t/pugsrun/09-dash-uppercase-c.t 0 10 84 140 166.67% 15-84
t/pugsrun/11-safemode.t 254 65024 6 8 133.33% 3-6
t/pugsrun/12-script-args.t 0 11 10 8 80.00% 7-10
t/rules/from_perl6_rules/inline.t 2 1 50.00% 1
t/rules/from_perl6_rules/named_ca 26 3 11.54% 21-23
t/rules/from_perl6_rules/stdrules 207 4 1.93% 12-13 15-16
942 subtests skipped.
eww...that didn't come out nice...i'll nopaste 05:16
pasteling "unobe" at 66.91.225.25 pasted "make test results on darwin/ppc (embedded parrot)" (14 lines, 1K) at sial.org/pbot/17705 05:17
lambdabot The title of that page is "Paste #17705 from "unobe" at 66.91.225.25"
unobe dduncan: from my run, it looks like a good chunk of t/pugsrun/07-dash-uppercase-v.t is failing 05:19
can anybody give advice on why I should/shouldn't build with parrot embedded? 05:20
audreyt hi 05:21
looks indeed like embparrot fails 05:22
embparrot gives you the ability to evaluate raw PIR code
unobe ok
audreyt but otherwise nothing much is gained
cmarcelo audreyt: busy?
unobe oh, okay 05:23
audreyt it's there mostly as a prof of concept
cmarcelo: moderately busy. just finished packing; going to airport in ~2hr
unobe so if i build pugs without embedded parrot, does pugs need more than libparrot.dylib (I think that is all it needed with parrot embedded) 05:24
?
audreyt cmarcelo: what's up?
unobe: if you build it without embparrot then we need bin/parrot in path 05:25
to run rules
but that's not mandatory
unobe ah, okay
cmarcelo audreyt: (i'll ask, but is ok to "postpone") i "patched" Pugs.Prim and Pugs.Prim.Yaml to use BitSet instead of IntSet.... how's a good way to measure the differences (besides make smoke).. as I understand the difference isn't going to be much, but anyway...
audreyt: I didnt know how Implicit params stuff worked, so did a hack that maybe wrong, but compiles AND the compiled pugs work... =o) 05:26
unobe so if bin/parrot is in the path, then PGE will be used?
audreyt unobe: yes 05:28
cmarcelo: uh, I don't know, try this
my @a = (@a => @a => @a => @a); @a.perl for 1..1000 05:29
or something a bit more complex
and see if wallclock hanges
changes 05:30
cmarcelo what does this "perl" operator do?
audreyt it does what Data::Dumper::Dumper did. 05:32
unobe if I get an error like "*** Cannot parse PGE: a\n*** Error: does not exist\n" when evaluating: "a" ~~ /a/ 05:33
does that mean I don't have parrot installed properly?
audreyt yeah ,it means it cannot find parrot in path 05:34
you can also set env PARROT_PATH
unobe thanks audreyt. I don't have the parrot source built on the computer (just copied the parrot binaries over), 05:39
so i'll download the source and build again, keeping PARROT_PATH pointed to the new directory 05:40
where i'll rebuild parrot
audreyt k 05:41
unobe i just thought that pugs needed the binaries for parrot, and that was it, but it looks like i don't have the component of parrot that pugs needs to make that happen 05:42
cmarcelo audreyt: not very significative change (pugs-local wins by 0.2s).. some inconsistencies (N=30000 pugs wins by 0.130s, N=40000 local-pugs wins by 0.330s).. i feel that all this differences are inside the error margin.. =P 05:54
audreyt oh well :) 05:55
JL and JHS are by far more interesting (And widely used) anyway
still, nopaste your patch? 05:56
it'd be interesting to redefine IHash to JudyHS
cmarcelo i'm "adding complexity" to see if things change.. =o)
audreyt and rewrite its chunk in src/Pugs/Types/Hash.hs
cmarcelo well. differences become more "dramatic" when @a definition is more complex... 05:58
audreyt oh good good 06:00
thinking about it in the simple case it's always a hit
never a miss
so it's like best case
pasteling "cmarcelo" at 200.232.236.25 pasted "Judy BitSet on Pugs Prim, take 1" (105 lines, 3.7K) at sial.org/pbot/17706 06:01
lambdabot The title of that page is "Paste #17706 from "cmarcelo" at 200.232.236.25"
audreyt so it's dramatic in the good or bad sense?
cmarcelo good =)
pugs-local wins by a better margin..
best case => makes sense.. 06:02
audreyt ooh. how much?
cmarcelo audreyt: that seen <- .... and then let ?seen = seen is right?
audreyt sure, correct 06:03
cmarcelo correct but ugly =(.. implicit params can only be "binded" with lets? 06:04
audreyt yes, though in this case pasing it around explicitly maymakemoresense 06:05
but will compile to the same code
so don't bother...
cmarcelo ok. numbers: your @a, N=10000, pugs-local wins by 0.04s ... my @a, N=10000, pugs-local wins by 0.3s 06:07
my @a = (@a => @a => @a => @a => @a => @a => @a => "eu" => "222" => @a => "i" => "ego" => 32178321 => @a => "eu" => @a)
(i really dont know what this mean at all hehe) 06:08
audreyt how many s in total?
cmarcelo 23.5
audreyt oh. try something with all misses?
cmarcelo well, still on error margin... 06:09
ok
audreyt my @a = (@a => 1..1000)
er, nvm
my (@a, @b, @c, @d, @e, @f, @g, @h); 06:10
@a = (@a => @b => @c => @d => @e => @f => @g => @h)
lambdabot Maybe you meant: all-dicts arr ask . v
cmarcelo okok
QtPlatypus Would @a = [=>] (@a,@b,@c,@d,@e,@f,@g,@h); Be equiverlent or would I have to use ; 06:14
audreyt I think you want ;, because otherwise it flattens 06:15
cmarcelo N=10000, difference is less than 0.1 (pugs-local wins).. =|
audreyt oh well. ;)
it's not a critical loop anyway
as long as the output is the same..
maybe it's better to write your own bench 06:16
but I'd worry about CollectionM first
cmarcelo Types/Hash.hs is more time critical? 06:17
Collection stuff => is my next step. i wasn't even suppose to be hacking on HsJudy these days =o)
audreyt :D 06:20
yes, Types/Hash.hs (IHash) and Types/Array.hs (IArray)
are the original motivation for the Job Ad
I mean, SoC project idea
cmarcelo well, i think (hope? hehe) JudyHS can compete in IHash area at least. 06:25
gotta go sleep 06:26
have a good trip 06:27
&
audreyt g'nite :) 06:28
dduncan unobe, it was only the very end of t/pugsrun/07-dash-uppercase-v.t that I initially had a problem with when smoking, but I couldn't recreate that error when I ran the test in isolation 06:38
also, as always, I have been using the pure-Haskell Pugs ... no alternate backends of any kind 06:39
audreyt I can't dup that but I can dup leo's proxy.t err 06:40
investigating
audreyt wonders what's wrong with harness 07:13
in any case, I gotta run to airport now... be back in 1.5hr 07:14
& 07:17
audreyt rehi from cks airport 09:00
webmind cks ? 09:03
where would that be? :)
audreyt .tw 09:05
webmind ah ok
and wb btw :)
dduncan so the trip was uneventful
audreyt nice that the flight comes with complimentary 30min facial skin treatment session and moisturizer bottles 09:06
dduncan were you in 1st class? I've never heard of such a thing
on flights I take, they give you food and magazines, maybe pillows
but I don't go first class 09:07
audreyt no, it's couch
economy class
dduncan or is it just a difference between asian and na airlines
audreyt I'm taking KLM (.nl) airlines... 09:08
webmind audreyt, that is nice..
audreyt maybe it's a difference between asian and na airports
webmind dduncan, crappy food even on my flights
dduncan I haven't found anything to complain about with food that I've got while flying ... in "regular class" 09:09
s/regular/$regular/
sure, its not like from a quality restaurant, but its not terrible
webmind well I guess it's doable.. it just never had much taste... can't say btw that I had much flights with food 09:10
audreyt weirdly I can't duplicate the "(stub)" error when I change "make test" targets to it alone
webmind just 4or6
dduncan I surmise its possible that was a transient error, maybe a side effect of multi-process communication gone bad 09:11
I'll see if it goes away when testing another preflight and/or the final version
or I can re-smoke the same pre0 if that is helpful ... but as it would late, that would happen tomorrow
audreyt mmmhmm 09:12
svnbot6 r10677 | audreyt++ | * inc::Module::Install::Pugs - sort the tests before "make test"'ing 09:13
r10677 | audreyt++ | in the vain hope that the proxy.t failure is order dependent.
audreyt dduncan: you see the error on "make smoke" with conc=4? 09:15
I see it with "make test" and no conc
svnbot6 r10678 | audreyt++ | * explicitly use the same order and test sequence in "make smoke" 09:22
dduncan those were my settings, yes 09:28
I will do the same procecure as earlier, on the same tarball, tomorrow, to test in case the situation was transient or not 09:29
but I had conc = 4, on a 2 cpu system, and so each Pugs took around 46% of a cpu 09:30
audreyt nod, but somehow I think there are other explanations
did you upload the smoke report?
dduncan quite possible
yes
audreyt which one was that?
dduncan I made a note to this channel in real-time as I did each stage 09:31
m19s28.vlinux.de/iblech/stuff/pugs-...0a1d0.html
mine is the first line item under release/darwin
audreyt 'k. let me attempt a fix 09:32
dduncan now, in my prior experience, 'stub' is what you get if you declare N tests, then do N-1
N being 69 in this case 09:33
audreyt yes, so reasonably it died after the penultimate test
dduncan but when I did a direct ./pugs t/pugsrun/07-dash-uppercase-v.t, with a copy of Test.pm in the Pugs root dir, it ran all 69 09:34
I didn't look close enough, but either the test died, or the IPC cut off before #69 was transferred
IPC to the harness 09:35
given the nature of this issue, it may be specific to me and/or transient ... don't feel the need to hold up the release to attend to this 09:37
it is still pre-alpha anyway
good night 09:38
audreyt ok, I have a conjecture 09:39
"slurp" was being too lazy and destroyed by the "unlink" next lie
fixing 09:40
audreyt identified as a race condition 09:52
made slurp() as strict as possible
committed. entering boarding area, bbiab... 09:54
svnbot6 r10679 | audreyt++ | * 07-dash-uppercase-v.t: Be a bit more precise by using index()
r10679 | audreyt++ | instead of a PCRE regex to test output message.
r10680 | audreyt++ | * Pugs.Prim: Made "slurp" as strict as possible, to counter
r10680 | audreyt++ | this race condition triggered in t/pugsrun/07-uppercase-v.t:
r10680 | audreyt++ | system("./pugs ... > tmpfile");
r10680 | audreyt++ | my $output = slurp("tmpfile");
r10680 | audreyt++ | unlink("tmpfile");
r10680 | audreyt++ | granted, we can work around that in the test by delaying
r10680 | audreyt++ | the unlink() toward an END block, but somehow I don't think
r10680 | audreyt++ | Perl programmers can be trained to do that...
theorbtwo wonders if the unlink could force the slurp, instead of just maximal-strictness. 10:25
That sounds like a lot of work, though.
Is Perl6-Pugs-6.2.12/docs/feather/~/gen.pl supposed to be in the pre0? It looks like a temp file... 10:26
Juerd It's ugly code, but not temp :) 10:48
<p> 10:49
To update this listing, run <tt>perl gen.pl</tt> in <tt>pugs/docs/feather/~</tt>
and wait for the automatic update.
</p>
azuroth yeah yeah, yeah the cow is back 11:09
pasteling "leo" at 195.3.113.168 pasted "pugs r10680 make test results" (12 lines, 834B) at sial.org/pbot/17711 12:01
lambdabot The title of that page is "Paste #17711 from "leo" at 195.3.113.168"
QtPlatypus mmmmm 12:04
http//www.arts.usyd.edu.au/
azuroth sydney, eh? 12:05
QtPlatypus was just wondering if lambdabot chases down every URL 12:07
And yes I'm from sydney
azuroth I'm from newcastle :-) 12:08
QtPlatypus And apprently the bot is from Sydney as well. 12:09
svnbot6 r10681 | fglock++ | Pugs-Compiler-Rule - fixed a bug in <alpha> rule 14:10
svnbot6 r10682 | fglock++ | Pugs-Grammar-Perl6 - works again; s/Rule/Regex/ for now 14:25
svnbot6 r10683 | fglock++ | Pugs-Compiler-Rule - version 0.05 in CPAN 14:37
fglock audreyt: is it ok to remove Pugs-Compiler-Rule form perl5/ ? 14:38
fglock s/form/from/ 14:46
scw fglock: Hi, I'm facing my homework/course project/final exams these days 14:48
fglock scw: hi! 14:49
scw (seems it's our first responsed irc chat :p) 14:50
fglock I've been working mostly off-line too :) 14:51
with the last fix, text constants work again - you don't need to use <'text'> 14:52
scw oh, so that's the reason!
ya, I choose the ugly syntax since simple text didn't work 14:53
fglock lunch & 15:06
spinclad 10675 test results: 16:03
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t/oo/proxy.t 18 6 33.33% 4 6 9 13 15 18
942 subtests skipped.
Failed 1/521 test scripts, 99.81% okay. 6/9479 subtests failed, 99.94% okay.
(x86 debian linux, embedded perl5 and parrot) 16:05
svnbot6 r10684 | fglock++ | Pugs-Grammar-Perl6 - <ident> rewritten to perl6 16:39
svnbot6 r10685 | fglock++ | Pugs-Compiler-Rule - implemented :Perl5 switch 17:52
sahadev hello, i have a question about file I/O in Perl6. does the "File" object let me do something like: 18:21
$fh.readline -> $line { say (++$i).as("%4d: ", $line }
PerlJam What specifically are you asking 18:28
?
sahadev PerlJam: i guess i am asking if the file object provides an interator method which can take arbitray block of code 18:29
sahadev s/interator/iterator/ 18:30
PerlJam Um ... probably not given that we have "for" as the universal iterator. for =$fh -> line { ... }
or, I suppose that could be spelt for $fh.readline -> $line { ... } (given the inherent laziness of perl6) 18:31
sahadev ah. ok.
sahadev also, what is the equivalent of $. special variable? 18:36
nevermind. found it.
$?LINE 18:37
thanks.
hmm. looks like I misread the meaning of $?LINE. it doesn't look like the equivalent of $. (which is the line number that has just been read). it seems to be the equivalent of __LINE__. is it? 18:42
spinclad yes
PerlJam probably. $?mumble are compile-time thingies
sahadev so, what is the equivalent in Perl6 of $. of Perl5?
PerlJam sahadev: perhaps $fh.line. perhaps +$fh 18:43
perhaps boths
er, both
sahadev neither of them work in recent pugs
PerlJam unless I've forgotten how to read haskell, it doesn't appear to be implemented at all. 18:47
sahadev ok. thanks again. 18:48
dduncan I am now beginning an identical smoke to yesterday of pre0, to possibly prove how transient the 1 failure was yesterday 20:44
regardless of the results, I will subsequently smoke the trunk
the first should be done in 2.5 hours 20:45
putter audreyt: while smoke runs, here is a quick thought on the release notes, and expectation management. 21:41
I have been struck by the degree to which "normal professional perl folk" have written off p6. 21:42
At a high-order 10 people perl mongers, a "who expects to try using p6 in the next year? two?" may not garner a single hand.
Perhaps it's the years of "And now _this_ works! :)" announcements, notably from parrot, when, they never really do, and the whole thing isn't even vaguely usable anyway. 21:44
putter *If* we want to begin changing that, gathering attention now-ish, rather than waiting for pugs to be "tada, it works!", then it seems like there is an exercise in expectation management. 21:47
Ie, a release note should ideally provide the reader with a thorough and accurate expectation of what will and wont work, and how well. Ideally so noone who tries it will be at all surprised by what is/isnt working. 21:49
I don't think we've ever really written that paragraph. STATUS was something like it for a while, but was still more a grabbag of facts, requiring the reader to form their own expectation by reading between the lines. 21:51
putter And there is much important expectation info which is never really documented, except transiently on irc. 21:53
Eg, Q - do objects work? A - not really. There is a large directory of passing oo tests, and many small modules have been written. But no-one has ever written a large oo program in p6. Type inferencer and other bugs have made that infeasible. The hope was to fix them in May. Of 2005. Ther 21:58
e is no current estimate on when there might be some progress.
putter Note how dramatically different this is than "we're passing all the oo tests again!". 22:00
Our tests are regression tests. We report "expected failure todo's" as successes. And it's been a long time since anyone really tried to spew a lot of (inevitably failing) tests based on the language spec. We're being much more incremental than that. 22:02
Which is all fine for "us", an audience of pugs developers. But that's perhaps not the target audience of either the blog, or the release notes. 22:03
Potential _users_ of pugs/p6 what will and wont work if they try it. 22:06
Can I do oo? Some. Nothing big. Expect problems. "Been there for a year, maybe fix them this year" problems. 22:08
You wouldn't even know from the "secondary literature" how much the perl6 design is still a work in progress. 22:09
putter One could form an impression of "they've been trying to implement the spec for years, and still haven't managed it. either they're bozos, or the language is a disaster". Little actually says "the pugs/perl6 effort is one of _exploratory design and implementation_". Certainly not our release notes. 22:13
PerlJam putter: aren't we a bunch of bozos? 22:22
putter takes off his big red nose and floppy shoes
no.
PerlJam putter: but in any case, I just read all that stuff you just wrote and I agree completely. 22:23
putter "Perl6 is the exploratory language design and implementation effort which will result in the next major, and much richer, version of perl. Perl6 is [... audreyt had a nice sentence summarizing what p6 is from a CS perspective, illustrating neatness and challenge...]. It's taking a while because it hard, we'r 22:30
e a handful of people working unfunded in our spare time, limitations of the p5 runtime forced a non-incremental effort, and we've had project management problems. 22:32
aside(eg, not part of intro paraphragh) - Creating as language which lets you do what you want to do, flexibly and powerfully, is hard. CS research kind of hard. Perl6 will be a notable accomplishment in language engineering. With only something like mid-order 10 FTE's working on it, that takes time. Especially if the effort is a bit chaotic. 22:40
PerlJam: nod 22:45
hmm. need a "project journalist"? someone to go around and ask everyone "what are you working on? why? how? etc" and summarize. 22:47
running late. smoke still in progress. yay, a preflight. cheers & 22:49
PerlJam: given agreement, the next question is "what to do?", what might be usefully added to our todo list... 22:50
&
fishb0t which synopsis is p6 open() doc'd in? 22:59