Camelia, the Perl 6 bug

IRC log for #parrot, 2008-05-22

Parrot | source cross referenced

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

All times shown according to UTC.

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

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

Parrot | source cross referenced