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