|
Parrot 0.6.2 "Reverse Sublimation" Released | parrotcode.org/ | 20/672 new/open tix Set by moderator on 21 May 2008. |
|||
|
00:08
tetragon_ joined
|
|||
| bacek_ | hi there | 00:38 | |
| purl | hey, bacek_. | ||
| bacek_ | purl: want cookie? | 00:39 | |
| purl | bacek_: bugger all, i dunno | ||
| jonathan | OK, sleep time | 00:47 | |
| night all | |||
| bacek_ | jonathan: g'day :) | 00:50 | |
| dalek | r27734 | jkeenan++ | trunk: | 00:58 | |
| : Applying patch submitted in RT 54610 by Ifejinelo Onyiah eliminating 2 lines | |||
| : with trailing whitespace. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=27734 | |||
| r27735 | chromatic++ | trunk: | 01:15 | ||
| : [Rakudo] Fixed POD formatting in Range class. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=27735 | 01:16 | ||
| r27736 | chromatic++ | trunk: | 01:26 | ||
| : [src] Fixed C++ compilation (NotFound, RT #54602). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=27736 | |||
|
01:34
tetragon left,
tetragon joined
|
|||
| dalek | r27737 | chromatic++ | trunk: | 01:34 | |
| : [Rakudo] Fixed a typo in r27708 (Moritz Lenz). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=27737 | |||
|
01:37
paco joined
|
|||
| pmichaud prepares to merge rakoo into trunk. | 01:39 | ||
| Tene | yay! | 01:43 | |
| Tene prepares to read a diff. | |||
| dalek | r27738 | chromatic++ | trunk: | ||
| : [config] Fixed interpflags.pasm generation to handle ORd values (Chris Dolan, | |||
| : RT #53548) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=27738 | |||
|
01:49
Zaba joined
|
|||
| pmichaud | well, it may take a big. Lots to merge. | 01:50 | |
| s/big/bit/ | |||
| quite a few conflicts :-| | 01:52 | ||
| ah, finally, time for 'make test' | 02:22 | ||
| bacek_ | pmichaud: BTW, rt.perl.org/rt3/Ticket/Display.html...txn-409832 | 02:32 | |
| shorten | bacek_'s url is at xrl.us/bkuq4 | ||
| bacek_ | there is comment about PMC methods inheritance... | ||
| kid51 must sleep | 02:36 | ||
| purl | $kid51->sleep(8 * 3600); | ||
| pmichaud | r27739. hope it works. :-) | 02:37 | |
| need dinner. | |||
| dalek | r27739 | pmichaud++ | trunk: | ||
| : [rakudo]: | |||
| : * Merge rakoo branch back into trunk. | |||
| : * Also updates object.pmc to make 'clone' work properly. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=27739 | |||
| Tene | pmichaud++ | 02:46 | |
| jonathan++ | |||
|
02:47
jjore joined
03:26
tetragon joined
03:57
Zaba joined
04:14
confound joined
04:19
cotto_home joined
05:35
Zaba joined
05:47
bacek_ joined
05:55
Zaba_ joined
06:07
uniejo joined
06:52
AndyA joined
07:53
iblechbot joined
08:14
masak joined
08:27
ruoso joined
|
|||
| moritz | pmichaud++, jonathan++ # no failures in 'make spectest_regression' after rakoo merge | 09:00 | |
|
09:09
donaldh joined
09:11
barney joined
09:27
wknight8111 joined
09:28
Zaba joined
|
|||
| jonathan | moritz++ # giving us spectest_regression | 09:31 | |
|
09:32
ejs joined
09:42
ejs joined
|
|||
| barney | Looks like Plumhead is broken, PCT changes??? doing binary search | 09:54 | |
| jonathan airport | 10:08 | ||
|
10:28
wknight8111 joined
10:34
davidfetter joined
|
|||
| dalek | r27740 | allison++ | pdd25cx: | 11:01 | |
| : [pdd25cx] Bringing the pdd25cx branch up-to-date with trunk r27739. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=27740 | |||
| r27741 | bernhard++ | trunk: | 11:08 | ||
| : [Plumhead PCT] | |||
| : '<?' is no longer supported for non-capturing subrules, switching to '<.' | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=27741 | |||
| barney was late in doing homework, that is reading DEPRECATED.pod | 11:10 | ||
| bacek | anyone alive? I have question about "dark magick" of "infix:=" in rakudo. How it actually should work? | 11:17 | |
| dalek | r27742 | bernhard++ | trunk: | ||
| : [Plumhead] | |||
| : Set up the superglobals $_GET and $_POST for all three variants. | |||
| : PHC: Keep the sigil $ in the variable name. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=27742 | |||
| cognominal | jonathan++ | 11:29 | |
| pmichaud++ | |||
| dalek | r27743 | bernhard++ | trunk: | 11:47 | |
| : #31633: [TODO] Allow Languages to be self contained | |||
| : Move more cleaning up of languages Makefiles to | |||
| : from the root Makefile to languages/Makefile | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=27743 | |||
| r27744 | bernhard++ | trunk: | 11:49 | ||
| : [Config] | |||
| : Generate languages/lazy-k/Makefile | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=27744 | |||
| pmichaud | pong | 11:50 | |
| 11:17 <bacek> anyone alive? I have question about "dark magick" of "infix:=" in rakudo. How it actually should work? | 11:51 | ||
| what did you want to know? | |||
| bacek | pmichaud, "dark magick" how Mapping should be created from List | 12:01 | |
| bacek tries to forget 'Hash'.... | 12:03 | ||
| pmichaud | here's my current guess: | 12:04 | |
| (1) infix:= will generate an assign opcode | |||
| bacek | pmichaud, few days ago you pointed to 'hash' function in RT. And I'm very interesting in how this function should be invoked | ||
| pmichaud | (2) the assign opcode for Hash containers will call the hash() function on its right operand prior to doing the assignment | 12:05 | |
| bacek | pmichaud, why not create few :multi(List,_), :multi(Mapping,_), etc? | 12:06 | |
| pmichaud | you mean for infix:= ? | 12:07 | |
| bacek | pmichaud, yes | ||
| pmichaud | well, because I really think that for hll interop that I'd prefer it to be in the assign opcode | ||
| also, note that it depends on the type of the container, so it would be :multi(Array,_) :multi(Hash,_) etc. | 12:08 | ||
| bacek | next question: how opcodes handled in PGE? E.g. 'copy' is actually syntax sugar for method morph. | 12:09 | |
| Or I totally wrong in my assumptions? | |||
| pmichaud | PGE? or PCT? | 12:10 | |
| bacek | PCT | ||
| pmichaud | (PGE does regexes, PCT is the PIR code generator) | ||
| 'copy' does more than morph | |||
| cognominal | the parrot alphabet soup is copious :) | ||
| pmichaud | and it exists from when we didn't have a 'copy' opcode | ||
| most opcodes are handled by creating a PAST::Op node with a :pirop('whatever') attribute | 12:11 | ||
| bacek | pmichaud, hmm... So I'm totally wrong... | ||
| pmichaud | 'copy' replaces a destination PMC with a new value (matching type of the source). It uses morph to do that, yes. | 12:12 | |
| bacek | pmichaud, I still don't understand... | 12:13 | |
| currently we generates 'copy' opcode. | 12:14 | ||
| It handled in parrot and should invoke morph. | |||
| If we will generates 'assign' pirop how we will handle it in rakudo | 12:15 | ||
| ? | |||
| pmichaud | rakudo will generate an assign op instead of copy | ||
| 'copy' just exists to work around the problems with assign | |||
| but since we'll be able to fix assign for container types, we can use assign | 12:16 | ||
| (and that probably makes more sense anyway) | |||
|
12:18
efunneko joined
|
|||
| efunneko | I just updated parrot from SVN and it fails make now - expected? | 12:19 | |
| bacek | pmichaud, sorry... I still don't understand how we can provide implementation of 'assign'... | ||
| efunneko | make: *** No rule to make target `src/pmc/super.pmc', needed by `src/pmc/super.dump'. Stop. | ||
| bacek | efunneko, make realclean; perl Configure.pl | ||
| efunneko | bacek: Thanks | 12:20 | |
| pmichaud | bacek: let's consider a statement like %x = ('a', 1, 'b', 2) | ||
| %x is a Hash, the rhs is a List | 12:21 | ||
| when we say "%x is a Hash', what we're really saying is that it's a variable with a "Hash" property set | |||
| (just a sec, making breakfast for kids) | 12:22 | ||
| moritz | %x just means "%x does Associative" | ||
| which means in a perfect world that assignment would call ('a', 1, 'b', 2).Positional | 12:23 | ||
| or it would walk a list of types that can be assigned to %x | 12:24 | ||
| like Hash and Assocciative | |||
| bacek | Oh my poor brain... It's explosing... | ||
| :) | |||
| moritz | (uhm, s/Positional/Associate/ in my second line) | ||
| pmichaud | right, what moritz says :-) | 12:25 | |
| moritz | bacek: if a class holds a Foo method it can be automatically used for a coercion to type Foo | ||
| dalek | r27745 | bernhard++ | trunk: | 12:26 | |
| : #31633: [TODO] Allow Languages to be self contained | |||
| : Move remaining cleanup of languages makefiles | |||
| : from root Makefile to languages/Makefile | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=27745 | |||
| bacek | moritz, o... So, if I'll add 'List' method to Mapping it will be magi^W automatically used for coercion? | 12:27 | |
| moritz, no. swap List and Mapping :) | |||
| moritz | bacek: I don't know if that's implemented yet, but that's the plan on Perl 6 language level | ||
| pmichaud | okay, back | 12:28 | |
| bacek | pmichaud, ok :) | 12:29 | |
| pmichaud | since %x has a "Hash" property on it, the assign opcode for Hash will coerce the right-hand operand into something that does the associative role | ||
| er, Associative | |||
|
12:30
slightlyoff joined
|
|||
| moritz | what if an assignment would need to coerce from A to C | 12:30 | |
| pmichaud | as in? | 12:31 | |
| purl | rumour has it as in is he eating shrooms before the calls | ||
| moritz | and A has a method B, and B has a method C | ||
| does it do the coercion over B? | |||
|
12:31
slightlyoff left
|
|||
| moritz | or does it simply fail? | 12:31 | |
| pmichaud | I don't know how Perl 6 specs that yet | ||
| moritz | purl, forget as in | ||
| purl | moritz: I forgot as in | ||
| bacek just want working version of %h = (a=>1, b=>2)... | 12:32 | ||
| pmichaud | bacek: well, I should soon have %h = { a=>1, b=>2 } working | ||
| moritz | bacek: sometimes things aren't as simple as they seem ;) | ||
| I guess (a => 1, b => 2) is a list of two Pairs, not four scalars? | 12:33 | ||
| pmichaud | moritz: correct. | ||
| moritz | so the list has to check if all items are pairs | ||
| pmichaud | ??? | 12:34 | |
| moritz | is an assignment like my %h = (1, 2) allowed? | ||
| cognominal | I think something like ( a p5=> 1, b p5=> 2 ) is supposed to be four scalars | ||
| pmichaud | moritz: I believe that's allowed, yes | ||
| moritz | pmichaud: then these two cases have to be distinguished | ||
| pmichaud | it means %h = { 1 => 2 }; | ||
| pmichaud re-checks S02. | 12:35 | ||
| moritz | I mean in List.Associative | ||
| pmichaud | that's why I don't think of it as List.Associative but rather as hash(...) | ||
| although List.Associative could simply call hash(...) on itself. | 12:36 | ||
| moritz | but that would stop my Blurb %h = (1, 2); from working when Blurb does Associative but not isa Hash? | ||
| or is that one of the things you don't worry about yet? | |||
| pmichaud | mostly don't worry about it yet | ||
| moritz | ok | ||
| pmichaud | From S02: There is no such thing as a hash list context. Assignment to a hash produces an ordinary list context. You may assign alternating keys and values just as in Perl 5. You may also assign lists of Pair objects, in which case each pair provides a key and a value. You may, in fact, mix the two forms, as long as the pairs come when a key is expected. If you wish to supply a Pair as a key, you must compose an outer Pair in which the key is the inner | 12:39 | |
| moritz | ah, that makes sense | 12:40 | |
| pmichaud | so basically a hash composer iterates a list, if an element is a Pair, then it uses that for the key+value, if it's not a Pair, then the element is the key and the next element is the value | ||
| my %h = ('a', 1, b => 2, 'c', 3, :d(4) ); | 12:41 | ||
| bacek | pmichaud, and this is looks like behaviour of 'hash' function | ||
| pmichaud | bacek: right. | ||
| dalek | r27746 | bernhard++ | trunk: | 12:42 | |
| : Layout and alphabetic ordering in | |||
| : languages/Makefile. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=27746 | |||
| bacek | (On the side note: can anyone review my patch from rt.perl.org/rt3/Ticket/Display.html?id=54642) | ||
| it is 'map' impl. Not lazy at the moment. | 12:43 | ||
| pmichaud | bacek: fwiw, patches for rakudo should probably go to rakudobug@perl.org instead of parrotbug@perl.org :-) | ||
| (not a big deal -- I can switch the queue.) | |||
| bacek | pmichaud, ok | 12:45 | |
| pmichaud | it would probably be better to use an iterator on the list than to count elements | 12:46 | |
| bacek still tries to remember many acronyms. | |||
| pmichaud | probably don't need (or want) + mapres = 'list'(mapres) | 12:47 | |
| (I could be wrong about that.) | 12:49 | ||
| bacek | pmichaud, what about { $_, $_*2}? According to S29 we should flatten result | 12:50 | |
| unless we have @@ context | |||
| pmichaud | if S29 says we flatten result, then yes | ||
| pmichaud checks S29 | 12:51 | ||
| bacek | The actual return value is a multislice containing one slice per map iteration. In most contexts these slices are flattened into a single list. | ||
| pmichaud | I think that means it's up to the outer context to do the flattening | 12:52 | |
| bacek | hmm... I understand all words. But probably don't understand phrase | ||
| pmichaud | I don't think 'map' does it. | ||
| bacek | pmichaud, ok. It will made life easier. | ||
| pmichaud | of course, we don't implement slices (or multislices) yet | ||
| bacek | pmichaud, let's think about bright future :) | 12:53 | |
| pmichaud | from S09: | 12:54 | |
| Conjecture: since @@x and @x are really the same object, any array can | |||
| keep track of its dimensionality, and it only matters how you use it | |||
| in contexts that care about the dimensionality: | |||
| bacek | ho! So I remove flattering from map. | ||
| pmichaud | right. | 12:55 | |
| pmichaud likes that word "flattering" to mean "make flat" | |||
| bacek | pmichaud, and it should be iter = new 'Iterator', self, ... | 12:56 | |
| English is my third language :) | |||
| After Russian and C++ :) | |||
| Tene | And where's perl in the list? | 12:57 | |
|
12:57
gryphon joined
|
|||
| pmichaud | bacek: (iter) yes. | 12:58 | |
| bacek | Tene, perl is little bit hard to pronounce. | ||
| pmichaud | try Lingua::Perligata | ||
| bacek | And it is little bit more complex to understand fully | ||
| Tene | Than C++? | 12:59 | |
| bacek | pmichaud, it is Perl::Lingua::Perligata :) | ||
| pmichaud | I stand corrected. | ||
| bacek | Tene, yes (we talking about perl6 :) | ||
| Tene | Heh. | 13:00 | |
| moritz | I found C++ quite hard to grasp, for example dealing with special casing templates and stuff | ||
| bacek | pmichaud, shame on me... | ||
| moritz, yes. C++ is very hard language to understand and use. | 13:01 | ||
| pmichaud | okay, kids are off to school | 13:02 | |
| bacek | pmichaud, my already sleep :) | 13:03 | |
| pmichaud | afk for a bit | ||
| bacek | BTW, can I use 'nopaste' bot? And how? | ||
| DietCoke | chromatic++ # applying the patch I slept through! | 13:04 | |
| nopaste? | |||
| purl | i heard nopaste was 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 | ||
| DietCoke | go to the first url. Pick parrot from the dropdown. done. | ||
| Tene | or use tools/dev/nopaste.pl | 13:05 | |
| DietCoke | I had to drop 2 of mine at school on the way in this morning. | ||
| bacek | 'nopaste' is gone... | 13:06 | |
| pastebin.org/37746 | |||
| This is 'map' after pmichaud comments | |||
| Debolaz, magick :) | 13:07 | ||
| moritz | bacek: you still have 'map' in the TODO list | ||
| nopaste | "bacek" at 202.7.166.163 pasted "Reworked 'map'" (67 lines) at nopaste.snit.ch/13045 | 13:08 | |
| Debolaz | bacek, tab completion :) | ||
| bacek | moritz, yes. This patch is not commited :) | ||
| Debolaz, oops. | |||
| dalek | r27747 | bernhard++ | trunk: | 13:09 | |
| : Remove trailing whitespace | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=27747 | |||
|
13:11
uniejo joined
|
|||
| bacek | purl, good bot :) | 13:14 | |
| purl | thanks bacek :) | ||
| bacek | purl, S29? | 13:15 | |
| purl | rumour has it S29 is svn.pugscode.org/pugs/docs/Perl6/Sp...ctions.pod | ||
| DietCoke | nopaste? | ||
| purl | nopaste is 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 | ||
| bacek | purl, PDD19? | 13:16 | |
| purl | bugger all, i dunno, bacek | ||
| bacek | purl, bad bot... | ||
| purl | :( | ||
| DietCoke | It would be helpful if patches to add featurs also removed them from the TODO list. (not required, just helpful) | ||
|
13:16
ambs joined
|
|||
| bacek | DietCoke, as you wish :) | 13:17 | |
| DietCoke | pdd19 is svn.perl.org/parrot/trunk/docs/pdd...19_pir.pod | ||
| shorten | DietCoke's url is at xrl.us/bkvda | ||
| Tene | DietCoke: give me a feature to add and I'll make sure to remove it from TODO. | ||
| bacek | DietCoke, I'm just not 100% sure about patch quality... | 13:18 | |
| DietCoke | basically, anything that makes it easier to get the patch applied. same thing if you're deleting a deprecation, remove it from DEPRECATED.pod, etc. | ||
| Tene, you need something to do ? =-) | |||
| bacek | DietCoke, I know where is pdds. Maybe teach purl about it? | 13:19 | |
| DietCoke | I just did. | ||
| pdd19? | |||
| purl | pdd19 is svn.perl.org/parrot/trunk/docs/pdd...19_pir.pod | ||
| bacek | purl, PDD19? | ||
| purl | hmmm... PDD19 is svn.perl.org/parrot/trunk/docs/pdd...19_pir.pod | ||
| DietCoke | you feed the bot with "foo is bar" statements. | ||
| bacek | DietCoke, ok. It is 'publicly' available? | 13:20 | |
| Tene | except it doesn't work when you address the bot. | 13:22 | |
| pmichaud | bacek: so, which patch should I review/apply? | 13:27 | |
| Tene | DietCoke: yes, I'm having trouble deciding what to work on. | 13:29 | |
| pmichaud | me too. :-) | ||
| bacek | pmichaud, rt.perl.org/rt3/Ticket/Display.html...txn-410602 | 13:31 | |
| shorten | bacek's url is at xrl.us/bkvdp | ||
| bacek | pmichaud, I just attached version with iter to initial ticket | ||
| pmichaud | bacek: got it, looking now. | 13:33 | |
| (will take a couple of minutes because I also need to rebuild parrot) | |||
| do we have any tests for 'map'? | 13:34 | ||
| Tene | spectests | ||
| So, what's the policy on the pile of different ways to call each function in the spectests? | 13:35 | ||
| dalek | r27748 | pmichaud++ | rakoo: | ||
| : Remove rakoo branch (merged back into trunk). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=27748 | |||
| bacek | pmichaud, s/spectest/S29-list/map.t just doesn't compile.. | ||
| DietCoke | tene: if you're bored, the typeids branch needs to be sync'd with trunk. =-) | ||
| bacek | They require protoregexes support. | ||
| pmichaud | we may need to add some skip markers | ||
| Tene | Should the 'map' and 'grep' and 'sort' et al tests all also be testing invocant syntax, for example? | ||
| DietCoke | (I had one small issue with the merge that would have taken more than 5m for me to figure out.) | ||
| pmichaud | Tene: good question. I don't have an obvious answer. | 13:36 | |
| I think we need to test that all of the invocant syntaxes work, but I don't think we need to test every case in every syntax | |||
| moritz | I'd like to have two files, one mainly checking syntax, one mainly checking semantics | ||
| pmichaud | I think perhaps one file with two sections | 13:37 | |
| i.e., check the various syntaxes at the top, then check semantics below | |||
| this also helps because any 'skips' would tend to congregate near the top | |||
| moritz doesn't trust fudging enough for that | 13:38 | ||
|
13:38
vany joined
|
|||
| moritz | some of the unicode test doen't even compile when fudged | 13:38 | |
| pmichaud | then we need to fix fudge :-) | ||
| moritz | because of illegal characters in comments that PCT can't seem to handle at the moment | ||
| pmichaud | noting, of course, that rakudo requires the --encoding=utf8 option to be able to read unicode source. | ||
| moritz | so should we stuff that into harness? | 13:39 | |
| pmichaud | (unicode in rakudo is RT#54448) | 13:40 | |
| (stuff into harness) I don't know yet. | |||
| we could certainly have the harness supply --encoding=utf8, but that would slow down testing. | |||
| For spectests I don't know if slow testing is too much of an issue yet. | |||
| DietCoke | bacek: looks like one of your perl6 patches ended up in the parrot queue. | ||
| (moving it over.) | |||
| moritz | pmichaud: I know that unicode is a pending issue, I just wanted to express my mistrust against fudge ;) | 13:41 | |
| pmichaud | moritz: ;-) | ||
| bacek | DietCoke, yeah... pmichaud already told me correct mail address for rakudo's patches... | ||
| pmichaud | so far I like fudge a whole lot | ||
| moritz | which is all in all a very cool tool, but in my experience it's hard to work with | ||
| pmichaud | really? I've found it to be incredibly easy. | 13:42 | |
| what do you find difficult about it? | |||
| moritz | probably just missing practise or bad luck (like the unicode stuff) | ||
| somehow I just didn't get those damn tests to pass | 13:43 | ||
| but perhaps I wasn't rigorous enough with fudging | |||
| part of it might be the inter-dependencies of the various test | 13:44 | ||
|
13:44
iblechbot joined
|
|||
| bacek discovered very strange bug in parrot... | 13:45 | ||
| nopaste | "bacek" at 202.7.166.163 pasted "map tests and bug" (16 lines) at nopaste.snit.ch/13046 | 13:46 | |
|
13:47
cognominal joined
|
|||
| bacek | If comment out 'my @result=...' and uncomment it inside block I got | 13:48 | |
| too few arguments passed (0) - 1 params expected | |||
|
13:49
ambs joined
|
|||
| Tene | That's... interesting. | 13:49 | |
| dalek | r27749 | bernhard++ | trunk: | ||
| : [config] | |||
| : Add the pugs targets in languages/makefile | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=27749 | |||
| DietCoke | bacek: where does a trace -4 show you that's happening? | 13:50 | |
| ./parrot -t 4 perl6.pbc foo.pl | |||
|
13:52
rdice joined
|
|||
| nopaste | "bacek" at 202.7.166.163 pasted "map trace" (141 lines) at nopaste.snit.ch/13047 | 13:54 | |
| "pmichaud" at 76.183.97.54 pasted "rakudo has trouble parsing this" (43 lines) at nopaste.snit.ch/13048 | |||
| pmichaud | rakudo is giving me a parse error there -- anyone see anything obvious that I'm overlooking? | 13:55 | |
| for some reason rakudo wants a semicolon at the end of the first block | 13:56 | ||
| and it appears to have something to do with the =pod | |||
| because commenting out or removing the =begin pod...=end pod section causes it to parse properly | |||
| moritz | could anybody please give me an author account for rakudo.org? I'd like to blog about "make spectest_regression" ;-) | 13:57 | |
| bacek | sorry guys... I have to go to bed... It's midnight here and I have $otherjob on tomorrow | ||
| moritz | good night bacek ;) | ||
| bacek | moritz, see ya | 13:58 | |
| pmichaud | moritz: Andy is the person... but I was going to mention spectest_regression in my journal post this morning | ||
| however, it might be better if you do it :-) | |||
| moritz | pmichaud: I don't mind either way - what would you prefer? | 13:59 | |
| Andy? | |||
| purl | i guess Andy is the man with the feathered broom or mailto:andy@petdance.com or AIM:petdance or OK cat-xeger is BACK or trying to get Sun Studio 12 installed so I can lint lint lint. | ||
| Andy | Yes? | ||
| moritz | Andy: could you give me an author's account for rakudo.org? | ||
| Andy | you have something to post? | 14:00 | |
| moritz | Andy: presumably, unless pmichaud does it | ||
| Andy | what is your account that you have there already? I'm assuming you've posted replies on rakudo or perlbuzz | ||
| Unless pmichaud does what? | |||
| moritz | Andy: post about 'make spectest_regression' | ||
| Andy | If it's a one-time deal, let him do it. | ||
| moritz | ok | 14:01 | |
| Andy | If you're gonna post regularly, I'll go dig into permissions. | ||
| pmichaud | moritz: going to be blogging regularly, I hope? | ||
| moritz | pmichaud: don't know yet | ||
| pmichaud | okay, I'll do it for this time if you're not sure. What did you want to say about it? I was just going to point out that it is incredibly useful and neat | 14:02 | |
| if you want to write up some text then I'll post that text | |||
| that would be a big help | |||
| moritz | ok | ||
| pmichaud | "guest post" :-) | ||
| moritz | What markup can/should I use? HTML? | ||
| pmichaud | anything is fine -- I'll clean it up. | 14:03 | |
| I tend to stick with straight text. | |||
| moritz | ok | ||
| pmichaud | bacek: rakudo doesn't seem to recognize { $_ * 2 } as being a closure that takes a parameter | 14:04 | |
| cognominal | pmichaud, are you speaking of parrotblog? | ||
| pmichaud | cognominal: for this one I'm speaking more of use.perl and rakudo.org | ||
| since it's rakudo-specific | 14:05 | ||
| cognominal | ho, I forgot this one. I read direcly parrotsketch from my irc log, thx for reminding me | 14:06 | |
| and jonathan on useperl, I think | |||
| pmichaud | bacek: and, in this case, it probably / possibly shouldn't take a parameter, since { $_ * 2 } doesn't imply one. | 14:09 | |
| oh wait, yes it does | |||
| pmichaud re-configures his mental model. | |||
| pmichaud re-checks S04. | |||
| particle | moritz: a welcome task, if you don't trust fudge, is writing tests for it | 14:10 | |
| pmichaud | we need to update rakudo to recognize $_ as a parameter in a bare closure. | ||
| Tene | pmichaud: it already does | 14:11 | |
|
14:11
tedkat joined
|
|||
| Tene | > my $f = { $_ * 2 }; say $f.arity | 14:11 | |
| moritz | particle: it's not the implementation I don't trust ;). But I'll keep it on my mental TODO list nonetheless | ||
| Tene | 1 | ||
| pmichaud | Tene: oh, you're right. | 14:12 | |
| hrm. | |||
| moritz | 'make testtest' seems to trigger parse failures in rakudo | 14:18 | |
| pmichaud | aha | 14:23 | |
| the problem is that the { $_ * 2 } isn't being turned into a closure with C<newclosure> | |||
| Tene | Can you show me an example of what the PAST should look like? | 14:24 | |
| pmichaud | I think the PAST is correct here -- I'm guessing PCT forgot a newclosure op | ||
| moritz | pmichaud: perlpunks.de/paste/show/483581fa.7f04.33d # blog post for rakudo.org | ||
| oh, I forgot to s{<c>}{<code>}g | 14:25 | ||
| pmichaud | no problem | ||
| looks great, thanks! | |||
| moritz | you're welcome | ||
| DietCoke wonders why "make -j" kills his OS X box, but "make -j 3" works fine. | 14:28 | ||
| is there a way to see how many simultaneous processes -j with no args will run? | 14:29 | ||
| Tene | DietCoke: 'make -j' will not limit the number of simultaneous processes. | ||
| so it will use as many as it can. | |||
| pmichaud | moritz: now published (www.rakudo.org/) | 14:33 | |
| but, now I have a question | 14:36 | ||
| the existing "make spectest" target only does a limited subset of tests in the spec/ repository as well | |||
| the idea being to only run those tests that are "useful" | |||
| so, aren't "make spectest" and "make spectest_regression" doing close to the same thing, only with different lists? | 14:37 | ||
| moritz | in fact they are | ||
| TimToady | the difference is what you think should work, and what you wish to work soon. :) | ||
| moritz | 'make spectest' has a list in config/makefiles/root.in | ||
| pmichaud | yes, I agree. I'm wondering if we could change --regression-only in the harness to instead take a file argument | 14:38 | |
| and then the list that is in 'make spectest' could just be a different file | |||
| moritz | while 'make spectest_regression' has a somewhat different list in t/passing_spec | ||
| pmichaud | instead of being in the Makefile | ||
| moritz | sounds sane | ||
| pmichaud | it's far easier to edit files in t/ than to update the Makefile | ||
| moritz | right | 14:39 | |
|
14:39
teknomunk joined
|
|||
| TimToady | well, there should be at least option for just running everything there... | 14:39 | |
| moritz | as our 3+ more commits showed (that fixed whitespaces in Makefile) | ||
| TimToady | and in my mind that's "spectest" | ||
| pmichaud | TimToady: that's fine too | ||
| so "make spectest" runs without any file-limiting option | |||
| "make spectest-regression" runs the known passing tests | |||
| moritz | do we even need the third target? | 14:40 | |
| pmichaud | "make spectest-candidates" runs the tests we'd like to have work | ||
| TimToady | spectest-workonme :) | ||
| pmichaud | ah | ||
| moritz | hehe ;) | ||
| pmichaud | spectest-todo | ||
| moritz | pmichaud: they are all "todo" ;) | 14:41 | |
| pmichaud | spectest-todosoon | ||
| TimToady | except the ones that are todone | ||
| pmichaud | spectest-next | ||
| moritz | pmichaud: is it OK to use Getopt::Long in t/harness? | ||
| pmichaud | it's okay by me, as long as we can expect everyone to have it (which I'm pretty sure we can) | 14:42 | |
|
14:42
Theory joined
|
|||
| moritz | pmichaud: if so I'd offer to refactor t/harness to include an option like '--whitelist-file' or '--filter-by-file' | 14:42 | |
| pmichaud | --tests-from-file, perhaps? | 14:43 | |
| but yes, a refactor is what I'd like | |||
| (and for it to be "not me" to do it :-) | |||
| NotFound | --test-list ? | ||
| For short. | |||
| moritz | NotFound: that option is only used in Makefile, so it doesn't have to be short ;) | ||
| pmichaud | I'm not too picky about the option name at this point :-) | 14:44 | |
| NotFound | moritz: It also does not need to be long ;) | ||
| particle prefers we drop the 'spec' in 'spectest' and just call it 'test' | 14:47 | ||
| pmichaud | I don't. | ||
| NotFound | spectest_regression is already in the main branch? | ||
| pmichaud | "make test" is my minimum standard for submitting changes to rakudo. | ||
| moritz | NotFound: yes | 14:48 | |
| particle | pmichaud: eventually, that'll be the same as spectest | ||
| pmichaud | yes, but that "eventually" is a long way from now. | ||
| especially if "make spectest" comes to mean "run all spectests" | |||
| in particular, I think that "make test" should continue to work even if someone doesn't have svn. | 14:49 | ||
| NotFound | pmichaud: agree. | ||
| pmichaud | I might entertain the notion of "make coretest", though. | 14:50 | |
| NotFound | make sometest ;) | ||
| pmichaud | and then "make test" will run coretests, as well as spectest-regression as long as svn and/or t/spec are available. | ||
| and "make coretest" runs the 00-parrot, 01-sanity, etc. tests | 14:51 | ||
| particle | i can dig it | ||
| NotFound | I hate gnu make, for dropping the nice message: "Don't know how to make love" | 14:52 | |
| pmichaud | I think gnu make was starting to have depression/performance issues from that :-) | ||
| particle | and we'll have spectest, spectest_regression, spectest_raw, spectest_fudge ; spectest points to one of those latter three | ||
| NotFound | "No rule to make target love" sucks. | 14:53 | |
| make spectest_regression pass in a C++ build. | |||
| Files=31, Tests=564 | 14:54 | ||
| pmichaud | also, I have a personal preference for hyphen over underscore, but that's just me | 14:55 | |
| i.e., "make spectest-fudge" as opposed to "make spectest_fudge" | |||
| NotFound | We can use camel case... is perl, after all ;) | ||
| particle | fine with me, one less left-pinky | ||
| pmichaud | underscores sometimes get lost in text. | 14:56 | |
| NotFound | By the way, will be nice to have a test about C++ reserverd words used as identifiers. | 14:57 | |
| pmichaud | NotFound: that's an excellent idea | 14:58 | |
| writing one could be a bit tricky. | |||
| NotFound | pmichaud: but not easy to implement, I think. | 14:59 | |
|
14:59
IllvilJa joined
|
|||
| particle | don't we have one? i thought we did | 14:59 | |
| NotFound | particle: If we have, it's not working well. | ||
| particle | check t/codingstd and t/distro | ||
| it's possible it's not enabled, due to many failures | 15:00 | ||
| NotFound | Well, this week we have one: me :D | ||
| particle | however, perhaps it's just an idea that's come up before, but hasn't been done | ||
| spectest_regression takes 144s on my unoptimized build | 15:07 | ||
| pmichaud | yes, I think/hope protoregexes in PGE will help that | 15:08 | |
| particle | is that next? | ||
| pmichaud | it's high on the list | ||
| particle needs dev tasks | |||
| pmichaud | right now I'm looking at getting { $_ * 2 } to properly invoke newclosure | ||
| DietCoke | particle: do they have to be rakudo tasks? | 15:09 | |
| pmichaud | I may need a :blocktype('closure') or :closure flag on PAST::Block | ||
| DietCoke | (you have at least one ticket assigned to you waiting for your feedback on a patch.) | 15:10 | |
| particle | DietCoke: i already have a list of non-rakudo tasks... yep | ||
| DietCoke | (as of 2 days ago.) | ||
| pmichaud | many of the implementations in src/classes/*.pir could use a review | ||
| particle | DietCoke: currently, (and since last weekend) i get Failed 46/583 test programs. 209/11197 subtests failed. | 15:11 | |
| so something's funky with my env, modules, or parrot | |||
| pmichaud | for example, I think that the "increment" and "decrement" methods in Bool.pir should be named differently | ||
| particle | but rakudo tests work fine, so i suspect it's not parrot | ||
| pmichaud | it would be good to eliminate the calls to "get_hash" and "get_array" that still exist (e.g., in Tcl) | 15:12 | |
| particle | pmichaud: can we get 'writing classes/methods/builtins in perl 6' done before yapc? | ||
| pmichaud | yes. If you want to convert Digest::MD5 to be object-based that would be a big help. | ||
| in fact | 15:13 | ||
| particle | ok, we need tickets for this stuff. this is a good list. | ||
| pmichaud | oh, never mind. :-) | ||
| want me to submit some tickets? | |||
| particle | that'd be lovely | ||
| tickets++ | |||
| DietCoke | if tcl is the only place that uses it, go ahead and break tcl. | ||
| particle | i forgot about all those things already | ||
| tcl uses pct? | |||
| for eval, is that right? | 15:14 | ||
| expr, whatever | |||
| DietCoke | tcl is not explicitly using pct at all. | ||
| pmichaud | get_hash and get_array are in PGE | ||
| particle | ah | ||
| pmichaud | (er, "were") | ||
| for Match objects. | |||
| DietCoke | moritz: i can verify that your new rakudo target works on osx/x86 | 15:18 | |
| pmichaud | m4, pheme, and tcl all appear to still be using get_array | 15:20 | |
|
15:20
lichtkind joined
|
|||
| pmichaud | get_hash appears to be safe to remove. | 15:20 | |
| lichtkind | pmichaud: your nominated :) | 15:21 | |
| pmichaud | yes, I'll probably do get_hash a bit later. | ||
| moritz | DietCoke: thanks | ||
| pmichaud | right now I need lunch, though. Didn't have much dinner last night. | ||
| afk for a short while | |||
| particle | barney is working his way through DEPRECATED.pod | 15:22 | |
| i don't know if get_array made it in there, though | |||
| pmichaud | particle: tickets submitted -- I'll send more as I think of them. | ||
| particle | pmichaud++ | ||
| pmichaud | yes, get_array is in DEPRECATED.pod | ||
| particle | ok, then he should see it | ||
| hrmm: No such attribute '%!properties' | 15:30 | ||
| i wonder where that bug comes from... | |||
| that appears in the output of S29-str/length.t | 15:31 | ||
| moritz | plain scary - I just did an 'svn diff' and it found nothing, after changing the files for about half an hour... | 15:32 | |
| then I found out the shell I was using was on a remote machine ;) | 15:33 | ||
| NotFound | moritz: send yourself a patch ;) | 15:34 | |
| moritz | NotFound: no, I should just use the right shell ;) | ||
| perlpunks.de/paste/show/48359273.5597.2fc # refactor t/harness | |||
| this patch refactors t/harness as discussed, and makes 'spectest' test the whole thing | 15:35 | ||
| 'spectest-workonme' or whatever we'll call it isn't implemented becasue I don't know what test you want to work on ;) | |||
| NotFound | That happened to me one time, with a shell and a ftp, creating a file in one and not seeing in the oter. 40 minutes later, I noted they were not in the same machine. | 15:36 | |
| particle | c:\\usr\\local\\parrot\\release\\languages\\perl6>..\\..\\parrot perl6.pbc | ||
| my $x = undef; | |||
| No such attribute '%!properties' | |||
| NotFound | Nest thing I do was to put a big /etc/issue message in all machines :D | 15:37 | |
| moritz | my prompt actually includes the hostname in red, and still get confused ;) | ||
| NotFound | moritz: at work I have the hostname in the prompt... unfortunatelly we have a lot of machines called: samename.city | 15:38 | |
|
15:38
ejs_ joined
|
|||
| NotFound | And in the prompt all says: samename | 15:38 | |
|
15:39
davidfetter joined
|
|||
| moritz | d'oh, that's bad | 15:39 | |
| NotFound | I just check several times before doing shutdown at work time... and stil... X-) | 15:40 | |
| moritz | alias shutdown="echo don't do this!" ;-) | ||
| NotFound | Shutdown is nice...was worse one time I pressed the buttom "Power down blade" in the web interface of a different Blade Center X-) | 15:43 | |
| moritz | ;) | 15:44 | |
| NotFound | "System failure"... the system adminsitrator is a part of the system, after all. | ||
| Tene | alias shutdown='hostname; uptime; echo "are you sure?"' | 15:47 | |
| confound | echo "o rly?" | 15:48 | |
| NotFound | echo "I don't trust you"; exit | 15:49 | |
| moritz | ok, patch sent to p6i | 15:50 | |
| Tene | moritz: the thing that helped a co-worker of mine that had that problem was putting the hostname of each system in a different color | 15:55 | |
| Eevee | creating gnome-terminal profiles that start ssh to different machines and all have different backgrounds is helpful | 15:56 | |
| NotFound | If you have 200 systems, you need a painter eye. | ||
| Tene | "Wait, is this prompt lilac, or lavendar?" | 15:57 | |
| moritz | Tene: sounds like a good idea. So far it didn't cause any real trouble for me so I didn't find the motivation to find out how to do it ;) | ||
|
15:59
kj joined
|
|||
| Eevee | NotFound: well, that could be a problem yes | 15:59 | |
|
16:02
askie joined
16:15
davidfetter joined
|
|||
| pmichaud | moritz: on the spectest_regression Makefile target, what's the purpose of the final "t/spec" argument? | 16:18 | |
| oh, I see | 16:19 | ||
| moritz | pmichaud: the directory to recurse | ||
| pmichaud | the tests-from-file doesn't specify the leading t/spec | ||
| ...but if we do tests-from-file, do we recurse? | |||
| moritz | we recurse always now | ||
| pmichaud | okay. | ||
| so in tests-from-file I could say, e.g., "S12-class" and it would recurse into that directory? | 16:20 | ||
| i.e., into t/spec/S12-class/* ? | |||
| moritz | no | ||
| pmichaud | oh. | ||
| then I don't understand "recurse". | |||
| moritz | wait, I think I wasn't very clear | 16:21 | |
| any directories that are passed in @ARGV are recursed into | |||
| but file names in 'tests-from-file' need to be explicit, no wildcards here | 16:22 | ||
| NotFound | make ; make clean ; make | ||
| make: *** No rule to make target `src/call_list.txt', needed by `src/nci.c'. Stop. | |||
| pmichaud | is tests-from-file a list of tests to be run, or is it a filter to be applied to the directories given on the command line? | ||
| moritz | it's a filter | 16:23 | |
| which is kinda sub-optimal | |||
| pmichaud | no, that's not too bad. We could in theory treat it as glob patterns | ||
| moritz | I just never thought of it as anything else than a filter | ||
| pmichaud | having it as a filter so that we could specify a directory would be cool. :-) | 16:24 | |
| that's essentially what Parrot's t/harness does | |||
| with files from the command line | |||
| but this is great for now. | |||
| improving the filter can come later :-) | |||
| moritz | indeed | ||
| what I learned yesterday and today is that parrot hacking can be fun, even if I know next to nothing about PIR | 16:25 | ||
| pmichaud | indeed | ||
| you should blog about that, too :-) | |||
| or maybe I'll just include that quote in my post | 16:26 | ||
| NotFound | moritz: I have learned just the minimal pir needed to write tiny test programs. | ||
| pmichaud | moritz++ # patch applied in r27750, thanks! | 16:27 | |
| moritz | NotFound: I'm eagerly awaiting the time when we can write builtins in Perl 6 itself, because then I can help directly with the implemenation | ||
| dalek | r27750 | pmichaud++ | trunk: | 16:28 | |
| : [rakudo]: | |||
| : * Refactor t/harness a bit to provide a --tests-from-file option | |||
| pmichaud | we're working on that too | ||
| dalek | : * Refactor makefile to use --tests-from-file | ||
| : * Patch courtesy Moritz Lenz <moritz at casella.verplant.org> moritz++ | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=27750 | |||
| kj | hello everybody | ||
| purl | Hello Dr. Nick! | ||
| moritz | actually I'm wondering how useful a shared prelude/runtime could be (shared between the different implementations, that is) | ||
| Tene | kj! | ||
| moritz | one problem would be the need to use only the common subset of all supported syntaxes | 16:29 | |
| which would be kinda painful :/ | |||
| kj | hi tene. I saw you're a parrotblogger too now :-) | ||
| Tene | I guess. | ||
| pmichaud | ...parrotblog? | 16:31 | |
| did I miss an article? | |||
| particle | ooh, kj! hi there. | ||
| kj | hi particle :-) | 16:32 | |
| pmichaud: tene's a member of parrotblog contributors | |||
| particle | kj: some recent changes to pge/pct affect your tutorial | ||
| kj | no articles... yet ;-) | ||
| particle: yes, I think I mailed pmichaud about that; not sure if I did; let me check. | |||
| pmichaud | (mailed) yes | 16:33 | |
| I haven't had a chance to reply yet | |||
| kj | having a real job is bad for spare time... | ||
| pmichaud | I'm torn between writing email, writing journal posts, and writing code. | ||
| particle | pmichaud: do the first two | ||
| kj | pmichaud: no worries. answering my email should be low priority | ||
| particle | you did quite enough code yesterday to keep me busy reading :) | 16:34 | |
| pmichaud | particle: oh, and we should do our abc update soon, too :-) | ||
| particle | yes, should do that. | ||
| pmichaud | but I guess that maybe should wait for the pge / optable refactor | ||
| although that won't change much | |||
| particle | can it wait? | ||
| i mean, timeframe-wise | |||
| pmichaud | can what wait? | ||
| kj | what kind of abc update is that? (what's the purpose?) | ||
| particle | kj: first, modify mk_language_shell.pl to include an opp | 16:35 | |
| pmichaud | I want to update abc to match the other language tools, and also build a second tutorial using it as an example. | ||
| particle | second, and third, what pmichaud said | ||
| Tene | kj: I get >3 months of PTO at my real job. :) | ||
| kj | pmichaud: I also mailed you about that (the new tutorial) :-) | 16:36 | |
| pmichaud | kj: oh, that was the mail I received | ||
| was there another about the squaak tutorial? | |||
| kj | yeah I think; lemme check | ||
| pmichaud | yay, "use v6-alpha;" is officially gone from the synopses | 16:37 | |
| DietCoke smacks tene. | 16:38 | ||
| Tene | DietCoke: we're hiring. | ||
|
16:39
leo joined
|
|||
| moritz | masak++ # making TimToady deprecate v6-alpha | 16:39 | |
| or was that masak? too many people around to remeber... ;) | 16:40 | ||
| TimToady | well, considering that the commit message says who it was... | 16:45 | |
|
16:46
Theory joined
|
|||
| DietCoke | you and your crazy actually logging what you're doing... | 16:46 | |
| TimToady | commit messages are my blog :) | 16:47 | |
| kj | pmichaud: can't find the other email. Never mind that for now. If I find it I'll get back to you | 16:51 | |
| pmichaud | okay, great. | 16:52 | |
| particle considers a svn-commit-log-to-twitter interface | 16:53 | ||
| pmichaud considers slapping particle around the room. | |||
| kj | particle: you mentioned some changes to pge/pct that affected the squaak tutorial. | 16:54 | |
| any thing in particular? | |||
|
16:54
itz joined
|
|||
| particle | <?foo> and <.foo> | 16:57 | |
| kj: mind you, i haven't read the tutorial yet, so i'm not sure exactly what | 16:58 | ||
| kj | ok; I already used <. > instead of <? > I think | ||
| pmichaud | yes, I think that's correct | ||
| note that if something was already zero-length it doesn't matter which is used | |||
| particle | if the tutorial were in a file instead of on the net, i think i'd read it sooner | ||
| kj | not the shortcut for assigning matches to custom names | 16:59 | |
| pmichaud | i.e., <?before ...> and <.before ...> are effectively the same | ||
| kj | particle: I could convert to POD... | ||
| particle | can the tutorial be committed to the repo, so it can be kept up-to-date? | ||
| we can post it at parrotcode.org | |||
| pmichaud | same for <.panic: ...> and <?panic: ...> | ||
| kj | but I'd like to maintain only one... | ||
| (that's hard already) | |||
| particle | it'd be nice if multiple people could maintain only one | 17:00 | |
| kj | yeah. So shall I convert to pod and add it to docs/pct/tutorial/ ? | ||
| pmichaud | either there or put it in languages/squaak/docs | ||
| with reference to it in docs/ | |||
| kj | ok | 17:01 | |
|
17:01
grim_fandango joined
|
|||
| particle | kj++ | 17:01 | |
| kj | I'd like to update squaak anyway as soon as PCT has support for returning stuff | ||
| DietCoke | I suppose I should try converting tcl to pct and see what breaks. :| | 17:03 | |
| pmichaud | kj: that should be coming very soon now. | ||
| I have to think about allison's exception changes a bit, though. | |||
| kj | cotto mentioned that grokking NQP syntax was rather difficult (while reading the tutorial) | 17:05 | |
| I'm not really sure what to do about that; it's Perl 6 code after all. | |||
| Tene | kj: I'd try to get specific examples. | 17:09 | |
| if $foo { ... } | |||
| is pretty standard. | |||
| particle | crappity. segfault. | 17:10 | |
|
17:10
sjansen joined
|
|||
| kj | Tene: yeah, so that doesn't need any explanation. Stuff like $( $<hi> ) would.. but that's already explained inthe tutorial. | 17:11 | |
| cotto_work | would it be helpful if I came up with specific examples? | 17:13 | |
| pmichaud | cotto_work: very helpful. | ||
| cotto_work | I'll post something to the list by this evening, then | 17:14 | |
| pmichaud | excellent. | 17:15 | |
| kj | ooh. that sounds like a FAQ :-) | ||
| nopaste | "particle" at 24.19.3.148 pasted "tene: currently non-working lines in pugs' CGI.pm for rakudo" (76 lines) at nopaste.snit.ch/13049 | 17:24 | |
| kj | I put the tutorial on the blog in the public domain; would there be a problem if the pod-ified version would be stored in the parrot repos. ? | 17:25 | |
| moritz | if there is, you can simply place the copy in the repo under "the same terms as perl itself" | 17:27 | |
| Tene | particle++ | ||
| japhb | (backlogging) NotFound: Are you still having problems with call_list.txt? | ||
| NotFound | japhb: yeah. | ||
| japhb | And it wasn't generated by 'perl Configure.pl'? | ||
| NotFound | Apparently make clean delete it but make does not recreate. | 17:28 | |
| kj | moritz: should I remove the license section that each Episode has? | ||
| japhb | NotFound: 'make' doesn't recreate anything created by Configure.pl. It just may not delete all of it. | ||
| moritz | kj: don't know | ||
| NotFound | japhb: agree, but it does. | ||
| japhb | It's always best to run 'perl Configure.pl' after any variant of 'make clean' | ||
| NotFound: I'm confused. ENOREFERENT | 17:29 | ||
| NotFound | japhb: I misunderstand you. I mean, "make clean" is not usually expected to delete something that plain make can't crate. | 17:30 | |
| DietCoke | only 'make realclean' should do that. | ||
| japhb | DietCoke: OK ... then I'm not sure what needs to change. | 17:31 | |
| DietCoke | I'm not sure what's broken. What happened? | ||
| NotFound | make ; make clean; make --> fails. | ||
| DietCoke | ok, I can test that. =-) | ||
| japhb | NotFound: yes, I understand that. | ||
| NotFound: I meant, I'm not sure what to change to make that true, while still having 'realclean' actually delete it. | 17:32 | ||
| s/true/work/ | |||
| kj | time for dinner. good night | ||
| DietCoke | ok. doing a realclean, svn up, configure, make, make clean, and make, and will report shortly. | 17:33 | |
| make those make -j's, but... | 17:34 | ||
| japhb | Of build-related files, I see call_list.txt in MANIFEST.configure.generated, MANIFEST.generated, and config/gen/makefiles/root.in | ||
| mj41 | hi, newbie question, How to develop if trere isn't Apache2::Reload support? | 17:35 | |
| err, bad channel, sorry :-( | |||
| japhb | In root.in, it appears in the definition of GEN_SOURCES, which is part of FLUID_FILES_1, which ends up as (one of many) parts of the 'clean' target. So perhaps it should be moved to one of the other 'clean' targets. But which one? | 17:38 | |
| Hmmm, I'm thinking it may need to be moved from GEN_SOURCES to STICKY_FILES (the latter is removed by realclean) | |||
| DietCoke | I think whoever just updated our list of call signatures a few commits ago horked the deps. | 17:39 | |
| japhb | DietCoke: Can you try that? | ||
| DietCoke | as this all used to work. | 17:40 | |
| japhb | DietCoke: That would be me. | ||
| DietCoke | ah! | ||
| japhb | I did not know that for Parrot 'make clean' was not supposed to affect the stuff generated by 'perl Configure.pl' | ||
| And obviously, this is the sort of thing that 'make test' doesn't catch. :-) | 17:41 | ||
| Since I never use 'make clean', always 'make realclean', because of working on WAY too many projects with completely hopeless 'make clean' targets, I didn't notice anything amiss either. | |||
| NotFound | Talking about make oddities: how is supposed compilers/imcc/imclexer.c to be regenerated? | 17:42 | |
| DietCoke | perl Configure.pl --maintainer; make | ||
|
17:42
ambs joined
|
|||
| DietCoke | not everyone has lex. this is our compromise. | 17:42 | |
| ambs | dura lex sed lex | 17:43 | |
| NotFound | But ignoring changes in his sources is a suboptimal solution ;) | ||
| DietCoke | japhb: what revision removed call_list ? | 17:44 | |
| NotFound: better solutions will be considered. =-) | |||
| ah. 27371. | 17:45 | ||
| japhb | sorry, was AFK dealing with contractor that just arrived | ||
| DietCoke | ok. so it's not moved, it's just autogen'd now? | ||
| pmichaud | enopurl | 17:46 | |
| japhb | DietCoke: yes. | ||
| It's generated from pieces, by config::gen::call_list, from config/gen/call_list/*.in | |||
| And my next patch will make config/gen/call_list/opengl.in generated, then to be pulled in during the generation of call_list.txt. | 17:47 | ||
| DietCoke | OOC, any reason why this is generated by config and not as part of make? | ||
| japhb | Gen -> Gen -> Gen | ||
| DietCoke | ah, is that why? to probe at config time for various signature for later inclusion? good enough. | 17:48 | |
| particle | OOC? | ||
| DietCoke | OOC is out of curiousity | ||
| japhb | DietCoke: exactly | ||
| particle | feed the bot :) | ||
| DietCoke | I did! | ||
| particle | i know! | ||
| DietCoke | memristor? | ||
| memristor is <reply>I hardly KNOW 'er. | |||
| particle | DietCoke-- #appropriate direction when you're on a diet | 17:49 | |
|
17:49
purl joined
|
|||
| particle | er, now that the bot is here... | 17:49 | |
| ooc? | |||
| purl | ooc is probably Out of curiosity. or out of commission or out of control or out of cocaine or out of context | ||
| japhb | DietCoke: So in any case, can you try just moving the call_list.txt line in config/gen/makefiles/root.in from GEN_SOURCES to STICKY_FILES? | 17:50 | |
| particle | hrmm, should STICKY_FILES be renamed to CONFIG_GENERATED_FILES for clarity? | 17:51 | |
| japhb | particle: +1 on that idea | ||
| DietCoke | particle: there's a TODO for you. enjoy. =-) | 17:52 | |
| NotFound | It's the name discussion day? | ||
| particle | what should we rename NotFound for clarity? | ||
| :P | |||
| japhb | ENOTFOUND | ||
| NotFound | Found | ||
| japhb | ETOOMANYJOKES | 17:53 | |
| NotFound | METOO | ||
| japhb | Nice changelog entry, Debian: "* Don't build-depend on packages with a -1 debian revision." | 17:54 | |
| There's deep wisdom there. | |||
| particle wishes for svn -j up | 17:55 | ||
| DietCoke | yah, svn is slow on winders. | 17:56 | |
| japhb | SVN doesn't exactly fly anywhere. | 17:57 | |
| DietCoke | (compared to an os x/86 box on the same network.) | ||
| japhb | I recall clkao ranting about how SVK was (at least in the beginning) significantly faster when he replaced a lot of crappy SVN C code with less sucky Perl code. | ||
| ambs | EOOPS | 17:58 | |
| particle | pmichaud: ping | 18:04 | |
|
18:11
Ivatar joined
|
|||
| particle | aha. it looks like Failure doesn't have a %!properties attribute | 18:16 | |
| i don't quite understand p6meta.'register'('Undef', 'parent'=>'Any', 'name'=>'Failure') | 18:17 | ||
| in src/classes/Undef.pir | |||
| ambs feelks like slaping DietCoke | 18:23 | ||
| DietCoke | particle: did you mean to send that to parrotbug? | 18:25 | |
| particle | the cage ticket about makefile? yes. | ||
| DietCoke | it went to the main list. =-) | 18:26 | |
| particle | oh! | 18:27 | |
| thanks. | |||
| DietCoke | np | ||
|
18:30
gryphon joined
|
|||
| ambs | DietCoke, I can't find your 'single *' | 18:34 | |
| pmichaud | particle: pong | 18:36 | |
| particle | 'my $x = undef;' causes problems now | 18:37 | |
| pmichaud | particle: yes, I saw that. Want me to (1) fix it or (2) explain how to fix it? | ||
| particle | seems Failure is missing %!properties or something | ||
| DietCoke | ambs: looks like it got edited out. basically most of the second paragraph. | ||
| particle | 2 would be nice, but i'm far from understanding p6meta i fear | 18:38 | |
| pmichaud | it's not that hard, actually. | ||
| particle | care to explain p6meta by way of writing a blog post? | ||
| DietCoke | "you keep saying that word. I don't think it means what you think it means." | ||
| pmichaud | the line you posted says: "create a protoobject and metaclass for the existing 'Undef' class. Make sure that 'Undef' has all of the methods of 'Any', and call the resulting thing 'Failure') | ||
| heh | |||
| actually, I'm already about halfway through the post. | 18:39 | ||
| particle | fab | ||
| pmichaud: can you pass a PREG to register for the first arg? | 18:40 | ||
| pmichaud | in other words, that register line is trying to make Parrot's "Undef" objects act as if they were "Failure" in Perl 6 | ||
| but, as you note, Undef doesn't have a %!properties attribute, so we need a real "Failure" class | |||
| thus | |||
| pmichaud makes the switch. | |||
| particle | ok, i wondered about that | ||
| so, we need a real Failure class | |||
| also, adding ", 'attr'=>'%!properties' " to that register call results in a segfault | 18:41 | ||
| pmichaud | right, because we can't add attributes to PMC classes. | 18:42 | |
| particle | SEGFAULT is never right. | ||
| error, sure. | |||
| nopaste | "pmichaud" at 76.183.97.54 pasted "revised Failure" (6 lines) at nopaste.snit.ch/13050 | ||
| DietCoke wonders if we can get a machine with better horsepower/bandwidth to serve the wikis. :| | |||
| particle | or a wiki with less horsepower requrements | 18:43 | |
| pmichaud | particle: in the new version we create a class called 'Failure' that has 'Undef' and 'Any' as parent classes | 18:44 | |
| particle | pmichaud: i can see that now | ||
| pmichaud | since 'Any' has a %!properties hash, we get to inherit that. | ||
| particle | and that belongs in Undef.pir? | ||
| pmichaud | yes but | ||
| particle | or should it be renamed Failure.pir and include other types of Failures too | 18:45 | |
| pmichaud | (1) it really should be ren.... right | ||
| (2) change the 'parent'=>'Any' in the last line to be 'parent'=>'Failure' | |||
| particle | ok | ||
| do i need a 'name' option when registering Failure, since the name is the same as the class? | 18:46 | ||
| pmichaud | you don't need a name option here | ||
| particle | p6meta.'register'('Failure', 'parent'=>'Any', 'name'=>'Failure') | ||
| p6meta.'register'('Failure', 'parent'=>'Any') | |||
| DietCoke | Hurm. I wonder if we should move some meta-parrot information out of the repository. | 18:47 | |
| particle | better. | ||
| pmichaud | we don't register Failure | ||
| new_class does that for us. | |||
| particle | oh, right | ||
| DietCoke | pmichaud: we don't know the meaning of the class! | ||
| pmichaud | register is when we want to take an existing class and make it P6-like. | ||
| (so what 'new_class' does is create a new class with all of the attributes and things we want, and then register it.) | 18:48 | ||
| DietCoke | did c forget to update the release_manager_guide.pod ? | ||
| particle | (phone) | 18:50 | |
| pmichaud | particle: so, can you make+test+apply the changes for Failure for me? | ||
| I'd like to keep writing. | |||
| particle | yes, will do | ||
| japhb | DietCoke: what 'meta-parrot information' are your referring to? | ||
| Eevee | wait, I thought Undef wasn't supposed to be a class | 18:54 | |
| DietCoke | documentation about things that aren't parrot itself. Like "how to cut a release" | 18:57 | |
| That information is of marginal use in a tarball. | |||
| (it's convenient at the moment to have it in the repo, of course.) | |||
| dalek | r27751 | coke++ | trunk: | 18:58 | |
| : Remove useless listing of 'svn ls'. | |||
| : Add note about updating this file's list of pending releases to remove the one | |||
| : you're doing, removing all the ones that have already passed. Since we don't | |||
| : have version numbers listed anymore, reformat the pending release section | |||
| : slightly. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=27751 | |||
| pmichaud | correct, Undef is not a class in Perl 6. That's why we're remapping it to "Failure" | ||
| japhb | DietCoke: Then it should stay in the repository, but be deleted by (one of) the script(s) that packages the release, just as DEVELOPING is deleted. | ||
| pmichaud | but Parrot may still generate objects that are 'Undef', so the 'register' line tells rakudo to try to map those objects to 'Failure' | ||
| particle | pmichaud: so in Failure.pir, i new_class Failure, and in Undef.pir, i register Undef, correct? | 18:59 | |
| pmichaud | no, do both in Failure | ||
| Eevee | aha, okay | ||
| particle | ah, ok | ||
| pmichaud | I'd like to get rid of Undef.pir | ||
| particle | wilco | ||
| pmichaud | because there is no Undef class in Perl 6 | ||
| DietCoke | smash? | ||
| purl | i think smash is an Offspring album or Nuno Carvalho. or at mailto:mestre.smash@gmail.com or irc.perl.org's Dr. Nick | ||
| Eevee | stopgap that's going away once all mention of Undef is removed, then? | ||
| pmichaud | Eevee: well, I can't remove Undef from Parrot. | 19:00 | |
| DietCoke | japhb: that's an option, but I still don't think it belongs in the repo. | ||
| Academic until we get closer to 1.0 | |||
| pmichaud | (meta information) as a general rule, I'm much happier when the meta information is in the same place or storage as the thing it metas | 19:01 | |
| japhb | DietCoke: (honest question): Why would you not want everything related to managing the source tree, including packaging it, to remain in the source tree? | ||
| pmichaud | I agree it may not need to appear in a tarball. | ||
| Eevee | ah alright | ||
| pmichaud | Eevee: since we can't remove Undef from Parrot, we can at least try to make Rakudo handle it smartly when it encounters it | ||
| and eventually %!properties may be going away :-) | 19:02 | ||
| well.... I guess not. | |||
| but it'll change a bit. | |||
| Another good example is Float <=> Num . In Rakudo we have "Num" objects, but Parrot may occasionally throw us a "Float". So we use the register method to try to remap Floats into Nums when we encounter them. | 19:03 | ||
| thus if I ask a Float what kind of object it is, it says "Num". If I do .isa(Num) on a Float object, it returns true. etc. | 19:07 | ||
| particle | spectest_regression++ moritz++ | 19:08 | |
| pmichaud | moritz should get a lot of karma from spectest_regression :-) | ||
| moritz | I did already | 19:09 | |
| karma moritz | |||
| purl | moritz has karma of 19 | ||
| pmichaud | new rakudo.org/use.perl.org post: use.perl.org/~pmichaud/journal/36494 | 19:11 | |
| moritz | we need a rakudo.org rss bot | ||
| dalek | r27752 | particle++ | trunk: | ||
| : [rakudo] Undef failed to inherit from Failure, so it didn't have a '%!properties' attribute. so 'my $x = undef;' didn't work. fixed by adding a Failure class, and registering parrot's Undef as a subclass of Failure (to inherit Failure's attributes). pmichaud++ for the pointers on the new p6meta syntax | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=27752 | |||
| Eevee | haha, 'Eevee' in there looks ridiculous amongst all the full names | 19:12 | |
| pmichaud | I didn't have your full name handy -- I'll be happyto change it | ||
| Eevee | alex munroe | 19:14 | |
| this is a silly handle but it's pervasive to the point that I only really associate my full name with work and people who want my money | |||
| moritz | lol | ||
| Tene | Eevee: I prefer 'Tene' to my full name. | 19:15 | |
| pmichaud | Tene: do you prefer it that way in my posts, too? | ||
| Tene | chromatic also prefers his chosen name. | ||
| pmichaud | I prefer to refer to people however they prefer to be referred to | ||
| Tene | pmichaud: sure. | ||
| Eevee | fair enough | ||
| pmichaud | so, Eevee, leave it as Eevee, or switch it? | ||
| Eevee | sure, leave it | 19:16 | |
| (this is actually the name of a pokemon, which makes it look sillier. but shh don't tell anyone) | |||
| pmichaud | Tene: want me to switch your reference to "Tene", also? | ||
| moritz wouldn't know such things ;) | |||
| Tene | pmichaud: Sure. | ||
| pmichaud | I'll parenthesize the name for this week since I referred to you last week as the full name, but from now on I'll use "Tene" | 19:17 | |
| Tene | I don't actually care enough to ask for it, but I'm entertained by making people do trivial work for me. :) | ||
| pmichaud | names are important things to me | ||
| Tene | 'Stephen' is my name, but the only people who call me that are my family. | 19:18 | |
| pmichaud | that's one of the reasons it took so long to find a name for "Perl 6 on Parrot" besides "perl6" :-) | ||
| Eevee | even my sister tends to call me Eevee | 19:19 | |
| when I say "pervasive".. | |||
|
19:20
mncharity joined
19:22
davidfetter joined
19:23
Zaba_ joined
|
|||
| DietCoke | If it's any consolation, I knew it was a pokemon name before you said that. | 19:23 | |
| Eevee | yes well | ||
| I know your name is actually a drink! | |||
| which I happen to be drinking | |||
| NotFound | Eevee: I want your money. | 19:24 | |
| Eevee gives NotFound 100,000 pokedollars | 19:25 | ||
| NotFound | Pika-pika-chuu | 19:26 | |
| particle | your drink is made of my name | ||
| NotFound | Is include/parrot/io.h supposed to be available for embedding? | 19:51 | |
| Looks like not, it doesn't even compile. | 19:57 | ||
| DietCoke | ? pretty sure it's used in compilation in the regular build. | 20:08 | |
| NotFound | Adding it in the extern tests fails. | 20:44 | |
| r27752 has deleted trunk/languages/perl6/src/classes/Undef.pir but is already in manifest | 20:54 | ||
| japhb | seen chromatic | 20:57 | |
| purl | chromatic was last seen on #parrot 1 day and 18 hours ago, saying: You know, the usual. [May 20 20:05:31 2008] | ||
| japhb | Hmmm. His "Design Minutes" post seems to be somewhat mangled. There are a lot of single 'C' characters ... I'm guessing people doing C<code> and the blog engine stripping the unrecognized "tag". | 20:59 | |
| Eevee | or the engine ignoring and the browser discarding | 21:00 | |
| NotFound | japhb: chromatic says something yesterday something about blog mangling, not remember exactly what. | 21:01 | |
| japhb | Eevee: not in the source code. It's gone before the browser sees it | ||
| NotFound: ah. thanks | 21:02 | ||
| Eevee | maybe not then | ||
| pmichaud | Oops, looks like particle forgot to update MANIFEST. | ||
| NotFound | Off with his head! | ||
| pmichaud | should be fixed now in r27752 | ||
| should be fixed now in r2775*3* | |||
| dalek | r27753 | pmichaud++ | trunk: | 21:03 | |
| : [rakudo]: | |||
| : * Update MANIFEST from changes introduced in r27752. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=27753 | |||
| PerlJam | NotFound: we don't do that anymore. We're much more civilized; we inject people with poison or make them inhale deadly gases. | ||
| pmichaud | PerlJam says that, but all languages eventually become Lisp, and Lisp's fundamental operation (cdr) tends to chop the heads off of things. | ||
| or something like that. :-) | 21:04 | ||
| kids are begging me to take them swimming, so bbl | |||
| NotFound | PerlJam: we liked better to burn people in the main street. | ||
| pmichaud | burning people tied to trees works. :-) | 21:05 | |
| (outta here.) | |||
| PerlJam | Pm: But that's torture! (to the tree) | ||
| NotFound | PerlJam: the tree is already dead. | ||
| jonathan | hi all | 21:11 | |
| jonathan is in Sweden now | |||
| moritz | hi jonathan ;) | 21:14 | |
| Tene | hi jonathan | 21:25 | |
|
21:26
sjansen joined
|
|||
| bacek | hi jonathan | 21:26 | |
| morning everyone | |||
| Tene | evening bacek | ||
| Infinoid | good afternoon | 21:28 | |
| ambs | good night, folks | ||
| :) | |||
| Infinoid | the core of the earth doesn't stand a chance... we have it surrounded | ||
| NotFound | Core dump. | 21:32 | |
| purl | i heard core dump was not the problem. the three thousand lines later is the problem. or SEVEN LAYER BURRRRRRRRRRRRRRRRRITO | ||
| NotFound | # Failed test 'svn:keywords' | 21:36 | |
| languages/perl6/src/classes/Failure.pir | |||
| A trailing space, looks like. | 21:37 | ||
| DietCoke | momentito | ||
| urk. running t/distro/file_metadata.t is quite verbose. | 21:39 | ||
| ah, buggy local manifest. nevermind | 21:40 | ||
| NotFound++ # fixed | 21:43 | ||
|
21:43
iblechbot joined
|
|||
| dalek | r27754 | coke++ | trunk: | 21:44 | |
| : [distro] | |||
| : Fix svn properties on newly added file. | |||
| : It's ok to do this when the file is added. =-) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=27754 | |||
| jonathan | pmichaud: I did some initial work on a Mutable PMC. | 21:58 | |
| pmichaud: Will check it in...I'm going to write a bunch of tests for it, start subclassing it for Scalar, Array, Hash... | 22:02 | ||
| Plan to write a bunch of PIR tests to see how it works out, make sure it has the right kinda semantics. | 22:03 | ||
| And do all this in trunk. | |||
| Then once I think the semantics are right there, and you've reviewed it, I think at that point we make the branch to actually get Rakudo using it. | |||
| wknight8111 | What does the Mutable PMC do that the existing PMCs don't? | 22:04 | |
| NotFound | Mutate? | 22:05 | |
| purl | hmmm... Mutate is a better name than negate? | ||
| moritz | is that the basic type for containers? | ||
| jonathan | moritz: Yes. | 22:06 | |
| wknight8111: We're separating out the notion of container and value in Rakudo, so we can implement various stuff that's just hard/messy/impossible to do otherwise. | |||
| pmichaud | which is what Perl 6 does, too (Synopsis 2) | 22:07 | |
| jonathan: your plan sounds excellent -- great! | |||
| BTW, it is now almost certain that I'll be at YAPC::EU | |||
| NotFound | Sounds like an action movie: "The attack of the mutating containers" | ||
| jonathan | pmichaud: Awesome! | ||
| purl | i heard awesome was not that word | ||
| vany | good time of a day. it's me about ticket 54520 . It is good when all classes must remember their childs ? | 22:09 | |
| NotFound | vany: sounds bad to me. | 22:13 | |
| wknight8111 | jonathan, thanks for the explanation! | ||
| vany | NotFound: and how to solve this problem ? | 22:14 | |
| i have think about two ways : all objects allways check their classes and pasrents when instantiates or when class changed to new - class rebuilds all his childs. | 22:15 | ||
| NotFound | vany: going from down to up, I suppose. | ||
| vany | NotFound: in what moment i Class must decide to check it's parents ? | ||
| NotFound | vany: not sure, but I think that the ticket is not about adding a new functionality, but a failure in method resolution. | 22:18 | |
| vany | NotFound: Ok. I think some more time about it. | 22:20 | |
| pmichaud | ticket #54520 is really about a problem with the existing method resolution algorithm -- it doesn't do what it's supposed to. | 22:40 | |
| if i understand pdd15 correctly, adding methods to a superclass after an instance is created is supposed to work. | 22:41 | ||
| vany | pmichaud: i already understand this. i try to solve this | ||
|
22:42
tetragon joined
|
|||
| pmichaud | (of course, the problem I give doesn't involve adding methods after class composition or instance creation) | 22:42 | |
| pdd15 does talk about the case where an attribute gets added to a class after an instance has been created -- in this case a new class is created, but any existing objects continue to refer to the earlier class. | 22:43 | ||
| NotFound | pmichaud: that info is not obsoleted? | 22:45 | |
| particle | no, it's not, until all instances of that version of the class are desroyed | 22:46 | |
| pmichaud | in other words, every instance always reflects the attributes of the class that were in existence at the time the instance was created. | 22:47 | |
| we don't go back and try to adjust instances to include attributes created later. | 22:48 | ||
| jonathan | Right. It's just straightforward GC stuff. | ||
| An object references the class it was instantiated with. | |||
| pmichaud | (based on my testing that feature doesn't work yet, but that's what the spec says.) | ||
| jonathan | If you change the class, you clone it, and then the new class is bound to the namespace entry, looked up with get_class | ||
| NotFound | /* If we've been instantiated already, not allowed. */ | 22:49 | |
| if (_class->instantiated) { | |||
| real_exception(interp, NULL, INVALID_OPERATION, | |||
| "Modifications to classes are not allowed after instantiation.") | |||
| } | |||
| pmichaud | right now in parrot attempting to add an attribute to a class that already has an instance created causes an exception. | ||
| but this part of the implementation is not following the pdd15 spec -- i.e., it's still "to do" | |||
| NotFound | class.pmc, add_attribute | ||
| jonathan | pmichaud: Right. You need to clone_pmc it, and then you get a clone of the class with the instantiated flag unset, and you modify that. | ||
| pmichaud | right. I'm not planning to implement it, although P6object will be smart enough to handle such things when it does get implemented :-) | 22:50 | |
| jonathan | If you want to modify an existing class so it affects existing instances, well, I don't know that PDD15 classes allow that. | ||
| But you can always subclass it to get what you want. :-) | |||
| NotFound | pmichaud: given this and other comments in the code, I think that the "to do" is in the spec. | ||
| pmichaud | NotFound: I don't understand. | ||
| jonathan | The point of the way the object system is, is that we have an interface and as long as you impelment that you can have a class system that works how you like. | 22:51 | |
| particle | the source should be updated to add a TODO comment there | ||
| &| the exception should note that the experted behavior isn't yet implemented | |||
| pmichaud | particle++ # note the "not yet implemented" | 22:52 | |
| jonathan | particle: Are you saying that PDD15 classes should allow modifications after instantiation, without cloning it and changing the clone instead? | ||
| pmichaud | jonathan: all particle and I are saying is that the current implementation doesn't follow the spec. | 22:53 | |
| we're not advocating a change to the spec. | |||
| jonathan | pmichaud: OK, my understanding of the spec was that modifications aren't allowed after instantiation, without doing a clone. | ||
| NotFound | pmichaud: maybe I'm wrong, but I thinked that that part of the specification was pending of changes. | ||
| pmichaud | and the only reason I piped up at all was to try to point out features of the spec to vany | ||
| jonathan: from pdd15: If the class has already been instantiated, adding a new attribute triggers | 22:54 | ||
| the creation of a new class, replacing the old class. See L<Classes, | |||
| Namespaces, and the Class Registry>. | |||
| jonathan | Aha. | ||
| particle apologizes for messing up metadata and manifest earlier | |||
| i'm out of shape :( | |||
| jonathan | OK, I *thought* Allison and I had a discussion along the lines of, that went away in favor of the clone approach. | ||
| Because otherwise add_method somehow has to change the address of the thing invocant...which can't happen. | 22:55 | ||
| particle | oh, hey, i thought about creating a make target that creates the MANIFEST file based on the files contained in svn ls | ||
| pmichaud | jonathan: yes, I wondered about that as well when I was playing with it... | ||
| jonathan: so, I think your approach may be the correct one. | |||
| jonathan | pmichaud: I'm pretty sure that we had a discussion along the lines of, "that way won't work, we have to do it the other way" | 22:56 | |
| pmichaud | jonathan: makes perfect sense to me. | ||
| jonathan | I suspect what has happened, is the new way was added to the spec, and the old way wasn't removed. | ||
| pmichaud | I didn't see the new way added to the spec. | ||
| jonathan | clone_pmc isn't mentioned in there? | ||
| pmichaud | no. | ||
| jonathan | Oops. | ||
| wknight8111 | seen ewilhelm? | ||
| purl | ewilhelm was last seen on #wxperl 15 hours and 56 minutes ago, saying: hmm, GetPane would be $self? | ||
| jonathan | Ok, I suspect that musta slipped through the cracks somehow, or one of Allison and I assumed the other would update the PDD. :-( | 22:57 | |
| In which case, sorry for the confusion I've created. | |||
| pmichaud | no problem. Again, your approach sounds completely sane to me. | ||
| jonathan | OK, cool. | ||
| pmichaud | I'll be happy to prototype the capability in P6object | ||
| jonathan | note that if we do need to need different things in Perl 6, like the ability to change the class to affect already instantiated objects, then we can do it. | 22:58 | |
| But we have to subclass the Class and Object PMCs. | |||
| NotFound | I think I was mixing the behaviour of classes and pmcs. | ||
| jonathan | The design was done so we can have languages doing their own behaviours like this, but still have them interoperate. :-) | ||
| pmichaud: Work I put in with Mutable so far is very preliminary, but feel free to take a look and tell me if it's a million miles of what you intended. But I don't expect it to be correct yet. | 23:00 | ||
| pmichaud | I don't believe we need the ability for after-the-fact-changes in attribute to affect already instantiated objects. | 23:02 | |
| We might need it for methods, but I think that's something that could conceivably be handled in core parrot. | |||
| (my response times may be slow for the rest of the evening... paula is tired from chemo today and I have to get dinner for kids and get them to bed.) | 23:03 | ||
| jonathan | I am sleeping now too...got meeting tomorrow morning and lecture to deliver in afternoon | 23:09 | |
| so, night from me | |||
|
23:11
kid51 joined
|
|||
| dalek | r27755 | jonathan++ | trunk: | 23:12 | |
| : [rakudo] Very preliminary work on starting to get Mutable in place. It compiles, but that's about all. Needs tests, probably lots of fixes and so forth, not to mention cleanups. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=27755 | |||
| NotFound | It's not clear in the spec if a pmc extending other pmc is supposed to inherit his methods automatically. | 23:13 | |
| pmichaud | NotFound: it is. | 23:18 | |
| (it is supposed to inherit methods) | 23:19 | ||
| at least, that's how I always viewed it. Perhaps you're looking at a different spec. | |||
| wknight8111 | Was "ParTcl" renamed to just "Tcl"? | 23:20 | |
| or, a better question is, what is the Tcl compiler called now? | |||
| ewilhelm | wknight8111: looking for me? | 23:23 | |
| wknight8111 | I am | ||
| ewilhelm | what's up? | ||
| purl | The birds, the sky, and the ceiling. | ||
|
23:37
particle joined
|
|||
| DietCoke | svn admin? | 23:37 | |
| wknight8111: what about tcl? | |||
| partcl::tcl rakudo::perl6 | 23:38 | ||
| er, partcl:tcl::rakudo:perl6 | |||
| dalek | r27756 | jkeenan++ | trunk: | 23:39 | |
| : Implementing particle's request for renaming of STICKY_FILES in RT 54666. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=27756 | |||
| wknight8111 | I was just wondering what the Tcl implementation is called now | 23:48 | |
| particle | tcl | ||
| wknight8111 | Is it still called "ParTcl"? | ||
| ok | |||
| particle | yes, partcl | ||
| in languages/tcl | |||
| wknight8111 | okay, i'm trying to update docs/book, and I want to get all the names right! | ||
|
23:53
bacek_ joined
23:54
bacek_ joined
|
|||
| DietCoke | 'partcl', not "ParTcl" | 23:59 | |
| (plz.) | |||