www.parrot.org | Parrot 1.6.0 "half-pie" released: feel free to put in a new JIT! | Testing priorities: Exception and MultiSub
Set by moderator on 19 September 2009.
Coke that sounds like something that could break partcl. =-) 00:00
jrtayloriv What's an "Undef morph to Object bug"? 00:01
Coke Undef and Object are PMC types.
morph is when a PMC changes its type.
chromatic This might fix some of your seggies, Coke. 00:02
jrtayloriv Coke, OK -- thanks. 00:03
dalek rrot: r41373 | chromatic++ | trunk (2 files):
[PMC] Fixed Undef's set_pmc() VTABLE: when assigning an Object to an Undef, the

vtable. Understandably this causes confusion, especially as the attribute structs of Class and Object are very different. Added Undef morph to Object test to ensure that the morph gets the right
00:06
TT #1023 created by allison++: [TODO] Explore using Apple's new Blocks and Grand Central Dispatch 00:09
Coke chromatic: i bet that's the cause of "must be created by an object" errors. 00:11
chromatic It's a likely explanation!
00:14 patspam joined
dalek TT #1024 created by allison++: [CAGE] OpenGL deprecations in Mac OS 10.6 00:15
ose: r114 | Austin++ | trunk/t/ (4 files):
Tests 03, 05 work, new-style.
00:21
00:27 Andy joined
mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r41373 - Ubuntu 9.04 amd64 01:07
that's me for a bit - need sleep - bbl 01:08
01:24 Andy joined 01:26 Austin joined 01:34 kid51 joined 01:44 payload joined
Tene purl: msg whiteknight Can you make a ticket that lists all of the tasks that need to be done for current IO work? I'd like to work on that over the next two weeks. 01:51
purl Message for whiteknight stored.
01:52 nathanmccauley joined 02:00 Austin joined 02:17 joeri left
Coke one of the things tcl needs to track are the arguments passed to a sub up the chain. 02:28
any way to get that?
02:32 mokurai joined
Tene Probably not conveniently, are they available in the context? 02:34
you could store them in a context variable...
02:35 msmatsko joined
Coke what's a context variable? 02:36
(like, a hidden variable in the lexpad?) 02:37
Tene like Perl 6's $*foo 02:38
scoped by the dynamic context, not the lexical context. searches the caller, not the outer.
look for rakudo's !find_contextual function 02:39
src/builtins/globals.pir 02:40
it uses the find_dynamic_lex opcode... is that a rakudo dynop
?
Coke ... I have no idea what you're talking about. =-)
02:42 janus joined
nopaste "tene" at 24.10.252.130 pasted "Perl 6 example for Coke++" (3 lines) at nopaste.snit.ch/18005 02:42
Austin Tene: Do you know anything about recursive compiling with PCT? (Is Rakudo doing it?)
Tene Austin: Um, recursive compiling?
I don't know what that means. 02:43
Austin Compiler calling itself -- like in {{{ use Foo; }}} or {{{ #include <string> }}}
Coke ok. by default, tcl's variables don't work like that; if you want something to bind to a variable in a higher scope, you have to explicitly mention how high up.
and there's no "this var with the same name overrides the var in the higher scope with the same name. 02:44
Tene Coke: That's just an example of Perl 6 looking up a variable in its caller instead of its outer.
Coke ... ok. tcl doesn't have :outer, either. =-) 02:45
Tene You said you had no idea what I was talkking about, and now you do. That's done with the find_dynamic_lex opcode.
But, looks like it's not going to do what you need. 02:46
02:46 TiMBuS joined
Tene You *should* be able to walk the caller chain... I'd guess that there should be a method on the context pmc. 02:48
Austin What's the difference between find_dynamic_lex and find_caller_lex ? 02:49
Or is it a renaming?
Tene Austin: "Like find_dynamic_lex above, but also searches caller's 02:50
outer scopes in addition to the lexpads."
Austin: Yes, rakudo invokes the compiler while compiling to handle use statements. 02:51
Austin: what do you want to know about it?
Coke Tene: how would one get the context pmc from the interpreter?
Austin So find_dynamic only finds things defined in the subs on the call stack, while find_caller_lex searches for things visible at each point on the call stack?
Coke (there's sub, continuation, lexpad, namespace, outer, annotations, globals) 02:52
Tene Um... >.>
Maybe you can't, yet? If so, that's a bug, I think.
Coke looks like continuation is supposed to contain a context, but I see no way to get it out. 02:53
02:54 rg joined
Austin What is the approach? Does it compile into byte code and load, or just merge the syntax trees? 02:56
Tene The former. 02:58
purl the former is a Key and the latter is a STRING
Austin Okay, thanks.
Tene Austin: look at the following in rakudo: 02:59
src/parser/actions.pm +443
which calls: src/builtins/eval.pir +146
Austin: does that answer your question? 03:08
Austin Ayup. I was wanting theory more than anything. 03:10
Tene For the theory, it just compiles and invokes it, and just expects that the invoked code will put something in the appropriate namespace.
dalek ose: r115 | Austin++ | trunk/ (3 files):
Got bitwise tests working new-style
03:11
Austin Yeah. Kind of divergent for me - I'm compiling, so I need the info available internally. 03:12
I'm going to try to just run the 'past' phase and return that.
Coke bah. I think I'm going to have to scrap this work, and start over with a refactor first. 03:15
cotto hi 03:17
Austin Hello, cotto. 03:24
Tene hi cotto
cotto hi cotto 03:35
oh wait
Coke Hey, coke. 03:37
zzz 03:40
03:52 ascent joined 03:58 Austin joined
dalek ose: r116 | Austin++ | trunk/t/ (2 files):
Got logical-expr tests working new-style
04:04
Austin Is the install/config data available from within parrot? 04:06
That is, how do I open an "installed" library file?
cotto Hmm. Apparently llvm only supports generating 16 MB of code. It'll be fun if they haven't fixed that by the time we get to that point. 04:20
it'd be silly to worry about that now, though 04:46
Austin rakudo: say(0o777); 05:09
polyglotbot OUTPUT[Parrot VM: Can't stat languages/perl6/perl6.pbc, code 2.␤main: Packfile loading failed␤]
Austin :(
dalek rrot: r41374 | allison++ | trunk/src/gc/system.c:
[cage] Move variable declaration before code to satisfy C90 requirement.

fix.
05:10
05:11 Austin joined 05:14 petdance joined 05:19 petdance joined 06:15 TimToady joined 06:24 azawawi joined 06:33 cotto joined, Austin joined
azawawi hi 06:34
purl hola, azawawi.
azawawi any idea why rakudo fails to build on 2003 server 64-bit? gist.github.com/189558 06:35
06:47 fperrad joined 06:56 azawawi left 06:59 flh joined 07:11 cotto_working joined 07:54 viklund joined 08:16 mikehh joined 08:23 Austin joined 08:28 mberends joined 08:43 iblechbot joined 09:00 payload joined 09:43 Whiteknight joined
Whiteknight good morning parrot 09:44
09:55 azawawi joined
mikehh whatcha Whiteknight 10:07
Whiteknight hello mikehh
mikehh I was looking at some LLVm stuff and trying out some of your blog suggestions, not getting as far as I would like :-{ 10:09
azawawi any idea why rakudo fails to build on 2003 server 64-bit? gist.github.com/189558 10:16
10:20 slavorg joined
azawawi ah github screwed the output, is it a parrot-related build failure or not? pastebin.ca/1572708 10:23
mikehh oops - didn't report some test results 10:33
Austin good morning, WhiteKnight 10:34
mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r41374 - Ubuntu 9.04 amd64
partcl r742 builds on parrot r41374 - make test PASS - Ubuntu 9.04 amd64 10:35
Whiteknight good morning Austin 10:36
Austin What's new in Philadelphia? 10:37
(I think I have a PGE/regex bug) 10:38
moritz inconceivable! 10:39
purl You keep using that word. I do not think it means what you think it means.
moritz purl: thanks for your enlightening analysis
mikehh rakudo (2c40a5b) builds on parrot r41374 - make test / make spectest (up to 28320) PASS - Ubuntu 9.04 amd64 10:41
Whiteknight Austin: what's the bug? 10:42
purl somebody said the bug was www.cbttape.org/funny/bug3.jpg or img227.imageshack.us/img227/2596/featureiu1.jpg
Austin I have a list of reserved words in a token: token RESERVED { [ ... in | inline | int | ... ] >> } 10:43
You'll note the end-of-word marker
I have a BAREWORD rule that says token BAREWORD { <!RESERVED> <.ident> }
mikehh I still get the occaisional Non-zero wait status: 11 exit (a couple of hours ago) but when I reran the tests it didn't occur
Austin And yet, I'm still getting a match for 'int' as a BAREWORD. 10:44
Whiteknight hmmm, that's weird 10:47
Austin I believe it is due to the short prefix (in) appearing before the longer forms (e.g., int, inline) and the fact that tokens don't backtrack. 10:48
So it's arguably "not a bug, but a ..."
OTOH, I have #include working in grammar. 10:49
(with some significant restrictions...) 10:50
Whiteknight Austin: that very well may be true. You might want to order the tokens in RESERVED from largest to smallest to avoid that 10:55
Austin Yeah, that's what I did. It worked. 10:59
Whiteknight w00t
once they get longest token matching added, you shouldn't need to worry about that stuff 11:00
Austin :)
Whiteknight but LTM is non-trivia
trivial
Whiteknight has to disappear for the day 11:02
later
Austin eyb
11:38 bacek joined
bacek Good evening 11:49
11:50 jan joined
Austin good morning, bacek 11:50
bacek Austin: howizgoin'? 11:51
11:52 masak joined
Austin sokay. 'owyoudoin'? 11:52
"How ya doin'?" (Jersey-style) www.youtube.com/watch?v=_elUqZtHdzw...re=related 11:53
11:59 kid51 joined
dalek TT #980 closed by bacek++: GC Refactor 12:07
bacek bah... imcc suck. It stores duplicated constants. 12:13
moritz bacek: just bring pirc up to date, fix the bugs, make it the default, and forget imcc ;-) 12:14
bacek moritz: it's not my way! 12:15
Implementation of generating PBC from POST is much funny :)
-Ofun as usual ;-) 12:16
(And is actually about 80% of PIR compiler in PCT) 12:18
dalek rrot: r41375 | fperrad++ | trunk/tools/install/smoke_languages.pl:
[languages] add Blizkost
12:24 Andy joined
flh is overloading of a grammar supported by PGE? 12:33
moritz subclassing is supported
flh all I have to do is "grammar Subgrammar is ParentGrammar;" at the top of my file? 12:35
moritz in Perl 6 that works - I don't know if PGE makes it accessable so easily
flh currently, it complains about "TOP" not being found in the subgrammar 12:36
(I haven't redefined the TOP rule in Subgrammar, I want to keep the one from ParentGrammar)
Austin You need to do a better job merging. Are you using the P6object stuff?
moritz in Perl 6 it currently doesn't work when you refer to Subgrammar::TOP directly, but Subgrammar.parse($str) works
flh ok, I found it I think: HLLCompiler.pir uses "top = get_hll_global $P0, 'TOP'" to get the TOP rule: of course, it doesn't search in parent classes 12:39
moritz there's a Perl 6 ticket open for that too, I think... lemme check 12:40
rt.perl.org/rt3/Ticket/Display.html?id=65474 12:41
Austin flh: Take another look. That doesn't do what you think it does.
flh ooops, lunchtime, I'll look at that later... 12:42
Austin HLLCompiler calls self.parsegrammar, for a parsegrammar object, then checks if that can do TOP in a couple of different ways. One way is if the parsegrammar is a namespace-name, then it checks for a TOP sub (not method). 12:43
I think you just need to make sure parsegrammar returns an object that can do TOP. If you're using p6object to subclass, you should get it free. Otherwise, just add a TOP method. 12:44
12:59 JimmyZ joined
flh If I look at the .pir generated by PGE from my grammars, it uses p6object to subclass 13:00
Austin So if your parent has a TOP, you should get it via inheritance. 13:04
flh this doesn't prevent HLLCompiler from complaining it cannot find TOP :) 13:05
Austin Do you have the ancestors loaded?
flh they're all in the same file 13:06
Austin How did you get to the current configuration? 13:07
Did you copy the parent.pir file, or use the create_language script to make a new language or what?
flh shall I upload the git repository somewhere, if you want to look at it? (It's fairly small, and only three files are involved here) 13:10
Austin Sure, that'll work. 13:11
Put it up on github or some such
(Plan for success...)
flh it's here: git://github.com/flh/genfile.git 13:14
interesting parts are src/parser/parser.pg and src/parser/makefile.pg 13:16
and I'd like to use the Makefile grammar in genfile.pir
13:18 JimmyZ joined
Austin I don't have makefile.pg 13:19
flh I forgot it in the first push, but it's there now
Austin k 13:20
How do I make it break? 13:21
flh it should break right now, with: make PARROT_CONFIG=/path/to/parrot_config && echo "hello @path@"|./genfile --target=parse 13:23
I'm getting "Cannot find TOP regex in Makefile"
13:26 Andy joined
Austin Ok 13:28
Let me try something
nope 13:29
Hmm. I can change the error message. 13:31
:)
flh I've had a full range of different messages, from Null PMC access to something weird in the actions file 13:32
dalek rrot: r41376 | bacek++ | trunk/t/pmc/fixedintegerarray.t:
[t] Rewrite FIA test in PIR
Austin The first problem I saw is that parrot executes :init subs in the order they appear in teh file.
dalek rkdown: 76b5856 | fperrad++ | (3 files):
refactor with load_language
Austin So the compiler startup code is referencing symbols that won't be defined until the .include code gets processed. 13:33
I changed the parsegrammar call to pass a string.
dalek a: 5f23e04 | fperrad++ | src/lib/markdown.pir:
now, load_language 'markdown'
13:41
a: 00e199c | fperrad++ | (7 files):
refactor with load_language
Austin What should @hello@ do?
dalek rrot: r41377 | bacek++ | trunk (2 files):
[core] Implement FixedIntegerArray.is_equal
13:42
Austin nopaste.org/p/aXq8luZvjb
13:42 JimmyZ_ joined
flh for the moment, anything between @...@ should be deleted 13:43
so your nopaste is correct on the "@hello@" input
dalek rkdown: fa9fa23 | fperrad++ | markdown/.gitignore:
add a .gitignore
13:44
Austin nopaste.org/p/a7VY54hkK
That's a patch
You've /really/ got to be wary of setting .HLL 13:45
dalek a: ad774ba | fperrad++ | lua/library/ (2 files):
add some .gitignore
13:46
13:47 cognominal joined
flh wow, indeed, the cause seems to be .HLL 13:47
dalek rrot: r41378 | bacek++ | trunk (2 files):
[core] Implement PackfileConstatTable.get_or_create_constant for PMC
13:49
flh so does this means that a HLL which needs to subclass a grammar cannot live in its own namespace?
13:50 joeri joined 13:51 preflex joined
bacek making little steps to implement PBC generation from POST so no one will notice and stop him. 13:52
Austin No, it means that doing anything with HLLs across the boundary from one to another is really hard.
Doing grammar inheritance across the boundary is probably really, really, really hard. 13:53
13:55 whoppix joined
flh I find this behaviour really disappointing: I'll try to make it qualify as a bug in some way :) 13:57
Austin Good luck. :)
jonathan You should be able to subclass over the boundary. 13:58
Rakudo lives in its own HLL and I think we're doing that.
We have to import some stuff, iirc.
dalek rkdown: c08ff6c | fperrad++ | (2 files):
remove target markdown@exe@
14:01
rrot: r41379 | bacek++ | trunk (2 files):
[core] Implement PackfileRawSegment.push_integer
14:06
14:17 tetragon joined
dalek a: bdd0d56 | fperrad++ | library/.gitignore:
remove directory library
14:21
a: 52d9285 | fperrad++ | (2 files):
remove target lua@exe@
14:22
14:26 payload joined 14:32 JimmyZ joined 14:38 Psyche^ joined
jonathan bacek_at_work: Here's a segfault bt you may be intersted in when you get chance to look: paste.lisp.org/display/87352 14:39
dalek lscript: f8309d5 | fperrad++ | (2 files):
don't build not installable executable
15:03
rrot: r41380 | fperrad++ | trunk/tools/dev/mk_inno_language.pl:
[languages] cleanup (after load_language convertion)
15:11 Andy joined 15:17 nathanmccauley joined 15:53 iblechbot joined 16:30 ruoso joined 16:32 MoC joined 16:43 Austin joined 17:19 theory joined 18:07 hudnix joined 18:39 mokurai joined
mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r41380 - Ubuntu 9.04 amd64 19:48
partcl r742 builds on parrot r41380 - make test PASS - Ubuntu 9.04 amd64
rakudo (2c40a5b) builds on parrot r41380 - make test / make spectest (up to 28329) PASS - Ubuntu 9.04 amd64 19:55
20:23 Austin joined 20:43 preflex joined 20:46 bacek joined
bacek Good morning #parrot 21:00
jonathan: ping
GeJ Good morning everyone. 21:01
G'Day bacek 21:02
bacek G'Day GeJ 21:03
21:11 Andy joined 21:21 bacek joined
bacek msg jonathan How I can recreate segfault from your message? 21:21
purl Message for jonathan stored.
moderator www.parrot.org | Parrot 1.6.0 "half-pie" released: The JIT is dead! | Testing priorities: Exception and MultiSub 21:22
cotto msg allison could you shut down the pvmw mailing list? It's outlived its usefulness and is getting nothing but spam at this point. 21:23
purl Message for allison stored.
21:33 Austin joined 21:46 jrtayloriv joined
dalek rrot: r41381 | bacek++ | trunk/t/pmc/fixedstringarray.t:
[t] Rewrite FixedStringArray test into PIR.
21:49
rrot: r41382 | bacek++ | trunk (2 files):
[core] Implement FSA.get_string and FSA.is_equal
21:59
22:16 jrtaylor joined 22:20 jrtaylor joined 22:30 bacek joined
mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r41382 - Ubuntu 9.04 amd64 22:47
partcl r742 builds on parrot r41382 - make test PASS - Ubuntu 9.04 amd64 22:54
23:04 zerhash joined 23:10 payload joined 23:34 patspam joined
dalek tracwiki: v100 | coke++ | WikiStart 23:42
tracwiki: trac.parrot.org/parrot/wiki/WikiSt...ction=diff
tracwiki: v1 | coke++ | DebuggerTaskList 23:46
tracwiki: trac.parrot.org/parrot/wiki/Debugg...ction=diff
tracwiki: v2 | coke++ | DebuggerTaskList 23:49
tracwiki: trac.parrot.org/parrot/wiki/Debugg...ction=diff
rrot: r41383 | coke++ | trunk/src/debug.c:
This was just a generic todo comment. Remove from ticket status.
tracwiki: v3 | coke++ | DebuggerTaskList 23:53
tracwiki: trac.parrot.org/parrot/wiki/Debugg...ction=diff