Camelia, the Perl 6 bug

IRC log for #parrot, 2008-04-10

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:00 mire__ joined #parrot
00:02 jonathan particle: pint
00:02 jonathan erm, ping
00:02 jonathan But I'd love a pint.
00:03 nopaste "jonathan" at 80.39.174.204 pasted "basic multi on type works" (12 lines) at http://nopaste.snit.ch/12669
00:06 dalek r26885 | jonathan++ | trunk:
00:06 dalek : [rakudo] Support multi subs with type based dispatch in the limited case that you have just one type named and its a class.
00:06 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26885
00:12 Theory joined #parrot
00:21 kid51 dinner &
00:24 muixirt2 joined #parrot
00:27 jonathan sleeeeeeeeeeeeeeeeeeeeeeeeep &
00:30 mire_ joined #parrot
00:45 pmichaud jonathan++  # mmd
00:46 Coke kid51: I have a few minutes. what's your highest priority thing for me to review? =-)
00:51 * kid51 checks
00:52 Coke go ahead and roll the revision changes back into trunk, btw.
00:52 kid51 52154
00:52 kid51 okay, that's 52154
00:52 mire__ joined #parrot
00:52 Coke I would like it to remove all of the revision stuff, but leaving just 'svn' is a step ahead of where we are.
00:53 Coke so go ahead and do that one.
00:53 kid51 Thanks.  The one about list_unjitted.pl is something you requested.  You simply have to say it's good enough to close.
00:53 Coke checking...
00:53 Coke thanks, btw, for taking these random tasks and working on them.
00:54 Coke ah. and I just got to your email with teh list. sorry. :|
00:54 kid51 52504:  Mostly a question of name:  see Andy D's comments and my reply.
00:55 Coke 52472: +1
00:55 purl 1
00:56 * kid51 does final test on Parrot::Revision changes
00:56 Coke I would say use 'macports' to avoid confusion.
00:56 Coke that's just a vote, though, and not a decision. =-)
00:56 kid51 k
00:56 Coke is a vote enough?
01:04 dalek r26886 | jkeenan++ | ports:
01:04 dalek : Changing name of new config step from auto::ports to auto::macports per request from Coke.  Changing names of associated test files and listing in Parrot::Configure::Step::List.
01:04 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26886
01:09 dalek r26887 | jkeenan++ | ports:
01:09 dalek : Change from auto::ports to auto::macports inside file as needed.
01:09 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26887
01:18 guru joined #parrot
01:22 dalek r26888 | jkeenan++ | trunk:
01:22 dalek : Eliminate svk- and git-related code from Parrot::Revision.  Repository
01:22 dalek : revision number will no longer be available in 'parrot --version'.
01:22 dalek : Adjustments in other files as needed; eliminate two t/postconfigure/ and two
01:22 dalek : t/tools/revision tests.
01:22 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26888
01:23 dalek r26889 | jkeenan++ | norevision:
01:23 dalek : norevision branch has been merged into trunk; no longer needed at HEAD.
01:23 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26889
01:24 dalek r26890 | jkeenan++ | norevision-26571:
01:24 dalek : Branch corresponding to this tag has been removed from HEAD, so this tag can go as well.
01:24 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26890
01:31 dalek r26891 | coke++ | trunk:
01:31 dalek : [RT #43048]
01:31 dalek : Add comment to simplify future code spelunking.
01:31 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26891
01:41 dalek r26892 | jkeenan++ | trunk:
01:41 dalek : Applying patch submitted in
01:41 dalek : http://rt.perl.org/rt3/Tic​ket/Display.html?id=52504.  Code for location of
01:41 dalek : functionality installed on Darwin via Macports has been moved from >1
01:41 dalek : configuration step classes to Parrot::Configure::Step::Methods and new config
01:41 dalek : step class auto::macports.  5 test files added.  This should be extended in
01:41 dalek : future to handle all BSD-ports systems.
01:41 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26892
01:43 mire_ joined #parrot
01:43 dalek r26893 | jkeenan++ | ports:
01:43 dalek : ports branch has been merged into trunk; okay to remove branch.
01:43 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26893
01:47 dalek r26894 | jkeenan++ | ports-26580:
01:47 dalek : Branch corresponding to this tag has been merged into trunk; okay to remove tag.
01:47 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26894
02:00 dalek r26895 | pmichaud++ | trunk:
02:00 dalek : [pct]:
02:00 dalek : * Instead of repeatedly scanning outer blocks' symbol tables for
02:00 dalek :   'scope' attributes, we now keep a running symbol table that
02:00 dalek :   collects all of the symbols into a single %symtable hash for easy
02:00 dalek :   lookup.
02:00 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26895
02:08 dalek r26896 | coke++ | trunk:
02:08 dalek : Simplify tge's makefile:
02:08 dalek : - remove unused vars
02:08 dalek : - convert explicit rules to a generic rule
02:08 dalek : - don't copy the PBC, just build it in the target dir
02:08 dalek : - don't bother ignoring the generated PBC that doesn't exist anymore.
02:08 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26896
02:10 mire__ joined #parrot
02:13 dalek r26897 | coke++ | trunk:
02:13 dalek : [build]
02:13 dalek : remove unused items from nqp makefile
02:13 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26897
02:13 dalek r26898 | jkeenan++ | trunk:
02:13 dalek : Applying patch submitted in
02:13 dalek : http://rt.perl.org/rt3/Tic​ket/Display.html?id=52528.  For better results with
02:13 dalek : require_ok(), express config steps as some::class rather than
02:13 dalek : config/some/class.pm.
02:13 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26898
02:22 contingencyplan joined #parrot
02:49 kid51 joined #parrot
02:50 mire_ joined #parrot
02:51 kid51 t/dynpmc/gdbmhash.t:  Test is hanging at test #3, at least on Darwin.
02:53 tetragon Skipping on my system, gdbm isn't there
02:57 * tetragon waits while gdbm builds
02:57 kid51 And now I'm getting a 'make' failure on Linux!  It's too late at night for this!
02:57 tetragon Late? It's only 23:00
02:58 tetragon Hrm... make install of gdbm fails
03:01 contingencyplan joined #parrot
03:06 afbach joined #parrot
03:06 kid51 Coke:  I got a 'make' failure apparently related to TGE subsequent to http://svn.perl.org/viewvc/parrot?view=re​vision&sortby=date&revision=26896
03:06 shorten kid51's url is at http://xrl.us/bi7fk
03:07 kid51 Just filed BUG
03:08 Coke ugh.
03:08 Coke go ahead and revert me.
03:09 mire__ joined #parrot
03:13 kid51 I'll have to defer action on that.
03:13 * kid51 must sleep.
03:13 purl $kid51->sleep(8 * 3600);
03:16 contingencyplan joined #parrot
03:21 peepsalot joined #parrot
03:22 skids weird... pugs packages totally purged from packages.debian.org search.
03:23 skids maybe just sloshing around during the sid/lenny shift.
03:26 Infinoid packages.debian.org can't find pugs in any dist
03:30 afbach left #parrot
03:32 tetragon And unlike kid51, I don't see t/dynpmc/gdbmhash.t hanging on Darwin
03:36 Andy joined #parrot
03:36 contingencyplan joined #parrot
03:38 Infinoid oh goodie, something to fix.
03:48 dalek r26899 | infinoid++ | trunk:
03:48 dalek : [tge] Work around r26896 until we have a proper fix.  (Like, create a simple
03:48 dalek : compilers/tge/TGE/Makefile with a summary rule, and then recurse to that.  Or
03:48 dalek : move TGE/* into the current directory.)
03:48 dalek : Whatever we end up doing, this gets it building for me again on linux/amd64.
03:48 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26899
03:58 dalek r26900 | infinoid++ | trunk:
03:58 dalek : [rakudo] whitespace removal
03:58 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26900
04:02 gregor joined #parrot
04:05 gregor joined #parrot
04:09 darbelo joined #parrot
04:11 Infinoid in fact, GNU Make on my system seems to be ignoring all ".c.o" type rules
04:15 iblechbot joined #parrot
04:16 Infinoid oh.  it just needs a .SUFFIXES.
04:18 dalek r26901 | infinoid++ | trunk:
04:18 dalek : [tge]
04:18 dalek : * Ok, found the right fix this time: it just needed a .SUFFIXES.
04:18 dalek : * So, do that instead of my previous hack.
04:18 dalek : * This reverts r26899, and fixes #52680.
04:18 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26901
04:20 Infinoid msg Coke Your Makefile was fine, it just needed a .SUFFIXES line (now added).
04:20 purl Message for coke stored.
04:20 Infinoid msg kid51 please retest #52680, I'm pretty sure I've fixed it.
04:20 purl Message for kid51 stored.
05:05 contingencyplan joined #parrot
05:06 Psyche^ joined #parrot
05:27 slightlyoff joined #parrot
05:31 contingencyplan joined #parrot
05:44 iblechbot joined #parrot
05:51 contingencyplan joined #parrot
06:01 contingencyplan joined #parrot
06:21 uniejo joined #parrot
07:49 c9s joined #parrot
07:57 darbelo left #parrot
08:35 IllvilJa joined #parrot
08:37 Davemon joined #parrot
09:24 ruoso joined #parrot
09:55 AndyA_ joined #parrot
10:09 iblechbot joined #parrot
10:18 tetragon joined #parrot
11:49 mire__ joined #parrot
12:26 rdice joined #parrot
12:33 cognominal jonathan,  the fpw is in the south of France, and has been decided quite late so it will be a small  fpw, so they have place for any good presentation even at a lame time.  The attendance may be small but there will be the same regulars who are delighted  to see you and hear your talks
12:38 Coke Infinoid++
12:42 diakopter thus commences the first (reported) smoke on netbsd
12:44 Infinoid diakopter++
12:44 diakopter I guess make -j doesn't work
12:46 diakopter sorry, that wasn't helpful.  make -j; outputted the syntax for calling make.
12:47 diakopter says it expects [-j numJobs] or something
12:48 diakopter [-j max_jobs]
12:49 Infinoid ok
12:49 Infinoid so, does "make -j 4" work on netbsd? :)
12:51 diakopter it's smoking now... I did make -j ; make smoke (should've done make -j && make smoke)
12:52 cognominal cognominal ~~ s/lame/late/
12:52 Infinoid make -j smoke
12:52 Infinoid the smoke rule depends on the build rules, so it should all work out with one make
12:53 diakopter there are so many undocumented dependencies when installing Test::TAP::HTMLMatrix via cpan
12:54 ambs joined #parrot
12:55 diakopter Test::TAP::Model depends on Petal and Test::Harness::Straps, neither of which is installed by cpan before it attempts to install HTMLMatrix
12:56 Infinoid hmm
12:56 diakopter netbsd smoke: http://tinyurl.com/3vnuqf
12:56 Coke diakopter: hurm. I don't recall having that issue. :|
12:56 Coke did you report the bug?
12:57 Coke OBTW, chances are good that parrot will be getting a smolder setup.
12:57 diakopter I read that on use.perl
12:57 Infinoid Test::Harness::Straps isn't part of the perl install?
12:57 diakopter not on every vm I've set up
12:57 Coke diakopter: O RLY?
12:57 purl YA RLY
12:58 Infinoid they must have split it up and expected you to install another port for it, then
12:58 Infinoid kinda like freebsd does with php.
12:59 Infinoid CPAN wouldn't have known about that :(
12:59 diakopter centos5.1, debianSid, solaris10, netbsd4
13:00 diakopter because of that, the Makefile.PLs shouldn't assume the perl core is complete..?
13:00 Infinoid well, Test::Harness::Straps is part of the default install for perl 5.8.8 and 5.10.0
13:00 Infinoid if you didn't get it, the install wasn't complete
13:01 Infinoid is this only happening on netbsd4, or elsewhere too?
13:02 diakopter I know it happened on sol10, and I know it happened on one of the other two, but I don't recall which
13:02 diakopter I could check the file times to be sure
13:02 Infinoid hmm
13:03 diakopter sol10 came with perl 5.8.4
13:03 diakopter the linuces had 5.8.8
13:03 Infinoid Test::Harness::Straps is in 5.8.4 too... http://search.cpan.org/src/NWCLARK/p​erl-5.8.4/lib/Test/Harness/Straps.pm
13:04 shorten Infinoid's url is at http://xrl.us/bi7v8
13:04 diakopter odd
13:04 Infinoid yeah
13:04 diakopter oh, I have an idea; brb
13:05 diakopter never mind
13:05 purl Okie dokie
13:05 Infinoid purl, mind now!
13:05 purl Infinoid: excuse me?
13:06 diakopter anyway, how do I get the output of these (2) failing tests on netbsd
13:06 diakopter (3) I mean
13:06 diakopter oh, they're just codingstd
13:06 Infinoid if you run them under "prove -v", or just under "perl", you will see their full diagnostic output
13:08 diakopter nopaste?
13:08 purl nopaste is, like, at http://nopaste.snit.ch/ (ask TonyC for new channels) or http://rafb.net/paste or http://paste.husk.org/ or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/ or don't bother me while I'm eating
13:08 nopaste "diakopter" at 209.9.237.164 pasted "./t/codingstd/c_cppcomments.t" (11 lines) at http://nopaste.snit.ch/12671
13:10 Coke diakopter: huh. that should be telling you the file that it failed on.
13:10 Infinoid cool, looks like the test errored out.  Can you try "perl t/codingstd/c_cppcomments.t"?
13:10 Coke (and that passes for me here.)
13:10 diakopter Segmentation fault (core dumped)
13:11 Infinoid awesome
13:11 Coke diakopter: what version of perl do you have?
13:12 diakopter This is perl, v5.8.8 built for i386-netbsd-thread-multi
13:12 Infinoid are the other tests failing in the same way?
13:13 diakopter yep.  c_operator outputs 1..1   and c_parens outputs 1..3   and c_cppcomments outputs 1..1
13:16 Infinoid hmm.  I think it has to be a perl bug
13:18 diakopter next I was going to try NetBSD4.0/amd64  we'll see how that goes I guess
13:19 skids joined #parrot
13:31 diakopter someone just told me they're giving me an UltraSparc5 with Solaris10 on it
13:41 Coke diakopter: awesome.
13:50 diakopter eh, I think I'll wait until Sol10 2008-05 is available April 16 to do the 64-bit one.  okay, I guess I'll start on some Windows ones since those are fun, and MSFT is unlikely to want to smoke all the combinations
13:50 gryphon joined #parrot
13:53 diakopter there's 32-bit vs 64-bit, there's 2003, 2008, XP SP1,SP2,SP3, Vista SP0,SP1, there's strawberry perl, activestate perl, microsoft(!) perl, cygwin perl, where do I start (augh)?
13:54 Infinoid and there's MSVC, cygwin, and mingw
13:55 Coke and strawberry perl.
13:55 purl it has been said that strawberry perl is found at http://strawberryperl.com/
13:55 Coke (since that has a compiler built in.)
13:55 Andy joined #parrot
13:55 Infinoid yeah, strawberry implies mingw
13:55 diakopter hey, I mentioned cygwin and strawberry, and I figured mingw was covered under strawberry
13:56 Infinoid you're right :)
14:01 contingencyplan joined #parrot
14:01 diakopter now, which ones will Microsoft likely prefer to smoke
14:02 diakopter I'm guessing VC++ and Microsoft perl
14:02 diakopter or perhaps ASperl
14:02 Coke what is "microsoft perl" ?
14:02 diakopter what used to be called Services For Unix
14:03 diakopter microsoft bundles a distribution of perl with windows server 2003
14:03 diakopter it's on the second CD
14:03 diakopter Server 2003 R2, I should say.  for pre-R2, it was available for download
14:04 Coke looks like SFU includes ASPerl.
14:05 Coke (and some other perl, but if has asperl...
14:06 diakopter hm
14:08 diakopter here's the one that includes "UNIX perl": http://www.microsoft.com/downloads/det​ails.aspx?familyid=93ff2201-325e-487f-​a398-efde5758c47f&displaylang=en
14:08 shorten diakopter's url is at http://xrl.us/bi7zm
14:09 diakopter Utilities and SDK for UNIX-Based Applications is an add-on to the Subsystem for UNIX-Based Applications (referred to as SUA, hence forth) component that shipped in Microsoft Windows Vista / Windows Server 2008 RTM.
14:12 diakopter in the least, I could help them set up the smoking environments by preparing some install instructions and smoke scripts
14:14 * diakopter installs Server 2008 and UaSfUBAforSUA
14:15 diakopter it's likely perl 5.6
14:19 diakopter does parrot require perl 5.8?
14:24 Coke yes.
14:24 Coke but mainly out of laziness.
14:25 Coke (Given our long term plan to avoid having perl required at all, forcing ourselves to limit ourselves to older perl versions now is too limiting.)
14:26 Infinoid does that need to happen before 1.0?
14:29 Infinoid (I don't know where it sits on the roadmap.)
14:46 Coke the original plan was yes. the current plan doesn't require it, I think.
14:56 Coke We would need to have some kind of bootstrapping plan to replace it, and while that's theoretically possible, it's better for us to concentrate on VM features.
14:57 IllvilJa joined #parrot
14:59 Infinoid yeah, it doesn't sound easy.
15:01 particle we're going with perl 5.8 for 1.0
15:01 Coke Unless of course someone gets very motivated.
15:01 particle diakopter: smoking strawberry would be fabulous
15:02 Infinoid mmm, strawberry
15:02 * pmichaud wonders what the DEA would say about "smoking strawberry"
15:02 particle we're likely going to require icu for parrot 1.0, too
15:02 pmichaud ....we are?
15:02 * particle installs icu (finally)
15:02 particle yes
15:02 pmichaud I was hoping that we'd have the new string code in place before then
15:02 pmichaud i.e., the Strings PDD
15:02 particle sure. but transcoding ops?
15:03 pmichaud transcoding isn't all that difficult, really
15:03 pmichaud I mean, what are we going to transcode between?  utf8, ascii, and iso-8859-1, yes?
15:03 particle sorry, i meant upcase/downcase
15:03 Coke particle: are these declarations the result of your private conversation with allison this weekend?
15:03 particle and grapheme cluster equivalence
15:04 pmichaud grapheme cluster equivalence might take more work, yes
15:04 particle coke: yes. she should be writing something up
15:04 pmichaud upcase/downcase isn't even that difficult either
15:04 Coke ... That would be handy.
15:04 pmichaud the tricky part is properties
15:04 Infinoid 'u' :umlaut :uppercase
15:06 pmichaud but I've already done (in PHP) upcase/downcase conversion tables for codepoints up to U+055F
15:06 pmichaud it's really not that bad
15:06 pmichaud and I don't know that there's much upper/lowercase stuff beyond U+055F
15:07 particle ok, well, if we can get it done, great!
15:07 particle but allison and i are ok with requiring icu for parrot 1.0 if we have to
15:07 pmichaud okay, if we can get it done :-)
15:09 pmichaud if someone can focus on getting an efficient string implementation for Parrot according to whatever the new strings pdd looks like, I can help with getting the unicode stuff to work w/o icu
15:32 particle jonathan++ # pint
15:40 peeps[work] joined #parrot
15:41 pmichaud wow, it's 10:40 already
15:41 pmichaud think I'll do an early lunch
15:41 pmichaud then come back with more pct updates :-)
15:43 particle ooh. breakfast. good idea
15:49 AndyA joined #parrot
15:51 Coke nearly 12 here. bother.
16:34 sjansen joined #parrot
16:35 ambs joined #parrot
17:04 dalek r26902 | tewk++ | trunk:
17:04 dalek : [c99] independent C pre-processor
17:04 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26902
17:06 dalek r26903 | tewk++ | trunk:
17:06 dalek : [MANIFEST]
17:06 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26903
17:07 pmichaud particle++   # comment about BEGIN blocks on p6l
17:15 nopaste "cognominal" at 82.67.232.89 pasted ".perl for Bool, handling of my WHAT for classes derived from PMC" (38 lines) at http://nopaste.snit.ch/12675
17:16 cognominal can someone review and apply this patch?
17:17 * diakopter installs Microsoft perl on Win2008
17:19 pmichaud cognominal: $I0 = $P0 is wrong
17:19 pmichaud could perhaps use $I0 = istrue $P0
17:19 pmichaud but even better is simply:   if $P0 goto true
17:20 cognominal yes
17:20 pmichaud (one cannot use numification to decide if a particular value is true/false)
17:21 pmichaud as for the 'WHAT' method, I think the 'Ref' type will disappear when we get the copy op conversion done
17:22 cognominal ok
17:22 cognominal waht is the copy op?
17:22 * Coke supposes he should re-join p6l after a multi year hiatus.
17:23 Coke given two pmcs, put the guts of $2 into $1.
17:24 cognominal two pmcs of the same type?
17:24 pmichaud no, they can be different types
17:24 pmichaud essentially, make $1 into a copy of $2
17:25 cognominal what makes it different from morph
17:25 pmichaud morph simply changes an object's type
17:25 cognominal ok
17:25 pmichaud currently rakudo ends up doing the equivalent of morph+assign, which is what generates the Ref
17:25 pmichaud replacing this with 'copy' will hopefully fix that
17:26 pmichaud I'm checking to see what would be needed to convert
17:26 mj41 hi, I'm working on TapTinder http://tt.perl6.cz/ , so no time to pct-html-dump http://mj41.cz/static/parro​t/pct-html-dump/output-06/  , patch is for r24855, if anybody has free time ... :-)
17:27 mj41 and sorry for my English again
17:28 cognominal I speaks engrish too :)
17:28 * pmichaud tries the copy op conversion
17:31 jonathan pmichaud: Erm, you're going to hate me for what I did to assignment in Rakudo. ;-)
17:31 pmichaud jonathan: why, what did you do?
17:31 jonathan But it did provide a way to try out the copy op. And a bunch of tests failed with it. :-(
17:31 pmichaud I just tried converting to copy op now and it seems to work
17:32 jonathan pmichaud: Since we have to do a type-check on assignments, assignment isn't done through the copy past node any more.
17:32 pmichaud at least, it passes the basic rakudo tests
17:32 jonathan A next step was to, when we can statically know there weren't any type constraints, just emit a standard copy node.
17:33 jonathan Which is an optimization.
17:33 pmichaud I somewhat think we need/will end up with a Scalar type
17:33 pmichaud and that type checking would be done via the Scalar
17:33 jonathan To try this out for real, you'll need to change TYPECHECKEDASSIGN.
17:33 jonathan Well, we can do that route if we have two PMCs per variable - a container PMC and a value inside it.
17:33 pmichaud i.e., typing is a property of the container, not of the value
17:34 pmichaud s/typing/type checking/
17:34 jonathan Sure, but at the moment we just have one PMC that is acting kinda like both.
17:35 pmichaud well, if I knew how to efficiently write a Scalar PMC, I'd do it.  But I don't.  :-|
17:35 jonathan Which means you have to check the type and pass it on over assignments.
17:35 jonathan *other
17:36 pmichaud anyway, I did expect the assignment code to change for rakudo, yes.
17:36 jonathan OK. Well, I changed it. :-)
17:36 jonathan But I did in passing try the copy op in doing so.
17:36 pmichaud I'm not sure I planned for type checking to be this soon in development, but we'll leave it for now
17:37 pmichaud so, are you saying copy doesn't work with what is in rakudo now, or ... ?
17:37 Theory joined #parrot
17:37 jonathan If you replace the morph/assign in the type checked assignment routine with copy, you get some test failures.
17:37 pmichaud oh, assignment is doing its *own* morph/assign?
17:37 jonathan I was focusing on getting the type checking stuff working rather than trying to trace down those ones.
17:38 jonathan Right, it seemed the neatest implementation.
17:38 pmichaud we really need to get rid of morph from rakudo, though
17:39 jonathan See src/builtins/guts.pir
17:39 jonathan Change the morph/assign sequence to a copy in there.
17:39 purl jonathan: that doesn't look right
17:40 pmichaud okay, will do
17:40 pmichaud thanks
17:40 jonathan When I did, I got a few failures.
17:41 pmichaud why does the assignee always need a 'vartype' attribute?
17:41 jonathan We don't have a scalar PMC to hold onto the type. Thus we need to attatch it to the value. Somehow.
17:42 pmichaud is the type restriction dynamic?
17:42 jonathan Yes.
17:42 jonathan Constraint types (declared with subset) have to be in the general case.
17:43 pmichaud I agree with you but don't follow the constraint types/subset example
17:43 diakopter preparing to smoke i586-pc-interix3
17:44 jonathan Constraint types, declared with the subset keyword, allow any condition to be used to create a type. And trying to type-check those at compile time involves solving the halting problem. Which may delay Perl 6 a little...
17:44 jonathan We may well be able to detect some easy things at compile time.
17:44 cognominal with copy, WHAT indeed works without my patch
17:45 jonathan But for now, fully dynamic checks get us to meet the spec, I believe.
17:45 pmichaud jonathan: okay.  But this means we really need a Scalar type.  I'm afraid if we keep trying to attach things to the values we'll really clutter up the entire implementation
17:46 pmichaud especially because there are large number of properties that we'll start to have to keep track of
17:46 jonathan Well, we can always resolve that by a level of indirection - every value has one place to hang off all of these things.
17:47 pmichaud and just reassign it?  yeah, that might work
17:47 peepsalot joined #parrot
17:47 * Coke whispers, "hll interop"
17:47 jonathan Right, just as I'm doing with types, but generalize it to do everything.
17:47 pmichaud also, as a general rule I try to make sure all of my attributes have sigils
17:47 pmichaud (e.g., 'vartype')
17:48 jonathan *but*, it doesn't win us much in memory usage. Because then we have another PMC holding the "hung off" data.
17:48 jonathan Well, it does if there's no data to put there, I guess.
17:48 jonathan OK, can change that.
17:48 pmichaud I think in the long run we're going to end up effectively having that extra PMC around anyway
17:48 pmichaud it might not _be_ a PMC, but it'll certainly act a lot like one :)
17:49 pmichaud having a Scalar type would also be nicer because then we can make type and other constraint checking a part of the copy op instead of a separately called sub
17:49 Coke (constraint types) can we do this with a hook on setting the value of the pmc that invokes some method?
17:50 jonathan Coke: that'd be nice to have
17:50 jonathan I think having a Scalar type is the neater implementation.
17:50 Coke (that would address one of the requirements tcl has.)
17:50 pmichaud or, for that matter, why not just override the copy op for Perl6Object ?
17:50 jonathan You can't override ops?
17:50 pmichaud we can't?
17:50 Coke not sfaik.
17:50 jonathan Ops aren't MMD at that level.
17:50 Coke you can add a new dynamic op.
17:50 jonathan Only register types.
17:51 jonathan INSP
17:51 pmichaud I'm confused
17:51 cognominal INSP?
17:51 Coke INSP is "integer, number, string, pmc"
17:51 jonathan Right, the different register types.
17:52 pmichaud ops *can* be mmd, though
17:52 pmichaud see, for example, cmp_str
17:52 particle ops definitely can be mmd
17:52 particle they're not fun to debug that way, but they do work
17:52 Coke ... it's not the same mechanism, izzit?
17:52 pmichaud and is 'copy' just an op or is it also a vtable entry?
17:52 jonathan No, it's just an op
17:52 pmichaud pity.
17:53 jonathan It calls multiple (at least two) v-table entries.
17:53 Coke cmp_str isn't "an mmd op", it's "an op that invokes mmd".
17:53 pmichaud okay, then could copy become 'an op that invokes mmd'?
17:53 Coke sure.
17:54 jonathan The copy op does 3 v-table method calls.
17:56 jonathan It's quite a scary op...
17:56 jonathan It doesn't actually call any kind of set_pmc or assign_pmc vtable methods.
17:56 pmichaud it's not supposed to.  :-)
17:56 jonathan Right, but I'm not seeing anywhere we can hook it.
17:57 pmichaud well, maybe we just need to bite-the-bullet and develop a Scalar PMC type
17:57 jonathan I fear so.
17:57 jonathan Wonder how hard this will be to get right... :-)
17:57 pmichaud unfortunately, I have no clue where to begin.  There still isn't a good "here's how to create a new PMC" document that I'm aware of
17:58 pmichaud all of the PMCs I've created are just cargo-culted (bugs and all) from other implementations
17:58 Coke 'ack -a pmclass docs' is probably your best bet atm.
17:59 particle i designed exporter pmc from scratch
17:59 particle doesn't use vtable functions though
17:59 pmichaud a scalar pmc should really take on the vtable of its contents, except for a few special operations
17:59 particle didn't audrey start a Scalar pmc for pugs?
18:00 pmichaud (audrey) yes, but I could never quite understand it or get it to work like I thought it should
18:00 cognominal what is the real_self in a PMC?
18:00 particle read pdd17_pmc
18:00 pmichaud fwiw, if we have a real Scalar PMC, then the operation should become 'assign' instead of 'copy'
18:01 jonathan cognominal: If you have an instance of a PMC, but actually it's been subclassed by a high level object, this stores the subclass, so we can dispatch calls on the Right Thing.
18:01 cognominal it seems that the copy makes a lot of stuff shared between the copy and the copeid object
18:01 jonathan pmichaud: Agree.
18:01 jonathan I can have a crack at it, perhaps.
18:01 pmichaud jonathan: I'd really appreciate that
18:02 pmichaud otherwise I think the rakudo code is going to get progressively messier in this area
18:02 jonathan Yeah.
18:02 particle pmclass Scalar provides scalar { ... } /* first cut */
18:02 pmichaud (which is one reason why I wasn't in a rush to do it -- I wanted to take care of 'cleaner' things first :-)
18:02 jonathan As per usual, my first implementation of a feature reveals the way not to do it.
18:02 particle anti-patterns++
18:03 * jonathan has a feeling getting the Scalar PMC right is going to hurt
18:03 pmichaud this also tells me that what I was planning to use to test the copy opcode isn't really going to test it :-|
18:03 Coke I have a dread that we're goign to finish two different languages and then have to redo them to get HLL interop to work in any sane fashion. :|
18:04 pmichaud coke:  I think that's a near certainty no matter what we do
18:04 jonathan Coke: Scalar PMC should give us a better change of success on interop with Perl 6.
18:04 particle can we write some tests for Scalar PMC before we write the pmc?
18:04 mj41 joined #parrot
18:04 pmichaud first crack at a scalar PMC:
18:05 pmichaud (1) assign should cause the scalar in $1 to reference a COW version of $2
18:05 pmichaud (2) all other operations should be delegated to the reference
18:05 pmichaud if COW isn't possible, then a copy is okay
18:06 jonathan Let's do a copy first.
18:06 pmichaud trickier is figuring out how to do a 'bind' operation
18:06 jonathan And optimize later.
18:06 jonathan Well, if you bind to a value, then it's ro
18:07 jonathan It's just assignment of the PMC reference, right?
18:07 pmichaud ah, that's the other problem
18:07 pmichaud darn
18:07 pmichaud $a[5] = 4;    currently uses "copy"
18:08 diakopter aw drat; interix6.0 has perl5.6.1.  oh well. on to strawberry.
18:08 ambs strawberry++
18:10 * ambs licks his lips
18:10 pmichaud a lot of this stuff seemed more doable to me when we had setprop/getprop
18:11 particle attributes don't work for you?
18:11 pmichaud sure, if we're giving every value in rakudo a set of attributes
18:11 pmichaud but setprop/getprop didn't really copy from one pmc to the next, iirc
18:12 pmichaud whereas attributes do
18:12 pmichaud i.e., PMC acted more like containers than values
18:12 pmichaud *PMCs
18:12 jonathan Right, and the properties stayed the same when you changed the type/value.
18:13 pmichaud exactly
18:13 jonathan That's exactly what I've gone and faked up.
18:13 jonathan :-)
18:13 jonathan But more seriously, we need to allow people to write their own container classes too.
18:13 pmichaud jonathan: unless you have a breakthrough idea, I'd hold off on Scalar for now
18:13 jonathan my $x is Persistent;
18:14 pmichaud let's just give every object a %!properties attribute or something
18:14 pmichaud and we can store constraints in there
18:14 jonathan And copy it on assign?
18:14 pmichaud well, reference
18:14 purl reference is now stringified
18:14 pmichaud or perhaps I should say "restore"
18:14 jonathan restore is the word I think I used in my comment ;-)
18:15 pmichaud i.e., make sure that assignment doesn't destroy the PMCs %!properties
18:15 jonathan OK, so that's just taking what I did already and generalizing it.
18:15 pmichaud but I'd still prefer to see it handled as part of a copy operation
18:15 particle we can generalize it with a role
18:15 particle does rScalar
18:15 jonathan I think that such an op would need to be so specific to Perl 6 it'd be a dynop.
18:16 particle or rProperties or whatever
18:16 pmichaud I'd really prefer to find a way to get    copy $P0, $P1   to dtrt
18:16 pmichaud particle:  (role)  does something that has to be on every PMC really need to be a role?
18:16 particle gotta get allison involved on that
18:16 pmichaud sorry, I mis-stated
18:16 jonathan Well, I can hack it to keep any %!properties around, but it will be a Perl 6 specific op then...
18:16 pmichaud I _really_ wish that assign would dtrt
18:17 particle pmichaud: it's a matter of composition strategy
18:17 pmichaud oh, hey, is assign a vtable entry?
18:17 particle we have roles for a reason. reuse.
18:17 particle yes
18:18 pmichaud oh, then let's just overload '
18:18 pmichaud 'assign'
18:18 pmichaud and use that
18:18 particle 'assign_string_native' and 'assign_pmc'
18:19 particle we're unlikely to use 'assign_string_native' in rakudo
18:19 pmichaud assign can be built in terms of the 'copy' op
18:19 jonathan Hmm, interesting idea.
18:19 purl i heard interesting idea was to put two of the bots in the same channel, from different game servers
18:20 pmichaud so, whenever we want to do assignment, we generate an 'assign' instruction, and our overloaded 'assign' (for all rakudo PMC values) will do a copy
18:20 pmichaud and check any constraints
18:20 pmichaud and make sure the copy retains the constraints
18:20 jonathan Worth a try.
18:20 pmichaud other languages wanting to hll interop with rakudo also use 'assign', which dtrt
18:21 jonathan Right, and PCT would not emit a morph and assign any more, just an assign?
18:21 pmichaud correct
18:21 pmichaud er, not exactly
18:21 jonathan How will that impact other HLLs using assign?
18:21 pmichaud Rakudo would generate assignments as assignment ops
18:21 pmichaud i.e., it'll just do    :pirop('assign')  instead of :pasttype('copy')
18:21 jonathan Oh, OK.
18:22 jonathan So we add a third pasttype?
18:22 pmichaud no
18:22 jonathan bind, copy, and now assign?
18:22 pmichaud no, assign is a PIR operation
18:22 jonathan oh
18:22 jonathan pirop
18:22 pmichaud *right*
18:22 jonathan Sorry, I thought they were both pasttype
18:22 jonathan Inverse typo.
18:22 pmichaud it doesn't affect other HLLs unless they happen to call 'assign' on a rakudo PMC
18:22 jonathan In which case, it should do the Right Thing.
18:22 pmichaud exactly.
18:23 jonathan OK. So which one of us gets to try this? :-)
18:23 pmichaud whoever gets to it first?  ;-)
18:23 jonathan I'd rather we don't both try at the same time.
18:24 Coke pmichaud: (assign, HLL), which is entirely possible, if you generate a PMC and pass it in to some other HLL.
18:24 pmichaud well, I'm not doing it soon.  I'm happy to know that we have *a* potential solution without needing a ton of change
18:24 Coke er, to a method defined in some other HLL.
18:24 pmichaud if I start on the assign op version I'll let you know first
18:25 pmichaud otherwise feel free to do it whenever you feel like getting around to it
18:25 pmichaud including not doing it at all anytime soon
18:25 jonathan I'm kinda keen to get this worked out, just because until we have a solution I'll feel uncomfortable building a load of stuff on top of it.
18:25 jonathan Just feels like one of those fundemental things we should try and get right early.
18:25 pmichaud then feel free to start.  I don't plan to be doing anything anytime soon (i.e., next seven days) that might interfere on it
18:26 jonathan OK, I will see what I can do.
18:26 pmichaud most of what I expect to do will be code review and finding things like this that I can carp about :-)
18:26 jonathan Finding Rakudo hacking vaguely addictive at the moment.
18:26 pmichaud and I'm very happy to be feeding that addiction :-)
18:26 barney joined #parrot
18:26 pmichaud I agree, it's a fundamental thing I'd like to get right early
18:26 * PerlJam hopes someone is saving this conversation.
18:26 jonathan Review of what I'm doing is certainly a Good Thing.
18:27 PerlJam The last few lines from pmichaud and jonathan seem like they should be on a slide for someone's YASPC talk  :)
18:27 PerlJam er, s/YAS/YA/
18:27 pmichaud perljam:  so, stick it in your talk!  What... you didn't submit one?!?!
18:27 pmichaud PerlJam: which lines, exactly?  I'll store them away for my talk
18:28 pmichaud or, even better, I'll put them in a use.perl article
18:28 PerlJam pmichaud: the addictive/feeding lines especially :)
18:28 jonathan OK, I'm hungry.
18:29 jonathan Time to go cook something.
18:36 pmichaud (hll interop)  -- yes, I think we'll end up having to do some tweaking to get hll interop to work between some of the languages
18:54 rdice joined #parrot
18:57 nopaste "diakopter" at 72.202.142.227 pasted "strawberry failures so far" (123 lines) at http://nopaste.snit.ch/12676
18:58 dalek r26904 | bernhard++ | trunk:
18:58 dalek : #52666: [PATCH] Eclectus: implement EQ?, EQV? and EQUAL?
18:58 dalek : Courtesy of Andreas Rottmann
18:58 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26904
19:12 dalek r26905 | pmichaud++ | trunk:
19:12 dalek : [pct]:
19:12 dalek : * Some documentation and code ordering cleanups.
19:12 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26905
19:12 particle diakopter: thanks. -0.0, Inf and NaN are common failures, as we don't have a standard way of representing those yet
19:14 Theory joined #parrot
19:34 ruoso joined #parrot
19:46 dalek r26906 | bernhard++ | trunk:
19:46 dalek : [c99]
19:46 dalek : Set svn properties.
19:46 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26906
19:47 dalek r26907 | pmichaud++ | trunk:
19:47 dalek : [pct]:
19:47 dalek : * Refactor PAST::Var node scope handling.
19:47 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26907
19:49 dalek r26908 | bernhard++ | trunk:
19:49 dalek : #48030: [DEPRECATED] compilers/PAST-pm, Parrot/HLLCompiler.pir
19:49 dalek : Add workaround for deprecated Parrot/HLLCompiler.pir
19:49 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26908
19:55 lidi20 joined #parrot
19:59 dalek r26909 | bernhard++ | trunk:
19:59 dalek : remove trailing whitespace
19:59 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26909
20:02 Donald joined #parrot
20:04 Infinoid is Andy Bach in the house?
20:07 dalek r26910 | bernhard++ | trunk:
20:07 dalek : #48030: [DEPRECATED] compilers/PAST-pm, Parrot/HLLCompiler.pir
20:07 dalek : Let Perl6Grammar.pir use PCT::HLLCompiler
20:07 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26910
20:09 gryphon joined #parrot
20:17 barney Looks like the docs to 'compreg' is incomplete
20:19 Coke something in particular lacking?
20:20 barney Registering an object on which the method 'compile' will be called
20:20 Coke the opcode descriptions are shy.
20:20 pmichaud compreg is old
20:20 Coke barney: You can DO that?
20:20 Coke I thought it was just an invokable.
20:20 pmichaud compreg doesn't care what kind of object it's given
20:20 pmichaud it's basically a glorified hash
20:21 barney I need to do that, It complained when I wanted to register a Sub
20:21 pmichaud whatever you stick into it is what you get out
20:21 Coke pmichaud: the expectation, though, is that when you get something out of the hash, you can simply invoke it and pass in the source as a single string arg.
20:21 barney I see. Calling the method 'compile' then is just a convention ?
20:21 pmichaud coke:  I think that's no longer true either
20:22 pmichaud nowadays we expect to have a compiler object with a 'compile' method
20:22 pmichaud but I don't think that's been officially specced in a PDD yet, except for...
20:22 Coke ... that's definitely not documented near the opcode.
20:22 Coke and is very likely not how tcl works.
20:23 Coke barney: opening a ticket would be good.
20:23 pmichaud what I really would like is to be able to have an object that is both a HLLCompiler and invokable
20:24 Coke pmichaud: and it's now how PIR and PASM compreg works.
20:24 pmichaud correct
20:24 pmichaud but that's a function of the object registered with compreg, not of compreg itself
20:24 dalek r26911 | bernhard++ | trunk:
20:24 dalek : #48030: [DEPRECATED] compilers/PAST-pm, Parrot/HLLCompiler.pir
20:24 dalek : Give 'compreg' a compiler object with a 'compile' method,
20:24 dalek : but don't use Parrot::HLLCompiler for that.
20:24 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26911
20:25 Coke right, but if you're registering something else that doesn't work like others are expecting, BOOM.
20:25 pmichaud allison and I had an on-list discussion about this some time back
20:25 pmichaud the expectation is that compilers are objects that understand certain methods -- many of which are currently documented in pdd21
20:25 Coke can you get a link to that discussion so barney can add it to his ticket?
20:26 pmichaud it would be around the time of the first PAST-pm implementation and HLLCompiler implementation
20:26 pmichaud I think there are two tickets needed here
20:26 pmichaud (1) update the compreg opcode, which I think we can do immediately
20:27 pmichaud (i.e., update the docs)
20:27 pmichaud (2) define the standard interface for compiler objects
20:28 * pmichaud searches his email archives
20:28 Coke I think we need to do #2 first so we know what #1 should say.
20:28 pmichaud #1 should say the following:
20:29 pmichaud compreg(out PMC, in STR)
20:29 pmichaud get a compiler for source type $2
20:29 pmichaud and
20:29 pmichaud compreg(in STR, invar PMC)
20:29 pmichaud register $2 as a compiler for source type $1.
20:29 pmichaud .end
20:29 Coke without defining what "compiler" means, that's not much more helpful than the current situation.
20:30 pmichaud compiler is any object that can do compilation
20:30 Coke "how"
20:30 pmichaud the documentation for compreg doesn't need to specify that
20:30 Coke if it doesn't, then we need to delete those two opcodes. =-)
20:30 Coke because they're useless.
20:30 pmichaud no they aren't
20:30 purl yes they are!
20:30 pmichaud they're the standard way of obtaining a handle to the compiler for a given language
20:30 Coke if I don't know how to *use* the object I'm given back, what good is it?
20:31 pmichaud let me argue this by way of analogy
20:31 pmichaud I think we should get rid of the set_p_p_ks opcode, because it doesn't tell us how to use the PMC that is retrieved from the aggregate
20:31 Coke I think your analogy is flawed.
20:31 purl i already had it that way, Coke.
20:31 Coke mmhehehe.
20:32 * Coke pats purl onna head.
20:32 Coke This is not some generic hash. It's a VERY SPECIFIC hash.
20:32 pmichaud so, you're saying it should enforce the types of objects that it hashes?
20:32 Coke if I don't know how to invoke a compiler object, it is of no use to me as the result of a call to compreg.
20:32 pmichaud oh come on
20:32 Coke That is slightly separate from "having a convention".
20:33 dalek r26912 | bernhard++ | trunk:
20:33 dalek : #48030: [DEPRECATED] compilers/PAST-pm, Parrot/HLLCompiler.pir
20:33 dalek : Remove Parrot/HLLCompiler.pir
20:33 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26912
20:33 pmichaud are you arguing:  (1)  that the compreg opcode needs to document all of the methods supported by compiler objects
20:33 pmichaud (2) that all compilers should have the same interface as PIR and PASM do now
20:33 pmichaud (3) that the compreg opcode should *enforce* certain restrictions on the objects that are registered as compilers
20:34 pmichaud (4) something else entirely?
20:34 Coke I am saying "I want to be able to ask for an arbitrary language's compile and be able to use the same way of invoking it, regardless of the language".
20:34 Coke "language's compiler"
20:34 pmichaud okay, I agree with that.  That is my ticket #2 above
20:34 pmichaud but I don't think the "how to invoke it" has to be a part of the compreg opcode, any more than "how to use it" has to be part of the documentation of any other opcode that gives us a result
20:34 Coke that's the bare minimum. I think any clarification of the documentation to compreg must include that.
20:35 Coke if it doesn't at least point to the documentation about what to expect from a compiler object, the documentation is pretty useless.
20:35 pmichaud well, there are two problems there then
20:35 pmichaud (1) we don't have a standard for compiler objects
20:35 barney Why isn't there simple a reserved hash in the Parrot namespace ?
20:36 Coke pmichaud: (we don't) we did, which is part of where my confusion is coming from.
20:36 pmichaud coke:  well, parts of pdd21 effectively changed that standard
20:37 pmichaud and yes, I was confused also when I saw that
20:37 pmichaud barney:  (reserved hash)  -- sure, we could do it all with a reserved hash as well.  compreg is residual.
20:38 pmichaud it used to be that compilers were special NCI routines
20:38 Coke pmichaud: the compiler PMC API there doesn't list ... compile.
20:38 pmichaud Coke:  correct, it doesn't list compile.  But it does show that whatever we consider a "compiler object" needs to have methods beyond simple "invoke"
20:39 Coke But only in a throw away, unvetted example does it even mention that these compiler objects are what we expect from compreg.
20:40 pmichaud I still don't know exactly what it is that you want to change.  (more)
20:40 Coke if you're saying that compreg is expected to give and take those objects, shouldn't the compreg docs at least point to that section of the PDD?
20:41 pmichaud yes, I think it's fine for the compreg docs to point to the "compilers" section of the PDD
20:42 Coke Ok. So you agree that everything that goes through compreg *should* follow whatever the api is for compiler objects?
20:42 pmichaud Yes, I agree with that.  That would be great.  I'm just also realistic that this isn't likely to happen anytime soon for the existing PIR and PASM compilers.
20:43 Coke Then, at a bare minimum, that discrepency needs to be noted in the docs. preferablly in the opcode docs, since the pdd's are supposed to represent the ideal.
20:45 pmichaud http://groups.google.com/group/perl.perl6.int​ernals/browse_thread/thread/9c58722a98f731b3
20:45 Coke but even if we do that, pdd21 still doesn't tell you how to compile anything.
20:45 shorten pmichaud's url is at http://xrl.us/bi8s4
20:46 Coke which brings me back to my original complaint about the unfinished API.
20:46 pmichaud and allison wrote in that thread:
20:46 ambs joined #parrot
20:46 pmichaud "Also for the record from the weekly meeting (which was actually today,
20:46 pmichaud just a very long today): Yes, compilers are objects and compilation is a
20:46 pmichaud method call. The compiler for TGE tree grammars is implemented this way,
20:46 pmichaud and it's a very usable interface. "
20:46 pmichaud also
20:46 pmichaud "We might want to resurrect the 'compile' opcode as an indirect syntax
20:46 pmichaud for making the 'compile' method call. "
20:47 pmichaud because it *used* to be that the only way to invoke a compiler (returned from compreg) was to use the 'compile' opcode.
20:47 Coke We never got a compilers PDD, did we?
20:48 pmichaud no, because we went through a number of iterations about HLLCompiler and what it should look like
20:48 pmichaud and some of my messages asking about methods in pdd21 got warnocked
20:48 * Coke trusts barney will get all this de-warnocked. =-)
20:50 Infinoid Coke: can you tell me anything about the "macports" step of configuration?
20:50 Coke Infinoid: ... no
20:51 Coke it's unrelated to making a parrot macport. =-)
20:51 * Infinoid will bug kid51 then, thanks
20:51 Coke I b'leev the intent is to discover the install location of macports so you can find deps that it might have installed for you.
20:51 Coke pmichaud: thanks for digging up that email thread.
20:51 pmichaud sure thing
20:52 mj41 r26910 broke TapTinder ... http://tt.perl6.cz/ ... but it's time to sleep
20:52 pmichaud we should probably go ahead and make an rt ticket for "compiler pdd"
20:52 Coke design items theoretically are not going into RT.
20:52 pmichaud oh
20:52 mj41 will try to fix it tomorrow, good night
20:52 pmichaud where do they go?
20:52 Coke but if you open a ticket, it will be good enough and remind allison or myself to move it.
20:54 Coke I... can't... remember the name of the other website.
20:54 pmichaud launchpad?
20:54 purl launchpad is, like, http://geekz.co.uk/lovesraymon​d/archive/cancomical-lynchpad or http://azure.humbug.org.au/~aj/blog/20​05/09/04#2005-09-04-launchpad-freeness or http://launchpad.net/ or https://launchpad.net/parrot/
20:54 Coke YES.
20:54 Coke thank you. brain freeze.
20:54 dalek r26913 | bernhard++ | trunk:
20:54 dalek : [c99]
20:54 dalek : clean up src/cpp/Makefile
20:54 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26913
20:54 pmichaud I also want a re-review of namespaces pdd, fwiw
20:54 pmichaud I think it can be redone a lot smarter now that we have PCCMETHODs
20:54 pmichaud the previous design assumed that we were limited to existing opcode formats
20:55 diakopter purl, launchpad is also Darkwing Duck's sidekick
20:55 purl okay, diakopter.
20:59 Coke blueprints?
21:00 purl blueprints are blue because they're printed on special paper using a ammonia solution.  I kid you not.
21:00 Coke blueprints are also https://blueprints.launchpad.net/parrot/
21:00 purl okay, Coke.
21:00 pmichaud btw, we probably need something that says that design discussions and todo items belong in launchpad =-)
21:01 pmichaud I wonder where _that_ ticket goes :-) :-)
21:01 pmichaud I have to go cook dinner... bbiaw
21:01 Coke docs/submissions.pod ; it's not a big deal if someone opens a ticket in RT that "belongs" in launchpad; just figured that those of us more likely to open things that require design review could skip the middle man.
21:02 pmichaud okay.  I had forgotten the launchpad/design rt/impl  distinction
21:03 Coke you can tell from my lack of URL that I'd not thought of it in some time.
21:03 Coke looks like it needs some cleanup, too.
21:03 pmichaud oddly, I was looking at parrot's entry in launchpad just a few days ago
21:03 pmichaud is there an email-interface for posting tickets to launchpad?
21:03 Coke I'm not a huge fan, but allison liked it. =-)
21:03 Coke pmichaud: no clue.
21:04 pmichaud I can remember an email alias much easier than a url
21:05 Coke "will@coleda.com" works for now. :|
21:06 dalek r26914 | infinoid++ | trunk:
21:06 dalek : [config] add auto::macports (from r26892) to MANIFEST.
21:06 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26914
21:06 PerlJam Coke: Did you ever "finish" that extjs thing you were working on?
21:06 Coke PerlJam: No. I need an RT instance to play with.
21:07 dalek r26915 | bernhard++ | trunk:
21:07 dalek : [Rakudo]
21:07 dalek : Let 'make realclean' in the Parrot root,
21:07 Coke that pretty much killed my tuits.
21:07 dalek : clean up the 'languages/perl6' Makefiles as well.
21:07 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26915
21:07 Coke there is a googlecode url for the WIP.
21:08 Coke extjs?
21:08 purl extjs is a js gui toolkit, or at http://extjs.com/
21:08 Coke extjs is also http://code.google.com/p/rt-viewer/
21:08 purl okay, Coke.
21:08 Coke PerlJam: give me a google id, you can have commit bits. =-)
21:09 AndyA joined #parrot
21:10 PerlJam Coke: perlpilot@gmail.com
21:10 PerlJam (I don't know if I'll actually do anything, but every now and then I play with ext)
21:21 Theory joined #parrot
21:25 dalek r26916 | infinoid++ | trunk:
21:25 dalek : [config] Add t/steps/auto_macports_0[1-5].t to MANIFEST.
21:25 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26916
21:31 Coke PerlJam: added.
21:44 AndyA joined #parrot
21:46 diakopter ewilhelm: what format/layout do you want the socialtext wiki change notices to take?  You have author (which is sometimes a full name and sometimes an email address according to socialtext), link, datetime, and title  to work with.
21:49 diakopter how about this:
21:50 diakopter <dalek> allison@perl.org | milestones
21:51 diakopter <dalek> link: http://www.perlfoundation.org​/parrot/index.cgi?milestones
21:54 diakopter anyone else have any suggestions?
21:54 diakopter the rss feed in question is http://www.perlfoundation.org/feed/work​space/parrot?category=Recent%20Changes
21:54 shorten diakopter's url is at http://xrl.us/bi8xg
21:56 dalek r26917 | infinoid++ | trunk:
21:56 dalek : [Parrot::Manifest]: Only ignore "blib" and "ports" in the toplevel parrot dir.
21:56 dalek : This means it won't ignore things named "macports" any more.  This fixes the
21:56 dalek : confusion that resulted in RT #52712.
21:56 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26917
22:09 ewilhelm diakopter: that sounds good -- would an xlr get it all on one line?
22:09 ewilhelm <dalek> allison@perl.org | milestones | http://xrl.us/...
22:10 ewilhelm but what you have works fine too
22:35 pmichaud arggggh
22:35 pmichaud r26910 broke the build
22:38 Limbic_Region joined #parrot
22:43 skids joined #parrot
22:47 wknight8111 joined #parrot
22:58 Coke pmichaud: ObStandard: realclean?
22:58 pmichaud it's the realclean that exposes the breakage
22:59 pmichaud 26910 changes PGE to use PCT/HLLCompiler.pbc instead of Parrot/HLLCompiler.pbc, but the makefile builds pge before pct
22:59 pmichaud simple fix... I'm just testing it now
22:59 pmichaud (and make test takes a long time, aywk)
23:00 jonathan pmichaud: Looks like some missing bits of Parrot need filling in before I can play with overriding assign_pmc.
23:01 jonathan Mailed the list with my thoughts/questions.
23:01 pmichaud jonathan: excellent work, thanks
23:01 jonathan Spent most of the evening trying to find a place to live from the middle of next month, so not got much more than that done.
23:02 pmichaud having a place to live is important, yes.  :-)
23:04 kid51 joined #parrot
23:05 Infinoid kid51++ # for finding the broken manifest regex
23:05 jonathan You thought any on how we support people writing their own multi postcircumfix:<[ ]> to support array access and so forth?
23:06 jonathan I mean, the Easy Thing is to always generate array indexing as a call do that.
23:06 kid51 Thanks.  As always, Andy D figured out some way to reveal an obscure design flaw in something that had passed all tests --formal and use -- for months.
23:06 jonathan But it's not exaclty efficient...
23:07 wknight8111 efficency is overrated
23:07 jonathan Ooh, maybe we can a dispatch to that in a default set_pmc_keyed in Perl6Object.
23:07 jonathan s/can/can put/
23:08 kid51 Infinoid:  And speaking of Andys, I think I'll take a hint from Andy *L* and try to write at test for that bug.
23:09 pmichaud I was going to override the corresponding set_* op
23:09 Infinoid kid51: and while you're at it, there's a nice patch from Andy *B* (RT#52710)
23:10 pmichaud and I was only going to do the override for the classes that need it
23:10 jonathan OK.
23:10 pmichaud as opposed to doing it in Perl6Object... unless we determine that Perl6Object needs it :-)
23:10 jonathan Well, you don't know which classes need it, maybe?
23:10 jonathan As it's declared outside of the class, as a multi...
23:10 pmichaud most operator overloading is going to require some special handling
23:10 Infinoid home &
23:11 pmichaud i.e., we have to adjust the parser, and a variety of other things
23:11 jonathan Not to mention defining new ones, which I guess need some grammar...ah, beat me to it.
23:11 pmichaud operator overloading is one of those things that I've been personally saving for "much later"
23:11 pmichaud I mean, it's cool and all to do the more esoteric features, but at some point we need rakudo to at least be able to do as much as perl 5 does
23:12 pmichaud and we're not even close to that yet :-)
23:12 Infinoid kid51: (that is, if you're in Andy-processing mode)
23:12 jonathan Sure, I'm more concenred about knowing that we will be able to do these things without huge upheavel, than doing them now.
23:12 pmichaud oh, I'm pretty sure we'll be able to remap things later on fairly easily
23:12 pmichaud as long as we stick to method and function based interfaces, it's pretty straightforward
23:13 jonathan OK, sounds good.
23:13 purl speakers so loud they blow women's clothing off!
23:13 jonathan ...
23:13 Coke jonathan: responded to your email. your short term need is doable with existing syntax.
23:13 jonathan Coke: Oh, cool - show me?
23:14 Coke languages/tcl/src/class/tclconst.pir : set_string_native overrides the vtable of the parent, then invokes it at the end.
23:14 dalek r26918 | pmichaud++ | trunk:
23:14 dalek : [pge]:
23:14 dalek : * Fix makefile so that pge is built after pct (since PGE now
23:14 dalek :   relies on PCT::HLLCompiler as of r26910).
23:14 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26918
23:14 jonathan Oh, that's sick.
23:14 jonathan Nice. :-)
23:15 jonathan Thanks, will check that out. NOt tonight though.
23:15 Coke <shrug> It's evil, pure and simple, from the 8th dimension. But that was the answer we got when we asked that question months ago. =-)
23:15 jonathan If it works, I'll take it.
23:16 jonathan pmichaud: Do you have a kind of "feature roadmap" with a rough ordering of things you'd like to see in Rakudo?
23:17 jonathan I'm happy to just pick at random stuff as how to implement it makes sense to me, but if you have more of a roadmap/wish list I'm happy to try and work to that.
23:17 dalek r26919 | pmichaud++ | trunk:
23:17 dalek : [pct]:
23:17 dalek : * Add capability for blocks to set default 'scope' values for
23:17 dalek :   symbols, removing the need for every PAST::Var node to have
23:17 dalek :   a :scope attribute.  Now only those that differ from the default
23:17 dalek :   need it.
23:17 pmichaud jonathan: obra has asked for one and we're working on it
23:17 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=26919
23:17 Limbic_Region . o O ( pass more tests from spectest :-)
23:17 pmichaud obra was going to send a draft of the one that audreyt++ used for pugs, but it hasn't arrived yet so I may just build it myself
23:17 pmichaud maybe I can do it as a journal post tonight or tomorrow
23:18 pmichaud afk for a bit, yard work
23:18 jonathan afk for a bit too, sleep
23:19 jonathan look forward to seeing it, glad it's on the cards :-)
23:19 jonathan night all
23:19 * Coke ponders a "makedepend" step. :|
23:22 * Coke stops that.
23:24 kid51 Here's a logistics question:  Suppose that I go to the GUI interface to our RT system and see that someone (in this case, Infinoid) has attached a patch to a post.  http://rt.perl.org/rt3/Ticket/Attach​ment/384504/174160/rt52710.diff.txt
23:24 Coke Yes?
23:24 kid51 Is there any way that I can paste that as an argument to some command-line utility and have it download to my box *in the .txt format*?
23:24 Coke like... wget? curl?
23:25 kid51 Since wgte [thelink] downloads as html.
23:25 Coke If you referred to the public version, probably.
23:25 Coke you're probably getting the login screen?
23:26 kid51 Correct, it does look like the login.
23:26 kid51 My objective is to save it to my Linux server -- which is all CLI, no GUI -- so that I can get to work on it quickly.
23:26 Coke your best bet is probably to install the rt cli.
23:26 kid51 i.e., without downloading it to my laptop, then uploading it to the server.
23:27 kid51 purl rt cli?
23:27 purl kid51: i haven't a clue
23:27 Coke RT?
23:27 purl i guess RT is just RT (http://bestpractical.com/rt) or (:rt3) or (: rt bugs) or Obra's trouble ticketing system or the first IBM RISC workstation (http://www.contrib.andrew.c​mu.edu/~shadow/ibmrt.html) or the bombsquad or the Right Thing or very very capable and open-source or an application framework that bundles a ticketing system or obra's baby or SOOOO slow :-S or email mailto:perlbug-owner@perl.org for access
23:27 Coke hurm.
23:27 Coke moment.
23:27 Coke rtcli?
23:27 kid51 purl rtcli?
23:27 purl kid51: i don't know
23:27 Coke rtcli is RT CLI
23:27 Coke RT CLI is http://www.perlfoundation.org/parrot/inde​x.cgi?how_to_use_rt_from_the_command_line
23:27 shorten Coke's url is at http://xrl.us/bi82y
23:27 * kid51 looks at Coke's link.
23:28 Coke that gives you the ability to do searches from the commandline, update status from the command line, add comments, see attachments...
23:28 Coke the docs are a little sketchy, but it's come in handy for me on many occasions.
23:29 Coke this will also allow you to create tickets from the command line, even. (something only bugadmins can do.)
23:30 Coke hope this helps.
23:30 purl Hope this hurts, KLB motherfucker.
23:31 Coke mmhehe
23:33 wknight8111 purl's been drinking again
23:34 wknight8111 i dont even know what KLB means :)
23:34 Coke klb?
23:34 purl well, klb is a Known Lazy Bastard (or Bitch), that is someone who'd rather waste someone else's time than look it up for themselves. or someone whose momma didn't tell them 'Look it up in a dictionary, ya punk' often enough. or those flashing missiles that would chase you in corncob fields or #perl helps those who help themselves or Kawartha Lakes Brewery or Korean Library Book or Kangaroo Leg Barbecue
23:34 wknight8111 stupid kangaroo leg barbeque
23:36 kid51 Coke:  Don't see where in RT site to set my preferences, establish API password.
23:37 kid51 That's different from my Bitcard login and password?
23:37 kid51 Oh, I've got it:  http://rt.perl.org/rt3/User/Prefs.html
23:38 kid51 purl:  "RT preferences" is http://rt.perl.org/rt3/User/Prefs.html
23:38 purl OK, kid51.
23:38 kid51 purl RT preferences?
23:38 purl kid51: no idea
23:38 Coke "rt preferences"
23:38 purl "rt preferences" is, like, http://rt.perl.org/rt3/User/Prefs.html
23:38 Coke forget "rt preferences"
23:38 purl Coke: I forgot "rt preferences"
23:38 kid51 purl:  "RT preferences" is http://rt.perl.org/rt3/User/Prefs.html
23:38 purl OK, kid51.
23:38 Coke gah.
23:38 Coke don't use the quotes.
23:39 kid51 purl:  RT preferences is http://rt.perl.org/rt3/User/Prefs.html
23:39 purl OK, kid51.
23:39 Coke danke. =-)
23:39 kid51 purl RT preferences?
23:39 purl well, RT preferences is http://rt.perl.org/rt3/User/Prefs.html
23:39 wknight8111 RT preferences?
23:39 purl i guess RT preferences is http://rt.perl.org/rt3/User/Prefs.html
23:39 Coke owe me a coke?
23:39 wknight8111 pepsi ok?
23:39 tetragon joined #parrot
23:42 tetragon kid51: Last night you found t/dynpmc/gdbmhash.t would hang after test 3 on Darwin.  That is not the case on my Darwin system (with a last night checkout)
23:44 kid51 tetragon:  That's one of the things I hope to check out tonight.  But I have to have dinner first.
23:45 Coke wknight8111: ... hahahahahah NO!
23:45 kid51 I got a couple of other bugs to deal with before I get to that one.
23:46 tetragon You logged out right before my build finished
23:51 wknight8111 :(
23:53 * kid51 update's Coke's wiki page about RT
23:53 * kid51 starts making dinner &
23:57 Coke kid51: the syntax to get that attachment, btw, is:
23:57 Coke rt show ticket/52710/attachments/174160
23:58 Coke and leaving off the id at the end gives us an almost usable listing.

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

Parrot | source cross referenced