Camelia, the Perl 6 bug

IRC log for #parrot, 2008-11-04

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:02 GeJ Good morning all
00:09 AndyA joined #parrot
00:11 Hinrik joined #parrot
00:37 kid51 joined #parrot
00:37 kid51 magnachef_ ping
00:41 magnachef_ pong
01:10 Andy joined #parrot
01:23 stockwellb joined #parrot
01:24 stockwellb Gents, is there PIR sugar for $P1 = subclass $P0, "Foo"?
01:28 stockwellb strike that, I'm confusing the new keyword as in new 'Class' with newclass 'Foo'. I see my error.
01:37 kid51 joined #parrot
01:56 bacek_ msg masak 'if (Bool::True&Bool::False) { say "foo" } else { say "bar" }' - root of almost all problems with Junctions...
01:56 purl Message for masak stored.
01:56 bacek_ purl: good girl
01:56 purl thanks bacek_ :)
01:58 particle1 joined #parrot
01:59 magnachef joined #parrot
02:05 Andy joined #parrot
02:07 bacek joined #parrot
02:59 dalek r32324 | Whiteknight++ | calling_conventions:
02:59 dalek : [calling_conventions] fix some conflicts, add some small changes that I made last week and never committed (go me!) and make it so it compiles.
02:59 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32324
03:05 Coke Whiteknight: ping
03:07 Whiteknight coke: pong
03:09 Whiteknight Coke: double-pong
03:17 Whiteknight speak now or forever hold your peace. It's getting to be my bedtime
03:19 Whiteknight Okay, I'm off now. talk to you later
03:28 Ontolog joined #parrot
03:49 Psyche^ joined #parrot
03:56 stockwellb I'm trying to pass as a string both the namespace and function name into get_global. I can't figure out the correct syntax. Help?
03:59 chromatic Use a key instead for the namespace.
03:59 chromatic $P0 = get_global [ 'some'; 'namespace'; 'keyed' ], 'my fun global name'
04:00 stockwellb right that works, but lets say get global is in a sub that I call with different namespaces. How then do I construct the key?
04:01 chromatic You can split a string into an array or push into the array or look up the namespace some other way.
04:04 stockwellb I'm sorry if I'm coming off dumb as a stump, but I want to call the sub get_global from within a sub that has a parameter for both the namespace and sub within said namespace. I can hard code the namespace and it works. I don't get how to soft code it.
04:06 chromatic How do you know what the namespace will be though?
04:06 chromatic You need to transform that parameter into a Key (which is a real pain, because we're not good at Keys) or a ResizableStringArray.
04:06 stockwellb I've 3 includes, each within it's own namespace
04:09 nopaste "stockwellb" at 70.160.222.145 pasted "get_global parameters?" (44 lines) at http://nopaste.snit.ch/14453
04:09 stockwellb could you look at the sub build_role?
04:10 stockwellb I really meant to add a please in there. Grandma would not be happy with me.
04:12 chromatic That looks reasonable to me.
04:12 stockwellb as a string ns doesn't work.
04:13 stockwellb your saying I need to convert it to a ResizableStringArray and then pass it to get_global?
04:13 chromatic Yeah, there's no get_global STRING PMC
04:13 chromatic You might use find_global instead though.
04:13 chromatic I can never remember which one is the Right One and which one is the Old One To Delete.
04:14 stockwellb Ok, I'll look up find_global.
04:14 chromatic There is a find_global PMC STRING STRING, which I think would do what you need.
04:14 chromatic perldoc src/ops/var.ops
04:14 stockwellb thanks for the pointer, and for looking at my pathetic code. Just tyring to learn.
04:15 chromatic It's not pathetic.  The difference between those two opcodes is genuinely confusing.
04:16 tewk_ I have to go read the opcode source everytime I want to use namespace functions.
04:17 chromatic We should finally remove the one we don't want to use anymore (get_global, I believe).
04:18 dmknopp left #parrot
04:18 stockwellb I'm just trying to play with composition and yet still write good code. First came the .include, next logical necessity was .namespace. Then came how do deal with namespaces. Learning ontop of learnin ontop of ...
04:19 MariachiElf joined #parrot
04:19 chromatic Hm, we have some _global_ opcodes in DEPRECATED.pod listed as post 0.5.0.
04:19 chromatic Post-dinner, I might just remove them.
04:20 stockwellb bingo! find global has STR, STR!
04:21 chromatic stockwellb, it looks like those are deprecated too.
04:21 chromatic Mind if I suggest get_hll_global?
04:21 chromatic ... except there's no get_hll_global PMC STR STR
04:21 chromatic Grr.
04:21 chromatic Forget I said that.  Use find_global.
04:21 purl chromatic, I didn't have anything matching i said that. use find_global
04:21 stockwellb I know, I just saw that.
04:22 chromatic Tewk, if I forget to complain about this in #ps tomorrow, will you complain as my proxy?
04:23 tewk_ Yep, adding to my report
04:23 chromatic Thanks.
04:32 MariachiElf Are the Squaak tutorials supposed to work still?
04:32 MariachiElf I'm having trouble making "Say" do anything
04:32 MariachiElf print("Textgoeshere") works....
04:32 stockwellb chromatic, I split the parameter ns and pass it to get_hll_global. Nice.
04:34 chromatic Glad to help.
04:35 stockwellb chromatic, while I have your attention, might I ask you one more question, this time regarding your article on roles.
04:37 chromatic Sure, feel free.
04:40 stockwellb In that article you said, regarding what a role is, that it's a named set of capabilities, with optional default behavior. I don't quite get the optional part. Keep in mind I'm a noob, but in PIR if a role doesn't get a method assigned to it, it doesn't seem to have much capability. I don't understand the *optional* concept here.
04:42 chromatic Sometimes just a name is enough.
04:42 chromatic Consider a Serializable role.
04:42 stockwellb Damn if that wasn't a Zen Koan!
04:43 chromatic That role implies that you can freeze and thaw an entity into a bytestream.
04:43 chromatic It's not easy to have a default implementation, but you can say "Anything that *does* the Serializable role must provide its own freeze and thaw methods."
04:44 chromatic Alternately, you could provide default implementations which throw an exception when called, but that's runtime behavior, not composition time behavior.
04:44 stockwellb I see a label indicating capability. I wasn't looking at it that way.
04:45 chromatic It's a named unit of behavior.  You draw a circle around methods and attributes and say "Even if this set of behaviors and data isn't enough to be a class on its own, I can name it".
04:46 MariachiElf chromatic: I'm sure I'm talking way out of turn here, but for a default implementation -- assuming there aren't better candidates -- EXI (Efficient XML Interchange) -- which if you're not familiar is a standardized binary translation of XML that seems to get very good results
04:46 chromatic Then you refer to objects and classes in terms of those bundles of behavior.
04:46 chromatic MariachiElf, that's a possibility, but the default implementation can't know what's public data and what's private data and what's implementation-specific (cache?) data.
04:47 chromatic Use the default serialization for a User object and you may ship hashed passwords over the wire, and that's not a great idea.
04:47 MariachiElf chromatic: I guess I just figured it'd all end up in some XML model and dumped -- I'm assuming you're saying not everything needs to be written out
04:48 stockwellb I get your bundles of behavior, I think I was stuck just looking at the role without methods thinking it had no use and not thinking that it could help to understand other methods that the class might impliment and how one might expect them to behave.
04:48 chromatic <zen type="more">the nature of serialized data depends on the purpose of serialization</zen>
04:48 chromatic stockwellb, that's the part most people don't get at first.
04:49 stockwellb I feel so enlightened, thank sensei.
04:49 chromatic It's a type system which works just fine with class-based or prototype object systems but which allows for finer-grained code-reuse than a single class.
04:49 stockwellb s/thank/thank you
04:50 chromatic In return, please file bugs when our documentation is incomplete, unclear, or wrong :)
04:50 stockwellb I've run into problems in c# with code reuse. Things that I needed but didn't seem to belong in the class.
04:51 stockwellb I shall do as the sensei commands!
04:51 MariachiElf chromatic: It seems that another name for Role could be "Interface"
04:52 stockwellb From a c# perspective, I don't see that. Interfaces seem more contractual and don't really help with code reuse like a role can.
04:52 chromatic It could, but then people think of Java interfaces, which are broken in important ways.
04:53 stockwellb The second I started to grok the trait/role I imediately wished that I could have used it on some c# projects I've done.
04:54 chromatic <zen type="full">you can build a traditional inheritance-based type system with a role-based system, but not vice versa</zen>
04:55 MariachiElf chromatic: This touches on another thought I've been grappling with as it relate to code reuse -- versioning of the "bundles of behavior"
04:55 stockwellb My carriage is about to turn into a pumpkin. Chromatic, thank you for taking some time to help me with PIR. I'm very thankful that you would take the time to help such a newcommer.
04:56 chromatic You're welcome.  It's the only way we make more experts to help more newcomers.
04:56 * MariachiElf is heartened at being a newcomer.
04:56 johbar_ joined #parrot
04:57 stockwellb Well goodnight all.
05:03 MariachiElf Anyone have a moment to tell me if: say "Squaak!"   is supposed to work out of the box
05:03 MariachiElf for the Squaak language and Tutorials?
05:06 chromatic Dunno; kj should know.
05:07 chromatic particle1 or jonathan may be able to take a look.
05:07 MariachiElf I'm guessing not
05:07 MariachiElf the factorial.sq example runs fine
05:07 MariachiElf Just not the "say" command from the tutorial
05:09 MariachiElf I also had a problem where it was trying to run over 100,000/29 tests
05:10 chromatic That's clearly wrong.
05:11 MariachiElf http://pastebin.com/m65f459c4
05:12 MariachiElf I did a ^C to stop it -- I let it go once and it just ran off to infinity
05:12 MariachiElf This is SVN checked out this afternoon
05:12 MariachiElf (afternoon in Los Angeles (PST))
05:14 chromatic There's the problem!  You can't trust LA.
05:15 MariachiElf :)
05:45 davidfetter o/` nobody walks in LA o/`
05:45 davidfetter anybody going to yapc::china?
06:09 MariachiElf davidfetter: While that's true -- it sometimes feels like it would be faster if I did ;)
06:11 * davidfetter had a gig in burbank awhile back
06:12 davidfetter walked everywhere--couldn't afford a rental car for what they were paying :P
06:28 Theory joined #parrot
07:15 GeJ That was quite a long nommin'
07:16 chromatic The cat wanted some attention.  Then the other cat wanted some attention.
07:17 GeJ I feel you. I suffer from the same feline conspiracy.
07:26 uniejo joined #parrot
07:53 Zaba joined #parrot
08:48 Ademan joined #parrot
09:03 tomyan joined #parrot
09:20 barney joined #parrot
10:14 jonathan hi all
10:15 moritz hi jonathan ;)
10:16 * jonathan gets a latest buid and hits the RT queue
10:20 kj joined #parrot
10:42 jonathan Ooh - I see test fails in spectest_regression.
10:49 moritz related to junctions?
10:50 jonathan t\spec\S03-junctions\boolean-context.raku               38    1  38
10:50 jonathan t\spec\S03-junctions\misc.rakudo                        76    3  19 63 65
10:50 jonathan t\spec\S29-list\pick.rakudo                             15    1  15
10:52 moritz probably related to masak reverting a commit yesterday
10:53 moritz and he didn't revert the corresponding commit in the pugs repo
10:54 jonathan Ouch! Segfault...
10:54 moritz jonathan: this one: http://perlcabal.org/svn/pugs/revision/?rev=22855
10:55 moritz if you revert it, all these junction tests should pass again
10:55 * moritz doesn't have a checkout here ;(
10:55 jonathan ah, ok
10:55 jonathan thanks
11:14 jonathan Hmm. Turns out that calling into the PIR compiler while inside a :load :init sub segfaults.
11:14 jonathan Or at least, that's how it looks... :-S
11:18 kj jonathan: I'm not sure, but I may know why that is
11:18 kj I know that things go wrong with :immediate subs
11:19 jonathan Suggestions welcome, I've not come up with anything good yet...
11:19 kj I think I posted a bug or todo about this some time ago. The culprit is in compilers/imcc/pbc.c
11:19 jonathan Yup, that's where we segfault.
11:19 kj there's file-global structure called globals, which keeps pointers to bytecode segements
11:19 jonathan In verify_signature
11:19 jonathan Ah.
11:19 kj not sure about that..
11:20 jonathan Well, it may well be because we end up looking at an incorrect segment.
11:20 kj but if IMCC is compiling, it uses the structure; if another nested compilation is done, it'll overwrite these fields
11:20 kj it may be some different problem in your case, though.
11:20 jonathan It sounds likely - :laod subs are done while we're still inside IMCC.
11:21 kj yes I think so... I kinda forgot what they all mean
11:25 kj anyway; solution would be to put the struct inside the IMCC_INFO thingy
11:28 jonathan It appears that, maybe, just moving the code that does the fixups to after we've cleaned up IMCC's mess, so we aren't trying to use that bit of it recursively, also helps.
11:29 jonathan It fixes my problem - doing a make test on Parrot to see if there's anything bad that comes up.
11:30 kj you moved the code?
11:30 kj ah if that works, that's great :-)
11:30 jonathan We'll see...
11:34 jonathan No new test failures in Parrot.
11:35 kj nopaste?
11:35 clunker3 http://pasta.test-smoke.org/ or http://paste.husk.org/ or http://nopaste.snit.ch:8001/ or http://rafb.net/paste or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/
11:35 purl nopaste is at http://nopaste.snit.ch/ (ask TonyC for new channels) or http://rafb.net/paste or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at http://www.extpaste.com/
11:36 nopaste "kjs" at 193.1.104.8 pasted ":immedate load_bytecode" (11 lines) at http://nopaste.snit.ch/14457
11:36 kj jonathan: if you have a spare minute, can you test whether the nopasted snippets work?
11:37 jonathan kj: Hmm. That one doesn't appear to work...
11:37 jonathan Did it work before?
11:38 kj no, it didn't
11:38 kj should be in 2 file, eh
11:38 kj *2 files
11:39 kj but I was just curious; I guess that's a different issue then.
11:39 jonathan It's the same but different.
11:39 jonathan We're hitting the same problem - that IMCC isn't properly re-entrant. We're crashing in the same place.
11:40 jonathan But unfortunately, we call into IMCC again much deeper this time.
11:40 kj well, I'm working on the long-term solution :-)
11:40 jonathan That is, it ain't in a place that I can just move it to after we're done with the current IMCC run.
11:40 jonathan Yes. :-)
11:40 jonathan Have you got it to emit code yet?
11:40 kj I see. But I think movign the data into IMCC_INFO would fix it.
11:41 kj but that's quite a hack; that would cost at least a full day to fix it.
11:41 jonathan I'm struggling to see exactly what it is that needs moving.
11:41 jonathan Yeah. I think it would take quite a while to do.
11:41 kj the struct globals I think
11:41 jonathan I don't really fancy trying it.
11:42 jonathan If I'm going to spend a day hacking on fixing PIR compilation, I'd rather spend the day on pirc...
11:42 kj who would :-)
11:42 jonathan :-)
11:49 dalek r32325 | jonathan++ | trunk:
11:49 dalek : [imcc] If in a :load :init sub we called back into IMCC to compile some more bytecode, we got a segfault. This patch just does the calling of those after we've done some clean-up of the IMCC used to compile the :load :init sub. Doesn't cause any new failures in Parrot test suite, nor Rakudo, so hopefully it's fine.
11:49 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32325
11:52 dalek r32326 | jonathan++ | trunk:
11:52 dalek : [rakudo] A change a while back got us compiling modules right away during compile time. Unfortunately, that broke PIR module usage. Reverting the change would have meant we couldn't use classes from other modules, though. With this workaround - just doing the load of the module earlier on - we get both to work. In the long run, I expect we will need to emit 'has this module been loaded yet' style code into $?INIT, so we can load it at compile time, but if w
11:52 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32326
12:06 iblechbot joined #parrot
12:19 dalek r32327 | jonathan++ | trunk:
12:19 dalek : [rakudo] Make recursive use statements not lead to an infinite recursion. Patch from RT#60160 and courtesy of Chris Dolan <chris@chrisdolan.net>.
12:19 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32327
12:38 jonathan moritz: Know if there are any tests where we have an array on the LHS of a smatchmatch against a regex? Or if I add some, should they be in the regex tests or the smartmatch tests?
12:45 jonathan moritz: Actually, have added a new test file, didn't see a good place in anything existing.
12:58 dalek r32328 | jonathan++ | trunk:
12:58 dalek : [rakudo] Make smart-matching an array or hash against a regex do what is specified in S03.
12:58 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32328
13:23 tewk_ kj: should heredoc even build anymore
13:29 kj tewk_: no not really. Just make pirc should do the trick
13:29 kj but editing the pirc.in file is a pain for me; my editor will change tabs into spaces, so I havent gone through the trouble of fixing that.
13:30 tewk_ I'll have a cleanedup pirc.in for you in a few minutes
13:31 kj if you know how to fix the @libparrot@ variable for windows, that'd be great ^-^
13:31 dalek r32329 | jonathan++ | trunk:
13:31 dalek : [rakudo] Fix enums with a single value.
13:31 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32329
13:31 dalek r32330 | jonathan++ | trunk:
13:31 dalek : [rakudo] Add spectest for anonymous enums to spectest_regression.
13:31 kj I'm always linking manually when developing..
13:31 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32330
13:33 jonathan slovak class time, back in a bit
13:35 grim_fandango joined #parrot
13:36 tewk_ kj: is macroparser used standalone anymore either?
13:45 nopaste "tewk" at 155.97.237.62 pasted "pirc.in.diff" (94 lines) at http://nopaste.snit.ch/14458
13:47 kj tewk_: both the heredoc scanner and the macro preprocessor are now all intergrated into pirc; heredoc spec is still a separate flex file, but all sources can now be found in compilers/pirc/new
13:47 kj I'm not ready yet to delete the old directoryes (/macro, /heredoc), but in future they'll go.
13:49 szabgab anyone here have tried the Parrot plugin of Padre?
13:58 kj tewk_: all commands to do the actual compilation (invocation of the compiler) seem to be gone in that nopaste..
14:00 Hinrik http://tirania.org/blog/archive/2008/Nov-03.html # does parrot allow something like this?
14:01 Ontolog joined #parrot
14:03 PerlJam Hinrik: The idea is for it to allow things just like that
14:03 Hinrik cool
14:05 PerlJam but someone has to write it.  That's not out-of-the-box functionality right now  :)
14:10 gryphon joined #parrot
14:38 Debolaz joined #parrot
14:43 pmichaud Good morning
14:43 particle1 hi there
14:45 tewk_ kj: yep it uses the default rule for .c files, does it work in windows?
14:45 tewk_ kj: do you use windows
14:47 tewk_ kj nopaste your windows link line and I'll try to get it to work
14:49 kj tewk_: Yes I'm on windows; I use the following to link, but when running pirc, I need to have libparrot.dll in compilers/pirc (I usually just copy it from ../.. -- parrot's root dir.) (more)
14:50 kj link /nodefaultlib /out:pirc.exe *.obj kernel32.lib msvcrt.lib ..\..\libparrot.lib
14:50 kj in case your IRC client does smileys: /out: pirc.exe
14:51 particle kj: perhaps you should be building from parrot root, like imcc
14:51 kj obviously, requiring the libparrot.dll in compilers/pirc directory is not desirable, but I take it that can be solved later on
14:51 kj particle: yes maybe that would be an option; would the executable be located in parrot root dir then as well?
14:52 particle you can put the executable wherever you want it
14:52 kj long term, I'd like to say nmake pirc from root dir, so that it uses pirc as the pir compiler, not imcc
14:53 kj so in the transition phase that I had in mind, you can build parrot with either imcc or pirc
14:53 particle you can make it a configure-time selection, defaulting to imcc
14:53 jhorwitz joined #parrot
14:54 kj that'd be nice yes. But pirc's not ready for that yet; don't want to present the option at this point; too much issues to fix.
14:55 particle do you have a TODO list?
14:55 kj I have XXX scattered all over the source code...
14:56 kj good idea, though. I had thought about filing RT tickets, but i don't want to clutter the rt too much
14:57 particle for an idea, you can see http://svn.pugscode.org/pugs/t/TASKS
14:58 particle or rakudo's ROADMAP
14:58 tewk_ kj: does the makefile patch work on windows?
14:58 kj tewk_: gimme a few min.
14:59 tewk_ no problem I'm just curious.
15:05 dalek r32331 | tewk++ | trunk:
15:05 dalek : [pirc] fix pod error
15:05 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32331
15:09 nopaste "tewk" at 155.97.237.62 pasted "pirc.rev2.diff" (130 lines) at http://nopaste.snit.ch/14459
15:10 tewk_ kj that patch makes make test work as well as running prove in compilers/pirc
15:10 kj tewk_: I have little experience in actually applying .patch files; but I think it worked. Linking however didn't work;
15:10 kj cannot open file new\main.obj
15:11 kj so I might have messed up while patching
15:11 tewk_ kj: does new\main.obj exist?
15:11 kj nope
15:11 tewk_ I haven't done anything to fix windows linking yet. (in the patch)
15:12 kj and I see the line is missing in pirc.in, now
15:12 kj i'm adding and remaking makefile
15:12 particle i'm checking a slightly modified patch, too
15:12 tewk_ I stuck new/main in $(OBJS)
15:13 tewk_ mainly because new/main.c was in SOURCES
15:13 tewk_ I'll fire up my windows vm :( and do my own testing :)
15:14 kj thanks a bunch :-) I kind of copied snippets of makefiles from other files, not understanding the standard parrot makefile stuff..
15:17 particle grr, i can't regenerate the makefile for some reason
15:20 * jonathan is back
15:21 * jonathan waves a pmichaud
15:22 jonathan s/a/at/ !
15:25 * Tene waves particle back at jonathan.
15:32 magnachef joined #parrot
15:40 davidfetter joined #parrot
15:43 * Coke has voted
15:44 moritz ok, if I don't like the result I can blame Coke ;)
15:45 * tewk_ voted at 7:00am MST this morning
15:45 * particle voted days ago as he's a permanent absentee
15:46 tewk_ I got there at 6:55 am, there were about 15 people ahead of me in line, I was out by 7:15, but the line was getting longer.
15:46 * pmichaud voted last week.
15:47 * jonathan feels left out
15:47 pmichaud although we just went by our polling place, and the lines aren't very long.
15:47 * jhorwitz was in an out
15:47 pmichaud jonathan: did you feel left out of the past eight years?  ;-)
15:47 particle :)
15:49 jonathan If you set the namespace on a block, does it want an array, or a :: joined string?
15:49 jonathan Or can it handle either?
15:49 pmichaud array, I think.
15:49 jonathan And Perl6::Compiler.parse_name($name) is supposed to return an array from parsing a name?
15:49 pmichaud yes.
15:49 * jonathan wonders why on earth he's ending up getting .namespace [ '1' ] emitted...
15:50 nopaste "particle" at 98.232.28.49 pasted "rakudo: isa patch leads to spectest failures" (1280 lines) at http://nopaste.snit.ch/14462
15:50 pmichaud (all compilers do that, per pdd21)
15:51 jonathan It seems like not overly much changed while I was away, in that I seem to still understand everything I've come accross so far today. :_)
15:51 pmichaud no, I haven't accomplished much lately.
15:51 pmichaud lots of distractions around here.  :-(
15:51 particle me neither
15:51 jonathan :-(
15:51 particle lots of rabbit holes for me
15:52 jonathan Buy something to catch the rabbits.
15:52 * jonathan lends particle a dog
15:52 pmichaud the big change I'd like to see us make is to get the value/container types working.  I've been a little reluctant to do that because it would break so much existing code (espec param passing)
15:53 pmichaud and I'm actually glad I waited, since the grammar for parameters changed somewhat last week.
15:53 pmichaud (in STD.pm)
15:53 jonathan We've got a reasonable number of tests to help us know just how much we've broken.
15:53 jonathan But yes, it'll be a lot of work.
15:54 pmichaud particle:  do you get the spectest failures for .isa if you just change one or two .isa's?
15:54 particle no, it depends on which i change
15:54 pmichaud okay, that sounds like the .isa method itself is working, then.
15:54 particle in fact, there's one that if i change, Test.pm doesn't compile
15:54 particle sub build_call($args) {
15:54 particle if $args.WHAT() ne 'Op' || $args.name() ne 'infix:,' {
15:55 particle if i change that WHAT to isa, Test.pm fails to compile to pir
15:56 jonathan Ah. I get an array back that just has a single element with 1 in it.
15:59 particle tewk: the patch fails, because the object files are not in the new/ directory
16:00 tewk_ particle: using the default rules that is where they should be.  The old rules method built to compilers/pirc.
16:00 * tewk_ trying to get a patch.exe for windows
16:02 particle you don't need patch
16:02 jonathan OH DUH
16:02 * jonathan was being stupid
16:02 particle just try adding new/pirparser$(O): new/pirparser.c new/pirparser.h
16:02 particle then make new/pirparser.obj
16:03 particle i mean new\pirparser.obj
16:04 pmichaud particle:  I'm working on .isa -- just a bit
16:04 pmichaud btw, is parrotsketch in 2h30 ?
16:04 particle time?
16:04 purl time is 16:04:55 2008 and (did you mean "clock"?) or flowing like a river
16:05 particle yes, 2:25
16:05 pmichaud (daylight savings time hits this week)
16:05 pmichaud although I have little to report.
16:06 jonathan pmichaud: Is the latest proposal you had on container stuff somewhere?
16:06 * jonathan wants to read through it again
16:06 nopaste "tewk" at 155.97.237.62 pasted "particle, did you get this" (9 lines) at http://nopaste.snit.ch/14464
16:06 pmichaud http://www.pmichaud.com/perl6   (somewhere there)
16:07 pmichaud http://www.pmichaud.com/perl6/references.txt
16:07 particle tewk: yes, i'm committing a fix now
16:07 particle tewk: see 32332
16:08 dalek r32332 | particle++ | trunk:
16:08 dalek : [config] need to convert slashies on windows
16:08 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32332
16:09 jonathan pmichaud: Thanks. Will give it another read-through.
16:09 jonathan Maybe we can hack on this stuff a bit at/around the summit.
16:09 pmichaud I was kinda hoping we'd get to it before then :-)
16:09 pmichaud depends on your schedule a bit, though.
16:09 jonathan Well, we can try that too.
16:09 jonathan The summit is really not that far away.
16:10 jonathan I guess we're going to do a branch?
16:10 particle i can probably help, too
16:10 jonathan And then try for the major changes.
16:10 particle especially in a branch
16:10 jonathan And then triag.
16:10 particle e
16:11 jonathan 2.71828183
16:12 jonathan pmichaud: Are you planning to get this out of the way before starting on the protoregexen?
16:15 pmichaud jonathan: yes.
16:16 jonathan OK. Let's dig in soon then! :-)
16:16 * jonathan doesn't want to block protoregexes.
16:20 jonathan pmichaud: Really, we can start on it whenever you wish.
16:20 jonathan I've got a bunch of bonus Rakudo days I guess, because I was away for a month.
16:21 pmichaud today isn't very good for me, but tomorrow-fri should be good.
16:21 jonathan OK. Friday is the Twin City perl workshop...
16:21 jonathan Well, one day/city of it. :-)
16:21 pmichaud okay, so tomorrow and thu
16:21 pmichaud I'm also wanting to get lexicals taken care of
16:21 pmichaud that's already in a branch
16:21 jonathan I should probably do @OTHER tomorrow. How about Thursday?
16:22 pmichaud okay, thursday it is.
16:22 jonathan Great.
16:23 Theory joined #parrot
16:23 braceta joined #parrot
16:23 UltraDM joined #parrot
16:27 UltraDM joined #parrot
16:31 Coke ... is that @SIGNIFICANT_OTHER? ^_^
16:31 jonathan Coke: No, @OTHER_JOBS. :-(
16:31 dalek r32333 | jonathan++ | trunk:
16:31 dalek : [rakudo] Fix handling of classes with Name::Spaces::Like::This, so their methods end up in the correct namespace. Also add a test for it to spectest_regression.
16:31 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32333
16:31 jonathan @SIGNIFICANT_OTHER.elems # 0 :-(
16:44 barney joined #parrot
16:49 Andy joined #parrot
16:49 Hinrik a polyamorist, eh?
16:50 moritz jonathan++ # many bug fixes today
16:52 * particle is very curious to see if jonathan's patch fixes his import problems...
16:54 pmichaud 15:54 <particle>     if $args.WHAT() ne 'Op' || $args.name() ne 'infix:,' {
16:55 pmichaud when changing that to .isa, did you remember to negate the test?
16:55 particle hee, probably not!
16:55 particle lemme check
16:57 jonathan particle: Got a ticket for them?
16:57 dalek r32334 | jonathan++ | trunk:
16:57 dalek : [rakudo] Add two more spectests we pass or pass some of for OO to spectest_regression.
16:57 nopaste "pmichaud" at 76.183.97.54 pasted "this does get through compiling Test.pm for me" (39 lines) at http://nopaste.snit.ch/14466
16:57 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32334
16:57 pmichaud ...and so far it seems to be running spectests okay.
16:59 particle jonathan: we renamed spectest_regression to spectest btw
17:00 pmichaud spectest_regression still works, but 'make spectest' just runs the regression suite for now
17:01 jonathan Oh
17:01 jonathan That'll save me some typing. :-)
17:01 moritz make sp<tab> ;)
17:02 davidfetter joined #parrot
17:02 jonathan moritz: Doesn't work on Win32 / nmake. :-(
17:02 jonathan Though I do sometimes try it by accident.
17:02 rurban joined #parrot
17:05 hercynium joined #parrot
17:05 particle pmichaud, it totally looks like stupidity on my part by ignoring 'ne' when converting to isa.
17:05 particle pmichaud++ i'll test and commit soon
17:05 pmichaud okay
17:05 pmichaud lunchtime here.  parrotsketch is in 85 -- I may be a few minutes late.
17:05 jonathan pmichaud: I'm looking over the ticket 57400
17:05 jonathan oh, you're going
17:06 dalek r32335 | jonathan++ | trunk:
17:06 dalek : [rakudo] Add a missing sanity check when doing roles, so we can produce a good error message rather than an odd unhelpful one.
17:06 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32335
17:06 pmichaud I can look at 57400 -- just a sec
17:06 jonathan OK, it's the %*ENV.
17:06 pmichaud I suspect it's in the Env PMC type
17:06 rurban_ joined #parrot
17:06 jonathan Yeah.
17:07 jonathan I was pondering if we should copy it to a Perl6Hash, but then remembered modifictions to it need to affect the environment...
17:07 pmichaud correct
17:07 pmichaud my %s = %ENV  will be fixed as part of list assignment, undoubtedly.
17:07 pmichaud for the methods, we could just add them to the Env namespace for now.
17:08 pmichaud although those will likely be fixed as a result of fixing .iterator
17:08 jonathan Hmm
17:08 jonathan Maybe best to wait until the list assignment changes are done?
17:09 pmichaud that'd be my guess.  We'll ultimately end up using some sort of tied hash, I suspect.
17:09 jonathan Since assignment semantics will be changing too.
17:09 jonathan Right, that's what I was thinking.
17:09 sjansen joined #parrot
17:09 pmichaud so, something that ends up wrapping the Env PMC to look more like a Hash.
17:10 jonathan OK, will leave it for after assignment changes.
17:10 jonathan Putting a note on the ticket to say so.
17:10 pmichaud jonathan++
17:10 pmichaud okay, lunch.  back in approx 80
17:11 jonathan enjoy
17:24 dalek r32336 | particle++ | trunk:
17:24 dalek : [PCT] add 'isa' method to PCT::Node, which retrieves the current class's metaclass and calls its 'isa' method
17:24 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32336
17:34 dalek r32337 | particle++ | trunk:
17:34 dalek : [pirc] metadata update
17:34 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32337
17:39 johbar joined #parrot
17:51 particle crap, found a segfault
17:51 particle ..\..\parrot perl6.pbc t\spec\S12-class\declaration-order.t
17:52 jonathan oh?
17:52 purl oh is there a standard rule that defines a number of estimated man-hours per ticket?
17:52 jonathan That was passing for me here...
17:52 cognominal joined #parrot
17:52 jonathan I stuck it into the spectests like really recently.
17:53 jonathan Today.
17:53 particle it could be my local changes
17:53 particle im' attaching to process now to debug
17:56 jonathan particle: Oh, hmm
17:57 jonathan It actually segfaults here - but only under the harness.
17:57 particle that's not what i'm seeing
17:57 purl seeing is believing
17:57 particle the difference could be my changes, though
17:57 particle but -G doesn't help
17:57 jonathan C:\Consulting\parrot\trunk\l​anguages\perl6>..\..\parrot perl6.pbc t\spec\S12-cla
17:57 jonathan ss\declaration-order.t
17:57 jonathan 1..2
17:57 jonathan ok 1 - base before derived: lives
17:57 jonathan ok 2 - derived before base: dies
17:58 particle c:\Users\particle\dev\parrot​\trunk\languages\perl6>echo %ERRORLEVEL%
17:58 particle -1073741819
17:58 purl -1073741819
17:58 ruoso joined #parrot
17:58 jonathan C:\Consulting\parrot\trunk\languages\perl6>echo %ERRORLEVEL%
17:58 jonathan -1073741819
17:58 purl -1073741819
17:58 jonathan Ah.
17:58 particle see
17:58 jonathan So it complets and *then* segfaults (silently here).
17:58 jonathan :-(
17:58 particle yep
17:59 particle the harness recognizes the non-zero return and reports failure
17:59 jonathan yeah
17:59 particle the shell doesn't care
17:59 jonathan Right. Hmm.
17:59 jonathan Am deep in something else at the moment, but will run it under a debugger and see where we segv later.
18:00 jonathan Or feel free to do that if you're not in the middle of something else.
18:00 particle i'm busy, but will also queue it
18:02 dalek r32338 | tewk++ | trunk:
18:02 dalek : [pirc] Makefile for windows
18:02 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32338
18:07 kj tewk++ # Makefile for windows works great
18:07 dalek r32339 | tewk++ | trunk:
18:07 dalek : [pirc] Makefile tab fix for non windows platforms
18:07 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32339
18:07 tewk_ kj: it should link for you now.  You will still have to copy dll.
18:08 kj it links well, yes
18:08 tewk_ linking is broken on non windows, but I will fix it.
18:08 kj ok, great. thanks a lot!
18:08 tewk_ maybe this evening
18:09 masak joined #parrot
18:15 chromatic joined #parrot
18:21 Wknight8111 joined #parrot
18:23 purl joined #parrot
18:24 chromatic #ps in 7
18:24 chromatic I'll try not to be late.
18:25 particle jonathan, i'm committing the .isa refactor now. can you do a sanity build/spectest?
18:26 sjn \o
18:26 Wknight8111 doesn't #ps respect daylight savings time?
18:26 jhorwitz tewk_: ping
18:26 particle parrotsketch?
18:26 purl well, parrotsketch is a status meeting for parrot core committers held every Tuesday at 18:30 UTC in #parrotsketch
18:26 moritz Wknight8111: #ps is defined in terms of UTC
18:26 tewk_ jhorwitz: yes
18:26 * Wknight8111 has to go update his google calendar now...
18:26 particle there is no daylight savings time in utc
18:26 jhorwitz tewk_: setting nci_info members as constant strings appears makes mod_parrot segfault (r32203 )
18:27 jhorwitz s/appears//
18:27 * sjn was thinking of having a try at fixing Rakudo tests at the Oslo.pm meeting tomorrow
18:27 sjn any ideas on how to make that work well? :)
18:27 dalek r32340 | particle++ | trunk:
18:27 dalek : [rakudo] refactor action methods to use PCT::Node's 'isa' method
18:27 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32340
18:27 dalek r32341 | kjs++ | trunk:
18:28 dalek : [pirc] more PASM grammar bits refactored.
18:28 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32341
18:28 jhorwitz i'll open a bug for it
18:28 tewk_ jhorwitz: not setting them as constant strings makes everything segfault ie pge, building parrot.
18:28 jhorwitz hm.
18:28 chromatic You need more COW... uh, bell.
18:29 jhorwitz nci_info->pcc_params_signature ends up as an uninitialized string
18:29 chromatic That problem.  Yeah, that's a tricky one.
18:30 jhorwitz chromatic: is there a ticket already open for that?
18:30 tewk_ jhorwitz: short-term comment tools/build/nativecall.pl:308 to disable jitted NCI
18:30 jhorwitz i can do that.  :)
18:31 tewk_ afk: 15 minutes
18:31 purl i heard 15 minutes was kind of tough :)
18:31 pmichaud #ps in -1
18:31 chromatic I don't see a ticket for it.
18:31 jhorwitz i can submit one
18:31 jonathan particle: I've got a vaguely scary patch here that I'm working on/testing - can happily check after I've got that done.
18:31 davidfetter who's going to yapc::beijing?
18:31 particle thanks, jonathan, i'm building on win32 and linux atm
18:32 chromatic My theory is that the JIT STRING conversion needs a Parrot_make_COW_reference.
18:32 bacek purl: ps
18:32 purl ps is postscript or process status or see "parrotsketch"
18:32 bacek purl: parrotsketch
18:32 purl it has been said that parrotsketch is a status meeting for parrot core committers held every Tuesday at 18:30 UTC in #parrotsketch
18:34 moritz congratulations Wknight8111!
18:35 Wknight8111 thanks!
18:35 * davidfetter figures congratulations are in order, and guesses it might be nuptials
18:35 kj Wknight8111: you got married?
18:36 Wknight8111 I did, last saturday
18:36 pmichaud yes, congrats Wknight8111.  May you be as happy in your marriage as I am in mine.  :-)
18:36 kj congratulations!
18:36 purl congratulations! are you joel?
18:36 chromatic WINDMILLS DO NOT WORK THAT WAY, purl
18:36 purl chromatic: excuse me?
18:36 Wknight8111 she puts up with my particular brand of bullshit, and I can't ask for more then that )
18:37 jhorwitz my favorite morbo line...
18:37 chromatic Just don't tell her the generic brand is just as effective, and far cheaper.  They don't spend as much on marketing.
18:43 magnachef joined #parrot
18:46 MariachiElf joined #parrot
18:48 moritz particle: I get a backtrace from t/spec/S12-class/declaration-order.t
18:48 moritz ok 2 - derived before base: dies
18:48 moritz src/inter_call.c:390: failed assertion 'PObj_is_PMC_TEST(sig_pmc)'
18:49 moritz particle: probably related to your last commit, it was fine before
18:49 allison did we have a time change?
18:49 particle moritz: it's related to a patch jonathan committed earlier today
18:49 allison daylight savings time?
18:49 purl well, daylight savings time is a scam to make me fuck with Eggplant's sleep schedule more than necessary. or an invention of Sir Sandford Flemming or really daylight nuisance time or yaccv
18:50 particle moritz: it was segfaulting on windows only before my commit
18:50 moritz particle: ok, then I'll hilight jonathan ;)
18:50 particle allison: yes, we had a time change
18:50 particle it's 18:50UTC atm
18:50 allison particle: blech
18:51 Wknight8111 that's what I said!
18:51 Wknight8111 well, paraphrasing
18:51 purl hmmm... paraphrasing is saying the same thing, differently.
18:51 particle paraphrasing is also differently saying the same thing
18:51 purl okay, particle.
18:52 jhorwitz chromatic fyi: RT #60338 for the NCI segfault
18:52 chromatic Thanks!
18:54 masak purl: paraphrasing is also saying the same thing in another way
18:54 purl okay, masak.
18:56 Coke ps?
18:56 purl ps is, like, postscript or process status or see "parrotsketch"
18:56 Coke time?
18:56 purl i heard time was 18:56:03 2008 and (did you mean "clock"?) or flowing like a river
18:56 Coke bah
18:56 masak clock?
18:56 purl masak: LAX: Tue 10:56am PST / CHI: Tue 12:56pm CST / NYC: Tue 1:56pm EST / LON: Tue 6:56pm GMT / BER: Tue 7:56pm CET / IND: Wed 12:26am IST / TOK: Wed 3:56am JST / SYD: Wed 5:56am EST /
18:59 masak bacek: re 'root of almost all problems': yes, but is it fixable?
18:59 PerlJam ovid joins parrot?  cool.
18:59 jhorwitz tewk_: your short-term fix worked
18:59 bacek masak: in progress
19:00 masak bacek: great news.
19:00 pmichaud why is that a problem?
19:01 bacek rakudo: if (Bool::True&Bool::False) { say "foo" } else { say "bar" }
19:01 pmichaud why is that a problem?
19:01 polyglotbot No output (you need to produce output to STDOUT)
19:01 pmichaud oh, you mean the fact that it doesn't work.  Yes, this is because Junctions are not collapsing properly in boolean context, I suspect.
19:02 bacek pmichaud: Junctions missed 'get_bool'. My patch from #60168 broke November
19:02 bacek pmichaud: indeed. I'm making patch for this AT
19:02 bacek s/AT/ATM/
19:02 pmichaud Junctions should define a .true, and we need to fix .true in Object to do the right thing.
19:02 chromatic I tried that a while ago.
19:02 pmichaud as a temporary workaround I'm willing to allow a get_bool on Junction directly
19:03 masak pmichaud: I was very surprised the other day when I noticed that November died in an impossible branch of an if statement.
19:03 bacek pmichaud: ok
19:03 chromatic <governor type="roman" location="judea">What IS truth?</governor>
19:03 masak Pilate, the first postmodernist
19:03 jhorwitz allison: i probably missed this a while back, but is pdd22 up to date or do you have other draft docs for IO?
19:04 particle <president name="clinton">it depends on what the meaning of the word "is" is</president>
19:04 pmichaud Perl 6 keeps redefining "is".
19:05 TimToady smile when you say that
19:05 allison jhorwitz? pdd22 is up-to-date
19:05 diakopter pmichaud: Perl 6 redefines the definer. and the definist!
19:05 allison s/?/:/
19:05 jhorwitz excellent.
19:06 pmichaud Perl 6 is proof that the act of observing something affects the observation itself.
19:06 jonathan is isn't just a call to trait_auxiliary:is now?
19:06 jonathan :-)
19:06 moritz is() is also a sub
19:06 purl okay, moritz.
19:06 jhorwitz in soviet perl 6, code writes you!
19:06 kj first it write a 5-year plan :-)
19:07 diakopter and takes 10 years to write the 5-year plan.
19:07 nopaste "bacek" at 123.243.38.218 pasted "Junction collapsing to boolean function. For pmichaud/masak to review." (42 lines) at http://nopaste.snit.ch/14467
19:07 kj that sounds like a bootstrapping problem, kinda
19:08 masak bacek: busy right now with other things, but I'll have a look later.
19:08 pmichaud bacek: that code totally confuses me.
19:08 pmichaud why "junction with maximum 2 elements"?
19:08 bacek pmichaud: it's invoked from 'prefix:?'
19:09 pmichaud prefix:? should probably just invoke the get_bool vtable, as it already does.
19:09 bacek VTABLE_get_bool just calls 'prefix:?'
19:09 pmichaud $I0 = istrue $P0
19:09 bacek oh
19:09 dalek r32342 | jonathan++ | trunk:
19:09 dalek : [rakudo] Fixes and enhancements to does and but. We can now handle having a PMC rather than an object type on the LHS, so doing but or does on a string now works.
19:09 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32342
19:09 jonathan HEALTH WARNING: Looking at the C part of the last patch may cuase blindness.
19:10 bacek pmichaud: in Juctions 'prefix:?' invokes dispatcher.
19:10 particle say ?('0' but Bool::True)
19:10 pmichaud bacek:  I think that's probably wrong.
19:10 pmichaud bacek: or at least not the factoring that we should have.
19:10 particle prefix:? should collapse the junction, no?
19:10 pmichaud not directly.
19:11 bacek particle: it should.
19:11 moritz .true should collapse the junction, I think
19:11 pmichaud prefix:? should ask a junction for its boolean value, and evaluating a junction in boolean context collapses the junction.
19:11 * allison heads to airport
19:11 pmichaud what moritz said.
19:11 particle ok, yes, that's .true.
19:12 moritz actually .Bool and .true and prefix:<?> should boil down to the same thing in the end
19:12 pmichaud ...except that we can't really call .true on a Junction.
19:12 bacek pmichaud: why?
19:12 pmichaud at least, not using the standard method dispatch.  (Unless this has changed again since July.)
19:12 jonathan Was it decided that this would call .true on everything in the junction and return a junction of return values?
19:13 pmichaud method calls on Junctions are autothreaded.
19:13 moritz pmichaud: why not? I think there should be methods (like .perl) that work directly on the junction, not on the values
19:13 pmichaud moritz: this was a discussion I had with TimToady at the oscon hackathon.  I don't know that it was ever resolved.
19:13 pmichaud but I do recall that methods on junctions autothreaded.
19:14 moritz well, .perl certainly does not.
19:14 pmichaud as I said, I'm not sure that was resolved.
19:14 PerlJam Sounds like another funny sort of "scope" that needs some syntax
19:14 particle we spoke about using the VAR() macro for that
19:14 particle but i don't think it was resolved, either
19:14 moritz maybe it's one of the things that should be settled by the implementations
19:14 pmichaud one can easily argue that   $junc.perl   should return a junction of strings and not a single string.
19:15 PerlJam It's more of that container/value dichotomy.
19:15 jonathan Checking the method name and deciding what to do per implementation sounds a tad costly, though.
19:15 jonathan er, per invocation.
19:15 masak chromatic: do you have any suggestions re [perl #60178]? it feels suboptimal to have to manually downgrade a file on every svn up; I'm getting test failures, and fear that I will perhaps soon not be able to compile at all
19:16 * PerlJam listens to a guy mixing concrete in the hallway outside his office.
19:16 pmichaud PerlJam: what are you doing outside of a concrete mixer's office?  ;-)
19:16 jonathan And, well, just odd. And another magic list of stuff to remember.
19:17 chromatic No idea.  That's a baffling problem, masak.
19:17 * jonathan steps out of Perl 6 design.
19:17 chromatic All I did was shuffle some code around.
19:17 masak chromatic: yes, I can see it's not a big commit.
19:17 pmichaud masak: have you tried a completely fresh checkout?
19:17 pmichaud sometimes make realclean doesn't.
19:18 masak pmichaud: no, I must admit I haven't.
19:18 * masak tries that.
19:18 pmichaud I suggest that.
19:18 pmichaud especially since there were also some opcode changes around the same time.  Those can also lead to oddities in the dependencies.
19:19 chromatic make realclean should have fixed any of those.
19:19 pmichaud I've had cases (not recently) where make realclean wasn't as thorough as it should be.  And since we just did a number of fixes to "make opsrenumber", I highly suspect that.
19:19 mberends joined #parrot
19:20 pmichaud (because the times when I had trouble with make realclean and building in the past had to do with ops renumbering)
19:20 pmichaud anyway, it's something I definitely recommend trying.
19:20 masak this is the most reassuring news I've heard so far.
19:20 * masak is in mid-checkout
19:20 bacek rm *; git checkout master
19:20 bacek fastest way to obtain clean checkout ;)
19:21 bacek rm -rf
19:21 jonathan /*
19:21 jonathan ;-)
19:22 pmichaud I'll post a message to p6l about .perl on junctions.
19:23 * jonathan hands pmichaud an opener for the can of worms
19:23 particle yeah, that's probably the best place for timtoady to ignore it.
19:24 * jhorwitz chuckles
19:25 masak pmichaud: nope, clean checkout didn't fix the problem. :/
19:25 pmichaud darn.   Well, we know it's definitely in the code somewhere, or in your system's configuration.
19:25 masak my system compiles every other program just fine, thank you. :)
19:26 moritz there were multiple reports about parrot being broken on OS X
19:26 particle try compiling ";$"
19:26 moritz so I guess it's not a masak specific problem ;)
19:26 masak I've been hoping to show conclusively that it isn't.
19:27 masak particle: sorry, compiling how/what?
19:27 particle </snark>
19:27 * MariachiElf chuckles at the concept that every other program is only 50%
19:28 masak some obscure bash joke I'm not getting?
19:29 MariachiElf more like "all the odd numbered programs"  every other program
19:29 MariachiElf all the even numbered compiles don't work
19:30 * masak groans
19:30 masak have mercy on me, I'm not a native speaker :)
19:30 masak s/e s/e English s/
19:30 dalek r32343 | kjs++ | trunk:
19:30 dalek : [pirc] remove some old code, add some comments and some minor layout stuff.
19:30 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32343
19:30 pmichaud masak:  I'm missing it also, whatever it is.
19:31 masak pmichaud: I got it now, but it's not worth the trouble :P
19:31 pmichaud okay, good.  I'll go back to composing my p6l message.  :-)
19:31 MariachiElf masak: You're speaking is fine it's my joke that should have been put to death before I said anything
19:31 particle the even jokes are better here
19:31 pmichaud oh, I get it now.  <groan>
19:31 masak told ya.
19:33 Wknight8111 left #parrot
19:33 jonathan ooh! I should not forget to eat...
19:33 jonathan bbiab
19:34 MariachiElf oh -- anyone here able to comment on the PCT Tutorial?  I'm having a couple minor problems
19:35 MariachiElf The first is that make test in the languages/squaak seems to go on for infinity
19:35 pmichaud MariachiElf: I suspect the tutorial needs some updating because of recent changes to PCT.
19:35 MariachiElf The second is that "say" doesn't seem to be valid
19:37 nopaste "chromatic" at 69.64.234.10 pasted "masak: MMD patch (possible fix)" (62 lines) at http://nopaste.snit.ch/14470
19:37 chromatic masak, try that please.
19:39 GeJ Good morning all.
19:40 masak chromatic: will do.
19:41 particle jonathan: do you want a letter of invitation for pds2008?
19:41 gryphon joined #parrot
19:44 jan joined #parrot
19:44 nopaste "masak" at 130.238.45.242 pasted "chromatic: make errors" (6 lines) at http://nopaste.snit.ch/14471
19:46 chromatic +    if (sub->vtable->base_type == enum_class_NCI)
19:46 chromatic +        multi_sig = PMC_pmc_val(sub);
19:46 chromatic change 'sub' to 'pmc'.  Sorry.
19:46 purl chromatic: that doesn't look right
19:46 masak chromatic: np. trying again.
19:49 masak chromatic: 's working!
19:50 masak wohoo!
19:51 chromatic PGE builds/
19:51 chromatic ?
19:51 masak I can only assume it does, since make is running tests now.
19:51 masak it never got this far before.
19:51 chromatic That's a good sign.  Let me know how the tests do, and if that works, I'll check it in.
19:51 masak oki. they look good so far.
19:54 masak Result: PASS
19:54 dalek r32344 | moritz++ | trunk:
19:54 dalek : [codingstd] various fixes
19:54 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32344
19:55 masak chromatic: all tests a-pass.
19:55 pmichaud chromatic++ masak++
19:55 moritz indeed
19:55 masak chromatic++
19:55 moritz masak: now you can tackle the junction/tests problem ;)
19:55 masak I just followed instructions. :)
19:55 masak moritz: indeed, that's next on my list.
19:56 moritz masak: and you bugged people to give you instructions ;)
19:56 masak moritz: only in cases of C code :)
19:56 * masak borrowed K&R today
19:56 masak but C is still not my forte
19:57 pmichaud keeping on top of a bug is often as important as fixing it.
19:58 masak if you can find a good formal sounding title, I'd be very happy to be 'the guy who keeps on top of bugs, nagging other people about them' :)
19:59 pmichaud "bug wrangler"
19:59 * Debolaz ponders an ubuntu repository for parrot.
19:59 masak pmichaud: I like it.
19:59 moritz "bug bugger"
19:59 masak haha
19:59 masak moritz: wouldn't want to be called a "bugger" actually :P
19:59 dalek r32345 | kjs++ | trunk:
19:59 dalek : [pirc] fix a bug in the parser code; $S0 = print segfaulted, instead of printing an error message saying that's not allowed.
19:59 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32345
20:00 masak associations both to Orson Scott Card's "Ender's Game" and Terry Pratchett's "The Hedgehog Cannot Be Buggered At All"
20:03 dalek r32346 | coke++ | trunk:
20:03 dalek : [t] remove comment pointing to missing file.
20:03 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32346
20:03 jonathan particle: I don't expect I need it for entering the US, if that's what it's for?
20:03 particle yep
20:04 particle jonathan: also, i'm looking at importation now, and notice you've pushed 'use' to INIT time
20:04 particle looks like i'll have to move my imports there too
20:05 jonathan particle: Well, in pre-compiled modules, I think we need to.
20:05 jonathan particle: Not having anything at startup time broke pre-compiled modules.
20:06 jonathan In reality, I think we need to do this at compile time when we encounter the use statement. But then have something in the generated code too that says "OK, is this loaded yet?" and loads it if not.
20:06 kj jonathan: I had requested for a letter. You won't actually *need* one, but it might make things easier,when the guy is inspecting your passport, asking what's your business in the us, and then having a cup of coffee, just to annoy you. (That's my previous experience, anyway :-) )
20:07 jonathan particle: Is it just a PDF that I print myself?
20:07 jonathan It won't do any harm to have it, I guess, though as kj points out, may make it faster through interrogation.
20:07 particle yes, i need your address, dob, and passport #
20:08 particle you can privmsg me, or email jerry.gay@parrot.org
20:08 kj jonathan: I had requested for a letter. You won't actually *need* one, but it might make things easier,when the guy is inspecting your passport, asking what's your business in the us, and then having a cup of coffee, just to annoy you. (That's my previous experience, anyway :-) )
20:08 kj ehm, whoops
20:08 particle purl, be mojo jojo
20:08 purl particle: sorry...
20:08 particle be mojo jojo
20:08 purl Excuse me sir, but can you direct me to the location of where I can locate some eggs for I would like to purchase them so that I can take them home with me and I can eat them today.... And maybe tomorrow.
20:14 dalek r32347 | chromatic++ | trunk:
20:14 dalek : [MMD] Reverted incorrect part of r32189, the refactoring of multi_sig caching
20:14 dalek : out of mmd_dispatch().  As reported by Carl M�sak in RT #60178, this broke the
20:14 dalek : build on Mac OS X.
20:14 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32347
20:15 masak that dalek over there can't spell my name right.
20:15 masak one baffles at the lack of UTF-8 awareness at this late date (2008!)
20:15 moritz masak: uhm, I can read that just fine
20:16 masak hm, maybe it's my decoding settings then.
20:16 moritz no, probably mine ;)
20:16 moritz the irclogs got it wrong
20:16 moritz so it's probably latin-1
20:16 masak yes, I know it is. it's scrambled that way :)
20:16 pmichaud afk, kid pickup
20:17 chromatic http://research.microsoft.com/~sim​onpj/papers/parallel-gc/index.htm
20:18 dalek r32348 | coke++ | trunk:
20:18 dalek : [cage] remove unneeded .pragma
20:18 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32348
20:20 nopaste "particle" at 98.232.28.49 pasted "jonathan: this is my previous importation patch, needs major refactoring now (takes place inside use_statement). note PAST::Compiler.compile()" (78 lines) at http://nopaste.snit.ch/14472
20:22 bacek which op call 'get_bool' method?
20:22 jonathan particle: OK. We can probably still do that too - I need to check. I just wanted to unbreak what turning use into compile time originally did while keeping modules with classes in them working.
20:22 jonathan I mean, obviously, we *must* do it at compile time in the end.
20:22 particle yep
20:23 jonathan We didn't originally, then I switched us to doing so, and there was fallout, so I moved it to $?INIT, which is later than we were doing it but earlier than we did before (we used to emit something to compile the module at runtime).
20:24 jonathan I think that if you just compile it now, you may find that the checks we already have mean it's actually done already.
20:24 jonathan erm, what...
20:24 purl erm, what is the problem?
20:24 jonathan I think if you just compile it now, the checks we have already may mean that it won't get loaded again. I'm just not 100% sure (didn't check yet).
20:25 particle yeah, we need better tests for that
20:25 * bacek found istrue
20:26 jonathan I fear that what you're written would fail for pre-compiled stuff.
20:26 jonathan I mean, if the file doing the importing is pre-compiled.
20:26 particle yes, it will. needs heavy refactor :)
20:27 jonathan :(
20:27 particle i need to grab the namespace object for (e.g. Used::Module::EXPORT::DEFAULT) and iterate over it
20:28 particle bind the symbols to the current block as i go
20:28 jonathan If you factor some of what you wrote there out into a subroutine
20:28 particle well, for now bind to current namespace, because we can't bind to current block
20:28 jonathan And pass it the namespace
20:28 jonathan Then you could just look those up in the code you generated for the pre-compiled case.
20:28 jonathan And then call the sub.
20:28 jonathan So you could share much of the implementation between the two ways.
20:29 jonathan If I understand it correctly.
20:29 particle well, i probably shouldn't be walking the past at all
20:30 jonathan oh, hmm...
20:30 jonathan But yes, I fear it'll want a refactor.
20:31 jonathan I've nothing against a first cut that doesn't work with pre-compiled modules yet, so long as it doesn't break what already does work with them.
20:31 particle i want it for Test.pm
20:31 particle however, it looks like Test.pm is going away anyway
20:31 bacek masak: around?
20:31 particle now that plan ok is etc are in STD
20:32 masak bacek: aye.
20:32 jonathan oh? I didn't know about that change.
20:32 bacek I've send revised patch via RT
20:32 particle we're sticking the test functions in the core
20:32 chromatic It was in the minutes last month.
20:33 masak bacek: sounds good. I'll look at it, but let pmichaud++ have the final say on whether to apply it.
20:34 nopaste "bacek" at 123.243.38.218 pasted "Revised Junction patch" (515 lines) at http://nopaste.snit.ch/14473
20:34 bacek wow. 515 lines
20:34 jonathan chromatic: I thought I'd read them but I musta missed that.
20:35 bacek masak: btw, 'succ'/'pred' handling should be slightly different. AFAIU we always should call 'pop_eh'.
20:36 masak bacek: ok.
20:37 nopaste "bacek" at 123.243.38.218 pasted "Adding pop_eh patch." (20 lines) at http://nopaste.snit.ch/14474
20:37 masak bacek: do send it to RT as well, please.
20:37 bacek masak: check with pmichaud is it correct approach.
20:38 bacek afk # waking up kids, breakfast, etc
20:42 masak bacek: will do. thanks for the patches.
20:51 dalek r32349 | kjs++ | trunk:
20:51 dalek : [pirc] reimplement local label fixup. This is much better than the previous hack. Needs to be completed for all branching instructions.
20:51 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32349
21:01 jonathan Harsh!
21:03 Coke chromatic: if we remove .pragma n_operators... should we just remove all of .pragma?
21:03 * Coke will post that ont he ticket.
21:04 chromatic Are there other .praga bits?
21:05 Coke I didn't see any.
21:05 Coke I think n_operators is the only valid .pragma.
21:06 Coke if you try ".pragma barf", the error message also backs me up.
21:07 pmichaud "num_equal" should be "num_true"
21:07 PacoLinux joined #parrot
21:07 pmichaud also, it would be better if the logic was short-circuiting.
21:22 bacek pmichaud: can you check  http://nopaste.snit.ch/14474 please?
21:23 pmichaud 14474 looks okay to me, especially since it's all temporary anyway :-)
21:24 bacek why it's 'temporary'???
21:25 pmichaud because that's not how increment/decrement should be implemented.
21:25 jonathan pmichaud: Is http://rt.perl.org/rt3/Tic​ket/Display.html?id=58770 actually correct?
21:25 jonathan I think it is - that we should return undef there, but just wanted to check your take on it.
21:25 bacek pmichaud: and how it should be implemented?
21:25 masak pmichaud: I'll commit 14474, then.
21:25 pmichaud I commented on it when it was first committed
21:26 pmichaud jonathan: bare return should ultimately return an empty capture
21:26 bacek pmichaud: ah. ok.
21:26 pmichaud bacek: I'm looking for my email or rt post
21:26 jonathan pmichaud: Ah, OK. Which is classed as defined?
21:26 jonathan Or is that unspec'd?
21:26 pmichaud jonathan: it's either an empty capture or an Object
21:26 jonathan I guess it's false in boolean context...
21:26 pmichaud if an Object, then it's undefined.
21:26 jonathan Heh.
21:27 jonathan OK, so it needs a post to p6l to clarify?
21:27 pmichaud I suggest scanning the #perl6 logs and re-checking the synopses
21:27 pmichaud I think it may have been clarified already
21:27 pmichaud or, just check on #perl6, I bet they can answer quickly.
21:28 dalek r32350 | masak++ | trunk:
21:28 dalek : [rakudo] pop_eh patch on succ/pred by Vasily Chekalkin (bacek++)
21:28 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32350
21:30 pmichaud bacek: http://rt.perl.org/rt3/Ticket/D​isplay.html?id=59596#txn-486960
21:32 bacek pmichaud: Adding 'increment' to Object means hacking parrot's internal Object?
21:32 pmichaud bacek: not at all, we just define the increment vtable function in Perl6Object
21:33 bacek pmichaud: ok
21:33 * bacek looking at r27929
21:34 pmichaud however, one can avoid the vtable function altogether by implementing .succ and .pred on Int and Num, and then writing prefix:<++> in terms of always using succ and pred
21:34 pmichaud or, use mmd to solve it
21:34 pmichaud that might be better anyway.
21:35 pmichaud using find_method is definitely not the approach I want to use here.
21:37 MariachiElf joined #parrot
21:39 jonathan pmichaud: From S06: "The return function preserves its argument list as a Capture object,"
21:40 jonathan So that seems to mean it's an empty capture.
21:40 bacek pmichaud: got it. I'll try to implement mmd based 'succ'/'pred'
21:40 bacek afk # $self->move($kids=>school)
21:40 masak bacek++
21:41 bacek holy... @kid=>school. ;)
21:45 jonathan How do you specify in irssi which server you want to connect to #perl6 on? :-)
21:45 moritz jonathan: /join -freenode #perl6
21:45 moritz jonathan: after a /connect irc.freenode.org of course
21:46 stockwellb joined #parrot
21:46 jonathan OK, hope that does it!
21:47 stockwellb I'm looking for a little guidance on role collision, aliasing and exclusion. I looked at the tests for composition and I just don't get it. Anyone know of any other places that might have some examples?
21:47 jonathan stockwellb: I know a bit about that stuff. What do you need to know?
21:47 moritz jonathan: in parrot? or in Perl 6?
21:48 stockwellb PIR, sorry.
21:48 jonathan moritz: Will, I implemented both, so... :-)
21:48 moritz hehe ;)
21:49 jonathan The tests plus The Spec should be the best source of info.
21:49 stockwellb I'm really trying to get off the ground here with composition. I've got some trivial code that I'm playing with. I've created a conflict and I'd like to resolve it.
21:49 jonathan OK.
21:49 stockwellb My puzzle starts with the tests.
21:50 stockwellb for instance...
21:50 stockwellb $P1.'add_role'($P0, 'exclude_method' => $P3)
21:51 stockwellb this is in composition_6.pir
21:51 stockwellb I don't understand the use of the ResixableStringArray?
21:52 jonathan This gives a list of methods that are in the role to not compose.
21:52 jonathan So if you have two roles both brining in a method of the same name and you want to pick which of them you want the role from
21:53 jonathan Then you just pass an array with that method name in it to one of them - the one you want to exclude from.
21:53 jonathan As in, the one to ignore the method from.
21:53 stockwellb alright, now what if these roles are in a class and the class has a method with the same name.
21:54 stockwellb precedence?
21:54 purl i think precedence is precedence.
21:54 jonathan That is by default a conflict.
21:54 jonathan Now, in Perl 6, we actually don't want it to conflict. We want the class one to always win.
21:54 jonathan So we get a list of the methods in the class and exclude based upon that.
21:55 stockwellb I only found 'exclude_method' in the test. Where in the docs are these named parameters located and what others might there be.
21:55 jonathan That's functionality based upon the primitives though, not out-of-the-box.
21:56 stockwellb I've seen no examples of iterating through a classes methods. Let me guess, in the tests :)
21:56 jonathan Also alias for bringing them in renamed. And resolve, which you specify on the class rather than when doing a role. This final one is what we use in Rakudo, in fact.
21:56 jonathan In PDD15, see Role Conflict Resolution.
21:56 jonathan This section defines/explains all three of them.
21:57 stockwellb It seems its the PDD's that I keep forgetting to look in. I'm sorry. One day I'll get it.
21:57 jonathan Use inspect to get at a list of the methods. Well, actually a hash of them.
21:57 jonathan :-)
21:57 jonathan np
21:58 stockwellb Thanks jonathan, I'm off to read PDD15.
22:00 jonathan OK, hope that helps, feel free to ask if you've any more questions.
22:05 stockwellb Jonathan: I do have a another quick question.
22:06 jonathan Sure
22:06 stockwellb PDD15 has the named parameters as resolve, exclude and alias; yet the test file uses exclude_method?
22:07 stockwellb is it alias_method and resolve_method?
22:07 jonathan Oh, yes.
22:07 jonathan I think we have to rename them so we could do the same with attributes.
22:08 jonathan Argh. PDD needs patching, then I think. Are there not tests for alias_method?
22:09 stockwellb there is a test fro alias_method, I just had not gotten to it yet.
22:09 jonathan OK.
22:10 stockwellb Although I get a chuckle out of the role of burninator?!
22:11 jonathan ;-)
22:11 stockwellb and BURNINATION
22:11 stockwellb very strange analogies.
22:15 Whiteknight joined #parrot
22:17 Zaba_ joined #parrot
22:18 jonathan stockwellb: If you really want the source, http://www.homestarrunner.com/sbemail58.html
22:19 chromatic Be careful with that.
22:19 chromatic I showed it to my attorney a while back, and now everyone in her office thinks she's crazy.
22:24 masak I can't imagine why.
22:26 dalek r32351 | kjs++ | trunk:
22:26 dalek : [pirc] fix label handling for all instructions + store label names + offset, so that we can switch between output (name, or offset). Output choice is yet to be implemented.
22:26 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32351
22:32 stockwellb Burninating the country side...
22:33 stockwellb Ok, chromatic composition_10.pir is way more funny now.
22:39 grim_fandango_ joined #parrot
22:46 Coke szabgab?
22:46 purl hmmm... szabgab is a box hater
22:47 moritz szabgab is also working on Padre
22:47 purl okay, moritz.
22:47 masak hate those boxes.
22:47 Coke msg szabgab I just installed Padre 0.14 the other day. did cpan> install Padre again today to get 0.15. make test failed on SMUELLER/File-ShareDir-PAR-0.02.tar.gz and SZABGAB/Padre-0.15.tar.gz
22:47 purl Message for szabgab stored.
22:51 jonathan my $x; $x -= 3; # Multiple dispatch failure
22:52 * jonathan wonders if we should be specifying some MMD cases on Undef.
22:52 moritz I think the consensus was that my $x; should store an Object proto in $x, not an Undef.
22:53 jonathan Ok
22:53 masak yes. "Object is the new Undef."
22:54 jonathan Yes. But still need to write those multi variants somewhere, anyway.
22:54 jonathan > my $x; say $x.WHAT;
22:54 jonathan Failure
22:54 masak FAIL.
22:55 jonathan Did it make it into the spec somehwere that it should be Object?
22:55 Limbic_Region joined #parrot
23:00 moritz I think it was a #parrot consensus, not a #perl6 one ;)
23:00 jonathan Ah. :-)
23:00 jonathan OK. I think that means it can't just be the Object proto we stick in there, though.
23:01 * moritz can't remeber exactly
23:01 jonathan Otherwise a my $x; $x -= 3; does something in place, and thus would end up changing the Object proto, which is wrong.
23:01 jonathan I think I'll leave this one for another day.
23:01 masak jonathan: ISTR there were also problems with my $x; $x ~= 'OH HAI';
23:03 jonathan Yes, it's the same issue I think.
23:03 jonathan I think we can deal with it when doing the other container/value refactors that are starting soon.
23:05 particle left #parrot
23:06 * jonathan decides to call it a day
23:07 moritz jonathan: (for reference) http://irclog.perlgeek.de/​parrot/2008-10-01#i_595800
23:08 jonathan OK, good. :-)
23:16 TimToady the Object proto is not the $x container, so I don't see a problem with $x = Object - 3 offhand
23:17 TimToady (assuming warning suppression based on -=)
23:18 jonathan TimToady: I was thinking more $x = Object; $x -= 3;
23:18 TimToady no difference
23:18 jonathan TimToady: This only matters though perhaps if we actually compile it down to the Parrot -=, which wants to do it in place.
23:18 TimToady $x is both an lvalue and an rvalue
23:19 chromatic $x is Japanese?
23:19 jonathan OK, does that imply that $x = Object makes a clone of the Object proto-object?
23:19 TimToady Parrot is confused :)
23:19 jonathan Or does $x -= 3 really just mean "$x = $x - 3" here?
23:19 jonathan What about $x++?
23:19 TimToady no, $x is the lvalue, and Object is only the rvalue
23:19 purl okay, TimToady.
23:20 TimToady the rvalue is used readonly
23:20 TimToady well, it's only read
23:21 TimToady if parrot can't keep lvalues and rvalues straight it's got problems...
23:26 jonathan Report: http://www.rakudo.org/2008/11/m​y-first-day-back-on-rakudo.html
23:26 * jonathan needs sleep
23:27 particle joined #parrot
23:34 bacek_ joined #parrot
23:36 Limbic_Region what is the best target for rakudo testing - fulltest, spectest, ?
23:36 chromatic spectest_regression, I believe.
23:37 Limbic_Region salamat po
23:38 Limbic_Region oh, and does anyone know of a perl implementation of an algorithm to find the LCSS of 3 or more strings using DP or otherwise?
23:44 dalek r32352 | kjs++ | trunk:
23:44 dalek : [pirc] fix reg.alloc.optimization problem with multi-line statements.
23:44 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32352
23:45 chromatic kj "Writing a register allocator is easy!"
23:48 particle Limbic_Region: spectest_regression is also now spelled spectest
23:48 purl okay, particle.

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

Parrot | source cross referenced