Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-07-08

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:03 clkao audreyt: ping
00:03 clkao audreyt: dinner-p?
00:03 audreyt oh you're bac
00:03 audreyt k
00:03 audreyt myif.net can't produce that quickly
00:03 audreyt so I called off
00:03 audreyt sure, going down for dinner now
00:03 TimToady enjoy!
00:04 audreyt thanks :)
00:05 putter hmm...
00:05 clkao audreyt: ok. see you
00:09 putter audreyt: re "lost Perl 5 lores", I thought the conclusion was that a social mechanism, a broadcast email plus a recursive pursuit of likely people, was the way to go.  And that it was on your todo list, not mine... ;)
00:09 audreyt putter: yes, but maybe you can chart the known space?
00:10 audreyt i.e. things we know that we are using
00:10 audreyt and simply is missing docs or less than supported in perl5
00:10 putter context, so #perl6 is less unintelligable: the objective is to collect "reach into perl5 guts" hackish things that people have found useful to do, to be examined and potentially made into real supported features.
00:11 nothingmuch wrt MIT license: if anyone cares
00:11 nothingmuch i prefer it
00:11 audreyt and indeed lost lores is social and I'll do it
00:11 audreyt but identifying known lores
00:11 nothingmuch but i think it's FUD to not have artistic/gpl on the module's page
00:11 nothingmuch was that the question?
00:11 audreyt the ones used in re::override, Data::Bind, autobox, PadWalker, etc
00:12 audreyt and have a writeup similar to the one you had for re::override
00:12 audreyt is I think educational and enlightening and good for talking with porters
00:12 putter audreyt: task-person mismatch I think.  I can certainly do re:override.  I'm probably the right person for that.  But on anything else I'd be starting from scratch.
00:13 audreyt putter: do re::override then, and try to build a template that, say, clkao can fill in for Data::Bind
00:13 putter sounds plausible
00:15 putter clkao: are you going to be around sometime in the next few days?  to give my a brief sketch of your thoughts/experiences with Data::Bind.  a template is easier to write when one has at least seen two instances ;)
00:15 putter s/my/me
00:17 clkao putter: i am going bcak to london tomororw, but i should be onlein
00:17 putter ok
00:18 putter thanks
00:24 putter everyone: yes, you!  http://svn.openfoundry.org/pugs/misc/pX/Common/mmd-draft.txt  is an early draft synopsis section on multi dispatch.  How p6 decides which variant of a multi handles any particular call.  Feedback would be great.  If it isnt clear, or might not be what you anticipated, pipe right up. :)  thanks.
00:24 svnbot6 r11274 | clkao++ | from rgs:
00:24 svnbot6 r11274 | clkao++ | Data::Bind refuses to compile with blead.
00:24 svnbot6 r11274 | clkao++ | The patch below solves it. However, I think we have broken
00:24 svnbot6 r11274 | clkao++ | something we shouldn't have. I'm not sure why...
00:34 stephanepayrard_ joined perl6
00:45 svnbot6 r11275 | lwall++ | continue renaming .p6 to .pl to unregress tests that use examples/ files.
00:57 svnbot6 r11276 | lwall++ | edit examples files that refer to other filenames as *.p6
00:57 TimToady audreyt: note, this last checkin probably has broken evalbot, since its name has changed from evalbot.p6 to evalbot.pl
01:00 TimToady on the bright side, t/pugsrun/09-dash-uppercase-c.t and t/examples/examples.t are back to passing.
01:00 svnbot6 r11277 | lwall++ | one more examples rename that collided earlier.
01:02 TimToady seems to me that perl5/Pugs-Compiler-Rule/lib/Pugs/Grammar/Rule/Rule.pmc shouldn't be under revision control.
01:06 TimToady ?eval 1+1
01:06 evalbot_11168 2
01:10 TimToady clkao: re Data::Bind, the call to the function is before the use Carp.  I don't know why the use Carp is that far down in the file.
01:11 TimToady it's not like it's trying to defer "require Carp" till first use, like some other modules do...
01:14 TimToady the internet is dead.  you'd think it was friday night or something...
01:16 szbalint Reminds me that it's already saturday night here.
01:16 * szbalint is off to sleep &
01:16 * TimToady will now make like a 木 and 葉。&
01:24 putter http://www.logos.it/ is kind of neat.
01:24 lambdabot Title: "LOGOS - Multilingual E-Translation Portal"
01:25 putter good night &
01:40 markstos joined perl6
01:41 markstos I'm beginning to to experiment with the p6-on-p5 implementation. Fun!
01:42 markstos However, I think I've run into a simple case where a hash definition that I think is valid in p5 and p6 is not being recognized.
01:42 markstos I could submit a failing test case, but I imagine there are already plenty of those in the pugs test suite.
01:43 markstos (that can be re-used for p6-on-p5).
01:43 markstos So what's a good way to help or get involved to improve p6 on p5?
01:52 markstos Oh. It seems really basic things still aren't there yet, like: my %H = ( a => 'b'  );
02:04 dduncan I notice that a few .p6 files still remain following my and TimToady's renaming of them .pl, so I'll try addressing those ...
02:36 svnbot6 r11278 | Darren_Duncan++ | more moving from .p6 to .pl
02:43 nothingmuch .win11
02:44 nothingmuch TimToady: you mentioned that I won something, what was it?
02:50 spinclad (A Scanner Darkly)++: saw it last night.  Dick and Linklater seem to know their drugged-out crazes.
02:51 spinclad evalbot_11168 is so three-days-ago
02:52 spinclad putter: svn up'ing to look
02:54 dduncan fyi, I'm doing more renaming yet which may affect that
02:54 svnbot6 r11279 | audreyt++ | * Restore lazily-evaluated lists:
02:54 svnbot6 r11279 | audreyt++ |     for 1..Inf { .say }
02:54 svnbot6 r11279 | audreyt++ |   actually works.
02:57 svnbot6 r11280 | Darren_Duncan++ | more .p6 to .pl renaming
03:00 svnbot6 r11281 | audreyt++ | * trivial typo fix.
03:00 ivanfrey When I do a svn up A is archive, D is Directory and U is update?
03:01 spinclad A is add, D is delete, U is update
03:01 dduncan but if a file is renamed, like I was doing a bunch with "svn rename foo bar", it shows up as an A+ and a D
03:02 ivanfrey dduncan: D on the old name and A+ on the new name?
03:02 spinclad and if changes are too big, it may decide to A (transmit the whole thing fresh) rather than U (send a diff)
03:03 dduncan ivanfrey, yes
03:03 spinclad ivanfrey: D the old, A the new  (not A+)
03:03 dduncan all my renames are .p6 to .pl, or occasionally .p5 to -p5.pl
03:03 dduncan it shows up as A+ to me
03:03 spinclad the second column refers to file properties updated
03:03 dduncan the idea is that svn/svk can attach the old file's history to the new one
03:04 spinclad ah.. hadn't seen that.  my bad
03:04 dduncan that's one reason why you don't copy the file manually and do a straight add plus delete
03:04 dduncan having svk does it lets the file maintain its revision history across renames, afaik
03:04 dduncan but moreover
03:04 dduncan I would expect it to be a minor diff, as only the file name changed, not its content
03:05 ivanfrey dduncan | spinclad : I was mucking about with a subversion Mac OS X Finder integration. Bad Idea.
03:05 dduncan or just bad implementation?
03:05 spinclad since i'm still using only svn, maybe that accounts for my never seeing it.
03:06 ivanfrey dduncan: bad implementation. gotta go.
03:06 dduncan it is possible that the smarts only happen in the main server, but clients that pull just get copies ... not sure
03:07 spinclad i'd think a Good Idea, when done right
03:07 spinclad (different Ideas tho)
03:14 spinclad dduncan: could be either my client or svn/svk... for the .p6 -> .pl renamings i see D/A pairs, but history is maintained.  since with svn i'm going to the server for that history, it makes sense.
03:14 dduncan yes ... I may only see the + on my side when I say 'svk status' anyway
03:14 dduncan prior to commit
03:15 dduncan I also get R+ instead of A+ a few times, besides files where I renamed bar to baz and then foo to bar
03:15 dduncan the R+ is by bar
03:15 spinclad R for replace
03:16 dduncan specifically that happens in a few places where there is a foo.pl and a foo.p6, and I rename them to foo-p5.pl and foo.pl
03:17 spinclad ok, i see that svn st is the same.  makes sense there too.
03:22 * nothingmuch declares clkao an official mountain ninja
03:23 * PerlJam just wishes that "svk diff -rprev:head" worked
03:23 PerlJam (the last time I wished for svk to do something it turned out that I only needed to upgrade :)
03:27 svnbot6 r11282 | Darren_Duncan++ | seemingly renamed the last of the .p6 files to .pl ... but refs to them in file contents still to do
03:28 dduncan given what I know about renames or copies, I make a point of never modifying files in the same commit that they are being renamed or copied
03:29 PerlJam wait ... you're renaming foo.p6 to foo.pl for all foo.p6?
03:29 PerlJam why?
03:29 dduncan so they work better with multiple runtimes
03:29 PerlJam how does the filename affect that?
03:29 dduncan eg, when you 'use v6' and run the Perl 6 syntax as a Perl 5 program
03:30 dduncan there is no reason to have different file names to say what version of perl it is
03:30 dduncan especially since its application so far was only done part of the time
03:30 dduncan eg, the .pm and .t weren't renamed to have a 6 in them
03:31 dduncan this change was already approved by audrey et al
03:31 dduncan see yesterday
03:32 PerlJam dduncan: Just like there was no reason to mutate Perl Library files (.pl in perl4) to mean perl executables in perl5.  ;-)
03:32 dduncan yes
03:32 dduncan we used the same .pl for perl 4 and perl 5
03:32 PerlJam Anyway, I'm not objecting, just curious
03:33 dduncan and as I said, thanks to v6.pm, the line between what is valid perl 6 and perl 5, running on perl 5, is blurred
03:33 dduncan going along with this change, all pugs shebang lines were removed, and any 'use v6-pugs' became 'use v6-alpha'
03:33 PerlJam dduncan: awesome
03:34 dduncan afaik, the decision to use .p6 in the first place was just done on a whim and had no particular need
03:34 dduncan like it was cutsey
03:34 dduncan cutesy
03:39 spinclad Build failure, r11281:
03:39 spinclad Compiling Pugs.AST.Internals ( src/Pugs/AST/Internals.hs, dist/build/Pugs/AST/Internals.o )
03:39 spinclad src/Pugs/AST/../Types/Array.hs:272:4: Not in scope: `runInvokePerl5'
03:39 spinclad Build failed: 256 at util/build_pugs.pl line 126.
03:40 dduncan I get the same failure, fyi
03:40 dduncan not sure if its something I did ... wait for the next commit
03:40 spinclad don't see how it could be
03:41 dduncan utils may be affected if some file names don't match expected file names
03:41 spinclad i have PUGS_EMBED="perl5 parrot", btw
03:42 spinclad you didn't touch these .hs files
03:42 dduncan no
03:42 dduncan but some utilities affect what happens to them ... it probably isn't me though
03:43 spinclad and they're not trying to access .p? files, either in source or in the compiler
03:44 spinclad not here anyway
03:47 dduncan committing ...
03:48 spinclad last more-or-less successful build here (up through linking pugs anyway) was at 11268.
03:48 dduncan fyi, I didn't touch them now, but I notice that some text inside .hs files refers to a .p6 extension ... may just be user help though
03:48 dduncan I'm inclined to change those too
03:49 dduncan commit done ... 11283
03:49 svnbot6 r11283 | Darren_Duncan++ | changed most refs to file names from .p6 to .pl ... some in talks and /src remain
03:50 PerlJam btw, if you haven't installed ack, you probably should.  It's been a boon for me :)
03:50 spinclad only ones not in comments (-- ... $) are in src/Emit/PIR.hs, looking at temp.p6
03:51 PerlJam App::Ack on CPAN (ack is the executable you get)
03:51 dduncan I haven't installed ack ...
03:51 spinclad i'll get it, been hearing good things about it
03:52 spinclad good for 'find' with extraneous files filtered out
03:56 PerlJam grep through only parrot source files for the word Iterator:  ack --parrot Iterator
03:56 PerlJam Just find all of the C source files :  ack --cc -f
03:56 PerlJam etc.
03:56 PerlJam ack is quite cool
04:01 svnbot6 r11284 | malon++ | t/operators/lvalue.t:  failing test for ($x += 2) *= 3 added
04:04 svnbot6 r11285 | Darren_Duncan++ | changed a few .p6 to .pl refs in src/, script/ ; renamed a couple .p5 files to -p5.pl in examples
04:06 arcady joined perl6
04:14 svnbot6 r11286 | Darren_Duncan++ | now did a few .p5 refs
04:14 dduncan so I'm basically done now
04:14 dduncan I'm now stopping, doing a make realclean, and building fresh to see if it still works
04:18 spinclad putter: re mmd-draft.txt: with regret: your text appears to describe what we talked about, which i half-believe is stable.  i think what you've written describes a single, implementable algorithm, which may well be the one we have in mind.  but i will have to read it more carefully, and possibly construct proofs, to convince myself of these.  and i think at this point we have reached something pretty well unteachable.
04:22 christopher joined perl6
04:25 ivanfrey Ok, if I've confused subversion in such a way that when I do svn up it warns me "Failed to add file|directory 'file|directory name': object of the same name already exists", how do I tell it that those objects with the same name are the things that need updating.
04:30 spinclad for this last reason (teachability) i now strongly favor TimToady's suggestion that semi's are specified only in the proto, so they are all aligned; i am dubious of my own further suggestion of multiple subprotos (since they could lead to interleaved semis), unless we declare that we must have a single winning short variant at each successive semi, before expanding its child-variants for the next round.  (in other word
04:33 spinclad ivanfrey: since various files/directories(?) have been renamed lately, you may have, say, a leftover local file where svn wants to put a file that it manages.
04:34 spinclad ivanfrey: look at what's there and consider removing the local file and svn up'ing again.
04:35 ivanfrey spinclad: actually I moved the whole tree around from one directory to another and subversion no longer sees the tree as a copy of the repository.
04:36 ivanfrey spinclad: that's what of been doing. svn up then rm or rm -fr depending on whether it's a file or directory that svn refuses to update.
04:37 spinclad do you seem to be converging on success?
04:39 gaal moose!
04:39 gaal nothingmuch: back so soon?
04:39 merlyn møøse
04:39 ivanfrey spinclad: was your last question directed towards me?
04:39 spinclad many møøse!
04:40 gaal hey merlyn, spinclad, all
04:40 spinclad ivanfrey: yes. perhaps it's time to rm -r or mv the whole directory and check it out fresh.  (you could try reconnecting stray .svn directories, but i've no idea if that even makes sense)
04:41 spinclad (møøse riming with gøøse)
04:42 ivanfrey spinclad: well I'm nearly done now. I have to leave for a bit.
04:42 merlyn sqüî®®él
04:43 Daniel_Nee joined perl6
04:45 TimToady m⍉⍉se
04:47 putter joined perl6
04:47 dduncan more møøse
04:48 putter spinclad: ping?
04:48 dduncan TimToady, try setting your IRC client to utf8 ... I just get boxes from you
04:48 dduncan in that last post
04:48 spinclad putter: pong
04:48 putter hi, so
04:48 putter teachability seems to be the top of your issue list?
04:49 TimToady I get my own utf8 back just fine.
04:49 spinclad did you catch my recent paragraphs in backlog?
04:49 spinclad (nm)
04:49 dduncan I got the ø from everyone else but not from you
04:50 TimToady I didn't send ø
04:50 dduncan never mind then
04:50 TimToady I sent ⍉
04:50 putter ok, yes, read them.
04:50 TimToady so I think your font is defective...
04:50 dduncan my font doesn't render that I guess
04:50 obra for the unicode impaired among us, what are you sending, TimToady?
04:50 TimToady apl backslashed circle
04:50 putter I didn't watch the proto discussion, but if I could run a story by you...
04:50 obra :)
04:50 dduncan on the other hand, I did see the asian characters you typed earlier
04:51 dduncan so it all looks fine
04:51 spinclad putter: teachability is suddenly a big issue now that everyone's keeping their own scorecard.
04:51 TimToady ♨
04:51 dduncan I saw that
04:52 dduncan looks like a football with 3 vertical lines thru it
04:52 spinclad putter: sure
04:52 dduncan or a birthday cake
04:52 TimToady hot springs
04:52 obra μs
04:53 clkao orz
04:53 clkao mμs
04:53 putter re scorecard, agreed.  not having an algo we believed, the spec went back to algo, rather than user perspective.  if it the algo holds up, I can massage it again.  here is a first cut thought...
04:54 putter instead of viewing param types as "taking" arguments, let's use a cooperative mindset.  like with coroutines.  collaborative multi methods. :)
04:54 dduncan it seems that there are other variants of the shebang lines to remove; eg, #!/usr/bin/perl6 or #!/usr/pugs
04:54 dduncan doing that now ...
04:55 spinclad hmm... \(...) ~~ :(...)
04:55 putter a param type says, i want anyone with a type more specific than this to take over
04:55 putter to handle the call instead of me
04:57 spinclad got it
04:57 svnbot6 r11287 | clkao++ | * Make sub_signature return the coderef itself.
04:57 svnbot6 r11287 | clkao++ | * Bump version to 0.26.
04:57 svnbot6 r11286 | Darren_Duncan++ | now did a few .p5 refs
04:57 putter the problem with Int,Num and Num,Int isnt two variants trying to grab the call, but two trying to give it to the other "no, you" "please, i insist" "no, i really must decline, but thank you" ;)
04:57 TimToady Ⅿↂ$€
04:57 spinclad oh, stop it!
04:57 dduncan I saw all of those ... no boxes
04:58 spinclad what currency's the second?
04:58 TimToady it's apparently a roman numeral 10,000
04:58 dduncan fyi, the font that my client is using is in the Licida Grande family ... it seems to work for more or less everything
04:58 dduncan its the default setting
04:58 spinclad putter: conflicting deferral
04:59 TimToady except APL symbols, apparently...
04:59 svnbot6 r11288 | audreyt++ | * First attempt at getting =<> becoming lazy again.
04:59 putter a semi simply says, i want anyone with a type more specific than this to take over, _as long as they were as good as me in the more important bits to the left of the last semi_.
05:00 spinclad TimToady: i've seen ((|)) as 10000
05:00 putter if they bungled the more important section, I dont trust them
05:02 audreyt szbalint: all fixed.
05:02 audreyt have fun!
05:03 putter the user rule is put a semi each place you want to say "henceforth, I will only defer to folks who were as good as me up to this point".
05:03 svnbot6 r11289 | audreyt++ | * Massive overhaul of Perl 5 embed system on invokePerl5.
05:03 svnbot6 r11289 | audreyt++ |     - non-reference errors from perl5 land like "die 'foo'"
05:03 svnbot6 r11289 | audreyt++ |       becomes Str error objects in perl6 land.
05:03 svnbot6 r11289 | audreyt++ |     - reference-type errors from perl5 land like "die ['foo']"
05:03 svnbot6 r11289 | audreyt++ |       becomes PerlSV error objects in perl6 land.
05:03 svnbot6 r11289 | audreyt++ |     - newSVsv(ERRSV) now protects the ERRSV from being
05:03 svnbot6 r11289 | audreyt++ |       GC'ed away. this makes szbalint's desired behaviour work.
05:05 putter and doublesemi is, i will henceforth defer to anyone how has anything the least bit better than Any, because I really dont.
05:05 spinclad putter: and each variant has a list of those it trusts to delegate^Wdefer to
05:05 putter yes
05:05 putter because it is the variants which are collaborating
05:06 putter the check at the end is just to see if the collaboration worked out.
05:06 putter everything else is just mechanism, implementation
05:07 Daniel_Nee Dear Audrey: I have sent you a mail regarding the SinoPac RPS, could you help to do a little modification during the weekend, thanks.
05:07 spinclad this helps a fair bit, i think.  the story still has the same level of complication (of course) but being well motivated folds into our understanding better.
05:07 TimToady "It does exactly what you want--it's just hard to explain what you want..."
05:08 audreyt seems to be a recurrent theme here
05:09 TimToady must be one o' them thar meme thingamajiggers...
05:09 spinclad or why you want it... just look within, you know you do.
05:09 putter lol
05:09 TimToady as long as there's a debugging switch that says "Please explain what I want here..."
05:10 spinclad indeed
05:10 spinclad these are the droids you're looking for
05:11 TimToady I have a good feeling about this...
05:11 TimToady It's my fault!!!
05:11 spinclad (trust the feeling)
05:12 TimToady that's not a space station--that's a moon!
05:12 audreyt "There is a Perl 6 in each and everybody's heart"
05:12 audreyt or was it "There is a Perl 6 in each and every one of us"
05:12 spinclad yeah
05:12 merlyn perl6 - it surrounds us.  it penetrates us.  it binds the galaxy together.
05:12 putter nonsubseted roles types are comparable because the variants say "oh, all I've got is a role, how about you?" "yeah, me too.  we got a subsetting?"  "nah, oh well" "ok, well, let's punt and we'll see what happens next".
05:13 merlyn with not one but TWO binding operators. :)
05:13 clkao sub { 42 }  is parsed as invoking sub({ 42}) in v6
05:13 clkao orz
05:14 ivanfrey audreyt: I've downloaded the latest pugs source tree from the subversion repository, but I'm getting an error with the initial cpan step described in the INSTALL file. I can't seem to access that web site that would allow me to paste the error output.
05:14 TimToady only two?
05:14 audreyt clkao: declarators are superspecial  :)
05:14 audreyt ivanfrey: try nopaste.snit.ch
05:14 putter ("in this corner, weighing 120 pages of 10 point TeX, the denotational semantics of perl6.  in this corner, weighing 100 pages of 5 color glossy, the perl6 talking variants comic book")
05:15 audreyt ivanfrey: is it something about Devel::Caller?
05:15 TimToady The Perl 5 Comix layer...
05:16 Daveman joined perl6
05:16 svnbot6 r11290 | Darren_Duncan++ | removed any 'perl6' invoking shebang lines (examples/cookbook), plus the odd variant-format pugs shebang
05:16 Daveman TimToady, you around?
05:16 xdg joined perl6
05:16 * TimToady whistles...
05:17 Daveman How's it going?
05:17 ivanfrey audreyt: Yes, /opt/local/lib doesn't exist.
05:17 dduncan okay, I think I'm done with all that file and header renaming
05:17 audreyt dduncan++ # wow.
05:17 TimToady okay.  I see you're on pacbell.net.  We're practically neighbors...
05:18 dduncan it is possible that there are some subtle related matters that still need working out, so hopefully they will be caught in people's tests and trials
05:18 obra audreyt: http://radar.oreilly.com/archives/2006/07/looking_forward_to_oscon.html
05:18 lambdabot Title: "O'Reilly Radar &gt; Looking forward to OSCON"
05:18 Daveman TimToady, apparently!
05:18 Daveman TimToady, that's what I was wondering before :)
05:18 * Daveman is a bit curious, while at the same time, content.
05:18 dduncan eg, some were in various utilities and package makers, which I don't use ... some in the perl5/ and misc/ space, which I possibly don't invoke
05:18 Khisanth Daveman: you do know stalking is illegal right? :P
05:19 spinclad i'll take the comix version for $50
05:19 dduncan in what country?
05:19 putter if this seems plausible,
05:19 putter the next step would be to find a comic version of type narrowness.
05:20 Daveman Khisanth :P
05:20 putter if we could do that, the mmd spec would be quite short and simple.
05:20 Daveman Khisanth, just be glad I'm not neighbors to you, anymore? (at the moment) :P
05:20 putter Euclid's rule.  it's cost a week, but now it seems trivial.
05:20 dduncan now, and this is probably unrelated to what I did (?) but I get compile errors with Pugs
05:21 spinclad that ... would be amazing
05:21 dduncan eg, in Pugs.Embed.Perl5
05:21 spinclad and several points in its favor
05:21 dduncan Couldn't match `IO Bool' against `Bool' ...
05:21 putter any mmd cases of interest that dont flop nicely in this (user) model?
05:21 Khisanth Daveman: I have the police on speed dial!
05:21 Daveman Excellent :)
05:22 merlyn what's the number for 9-1-1?
05:22 dduncan ... In the definition of `perl5_SvROK': perl5_SvROK _ = False
05:22 dduncan does that happen to other people?
05:22 Daveman 1-800-4-MERLYN?
05:22 Khisanth actually one of the neighbors is a retired cop :)
05:22 Daveman :p
05:22 Daveman heh
05:22 Daveman merlyn, shouldn't you be busy planning shit? :)
05:23 putter not Euclid.  Pascal.
05:24 spinclad putter: at this hour i can't be sure.  it's getting time for me to fade out.  i'll be here some tomorrow, then away for a week.
05:24 Daveman agreed.
05:25 putter ok.  I'm not sure what my state is tomorrow.  I'll try to overlap.  else backlog
05:25 putter spinclad: it has been great fun.  thank you.
05:26 spinclad good.  coherence is leaving.  i can feel my mind failing, Dave.  Don't do that.
05:26 Daveman uggh
05:26 * Daveman throws pcb at spinclad
05:26 putter lol
05:26 putter actually,
05:26 Daveman I'll teach you to insult me! :P
05:27 spinclad (sorry)
05:27 putter for the user version of type narrowness,
05:27 spinclad all right, how?  teach me!
05:27 putter a simple inclusion argument might work.
05:28 putter we've been working from a nested type picture, trying to find an algorithm
05:28 putter but I'm not sure we've actually learned anything about the picture in doing the algorithm
05:29 putter a naive sketch might be just what the user needs
05:29 spinclad right, what matters is just the inclusion: stricter better.
05:29 * Daveman waves to TimToady
05:29 putter yeah.  hmm.  *smile*
05:30 spinclad and roles are funny because they're really something else
05:30 Daniel_Nee Dear Audrey: How are you ?
05:30 Daveman Dear?
05:30 audreyt Daniel_Nee: I'm doing fine. just replied your mail -- I sent the last RPS/Jifty/Win32 build 24 hours ago
05:30 Daveman Doe a Deer?
05:30 putter not so funny,
05:31 putter when they are associated with classes, they really dont matter,
05:31 putter and when by themselves, well,
05:31 audreyt Daniel_Nee: it should implement all the SinoPac requests Sam sent me, so let me know (by email) if anything's missing, thanks :)
05:31 putter you would obviously like to hand off to someone who has a superset of your roles,
05:32 putter and obviously have no inclination to do so if you have no idea what his role means,
05:32 putter so... the only bit you have to explain
05:32 spinclad they're different colors your nested types can have
05:33 audreyt Daniel_Nee: (or, alternatively, use the hiveminder.com invite account to assign tasks to me; that way I get to process them sooner -- but email is fine :))
05:33 putter hmm... maybe not, let's see...
05:34 ivanfrey audreyt: what channel do I paste my error to?
05:34 audreyt ivanfrey: try http://nopaste.snit.ch
05:34 putter we've said redundantness doesnt increase narrowness.   Storable Storable is no more narrow than Storable.
05:34 audreyt use the "none" channel
05:34 audreyt ivanfrey: and paste the url here
05:35 spinclad sure
05:35 Daniel_Nee Dear Audrey: Thanks a lot, I'll check with Sam.
05:35 ivanfrey audreyt: oh ok
05:35 audreyt Daniel_Nee: cool, thanks. *wave* :)
05:35 putter and since classes are recursively expanded, there are no roles of interest not implied by those classes?
05:36 putter roles only compare, superset takes it, else defer
05:38 putter once you hit classes, its just inclusion, no?  (i too am ready to call it a night - brain pudding)
05:38 ivanfrey audreyt: http://nopaste.snit.ch:8001/7582
05:38 Daveman left perl6
05:38 spinclad .oO {  (Role, ...)  is like  Role c => c -> ...  in haskell?   tomorrow. }
05:39 spinclad .oO { foreach c. ... even, or something }
05:39 putter the only way you get roles from an object is via classes
05:39 putter s/from an object//
05:40 dduncan oh, something I'll point out that may be a cause of problems ... I did notice the odd, but didn't do anything about ... Perl 6 file that doesn't have a "use v6" line of any kind
05:40 putter so its
05:40 dduncan I added those to a few that I removed shebang lines from
05:40 dduncan but not with a few others
05:40 spinclad and if your signature has a role, it's standing in for all the classes that do it
05:40 dduncan it seems those are far and between though
05:41 dduncan it is possible that said files may now try to execute as Perl 5 and fail
05:41 putter "of course I wouldnt like to hand off to someone who required more implicit coercions than me.  yuck"
05:41 putter and "if we are both just roles, subset or defer"
05:41 dduncan I mention these exist, but are rare ... and I don't know how to search for files that don't contain something, only files that do contain something
05:42 putter and "if I dont have a class, i'll assume any.  and then we just do class inclusion"
05:42 dduncan but a general question of something I can attend to ...
05:42 audreyt ivanfrey: yup, that's known.
05:42 spinclad and a role, if it applies at all, applies to the closest classs
05:43 dduncan many files have a plain "use v6;" rather than "use v6-alpha;" ... something I read suggested that the plain v6 won't run now because it implies 6.0.0-final
05:43 dduncan so should I replace any plain v6 with v6-alpha, or leave these as they are?
05:43 audreyt ivanfrey: try
05:43 audreyt sudo cpan -fi ExtUtils::CBuilder ExtUtils::ParseXS Module::Build Devel::Caller Module::Compile Pugs::Compiler::Rule
05:43 audreyt I've update INSTALL.
05:43 audreyt dduncan: you should
05:43 putter "closest"?  what is this "closest" of which you speak? ;)
05:44 dduncan okay, I will make all use lines specify 'alpha'
05:44 spinclad the eigenclass!
05:44 putter it might be just, do rule inclusion if you are both strictly roles, else do class inclusion?
05:44 svnbot6 r11291 | audreyt++ | * INSTALL: say "cpan -fi" not "cpan" for now
05:44 clkao mmm closure
05:44 spinclad what is closer than you ?
05:45 clkao isn't that all we need
05:46 putter not sure i understand.  its the param types.   with two param types which have no classes, do role inclusion.  else do class inclusion.
05:46 svnbot6 r11292 | clkao++ | Make closure and closure invocation work.
05:46 audreyt objects are just poor people's closures.
05:46 audreyt closures are just poor people's objects.
05:47 ivanfrey audreyt: It's still failing.
05:47 audreyt ivanfrey: but it installs :)
05:47 audreyt ivanfrey: background info: Devel::Caller is known to fail on multithreaded perl. v6.pm doesn't use the parts that fails. clkao is working with Devel::Caller's author on this. stay tuned
05:48 audreyt clkao: have you suggested to Richard the cheap&cheerful fix?
05:48 clkao audreyt: no, but i think it requires beer
05:48 spinclad not sure i do either.  thinking of args as elements, classes as level-1 sets, roles as level-2 sets...  i think i've hit my limit for the night.
05:48 clkao which i will be physically able to apply to him tomorrow.
05:48 obra day after
05:48 ivanfrey audreyt: The output looks identical.
05:48 putter the only difference being incomparable roles are a punt.  incomparable classes... hmm... that bears a bit of thought.
05:49 putter spinclad: but you were wisely off to sleep.  perhaps me too.
05:49 dduncan hm ... I've also noticed a curious thing, that many files have their use v6 line AFTER some other Perl 6 code, like a module declaration ... I will have to move those upwards as well
05:49 ivanfrey audreyt: And I'm still getting make install won't install without force.
05:50 audreyt ivanfrey: hm, your cpan doesn't take -fi?
05:50 audreyt ivanfrey: try this
05:50 audreyt sudo cpan
05:50 audreyt force install Devel::Caller Module::Compile Pugs::Compiler::Rule
05:50 spinclad it's been a great week, great fun, amazing things coming together.  good night, all!
05:50 audreyt spinclad: g'nite :)
05:50 TimToady nite!
05:50 audreyt dduncan: yes.
05:51 putter indeed.  good night!
05:51 audreyt dduncan++ dduncan++ dduncan++ # "alpha" committer
05:51 * clkao wants a beta pony
05:51 audreyt I'm afraid you can only get a puny
05:53 dduncan I want to use Perl 6 syntax in production by this christmas, or sooner
05:53 clkao audreyt: i think i want to hack for another hour. want to hack on v6mmd or teach me haskell?
05:57 dduncan commit of first 330 files in progress ...
05:57 dduncan thats just the [examples/, ext/, t/, t_disabled/] dirs
05:58 dduncan the last 2 only had 22, the first 2 had the rest, about 100 and 200 respectively
05:58 dduncan or 115 and 193 specifically, I think
05:58 dduncan based on past performance, the commit will probably be done in 10-15 minutes
05:59 audreyt 'k
06:00 TimToady timings about right, just finishing my last smoke
06:01 dduncan so that means Pugs builds for you fine
06:02 dduncan somethings causing build errors here, since earlier today
06:02 TimToady yes, and you last checkins made no change in my 23 errors.
06:02 TimToady *your
06:05 audreyt putter, spinclad: a cursory inspection of Class::Multimethod::Pure reveals that it is very well suited as a p5 realization of the mmd-draft algorithm.
06:05 audreyt the only thing that needs to change is the find_variant sub
06:05 audreyt all the other scaffolding can probably remain unchanged.
06:05 putter (RoleA,Int) and (UnrelatedRoleB,Num) is unambiguous, right?
06:06 audreyt right.
06:08 audreyt so, plan forward is probably write Sub::Multi that subclasses C::M::P
06:08 audreyt I think.
06:09 audreyt working with clkao on it. (and on hooking Data::Bind and perhaps Moose::Meta::TypeConstraint)
06:09 spinclad .oO { wow.  :) }
06:09 TimToady can it support call() to next best candidate?
06:09 audreyt yes, and the call() would even be lexical.
06:09 TimToady lexical?
06:09 spinclad .oO { somebody's walked these paths before us }
06:09 audreyt lexical subs.
06:10 audreyt (Data::Bind can do "sub f (&x) {...}")
06:10 putter ok, another mmd-text rewrite coming up tomorrow.  algo unchanged, but shift back again to user perspective rather than implementation.  and expect user story to be very short.  unless I can't resist including inter-variant conversations.  and little ascii picture comics.
06:10 audreyt which means lexical &x in it
06:10 audreyt putter: and little foxes!
06:11 putter :)
06:11 audreyt TimToady: just to be sure
06:11 audreyt "next best" in face of this stable multi dispatch means that
06:11 audreyt "take $this_variant out of the equation, run the dispatch again and see who wins"
06:11 spinclad .oO { and Roles playing 5-card Tarot, pentacles wild }
06:11 audreyt and what if it's ambiguous?
06:11 svnbot6 r11293 | Darren_Duncan++ | replaced all 'use v6;' lines with 'use v6-alpha;' in 330 files (examples/, ext/, t/, t_disabled/) ... more remain to do
06:12 audreyt (Int, Int) (Int, Num) (Num, Int)
06:12 audreyt inside Int,Int I do a call()
06:12 audreyt does it die?
06:12 TimToady I would imagine.
06:12 audreyt good, then no special precaution needed
06:12 audreyt stability with call() then is a very good property to have.
06:12 TimToady I'm more worried about the case of roles (Foo Bar) (Foo) where the first wants to defer Foo processing to the second.
06:13 audreyt aye.
06:13 audreyt this language is very perlish.
06:13 audreyt oh, wait. :)
06:13 dduncan I see more shebang lines I missed before ... because they have a space before the path
06:14 audreyt putter: have you read luqui's "semantics" section?
06:15 putter long ago
06:15 audreyt # http://search.cpan.org/~lpalmer/Class-Multimethods-Pure-0.11/lib/Class/Multimethods/Pure.pm#Semantics
06:15 lambdabot Title: "Class::Multimethods::Pure - Method-ordered multimethod dispatch - search.cpan.or ..."
06:15 * putter looks at the clock, looks at the link, pauses, clicks...
06:15 audreyt it is neither comics nor algorithm
06:15 audreyt but more like properties
06:15 TimToady in fact, there almost oughta be a way to say "call all the variants that match", on the assumption that (Foo Bar) only deals with the relationship of Foo and Bar.
06:16 audreyt TimToady: but wait there is
06:16 audreyt it's called $a.*moose($b) -- and pray that $a doesn't have a moose method
06:16 jonasbn joined perl6
06:16 audreyt so it can fallback (or something)
06:17 TimToady I was afraid you'd say that...
06:17 TimToady MMD.*moose($b)
06:17 audreyt but the .*moose looks unattractive given the multi / method separation
06:17 clkao moose
06:17 audreyt &moose.*($a, $b)
06:17 audreyt &moose.*apply($a, $b)
06:19 TimToady undef.*moose($b)
06:19 svnbot6 r11294 | clkao++ | Data::Bind::Sig->is_compatible to check if a signature is compatible
06:19 svnbot6 r11294 | clkao++ | with a given capture.
06:19 TimToady *.*moose($b)
06:20 audreyt *.* is antler?
06:21 forsaken joined perl6
06:21 putter ok, so the only difference is junction handling.
06:22 TimToady I guess that means that for all normal subs self ~~ Whatever.  :)
06:22 putter is there some motivation case for why we are  A|B == min(A,B)  rather than  luke's A < A|B, B < A|B
06:23 dduncan what is the purpose of pugs-modules.lintian-overrides ?
06:23 dduncan it looks kind of like a partial manifest, including lines like pugs-modules: unusual-interpreter ./usr/share/perl6/5.8/Test/Pil.pm #!/usr/bin/pugs
06:24 putter but you know...
06:24 dduncan but only about 2 dozen such lines
06:24 dduncan I'm going to remove all the unusual-interpreter lines
06:25 * putter 's tone would cause the hair to stand up on the neck of an sane person.... but this is #perl6...
06:25 TimToady I don't know where the min() came from.
06:25 putter the left to right story is certainly nice and all...
06:26 putter but consider luke's combinator factoring example.  (A,Obj) (Obj,A) (
06:26 putter err, (A,Obj) (Obj,A) (A,A)
06:27 putter or  (A,Any) (Any,A) (A,A)
06:28 TimToady I'm considering, but nothin's happening...
06:28 putter in case 2...  what I really want to say is... "I dont want to hand off to anyone more specific at param0, unless they are as good as me at param1"...
06:29 putter err, case "2" is (Any,A)
06:29 TimToady I don't see why this isn't just an argument for MMD...
06:30 TimToady of the non-CLOS variety...
06:30 putter because i'm tired and
06:30 putter keep failing to assimilate the impact of the phase 1 compatibility filter.
06:30 putter sigh.
06:30 audreyt sorry for that link :)
06:30 putter sorry.
06:30 TimToady sorry.
06:31 audreyt so, so, sorry
06:31 putter lol
06:31 putter np
06:31 audreyt (clkao is now coding up Sub::Multi, with elimination round and then rand(+@variant) for dispatch)
06:31 audreyt (just so we can start testing it with Data::Bind)
06:31 putter any thoughts on lukes different or-junction spec?
06:32 audreyt I think min() is perhaps wrong, and luke's is perhaps better
06:32 audreyt if I said something like min(), I'm sorry :)
06:33 audreyt but hey, go sleep :)
06:33 putter no, the fact that i keep making that mistake, even after a week of this, means i have to look real hard at finding a user story which will stick.
06:34 putter ("no", ie, no need to be sorry.  if you cant understand the docs when you are wiped, the docs likely need work.  so reading wiped is actually a good state for that phase of things;)
06:34 TimToady dduncan: should I wait for more checkins before my nighty-night smoke?
06:35 dduncan one should come any moment now
06:35 svnbot6 r11295 | Darren_Duncan++ | updated another 2-3 dozen files, mostly in misc/ and perl5/, to replace v6 with v6-alpha, and remove a few malformed shebang lines
06:35 putter ok, i'll sync our junction handling with luke's too.
06:35 dduncan there it is
06:35 TimToady I seen it.
06:35 dduncan the only other change I was going to do is move the use line above perl 6 code
06:36 dduncan maybe a few dozen files are affected ... your choice as to whether to wait
06:36 TimToady eta?
06:37 dduncan maybe 10-20 minutes ... hard to say, as this is a bit more manual
06:37 TimToady I'll wait.
06:37 putter so my biggest fuzzy at the moment is whether the "each variant has its own world view" story actually has the properties we have in mind, with no gotchas.
06:37 dduncan essentially, I will look for use lines that aren't the first lines, or possibly use a smarter grep
06:39 dduncan currently searching for ';\s+use v6'
06:39 dduncan found in 24 files
06:44 dduncan now checking for other variants ...
06:45 putter or maybe the answer isnt I'm tired?  (Any,Int) (Int,Num)  left to right, says ambiguous.  but what if the writer of variant 0 thinks of it as (Int;Any), but regretably, the arguments have to be present in the opposite order.  one might imagine them saying (Any ;< Int).  and having the result behave as if the two were (Int;Any) and (Num,Int).
06:45 putter maybe.
06:45 putter good night &
06:46 TimToady 'nite!
06:46 dduncan I should be done in c5 min
06:46 TimToady k
06:49 svnbot6 r11296 | audreyt++ | * Data::Bind - Support for adding signature on anonymous subs
06:49 svnbot6 r11296 | audreyt++ |   by reifying a GV for it out of thin air, with names such as:
06:49 svnbot6 r11296 | audreyt++ |     *{'__ANON__::CODE(0x1875d20)'}
06:51 dduncan okay, about to commit ...
06:53 dduncan in progress ...
06:53 dduncan about 25 files
06:54 dduncan 3 examples/, 16 ext/, 4 misc/, 2 perl5/, 1 src/
06:54 dduncan done ... 11297
06:55 dduncan so that's all I will probably do
06:55 TimToady smokin'
06:55 TimToady results in .5 hr or so.
06:55 TimToady if anyone cares.
06:55 svnbot6 r11297 | Darren_Duncan++ | updated 23 files so that their 'use v6' line appears above all other perl code ... they had package declarations coming first ; also removed a few more shebang lines
06:55 TimToady course I'm only testing the Haskell branch...
06:56 dduncan yes
06:56 dduncan thats all that I've ever tested for my life on this project
06:56 dduncan though with that nice v6.pm out, that's about to change
06:56 TimToady yeah, but I get scared when I see the prereqs.  :)
06:57 TimToady and I'm not sure which of 'em should come from CPAN, and which from pugs/
06:57 dduncan to someone that already has a base Perl 5 install, the v6.pm prereqs are probably less onerous than those of Pugs
06:57 TimToady true 'nuff
06:58 dduncan as before, Pugs.Embed.Perl5 fails to compile for me ... not sure if its a local transient problem or a general incompatability ... but it works for you obviously
06:58 TimToady reconfigged, I presume.
06:59 dduncan the usual 'make' worked yesterday, or earlier today
06:59 TimToady mine's just standard Fedora Core 5 perl, pretty up-to-date via yum.
06:59 dduncan maybe I'll see if a clean checkout acts differently
07:00 dduncan but not today ... today is midnight
07:00 TimToady today is tomorrow now
07:00 TimToady or vice versa...
07:00 dduncan that too
07:00 TimToady so good morning &
07:00 dduncan & how
07:02 dduncan fyi, regarding v6 prereqs, my assumption is that CPAN is the "release" version and those with Pugs are the bleeding version ... so a general person would get them from CPAN
07:02 dduncan now, maybe this was already solved, but I wonder about how a general person would run the Perl 6 test suite on p6 if they don't want Pugs
07:02 dduncan separate distro with just the test suite?
07:03 dduncan that Pugs and v6 distros each require
07:04 dduncan assuming we're going for multiple Perl 6 implementations, I'm assuming that the Perl 6 test suite will soon become its own package, ala Sun's certification app that proves a Java runtime is compliant
07:04 dduncan maybe the CPAN distro can be Perl6::Certification or something
07:04 dduncan or Perl6::Validator
07:05 dduncan or add the word Runtime to that or something
07:12 audreyt v6::tests;
07:12 svnbot6 r11298 | audreyt++ | * Data::Bind - snapshot values before checking is_compat
07:12 dduncan or that
07:12 audreyt ok. all that takes is to write a Makefile.PL in our t/
07:12 audreyt makes sense?
07:12 dduncan I think so
07:13 audreyt cool. feel free to write one :)
07:13 dduncan so is there any objection to start shipping the t/ on CPAN as a separate distro some time soon?
07:14 audreyt nope, I think it's a good idea.
07:14 audreyt maybe around OSCON
07:14 dduncan also, if that is done, would the Perl6::Pugs distro stop including the t/ and instead mark it as an external dependency?
07:15 audreyt that is certainly a good idea.
07:16 audreyt it's such a good idea, would you mind posting it to p6c? :)
07:16 dduncan will do
07:16 audreyt danke
07:16 Aankhen`` joined perl6
07:16 dduncan on a related note, while I imagine 'make test' should be relatively easy to support a makefile for, 'make smoke' will be harder
07:17 dduncan or come to think of it, the v6 or Pugs may still be best to still include those, as such harnesses still imply knowledge of the implementation, maybe
07:18 vsoni audreyt:
07:18 vsoni audreyt: hi
07:20 buetow joined perl6
07:21 svnbot6 r11299 | audreyt++ | * add "constraint" field to Param
07:24 Daniel_Nee joined perl6
07:28 audreyt Daniel_Nee: hey. I'm about to sleep now... please reach me via email and I'll process in ~9 hours :)
07:30 clkao Sub::Multi 0.001_1 on cpan
07:30 svnbot6 r11300 | clkao++ | Data-Bind 0.26.
07:30 svnbot6 r11301 | clkao++ | Sub-Multi 0.001_1.
07:38 iblechbot joined perl6
07:43 clkao orz orz
07:45 clkao audreyt: change the pod in data::bind as well?
07:45 audreyt sure
07:45 audreyt clkao: otoh, does \sub{} work correctly?
07:46 clkao ya
07:46 svnbot6 r11302 | audreyt++ | * v6.pm - support -Ilib
07:46 clkao $x == 1 is the trciky one
07:47 audreyt anyway I'm off to sleep
07:47 audreyt g'nite!
07:47 svnbot6 r11303 | audreyt++ | * v6 emitter: Multiple positionals in the callconv is now
07:47 svnbot6 r11303 | audreyt++ |     func([\( 1, 2, 3, 4, 5 )]);
07:47 svnbot6 r11303 | audreyt++ |  instead of the old, uglier:
07:47 svnbot6 r11303 | audreyt++ |     func([\(1), \(2), \(3), \(4), \(5)]);
07:47 dduncan audreyt, I sent the message
07:48 audreyt dduncan++
07:48 dduncan to p6c ... and so we see what happeneth
07:49 audreyt ok
07:52 clkao is it christmas yet?
07:52 * clkao zzz &
07:54 dduncan clkao, it is Christmas ... in July!
07:57 dduncan um, regarding the newly added perl5/Sub-Multi, why is the blib/ in version control?
07:58 clkao gr, because i was sleepy
07:58 dduncan I can delete it
07:58 clkao i am deleting it
07:58 clkao but thanks for spotting ;)
07:59 dduncan okay
07:59 svnbot6 r11304 | clkao++ | /me stupid & sleepy.
07:59 dduncan don't forget your Makefiles and other generateds too
07:59 clkao i did make distclean and svk ci --import
07:59 dduncan okay
08:02 svnbot6 r11305 | audreyt++ | * v6 emitter - we still need parens around 1-arg case.
08:05 svnbot6 r11306 | audreyt++ | * Sub::Multi: fix callconv example in synopsis as requested by clkao.
08:06 elmex joined perl6
08:15 iblechbot joined perl6
08:25 kane_ joined perl6
08:49 beppu joined perl6
09:12 wilx` joined perl6
09:15 prefiks joined perl6
09:17 wilx` is now known as wilx
09:34 play9999 joined perl6
09:35 dduncan left perl6
10:16 nothingmuch_ joined perl6
10:32 Aankh|Clone joined perl6
10:40 chris2 joined perl6
10:50 Aankh|Clone is now known as Aankhen``
10:52 DaGo joined perl6
10:55 larsen joined perl6
10:57 Aankh|Clone joined perl6
11:22 ludan joined perl6
11:28 sanug joined perl6
11:33 Debolaz joined perl6
11:35 sanug left perl6
11:46 Aankh|Clone is now known as Aankhen``
11:48 meppl guten morgen
12:20 ivanfrey When I do a build and it fails should I make realclean before or after I do a svn up or not at all?
12:28 ruoso joined perl6
12:33 szbalint joined perl6
12:33 markstos joined perl6
12:39 svnbot6 r11307 | fglock++ | v6 - 'while' modifier, 'until', 'do'
13:00 prefiks joined perl6
13:02 szbalint audreyt++ , perl5 works like a charm now :)
13:12 ivanfrey cpan is asking which installer do I prefer EUMM or MB? Presumably EUMM since that's the first thing we're told to install in the INSTALL file?
13:13 markstos ivanfrey: I think both are OK. I prefer MB.
13:14 ivanfrey markstos: actually I misremembered the INSTALL file. It's MB.
13:22 elmex joined perl6
13:30 ivanfrey Agggh, I'm confused. There are "conflicts" with what the INSTALL file is telling me and what cpan is asking me. See this page for what I mean: http://nopaste.snit.ch:8001/7586
13:30 ivanfrey I'm going with MB.
13:54 play9999 joined perl6
13:55 ivanfrey where are parameters for the make install command stored I accidentally answered 1 instead of UNINST=1 .
14:05 ivanfrey Whew! Thank goodness for scrollback. I simply ran cpan and o conf init to correct my mistake.
14:40 xdg joined perl6
14:44 * ruoso just realized that CPAN6 contains a potential pronuntiation joke
14:53 ludan joined perl6
14:56 play9999 joined perl6
14:59 nothingmuch joined perl6
15:01 gaal nothingmuch: mooooose
15:03 nothingmuch moose
15:04 nothingmuch i got an antler photo on the hike
15:04 nothingmuch i'll put it up as soon as I find my card reader
15:05 xdg question for the perl6 team -- who maintains the various websites?  Individuals?  Or is it all just part of the svn repository and anyone can update them?
15:06 * xdg is looking for best practice collaboration approaches for Vanilla Perl
15:07 nothingmuch_ joined perl6
15:09 alexander joined perl6
15:10 gaal xdg: feather is on the pugs repo
15:10 gaal nothingmuch: how was the trip?
15:12 nothingmuch excellent
15:12 gaal xdg: there used to be a wiki, but afaik it's been spammed to exhaustion
15:12 audreyt xdg: feather.perl6.nl site is in docs/feather
15:12 audreyt I'm thinking about migrating pugscode.org to something nonstatic
15:13 svnbot6 r11308 | gaal++ | * Pugs.Embed.Perl5 - unbreak the build
15:13 audreyt one option is to simply make it the same as featuer.perl6.nl.
15:13 nothingmuch morning audreyt
15:14 nothingmuch breakfast?
15:14 audreyt and collaboratively managed under docs/feather/
15:14 audreyt Juerd: would it be ok if feather's index.html and pugscode's index.html become somewhat mergd
15:15 audreyt Juerd: and we manage both under docs/feather/ ?
15:15 nothingmuch_ nick nothingmuch
15:15 nothingmuch_ is now known as nothingmuch
15:15 audreyt xdg: are you the releng for vanilla perl?
15:15 nothingmuch is now known as nothingmuich
15:16 gaal nothingmuich?
15:16 audreyt xdg: if so, great work. :)
15:16 xdg audreyt, I'm the reluctant releng for vanilla perl at the moment
15:16 audreyt nothingmunich?
15:16 nothingmuich is now known as nothingmuch
15:16 nothingmuch aaaah
15:16 nothingmuch typo
15:17 gaal eep, the build needs a little more unbreaking. audreyt, do the p5 embedding thingies really need o be exposed to AST.Internals that much?
15:17 audreyt xdg: mm reluctant. why? is it because it's blocking your time to strawberry? :)
15:17 nothingmuch audreyt: breakfast?
15:18 audreyt nothingmuch: yes... in a bit
15:18 xdg audreyt, when I started helping Alias on it, I didn't realize that I'd wind up taking on a Vanilla Pumpking role
15:18 nothingmuch audreyt: what do you want me to make?
15:18 audreyt xdg: which means you need to find a minion now... :)
15:18 xdg audreyt, I'm now building Perl::Smith, which autogenerates Vanilla, Strawberry or what ever people want from a YML config file
15:18 audreyt it's minions all the way down
15:18 xdg audreyt, Yes, I do.
15:19 audreyt nothingmuch: me? reality? preference? as long as it's food I'll eat it :)
15:19 gaal audreyt: never mind, fixing
15:19 xdg audreyt, I admire what you've done with Pugs.  When Alias compared me to you on his journal, my immediate thought was "I'm not worthy"!
15:19 audreyt heh :) but indeed you are
15:20 xdg Nay.  But I can aspire, anyway.
15:20 nothingmuch audreyt: yesterday you seemed pickier ;-)
15:20 * xdg is going crazy trying to keep track of too many IRC conversations/windows/etc
15:20 alexander joined perl6
15:21 * nothingmuch makes a bread + rice + lard breakfast for audreyt
15:21 alexander left perl6
15:21 markstos How can I recover or rest a forgotten OSSF password?
15:21 markstos s/rest/reset/
15:22 xinming audreyt: can't build pugs again...
15:22 xinming src/Pugs/Embed/Perl5.hs:70:16:
15:22 xinming    Couldn't match `IO Bool' against `Bool'
15:22 xinming      Expected type: IO Bool
15:22 xinming      Inferred type: Bool
15:22 xinming    In the definition of `perl5_SvROK': perl5_SvROK _ = False
15:22 xinming Build failed: 256 at util/build_pugs.pl line 126.
15:22 xinming make: *** [pugs] Error 2
15:22 audreyt xinming: gaal just fixed that
15:22 gaal xinming: still on it
15:22 gaal give me 3 min
15:22 xinming :-)
15:23 audreyt markstos: http://rt.openfoundry.org/Foundry/Home/Guest/Reminder.html
15:23 lambdabot Title: "Member Login -- OSSF"
15:23 audreyt xdg: oooh Perl::Smith
15:23 markstos audreyt: Thanks!
15:24 audreyt xdg: how much of it would be win32-specific?
15:24 audreyt xdg: a generic custom-perl distbuilder solves the age-old "SDK problem" of porters
15:24 xdg audreyt, right now it's a "modulino" -- my build scripts converted to a module.  Needs to be re-written.
15:24 xdg audreyt, it can become that
15:24 audreyt xdg: I'd like to use a .yml that builds e.g. the v6 chain
15:25 clkao good morning
15:25 audreyt and/or with pugs/haskell, or parrot/inline-parrot, etc
15:25 xdg audreyt, Right now I can "Perl::Smith->new("vanilla.yml")->build_all" and have a working vanilla perl on win32
15:25 nothingmuch hola clkao
15:25 nothingmuch clkao: what do you want for breakfast?
15:25 xdg From scratch -- it even downloads all the binaries and tarballs
15:25 xdg It needs a perl to bootstrap, of course.
15:26 audreyt Perl::Dist::Builder perhaps?
15:26 audreyt or simply Perl::Dist
15:26 audreyt ::Smith is a bit... nondescriptive
15:26 clkao nothingmuch: i will see very soon
15:26 clkao but i want some tea first
15:26 xdg audreyt, Alias suggested keeping Perl::Dist::X for distributions -- i.e. for the RT bug queue
15:26 xdg Perl::Smithy?
15:26 audreyt why not Perl::Dist then
15:26 audreyt the root of all ::X
15:27 nothingmuch clkao: okay
15:27 xdg Eventually, other tools may supercede to build Perl::Dist::X's
15:27 audreyt and jibes well with the "make dist" image
15:27 audreyt then those other tools take over the namespace :)
15:27 xdg This started just as trying to automate Carl Frank's HTML directions for building vanilla perl
15:28 audreyt (but I don't feel very strong on this topic -- but I'd still prefer Perl::DistMaker or Perl::Dist)
15:28 xdg I'll kick it around on some sites.  I hate naming modules.
15:28 audreyt yet the name is everything. :)
15:28 xdg I get the point about Smith.
15:28 audreyt :)
15:29 xdg Yes -- and I hate getting hung up on a name before writing code, and yet...
15:29 xdg I think Ingy spoke about the importance of names at some talk of his.
15:29 clkao nothingmuch: boil some water?
15:29 xdg chop wood?
15:29 clkao shouldn't modules be named Your::Mama
15:30 nothingmuch clkao: sure
15:30 audreyt amazingly google has the same hitcount for "yo mama" and "your mama".
15:31 nothingmuch not for me
15:32 * gaal prefers yo yo ma
15:32 markstos It seems I needed to create a new account on OSSF. Could someone add 'markstos' to the pugs project? I'm interested to lend a hand.
15:32 gaal google hitcounts aren't reliable, btw
15:32 markstos I've started on a port of CGI::Application, and may also help with docs, tests or the website.
15:33 audreyt markstos: you are now a metacommitter. feel free to add more people in http://invite.pugscode.org/
15:33 lambdabot Title: "Pugs -- OSSF"
15:33 gaal shower, then manhattan &
15:33 markstos Thanks audreyt!
15:33 svnbot6 r11309 | gaal++ | * unbreak the build some more
15:34 audreyt xinming: try the build again?
15:34 xinming audreyt: ok
15:36 audreyt xdg: one thing I find with IRC is that your productivity increases as blocking showstoppers gets resolved by other people quickly
15:36 audreyt xdg: but yet you'd spend so much tim resolving other people's showstoppers, the gain is limited
15:37 xdg audreyt, makes sense.
15:37 audreyt ...but gradually the notion of "gain" becomes more, uhm, hiveminder
15:38 xdg audreyt, I'm in the guts of Module::Install right now -- I may come back with a Q.  ;)
15:38 xdg has Jesse revealed what hiveminder is, yet?
15:38 audreyt sure. :) if it's particularly appalling, blame me
15:38 audreyt otherwise, blame ingy -- but Alias is the releng who collects those blames and corrects them now :)
15:39 audreyt xdg: a commit bit to pugs, as well as to hiveminder's pugs group, is in your inbox
15:39 xdg I don't fully get the interaction between Module::Install and CPAN in follow-mode.
15:40 xdg audreyt, thanks
15:40 xinming Compiling Pugs.Embed       ( src/Pugs/Embed.hs, dist/build/Pugs/Embed.o )
15:40 xinming src/Pugs/Embed.hs:34:14: Not in scope: `initPerl5'
15:40 xinming src/Pugs/Embed.hs:36:4: Not in scope: `freePerl5'
15:40 xinming Build failed: 256 at util/build_pugs.pl line 126.
15:40 xinming make: *** [pugs] Error 2
15:40 xinming another error. :-)
15:41 audreyt fixing
15:45 audreyt fixed
15:45 audreyt xinming: try again?
15:47 audreyt xdg: so btw, if Moose is to offer an inside-out layout option, is Object::InsideOut the one to use?
15:47 svnbot6 r11310 | audreyt++ | * more unbreaking.
15:48 audreyt (it's all hidden from the user, so complexity of API is okay)
15:49 xdg audreyt, I'm torn on that.  I'd suggest starting with Class::InsideOut because it's a little simpler inside.  However, Object::InsideOut is a bit more efficient.
15:49 xdg (
15:49 xdg (O::IO is array based versus hash based)
15:50 audreyt I see.
15:50 xdg Jerry Hedden (author of O::IO)  has also done a lot of threads work that may or may not be relevant
15:50 merlyn how can it be array based?
15:50 xdg audreyt, Did you see my slides from YAPC?
15:50 audreyt xdg: no, I did not. url?
15:51 xdg http://dagolden.com/files/Eversion_101.pdf
15:51 merlyn are all objects given a small integer?
15:51 xdg merlyn, blessed scalar ref holds the index
15:51 merlyn and then there'd be gaps
15:51 merlyn as objects are freed
15:51 xdg DESTROY keeps track of available indices, I believe
15:52 audreyt no, it's a seuence number.
15:52 spinclad method 'worthy?' (Minion:) { if .claim( !.worthy ) { .worthy } else { !.worthy } }
15:52 merlyn still looks like you could get into a wasted space situation
15:52 audreyt at creation time, the ID is actually seq++'ed
15:52 merlyn create 1000 objects, free 999
15:52 merlyn now you're still using [0..1000]
15:52 merlyn you can't gc because you don't know where the refs are
15:52 xdg merlyn, same with hash, apparently -- the memory allocated for the keys of the hash is an array, Jerry said
15:52 merlyn eh - no
15:53 merlyn I think that's a misunderstanding
15:53 merlyn hashes re-hash internally as they get larger and smaller
15:53 merlyn at most, it'll be a lot of top-level space
15:53 merlyn but at least it won't need a bad gc
15:53 audreyt you can GC; O::IO manages that from destructor
15:53 merlyn how can you move something from slot 1000 to slot 1?
15:53 merlyn you'd need to notify all users
15:54 merlyn unless there's an indirection table
15:54 xdg I don't think O::IO remaps -- it just keeps track of available indices
15:54 xdg I could be wrong -- been a while since i went through the code
15:54 merlyn anyway, I'm speaking out of my hat. :)
15:54 audreyt oh, sorry, I thought you meant GC as in free'ing the things in the array
15:54 szbalint hmmm.
15:54 audreyt not as in defrag
15:54 merlyn just reacting badly to what might be a bad design but probably not
15:54 audreyt I don't see a great need for defrag, though :)
15:54 xdg Jerry has some benchmarking on perlmonks that seemed to show array-based was faster and no worse on memory than anything else.
15:55 merlyn perhaps you don't create thousands of objects in a long-running process either
15:55 xdg (Usual benchmarking caveats apply)
15:55 audreyt merlyn: even if I do, I think, as p5 is not that great on returning memory for reuse for hash layouts
15:55 merlyn I'm thinking of stuff like mod_perl template toolkit
15:55 audreyt but anyway. benchmark wins :)
15:55 szbalint If Foo is a class, what is the difference between "my Foo $bar .= new" and "my $bar = Foo.new"? Is there some runtime difference?
15:55 xdg Inside-out isn't great for creating/destroying lots of objects because of all the registering and DESTROY that goes on
15:56 merlyn yeah, IOO solves some problems by trading them for others. :)
15:56 xinming audreyt: src/Pugs/Eval/Var.hs:207:36: Not in scope: `canPerl5'
15:56 audreyt fortunately you get to choose the layout per class
15:56 xinming src/Pugs/Eval/Var.hs:210:25: Not in scope: `canPerl5'
15:56 xinming Build failed: 256 at util/build_pugs.pl line 126.
15:56 xinming make: *** [pugs] Error 2
15:56 audreyt which is why I'd like Moose to be able to simply has
15:56 xdg audreyt, for 5.10, there will be Hash::Util::FieldHash to do Class::InsideOut in the core
15:56 audreyt is repr('insideout')
15:56 audreyt xdg: I know :)
15:56 * xinming feels sorry interrupting your conversation.
15:56 audreyt xinming: try again.
15:56 xinming s/interrutping/for interrupting/
15:57 xdg Class::IO is intended to be something like a 'reference standard' -- minimal in terms of features.  O::IO is fast and full of bells and whistles.
15:57 svnbot6 r11311 | audreyt++ | * more export.
15:57 * szbalint didn't intend to blurt something unrelated into the conversation either...
15:57 xdg It's IRC -- it's a multithreaded conversation
15:58 audreyt szbalint: runtime difference is that $bar has a constraint
15:58 audreyt szbalint: so you can't ever put a non-Foo object into it
15:58 audreyt whilst in "my $bar = Foo.new" it's basically "my Any $bar = Foo.new"
15:58 audreyt so the Scalar container knows no constraint
15:58 audreyt and will not attempt to do any validation
15:59 audreyt "my Foo $bar .= new" is "my Foo $bar = Foo.new"
15:59 audreyt so Foo acts both on the initial value of $bar
15:59 audreyt s/on/as/
15:59 audreyt and as the constraint that the variable($bar) Scalar object holds on.
16:01 clkao audreyt: we are about to head out for uhmm.. logical breakfast
16:02 szbalint well, I was just wondering why would something like "class Foo { method test { my Bar $var .= new; say $var.value } class Bar { method value { '1' } } my Foo $baz .= new; $baz.test; $baz.test"
16:02 szbalint ...die on the second "$baz.test"
16:03 audreyt commit the test :)
16:03 audreyt clkao: head "out"?
16:03 szbalint sure
16:03 szbalint where to put it?
16:03 audreyt I thought nothingmuch is about to cook or something
16:03 audreyt dire misunderstanding
16:03 audreyt clkao: bring me back some food then?
16:04 audreyt szbalint: somewhere in t/oo/
16:04 audreyt or t/pugsbugs/ for generic fun
16:05 szbalint okay
16:05 audreyt ow. in OSCON my talk is pitted against Selenium, Plagger, and Streamlined.
16:05 xdg audreyt, one downside to O::IO for Moose is that you give up the ability to do 'black-box' inheritance -- e.g. use an IO::File object as your object.  That may or may not matter as that kind of thing may not fit cleanly into the MOP
16:05 obra audreyt: ow
16:06 audreyt xdg: and C::IO gives you that ability, I presume?
16:06 audreyt xdg: it's okay as we know inheritance chain at compile time, and can simply reject choices that are incompatible. I think.
16:07 audreyt "In ancient Greek mythology, Ajax was a fierce warrior, second only to Achilles in strength and reputation. Towards the end, he occasionally went mad and by some accounts, killed himself in remorse after killing some sheep he mistook for the enemy.
16:07 audreyt "
16:07 audreyt obra: you, on the other hand, seems to have no competition in that timeslot :)
16:09 xdg audreyt, yes.  If you read the YAPC slides, all should be clear.  There's a comparison of inside-out modules in the back.  (A comment about the talk:  "it was pre-digested for me")
16:12 obra audreyt: fear
16:16 audreyt xdg: the array layout is the same one ParrotObject uses
16:16 audreyt all superclass must provide offsets
16:17 audreyt hm, wait, no, not exactly
16:17 szbalint should perl5/Pugs-Compiler-Rule/lib/Pugs/Grammar/Rule/Rule.pmc be under revision control?
16:18 xdg audreyt, I'm confused on the superclass/offsets bit
16:18 audreyt because instead of an array for potential fields, O::IO (ab)uses the lexical pad
16:18 audreyt xdg: nvm, that was a thinko.
16:18 xdg k
16:18 audreyt I think lexical pad abuse is wonderful :)
16:18 clkao of course
16:18 clkao also forget_unlocal
16:18 xdg what do you mean abuse?
16:18 audreyt does that get you runtime creation of new properties?
16:19 audreyt xdg: "go back to the class closure; put a new lexical there to stand for a new field"
16:19 audreyt runtime field creation
16:19 xdg Ah.
16:20 audreyt maybe on crack. but maybe good idea.
16:21 audreyt easier, though, to just have a %runtime_fields
16:21 audreyt since you lose compile time check anyway
16:22 xinming audreyt: bug fixed...
16:22 audreyt yay
16:24 xdg audreyt, for encapsulation, you might as well just use the 'flyweight' pattern -- AoH of fields
16:24 audreyt k.
16:24 xdg Inside-out -- a lexical per field -- really only helps for compile time typo checks
16:25 xdg I.e. if you're putting everything through accessors anyway, don't worry about the lexicals.
16:25 xdg (If I understand the MOP right, accessors are required)
16:25 play9999 joined perl6
16:27 szbalint audreyt: committed.
16:27 svnbot6 r11312 | szbalint++ | Added test for method call/instantiation bug. Not sure how to call it.
16:27 svnbot6 r11312 | szbalint++ | Please adjust description/filename/location for a better name.
16:27 svnbot6 r11311 | audreyt++ | * more export.
16:27 audreyt xdg: not inside the creation site
16:28 audreyt you can be free to refer to layout-specific closures if you are in the class closure
16:29 audreyt perl6:
16:30 audreyt class Foo { has $.x; method f { $!x = 1 } }
16:30 audreyt which is direct access on the slot
16:31 audreyt use Moose; has '$x'; sub f { my $self = shift; $x_[$$self] = 1 } # potential mockup syntax
16:34 audreyt inheritance based on simple rebless is quite powerful indeed (Grokking http://search.cpan.org/src/DAGOLDEN/File-Marker-0.11/lib/File/Marker.pm)
16:34 xdg audreyt, ah.  I think that pretty much mandates evil with the lexical pad.
16:35 xdg re: File::Marker -- it's one of the few things that Inside-Out objects are really good for
16:35 audreyt my @_x : field;
16:35 audreyt but that syntax is somewhat ugly
16:35 xdg yes. I've come to dislike attributes (perl 5 ones anyway)
16:35 audreyt but I have no problem with compile-time PAD extension
16:35 xdg I think they're potentially fragile, too
16:35 audreyt so that's the way to go
16:36 audreyt in perl6 we have this COMPILING:: stash
16:36 audreyt which, inside BEGIN or a function called by BEGIN
16:36 audreyt refers to the lexical pad that's being built
16:36 audreyt and you can extend it before it is fully closed
16:37 audreyt this pattern is backported to perl5 and I think it's useful generally
16:37 audreyt s/backported/backportable/
16:39 * audreyt ponders Devel::Pad::Compiling
16:43 nothingmuch joined perl6
16:46 prefiks joined perl6
16:48 DaGo joined perl6
16:49 play9999 joined perl6
16:50 b_jonas joined perl6
16:51 audreyt hmm.
16:51 audreyt http://members.microsoft.com/careers/search/details.aspx?JobID=6D4754DE-11F0-45DF-8B78-DC1B43134038
16:51 lambdabot Title: "Job Details - Microsoft Careers"
16:52 audreyt it's posted on January, but when I visited there last month I don't think there's one on that slot
16:54 audreyt interesting how the priority for them is Ruby > JavaScript/PHP > everything else :)
16:59 audreyt xdg: so if I want to extend YAML::Syck to support inside-out objects, is there a way reuse STORABLE_freeze?
16:59 audreyt or must I provide my own _freeze hooks?
16:59 audreyt I'd liek to avoid that
17:00 xdg audreyt, the semantics of STORABLE_FREEZE/THAW/ATTACH are complicated.  There are some really long threads about it in RT for Storable.
17:00 audreyt ok. is it possible to come up with a API that can serve as the common bridge
17:00 audreyt between all serializers and inside-outs?
17:00 xdg I think you can reuse the hooks if you can match the semantics
17:00 audreyt I think I can
17:00 audreyt but it does seem to be hairy
17:01 xdg I talked to stvn about MOP needing a protocol for serialization.
17:01 audreyt yup, it's best handled at metaclass level.
17:01 ivanfrey audreyt: just to let you know that I've decided to use the Fink installed Perl. After all it is 5.8.6 and there doesn't appear to be anything wrong with it.
17:01 xdg He and Alias and I got into the Storable discussion on the way to the Chinese dinner at YAPC
17:02 audreyt ivanfrey: sure, that's fine
17:02 audreyt mm FieldHash is already checked in
17:02 audreyt maybe I'll concentrate on supporting it for v6
17:03 xdg Hmm.  Have to go.  Feel free to email other questions.
17:12 nothingmuch joined perl6
17:23 ivanfrey how do I get readline support? I thought the perl Makefile.PL would find it?
17:23 hexmode joined perl6
17:26 audreyt ivanfrey: youa re using GHC 6.4.1 tarball?
17:27 audreyt I'm not sure how to get readlinee linked in there
17:27 audreyt http://haskell.org/ghc/download_ghc_641.html#macosx offers little help
17:27 lambdabot Title: "GHC: Download version 6.4.1"
17:27 ivanfrey audreyt: I installed it from the .dmg file.
17:28 ivanfrey audreyt: they claim 6.4.2 for macosx is coming soon.
17:29 ivanfrey audreyt: I thought perl would find my readline support. I'm getting it in cpan.
17:30 audreyt Bundle::CPAN ought to give you Term::Readline something.
17:30 audreyt or Term::Readline::Gnu if you have gnu readline installed via fink.
17:36 ivanfrey audreyt: what's LWP?
17:36 fglock joined perl6
17:38 audreyt libwww-perl
17:43 nothingmuch moosage
17:44 DaGo joined perl6
17:53 clkao_ mmm, pugs -c -BPerl5 doesn't work
17:53 clkao_ i want to have a first run of tests to see what doesn't compile at all
17:54 audreyt upgs -CPerl5
17:54 audreyt pugsgs -CPerl5
17:54 audreyt pugs -CPerl5 # gaah
17:56 clkao_ ah cool. builtin/arity.t seems to be infinite loop in parser
18:00 nothingmuch does anybody need any laundry done?
18:00 nothingmuch (obrathoners)
18:00 audreyt I nee
18:00 audreyt d; it's long overdue :)
18:01 audreyt should I just transfer it to you? :)
18:01 nothingmuch no need to get up
18:01 nothingmuch ;-)
18:01 fglock clkao_: you see "parsing error..." many times?
18:02 nothingmuch clkao_: would you like some laundry done too?
18:03 ivanfrey Should I embed perl 5? What about parrot?
18:04 froh-doh joined perl6
18:13 putter joined perl6
18:14 nothingmuch audreyt: you may insert cloths into the bag i threw at you and ping me at your earliest convenience
18:14 nothingmuch note that there is currently a blocking operation on the laundry machine
18:14 nothingmuch so this should be low priority IO
18:15 audreyt okay, danke.
18:15 putter anything new on the mmd front?
18:15 audreyt ivanfrey: embedparrot currently doesn't gain you much. embedperl5 gets you DBI :)
18:15 jkanter joined perl6
18:16 audreyt putter: clkao released Sub::Multi as a platform to add stuff onto; I figured out how to combine luqui's TypeConstraint with stevan's
18:16 audreyt putter: but it's all implementation-land. nothing much on story/spec land.
18:16 nothingmuch no i'm not
18:16 nothingmuch i'm in the living room
18:16 * putter didnt get a chance this morning to do the new user story.  perhaps in t+10 hours.
18:16 audreyt okie.
18:16 putter great # combine
18:17 nothingmuch Named parameters, while checked for compatibility, do not currently
18:17 nothingmuch affect choice.
18:17 nothingmuch why not?
18:17 nothingmuch no way to syntactically prioritise?
18:17 putter were there any thoughts on ;< or indexed ordering of param importance?
18:18 putter though it's not pressing.  rev2 kind of thing.
18:19 putter the collaborative model means each variant could hypothetically use its own deferral policy.  the infrastruct simply enforces the "you must converge unabiguously" requirement.
18:21 nothingmuch putter: was that an answer to my question?
18:22 putter ok, no.   oops.
18:22 putter I had mentally tagged you as having a laundry discussion, and didnt even read your lines.  sorry.  let's see...
18:22 nothingmuch heh
18:22 nothingmuch laundry is &
18:23 putter re why not,
18:24 putter that's from back when I was initially just transcribing a spec.  dont know actual motivation.  my guess is kiss loadsheding.  we're still not entirely sure how the positionals work, so...
18:24 nothingmuch this is a sort of weird idea
18:24 nothingmuch but
18:24 nothingmuch what if named thingies
18:24 nothingmuch were treated like positional ones
18:24 putter but yes, I should ponder how the nameds might fit with the current scheme.
18:24 nothingmuch from the perspective of every variant
18:24 nothingmuch based on how they match in the argument list
18:25 nothingmuch basically, this is a way for the caller to dictate to the callee which named is more left than right
18:25 putter "how the match in the argument list"?
18:25 putter oh... hmm...
18:26 audreyt nothingmuch: in the Capture structure there's currently no room for named to act as positionals
18:26 audreyt f(x => 1, y => 2)
18:26 audreyt f(y => 2, x => 1)
18:26 audreyt would *not* dispatch differently
18:26 audreyt principle of least surprise
18:26 nothingmuch principle of least surprise vs. DWIM?
18:26 nothingmuch because in my experience working with named args, you put the "nouns" early, and the adjectives late
18:27 audreyt if you control all of it yes
18:27 audreyt but there's also the case of splicing a hash into named
18:27 audreyt f([,] %args)
18:27 nothingmuch ah
18:27 audreyt in which case you lose all resemblance of ordering
18:27 wolverian what's [,]? flattening?
18:27 audreyt yeah
18:27 nothingmuch so maybe, only if there is lexical ordering
18:28 putter nothingmuch: intriguing thought.  unfortunately my ride is here.
18:28 wolverian prefix * is gone?
18:28 audreyt wolverian: it's gone, term:* takes its place
18:28 nothingmuch as in, actually written down by the user as separate elements
18:28 nothingmuch but nevermind
18:28 nothingmuch that is probably too complex
18:28 putter look forward to hearing mmd thouights later.  will backlog.  cheers 7
18:28 putter &
18:28 wolverian audreyt, ah, ok. thanks.
18:28 nothingmuch putter: see you
18:28 audreyt wolverian: [,] is quite a bit easier to explain
18:28 merlyn why are all the changes batched when I pull from svn.perl.org ?
18:28 merlyn is that refreshed only rarely?
18:29 audreyt merlyn: we had some problem with the syncer
18:29 wolverian audreyt, yeah, syntactically :)
18:29 wolverian "this becomes that" and you don't have to wave hands
18:29 audreyt merlyn: it shoudl be fine now
18:29 audreyt yup.
18:29 nothingmuch i think nameds still Just Work
18:29 nothingmuch between colons and semicolons they should just be unordered
18:30 nothingmuch err, semicolons and double semicolons
18:30 nothingmuch i will jot down some notes
18:30 nothingmuch and will try to add examples
18:30 audreyt sure
18:30 audreyt and maybe code them up? (smile)
18:31 nothingmuch ha ha
18:31 nothingmuch we'll se
18:31 nothingmuch e
18:31 nothingmuch we need a Moose::Meta::TypeConstraint object that can compare first
18:31 audreyt import luke's API
18:31 audreyt from C::MM::P
18:31 nothingmuch yes
18:31 audreyt with ->les
18:31 audreyt with ->less
18:31 audreyt and also all() and none()
18:32 audreyt M::M::TC currently oly does any()
18:32 nothingmuch it's a lot of engineering though
18:32 audreyt that needs to be addressed
18:32 nothingmuch right
18:32 audreyt nah. it's copy and pasting
18:32 nothingmuch well
18:32 nothingmuch you can do all
18:32 nothingmuch you just have to do it manually
18:32 nothingmuch anyway, thought first
18:32 nothingmuch work later
18:34 nothingmuch does it make sense to have several semi colons in the same sig?
18:34 nothingmuch instead of voting vs. non voting
18:34 nothingmuch you have vote power
18:34 nothingmuch that is decremented
18:34 nothingmuch ?
18:37 spinclad several semis: yes, that's what we have
18:39 nothingmuch i really like this mmd scheme
18:39 spinclad btw i'm buildfailing due to can't install Devel::Caller due to Module::Build not configured with C_support.
18:39 nothingmuch from a syntactic POV it lends itself to excellent self documenting code
18:39 nothingmuch and good style
18:39 nothingmuch but type distance is still ambiguous
18:40 spinclad but Module::Build is latest, 0.2801...
18:40 nothingmuch however, since we have pluggable type systems (in theory)
18:40 clkao_ nothingmuch: you didn't give me the lighter right? it'd be painful if i happened to pack it
18:40 nothingmuch maybe type distance is also a pluggable thing?
18:40 nothingmuch clkao_: it was in my pocket tioll 20 mins ago
18:40 nothingmuch and now on my bed
18:40 clkao_ k
18:40 nothingmuch or one of jesse's piles
18:40 nothingmuch also
18:41 ivanfrey What should the recommended value be for $d_setregid?
18:41 nothingmuch http://www.privacyinternational.org/activities/stupidsecurity/annoying.html
18:41 lambdabot Title: "World's Most Annoying Security Measures"
18:42 audreyt nothingmuch: type distance is no more
18:42 nothingmuch it might be pre 9-11
18:42 audreyt nothingmuch: it's just ->less
18:42 nothingmuch audreyt: hmm
18:42 audreyt and indeed each typesystem/constraint-system can define its ->less
18:42 nothingmuch could you explicitly define narrowness?
18:42 audreyt yes. see mmd-draft.txt
18:42 nothingmuch i did
18:42 audreyt I can go downstairs and play the card game with you :)
18:42 nothingmuch it discusses the mmd stuff
18:43 nothingmuch but not narrowness
18:43 nothingmuch or maybe i missed that
18:43 audreyt it also cover narrowness
18:43 nothingmuch which 1/3rd of the file?
18:43 audreyt after "Parameter types are compared by their relative type narrowness"
18:43 audreyt the last para
18:43 audreyt it defines an algorithm for determining narrowness
18:43 ivanfrey I've gone to install Term::ReadLine. So cpan wants me to build Perl 5.8.8, but it doesn't like $d_setregid recommended value "undef"
18:43 audreyt based on constraint overlapping
18:44 audreyt i.e. one variant is less narrow unless it's a superset of the other variant's constraints
18:44 nothingmuch ah, i see
18:44 nothingmuch and orthogonally narrow constraints are an ambiguity error
18:44 audreyt yup, unless those are roles
18:44 nothingmuch ?
18:44 audreyt in which it's ambiguous but both still advances
18:44 audreyt it's for the case of
18:44 audreyt :(Storable $x, Int $y)
18:44 audreyt :(Readable $x, Any $y)
18:45 audreyt and dispatching to 1st variant.
18:45 nothingmuch how come first?
18:45 nothingmuch wait
18:45 nothingmuch i don't care, i'll never write code like tha
18:45 audreyt Storable and Readable are orthogonal bot roles
18:45 nothingmuch t]
18:45 nothingmuch and Int is a sub of any
18:45 audreyt s/bot/but/
18:45 audreyt yup
18:45 audreyt so Int can be written out as
18:45 audreyt Any Int
18:45 audreyt which is strict superset to Any
18:45 audreyt so it wins
18:45 nothingmuch for a moment there I thought that Int and Any were also ambiguous
18:45 nothingmuch so it's just roles on the left-to-right traversal are ok to be ambig
18:46 audreyt no, for any stands for union()
18:46 audreyt well
18:46 audreyt :(Int $x, Storable $y)
18:46 audreyt :(Any $x, Readable $y)
18:46 audreyt is still the 1st
18:46 spinclad and the class C of the first arg can be written Storable Readable C
18:46 audreyt yes.
18:49 nothingmuch okay
18:49 nothingmuch comitting notes
18:49 ingy hi audreyt nothingmuch spinclad
18:50 nothingmuch hi <3
18:50 ingy anything I need to do for perl6 today?
18:50 svnbot6 r11313 | nothingmuch++ | mmd notes
18:50 spinclad hi ingy!
18:50 spinclad make it work, it's christmas!
18:50 audreyt ingy: hey
18:50 nothingmuch audreyt: see also second rant section about disambiguation from caller
18:51 audreyt ingy: help writing a :Attr sugar for Data::Bind!
18:51 audreyt since you are working on :Attr anyway
18:51 audreyt might as well combine forces
18:52 nothingmuch oi attr
18:52 nothingmuch i can help with that
18:52 nothingmuch i've been traumatized fairly recently
18:52 audreyt by A::H?
18:52 nothingmuch the wounds are still open on how to do pluggable
18:52 nothingmuch hell no
18:53 ingy audreyt: can you write me a failing test?
18:54 audreyt uhm.
18:54 ingy you can even write it ingy-style
18:54 nothingmuch heh
18:54 nothingmuch ingy: i can do that for you
18:54 audreyt ok
18:54 nothingmuch anything that ends in .t and fails is ok, right?
18:54 audreyt it's basically
18:55 ingy touch t/attributes_for_data_bind.t
18:55 ingy that's ingy style
18:55 audreyt take Params::Validate::Micro
18:55 ingy the test totally fails in the harness
18:55 audreyt translate its spec to Data::Bind
18:55 audreyt reuse Sub::MicroSig for the handler
18:56 nothingmuch ingy: here
18:56 nothingmuch http:nothingmuch.woobling.org/pony-1.jpg.t
18:56 audreyt and pack the whole thing up as Sub::Sig
18:56 nothingmuch http://nothingmuch.woobling.org/pony-1.jpg.t
18:56 markstos joined perl6
18:56 audreyt or Sub::Sigs
18:57 audreyt or (hey) Perl6::Subs
18:57 ingy I think that one is taken
18:57 audreyt I'll write a failign test :)
18:57 audreyt it's mine
18:58 audreyt chip says it's okay for me to butcher^Wmaim^Wtotally refactor it.
18:58 nothingmuch okay
18:58 nothingmuch audreyt: i will work on type math for you
18:58 ingy oh
18:58 audreyt nothingmuch: just extend Moose TypeConstraint, right?
18:58 audreyt nothingmuch: eggcellent
18:58 ingy well there you go!
18:58 audreyt "a Perl6::Subs that doesn't suck"
18:59 ingy ok...
18:59 * ingy runs 7 miles first
18:59 nothingmuch audreyt: yes
18:59 ingy Hal Higdon told me to: http://www.halhigdon.com/marathon/novices.html
18:59 nothingmuch audreyt: oh, you too with the eggcelenet
18:59 lambdabot Title: "Marathon Training Schedule: Novice"
18:59 * nothingmuch starts liking lambabot's title summary
18:59 nothingmuch i was just going to click the uri
19:00 nothingmuch and now i realized i've already been there
19:01 nothingmuch audreyt: please gather your laundry in the bag
19:01 audreyt ok
19:01 nothingmuch i will pick it up in ca. 15 mins
19:06 mdiep_ joined perl6
19:09 audreyt nothingmuch: laundry bag in the kitchen now
19:11 audreyt ingy: also we need recursion support
19:11 audreyt ingy: for a M::C'er to declare that its output contains potentially more M::C code
19:11 audreyt otherwise it will .pmcc .pmccc away
19:11 audreyt which is redundant
19:13 mauke_ joined perl6
19:18 nothingmuch audreyt: got it, thanks
19:28 mauke_ is now known as mauke
19:32 renormalist joined perl6
19:32 lumi joined perl6
19:53 ivanfrey Should I embed perl 5? Should I enable parrot linking?
19:54 audreyt embed perl5 if you'd like to use CPAN modules
19:54 audreyt on OSX it should work
19:54 audreyt so give it a try
19:54 audreyt parrot linking otoh is not neccessary at this moment
19:54 audreyt and would require latest parrot
19:54 audreyt so perhaps not
19:55 renormalist left perl6
20:03 szbalint audreyt: did you manage to take a look at the test I've committed? It's not blocking me, I'm just curious...
20:07 audreyt szbalint: yeah. the cause is known
20:07 audreyt currently the pad does not really carry its constraint
20:07 audreyt so when a closure is entered for the next time
20:07 audreyt it's refreshed into undef
20:07 audreyt instead of into its principal constraint class
20:07 audreyt the new AST solved this
20:08 audreyt so will be fixed as part of the new P6AST switch
20:08 audreyt i.e. when the method is called again
20:08 audreyt $var becomes undef
20:08 audreyt instead of Bar as it should
20:09 audreyt can you paraphrase the explanation above
20:09 audreyt and make it into a comment on your instantiation.t test?
20:09 merlyn is there a factorial operator?
20:10 merlyn or just use the [*] reduce?
20:10 szbalint Sure, audreyt.
20:10 audreyt szbalint++
20:11 audreyt ?eval [*] 1..10
20:11 evalbot_11274 3628800
20:11 audreyt merlyn: no builtin factorial, no
20:11 merlyn ?eval 2**20
20:11 evalbot_11274 1048576/1
20:11 merlyn what's the /1 there?
20:11 merlyn is there an integer version of that?
20:11 audreyt internal representation
20:11 merlyn or of bit shift left?
20:12 merlyn how come I can get that exactly with
20:12 audreyt ?eval 2 +< 20
20:12 evalbot_11274 2097152
20:12 audreyt ?eval 1 +< 20
20:12 evalbot_11274 1048576
20:12 merlyn Ahh +<
20:12 merlyn of course
20:12 merlyn (he says, sarcastically :)
20:12 audreyt :)
20:12 audreyt "numerically shift-left"
20:12 merlyn anyway, lemme upload what I got, and y'all can make sure I haven't lied badly
20:12 audreyt cool
20:12 audreyt merlyn++
20:13 merlyn OK - check out http://www.stonehenge.com/pic/ur-col66.pod
20:13 merlyn please review in the next 20 minutes or so, and I'll be watching for responses
20:14 lumi joined perl6
20:15 merlyn I could be complete wrong
20:15 merlyn however, every example was cut-n-pasted from pugs. :)
20:16 audreyt what you mean is, if it's wrong, it's pugs's fault :)
20:17 wolverian merlyn, are you keeping perl5 anachronisms intentionally, or are the parentheses in 'for (1..100)' intentional?
20:17 wolverian I suppose it might make sense in that specific context. :)
20:17 merlyn I'm minimizing the differences
20:18 merlyn trying to sell perl6, not scare more people off.
20:18 wolverian right. just checking
20:18 * wolverian reads on
20:18 merlyn just like I use print first, even though say would be better
20:19 audreyt merlyn: not "over six years"
20:19 audreyt perl6 (counting from the mug throwing) will be 6 years next week
20:19 audreyt oh wait
20:19 merlyn when was the coffee cup thrown?
20:19 merlyn by the time this publishes
20:19 audreyt by the time your reader sees this...
20:20 merlyn it'll be after oscon
20:20 merlyn yes
20:20 merlyn Hence the intro paragraph. :)
20:20 audreyt it's still "six years" :)
20:20 audreyt (as Sep 2006 is roughly the same time the same time as the mailing lists actually starts)
20:20 merlyn OK. reload
20:21 merlyn This is real-time collaborative editing
20:21 merlyn I incorporate a comment, then tell everyone to reload. :)
20:22 audreyt in the
20:22 audreyt my @x = ('a'..'e'); @x[2];
20:22 audreyt the idiomatic perl 6 is
20:22 audreyt my @x = 'a'..'e'; @x[2]
20:22 audreyt but again, minimizing diff is good
20:22 audreyt ?eval my @x = 1,2,3,4,5; @x
20:23 evalbot_11274 [1, 2, 3, 4, 5]
20:23 merlyn yeah, I like that you don't have to quote that any more
20:23 audreyt (which is quite different from perl5, but nvm)
20:23 audreyt yeah, not worth a tangent in the article
20:23 merlyn I had to get this into 7500 chars
20:23 merlyn barely made it. :)
20:24 audreyt ?eval [0,1,2][1]
20:24 evalbot_11274 \1
20:24 audreyt actually...
20:24 merlyn the pugs> line dereferences those
20:24 audreyt s/scalar context/numeric context/
20:25 merlyn Hmm.  yeah, I pondered that.
20:25 merlyn I'll put them both. :)
20:25 audreyt in numeric scalar context...
20:25 audreyt yup
20:25 merlyn reload
20:25 audreyt In fact, if I just wanted C<$_\n>, I can use C<say> with no parameters.
20:26 merlyn not true?
20:26 lumi joined perl6
20:26 merlyn I didn't try that.
20:26 audreyt sad to inform you that's going away
20:26 audreyt need to say
20:26 merlyn don't tell me it's the one thing that's wrong so far. :)
20:26 audreyt .say
20:26 audreyt instead
20:26 merlyn Ugh.  removing that sentence.
20:26 audreyt say() prints empty list
20:26 audreyt .say is $_.say
20:26 merlyn reload
20:27 audreyt otherwise, excellent article
20:27 merlyn Thanks.
20:27 audreyt merlyn++ merlyn++ merlyn++
20:27 merlyn No big lies to worry about?
20:27 audreyt not at all.
20:27 audreyt not even miniscule lies.
20:27 merlyn cool
20:27 merlyn does it put generally the right spin on things?
20:27 merlyn purpose, state of the world, etc?
20:28 audreyt I like it that v6.pm and parrot/perl6 are both elided
20:28 merlyn is sub xyz { }; multi sub xyz { }; an error?
20:29 merlyn well - I say they're "coming along"
20:29 merlyn but I don't want to point people at them until it's as mature as pugs
20:29 audreyt yes.
20:29 audreyt re that: it's not an error. should be a warning saying xyz is being shadowed
20:29 audreyt pugs doesn't throw that warning
20:29 audreyt the new P6AST will make it happen
20:29 audreyt so, by next release :)
20:30 audreyt (it's the same as
20:30 audreyt sub xyz {} sub xyz {}
20:30 audreyt )
20:30 merlyn couldn't it just be that "multi" means "create/replace by signature" and without multi it means "create/replace all subs with this name"
20:30 merlyn so it's a last-one wins
20:30 merlyn possibly with warnings if things are replaced
20:30 audreyt yeah. two multis play together
20:30 audreyt either side is a sub, last one wins
20:30 audreyt ditto for both sub
20:30 merlyn right, but I'm talking about sequence of sub vs multi-sub on the same name
20:31 merlyn it would seem intuitive to do and describe what I just said
20:31 audreyt it is. hm.
20:31 audreyt basically
20:31 audreyt later multi makes earlier subs multi
20:31 merlyn oh weird
20:31 merlyn OK
20:31 audreyt I was paraphrasing what you said
20:31 audreyt not the spec
20:31 merlyn yes
20:31 merlyn heh
20:32 merlyn no wonder it sounded familiar. :)
20:32 audreyt I wouldn't mind that
20:32 audreyt will certainly make nothingmuch happy
20:32 merlyn sub xyz ($a, $b) {}  multi sub xyz ($a, $b, $c) { }
20:32 audreyt (he proposed something like that a while ago)
20:32 merlyn that would be legal and just add a new definition
20:32 merlyn then if I come along with sub xyz ($x) { ... } all get erased except for this
20:32 merlyn but if that had said multi, it would have *added* that
20:33 merlyn with appropriate warnings for loss of previous defs, of course
20:33 audreyt TimToady is the arbiter for taste in declarator surface syntax
20:33 mdiep_ is now known as mdiep
20:33 audreyt if you can lobby him, I think it's sane
20:33 audreyt (ditto for @ary.count replacing @ary.elems)
20:34 hcarty joined perl6
20:34 audreyt the good thing about surface/semantics separation is that implementing that wouldn't touch the pugs runcore a bit :)
20:34 merlyn cool
20:34 * merlyn ships the column off to the publisher
20:34 audreyt merlyn++ # yay
20:34 audreyt I'll bbiab :)
20:36 merlyn that's sysadmin, still read by old core system admin types that use Perl for everything
20:36 merlyn I'm trying to reassure them that Perl6 is not going to take away
20:37 merlyn anything that it has already done
20:38 wolverian merlyn, it's a very well written piece, by the way. thanks!
20:38 merlyn cool
20:38 merlyn well, I do have a bit of that writer knack. :)
20:39 merlyn perlbot, merlyn's books
20:39 perlbot camel 1+2, llama 1+2+3+4, alpaca 1+2, gecko, shiny ball (EPP), Perls of Wisdom
20:39 wolverian yeah, that "merlyn" did sound a bit familiar ..
20:39 merlyn perlbot, merlyn's columns
20:39 perlbot unix review (65 and counting), linux magazine (84 and counting), web techniques (70), perl journal (14), freely available at http://www.stonehenge.com/merlyn/columns.html
20:39 lambdabot Title: "Columns by Randal"
20:39 merlyn oops.  that's 66 now
20:39 merlyn in fact, column 66 is about perl 6.  how cool.
20:39 merlyn interesting convergence
20:40 merlyn and I mention Damian twice
20:40 wolverian the beast is a pug(s)?
20:40 * merlyn grins
20:40 * audreyt ponders if we can get perl6 shipped after 6 years, 6 months and 6 days of dev
20:41 audreyt ...which means mid-January 2007
20:41 * audreyt hacks on
20:41 merlyn type faster!
20:41 merlyn use both hands!
20:41 merlyn no more hunt-n-peck!
20:41 wolverian no, don't type!
20:41 merlyn use strong typing!
20:41 wolverian typing sucks, didn't you hear? :)
20:41 merlyn "I tried strong typing once... nearly ruined my keyboard."
20:42 audreyt "type inferencer"
20:42 audreyt it's another name for autocomplete!
20:42 merlyn type-o-matic. :)
20:42 wolverian just write the calculus of mind, thanks
20:42 audreyt I don't want a typo matic, thank you very much
20:42 * wolverian estimates audreyt will have that done in six months
20:43 dduncan joined perl6
20:43 merlyn you prefer manual typos? :)
20:45 svnbot6 r11314 | szbalint++ | Adding comment explaining t/oo/instantiation.t (audreyt++ for the explanation)
20:51 svnbot6 r11315 | audreyt++ | * more accurate explanation of desugaring in instantiation.t:
20:51 svnbot6 r11315 | audreyt++ |     my Bar $var .= new;
20:51 svnbot6 r11315 | audreyt++ |   is actually
20:51 svnbot6 r11315 | audreyt++ |     my Bar $var = $var.new;
20:51 svnbot6 r11315 | audreyt++ |   which explains the problem of pad refreshing.
20:53 dduncan so, it seems that r2562 et al supports the idea that building actually was broken, despite some people being able to smoke
20:53 dduncan I mean, r11308
20:54 dduncan but it seems to have unbroke for me regardless, at least at the Pugs.Embed.Perl5 stage
20:57 elmex joined perl6
21:12 dduncan I have another question/opinion or 3 regarding system design for multiple Perl 6 runtimes
21:13 dduncan first of all, leaving aside the whole thing about CPAN being the language and Perl 6 the grammar ...
21:13 dduncan and most functionality being in separately distributed modules anyway ...
21:15 dduncan is it reasonable for the core spec to be divided up some how, like with certain technical standards, into multiple tiers, so say a minimalist Perl 6 implementation could just do part of it rather than all of it, and so a certain minimal functionality would work on everything purporting to be a Perl 6 implementation, but some other parts may not work on some of them?
21:15 audreyt it is very reasonable.
21:16 dduncan eg, if you look at standards docs for things like XML or SQL, you see multiple tiers, where some parts are mandatory and others optional
21:16 dduncan one case in point is that support for non-ASCII characters could be in a level-up tier
21:16 dduncan especially since Perl 6 provides ASCII equivalents for Unicode operators
21:17 dduncan so if it is reasonable for the core spec to be divided up thus
21:17 dduncan ...
21:17 dduncan is there a way for a Perl 6 program to programmatically query what tiers or features the particular runtime its on supports?
21:18 audreyt mm, API for compiler and runtime capability introspection.
21:18 dduncan if it is possible for tiers, then there should be a way to query support levels
21:18 audreyt $?CONFIG and $*CONFIG are objects that can be queried
21:18 dduncan so they serve that purpose?
21:18 audreyt or maybe $?PARSER and $?COMPILER and $*RUNTIME
21:18 audreyt so config is mostly environmental
21:19 dduncan I was just thinking that, if there was a single standard, then with the standard Perl 6 test suite, it would nonsensical to have SKIPs ... it would all be PASS or FAIL
21:19 audreyt aye.
21:19 dduncan SKIPs are only useful if features are officially optional, and the testing program can query "do you claim to support this feature" before actually testing the support ...
21:19 audreyt aye.
21:20 dduncan then passes and fails are only given for things that the impl claims to support
21:20 dduncan okay, I think that answers my question
21:20 dduncan so then a related action plan ...
21:21 dduncan some time soon, all the skips/todos should be removed from the test suite, except those that explicitly query the CONFIG vars to make the skipping optional
21:21 audreyt yes. add it to the TODO file?
21:21 dduncan while this will mean that Pugs will perpetually have a lot of fails until it is done, this levels the playing field for other implementations ...
21:22 dduncan or alternately ...
21:22 audreyt I'll probably do a batch import of that to hiveminder braindump :)
21:22 dduncan a partial implementation of Pugs should simply declare its TODOs in its CONFIG vars
21:22 audreyt yes.
21:28 dduncan um, where is the TODO file?
21:28 dduncan the general Pugs or Perl 6 one?
21:30 audreyt in pugs there is a TASKS
21:30 dduncan there we go
21:32 stephanepayrard_ is now known as cognominal
21:32 cognominal is now known as cogno
21:33 dduncan on a related note, do we still need a t_disabled/ dir?
21:33 dduncan I don't see how those are different than skips/todos
21:33 dduncan will mention that too ...
21:36 svnbot6 r11316 | audreyt++ | * "say" now no longer outputs $_.  use ".say" for that.
21:36 svnbot6 r11316 | audreyt++ |   (it's the last builtin that still have hardcoded $_ in pugs.)
21:42 svnbot6 r11317 | audreyt++ | * mmd-draft.txt - cleanup the roles of Roles in mmd tiebreaking.
21:45 hcarty left perl6
21:51 ajs_home Anyone have a problem with my postulating a Str::Codepoint object in S29's entry for chr and ord? Just an object that combines an int (codepoint) and a memory of the character set that it's a codepoint for....
21:52 ajs_home Seems to play nice with SO2's thinking
21:54 svnbot6 r11318 | Darren_Duncan++ | updated the TASKS to provide ideas on how to make t/ scale like modern languages, and also make it implementation-generic
21:54 xinming how do I run generated javascript code in firefox please?
21:54 dduncan audreyt, my addition to TASKS was further expanded to address an existing need mentioned there
21:55 xinming I use html file to invoke the javascript, It doesn't print anything... :-/
21:55 dduncan if you want, I can focus some of my tuits on getting this done
21:55 xinming dduncan: thanks. :-)
21:56 dduncan the question is, can I have free reign to move tests around between folders, or do you want me to take time to draft a written arrangement proposal first
21:56 dduncan the first stage would just move them around, not change their contents, so it shouldn't affect the pass/fail stats
21:58 audreyt dduncan: well, it's built on rough consensus and running commits
21:59 audreyt and we already have a rough consensus, so just commit
21:59 audreyt anarchy and all :)
21:59 dduncan will do ... but it will be incremental and I can bounce ideas or questions here first
21:59 audreyt sure
21:59 audreyt I'll go take a nap. bbia
22:20 vsoni vsoni has unicode working in PGE
22:23 obra re
22:23 svnbot6 r11319 | nothingmuch++ | make a directory for Ann to put in the summaries
22:26 svnbot6 r11320 | Darren_Duncan++ | added skip_rest+exit to every t_disabled/*.t to preserve their noop-behaviour when they are subsequently moved to t/
22:27 nothingmuch obra || audreyt: may i interest you in food stuff?
22:27 * nothingmuch is going to make a sandwich
22:27 obra I could dinner soon
22:28 nothingmuch do you want me to cook?
22:28 nothingmuch like real stuff?
22:28 * nothingmuch feels like pesto, TBH
22:28 nothingmuch but this may require groceries
22:30 nothingmuch audreyt: please convince kudra to store the summary .pod in pugs svn
22:31 obra real cooking would be lovely
22:31 nothingmuch okay
22:31 nothingmuch i'm going to run through your kitchen
22:31 nothingmuch and make a list of what i'll need for pesto
22:31 nothingmuch does that make sense?
22:32 obra that's worth doing
22:32 nothingmuch okay
22:32 nothingmuch so brb
22:35 clkao_ real cooking...
22:35 obra :)
22:36 cognominal joined perl6
22:38 nothingmuch obra: please make kudra svk co pugs while i go through the kitchen
22:38 nothingmuch irc.perl.oirg
22:41 * clkao_ boarding
22:41 * kolibrie has a build error he doesn't understand and the nopaste site seems unavailable
22:44 play9999 joined perl6
22:44 kolibrie is that alternate paste bot still around?
22:45 kolibrie anyway, the short version is:
22:45 svnbot6 r11321 | Darren_Duncan++ | moved all files under t_disabled/ to corresponding places under t/
22:46 kolibrie ghc-pkg: /var/projects/pugs/third-party/installed/packages.conf: parse error in package config file
22:46 kolibrie Setup: cannot get package list
22:46 kolibrie The field "hs-source-dir" is deprecated, please use hs-source-dirs.
22:46 kolibrie Setup: error reading ./.setup-config; run "setup configure" command?
22:46 play9999 joined perl6
22:47 * kolibrie plans to return in fifteen minutes &
22:49 play9999 joined perl6
22:51 audreyt kolibrie: rm third-party/installed/packages.conf and try again?
22:51 audreyt kolibrie: alternately, nopaste its contents with paste.snit.ch
22:53 play9999 Audreyt : hi
22:55 svnbot6 r11322 | sanug++ | Updated mime-type on each html,jpg, and pdf file in perl6_compilation
23:00 fglock joined perl6
23:05 sanug joined perl6
23:05 * kolibrie removes third-party/installed/packages.conf
23:07 sanug Need help with svn properties - anybody?
23:07 sanug Traying to checkin the proper properties on .html, .jpg and .pdf
23:08 sanug s/traying/trying/
23:09 sanug code in docs/perl6_compilation/*.html does not open in editor properly... will checkback later...
23:09 sanug left perl6
23:12 kolibrie audreyt: thank you much. build seems to be working now.
23:18 chris2 joined perl6
23:23 play9999 joined perl6
23:25 svnbot6 r11323 | Darren_Duncan++ | removed now-empty t_disabled/ folders, added new initially-empty t_pugs/ folder, moved t/pugsrun/ to t_pugs/invocation/, renamed t/pugsbugs/ to t/bugs/, updated lib/Pugs/Doc/Hack.pod and other docs about the aforementioned ... still TODO: update the test/smoke harness to run t_pugs/*.t
23:26 fglock markstos: re http://colabti.de/irclogger/irclogger_log/perl6?date=2006-07-08,Sat&amp;sel=33#l58 - "what's a good way to help or get involved to improve p6 on p5"
23:26 lambdabot Title: "#perl6 2006-07-08,Sat"
23:26 fglock I'll start a HACKING file to write about that
23:26 TimToady ajs_home: commit bit on its way to you
23:27 TimToady ajs_home: please add your name to AUTHORS as first checkin.
23:29 dduncan I would appreciate some help with getting the harness to invoke the new t_pugs/ as it does t/ , since I am less familiar with the details of its mechanism
23:29 dduncan and/or if a saavy person just does it
23:29 markstos joined perl6
23:30 dduncan fyi, currently the only thing that wouldn't be run prior to that fix is the Pugs command line option tests that were 'pugsrun'
23:31 dduncan I kept 'pugsbugs' (as 'bugs') and 'unspecced' in t/ since they seemed more generic to the language, despite their originally stated purpose
23:35 play9999 Auderyt:
23:36 Bit-Man joined perl6
23:36 dduncan now I have a question for feedback ...
23:37 fglock bbiab &
23:37 dduncan it seems inapproriate to me that the module 'Test', which is used by the main Perl 6 test suite, be in the ext/ dirs
23:37 dduncan I believe that ext/ by nature should only include things that can be taken out entirely and the main Perl 6 test suite will still run
23:39 dduncan so I suggest putting Test.pm, plus its own tests, somewhere else, either in a different Pugs root dir, such as t_util/, or in t/
23:40 dduncan I refer specificially to the Test.pm that is written in Perl 6 ... also, just the module would go there
23:40 dduncan the test suite of Test.pm could go in t/, and be executed just after the sanity tests, such as sanity2
23:41 dduncan so sanity1 tests that the harness is getting the ok/nok, and sanity2 tests that Test.pm works
23:42 obra dduncan: the directory structure has licensing implications.
23:43 obra putting it in ext is an effective separation of the pugs core and what is ultimately a perl6 module destined for CPAN or its successor
23:43 TimToady I guess it depends on whether you think "ext" stands for "external" or "extra"...
23:43 dduncan if other discussions are approved, then t/ is no more a part of the test core than ext/
23:43 dduncan I consider ext/ to mean external
23:44 obra dduncan: you've walked through the licensing statements in the README?
23:44 dduncan I also see that t/ to be a validation suite for all Perl 6 implementations, and is not a part of Pugs
23:44 dduncan it is something that Pugs' tests depend on
23:45 dduncan or is t/ going to be maintained with separate copies for v6.pm or Parrot et al?
23:45 TimToady I think that would be a recipe for disaster...
23:45 obra I expect that every implementation will both use a standard corpus of tests and have some of its own
23:45 obra ideally few of its own, but always some of its own
23:45 dduncan yes
23:45 dduncan some of my t/ changes are meant to support this move, discussed yesterday
23:46 dduncan once done, the contents of t/ should be movable to its own distro, such as v6::tests, which is then an optional external dependency of Pugs and v6.pm and whatever ... so just one copy of the tests is shared
23:46 TimToady yes, saw that.  though some of the from_perl6_rules tests were knocked out because they were for testing Perl6::Rules, TheDamian's old module, if I recall.
23:46 dduncan the contents of t_pugs/ et al stays with Pugs
23:47 dduncan well, people with more knowledge than I can move things out of t/ or into t/ as is appropriate
23:47 dduncan the moves I made so far were based on my knowledge
23:47 TimToady np
23:48 dduncan eg, t_disabled/ seemed like a legacy way to say 'don't run this', whereas we have skips of use_ok now
23:48 TimToady I think subsets of Perl should be called Perk.  :)
23:48 TimToady "Perl"--
23:49 dduncan indeed
23:49 obra ^_^
23:49 TimToady maybe with a modifier saying what's left out.
23:50 TimToady so Perl-u is no unicode
23:50 TimToady *Perk-u rather
23:50 dduncan now part of my point is, a dependency chain should be linear ... the general perl tests depend on Test.pm, and Pugs on the generals, so if the tests are distributed separate from Pugs, then Test.pm should too
23:50 TimToady And Perk-u2 would be missing, er, both Unicode and threading...
23:50 dduncan Test.pm should be distributed with the general Perl 6 tests, unless on its own
23:51 * obra snickers at TimToady
23:51 TimToady Perk-abcdefghijklmnopqrstuvwxyz would run on nanobots
23:52 dduncan fyi, unless I misunderstand, all the contents of Pugs' ext/ are meant to be things dependent on Pugs, not things Pugs depends on
23:52 dduncan things that Pugs depends on have been in other folders, or in third-party/
23:53 dduncan that is, ext/ are meant to be things dependent on Pugs or another p6 implementation, and not Pugs on them
23:53 TimToady using a tree structure to represent multiple dimensions of concern is always a bit problematic...
23:54 obra dduncan: http://rt.openfoundry.org/Foundry/Project/Source/index.html/pugs/checkout/ext/README?rev=8028 summarizes the intent pretty well
23:54 TimToady and 3rd party is more about licensing, I thought.
23:54 obra TimToady: indeed. I take back my comment about ext being about licensing
23:54 dduncan and I thought ext/ was a repository for things that are bundled with Pugs now for convenience, but later will become their own CPAN distros
23:54 TimToady let's just put everything in an RDBMS.  :)
23:56 dduncan bug re yesterday, I assume you guys saw my p6c post?
23:57 dduncan if we agree that the general perl 6 tests are distributed separately, all the other details will fall into place
23:57 TimToady yes, I think the absence of feedback is actually good in this case.
23:57 dduncan as to what goes where
23:57 TimToady nobody could think of anything to complain about. :)
23:57 dduncan and Test.pm will end up wherever it is the most useful
23:58 dduncan sometimes I worry about not seeing any replies, because the first thing in my mind is that no one read it, or that it was dismissed as unimportant
23:59 dduncan sure, sometimes it means there are no arguments
23:59 markstos dduncan: I agree with your line of reason, from  my vantage point on th sidelines.
23:59 dduncan but feedback can be either positive, or to hash out details more, which is what I expected

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

Perl 6 | Reference Documentation | Rakudo