Parrot 0.8.1 "Tio Richie" Released | parrot.org | 588 RT | 11 trac
Set by moderator on 1 December 2008.
jonathan chromatic: Ah, who broke it? 00:04
I'm pretty sure it worked before I went. :-|
00:07 tetragon joined
jonathan Gah, t/spec/S12-methods/multi.t and t/spec/S12-methods/default-trait.t certainly worked. 00:07
chromatic: rt.perl.org/rt3/Public/Bug/Display.html?id=60910 seems to suggest you think it's fixed? 00:08
00:09 AndyA joined
chromatic I fixed part of it, but I'm not sure that the Perl6MultiSub does the right thing. 00:12
I don't want to back out the switch to VTABLE_isa in that patch, for example.
jonathan Do we know which patch in particular broke it in the first place? 00:18
00:21 lu_zero joined
chromatic r33263 00:30
jonathan chromatic: Ah, yes. 00:35
Perl6MultiSub doesn't yet act like it's a ResizablePMCArray.
I held of making it that way to wait and see if we'd drop MultiSub inheriting from that though.
*off
(I'm really not convinced that it should.) 00:36
Of course, we need a way to do those style of things (enumerate the things in it and iterate over them)
So I expect the vtable methods that need implementing to make it work with this patch would be needed anyways.
(And easy to write).
00:36 tak joined
chromatic I added one since then. 00:37
I really don't like the RPA inheritance.
It makes us look like we don't understand objects, which is silly, because at this point I think I can say that I sort of do.
jonathan OK, you added those methods and we still manage to fail the tests? 00:38
That's odd. And shouldn't happen.
I'll check them tomorrow
But yes, RPA inheritance should go. It stops us using the multi dispatch cache easily on multi subs for one. 00:39
chromatic I added get_pmc_keyed_int. 00:40
jonathan And elements?
purl i heard elements was at www.privatehand.com/flash/elements.html
chromatic No.
That may be the problem.
jonathan Yes. It'd liikely segv. :-)
Hmm. Maybe not. 00:41
I dunno what it'd do. Nothing at all sensible.
chromatic It's likely wrong though.
I can convert the MultiSub PMC to use PMC attrs as storage tomorrow.
jonathan That'd be nice.
If we can define the interface (which VTABLE methods) you need to implement when subclassing MultiSub, that'd be even nicer. 00:42
Or maybe the PDD already does that.
chromatic I don't think any PMC's POD does that.
jonathan True. 00:43
Well, I think the objects PMC suggests what vtable methods are expected to work on the relevant PMCs.
Anyway, I need to sleep...tired after flying back from the UK. 00:44
Will look at it a bit more tomorrow.
Got a bit more code on my laptop towards bytecode annotations too. 00:45
00:51 adu joined 01:12 Limbic_Region joined 01:13 cotto joined
adu hi 01:14
01:17 gmansi joined
particle hi adu 01:22
adu I was looking into some memory leaks, and I think I narrowed it down to 4 functions
Parrot_readbc, Parrot_invokecc_p, Parrot_thaw, and PackFile_unpack 01:23
still not sure where it is 01:24
shall I pastebin my results? 01:26
particle better to enter a trac ticket 01:27
parrot trac?
purl i heard parrot trac was trac.parrot.org/parrot/
01:40 Whiteknight joined, ChrisDavaz joined 01:52 MariachiElf joined
adu i updated the ticket 02:03
tewk Infinoid: 02:08
02:16 ChrisDavaz joined 02:25 gmansi joined 02:28 kid51 joined 02:29 Util_ joined
Util_ purl: seen cogent? 02:36
purl cogent was last seen on #perl 127 days, 2 hours, 5 minutes and 53 seconds ago, saying: gentoo-- # "just disable tests" blargh [Jul 29 00:31:01 2008]
02:43 mfredrickson joined 03:08 gmansi joined
Infinoid tewk: 03:08
03:57 allison joined
tewk are imcc and contexts still suppose to leak like a seive? 04:00
04:02 elmex_ joined 04:22 jimmy joined
jimmy cotto: ping 04:22
04:34 ChrisDavaz joined 04:37 Andy joined 04:55 wycats joined
wycats is anyone around who works on cardinal? 04:56
I can't figure how to get parrot to compile a ruby file 04:58
tewk cd languages/cardinal; make; ../../parrot cardinal.pbc myruby.rb
wycats main: Packfile loading failed 05:00
Parrot VM: Can't stat cardinal.pbc, code 2.
Tene wycats: first run 'make' in languages/cardinal/
wycats ah yes
tewk jhorwitz: ping 05:08
Util Andy: are you Andy Lester? 05:13
Tene Util: yes he is.
Andy Who wants to knkow? 05:14
Are you Charlize Theron, wanting to give me a backrub?
Util Bruce Gray; Util of PerlMonks. I am just finishing an email to you, thinking I would not catch you on IRC.
Andy I'm all for email, too. 05:15
I'm in AIM.
I'm everywhere!
Hey look, I just happen to be chatting w/David Hand's roommate 05:16
Tene It's true! He's even in my hotel room with me right now.
Util No way!
Andy Tene: I am NOT paying $10 for softcore porn.
Util I should IRC more often. 05:17
Andy Util: David says: "Thank you for the reminder, I'll respond to email tonight" 05:19
Tene pmichaud: around?
Util Thanks so much, Andy! 05:20
Andy you're welcome.
Tene pmichaud: the problem isn't that the sub the EH is in needs its context marked, the problem is that the sub we're throwing exceptions from, which is called from the sub with the EH, needs its context refcounted. set_pointer can't *possibly* be the right place to mark the context of a sub that we're going to be throwing something from later on. 05:26
Infinoid Tene: ping 05:45
Tene Infinoid: pong 05:47
Infinoid Tene: tewk++ and I have made some progress figuring out your polyglotbot bug. It's so obscure, it's beautiful.
Tene orly?
purl YA RLY.
Infinoid for some reason, running it under screen have caused the planets to align in such a way that the heap is not executable. (verifiable in /proc/<pid>/maps.) 05:48
parrot is calling the right stuff to get an executable chunk of memory to write JIT code into, but since the executable bit isn't set (due possibly to a glibc bug, not sure yet), executing it results in SIGSEGV
dunno what screen does differently, yet. but feather3 is running on top of feather1 or something, right? 05:49
as a workaround, you might try running screen on the *real* machine and then sshing into feather3 from there, and running polyglotbot in that.
Tene pmichaud: hmm... maybe it's not the same problem as before... 05:50
Infinoid writes up an inscrutible treatise on executable heaps and JIT for the list 05:53
05:55 tetragon joined
Tene pmichaud: this is definitely a different bug than before. 05:57
unless... maybe I'm a moron.
Infinoid maybe I am too. but that doesn't mean either of us are wrong. :) 05:58
Tene ... yeah, I'm a moron. 05:59
I've spent the night trying to fix a bug that was already fixed. The problem with resumable exceptions is that EHs are still being auto-disabled. 06:00
lemme see if all tests pass like they should with that behavior off.
looks like one of the tests in threads.t still freaks out. 06:04
Allison gave me a fix for this, and I forgot about it.
the nopaste is long-gone. 06:07
06:10 Hadi joined, Hadi left 06:15 TiMBuS joined
jimmy I think I'm the first volunteer for translation of Parrot's documentation in chinese. 06:20
cotto That's quite possible. 06:21
Did you read the #ps log?
jimmy yes 06:22
cotto ok
jimmy a one is better than none 06:23
cotto I recommend adding a comment to ticket #13 ( trac.parrot.org/parrot/ticket/13 )
A comment from a willing volunteer would help get the process started. 06:24
jimmy ok 06:25
cotto jimmy++
jimmy done :) 06:27
cotto Thanks. I hope you can be patient while we get the infrastructure set up. 06:28
jimmy in anticipation. 06:29
I am paying close attention to pipp and documentation i18n. 06:34
and also perl6. 06:35
dalek r33450 | tene++ | trunk: 06:37
: [exceptions]
: * Remove the 'automatically disable exception handlers' behavior
: * Resumable exceptions work properly now.
: * Dumb down the builtin exception handler for threads on allison's
: recommendation. This should probably be fixed properly eventually.
: * One additional parrot test passes. No additional fails.
diff: www.parrotvm.org/svn/parrot/revision?rev=33450
cotto wow. Worf does I M Weasel's voice. 06:50
My world just got a little bit weirder.
not to mention that The Red Guy also does Buster in Tiny Toons 06:59
07:18 uniejo joined
jimmy Everyone registered on trac.parrot.org seems to be permitted to change properties 07:21
dalek r33451 | tene++ | trunk: 07:38
: [continuations]
: * Fix logic for invalidating return continuations when we create a
: continuation. I'm pretty sure that the previous code wouldn't have
: ever worked.
: * Fix the location of pop_eh in the (previously failing) test for this.
: * This (probably) resolves RT #56458
diff: www.parrotvm.org/svn/parrot/revision?rev=33451 07:39
07:52 alvar joined 08:10 tak joined 08:21 chromatic joined 08:31 clunker3_ joined 08:53 Ademan joined 09:10 iblechbot joined 09:12 gaz joined 09:19 tomyan joined, tomyan1 joined 10:10 tak joined 10:13 Hadi joined, Hadi left 10:18 ff-wonko joined 10:40 leo joined 11:04 MariachiElf joined 11:07 kj joined
dalek r33452 | julianalbo++ | trunk: 11:12
: fix string is_same for no same pmc class case
diff: www.parrotvm.org/svn/parrot/revision?rev=33452
12:00 AndyA joined 12:08 tak joined 12:30 mfredrickson joined 12:34 ff-wonko joined
dalek r33453 | julianalbo++ | trunk: 12:41
: [imcc] fix c++ build
diff: www.parrotvm.org/svn/parrot/revision?rev=33453
12:41 ff-wonko joined
dalek r33454 | kjs++ | trunk: 13:00
: [MANIFEST] update manifest after adding ncigen files.
diff: www.parrotvm.org/svn/parrot/revision?rev=33454
r33455 | kjs++ | trunk: 13:02
: [ncigen] fix svn props.
diff: www.parrotvm.org/svn/parrot/revision?rev=33455
13:18 iblechbot joined 13:21 clunker9_ joined 14:10 bacek joined 14:13 ruoso joined, jimmy joined
dalek r33456 | pmichaud++ | trunk: 14:15
: [core]: Add tests for trac #11.
diff: www.parrotvm.org/svn/parrot/revision?rev=33456
jonathan pmichaud: How's the parameter passing refactor going? 14:16
jimmy Ts there no standard for pir codes? the codes under runtime was disordered.
s/Ts/Is/ 14:17
pmichaud jonathan: got distracted working on a couple of other issues (mostly subid stuff) 14:18
kj jimmy: you mean coding standards? 14:19
jimmy yes
kj no, except 'common sense' and general esthetics 14:20
Coke to enforce pir coding standards, we were going to wait for a PIR parser in PCT, I think. Then we could read in PIR and emit it properly formatted.
kj Coke: pirc can do pretty printing ;-)
(but it's not finished yet) 14:21
14:21 gryphon joined
jonathan pmichaud: OK. 14:21
14:22 ff-wonko joined
jimmy pmichaud: .const int TESTS = 90 ? not 89 ? 14:23
hope it right :) 14:24
jhorwitz tewk: pong from last night :) 14:33
14:35 ff-wonko joined 14:37 ff-wonko joined
Coke kj: that'd work too. 14:38
jimmy: I had started a perl script to do it (pirtidy.pl), but it wasn't going anywhere, and it seemed silly to have 2 things that knew how to parse PIR. 14:39
Coke chuckles at the PS1 here: blag.xkcd.com/2008/12/03/some-lists/ 14:50
jimmy coke: i am improving vim indent plug. 14:54
coke: and a problem blocked me 14:55
15:03 rafl joined
Coke something I can help with? 15:06
15:08 contingencyplan joined 15:10 Hadi joined, Hadi left
Infinoid does anyone know what sort of machine feather3 is running on? specifically, whether the parent OS is running a 64-bit kernel? 15:14
Infinoid has a theory involving x86 kernels ignoring the NX bit and a parent 64-bit kernel setting the bit without xen/x86 knowing about it 15:16
jhorwitz IIRC, it's a P4 x86 (32-bit)
Infinoid oh hey, jhorwitz, had a question for you too. :) 15:17
jhorwitz uh oh
jhorwitz learns to keep his trap shut
Infinoid jhorwitz: tewk mentioned you may have added a ticket about SIGSEGV when executing JIT code
jhorwitz mm, yes.
Infinoid so we were wondering whether you might be seeing the same issue that's preventing polyglotbot from running.
jhorwitz i'd recognize the stack trace.
Infinoid in this case, it's because the heap is non-executable, and this can be verified in /proc/<pid>/maps 15:18
ok, one moment
jhorwitz right, i saw the thread
nopaste "Infinoid" at 75.31.91.111 pasted "JIT crash on feather3" (34 lines) at nopaste.snit.ch/14790 15:19
Infinoid jhorwitz: what's the ticket number? I looked at recent stuff and didn't see anything that looked familiar 15:20
jhorwitz digs through his pile 15:21
RT #60338
15:22 tomyan joined 15:23 tomyan1 joined
tewk jhorwitz: do you have a machine we could login to and look at your bug, or could you recreate it on feather? 15:23
Infinoid hmm, your backtrace looks like something different, to me
jhorwitz Infinoid: that's the only JIT-related ticket i've submitted 15:24
tewk: i'm going to back out the fix on my server and see if it still breaks. if so i'll try to recreate on feather. 15:25
tewk jhorwitz: I forgot, yours looks to be more of a constant pmc issue. 15:26
if you can recreate the env on feather, I'll look at it.
jhorwitz ok. probably a good idea to get mod_parrot set up there anyway... 15:27
Infinoid I'm off to work, thanks guys 15:29
15:37 Debolaz joined 15:38 jimmy joined
jimmy coke: i got it worked 15:39
nopaste "jimmy" at 121.34.36.48 pasted "improving indent_pir.vim" (65 lines) at nopaste.snit.ch/14791
moritz jimmy: can you send that patch to the list please? 15:41
jimmy moritz: where ? 15:42
moritz I can try it out later today (hopefully) and apply it
purl: parrot-dev?
purl moritz: bugger all, i dunno
moritz parrot-dev@lists.parrot.org
pmichaud purl, parrot-dev is parrot-dev@lists.parrot.org
purl OK, pmichaud.
jimmy i am in the blacklist.
i am using nopaste all the time. :( 15:43
tewk jimmy: can you get a US email account like gmail.
you could set up gmail to foward to your normal account.
moritz tewk: is that so trivial in China? 15:44
moritz remebers some wild stories about firewalling
tewk just a thought.
purl i think just a thought. is _smtp_code_220 really an object method ?
moritz purl, forget just a thought
purl moritz, I didn't have anything matching just a thought
pmichaud yes, I suspect it might not be as easy for jimmy as it is for the rest of us. :-|
jimmy this is just a simply patch
tewk he can't log in to gmail? I'll create him an account if that will help.
moritz ok, I hope I remeber to pick it up later
tewk: dunno, just a thought :) 15:45
jimmy gmail sometimes does not work in china
for GFW of china
moritz unless somebody beats me to it, of course
tewk guess we need to create a irc to gmail gateway :)
pmichaud or maybe a nopaste-to-email gateway.
jimmy pmichaud++ 15:46
tewk pmichaud: that would be much easier.
jimmy i just leave my email to nopaste.
particle does parrotbug utility work?
pmichaud jimmy: perhaps submit the patch as a trac ticket?
tewk I'll commit it
particle yes, trac ticket will do it too :)
pmichaud that causes it to go to email *and* puts it in the tracker, which is where patches normally should go anyway :-) 15:47
jimmy simple patch should be simply done. if anyone have a rest time.
sometime i got a lot of patches. 15:49
hmm, trac ? 15:50
purl trac is a web-based software project management and bug/issue tracking system emphasizing ease of use and low ceremony. It provides an interface to the Subversion revision control systems, integrated Wiki and convenient report facilities. projects.edgewall.com/trac/ or Python, SQLite and ClearSilver or killing killtrac or a bug-tracking tool
pmichaud trac.parrot.org
moritz trac is also at trac.parrot.org/parrot/
purl okay, moritz.
pmichaud patches?
purl We don't need no stinkin' patches!
tewk jimmy: committed 15:51
purl The chicken is involved, but the pig is *committed*.
jimmy pm: i know it
:)
moritz purl, forget patches
purl moritz: I forgot patches
pmichaud purl, patches is trac.parrot.org/parrot/newticket
purl OK, pmichaud.
dalek r33457 | tewk++ | trunk: 15:52
: [indent_vim] patch via Jimmy Zhuo
diff: www.parrotvm.org/svn/parrot/revision?rev=33457
jimmy tewk: many thanks. 15:54
moritz jimmy++ 15:55
pmichaud tewk: where did we leave off with subid? I think I got called away suddenly yesterday when we were discussing it. 16:00
do I need to create some more tests? 16:01
particle (more tests)++ 16:06
interview &
Tene pmichaud: my retcontinuation upgrade patch last night also modified the test. It passes for me as it is in trunk currently. I moved the pop_eh to after the handle_errs: label. Is it still failing for you as it is in trunk? 16:08
pmichaud I didn't see the test patch... just a sec 16:12
Tene: yes, you ended up with the same test I did. 16:13
no, it doesn't fail for me in trunk. 16:14
16:14 masak joined
Tene Great. I'm also a little concerned about the sanity of that fix, as it looke dlike it would have never worked i nthe first place. the most significant problem was that it was starting on the newly created continuation itself, which is never going to be a retcontinuation, I think. I need to scan trunk for other uses. 16:15
Yeah, that's how it's used everywhere. 16:16
tewk pmichaud: subid passing all tests, I'm going to commit.
pmichaud Tene: I ran into the exact same issue when doing lexicals. I completely agree that invalidate_retc_context was broken.
allison and I had a long, um, "discussion" on that issue a couple of weeks ago. 16:17
Tene Okay, that's good to hear.
pmichaud as written, invalidate_retc_context never walked up the caller chain.
Tene The other change I made in invalidate_retc_context was to make it chase the caller_ctx of contexts instead of ctx->current_cont->from_ctx
tewk pmichaud: commit ok with you?
pmichaud tewk: if all tests pass, definitely. 16:18
Tene: yes, following ->from_ctx is what meant that it never went to callers.
because the ->from_ctx indicates the context the continuation is being invoked _from_, not where it's returning to.
in the case of a retcontinuation, from_ctx is the "called context", never the "caller's context" 16:19
jonathan pmichaud: For getting rvalue slices working - you thinking of just implementing postcircumfix:[ ]?
pmichaud jonathan: yes.
and postcircumfix:<{ }>
we have to rethink assignment a little bit, also. 16:20
S06 explicitly mentions a "Proxy" object, with FETCH and STORE methods.
dalek r33458 | tewk++ | trunk:
: [subid] lookup by subid, then by sub name, then by find_sub_not_null_p_sc works, all tests pass
diff: www.parrotvm.org/svn/parrot/revision?rev=33458
pmichaud I need to learn a bit more about Parrot roles. 16:21
jonathan Yes, I saw the Proxy object stuff.
pmichaud tewk: why the "by sub name" part?
I would've thought just "lookup by subid, then by find_sub_not_null_p_sc"
jonathan The copy approach won't quite work for that case. 16:22
pmichaud jonathan: I'm thinking we'll end up with a Container role
Coke poor jhi.
pmichaud or Perl6Container
I can see lots of places where we can improve assignment if we do a bit of mixin 16:23
jonathan It'll be nice if we can avoid having to explicitly check whether what we're assigning to is a Proxy object.
And have it just fall out of some kind of dispatch. 16:24
pmichaud on a slightly different topic, I think that "Perl6Scalar" should be named "Perl6Var"
jonathan Ah, good name.
16:24 tewk joined
pmichaud I also think that "ObjectRef" and "Perl6Var" should be sibling classes 16:24
inheriting from a common ancestor (and not one from the other)
I'd like to see what we currently have as "ObjectRef" go into the Parrot core, perhaps as PMCRef or Ref or something. 16:25
(there's already a Ref type, I don't know that it works as well as our ObjectRef, or that anyone uses it.)
but yes, I think we can get assignment to fall naturally out of dispatch 16:26
without having to do a bunch of specific tests for each type.
jonathan I'd prefer that.
I can offer answers on roles stuff, when you get to the point that you have questions. 16:27
I know a little bit about roles in Parrot. ;-) 16:28
pmichaud do roles act like classes in that we can declare methods directly in PIR by placing the method in a "role namespace"? Or do we have to explicitly "add_method" them?
tewk irclog? 16:31
purl i heard irclog was irclog.perlgeek.de/parrot/today or see also: infrared clogs
jonathan pmichaud: I *think* it will grab 'em from the namespace. 16:32
I'm pretty sure Rakudo relies on that to work, in fact.
pmichaud jonathan: okay. I'll check it out soon then.
right now I want to see how far tewk++'s subid modifications get us towards getting rid of the 'get_outer' hack. 16:33
and possibly to update PCT to reference subs by subid instead of name.
tewk pmichaud: by sub nmae is for backwards compat, mostly anan subs 16:35
when we start breaking and fixing things, we will have to do that one.
pmichaud ...tewk: but subid should default to the name anyway?
16:35 Lorn joined
pmichaud .sub "foo" :anon # can still look up by subid "foo" 16:35
the only place where lookup by name might be needed is if we already have 16:36
.sub "name" :subid("othername")
tewk right, I'll fix that.
pmichaud however, in this case find_sub_not_null would catch it.
tewk right.
pmichaud so the only _other_place where it would fail is
.sub "name" :anon :subid("othername") 16:37
but I just don't think there are that many of those in the codebase. (Exception: PCT generates them.)
(but PCT can/will be fixed.)
tewk well it works. but I will clean that up
pmichaud so, I guess I suggest leave lookup by name in there by now until I get PCT updated. 16:38
s/by/for/
tewk sounds good
pmichaud tewk++ # I'm _really_ pleased this is happening fast 16:39
tewk we can break and fix subid this week, and nsentry right after the release 16:41
afk 15min
pmichaud why does nsentry have to wait until after release?
jhorwitz tewk: re the JIT segfault, everything works on feather just fine. will try to recreate on my server. 16:55
nopaste "pmichaud" at 72.181.176.220 pasted "patch with more failing subid tests (for tewk++)" (54 lines) at nopaste.snit.ch/14793 16:58
Infinoid tewk: "POSIX says that the behavior of mprotect() is unspecified if it is applied to a region of memory that was not obtained via mmap(2)." -- my mprotect(2) manpage 17:00
so I'm not so sure we should be using posix_memalign() for JIT code buffers.
that's a fairly easy fix, though I dunno how to do it on non-posix platforms 17:02
tewk Infinoid: i didn't write the executable allocator, but we can change it to mmap pretty easy, maybe we need a executable arena 17:04
Infinoid I'll work up a patch 17:05
tewk pmichaud: I forgot to deprecate it remember.
pmichaud ...deprecate what?
:nsentry is a new feature, no deprecation involved
tewk ok not nsentry, but method and vtable
pmichaud oh, that method and vtable imply anon? 17:06
tewk yeah
pmichaud okay.
(whew!)
I was thinking I'd have to wait until release to start using nsentry. :-(
tewk you can use all of then right now, it just some of the backwards compat can't come out until after the release. 17:07
s/then/them
pmichaud excellent.
but see nopaste 14793 for my blocker on unicode names
tewk I'll fix that, I wanted to get whats working now in, and then fix unicode. 17:09
tonight++
We need a save nopaste url as patch script. 17:11
Infinoid uh 17:15
#!/bin/sh 17:16
wget "nopaste.snit.ch/$1?tx=on" -O $1.txt
17:18 wycats joined
pmichaud I'll go ahead and start moving PCT to properly use subids, now that they work. 17:23
that'll probably be enough for me to start cleaning up rakudo, now that I think about it. 17:24
but, after lunch++
kj patches? 17:27
purl patches is trac.parrot.org/parrot/newticket
17:37 ruoso joined
jhorwitz tewk: the JIT segfault from #60338 no longer occurs on my server 17:37
^ and Infinoid 17:38
masak jhorwitz: good evening 17:41
jhorwitz masak: good afternoon :) 17:42
masak jhorwitz: anything I can do to help with the November <-> mod_perl6 thing?
jhorwitz actually, i have a list of things... :)
well, just two 17:43
purl somebody said just two was good
masak purl: forget just two
purl masak: I forgot just two
jhorwitz 1. all file paths need a configurable prefix. relative paths don't work since mod_perl can't chdir safely. 17:44
masak that's an aim of mine anyway 17:45
that's how it should be, always
jhorwitz 2. all URLs need a configurable prefix as well, since we'd wait to access november from non-root urls like /wiki
s/wait/want
masak aye
sounds perfectly reasonable as well
jhorwitz everything else is CGI related 17:46
which is farily easy
masak that second thing'll probably be a property of the Dispatcher, somehow
jhorwitz: I'll look into those two tonight
jhorwitz masak++ :)
i tweaked things manually, and it worked great
masak collaboration++
jhorwitz but didn't know where it belonged permanently. 17:47
masak jhorwitz: great!
jhorwitz: any chance you could send those changes?
jhorwitz they were hardcoded to my config, and i didn't catch everything, so probably not worth the effort 17:48
masak oki
jhorwitz i *will* send CGI changes though
masak goodie
jhorwitz the only thing we can't do yet is capture headers from STDOUT (e.g. cookies), so i need to figure out what to do there 17:49
masak hm 17:50
jhorwitz mod_perl uses +ParseHeaders, but i don't have output filters in mod_parrot to support that yet.
so basically the cookies get lost. 17:51
masak that's bad for sessions :/ 17:52
jhorwitz nods
as a temporary fix, we'll probably have to check for mod_perl6 and call its header routines if we're running under it.
masak that's acceptable. 17:53
jhorwitz or have ModPerl6::Registry do the dirty work...that would be a nice workaround. 17:54
jhorwitz thinks harder
jhorwitz hurts his brain
masak careful. :) 17:55
Coke why do we have yet another memory management system in pirc? 17:56
moritz because YES WE CAN
moritz ducks
masak (sometimes it feels like we were all part of that election. I may not have voted, but...) 18:02
moritz you mean, the americans had just as much influence as we had? ;-)
masak perhaps even more :)
18:04 ff-wonko joined
masak food & 18:07
18:10 ffwonko joined 18:11 Andy joined 18:12 kj joined
Coke kj is back: why do we have yet another memory management system in pirc? I'm curious why the GC stuff isn't appropriate. 18:18
18:19 wycats_ joined
masak pmichaud: I need to print parts of a line in Rakudo and then flush the outpur? how do I do that? 18:20
s/r\\?/t./
Coke in perl6 spec, or in rakudo impl? 18:22
(I see on mention of flush in t) 18:23
moritz S16 is severely undertested.
18:24 Theory joined 18:29 wycats joined 18:38 dngor joined 18:39 workbench joined
masak Coke: in Rakudo impl, but I'll look up the test for now, and see what I can make of it. 18:44
followup q's: how do I (a) autoflush, (b) flush before input? 18:45
pmichaud masak: as moritz notes, S16 is severely undertested/unspecced. Also, I hope to be moving Rakudo's IO to the new Parrot IO subsystems soon. (more) 18:48
perhaps you could propose what you _think_ it ought to look like, if S16 doesn't say already? ;-) 18:49
masak good idea 18:50
purl masak: Good Idea: Singing Christmas carols to your neighbors. Bad Idea: Singing Christmas carols to your neighbors on the Fourth of July.
masak pmichaud: I'll just finish this pizza, then I'll get right on it.
pmichaud masak: okay. I suspect we could output something reasonably quickly.
enough to get you through your current needs, at any rate :-) 18:51
masak no rush.
this one is workaroundable (and not November-related)
moritz thinks about $handle.flush and $handle.buffering(None|Line|Block) 18:52
masak moritz: sounds like a good start, but what about 'autoflush before input'?
(which btw seems a reasonable default to me) 18:53
dalek r33459 | pmichaud++ | trunk:
: [rakudo]: spectest-progress.csv update: 227 files, 4689 passing, 10 failing
: Failure summary:
: S12-methods/default-trait.t aborted 6 test(s)
: S12-methods/multi.t aborted 4 test(s)
diff: www.parrotvm.org/svn/parrot/revision?rev=33459
PerlJam flushing has to do with output, not input.
masak PerlJam: it's just that... I'm outputting a prompt, and then asking for a STDIN line 18:54
PerlJam oh, I misread
masak but because the prompt has no newline in it, it's not shown.
feels non-sane to me.
flushing has to do with performance, but performance is not an issue when waiting for user input. 18:55
moritz masak: so what do you think the program should do? flush STDOUT when reading from STDIN? 18:57
masak aye
that would make sense to me 18:58
(unless the programmer turned it off)
moritz as long as it's interactive, yes
masak that's why I'd like a flush-before-input setting
...and for that setting to be the default 18:59
moritz something like $*IN.flush_prior($*OUT)
masak did not grok that 19:00
what would that line do, exactly?
moritz make $*IN call $OUT.flush before every read on $*IN
masak oh, ah. and internally it'd be an array of IO objects or something? 19:01
moritz implementation details.... but probably yes
there's another option, though 19:02
masak mm?
purl rumour has it mm is millimetres or #wiccan for "merry meet", which can scare newbies off... or MetaModel or "Mother of Moose!" or the response to things that make you go mm or MakeMaker or the classic macro package for troff or Morning Musume
moritz one could simply wrap $*IN.prefix<=> to do what you want
masak hm, yes.
pmichaud isn't standard output normally flushed when waiting for a read from standard input? 19:07
masak I don't know, but my heart says yes. 19:08
pmichaud it works that way for me in both C and Perl 5
moritz right, same here
masak aye, same here
masak submits rakudobug 19:09
moritz so we shouldn't need any kind of magic?
pmichaud I wouldn't think so, no.
19:11 alvar joined 19:12 alvar joined
jhorwitz regex pain... /^^ <[\\w\\-]>+/ should match "foobar" (sans quotes) at the beginning of a line, correct? 19:13
pmichaud pge doesn't recognize \\w in character lists
(yes, it should. No, it doesn't.)
probably need that to be /^^ [\\w|'-']+ / for now. 19:14
jhorwitz tries that 19:15
pmichaud that's likely what PGE will transform the top expression to anyway.
since one cannot easily enumerate everything that is in \\w.
jhorwitz mmhmm 19:18
moritz pmichaud: dmq over at #p5p has been researching such things earlier this week (unicode character classes and their union/negation) 19:20
pmichaud that's good to know.
moritz pmichaud: if you're looking for inspiration, it might be worth to contact him
pmichaud indeed.
at the moment I'm fairly constrained by what Parrot offers, though. :-(
unless I want to rewrite Parrot's unicode semantics, which is probably better left for the new strings implementation to solve. 19:21
Coke rt.perl.org/rt3/Ticket/Display.html?id=38432 - did we finish updating the exception behavior already? 19:22
(If so, is that ticket now failing for some other reason?) 19:23
pmichaud takes a look. 19:29
the ticket is still failing. 19:33
the return from main is invoking the continuation created by the die opcode 19:36
19:39 Hadi joined
Coke yah, I knew it was failing; my phrasing was ambiguous there. 19:40
... so it's resuming -inside- the :init ? 19:41
pmichaud that's my guess... I can check.
19:41 Hadi left
Coke when configure.pl complains that compilation with cc failed, can I get it to be more verbose about why? 19:41
pmichaud it doesn't appear to make it back into the 'init' sub, no. 19:42
moritz Coke: perl Configure.pl --verbose
pmichaud it's not a simple resume.
instead I think the current continuation for 'main' is being messed up somehow.
perhaps because 'init' is a :vtable sub
Coke (perl Configure.pl --verbose-step=inter::progs) 19:43
bacek good morning
Coke apparently no one is using gcc3.3 on os x anymore.
(that or gcc_select has borked my system.)
bacek finally decided to start learning Perl6 19:44
moritz oh, fun ;) 19:45
pmichaud "No! Keep away from the bright light!" :-)
masak haha 19:49
Coke anyone have a list of which versions of gcc are available for which versions of os x?
(apple versions of gcc) 19:50
I'm specifically interested in gcc 4.x availability.
cotto Are we officially referring to trac tickets as tt #234? 19:51
masak Perl 6 Š¾Ń‡ŠµŠ½ŃŒ Ń…Š¾Ń€Š¾ŃˆŠ¾ŃŽ -- you'll like it.
bacek Best learning strategy - implement something in Perl6. 19:52
bacek choose XQuery
masak: "Š¾Ń‡ŠµŠ½ŃŒ Ń…Š¾Ń€Š¾ŃˆŠ¾."
masak bacek: oops, thought I wrote that. yes.
Coke "GCC 4.0 is the only compiler able to build applications for Mac OS X on Intel.GCC 4.0 is the only compiler able to build applications for Mac OS X on Intel." -mozilla's site.
(minus the dups.) 19:53
masak bacek: I've been thinking along similar lines myself (XQuery). but I decided to write the slightly less ambitious XSLT 1.0.
bacek masak: I've implemented XQuery in C++ couple of year ago
masak: XSLT _1.0_ is bad 19:54
masak bacek: yes, at most a couple of years :) the standard is from Jan 2007.
bacek: ...but easy to implement, and just about what I need.
bacek masak: I started with WD. But finished in January, 2008. 19:55
19:55 chromatic joined
masak bacek: OIC 19:55
Coke chromatic: ~~ 19:58
jhorwitz pmichaud: does rakudo support regexes in "when" clauses?
masak jhorwitz: aye, as long as you put them in a closure, methinks. 19:59
chromatic Eh?
purl Speak up, sonny!
masak jhorwitz: oh, 'when' clauses! nvm.
jhorwitz mmmm, the closure might be causing my parsing woes.
masak was thinking about 'where' clauses
jhorwitz ah
nevermind then. :)
Coke gets off chromatic's ``lawn'' 20:00
chromatic Take some leaves with you. 20:01
Coke chromatic: here's an old memory leak bug: rt.perl.org/rt3/Ticket/Display.html?id=43218 20:02
20:05 wycats joined
chromatic Coke, I think I fixed at least part of that. 20:05
Can you reproduce it?
20:06 petdance joined
pmichaud regexes _are_ closures. :-) 20:08
masak pmichaud: I was thinking about a recent ticket about regexes and where clauses.
Coke chromatic: testing...
purl testing is Don't use #perl for testing! or experiri vovere est or make tests pass for existing features, fail for unimplemented features and skip for wishlist features
masak in which the fact that they are closures was exploited, leading to a crash.
Coke chromatic: it is not a fast program. 20:14
chromatic Okay. 20:15
Coke also, his last comment on the ticket: "If it isn't leak then it is a bug (in Parrot or in my PIR/PASM code). " 20:16
basically, even if it's not a true memory leak, why are we not GC'ing enough that we eventually run out of memory?
chromatic It's probably C-level leaks.
malloc/free
Coke if that's the case, they should show up in valgrind, neh? 20:17
masak general kvetch: the "No applicable methods" error can sometimes be very frustrating, because it requires looking at the PIR code to see which method was called. In the best case, the method name and the types of the arguments should be output.
pmichaud masak: I agree -- that's a Parrot bug, alas. 20:18
masak: if you can get a quick example, I think I can get it fixed in Parrot
masak pmichaud: smalles example I can think of is `perl6 -e 'map [], ()'` 20:19
s/es/est/ 20:20
Coke chromatic: holy crap. ==18592== definitely lost: 3,599,987 bytes in 400,004 blocks.
I will attach it to the ticket. =-)
chromatic Ouch. Yes, thanks. 20:21
I hope it's not a context leak though.
Coke (*&@#$#; I didn't capture stdout, so my outtfile is empty. 20:25
rerunning with a smaller # of iterations.
there. still leaks like a sieve. 20:27
tewk chromatic: I have a run of rakudos rx test and contexts leak all over the place. 20:28
chromatic I've seen that. I'd love to clean them up, but it's not my top priority at the moment. 20:29
bacek wants LTM...
rakudo: say "hi" 20:30
polyglotbot No output (you need to produce output to STDOUT)
20:32 spinclad joined, Hadi joined, Hadi left
tewk chromatic: so are you saying that those leaks are specifc to rx, or context leaks in general aren't your top priority. 20:33
just curious what you meant. 20:34
Coke I would think that converting contexts to pmcs would trump fixing leaks with the current impl.
tewk I agree, I just wasn't sure if it was generally known that contexts are leaking, it surprised me when I saw it.
dalek r33460 | allison++ | pdd30install_stage2: 20:35
: Removing unused branch from the repository
diff: www.parrotvm.org/svn/parrot/revision?rev=33460
chromatic I remain dubious about converting contexts to PMCs.
pmichaud rx doesn't do anything special that would leak contexts on its own 20:37
Coke is your doubt noted on the ticket? 20:38
pmichaud I'll rephrase -- rx is the place that has the most extensive use of Coroutines. Those might leak more than other places.
I suspect that contexts have been leaking for some time, but nobody noticed it. It's possible that the lexicals implementation is causing contexts to leak more than previously. 20:39
tewk I agree, imcc leaks bad too 20:40
chromatic I had contexts mostly not leaking a while back actually.
pmichaud allison and I decided that "working lexicals with additional leaks" trumped "non-working lexicals with fewer leaks"
chromatic Oh, I agree with that. No question about that.
tewk I agree too.
pmichaud (not that we knew there would be additional leaks, but that we were willing to risk additional leaks rather than block lexicals for much longer.) 20:41
chromatic My concern about context PMCs is that I expect that to cut performance by half, best-case.
I can imagine an order of magnitude decrease.
pmichaud performance in creating contexts, or in GC, or .... 20:42
?
bacek chromatic: you just need proper GC implementation
chromatic Whole program performance.
moritz bacek: "just". It's not particularly trivial
pmichaud until my latest change, the previous implementation of contexts was doing O(n^2) mark operations on contexts 20:43
bacek moritz: I know.
Coke wonders again if we can work on integrating wk's work.
tewk that is my suspicion as well, I'm tring to be optimistic.
chromatic Oh yes, context marking was awful.
I'm just saying, if we have to do a full mark and sweep every 100 subroutine calls/returns, ouch.
Coke urk. GC refactor is due by 01/20 ?
I disbelieve that. =-) 20:44
pmichaud Coke: yes, because it's needed for other things.
(context handling being a leading candidate for "other things")
I'm not sure I believe it either... :-)
anyway, if someone can come up with relatively short programs that leak contexts, I'll be happy to trace the leaks. 20:45
tewk bacek: a proper GC impl will help, but it might not be enough
chromatic "Hello, world!" in Perl 6 leaks.
pmichaud especially since I'm probably the most familiar with the current context handling code.
s/short programs/short PIR programs/ :-)
tewk wget tewk.com/t_spec_S05-mass_rx.t.valgrind.err
pmichaud Hello, world goes through a huge grammar to get there. :-)
S05-mass_rx.t goes through a huge number of grammars to get there :-) 20:46
chromatic Sure, but the Valgrind output should be clear.
pmichaud I suspect it'll just tell me that contexts are being leaked from Parrot_Sub_invoke, which I pretty much know already.
pmichaud tries the wget. 20:47
dalek will@coleda.com | Parrot:
link: www.perlfoundation.org/parrot/index.cgi?parrot
pmichaud (because that's where contexts get created) 20:48
dalek will@coleda.com | Parrot: 20:49
link: www.perlfoundation.org/parrot/index.cgi?parrot
will@coleda.com | Parrot: 20:50
link: www.perlfoundation.org/parrot/index.cgi?parrot
chromatic Maybe some of the files in t/pmc/sub.t then.
Coke is there a converter for socialtextwiki to tracwiki ? 20:51
pmichaud yes, that'd be another place to look -- run valgrind on a number of the test files and see which ones leak
they'd be a lot shorter.
dalek r33461 | rblasch++ | trunk: 20:54
: Updated Windows PLATFORMS.
: Removed VC 6, 7.1 and 8.0. They are no longer supported.
: Moved MinGW GCC 4.3.0 to Extras. This port is still alpha.
: Added VC9 x64 to Extras.
diff: www.parrotvm.org/svn/parrot/revision?rev=33461
will@coleda.com | Parrot: 20:59
link: www.perlfoundation.org/parrot/index.cgi?parrot
r33462 | Whiteknight++ | trunk: 21:02
: [Book] More updates to chapter 8, fixing some wording and making things clearer.
diff: www.parrotvm.org/svn/parrot/revision?rev=33462
r33463 | moritz++ | trunk: 21:03
: [rakudo] make 'where /regex/' subset types work. riffraff++. Closes RT #60976
: Patch courtesy by Gabriele Renzi <rff.rff at gmail.com>
diff: www.parrotvm.org/svn/parrot/revision?rev=33463
r33464 | allison++ | pdd30install_stage3: 21:05
: Creating third branch for ongoing 'make install' work, integrating trunk with branch.
diff: www.parrotvm.org/svn/parrot/revision?rev=33464
will@coleda.com | Parrot: 21:06
link: www.perlfoundation.org/parrot/index.cgi?parrot
will@coleda.com | Parrot: 21:08
link: www.perlfoundation.org/parrot/index.cgi?parrot
will@coleda.com | Parrot: 21:10
link: www.perlfoundation.org/parrot/index.cgi?parrot
GeJ Good morning everyone 21:39
Coke allo
masak GeJ: evenin'
cotto good 21:40
Coke I would say that anything in PLATFORMS that is not at least 2008 should just be removed.
GeJ hej masak
Coke (as I was about to move tru64 into the extra section and saw how old it was.)
masak hej :) 21:41
pmichaud it might be interesting to speculate on our PLATFORMS policy post-1.0 21:44
dalek r33465 | allison++ | trunk: 21:55
: [cage] Documentation patch for the PIC JIT, recovered from pdd30_install branch.
diff: www.parrotvm.org/svn/parrot/revision?rev=33465
r33466 | allison++ | trunk: 22:02
: [cage] Documentation patch for Extension subsystem, recovered from pdd30_install branch.
diff: www.parrotvm.org/svn/parrot/revision?rev=33466
nopaste "coke" at 72.228.52.192 pasted "remove obsolete PLATFORMS reports" (75 lines) at nopaste.snit.ch/14797
Coke (whoops. that patch is slightly broken in how it 'fixes' *comments. 22:03
I wonder if we should eliminate "PLATFORMS" in favor of a more aggresive smolder usage. 22:05
-> 22:06
jhorwitz masak: i got header output working for registry scripts 22:15
pmichaud particle: ping 22:33
22:33 TiMBuS joined 22:35 Ademan joined
masak jhorwitz: woot 22:40
dalek r33467 | pmichaud++ | assign: 22:56
: [rakudo]: Branch for refactoring assignment via assign op.
diff: www.parrotvm.org/svn/parrot/revision?rev=33467
22:56 cout joined 23:02 Limbic_Region joined 23:05 LimbicRegion joined 23:22 cout joined 23:24 particle1 joined 23:26 petdance joined 23:27 bacek_ joined
dalek r33468 | jonathan++ | bcanno: 23:27
: [core] A bunch of hacking I did on the train that starts getting annotations tied into IMCC. Nothing working yet, and didn't have the right flex and bison to compile the updates.
diff: www.parrotvm.org/svn/parrot/revision?rev=33468
pmichaud particle: ping 23:30
particle1 pong 23:31
pmichaud do you have a feel for when parrot might be moving into its own repo (off of perl.org)?
particle1 before 1.0, for sure, but i'm not sure precisely when we'll have the infrastructure in place, and will have time to do all the necessary testing/conversion 23:32
i expect it'll be early next year
pmichaud okay
I'm thinking rakudo should move out of the repo before that.
it doesn't make much sense to move rakudo to a parrot.org service and then back to perl.org
particle1 true enough 23:33
you'll still have to convert twice, either way
pmichaud well, getting the perl.org admins to move rakudo into its own repo (or add it to the perl6 repo) is probably easier if the source and destination are on the same server 23:34
anyway, I'd like to list "move rakudo out of repo" as a dependency for "move parrot repo to new server"
particle1 sure, then it's the same admins :) 23:35
pmichaud at least informally, if not formally.
particle1 ok. you should ping ask/robrt and see how long they expect it'll take, and when they think they can do it
pmichaud well, we're not at all ready to do it yet.
particle1 then you can send a list message to let folks know it's coming
pmichaud I'd really like to see where 'make install' is headed before moving rakudo out of repo. 23:36
either way, I'm in agreement with "early next year" and "definitely before 1.0".
in all likelihood I would expect rakudo be out of the parrot repo by the feb release.
particle1 well, i'd like parrot to be out of perl.org in january 23:37
so, uh, we'd better coordinate :)
february seems too close to march (1.0) for a conversion
pmichaud I don't have a problem with trying to make it for jan, but we definitely need some resources on what the 'make install' is going to look like.
particle1 that's a january task iirc
pmichaud yes, it is.
I'm a little concerned we may slip on that one, and it's critical. 23:38
(and a dependency for things like this.)
particle1 ok. can you update the roadmap to include an infrastructure change for parrot dependent on make install?
pmichaud sure.
particle1 thanks. i'm a little tied up atm.
pmichaud hiveminder task for now, will update later.
particle1 hiveminder-via-im++
pmichaud yes -- adding tasks from irssi is soooooo nice 23:39
particle1 i fell out of that habit... thanks for the reminder to get back into it
tewk hiveminder from irssi? cool 23:43
particle1 totally. aim, jabber, even imap.
jonathan tries to work out what on earth is up with the multi stuff. 23:45
Tene pmichaud: any idea what you want me to work on tonight? 23:48
My tasks on trac are pct+hll, pdd24, exceptions debugging/resumable exceptions (I don't know if there's anything left there), and the pct loop+exceptions refactor, which I could start prototyping. 23:50
pmichaud I'm planning a significant change to pct tonight (subid stuff) 23:51
what happens if we just add .hll to perl6.pir ?
Tene iirc, the next pct+hll task was related to exporting.
Lemme check.
pmichaud oh yes, I think we did EXPORT::ALL in p6object, yes? 23:52
jonathan pmichaud: Think I've fixed the multi fun.
pmichaud do we have tests for EXPORT::ALL in p6object? If not, we need those.
Tene Yes, p6object sets export::all
I'll look for tests 23:53
pmichaud it would also be good to cleanup p6object.t -- there's a lot of old commented-out code that should probably disappear.
nopaste "tene" at 71.164.31.132 pasted "perl6.pir with .HLL for pmichaud" (4 lines) at nopaste.snit.ch/14798
particle1 tene: there are spectests for export::all that you might be able to crib
pmichaud ...class '' ? What's up with that? 23:54
I have another oddity -- I tried changing src/gen_builtins.pir so that it was a sequence of .include lines (instead of the text of the included files) and the resulting executable didn't work. I have no clue why. 23:55
chromatic Guess: :immediate and :load and class declarations. 23:56
jonathan pmichaud: Probably because the proto-object is an anonymous subclass.
pmichaud chromatic: we shouldn't have any :immediates
23:57 tetragon joined