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