Parrot 0.9.0 "From Outer Space" Released | parrot.org/ | svn transition complete-ish
Set by moderator on 29 January 2009.
rg yes, works for me. there's also another rethrow test before that, which is testing rethrow to a different handler. 00:00
Tene Allison commented it out when she merged in pdd25cx
allison: are we deprecating rethrow?
Coke Tene: I haven't tested since annotations were added, but "rethrow" was equivalent to "throw".
Tene Coke: it hasn't ever been equivalent to rethrow since I've been working with exceptions. 00:01
rg from what i've gathered so far, it isn't. rethrow will not throw to a handler that was already called.
Coke you mean, rethrow hasn't quite rethrown? right. that's the problem. We should either fix that or throw it out.
Tene Coke: eh?
rg: exactly
Coke tene: I don't know what your send means, then. 00:02
Tene Coke: what's the problem with rethrow?
Coke because it sounds like you're agreeing with me.
Tene Maybe. :)
Coke tene: it doesn't behave like a rethrow.
Tene Coke: what difference should there be?
00:02 dalek joined
Coke "pretend I never caught this exception" 00:02
Tene Coke: when you rethrow an exception, it continues walking an iterator of handlers. the same iterator it used originally, picking up where it left off. What "pretend I never caught it" effects besides that should there be? 00:03
dalek rrot: r36164 | Infinoid++ | trunk:
[cage] Fix a couple of codetest failures.
00:04
Tene are you saying that rethrow should undo something?
Infinoid Coke: ^^
rg for me, there's also the question of stack trace.
Tene I can look at the stack trace thing tonight.
rg don't worry about it on my behalf. i haven't figured out what it does and what i'd like it to do, yet ;) 00:05
Tene if I can remember it by the time I get home. I've been meaning to work on exceptions all week so far but keep forgetting by the time I'm home.
nopaste "coke" at 72.228.52.192 pasted "for tene" (20 lines) at nopaste.snit.ch/15458
Infinoid home &
Coke tene; there's my sample problem.
rg so we're agreeing that rethrow is useful and not deprecated?
Tene Coke: so it's the stack trace issue.
Coke rethrow is useless.
Tene Okay. 00:06
Coke (to me)
Infinoid: hurm. I didn't see the partcl commit from earlier.
rg coke: i think what you want is not rethrow, but pop_eh; throw
NotFound I think that the intention is that can_handle be used for exceptions handlers that do not want to catch all. 00:07
Rather than catching all and retrhowing somes.
Coke rg: no, throw there /definitely/ reports as coming from that line.
Tene NotFound: yes, but there are some conditions where you want to do something first and then let the exception continue on
Coke NotFound: presuming I can know at compile time what types I care about, sure. 00:08
rg tene: oh, sorry, read that the other way round. you're right of course.
allison Tene: we're not deprecating rethrow
NotFound Coke: you can add at runtime things at the exception handler that modifies what can_handle does 00:09
00:09 AndyA joined
allison Coke: and it's not useless, it's absolutely required for getting the next handler out the list of possible handlers 00:09
Coke allison: "to me"
Tene allison: what did you mean in t/pmc/exception.t in the pdd25cx merge, then?
rg yes, but like he said, it should not show up in the stack trace. 00:10
allison Tene: revision #?
Tene allison: 29952
still in trunk
t/pmc/exception.t +567
and you commented out the rethrow line in that test 00:11
rg also, the test works if you put in the rethrow line and we probably have similar tests in other places (i've just found out i haven't even seen them all, yet ;)) 00:13
allison Tene: (don't see any changes to t/ in that revision)
Tene: in an earlier rendition of the exceptions PDD we were going to deprecate rethrow and have exception handlers mark an exception as "handled" 00:14
Tene: then any exceptions not "handled" would be automatically rethrown
Tene: the usage pattern wasn't very natural, so ended up keeping "rethrow" instead 00:15
Tene Okay.
allison Tene: (though, rethrow itself changed extensively internally, kept the same interface) 00:16
rg ok, so do you want a ticket or are you just going to change the test and comment real quick?
allison Coke: and the problem with the reports is that it should be reporting based on the captured 'backtrace', not based on a live trace of the current execution 00:17
Coke: because the live trace will certainly be wrong for a rethrow 00:18
Coke so we agree on that. awesome. =-)
Infinoid: is partcl on the list of feeds? 00:19
rg seen infinoid 00:21
purl infinoid was last seen on #parrot 16 minutes and 23 seconds ago, saying: home &
00:23 NotFound joined
rg next question: 00:30
purl i guess next question: is the source sensible?
nopaste "rg" at 93.104.123.220 pasted "pop_eh in .sub" (18 lines) at nopaste.snit.ch/15459
rg i would expect this to fail like the 'pop_eh with no handler' test 00:32
lathos pop_eh fails unless LANG=en_CA 00:33
rg lathos: huh? i don't have LANG set 00:34
NotFound rg: I expect that nobody wants to write code like that 00:35
rg sure, but don't we want to give them a proper hint if they accidentally did? 00:36
NotFound That depends of the cost 00:37
rg i guess my real question is: what is the intended relation between exception handler stack and call stack.
NotFound I suspect the cost will be high
rg: the exception handler in the languages I know that use it works on the suposition that each block minds his own business. 00:39
Infinoid Coke: okay. You know the first time I said everything should work? I was lying. But this time everything should work. No, really. 00:40
Coke: Have you committed anything since the last time dalek was restarted?
dalek rtcl: r325 | wcoleda++ | wiki/PartclSource.wiki:
note the new parrot repository URL.
00:41
polyglotbot OUTPUT[invalid command name "r325"␤]
polyglotbot OUTPUT[invalid command name "note"␤]
OUTPUT[invalid command name "review:"␤]
Infinoid oh, haha
rg outch :)
Infinoid removes the "partcl" alias
rg i guess you'll have the same problem with rakudo then 00:42
Infinoid rakudo: r235
NotFound ETOOMUCHBOTS
polyglotbot OUTPUT[Could not find non-existent sub r235␤current instr.: '_block14' pc 53 (EVAL_16:38)␤called from Sub '!UNIT_START' pc 18229 (src/builtins/guts.pir:321)␤called from Sub 'parrot;PCT;HLLCompiler;eval' pc 950 (src/PCT/HLLCompiler.pir:527)␤called from Sub 'parrot;PCT;HLLCompiler;evalfiles' pc 1275
..(src/PCT/HLLCompiler.pir:688)␤called from Sub 'p...
particle polyglotbot should ignore other bots
Infinoid Yeah, that's a better idea.
00:45 polyglotbot joined
NotFound rg: pop_eh use Parrot_cx_delete_handler_local, wich "Remove the top task handler of a particular type from the context's list of handlers." 00:46
rg notfound: i've seen the code when i submitted the fix for count_eh. I can't say i've quite understood the inner workings from that, though ;) 00:47
NotFound There is always the possibility that the comment not adequately reflects what the function does, certainly. 00:48
rg: comment out the push_eh and see what happens :) 00:52
You are catching the "No handler to delete" exception
rg yes, if there is no handler on the stack at all, we're getting the expected exception. 00:53
ahh !!!! :)
right. good point
NotFound And there is no, check it with pop_eh
errrr... count_eh 00:54
Coke now if I could only claim wcoleda's karma. 00:55
NotFound So comments and function names are right, is a strictly local business.
rg notfound++ great catch. i totally didn't see that.
cotto karma wcoleda 00:57
purl wcoleda has karma of 1
cotto wcoleda--
Coke++
NotFound Maybe we need a trace mode that trace all push_eh and pop_eh usages. 00:59
rg i don't think so. i just shouldn't have been so lazy and actually used (and checked) a message 01:02
01:04 TiMBuS joined
rg ok, so finally, i can start trying to understand something in pct that is used by rakudo. to each (block) node, you can attach a list of handlers that get installed as exception handlers around that block. right now they don't get pop_eh-ed inside the handler. i wonder if there is a proper solution for that and what was the intended behaviour. 01:06
01:08 particle joined
NotFound Is there a need to pop them? 01:09
rg if there is an exception in the handler code you get an infinite loop (assuming the exception won't go away on subsequent calls) 01:10
TiMBuS make exceptions from inside handlers use a different status?
NotFound In C++ that type of things does a call to a function intended to do a minimal cleanup and die. 01:11
Is considered a completely unmanageable situation. 01:12
cxreg pdnblog.palm.com/?p=50#comment-136 01:13
TiMBuS the only situation i can think of is an exception handler running code that might throw an exception from say inside a parrot op
rg i think it's perfectly valid code. in a try/catch type of situation (which is handled differently in pct) it works quite well (with a little patch to fix a FIXME ;))
Coke is anyone able to run dotnet atm/ 01:14
(languages/dotnet)
NotFound Mmmm... i think I misunderstood 01:15
Coke jonathan: ping 01:16
NotFound Brain overloaded, going to bed ;)
basic Infinoid: want to try another email test? 01:17
rg notfound: i think i should do that, too. thanks for the help.
01:29 particle1 joined
nopaste "kid51" at 71.247.55.19 pasted "t/native_pbc/number.t fails on Darwin/PPC" (52 lines) at nopaste.snit.ch/15460 01:45
kid51 That failure observed at r 36162. Have not seen it before. Any ideas? 01:46
01:46 Robrt left
rg inf/nan related? 01:47
chromatic Probably endianness. 01:48
kid51 Has never failed before for me on this or any other platform. Continues to pass on Linux/i386. 01:50
dmajnem2 I have an error on t/native_pbc/number
x86_64 on ICC
kid51 So, Houston, we have a problem. 01:51
Well, here's one clue: File was modified today.
chromatic Why are we even running those tests? I disabled them a long, long time ago. 01:52
particle1 not well enough 01:53
nopaste "kid51" at 71.247.55.19 pasted "today's modifications in file experiencing failures" (96 lines) at nopaste.snit.ch/15461 01:54
dmajnem2 I just pasted the failure I got from t/native_pbc/integer, I suppose they are related to the failures in number 01:55
chromatic r36160
dmajnem2 I suppose those should just be disabled on other platforms then? 01:57
chromatic Everywhere. 01:59
kid51 Created trac.parrot.org/parrot/ticket/254
dmajnem2 Where did that paste go to? 02:00
dmajnem2 kid51: nopaste.snit.ch/15462
kid51 yes that does look similar 02:02
kid51 bbial
dmajnem2 who should I get in touch with if I want to help out with the amd64 JIT? it seems to be lacking the capability to emit an executable... WhiteKnight? 02:04
dalek rrot: r36165 | cotto++ | trunk/src/pmc:
[pmc] update *StringArray? to use ATTRs
02:05
Whiteknight dmajnem2, I was planning to work on the amd64 JIT eventually
so if you want to play with it, I would defintely lend a hand
I don't have a good reference for amd64 instruction word formats, so my hands are tied a little bit on that until I find one 02:07
dmajnem2 Whiteknight: I know a lot less than you, I do not know enough to take on something like this as I am still trying to learn how parrot works. 02:08
However, I think I can help out with that.
cotto That's odd. I didn't type that question mark.
TiMBuS Whiteknight, i got the amd64 ABI a little while ago trying to figure out the new function calling format 02:09
you want a link to that? 02:10
Whiteknight TimBus: I would love that, yes
TiMBuS www.x86-64.org/documentation/abi-0.99.pdf 02:11
Whiteknight dmajnem2: That's the best way to learn, is start working on a project you're not quite qualified for. You'll learn about the rest of parrot while researching your work on the JIT
TiMBuS the function calling convention is really annoying, they moved back to register-based =/
Whiteknight hell, I still don't understand how all this stuff works
kid51 dmajnem2: I added your paste to that TT 02:12
cotto How clever. Dalek's publishing svn commit messages with broken wiki links.
TiMBuS i mean that makes sense since theres more registers but it would suck to hand code asm
02:14 Eevee joined
dmajnem2 TiMBuS: isn't it just a logical extension of how __fastcall on most 32 bit compilers worked? 02:16
TiMBuS yes its a lot like fastcall
im just very used to just pushing arguments before a call. i liked it 02:17
dmajnem2 A while back, I came across www.agner.org/optimize/ during research on JITs. They have a useful break down of all sorts of neat things like instruction latencies on different architectures and various other optimizations
TiMBuS plus, the gcc compiler just pushes function arguments onto the stack in their preamble anyway 02:18
rg cotto: what's broken?
dalek rrot: r36166 | cotto++ | trunk/src/pmc:
[codingstd] trailing space fix
cotto dalek parrot: [pmc] update *StringArray? to use ATTR
Note the ? after StringArray. 02:19
rg ah. i guess infinoid's pulling the message from the page now too. i'd say it's a trac bug. 02:20
or feature ;)
dmajnem2 TiMBuS: I thought that in 64 bit land, the first six ints are in a bunch of the R* registers and the fps are in the XMM* regs?
at least, that is what I thought it was on linux 02:22
cotto rg, yup. At least the migration went smoothly. I'm quite happy to have goofiness in the rss feed be the most visible problem.
PerlJam Infinoid: yes, it working now. Dunno what the problem was the first time I tried it. 02:28
TiMBuS dmajnem2, that would be correct
diakopter cotto: see halfway down the page... trac.edgewall.org/ticket/4321 02:30
Infinoid basic: Ok, I sent another message. 02:41
PerlJam: What goofiness? (As far as I know, the bot is working fine... but I haven't been paying much attention.) 02:42
allison rebooting 02:44
purl i heard rebooting was the only way to do that i think
Infinoid basic: Message delivered but apparently had no effect.
purl Sorry, I've never seen delivered before.
Infinoid cotto: ping 02:48
cotto pong
Infinoid [18:12] <@cotto> How clever. Dalek's publishing svn commit messages with broken wiki links.
which link?
dalek rrot: r36167 | cotto++ | trunk/lib/Parrot/Pmc2c/Attribute.pm:
[pmc2c] Make ATTR accessor generation code smarter about arrays of pointers.
02:49
Infinoid That link works here.
cotto Yes, but it's a link to nowhere and doesn't make sense in Dalek's context.
Infinoid ... I click it and it shows me a nice colored version of the r36167 diff 02:50
I don't understand.
cotto Oh. I meant that it added a question mark after StringArray.
Infinoid Oh, in the r36165 commit message? 02:51
cotto that's the one
Infinoid Yeah, I saw that too. That's trac, not dalek.
(I was wondering what that was...)
kid51 Hmm.... appears that merely adding an attachment to a TT does not update its Last Modified date. 02:53
seen Coke 02:54
purl Coke was last seen on #parrot 1 hours, 37 minutes and 24 seconds ago, saying: jonathan: ping
kid51 msg Coke Patch submitted for trac.parrot.org/parrot/ticket/108
purl Message for coke stored.
Infinoid cotto: Hmm. I guess I can try to detect when trac wikifies something (probably by searching for "</a>?"), if that would help. But it appears on trac's changeset page, too. 02:57
cotto Infinoid, it's a minor annoyance. It'd be nice to have that work, but that's all. 03:00
Infinoid Any trac admins around? I'm curious if there are any config options for linkifying CamelCase stuff in commit logs. 03:02
"There's an option (ignore_missing_pages in [wiki]) to simply ignore links to missing pages when the link is written using the CamelCase style, instead of that word being replaced by a gray link followed by a question mark." -- code.flickr.com/trac/wiki/CamelCase 03:03
That looks like what we want.
cotto yes 03:06
03:33 allison joined 03:38 Andy joined
TiMBuS ummm were any changes recently made to pct in say the last, 30 hours or so? 04:34
04:36 Tene_ joined
TiMBuS there seems to be a bug in the past->pir compiler or something =/ 04:38
Coke TiMBuS: trac.parrot.org/parrot/browser/tru...pilers/pct 05:07
(shows age of recent commits in that dir.)
TiMBuS that might help
Coke_z (and no.)
TiMBuS thats strange then, the AST looks fine to me but it's translating to an error.. can i submit AST in a bug report and someone will be able to replicate it? 05:10
Coke_z TiMBuS: dunno. 05:11
if that's all you have, give it a shot. =-)
06:26 craminator joined, craminator7 joined
craminator7 can anybody help me out with a perl question? 06:26
cotto not if you don't ask ;) 06:27
craminator7 ok
I have Bars stored in $type and I need to use it to make a chart
but when I try this: $obj = Chart::$type->new();
opps 06:28
that is a dollar sign
anyway that does not work to replace type with Bars
cotto Hmmm. Did you try #perl on freenode? 06:30
craminator7 not sure what you mean
cotto I mean did you try asking in that channel? 06:31
craminator7 I tries placing double, single quotes
oh, no I did not
cotto I don't really understand what you're asking, and this is generally a place for Parrot discussion.
craminator7 oh ok 06:32
thanks anyway
purl somebody said thanks was nice, to
cotto (quick perl questions are fine, but there shouldn't be too much irrelevant in-depth discussion here)
forget thanks anyway 06:36
purl cotto: I forgot thanks
06:44 Casan joined 06:53 dngor joined 06:56 workbench joined 07:15 skv joined 07:20 uniejo joined 07:55 iblechbot joined 08:29 ChrisDavaz joined 09:14 masak joined
dalek rrot: r36168 | fperrad++ | trunk/config/gen/makefiles/root.in:
[OpenGL] revert r36101
09:18
09:40 alvar joined 10:07 Zaba joined
masak a number of 'bad plan' spectest failures in Rakudo: gist.github.com/54996 10:14
can anyone reproduce this?
all tests in 'make test' succeed. 10:15
11:09 braceta joined 11:20 AndyA joined 11:32 kj joined 12:14 alvar joined 12:30 rg1 joined 12:40 AndyA joined 12:58 pdcawley joined 13:06 particle1 joined 13:16 iblechbot joined
cotto TiMBuS, ping 13:22
TiMBuS cotto, pong
cotto Do you have some runnable code that misgenerates PIR like you reported in TT #256? 13:23
TiMBuS erm, not in any language in parrot 13:24
cotto It's find if the past is hard-coded. I just want to see if I can trace the breakage to something I changed.
TiMBuS er, maybe a language with an object that takes 7 arguments :D 13:26
i doubt i could reproduce it in perl6..
cotto nm. I'll just hack something up. 13:28
If nothing else, it'll help pmichaud fix the bug 13:30
dalek rrot: r36169 | fperrad++ | trunk/lib/Parrot/Distribution.pm:
[tools] retrieve template file, for example test_c.in is a C file.
14:06
cotto Booyah. I have a working test case. 14:09
dalek rrot: r36170 | fperrad++ | trunk/config/auto:
[codingstd] fix C coding standard in template file.
cotto TiMBuS, do you have a case to reproduce the crashy version of that bug? 14:19
TiMBuS that was sort of a strange heisenbug really 14:23
it only seemed to happen from the makeshift REPL the PCT provides, while you had --target=pir on, and only if all you were doing was making a 7-member method.. so yeah its tough to make happen =/
7 argument method call* i think im tired 14:25
14:30 rurban joined 14:31 Whiteknight joined
cotto It's sleepytime for me as soon as I get the reply posted. 14:32
14:33 gryphon joined
rurban msvc6 /ZI (Debug with Edit and Continue) has a cpp bug with #include .str files. No-one reported it so far, but lots of projects disabled it. 14:39
14:43 dmajnem2 joined 14:52 DietCoke joined
dalek rrot: r36171 | coke++ | trunk/t:
These failures have been reported for some time on openbsd; since they're

Hopefully when they get fixed for windows, they'll get fixed for openbsd, too.
14:53
rrot: r36172 | fperrad++ | trunk/t/codingstd/make_code_coda.t:
[codingstd] fix SVN properties
Coke runs a tcl spec test overnight, and finds many new failures. :| 14:54
rg coke: if it needs to get fixed, shouldn't that be a todo test then?
Coke rg: very likely 14:55
I was merely adding more cases to the already skipped test, so I plead laziness. 14:56
rg i'm surprised it fails on openbsd at all since it works for me on freebsd. 14:57
rurban coke: this is just a typical platform libc issue, nothing to worry about 15:01
inf/nan
I'll compare to my clisp workarounds for that platform
hurray, my msvc6 ide projects work now. This makes a much easier debugging pleasure. Should I add the dsp/dsw to ports/msvc? 15:03
15:04 timbunce joined 15:12 skv joined
dalek rrot: r36173 | particle++ | trunk/t:
[t] unskip -0 tests no longer failing on windows
15:14
particle1 it's -0, not inf/nan iirc
it may just need a change to the logic in Parrot_sprintf_format that's currently there only for msvc 15:15
Coke particle: yes, those tests I just skipped were -0 15:30
Coke missed particle's commit. 15:31
particle: we can try skipping the skip for openbsd on one of those tests; if we still get a clean smoke, we can unskip the rest.
15:40 rurban_ joined
particle coke: i didn't change any code, just the skip markers for win32 15:41
i expect they're still failing bsd
i can't test that platform
kj: ping 15:42
rg particle: seems to be specific to openbsd. freebsd is just fine. 15:49
particle then i suppose those skip markers can be modified for openbsd only
rg the ones coke just put in were for openbsd only 15:50
particle ah, yes, so they are 15:51
kj particle: hi! 15:52
particle (phone) 15:53
15:55 AndyA_ joined
particle hi, kj, i'm back 16:02
kj still here
particle fab.
how goes bytecode emitting from pirc? 16:03
kj bytecode emitting is pretty much complete :-)
the problem is, though that the emitted bytecode is slightly incorrect 16:04
not the ops
the ops are fine
but there's something wrong with STRING and FLOAT constant storage
Infinoid good morning 16:05
kj so everything working with integers is fine, but as soon as you start using strings and nums, things go wrong quickly
particle hey Infinoid
purl Infinoid is probably Mark Glines <mailto:mark@glines.org>
particle interesting.
kj also, namespaces of subs are not handled correctly yet (ns's are not respected yet), but that should be easy enough to fix
anyway, it's 64bit compatible :-) 16:06
particle i was thinking last night, our disassembler could be written with pct
languages/pbc or something
kj how would you do that? There's a lot of low-level bit-handling going on there 16:07
particle it's just bits. write a grammar, generate past, let pct generate your pir
although it's probably better to have a custom emitter for pasm direct from the actions file
16:08 desertmax joined
kj but you want to parse the bytecode? 16:08
particle yes
kj is that possible?
particle sure! this is perl.
kj heh
but is it possible using PGE's parser techinques?
particle i thought approaching the problem from another direction might help
i don't see why not 16:09
kj well, PBC is a lot like: first integer indicates the number of objects, then the objects follow
particle we can match any single char, or string of chars
kj so it's not context-free, I think
particle as long as we know the size of an integer
then we use that value to match the objects that follow 16:10
kj but suppose you just parsed an integer
that's the number of ojbects
you'll need an explicit loop to parse the objects
(approach from different direction)++ # nice PIR generation 16:11
maybe not use a PGE grammar, but a custom perl script to do the parsing, and build the PAST from that
16:13 Andy joined
particle i'm thinking something like: regex t { $num=[\\d] (\\w) ** {$num} }; ('2ab' ~~ /<t>/).say 16:13
that's not correct, but i'm not sure if i've botched the syntax, or if rakudo doesn't yet do ** {$...} 16:14
kj ** is followed by the number of times to match?
particle yes
kj ah, neat
well *then* it's no problem :-)
particle yes :)
kj eh, yea, that's what I thought of generating PBC :-) ("once that's done, it's easy". Boy, was I wrong) 16:15
particle live and learn...
rurban What's wrong with our pbc_disassemble? This is also used in the debugger 16:16
kj rurban: not sure if there's anything wrong. It seems to work fine. I can correctly disassemble PIRC-generated bytecode, but the bytecode makes parrot crash 16:17
particle rurban: nothing's wrong with it
rurban Maybe we need just a -b (bare) mode to produce pure .pir for roundtrips 16:18
particle roundtrip++ 16:19
kj particle: I'm hesitant to start yet another project. I tend not to be able to finish stuff (languages/pir, several other languages I get stuck on, languages/pod, to name a few :-) )
rurban roundtrip and maybe comments. we have the original filename stored as constant
kj (oh, anybody interested in a PCT-based implementation of ToyScript, the tutorial language of the DLR, gimme a shout) 16:20
rurban Well, I see some invalid .pir from pbc_disassemble: get_params_pc PMC_CONST(4), P0 => get_params_pc "bla", P0 16:21
kj (and for Neko-fans, I think I also got a fairly complete version of Neko's language :-)
rurban defined_i_p_kc I1,P1[?] => defined_i_p_kc I1,P1[0]
(parrot_config.pbc)
kj rurban: what's wrong with the first one, get_params.. 16:22
rurban It also looks much more like .pasm, not .pir
PMC_CONST(4) is a lookup into the constant table. but the standalone .pir has no constant table defined. it needs to be resolved 16:23
kj the PMC constant is a FixedIntegerArray, that encodes the signature of the sub
for each .param, there's 1 element, encoding the type and PCC flags
(slurpy, etc) 16:24
rurban like get_params_pc "[2]", P0 ?
I see. the params which where used, when it was compiled. okay. 16:25
kj I mean,, an example:
.param int i :optional ==> FIA contains an element encoding the type 'int', and ':optional' flag 16:26
if there's 5 params, then there's 5 elements in the FIA
and as it 's one of the 4 var-arg ops, it has a number of registers after that in the disassembly
1 for each .param, that will contain the argument value 16:27
rurban so set_i_p I2,P0 stores the length of the args into I2
kj it invokes get_integer vtable method on P0 16:28
so depending on what P0 contains, in case of Array, that's the length
(I think)
rurban try: pbc_disassemble parrot_config.pbc
kj it seems so, yes 16:29
gets length
I think that IMCC doesn't set all the proper flags btw on operands 16:30
hence the [?]
in the output
16:32 dalek joined
rurban I'll implement now the simple -b 16:32
kj you can also check for an op's operands, what their direction is: IN, OUT, INOUT 16:33
if it's OUT, then you can generate <operand> '=' <other operands>
only if #operands > 1 of course
then it'll be more PIRry
rurban pbc_disassemble also cannot read from STDIN 16:35
kj that wouldn't make sense, would it?
particle cat mypbc | pbc_disassemble -
kj right, except if you use pipes :-)
particle it could make sense
rurban it would. I don't think the reader has to jump back a lot.
but it's not very important 16:36
16:41 Tene joined
Infinoid allison: ping 16:47
16:47 Theory joined
allison Infinoid: pong 16:51
Infinoid ah, I just sent you a msg
particle impatient! :)
Infinoid allison: I was wondering if you could tweak trac.ini slightly...
If you could add the ignore_missing_pages option in [wiki], it would prevent weird markup like you can see on trac.parrot.org/parrot/changeset/36165 . 16:52
allison Infinoid: just got your message, sure, no problem
Coke allison: do we have access to trac.ini ?
allison Coke: yes
Infinoid Thanks!
Coke allison: how? 16:53
kj allison: I have done a simple attempt at subclass HLLCompiler and setting the right stages for languages/pod, but I failed for some reason. I guess a more general HOWTO or tutorial in customizing PCT would be very helpful (also for other languages and things to parse) 16:54
allison Infinoid: done
Infinoid allison++ 16:55
allison Coke: ssh into parrotvm.osuosl.org, and go to /var/lib/trac/parrot/conf/
Coke: you have ssh access
pmichaud kj: since that whole approach is likely to change soon, I wouldn't want to spend too much time documenting the way it works now. 16:57
(where soon == before feb 2009 release)
kj pmichaud: fair enough
Infinoid Oh, there's also an option to disable wiki rendering for commit messages entirely. Hmm.
kj (wasting time)--
allison Infinoid: wiki rendering is useful for commit messages 16:58
moritz pmichaud: which scm is now "official" for rakudo? parrot's svn, or rakudo on github?
PerlJam kj: you didn't waste time ... with your better understand of how things work now, you'll be able to transition to the new way much easier :) 16:59
Infinoid Yeah. I love autolinking to other revisions and tickets.
16:59 mj41_ joined
pmichaud rakudo on github 16:59
I was going to write it all up last night, but ended up being too tired to do so
moritz pmichaud: ok
kj PerlJam: it's alright. It's not really my time I'm worried about ;-)
allison kj: are you getting warnings about the HLLCompiler class not existing? 17:00
pmichaud (it's PCT::HLLCompiler)
kj allison: yes
Coke allison: I'll dig through my email to see if I have a password.
kj I think I also tried that, get_class ['PCT';'HLLCompiler'], and then subclass that
I was also somewhat confused whether I should do it using ops directly, or the P6Meta class objec thing 17:01
pmichaud kj: shouldn't matter -- either ought to work.
kj pmichaud: ok
pmichaud load_bytecode 'PCT.pbc'
.local pmc p6meta, perl6
p6meta = get_hll_global ['Perl6Object'], '$!P6META'
perl6 = p6meta.'new_class'('Perl6::Compiler', 'parent'=>'PCT::HLLCompiler')
Coke allison: nope. mine doesn't happen to be my trac password, so no access just now. 17:02
pmichaud that's the code that rakudo uses.
Coke I'll bug the admins at some point.
kj pmichaud: yes I saw that. Why is it done like that seemingly more complex way
allison kj: the warning isn't coming from pod.pir, it's coming from within generated code from the actions file 17:03
pmichaud ...more complex?
kj pmichaud: yes, I mean, why not get the class for PCT::HLLCompiler, and subclass that, using ops
allison Coke: it's not your trac password, but I did send out the login information for everyone
kj now you create a new class using the meta class
particle to directors@ iirc
kj eh
meta class object
Coke I'm looking at an email from 10/28. I'll try to find something more recent. 17:04
pmichaud as I see it, the metaclass approach uses the same number of lines of code as the directly-via-ops method :-)
kj pmichaud: which leaves the question (for me), why not use ops directly instead of all the fancy stuff :-)
pmichaud oh. the fancy stuff also does things like create protoobjects and put them in the correct places. 17:05
i.e., it creates ['Perl6'], 'Compiler' so that we can get to the object later from HLL Perl6::Compiler
kj aah. I'm not very familiar with that stuff.
I should look into that someday 17:06
pmichaud anyway, if you want to do it via subclass, it's
$P0 = get_class ['PCT';'HLLCompiler']
$P1 = subclass $P0, ['POD';'Compiler']
(the other reason for using the p6meta is that some of the opcodes used to not handle keys/namespaces correctly.) 17:07
Coke allison: i have an ftp password, and a trac password reset email. Apologies, I don't see anythign else. 17:08
kj ok, thanks for your patience!
allison kj: and, that fixes it...
kj: svn update 17:09
purl At revision 666.
allison Coke: I'll dig around and see if I can find the email 17:10
dalek rrot: r36174 | allison++ | trunk/languages/pod/pod.pir:
[pod] Fixing inheritance for HLLCompiler subclass.
Coke it's possible my gmail brain is too full. :| 17:11
hurm. anyone have openbsd around? does it report as "openbsd"? 17:12
I am seeing failures still on the openbsd tests.
ah, those are old. nevermind. 17:13
allison Coke: okay, got it, how do you want me to send you the info?
Coke allison: if you privmsg me here, I can connect and change it immediately.
allison Coke: okay, but change it through the web interface, so their LDAP server is updated too admin.osuosl.org/changepasswd 17:14
kj allison: it does, thanks! 17:15
dalek rrot: r36175 | kjs++ | trunk/languages/pod/pod.pir:
[pod] add a dummy doctree method. Needs work, but this is the signature anyway.
17:16
17:16 davidfetter joined
Coke there. now I have access to modify trac.ini. hopefully I won't need to use it. =-) 17:18
hurm. I didn't actually try to modify it. =-)
I see we still have failing tests on windoes. 17:19
allison Coke: which compiler/perl?
Coke particle: those tests you uncommented are failing for a windows smoker. 17:20
*unskipped
smolder.plusthree.com/app/public_pr...st_failure
shorten Coke's url is at xrl.us/beeccq
particle coke: with gcc, it seems 17:22
they pass with msvc
i'll check strawberry against head 17:23
rurban rurban.xarch.at/software/perl/parro...c6-dsp.zip 17:45
17:45 timbunce joined
dalek rrot: r36176 | fperrad++ | trunk:
[configure] rename some C templates & fix coding standard
17:53
18:05 donaldh joined
rurban Anyone on Darwin/PPC around? 18:07
dalek kudo: 48b6102 | (Moritz Lenz)++ | README:
README: POD-linkified a link
shorten dalek's url is at xrl.us/beecij 18:08
Coke rurban: just darwin/x86 at the moment. 18:10
I have an old ppc machine that /might/ let me boot it.
rurban I wanted to debug the pbc transformer failures 18:11
Ticket TT #254: ./parrot -o n.pbc t/op/number_1.pasm && make pdump && ./pdump -h n.pbc
pbc's are still not portable
I'll check my Solaris 10 VMWare image, maybe this is different. 18:12
18:15 chromatic joined 18:18 timbunce left
Coke (not portable) ; yeh, that's why those tests were disabled. added a note to the test; please todo them for platforms they are known to have issues on; that'll let us track passes on platforms as they are fixed, but won't show smoke. 18:24
*to the ticket 18:25
rurban I wait a bit for more failing smokes to get a better idea what's broken, and add it then to the todo logic. irix or some little-endian platform pbc's would be nice to have 18:26
Coke you'll get a better response putting a message out on parrot-dev 18:27
(I'd just ask folks to run "make smolder" and you can sift through the wreckage. =-)
rurban I know, I'm just booting up my solaris now and check if I can reproduce it there. Then I'll try to get a darwin/PPC vm machine somewhere. 18:28
To fix I'd need to post better instructions anyway, on the list
Whiteknight I know it fails on my Ubuntu-x86_64. I'm testing now on Win32 18:29
rurban Whiteknight: can you do: ./parrot -o n.pbc t/op/number_1.pasm && make pdump && ./pdump -h n.pbc
Whiteknight on which system?
rurban on 64-bit: is there some numval transform? 18:30
Whiteknight I dont have my 64 bit computer till I get home tonight
rurban there are endianize issues and 4-8 wordsize issues involved.
the hardest part will be to support older opcodes. 18:31
Coke older?
purl o/` You're older than you've ever been and now you're even older and now you're even older. You're older than you've ever been and now you're even older and now you're older still. o/`
Coke hurm. the spec test for tcl with all the new failures differs only in the revision of parrot used. 18:32
chromatic o/~ TIME IS MARCHING ON.... o/~
Coke that doesn't bode well.
chromatic: wait, when was that?
rurban The packfile source promises to do that at least. haven't checked. I don't support that with the perl5 byteocde format. 18:33
Coke rurban: I don't know what you mean by "older opcodes"
rurban (I'm the perl bytecode maintainer)
there's a note on opcode transforms 18:34
Coke I thought we were talking about parrot.
rurban is it just the ptr swap?
chromatic rakudobug?
purl rakudobug is mailto:rakudobug@perl.org
Coke a commit bit we can believe in. 18:36
rurban I see. No older opcodes, just the opcode ptr swap is seperately listed. That confused me. 18:37
Coke ah, testing. random failures in tcl's make spec test. run the test by hand? it completes. 18:38
rurban I'll leave now until tomorrow 18:43
chromatic Rakudo's page on the P6 wiki is out of date: www.perlfoundation.org/perl6/index.cgi?rakudo 18:49
allison changing locations 18:57
19:06 jhorwitz joined 19:24 timbunce joined 20:05 Andy joined 20:07 braceta left
Coke_afk ... is it me, or are the openbsd reports coming in on the same version. 20:07
Infinoid Coke: Yep, and the version they're reporting is just before the repository switch. 20:19
Same with the netbsd ones. 20:21
Coke AH 20:27
thanks, that make sense.
Coke emails the list. 20:31
Infinoid: IWBNI updates to the drupal site were also tracked by the commit bot. 20:32
www.parrot.org/rss.xml 20:33
20:34 contingencyplan joined
Infinoid Okay. Did that change? 20:36
Coke no. I just never saw updates from that site come here. =-) 20:37
Infinoid I see there is a plugin in here to track www.perlfoundation.org/feed/workspa...20Changes. Does that need to be updated? (I didn't write it.)
shorten Infinoid's url is at xrl.us/beec52
Coke that's the old, (nq) dead wiki. 20:38
Infinoid Ok. I can certainly look at adding one for drupal. Any others I should look at as well?
20:39 geof joined 20:41 Casan_ joined
Coke I updated www.parrot.org/download to track infrastructure changes, ripped out a lot of old stuff. another set of eyes would be helpful 20:43
Infinoid: not that I can think of at this time.
Infinoid Is "news:" an appropriate prefix for drupal hits?
I'm thinking just
news: Some Title
news: some/link/ 20:44
Coke works for me.
best location of docs for someone thinking about starting a project with PCT? 20:45
Infinoid docs/dev/ maybe?
20:45 dalek joined
Coke existing docs? 20:47
rg what's wrong with expanding docs/pct? there's already a gettingstarted.pod. 20:48
Coke I'm not looking to /write/ docs. 20:49
I'm trying to /find/ them.
Coke checks out docs/pct.
Whiteknight I've got some stuff written in docs/book/ 20:50
dalek rrot: r36177 | coke++ | trunk/docs/dev/headerizer.pod:
fix POD so the the list renders as one.
Whiteknight and I have some other stuff written up at en.wikibooks.org/wiki/Parrot
Infinoid Poor dalek seems to be lagged.
rrot: r36178 | coke++ | trunk/docs/pct/gettingstarted.pod:
update some links
20:52
Coke wonders why we have 2 separate book efforts.
Tene Coke: languages/* and perldoc compilers/pct/src/PAST/Node.pir are useful references. 20:53
Coke languages/* is helpful only if I know what I'm doing. =-) 20:54
Tene Coke: if you could document your learning process, or at least record questions or something, it would be useful for writing better PCT docs soon.
Whiteknight Coke: I'm writing both of them 20:57
it's not two separate efforts, it's my effort 20:58
I just don't have the attention span to do all my work in one place
Coke Whiteknight: are they two separate books?
Whiteknight sort of
Coke that's not at all confusing. =-) 20:59
Whiteknight They contain mostly the same information, but I'm writing them in different ways. So, it's like different perspectives on the same stuff
both are limited by my own level of ignorance, of course
I'm hoping that both books attract their own communities of readers/writers to maintain them. 21:01
Coke I personally would rather hope for one book. 21:02
with the thought that a more concentrated application of tuits would result in one awesome book. 21:03
Whiteknight therein lies the problem to volunteer-driven projects: you get what the volunteers give you :)
I have been focusing much more energy on docs/book/ recently, in preparation for 1.0
21:06 dalek joined
Whiteknight okay, it's time for me to head home now. Happy reading! 21:06
Coke finds that with allison's work on 'make html', and with ssh access to the drupal server, he can put up links to docs. 21:07
s/links to//
dalek rrot: r36179 | fperrad++ | trunk:
[configure] rename more C templates & fix coding standard
21:08
21:22 particle joined 21:23 davidfetter joined
Coke finds that make html doesn't quite do what I expected. 21:24
diakopter Infinoid: I wrote the one for TPF parrot wiki, long ago... I guess I haven't seen anyone update the wiki in a long time? 21:31
Coke the tpf wiki is dead. 21:35
it should only be updated to remove pages.
diakopter oh; heh.
Coke most of that should live on the trac wiki. 21:36
Infinoid So, should I write an rss tracker for the trac wiki? 21:39
rg i don't think there's an rss feed for it 21:41
21:48 GeJ joined, skv joined, integral joined
Coke sure. =-) 21:48
don't get that for free on the commit feed?
trac.parrot.org/parrot/timeline
purl i guess trac.parrot.org/parrot/timeline is too slow,
Infinoid The commit feed is separate. Trac does per-page feeds.
Coke looks like timeline has it all combined.
trac.parrot.org/parrot/timeline?ti...format=rss
Infinoid rg: rss feed links are at the bottom of pretty much every trac page
diakopter rg: but it's slow! trac.parrot.org/parrot/timeline?format=rss
Coke if you add "daysback=1", that might help.
Infinoid The feed I've been using is from the Revision Log page (trac.parrot.org/parrot/log/).
diakopter ooo daysback=0 is even shorter
Infinoid I think I'd prefer to add another parser for wiki changes; the changeset parser has some additional logic to scrape the changeset link and build up a list of changed files, and I'd prefer not to have to disambiguate.
But that's just an implementation detail.
Coke Infinoid: looks like you can use the same timeline and turn on different bits "wiki=on", "changeset=on", etc.
Infinoid Is there any other (more efficient) way to get a list of wiki changes?
If not, the timeline approach is probably the best way in the long run.
Especially if we also want to do ticket updates. (Which I'm not sure we do.)
Coke Infinoid: I would be interested in some level of ticket spew.
but I suppose I can just subscribe to all these rss feeds myself.
Infinoid dalek has prevented me from having yet another page full of rss feeds on my google homepage. dalek++ 21:49
21:49 cognominal_ joined
Infinoid Because of dalek, I only have to worry about the page full of subscribed comic strips. As it should be. 21:49
Coke adds the feed to his reader.
shorten Coke's url is at xrl.us/beede5
21:49 particle joined 21:52 cognominal joined
Coke ... shorten, what? 21:52
21:53 lathos joined
Infinoid Musta been your timeline rss link. Wow. 21:53
21:53 jq joined, khatar joined 22:16 particle joined
japhb git-svn users -- what's the command to tell git-svn we've changed SVN repo out from under it? 22:16
PerlJam japhb: there is no such thing. 22:18
japhb grumbles at noone in particular
PerlJam japhb: I editted .git/config and it worked one time but didn't work another time. Not sure what the difference was though.
japhb: on #git, they say that you should run git filter-branch to change all of the git-svn-id:s to point at the new repo too. 22:19
I don't know if that's important or not. I don't have another git-svn repo to try it on)
japhb PerlJam: What net was that #git on, and is that channel logged? 22:20
PerlJam freenode #git and I have no idea if it's logged.
japhb thx, and appears to be 22:21
Any idea when you asked this question? Rather a chatty channel. ;-) 22:23
22:26 Whiteknight joined
Infinoid PerlJam, japhb: editing .git/config worked for me on the second try; the first time around I forgot that trac is https:-only. 22:29
japhb: colabti.org/irclogger/irclogger_log...,Thu#l2067 22:32
shorten Infinoid's url is at xrl.us/beedo2
Infinoid I also used git svn fetch, not git svn rebase. Dunno whether that matters. 22:33
And I didn't have to search or replace any git-svn-id lines in my log. 22:34
japhb Weird how many Perl people I recognize over there ...
Infinoid Yeah, I was thinking the same thing. 22:35
PerlJam why weird? :)
git has the perl-nature. there's a natural fit.
japhb nods sagely
PerlJam Infinoid: so you did a fetch, but then how did you update your working copy? Or did you? 22:36
japhb OK, I'm going to try just doing the config change
Infinoid This is my svn bouncedir, so a cron job does "git svn fetch; git rebase git-svn" once every 10 minutes 22:37
japhb "bouncedir"?
Infinoid Yeah. It's sitting on a 10mbit server; I do all my development on other machines. I use it as a synchronization point. 22:38
PerlJam japhb: he's not using it for work, just to get the clone.
japhb got it
hmmm ... git-svn chewing CPU. Going to let it sit for a couple minutes and see what happens
Infinoid I guess I do it this way so I can forget as much as possible that git-svn is involved. :) 22:39
japhb heh
Speaking of repos, has Rakudo's moved yet? If so, where? 22:40
Infinoid Yep, to github
japhb ah so
Infinoid github.com/rakudo/rakudo/tree/master
japhb Danke
Infinoid updates purl 22:41
rakudo gitweb?
purl i guess rakudo gitweb is github.com/rakudo/rakudo/tree/master
Infinoid rakudo repo?
purl i guess rakudo repo is git://github.com/rakudo/rakudo.git
Infinoid pats purl
purl how condescending
particle shouldn't you be using git.rakudoperl.org/rakudo/ ? 22:42
japhb pets purl
purl o/` purrrrrr o/`
Infinoid If there's a more official one, feel free to correct purl
japhb wonders which mailing list he's not on, thus not getting memo about Rakudo repo ... 22:43
particle there has not been a memo yet
japhb well, that explains it 22:44
purl Damn right it does.
Infinoid Has the old languages/perl6 gotten an rm -rf yet?
particle no, leave that to pmichaud 22:45
japhb seems no
particle do a git clone to languages/rakudo and run Configure.pl there
japhb git svn rebase still in la-la land
Tene Aw, I don't have permissions to commit to rakudo. 22:46
Not that I have anything to commit ATM.
japhb particle: git checkout inside another one? When did that start working? (It could easily have been a while ... last time I cared was a long time ago, and it was under development at the time)
Infinoid japhb: It works fine.
PerlJam Tene: give Pm your github account name and he may grant access. 22:47
japhb shoots git svn rebase in the head 22:49
Infinoid Sadly, "git clone" doesn't seem to preserve svn metadata, otherwise I'd suggest just cloning mine 22:50
Tene japhb: having trouble moving your git-svn checkout to the new location?
japhb Tene: yes
Someone in #git just said I should set "rewriteRoot" in my config ... was about to RTFM that 22:51
Tene No, that's not what you want to do.
finding a link...
purl finding a link is boring. Finding *why* there's a link is interesting.
japhb Tene: do tell
Tene git.or.cz/gitwiki/GitSvnSwitch 22:52
japhb reading ... 22:53
Tene that worked for me.
Infinoid Ah. So I sidestepped the issue by just never doing a git svn rebase. 22:54
japhb hmmm, fetch seems to be actually doing something ,where rebase just spun
Infinoid: yeah, looks like a rebase bug, given the workaround
Infinoid is quite fond of "git rebase git-svn", though.
japhb Infinoid: what does that do? 22:55
Infinoid merges the results of "git svn fetch" into my local checkout
japhb So it's just the second half of 'git svn rebase' then 22:56
Infinoid I suppose so.
It wouldn't surprise me if I've been using git-svn wrong (or at least, the non-intuitive way), all this time.
japhb heh
23:04 particle1 joined 23:11 Limbic_Region joined 23:32 TiMBuS joined 23:41 rurban_ joined
japhb well, the method at Tene's link got me to 'git svn rebase' *seemingly* successfully. Now we'll see what happens the next time somebody commits (or for that matter, I need to) 23:43
23:43 Andy joined