|
Parrot 0.9.0 "From Outer Space" Released | parrot.org/ | migration to svn.parrot.org begins at 19:00 UTC on Thurs Set by moderator on 26 January 2009. |
|||
| kj | chromatic: both t/pmc/namespace.t and t/pmc/parrotobject.t pass for me | 00:01 | |
| I pass the objct being invoked explicitly, because there's no method call | 00:02 | ||
| chromatic | There you go. | ||
| kj | could you commit the patch to imcc? my wc is messed up | ||
| chromatic | I'd rather update everything in one go, so we don't have the trunk in a broken stage between two commits. | 00:03 | |
| kj | yeah, true | ||
| eh, ok. I'll get a clean wc | |||
| btw, i was looking into the pic stuff, and it seems to me it's easy to remove from compilers/imcc/pbc.c | 00:04 | ||
| just remove all code that has 'pic' in it | |||
| worked here | |||
| not sure if the pic stuff is used somewhere else, but no additional tests failed I think | 00:05 | ||
| chromatic | Coke had a branch somewhere either Allison or I needed to review for that. | ||
| kj | ok | ||
| is it alright if I send you a patch with the tests as well, so you can commit at once? | 00:06 | ||
| chromatic | Just the tests should be fine; I still have the patch applied. | ||
| kj | yes, exactly, just a patch for the tests | ||
| sent | 00:07 | ||
|
00:09
AndyA joined
|
|||
| chromatic | Retesting, but I'll commit shortly. | 00:10 | |
| nopaste | "NotFound" at 213.96.228.50 pasted "Method for redirect std handles" (15 lines) at nopaste.snit.ch/15445 | ||
| NotFound | chromatic: Something like is that you asked for som days ago? | 00:11 | |
| chromatic | Yes, a lot like that! | ||
| NotFound | chromatic: I have it working right now | 00:12 | |
| nopaste | "NotFound" at 213.96.228.50 pasted "Method for redirect std handles - patch" (31 lines) at nopaste.snit.ch/15446 | 00:14 | |
| s1n | TiMBuS: the "mod" op was inside a sub, used in an unless statement | 00:15 | |
| chromatic | s1n, remember it's an assembly language. | ||
| kj | NotFound: that assumes certain values of PIO_STDIN_FILENO and the one for STDERR | ||
| chromatic | You don't get complex nested expressions. | ||
| NotFound | kj: like all the parts that acces SDTIO et al in the repo | 00:16 | |
| TiMBuS | yeah that would probably be the issue | ||
| NotFound | kj: for pir, there are constants | ||
| kj | NotFound: good point. Still, that makes me even more worried | ||
| s1n | so i can't say something like the following: "unless by_counter mod range_by goto range_loop"? | ||
| kj | s1n: I think you want %, not mod | 00:17 | |
| NotFound | runtime/parrot/include/stdio.pasm | ||
| kj | NotFound: ok, well if these values are guaranteed not to switch in order, then it's fine | ||
| but it's being used to index an array | 00:18 | ||
| anyway, just saying :-) | |||
| s1n | kj: error:imcc:syntax error, unexpected '%' ('%') | ||
| kj | ah, so yes | 00:19 | |
| s1n: true | |||
| haha, I'm just writing a compiler for it ;-) | |||
| anyway, you have to store that result in an I register first | |||
| $I0 = by_counter % range_by | |||
| and then unless $I0 goto range_loop | |||
| s1n | oh, heh okay, lemme try that | ||
| NotFound | kj: the implementation can be changed, this is just a proof of concept and a check of desired syntax | 00:20 | |
| s1n | is there a document describing the available registers and their intended uses? | ||
| kj | s1n: docs/pdds/pdd19_pir.pod | ||
| purl | docs/pdds/pdd19_pir.pod is probably for that purpose, though there are many other places that fill in holes | ||
| kj | also, look at docs/user/pir/*.pod | ||
| s1n | kj: thanks, i'll check those out | ||
| kj | and docs/book | 00:21 | |
| s1n | i'm just kinda getting into this so i'm not overly familiar with the documentation yet | ||
| kj: error:imcc:The opcode 'mod_i_p_p' (mod<3>) was not found. Check the type and number of the arguments | 00:22 | ||
| kj | s1n: It's fine. You just make us painfully aware it's not finished yet ;-) | ||
| s1n: ok, that means that there's no "mod" opcode, that takes 2 PMCs and leaves the result in an I register | |||
|
00:22
tetragon joined
|
|||
| s1n | kj: not intentional :) parrot/pir/pge/some-other-TLA all kinda have steep learning curves for someone who hasn't really every done asm | 00:23 | |
| chromatic | kj, I also added a test in t/oo/vtableoverride.t. | ||
| dalek | r36073 | chromatic++ | trunk (7 files): | ||
| : [IMCC] Make self parameter available from PIR vtable overrides (TT #103, work | |||
| : done by Klass-Jan Stol). | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36073 | |||
| kj | s1n: you can convert the PMCs to Integers, just write $I0 = $P0 | ||
| s1n | kj: okay, hmm, not sure what to do now | ||
| how can i declare something as an integer instead of pmc then? | 00:24 | ||
| kj | .local int a, b, c | ||
| chromatic++ # thanks for helping | |||
| s1n | kj: great, i'll try that :) | ||
| kj | s1n: I highly recommend reading docs/user/pir/*.pod | ||
| s1n | kj: is there a good order for a total newbie? | 00:25 | |
| kj | start with the one called 'intro' ;-) | ||
| s1n | hah, okay, after that | ||
| kj | eh, they're also numbered, that should give ya a hint | ||
| :-) | |||
| s1n | oh, there's only 3 of them total heh | ||
| kj | yes, that's all you need ;-) | 00:26 | |
| s1n | great thanks, there's much to learn | ||
| kj: error:imcc:The opcode 'mod_p_i_i' (mod<3>) was not found | |||
| kj | s1n: you tried to store the result in a p register | 00:27 | |
| s1n | okay, i clearly need to read about those registers heh | ||
| kj | the first _x indicates the type of the esult | ||
| _p means result register is PMC, _n is number, etc. | |||
| so: | |||
| .local int a, b, c | |||
| s1n | yeah i see those, that's like the second section of that intro pod lol | ||
| kj | so, store your 2 PMCs in a and b respectively | 00:28 | |
| s1n | yeah, that worked when i started using .local int and $Ix | ||
| kj | that will 'cast' the PMCs into a int, as it were, which just basically means it retrieves the integer representation | ||
| $I0, $I1, $I2 are symbolic registers, no need to declare them | 00:29 | ||
| just use em. if you want fancy names, declare them using .local | |||
| s1n | okay, i'll digest those docs, so if it's not in there, i won't know it :) | 00:30 | |
| kj | if youve read docs/user/pir, and docs/book and docs/pdds/pdd19, then you should be the expert | ||
| bedtime. good night | 00:31 | ||
| NotFound | I don't like very much that $P1($P1) to call the vtable 'invoke' | 00:38 | |
| It does not allow to pass a functor to some thing that expects something callable like a sub | 00:39 | ||
| chromatic | I'm not sure it's a good idea to change the signature of vtable entries when you override them. | 00:40 | |
| NotFound | We can always pass self, even in subs | 00:41 | |
| chromatic | Sure, but I'm not sure passing a functor is desirable. | 00:42 | |
|
00:44
kid51 joined
|
|||
| NotFound | There are languages when all subs are objects, like Boo. Not having real functors will make his interoperability dificult. | 00:44 | |
| chromatic | Right, but VTABLE_invoke() doesn't take any arguments. | 00:45 | |
|
00:45
chromatic left,
chromatic joined
|
|||
| chromatic | Besides the interpreter and the PMC, that is. | 00:45 | |
| Overriding invoke() from PIR and changing its signature seems like a recipe for disaster. | 00:49 | ||
| NotFound | Not an easy task | 00:52 | |
| chromatic | It violates Liskov, which is a bad sign. | 00:53 | |
| NotFound | I will think about it. Now go to sleep :O | 00:58 | |
| kid51 | Liskov? | ||
| purl | well, Liskov is clean in theory, but not that helpful for real programs | ||
| kid51 | purl, Liskov is also en.wikipedia.org/wiki/Liskov_substi..._principle | 00:59 | |
| purl | okay, kid51. | ||
| kid51 | Liskov? | ||
| purl | Liskov is, like, clean in theory, but not that helpful for real programs or en.wikipedia.org/wiki/Liskov_substi..._principle | ||
| Coke_away | chromatic: I wonder why invoke vtable /doesn't/ take arguments. | 01:24 | |
| Coke | seems like it should. | 01:25 | |
| chromatic | Because we have calling conventions. | ||
| Coke | should we have a chance to override arguments in a vtable invoke override? | 01:26 | |
| chromatic | You do, but you have to poke into the registers to do it. | 01:27 | |
| Coke | evil! | ||
| chromatic_away | (ponder how we'd have to make it work with variadic macros in C89 in C if we allowed VTABLE_invoke() to take arguments) | 01:28 | |
| Coke | I'd probably recommend we switch to using a Signature PMC at that point. | ||
| I honestly don't care at this point how it works if I can do the override. | |||
| chromatic_away | This complexity sleeps on a waterbed. | ||
| Coke cringes at American Idol | 01:30 | ||
|
01:48
davidfetter joined
|
|||
| kid51 | me seeks Coke's feedback on trac.parrot.org/parrot/ticket/223 (t/steps/auto_pmc.t) and trac.parrot.org/parrot/ticket/120 (deprecation of DWIM.pir). | 01:52 | |
| Coke | kid51: I already replied to 120 | 01:56 | |
| (4 days ago) | |||
| 223: looks good. | 01:57 | ||
| purl | O_O | ||
| kid51 | Coke: Thanks. If you'd like to eyeball that patch before I re-apply it, that would be cool: trac.parrot.org/parrot/attachment/....pir.patch | 02:06 | |
| shorten | kid51's url is at xrl.us/bedz6d | ||
|
02:24
s1n joined
02:39
gravity joined
02:47
rurban_ joined
|
|||
| Coke | kid51_at_dinner: (eyeball) if it's the same as before, ISTR it was fine. | 02:52 | |
| TiMBuS | whats the easiest way to go about a pmc having a member variable? | 02:53 | |
| actually it'd probably be even better if it was somehow static/const now that I think about it since its just an array with one member. | 02:55 | ||
|
03:07
Fayland_logger joined
03:10
Andy joined
03:13
gravity joined
03:21
Maddingue joined
03:26
Hunger joined
|
|||
| dalek | r36074 | jkeenan++ | trunk (5 files): | 03:31 | |
| : Re-applying patch originally applied in r34951, subsequently reverted. Remove | |||
| : DWIM.pir per trac.parrot.org/parrot/ticket/120. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36074 | |||
| r36075 | jkeenan++ | trunk (2 files): | 03:49 | ||
| : Apply patch submitted by Andy Dougherty in | |||
| : trac.parrot.org/parrot/ticket/214: Remove Solaris 8 (SPARC) from list | |||
| : of supported platforms. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36075 | |||
|
04:04
bacek_ joined
04:20
Andy left
04:27
rurban_ joined,
dalek joined
04:29
clunker9_ joined
04:33
mj41_ joined
|
|||
| dalek | r36076 | allison++ | trunk/docs/pdds: | 04:35 | |
| : [pdd] Regularizing string API function names to fit the pattern of a | |||
| : three-character subsystem identifier. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36076 | |||
| r36077 | allison++ | trunk/src/pmc: | 04:44 | ||
| : [cage] Fix the documentation for default's implementation of 'is_same'. | |||
| : It's checking pointer equality, not numeric equality. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36077 | |||
|
04:50
mj41_ joined
04:51
mj41__ joined
|
|||
| dalek | r36078 | allison++ | trunk/src/pmc: | 04:52 | |
| : [cage] Remove custom 'is_same' vtable function from String PMC. | |||
| : Resolves TT #11. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36078 | |||
|
05:10
dalek joined
05:17
rg joined
05:25
tetragon joined
06:11
ChrisDavaz joined
|
|||
| dalek | r36079 | allison++ | trunk/languages/PIR/src: | 06:14 | |
| : [languages/pir] Fix grammar referring to 'label' rule, which doesn't exist. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36079 | |||
| r36080 | allison++ | trunk (6 files): | 06:20 | ||
| : [languages/pir] Renaming the core compiler file to match test framework | |||
| : expectations. Resolves issue reported in TT #87, but does not resolve all | |||
| : remaining test failures. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36080 | |||
|
06:38
masak joined
|
|||
| dalek | r36081 | cotto++ | trunk (17 files): | 06:43 | |
| : [pmc] remove SIG_x macros, mostly fix t/examples/shootout.t | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36081 | |||
| cotto | chromatic_away, ping | 07:06 | |
| (or anyone who's worked in jit code) | 07:08 | ||
| s/in/on/ | |||
|
07:13
uniejo joined
|
|||
| chromatic | pong | 07:13 | |
| cotto | can you look at ./parrot -j t/examples/shootout_3.t ? | ||
| I seem to have broken that test on jit. | 07:14 | ||
| chromatic | Which commit? | 07:16 | |
| cotto | r36053 | 07:17 | |
| chromatic | Yeah, segfaults for me at r36073. | 07:18 | |
| cotto | '81 fixes several failures in t/examples/shootout.t. That one is the only one that's still broken. | ||
| So I didn't break it? | 07:19 | ||
| chromatic | I'm updating now. | ||
| $ ./parrot -j t/examples/shootout_3.pir | 07:21 | ||
| 1234567 | |||
| FixedIntegerArray: index out of bounds! | |||
| Segfault's in FIA's destroy. | |||
|
07:22
japhb joined
|
|||
| cotto | but the exception shouldn't happen either. I think it's related to TT #233, I just don't know what code is calling FIA's get_integer_keyed_int. | 07:23 | |
| chromatic | I don't see immediately either. | 07:27 | |
| cotto | maybe it's time for some trial and error, then | 07:28 | |
|
07:38
rurban_ joined
07:39
skv joined
08:07
Casan joined
|
|||
| dalek | r36082 | fperrad++ | trunk/languages: | 08:10 | |
| : [WMLScript] Moved to git://github.com/fperrad/wmlscript.git | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36082 | |||
| r36083 | fperrad++ | trunk (10 files): | 08:13 | ||
| : WMLScript is gone | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36083 | |||
| Casan | can anyone suggest a good perl help irc channel good=active @anyserver (modperl2 question) as I don't want to bother parrots unless its ok to ask here. | 08:17 | |
|
08:18
iblechbot joined
08:32
barney joined
|
|||
| dalek | r36084 | fperrad++ | trunk/config/gen/makefiles (2 files): | 08:34 | |
| : [make] remove useless target 'svnclean' | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36084 | |||
|
08:35
HG` joined
|
|||
| dalek | r36085 | bernhard++ | trunk/t/perl: | 08:58 | |
| : [t] fix number of test cases in Parrot_Distribution.t | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36085 | |||
|
09:16
HG` joined
10:01
rob joined
|
|||
| Phurl | omg the fsf has gone too far this time rdfintrospector2.blogspot.com/2009/...oaded.html | 10:05 | |
| shorten | Phurl's url is at xrl.us/bed28v | ||
| moritz find that post quite hard to read | 10:08 | ||
|
10:09
braceta joined
|
|||
| TiMBuS | is this about gcc's broken intermediate representation output | 10:10 | |
| lathos | I couldn't understand it. | ||
| Is it saying that FSF is claiming IR is subject to GPL? | |||
| TiMBuS | no, it can't be | ||
| so they intentionally break their IR output so no third party programs can get the output and use it for whatever | 10:11 | ||
| and then sell it | |||
| Phurl | well now they want to say that the gcc cannot be changed | ||
| by anyone | |||
| or the output is gpled if you link to the runtime | |||
| TiMBuS | =/ | ||
| Phurl | which is really crazy | ||
| according the gpl, you cannot restrict usage | |||
| TiMBuS | the fsf is crazy | ||
| Phurl | if you use the compiler to only do half the compilation | ||
| then you are free to do so | 10:12 | ||
| anyone who buys it... | |||
| i think this is really just political, it cannot be rational | |||
| "your going to kill the gcc" | |||
| TiMBuS | eh, time for llvm to take over anyway | 10:13 | |
| Phurl | yes | ||
| well they are trying to figure out how to stop the llvm | |||
| but if the llvm produces c code | |||
| then really | |||
| there is no stopping them | |||
| TiMBuS | the D compiler for llvm is nearly done, woot | 10:14 | |
| Phurl | that is like saying you cannot compile programs from the llvm if you want to use the gcc | ||
| realyl? TiMBuS you mean D as in www.digitalmars.com/ not D as in solaris Dtrace := | |||
| ;) | |||
| TiMBuS | digitalmars d lol | 10:15 | |
| Phurl | hahah | ||
| TiMBuS | its a really good language | ||
| Phurl | it looks good! | ||
| have you used it? | |||
| TiMBuS | yes | ||
| Phurl | nice, so it is c++ plus | ||
| ? | |||
| TiMBuS | pretty much. a lot cleaner | ||
| Phurl | you know, the times have changed alot | 10:16 | |
| and people are just dying to go open source | |||
| just to reduce costs | |||
| TiMBuS | its like a halfway point between C#/Java and C++ | ||
| open souce is cool | |||
| Phurl | the fsf has won, but not how they want to have won | ||
| they lost control | |||
| lathos | Open source won. Free software lost. Oops. | ||
| Phurl | but the people won | ||
| TiMBuS | FOSS isnt the same thing as open source | 10:17 | |
| Phurl | yeah basically | ||
| I still love free software and support it when I can | |||
| but they make it more and more difficult on me | |||
| :P | 10:18 | ||
| barney | I'm also confused about the FSF: What is bad about mixed compilation? | 10:19 | |
| TiMBuS | im pretty sure richard stallman is legitimately crazy, so just chalk it up to that. | ||
| Phurl | LOL | 10:20 | |
| really, bkuhn said that he worked for a long time on this | 10:21 | ||
| did you see the link at the bottom about the announcment of the plug in architechture for the gcc? | |||
| it is based on this idea | |||
| they want to say that the plugins must be gpled | |||
| i guess they will try a political solution | 10:22 | ||
| like : if you say open source i will scream and cry, so dont! | |||
|
10:40
kj joined
10:46
rob joined
|
|||
| dalek | r36086 | bernhard++ | trunk/src (2 files): | 10:55 | |
| : [codingstd] add missing of incorrect ASSERT_ARGS macro | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36086 | |||
| r36087 | bernhard++ | trunk/src (2 files): | 11:01 | ||
| : [codingstd] tabs.t and trailing_space.t | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36087 | |||
| barney | Can string_repeat be removed? Replaced by Parrot_str_repeat. | 11:02 | |
|
11:11
skv joined
11:14
ChrisDavaz joined
|
|||
| dalek | r36088 | bernhard++ | trunk/src/pmc: | 11:17 | |
| : [codingstd] c_parens.t | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36088 | |||
| cotto | barney, are they distinct functions that do the same thing? | 11:20 | |
| or did you mean rename | |||
| barney | string_repeat does the same as Parrot_str_repeat, I've added a comment to the open ticket TT #210 | 11:22 | |
|
11:40
UltraDM joined
|
|||
| dalek | r36089 | coke++ | trunk/config/gen/makefiles: | 12:06 | |
| : Document another build dependency. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36089 | |||
| Coke | cotto, I think this was you: when you add an include, be sure to also write it down in the makefile. (especially if it's a generated .h file) | ||
| cotto | It was and I will | ||
| Thanks for taking care of that. | 12:07 | ||
| Coke++ | |||
| Coke | np. | 12:08 | |
| IWBNI if we had a make depend step. | |||
| but that's work. | 12:09 | ||
| cotto | It may become a good idea to include all the PMC headers by default. We'll see how the rest of the UnionVal deprecation goes. | 12:13 | |
|
12:24
AndyA joined
13:01
tetragon joined
13:37
pancake joined
|
|||
| Coke is followed on twitter by pacolinux. | 13:55 | ||
| Coke finds out that pacolinux actually tried to run the spec test for partcl. | |||
| twitter++ | |||
| PerlJam | I don't know if pm made a decision yet, but it looks like git is winning. | 14:22 | |
| dalek | r36090 | jonathan++ | trunk/languages/perl6/src/classes: | ||
| : [rakudo] Auto-threading over the invocant for methods not defined in Junction. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36090 | |||
|
14:27
gryphon joined
|
|||
| dalek | r36091 | bernhard++ | trunk/languages/pipp (2 files): | 14:34 | |
| : [Pipp] add implementation of 'chunk_split' | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36091 | |||
| r36092 | bernhard++ | trunk/languages/pipp (5 files): | |||
| : [Pipp] Implement 'implode'. | |||
| : Return 'standard' from get_loaded_extensions() | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36092 | |||
|
14:35
Whiteknight joined
|
|||
| Whiteknight | ETOOMANYTRACEMAILS | 14:35 | |
| moritz | trace-mails or trac-emails? :-) | 14:36 | |
| dalek | r36093 | bernhard++ | trunk/languages (2 files): | ||
| : [codingstd] trailing_space.t | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36093 | |||
| Coke | Whiteknight: yah, I'm about to setup a gmail filter. | ||
| Whiteknight | moritz, trac-emails | 14:37 | |
| haha, stupid unix error naming ambiguities | |||
| it's like that website, www.expertsexchange.com, which many people read as expert-sex-change instead of experts-exchange | |||
| rg | whiteknight: can regular users also get trac emails (and i just haven't found how) or is that not possible? | 14:39 | |
| moritz | there's a list to which you can subscribe | ||
| Coke | Whiteknight: www.6dollarshirts.com/product.php?p...amp;page=2 | ||
| shorten | Coke's url is at xrl.us/bed3oo | ||
| Whiteknight | rg, all the trac emails seem to go to the parrot-dev mailing list, I think | 14:40 | |
| rg | i thought i was subscribed to parrot-dev. also, i'd prefer a per ticket subscription, like rt or bugzilla | 14:41 | |
| dalek | r36094 | particle++ | trunk/src/string: | ||
| : [core] oops! strings refactor caused my changes to string_to_num not to be committed. i blame society. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36094 | |||
| Coke | i don't know if you can tell trac to email you on given tickets. | ||
| dalek | r36095 | Whiteknight++ | trunk/docs/book: | 14:44 | |
| : [Book] Add stuff to the PIR chapter about statements, directives, boxing and type conversions, etc. More example code. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36095 | |||
| Whiteknight | particle++, society-- | ||
| Coke | added a link to the parrot tickets list to parrot.org // Developers | ||
| ... well, I hit submit, anyway. trac is still loading. | 14:45 | ||
| there, added. | 14:46 | ||
| ... whoops. wrong display name. fixing | |||
| moritz | and I thought one of the reassons for switching to trac was that RT was slow | ||
|
14:47
davidfetter joined
|
|||
| rg | i'm getting "OperationalError: database is locked" (i know, just wait :( ) | 14:48 | |
|
14:49
Andy joined
|
|||
| Coke | zzzzzzzzzzzzzzzzzzzzzzzz | 14:50 | |
| seen allison? | 15:06 | ||
| purl | allison was last seen on #parrot 19 hours, 12 minutes and 30 seconds ago, saying: NotFound: yes | ||
| kj | Whiteknight: the part in the book about box opcode almost implies that you have to create a new Integer first, and then invoke box | 15:08 | |
| that's the way I read it.. | |||
| Coke | rakudo: ('kjs','barney','fperrad').pick.say | 15:12 | |
| polyglotbot | OUTPUT[kjsā¤] | ||
| Coke | rakudo: ('kjs','barney','fperrad').pick.say | ||
| polyglotbot | OUTPUT[fperradā¤] | ||
| kj | and also, "there is no way to specify a pmc constant in the PIR source code". That is true, except that there is a way to store a PMC constant, but it's done using an :immediate sub | ||
| Whiteknight | kj, you're right. I should clarify that section | 15:13 | |
| and I'll add the :immediate workaround for constant PMCs | |||
| kj | Whiteknight++ # book | ||
| Whiteknight | thanks! | ||
| kj | yes, the :immediate trick is in pdd19, if you need details | ||
| Coke keeps meaning to use that trick for some tcl stuff. | 15:14 | ||
| (I am instead shoving things into a global with an :init) | |||
| kj | and, in fact, it's a bit of a misnomer: it's not really a "constant" as such; you can actually modify it (I know for sure if it's a data structure such as hash/array, not sure for scalars) | ||
|
15:14
Tene_ joined
|
|||
| barney feels rejected | 15:19 | ||
| particle | it's a shallow constant :) | 15:20 | |
| kj | particle: Yes, but is it? Suppose an :immediate .sub returns an Integer PMC, can you change the value of that PMC? | 15:21 | |
| I should test that some time | |||
| Whiteknight | kj, you should be able to modify it, yes. If you want it to be constant you should create a read-only pmc instead | 15:25 | |
| Whiteknight is not entirely sure how to make a read-only PMC in PIR, but it sounded like a good answer | |||
| kj | it seems a bit weird, to define a .const that is modifiable | 15:27 | |
| (maybe add a, currently non-existing, :const flag?) | 15:28 | ||
| Whiteknight | what are the \\f, \\r, and \\e string escape sequences? | 15:33 | |
| kj | \\r is return-carriage | ||
| the others I don't know | |||
| moritz | Whiteknight: in which context? PIR? or Regexes? | ||
| Whiteknight | in PIR | ||
| moritz | dunno then | 15:34 | |
|
15:34
donaldh joined
|
|||
| kj | Whiteknight: I think they're the same as in C | 15:36 | |
| Whiteknight | haha, I have no idea what those sequences are in C either | ||
| kj | well that's easy no? | ||
| moritz | \\f could be a form-feed character | ||
| kj | www.wilsonmar.com/1eschars.htm | 15:37 | |
| Whiteknight | yeah, \\r looks like carriage return and \\f looks like formfeed | ||
| but I don | |||
| t know what \\e is | |||
| kj | no it's not on the site | ||
| is it not in pdd19? | |||
| oh escape | 15:38 | ||
| lua-users.org/lists/lua-l/2008-03/msg00039.html | |||
| lua doesn't support it, but instead uses \\027 | |||
| istr it's something to do with setting the cursor position, for which you need to use the escape thingy | |||
| Phurl | ok | 15:39 | |
| Whiteknight | okay | ||
| Phurl | it does not look like the pipp will be working soon | ||
| kj | check out the "game of life" example of lua | ||
| that uses it to reposition the cursor | |||
| (not sure if it's in parrot repos. but it should be easy to find online) | |||
| Whiteknight | okay, thanks | ||
| Phurl | i have the feeling that the parrot pipp xslts are out of synch with phc | ||
| Whiteknight | Another question, how do you list yourself as a "resource" on a trac ticket? | 15:40 | |
|
15:40
rurban_ joined
|
|||
| Coke | you can own the ticket. | 15:41 | |
| kj | Whiteknight: btw, you might want to check out whether all these escape characters actually work in PIR... | ||
|
15:42
riffraff joined
|
|||
| Whiteknight | kj, that probably is a good thing to test | 15:42 | |
| kj | maybe even write tests :-) | ||
| I'm not sure if there are any. there might | |||
| particle | i don't remember writing any | 15:43 | |
| moritz | ack -Q '\\e' t/ | 15:44 | |
| two PGE tests | |||
| t/library/mime_base64.t implicitly tests \\f | 15:45 | ||
| particle | should explicitly test, perhaps in t/compilers/imcc/syn | 15:46 | |
| barney | Phurl: Yes, the PHC variant never passed all tests. Things that are easy with NQP are fairly hard with XSLT | ||
| particle | ...which should be renamed to t/pir/syn or something | ||
| maybe phurl can help with the sticky xslt... | 15:47 | ||
| Phurl | ok | ||
| i am just updating the ticket | |||
| i dont know but nothing comes out of the xslt | 15:48 | ||
| ... | |||
| Coke | kj++ | 15:50 | |
| kj | what does 'syn' stand for anyway, in t/imcc/syn? | ||
| Coke | syntax? | ||
| purl | i think syntax is a nightmare | ||
| Coke | no, purl, syntax is <reply> | ||
| purl | okay, Coke. | ||
| kj | aah. 'syntax' was too long?! | ||
| jonathan | it was too taxing to type | ||
| Coke | if in fact that's what it is, feel free to rename it. I'm just guessing. | ||
| kj | jonathan: I only got it now :-P ha ha! | 15:51 | |
| particle | yes, it's syntax. let's call it t/pir/syntax/ | 15:54 | |
| dalek | r36096 | jonathan++ | trunk/languages/perl6/src/parser (2 files): | ||
| : [rakudo] Compile time detection of type re-declaration, as well as making class A is B { } and class A does B { } a compile time error when B is not declared. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36096 | |||
| kj | particle: do you have any failing tests on windows? | 15:56 | |
| particle | for parrot? | ||
| kj | yes | ||
| I've got 3, including NaN/Inf related | |||
| particle | are you at head? | ||
| kj | r36087 | 15:57 | |
| particle | i put in a fix this morning, i didn't realclean after allison's strings refactor, and it caused my patch to fail, since src/strings.c was moved | ||
| r36094 | particle++ | trunk/src/string: ... | 15:58 | ||
| kj | i'll svn up and rebuild | ||
| jonathan | So...I can't find how to do it...how do I merge one ticket into another in RT? | ||
| particle | the jumbo page will have that, for sure | 15:59 | |
| moritz | jonathan: click on the Jumbo | ||
| jonathan | thanks | ||
| oh | |||
| Internal Server Error | |||
| purl | it has been said that Internal Server Error is the catch-all the web server uses when it has no idea what's wrong or look in the error_log for (hopefully) a better error message or 10 MONKEY CANNOT FIT INSIDE A 1.44MB FLOPPY!@# | ||
| kj | gen::makefiles - Generate makefiles and other build files...value for 'opengl_lib' in config/gen/makefiles/root.in is undef at lib/Parrot/Configu | 16:01 | |
| re/Compiler.pm line 539, <$in> line 2198. | |||
| rg | you don't need the jumbo page. it's on the links page | ||
| kj | is that configure warning known? | ||
| Phurl | who is the best webhosting for europe? | 16:03 | |
| jonathan | OK, done | 16:04 | |
| Phurl | dont close my tickets !!! /me beats his chest | 16:13 | |
| :) | |||
| Coke | is there a magic attribute I can put on a C variable that will cause it to retain its value across function invocations? | 16:17 | |
| moritz | Coke: static | 16:18 | |
| static int i = 1; | |||
| Coke | danke. | ||
| bah. | 16:20 | ||
| CONST_STRING isn't defined when my dynops are compiled. | |||
| kj | Coke: note that it makes the function non-reentrant | 16:24 | |
|
16:25
Theory joined
|
|||
| Infinoid | kj: is "make test" in compilers/pirc/ expected to pass? | 16:27 | |
| kj | Infinoid: no there's some failing tests in stmts.t | 16:28 | |
| that's due to the bug | |||
| ISTR it used to work, but I can't say for sure | |||
| probably not | |||
| Infinoid | ok, thanks | 16:30 | |
| Coke | kj: danke. because of CONST_STRING missing, I can't use it. | 16:31 | |
| kj | Coke: I think it's a feature only to use in prototype code; basically it's a global with limited scope. | 16:32 | |
| Infinoid | I'm cleaning up a few gcc warnings in pirc (mostly constness stuff) | 16:33 | |
| Infinoid gives up on src/pirmacro.c:128 for now | 16:35 | ||
| kj | what warning is that? | 16:36 | |
| oh yea, the cast | |||
| yes, I don't know how to fix that.probably removing the 'const'ing | |||
| of course, what would work is to copy the string... | 16:37 | ||
| but for now, c-strings are not so important, I think, as the whole string stuff will move to Parrot STRINGs anyway | 16:38 | ||
| particle | coke: what about const_string? | ||
| coke: rakudo uses CONST_STRING | 16:40 | ||
|
16:40
tomyan left
|
|||
| Coke | particle: in your ops file? | 16:40 | |
| particle | ah, no pmc. | ||
| Infinoid | kj: the confusing part is the comment above it. it's not casting to "const *", it's casting to "* const", isn't it? | ||
| gcc gives me a warning about the cast. if I remove it, gcc gives me a warning about the assignment. So yeah, leaving it alone for now | 16:41 | ||
| kj | Infinoid: value is a char const * const; def->body is a char const *. | 16:42 | |
| dalek | r36097 | infinoid++ | trunk/compilers/pirc/src: | ||
| : [pirc] Fix a 64-bitness issue (opcode_t does change size). | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36097 | |||
| r36098 | infinoid++ | trunk/languages/perl6/src/parser: | |||
| : [cage] Trailing whitespace fix. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36098 | |||
| r36099 | infinoid++ | trunk/compilers/pirc/src (3 files): | |||
| : [pirc] Fix a few warnings. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36099 | |||
| Infinoid | kj: but your cast is just "char *", does that strip *both* consts then? | ||
| kj | eh, so i guess the cast should be to char const *, not char * | ||
| Whiteknight | if you cast it to (void*) first and then cast it to (* const) the compiler shouldn't throw an error | ||
| of course, here there be dragons | |||
| Infinoid | I don't have a clue. | ||
| particle | Whiteknight: never, ever do that in parrot code. i *will* find you. | 16:43 | |
| kj | I don't know about the dragons part... that's why I put a comment there | ||
| Whiteknight | I'm just saying if you want the compiler to shut up about casting errors, then use a cast that is defined by the C89 standard to not throw errors | 16:44 | |
| maybe wrap it up neatly in a little YES_I_REALLY_WANT_TO_CAST_THIS() macro, with a nice comment and a few caveats | |||
| Infinoid | It's usually better to back out the constness, I think. | ||
| Whiteknight | DAMNIT_I_SAID_JUST_DO_IT() | 16:45 | |
| kj | Infinoid: yes, probably. But like I mentioned, they'll be STRING * at some point anyway | ||
| Infinoid | The code in question is dealing with a constant value pulled from a PBC file. That doesn't necessarily say anything about whether it needs to be const on the C level... | ||
| Yeah, it'll change anyway. | |||
| kj | but I'm feeling too lazy at this point to undertake such a big conversion | ||
| Infinoid: true, but I just like stuff to be 'const' :-) It's supposed to be optimizable or whateer | 16:46 | ||
| Infinoid | I've never actually seen much performance benefit from that. Though it is nice that it generates warnings when you do things you aren't supposed to be able to do. :) | 16:49 | |
| particle | that's the main benefit, to me | ||
| source code is for humans. | |||
| Infinoid | from the processor's perspective, everything is a void*. Everything above that is for us. | 16:50 | |
| rurban | well, a cpu's sees int and double, not only void* | 17:04 | |
| Infinoid | int and void* are the same thing tho :) | 17:06 | |
| Whiteknight | cpu just sees a series of bits. How it uses those bits depends on what the programmer says to do | 17:07 | |
| rurban | you can safely calculate with int, with void* - void* is not cosher | 17:08 | |
| Infinoid | that distinction is only valid on the C level. | 17:09 | |
| rurban | true, but void* is only a c type | ||
| int bits differ from double bits also. | 17:10 | ||
|
17:11
Phurl joined
|
|||
| Phurl | back | 17:11 | |
| trac.parrot.org/parrot/ticket/235 please reopen | |||
| Infinoid | True, doubles are a special case. My point was, all these things like structs, constness, nonnullness, enums, defines, functions, inlineness, all of those things are only here for our benefit. (I was agreeing with Particle) | 17:13 | |
| NotFound | Take care with constness and casts, or you break the c++ buid | 17:15 | |
| rurban | is c++ ever smoked? with msvc probably | ||
| Infinoid | Because warnings become errors? | ||
| NotFound | rurban: I take care to maintain the c++ buildability | 17:16 | |
| moritz | on German perl newsgroup somebody is asking how Perl 6's XS replacement (aka NCI) will look like - is there any resource I can point them to? or parrot's NCI for a start? | ||
| NotFound | Infinoid: yes, c++ is intolerant with several cases that c allows | ||
| Infinoid | moritz: maybe the pdd16 draft | 17:17 | |
| moritz | Infinoid: good idea | 17:18 | |
| purl | moritz: Good Idea: Doing your own yard work. Bad Idea: Doing your own dental work. | ||
| NotFound | moritz: the example about nci that that I know the best is the MySql module in examples... because I wrote it ;) | 17:19 | |
| moritz | NotFound: I already included a link to the examples/nci/ dir in my reply | 17:20 | |
| kj | there' also an opengl exmple I think that should work? | 17:26 | |
| japhb perks up his ears ... somebody mention OpenGL? | |||
| NotFound | kj: I think I tried some opengel able two months ago and worked | ||
| s/able/example | 17:27 | ||
| japhb | yes, examples/opengl/ | ||
| kj: I see in the scrollback that you were having problems with an OpenGL warning during configure? | 17:28 | ||
| kj | japhb: I did | ||
| japhb | Did configure detect OpenGL, or not? And what OS are you running? | 17:29 | |
| kj | winxp, I don't think I have opengl | ||
| let me check | |||
| (this is an office pc) | |||
| japhb | nodnod | ||
| NotFound | Did we need to check it in configue? We can just check the library abailability when using it | ||
| And the same for curses and some other things | 17:30 | ||
| kj | it seems to me, but I don't know how configure works, that it's an error in the configure script | ||
| japhb | NotFound: OpenGL? Yes, we need to find it during configure, because we autogenerate the include and function wrappers from system headers. | ||
| kj | I don't think I have opengl stuff here | 17:31 | |
| japhb | Unlike a lot of APIs, OpenGL is not even close to static ... there are a bunch of optional libraries, a plethora of versions, and some incompatibilities between vendors. The only sane way to deal with that is to either figure out at Configure time what's really there, or use one of the "extension finder" libraries, that add dependencies and lag the vendors significantly. | 17:32 | |
| NotFound | I don't like much the idea of generating call signatures from headers. If forces to have the devel packages in a lot of distributions. | ||
| japhb | kj: OK, so the problem is that with no OpenGL, there's something in the makefile generation that's still expecting to see it. | 17:33 | |
| NotFound | Don't even talk about windows libraries | ||
| japhb | NotFound: trust me, it's not ideal ... but it's better than the Perl 5 OpenGL situation, by a long shot. | 17:34 | |
| particle | NotFound: you still can't reply to a ticket via email. sigh. | ||
| japhb | (TT is better than RT how?) | ||
| japhb pulling to see if I can figure out kj's problem | 17:35 | ||
| NotFound | particle: don't blame me, I don't know anything about trac, just started to learn how to use this month. | 17:36 | |
| particle | i'm not blaming. i'm sighing. just emailed support@osuosl.org about it. | ||
| however, your comment won't appear in the ticket unless you use the web interface, until email2trac is installed (and configured?) | 17:37 | ||
| NotFound | particle: What comment? | 17:38 | |
| purl | comment is pretty gold. | ||
| moritz | purl: forget comment | ||
| purl | moritz: I forgot comment | ||
| particle | [parrot-tickets] [Parrot] #210: string_repeat siganture, maybe bug | ||
| NotFound | Ops, thanks. | ||
| japhb | kj: I think I found the problem; coding and testing | 17:43 | |
| kj | japhb: how to fix? | 17:44 | |
| japhb | Just need a failure path in the opengl detection that will set that interpolation variable to '' instead of undef. I'm going to take the opportunity to clean up something else while I'm in there. | 17:50 | |
|
17:57
ChrisDavaz joined
|
|||
| rurban | kj, japhb: I have a opengl_lib patch and ticket in trac | 18:00 | |
| japhb | rurban: oh. Well, I was about to commit my fix. :-) | ||
| rurban | tt #249 | 18:01 | |
| just a one-liner | |||
| japhb | real link? I'm pretending Trac doesn't exist right nwo. | ||
| rurban | trac.parrot.org/parrot/ticket/249 | ||
| trac.parrot.org/parrot/attachment/..._lib.patch | 18:02 | ||
| shorten | rurban's url is at xrl.us/bed4fx | ||
| japhb | rurban: nodnod. Actually, no reason *both* of our fixes can't be applied -- mine fixes the auto module not to produce bad results, yours protects against bad input. | 18:03 | |
| rurban | It's just a simple warning when replacing @opengl_lib@ | ||
| Coke dislikes how tcl is currently doing codegen. | |||
| rurban | should I apply mine now? | ||
| japhb | rurban: sure, but ATM auto/opengl.pm is not doing the right thing. | 18:04 | |
| rurban: assuming you've tested it, heck yes. :-) | |||
| rurban | sure, but that's a longer story... | ||
| dalek | r36100 | japhb++ | trunk/config/auto: | 18:05 | |
| : [OpenGL] Produce sane(ish) results for no OpenGL | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36100 | |||
| japhb | ... anyone else have any Parrot OpenGL binding complaints at the moment ...? | 18:06 | |
| moritz | they don't make me coffee! | 18:07 | |
| japhb nods sagely ... | |||
| That's a valid complaint! | |||
| dalek | r36101 | rurban++ | trunk/config/gen/makefiles: | ||
| : Fix tt#249 undefined opengl_lib | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36101 | |||
| japhb grumbles | 18:08 | ||
| Infinoid googles for opengl coffee cup demo renderers, and is vaguely surprised when he doesn't find any. | |||
| japhb | Guess it's time to face the Trac music | ||
| OpenGL people do tea ... | 18:09 | ||
| Whiteknight | snooty OpenGL people... | ||
| rurban | japhb: I was thinking about parsing the right headers | 18:10 | |
| japhb | rurban: as opposed to ...? | ||
| rurban | because we really only know the libs, -lbla, but not headers | ||
| japhb | rurban: Oh, you mean finding the right set on the system when the user has them installed in a non-standard location? | 18:11 | |
| rurban | so you just add together all found headers, not only the one which are actually used | ||
| japhb | rurban: yes, that's true | ||
| rurban | e.g. on cygwin I have two conflicting libs and headers | ||
| (cygwin the only one so far) | |||
| japhb | rurban: nodnod | ||
| rurban | mingw might have the same opportunity | ||
| but how to solve that? | 18:12 | ||
| or if you find /usr/local/lib/glut and /usr/lib/glut. same problem | |||
| japhb | I think Windows is the only place that the "bag everything" heuristic might fail ... but not having developed on Windows in over a decade, I don't know what the right heuristic *is*. | ||
| rurban | hmm, there's no other solution than to fail on more than two found "sets" | 18:13 | |
| japhb | rurban: most of the time, the different copies of unix headers are close enough that the worst that happens is you wrap a couple functions that the dll doesn't actually support. | 18:15 | |
| particle | i really don't want parrot's configure to go down the path ie did with error-correcting poorly-written html | ||
| japhb | I don't have a solution implemented for that, but I know what I plan to do ... whenever the dlfunc fails, instead set the wrapper to a function that reports a missing dll function ... since that's what the "magic extension finders" do. | ||
| particle | or mozilla, for that matter. | ||
| japhb | particle: huh what? | 18:16 | |
| particle | multiple sets of headers, why not have the user specify one? | ||
| japhb | particle: I'm fine with adding that as an *override*. But the default should magically work as often as possible. Because to conquer the earth, you want p(Fail) for configure;make to be as low as possible. To a first approximation, 1-p(Fail) is the infection rate for our glorious epidemic. | 18:18 | |
| rurban | particle: agreed. we have that logic on the opengl header parser. but I didn't complain so far because it was only cygwin and the default worked fine so far. | 18:20 | |
| particle | well, at least display a message that multiple headers were found, which may lead to problems, but "$default" has been selected for you. | 18:21 | |
| rurban | maybe we should fail if we find a second set of headers and complain to use --with-opengl-include=/bla --with-opengllibs="-lglut bla" | ||
|
18:21
contingencyplan joined
|
|||
| particle | yeah, that's my suggestion | 18:21 | |
|
18:21
mberends joined
|
|||
| rurban | good. | 18:21 | |
| kj | japhb: opengl configure thingy is fixed. thanks! | 18:22 | |
| particle | list the multiple headers found, provide syntax to disambiguate | ||
| japhb | rurban, particle: we have to be very careful with that, though ... because any number of places on the net, when people are trying to get OpenGL running on their box at all, they get told stuff like "Install Mesa, and then overlay with the nVidia drivers" and other such mess | ||
| kj: you're welcome | |||
| particle | "your opengl setup is screwy. this is likely not your fault, but it may affect parrot's opengl compatibility" | 18:23 | |
| japhb | particle: I don't accept "fail" as the proper result for this. "warn" is acceptable to me, though. | ||
| rurban | the problem will be to define sane "sets" of found headers and disambiguate from "wrong" ones | ||
| particle | warn is better than nothing. failure is safest, but not friendliest. | 18:24 | |
| i'll settle for warn. | |||
| japhb | Don't forget, OpenGL is "best effort" on a good day. Failure doesn't gain us anything, because "mostly right, but some chance of subtly wrong" is exactly where the OpenGL drivers *ACTUALLY ARE* | ||
| particle: OK, excellent. | 18:25 | ||
| rurban | okay. I can start with the patch because we for me it would be easiest to test | ||
| japhb | rurban: excellent | ||
| That means I might actually be forced to face $day_job ... ;-) | |||
| rurban | I just stopped dayjob and can actually do fun stuff now :) | 18:26 | |
| japhb | wheeee | ||
|
18:28
contingencyplan joined
|
|||
| Whiteknight | how do you TODO a test in PIR? | 18:31 | |
| rurban | It's trac.parrot.org/parrot/ticket/253 I added the --with-opengl-include and --with-opengl-libs to solve the conflict also | 18:32 | |
| particle | rurban++ | ||
|
18:32
chromatic joined
|
|||
| japhb | rurban++ | 18:32 | |
| One thing to note, if you plan to implement this -- on some OSen, you need to be able to specify several directories to each of those options (or support multiple copies of those options). For example, OS X has GLUT and GLU in completely different directory heirarchies. | 18:34 | ||
| (Which I think is insane, but that's the way the ball bounces.) | |||
| rurban | I thought of adding the needed linker syntax as "-L/some/path -lglu -lglut -L/some/otherpath -lGL". lļæ½Like this? | 18:36 | |
| the problem is that you just call dlfunc and just find some matching dll, which is independent on the libs and headers | 18:37 | ||
| dalek | r36102 | particle++ | trunk/languages/perl6/src/classes: | ||
| : [rakudo] NaN ~~ NaN is true now | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36102 | |||
| rurban | thankfully only opengl is THAT weird. nci for tcl/tk or win32gui or wxWindows will be much simplier | 18:38 | |
| particle | how lovely it is to have no failing rakudo spectests on windows. | ||
| moritz spectests on linux as well | |||
| japhb | rurban: yes, the difference between what dlfunc does and what libs you want to use is a real problem. I wish you luck. ;-) | 18:39 | |
| Coke tries to figure out a way to cleanup function dispatch on partcl. | 18:41 | ||
| dalek | r36103 | rurban++ | trunk (4 files): | 18:42 | |
| : Fix TT #250 rm cygchkdll | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36103 | |||
| Coke has a bunch of boilerplate code that executes in the appropriate hll; if i create a helper method somewhere, I have to deal with finding the function in the original scope. (and I can't put the dispatcher in scope, because then it's exposed to the user.) | |||
| Coke ponders opcodes (can't, varargs), and macros. | 18:43 | ||
| particle | coke: nick skypes in | 18:44 | |
| kj | particle: does t/dynpmc/foo.t fail for you (on windows)? | 18:45 | |
| particle | t/dynpmc/foo................................ok | 18:46 | |
| ok 6 # SKIP No BigInt Lib configured | |||
| kj | fails for me | ||
| particle | is it test 6 that fails? | ||
| kj | # Class 'Foo' not found | ||
| rurban | languages/pod/src/parser/actions.pm misses a copyright | ||
| Coke | kj: do you have a bigint lib? | ||
| kj | eh. no, test 3 | ||
| Coke: I don't think so | 18:47 | ||
| Coke | if it's test 3, that may not matter. =-) | ||
| kj | it's at line 57, foo_3.pir:15 | ||
| line 57 in the .t file, that is | |||
| Coke | kj: what platform are you? | 18:49 | |
| kj | win32 | ||
| particle | www.foxnews.com/story/0,2933,484326,00.html | ||
|
18:49
rblackwe_ joined
|
|||
| particle | where's the bot that displays the title? | 18:50 | |
| Hackers Crack Into Texas Road Sign, Warn of Zombies Ahead | |||
| dalek | r36104 | rurban++ | trunk/languages/pod/src/parser: | ||
| : fix t/codingstd/copyright.t test | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36104 | |||
| rurban | outfoxed | 18:51 | |
| purl | outfoxed is Rupert Murdoch's War on Journalism - www.outfoxed.org/ | ||
|
18:53
masak joined
|
|||
| rurban | cygwin passes all t/dynpmc/foo.t | 18:55 | |
| kj | if I add ".dll" to the filename ("foo") to load, then it's ok | ||
| rurban | Did get_path() in dynext.c change? | 18:58 | |
| dalek | bernhard.schmalhofer@gmx.de | Pipp: | 18:59 | |
| link: www.perlfoundation.org/parrot/index.cgi?pipp | |||
| Coke | particle: xrl.us/bed4qg | ||
| particle | cute :) | 19:00 | |
| dalek | r36105 | Whiteknight++ | trunk/t/oo: | 19:02 | |
| : [t] Adding some hypothetical tests for the "invoke" vtable override. These tests should pass once ticket TT#103 is finally resolved. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36105 | 19:03 | ||
|
19:05
tewk joined
|
|||
| chromatic hands Whiteknight a bag of space characters. | 19:06 | ||
|
19:06
geof joined
|
|||
| Whiteknight | ... am I missing spaces? | 19:07 | |
|
19:07
rblackwe joined
|
|||
| moritz | Whiteknight: should a 'make realclean' after applying your patch be enough? | 19:08 | |
| or do I need to run anything else to invoke flex/bison? | |||
| Whiteknight | you have to do "perl Configure.pl --maintainer" | ||
| chromatic | s/TT#/TT #/g | 19:09 | |
| dalek | bernhard.schmalhofer@gmx.de | Pipp: | ||
| link: www.perlfoundation.org/parrot/index.cgi?pipp | |||
| Whiteknight | chromatic: really? I've always seen it written elsewhere as TT#xxx | ||
| particle | no, you haven't. :P | 19:10 | |
| Whiteknight | I'll write it however it's supposed to be written though | ||
| ...well maybe I've always seen me write it like that elsewhere | |||
| moritz | Whiteknight: that doesn't seem to generate any addtional diffs to any version-controlled files | 19:11 | |
| Whiteknight | moritz, if bison runs, it should change imcparser.c | ||
| barney | Phurl: should I put back the 'phc' variant to Pipp ? | ||
| Phurl | it is in the trunk barney | ||
| but this is going to need alot of work | 19:12 | ||
| barney | You mean in your working copy? | 19:14 | |
| rurban | hmm, my MSVC6 build crashes at Parrot_oo_extract_methods_from_namespace() Interesting stacktrace in MSVC6 | 19:16 | |
| dalek | r36106 | moritz++ | trunk/languages/perl6/docs: | 19:25 | |
| : [rakudo] move some items in docs/STATUS from "To do" to "implemented" | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36106 | |||
| NotFound tring to build parrot on an Asus eee with ubuntu | |||
| dalek | r36107 | rurban++ | trunk/config/auto: | 19:29 | |
| : Fix TT #248 skip auto::msvc if auto::gcc was true | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36107 | |||
|
19:29
ask_ joined
|
|||
| rurban | shouldn't we print the gccversion in Configure analog to msvc: Is your C compiler actually Visual C++........yes, 12.0. | 19:29 | |
| Is your C compiler actually gcc.....................yes. | 19:30 | ||
| NotFound | I usually know what my version of gcc is ;) | ||
| moritz | I don't always | 19:31 | |
| Whiteknight has no idea what his version of GCC is | |||
| moritz | especially if I have multiple gcc's installed | ||
| NotFound | gcc -v | ||
| If you have several and none as default I doubt Configure find it | 19:32 | ||
| rurban | it is printed on --verbose | ||
| nopaste | "rurban" at 212.183.62.216 pasted "print the gccversion in Configure analog to msvc" (14 lines) at nopaste.snit.ch/15448 | 19:33 | |
| particle | +1 | ||
| purl | 1 | ||
| NotFound | Amazing, compiled it a lot less time i expected :) | ||
| rurban | I just tested it on two platforms for now | 19:34 | |
| particle: should I add a ticket for this? | 19:35 | ||
| moritz | rurban: why not just commit it? | ||
| works here also | |||
| rurban | okay, I'll do | ||
| particle | only if it needs tests, and you wont' do them | ||
| dalek | r36108 | rurban++ | trunk/config/auto: | 19:37 | |
| : print the gccversion in Configure analog to msvc | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36108 | |||
| moritz | rurban++ | ||
| Phurl | barney yes i mean my working copy | 19:38 | |
| rurban | anybody else got MSVC6 failures with --optimize, or am I the only one with this old compiler | 19:39 | |
| I believe rblash uses msvc8 | |||
| moritz | rurban: I got gcc-4.3 failures with --optimize on linux, last I checked | ||
| rurban | around Parrot_oo_extract_methods_from_namespace() my string points to 0x5 | 19:40 | |
| particle | i don't have msvc6 anymore... it was a lovely compiler, but i'm happy with 2008 | ||
| rurban: there may have been a #define removed in the past few weeks for older msvc | |||
| rurban | I'll paste the complete trace then | 19:41 | |
| particle: around where circa | |||
| moritz | rurban: 'make test' now failes in t/specs/auto_gcc-01.t | 19:42 | |
| rurban | sorry, will fix | ||
| moritz | because the output format changed, I guess | 19:43 | |
| rurban | your compiler is faster than mine :) | ||
| particle | rurban: see mailing list thread "What's the oldest MS VC version Parrot should built with?" | ||
| moritz | two cores and ccache can make a difference ;-) | ||
|
19:46
alvar joined
|
|||
| rurban | Yes, I remember that. But personally I didn't wanted to drop MSVC6 support. Maybe I get it back. | 19:47 | |
| dalek | r36109 | rurban++ | trunk/t/steps: | 19:57 | |
| : Adapt gcc test to www.parrotvm.org/svn/parrot/revision?rev=36108 | |||
| : - no verbose output | |||
| : - check /^yes/ | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36109 | |||
| barney | Phurl: just send me tarball of your 'languages/pipp' and I'll check it in | 19:58 | |
| Phurl | sure | ||
| but lets get it running | |||
| there were only two changes | |||
| :) | |||
| the one line is easy | |||
| to get the xml generated | 19:59 | ||
| the xlst i attached | |||
| this is still not working | |||
| NotFound | All test pass on the eee with ubuntu :) | ||
| Phurl | because i need to put more time into it | ||
| dalek | r36110 | bernhard++ | trunk/languages/pipp (2 files): | 20:00 | |
| : [Pipp] Add 'Reflection' to the list of loaded extensions | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36110 | |||
| r36111 | bernhard++ | trunk/languages/pipp (2 files): | |||
| : [Pipp] Start on print_r() by cut&paste'ing var_dump() | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36111 | |||
| TimToady | phone | ||
| Phurl | barney: you can at least just change this one line | 20:01 | |
| dalek | r36112 | rurban++ | trunk/lib/Parrot/Configure: | 20:02 | |
| : TT #251 fix Configure copyright year, patch by Gerd Pokorra | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36112 | |||
| Phurl | trac.parrot.org/parrot/attachment/...st_xml.xsl here is the xsl that is better | ||
| shorten | Phurl's url is at xrl.us/bed4z8 | ||
| Phurl | but it still needs work | ||
|
20:03
ron joined
|
|||
| rurban | particle: Should #238 "ability to create dynoplibs and dynpmclibs from installed parrot (rescheduled from 0.9.0)" really be solvable without the source? | 20:07 | |
| That would mean to install a whole bunch of perl libs | |||
| chromatic | Yep. | ||
| Phurl | barney: trac.parrot.org/parrot/ticket/235#comment:4 here is the patch | ||
| rurban | Shouldn't we rather provide a Parrot::Devel cpan package | ||
| chromatic | What good would that do? | 20:08 | |
| rurban | We can make this automatically and upload to cpan with every release | ||
| chromatic | What good would that do? | ||
| rurban | See my comment at trac.parrot.org/parrot/ticket/238 | ||
| chromatic | What good is that all without Parrot installed? | 20:09 | |
| rurban | It would be easier then install it via make install | ||
| dalek | r36113 | bernhard++ | trunk (3 files): | 20:10 | |
| : [Pipp] Add code for the PHC variant again, as there is new interest | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36113 | |||
| chromatic | That's silly. | ||
| "Install Parrot... but to use it, install something else somehow else!" | 20:11 | ||
| rurban | Anybody thought about where the perl libs should go? How they should be marked in MANIFEST? | ||
|
20:11
allison joined
|
|||
| rurban | [devel]perl5 maybe | 20:11 | |
| NotFound | There some reason that force parrot users to build dynpmcs? | ||
| chromatic | Languages may use them. | 20:12 | |
| rurban | For me it's a rather reasonable scenario to force HLL developers to install the source first | ||
| But having a seperate parrot-perl5libs package is also fine | 20:13 | ||
| ron | If you are coding a vtable function in C you can call a SUPER() function to call the same method in a parent pmc class. Does anyone know of a way to pretty much do the same thing with a :vtable sub in pir/pasm? | ||
| Whiteknight | ron, that's actually a very good question. I would like to learn the answer myself | 20:16 | |
| rurban | Problem is that some perl packages install into privlib, some into vendorlib. make install should install into sitelib, packages into vendorlib or privlib. | 20:18 | |
| NotFound | ron: I think that Coke told me a way some days ago.... don't remember now | 20:20 | |
| Whiteknight | I suspect that you could get the class object, get the parent class object, and then dispatch to that somehow. | ||
| and if there isn't a way to do this, there definitely ought to be a way | 20:21 | ||
| NotFound | It was getting the parent object by looking at an attribute or such | ||
| dalek | r36114 | bernhard++ | trunk/languages/pipp (2 files): | 20:23 | |
| : [Pipp] Re-add some more code for PHC support | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36114 | |||
|
20:24
braceta left
|
|||
| dalek | r36115 | fperrad++ | trunk/config (3 files): | 20:24 | |
| : [configure] the generation of 'docs/Makefile' is not longer a special case | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36115 | |||
| ron | My vtable function needs to work with the object's data. So just using an operator against a parent's class doesn't seem entirely adequate. | 20:25 | |
| rurban | Forget my privlib talk. It's only about sitelib and vendorlib, and this can be solved by the packager. | ||
| purl | rurban, I didn't have anything matching my privlib talk. it's only about sitelib and vendorlib, and this can be solved by the packager | ||
| dalek | r36116 | bernhard++ | trunk/languages/pipp: | ||
| : [Pipp] Adapt to changes in command line options of phc, TT #235 | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36116 | |||
| r36117 | coke++ | trunk: | 20:29 | ||
| : This was already removed. | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36117 | |||
| r36118 | bernhard++ | trunk/languages/pipp/src/phc: | 20:31 | ||
| : [Pipp] First stab at adapting to current phc XML-dump. TT #252 | |||
| : Courtesy of James Michael DuPont | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36118 | |||
|
20:32
NotFound joined
|
|||
| NotFound | Here again | 20:32 | |
| rurban | t/pmc/io.t line 434 with mingw fails (test 23 I/O buffering) | 20:33 | |
| NotFound | Good to have my desktop machine working agian :) | ||
| again | |||
|
20:36
ron_ joined
|
|||
| dalek | r36119 | bernhard++ | trunk (3 files): | 20:37 | |
| : [Pipp] Make pipp.pir compile again, after adding PHC support | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36119 | |||
| chromatic | The goal of Parrot 1.0 is to provide a stable platform for implementors. | 20:40 | |
| barney | Phurl: I have re-added the files for PHC support. including patches for TT #235 and TT #252 | ||
| Phurl | thanks | ||
| chromatic | If C<make install> doesn't install all of the files necessary to build a language, we fail that goal. | ||
| Phurl | when I have more time I will update the xslt barney | 20:41 | |
| thanks | |||
| barney | np | 20:42 | |
| particle | agreed. the parrot 1.0 distro will install the perl libs. | ||
| other distros may leave those out | |||
| other, non-default (maybe non-parrot.org) distros | |||
| ron | I am trying to override the get_pmc_keyed_int vtable function of ResizablePMCArray from a subclass and have the subclass :vtable .sub get the array element from ResizablePMCArray (the SUPER call) and take special action for PMCNULL results. If I get the parent class pmc I am still not sure how to use it to fetch an array element from my subclass object instance? | 20:43 | |
| particle | won't SELF handle that? | 20:44 | |
| particle checks the state of DYNSELF, STATICSELF, SELF, etc | 20:45 | ||
| ron | if I use self to fetch the element won't I just recurse (endlessly) to the get_pmc_keyed_int vtable method? | 20:46 | |
| Whiteknight | particle, I think he's talking about doing it in PIR | ||
| ron | yes PIR | ||
| particle | oh, try the Super PMC | ||
| Whiteknight | Super PMC? | ||
| Whiteknight has some research to do | |||
| particle | ...or is that gone.... | ||
| Whiteknight | it is gone apparently | ||
| particle | feh | 20:47 | |
| NotFound | getattribute self, 'proxy' | 20:50 | |
| Whiteknight | NotFound, what does that do? | 20:51 | |
| NotFound | parent = getattribute self, [ 'ParentPMC' ], 'proxy' | ||
| Uh, no, was the first | 20:52 | ||
| parent = getattribute self, 'proxy' | |||
|
20:52
mberends joined
|
|||
| NotFound | Gives you the parent PMC class | 20:53 | |
| The instance of it, I mean | |||
| Don't know if it works if the pir class has more parents, though | 20:54 | ||
|
20:54
rblackwe joined
|
|||
| Whiteknight | so then you can invoke the vtable of the parent? | 20:55 | |
| seems to me that should be a compiler directive or something | |||
| .super() | |||
|
20:56
ron joined
|
|||
| NotFound | Whiteknight: .super() has sense on single inheritance systems, not sure it has sense on multiple inheritance | 21:00 | |
| Whiteknight | well, if "getattribute self, 'proxy'" returns a single parent, then how do we get multiple parents? | 21:01 | |
| NotFound | "Because you have a father and a mother" (Bjarne Stroustrup) | ||
| Whiteknight: with the keyed getattribute version, maybe. | |||
| Not sure, I just semi-learned this way some days ago | 21:02 | ||
| Whiteknight | Okay, well however we do it, we need to document the hell out of it | ||
| NotFound | Yes, the #parrot log is not a very well structured resource X-) | 21:03 | |
| ron | Thanks for your help, I found some examples of this usage among the tests and will play with it for a bit ... | 21:05 | |
| cotto | Coke, ping | 21:07 | |
| Whiteknight | ron, which tests? | 21:08 | |
| I would like to see examples so I can document it | |||
| cotto | Coke, nm | 21:09 | |
| ron | On unixish systems (cygwin for me) I use: * find t/ -name .svn -prune -o -exec grep -IHn '\\bproxy\\b' {} \\; * (does that help?) | 21:11 | |
| Whiteknight | yeah, I just found them. Thanks! | 21:12 | |
|
21:17
davidfetter joined
|
|||
| Infinoid | chromatic: Nice policy, +1. One question: is there a formal definition of exactly which changes require a deprecation cycle, and which don't? Or is it just "anything that can effect products which use parrot"? | 21:29 | |
| For instance, if I remove a function argument or something on the C level, would that count? (Is PARROT_API a good indicator of that?) | 21:31 | ||
| chromatic | That sounds reasonable. | 21:33 | |
| Anything we've exposed to the public requires deprecation to change in an incompatible way (including removal). | |||
| NotFound | And if that fails fill a ticket "that function must be part of the public API" X-) | 21:34 | |
| Infinoid | Ok. I've worried about this once or twice in the past when patching things, and was just wondering where the cutoff was. If this has been documented somewhere, I haven't found it. | 21:35 | |
| chromatic | I don't think it has. | 21:36 | |
| particle | chromatic, you seem to throw around version and release interchangeably | 21:45 | |
| and it may be worth spelling out PCT | 21:46 | ||
|
21:47
basic joined
|
|||
| chromatic | Good ideas. | 21:49 | |
| purl | good ideas are not automatically practical ideas. :) | ||
|
22:05
Whiteknight joined
22:09
TiMBuS joined
|
|||
| dalek | r36120 | rurban++ | trunk/config/auto: | 22:22 | |
| : workaround cygwin internal glut32 linking problem | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36120 | |||
| cotto | Is anyone scheduled for the 1.5 release? | 22:30 | |
| Whiteknight | I asked for June, I don't know if that's the 1.5 release | 22:33 | |
| chromatic | July. | ||
| cotto | Can I volunteer, or does allison want to handle the stable releases? | 22:37 | |
| chromatic | Send Coke a message; I'm sure it's okay. | 22:39 | |
| cotto | scent | 22:45 | |
|
22:53
ron_ joined
|
|||
| ron | NotFound: - getattribute self, 'proxy' - seems to do what I need - thanks! | 22:55 | |
|
23:03
ron_ joined
|
|||
| allison | cotto: I can guarantee I don't want the 1.5 release, that's the week of OSCON :) | 23:11 | |
|
23:16
Limbic_Region joined
|
|||
| lathos | allison: What's the difference between Parrot_string_append and Parrot_string_grapheme_copy? | 23:21 | |
| allison looking... | 23:22 | ||
| lathos | The pseudocode/ directory in the strings branch does quite a lot now, including UTF8->NFG->UTF8 round-tripping and comparison. | 23:23 | |
|
23:23
bacek_ joined
|
|||
| allison | lathos: Parrot_string_append takes two arguments and returns the first with the second appended, Parrot_string_grapheme_copy take one argument and returns a copy of it | 23:24 | |
| lathos: excellent! | |||
| purl | EGG-see-lent! | ||
| lathos | I need to implement a few more charset/encoding combinations and a LOT more tests and I think I can consider my concept proved. | ||
| I don't think grapheme_copy does what you think i tdoes. | 23:25 | ||
| Parrot_string_grapheme_copy (new) Accepts two string arguments: a destination and a source. Iterates through the source string one grapheme at a time and appends it to the destination string. | |||
| dalek | r36121 | cotto++ | trunk/docs/project: | 23:29 | |
| : [docs] add release managers through 1.6 | |||
| review: www.parrotvm.org/svn/parrot/revision?rev=36121 | |||
|
23:30
kj joined
|
|||
| kj | Whiteknight: ping | 23:30 | |
| allison | lathos: okay, that function is desired, but should be named Parrot_str_grapheme_append, not copy | 23:42 | |
| lathos | OK. But then it looks very much like str_append. I don't think it makes much sense to do a char-wise append as an alternative. | 23:44 | |
|
23:48
kid51 joined
|
|||
| allison | lathos: one returns an NFG string, the other returns the original string in the original format | 23:49 | |
| lathos | Um, not necessarily. | 23:50 | |
| See "Conversions between normalization form, encoding, and charset" | |||
| allison | lathos: or, for that matter, one actually does the NFG conversion, the other doesn't | ||
| lathos: in the PDD? | |||
| lathos | str_grapheme_(copy|append|whatever) uses graphemes as an internal representation to convert between any string format and any other string format. | ||
| Yes. | |||
| allison | lathos: aye, that's the exact section I had up just now | ||
| lathos: it's referring to the *grapheme* version of the function | 23:51 | ||
| lathos | There can't be any other. | ||
| Because if you have a string with graphemes and send it to str_append, it needs to do a grapheme-aware copy anyway. | 23:52 | ||
| (A string with graphemes may not necessarily be in NFG.) | |||
| allison | lathos: only NFG has guaranteed fixed-width graphemes | 23:53 | |
| lathos | Sure. | ||
|
23:54
idemal joined
|
|||
| allison | the regular copy uses the regular character accessing function pointers and copies character by character, paying no attention to grapheme grouping | 23:54 | |
| the grapheme copy specifically copies grapheme by grapheme, and does an internal conversion to NFG | 23:55 | ||
| lathos | So what should the "regular copy" do if the destination string is in ParrotNative NFG? | 23:56 | |
| I'm not sure I understand the purpose for the distinction anyway. | 23:58 | ||
| allison | lathos: I assume that NFG strings will return their fixed-width-grapheme representations when requested for their characters anyway | 23:59 | |
| lathos | No. | ||
| If you ask for a character, you get a character, not a grapheme. | |||
| allison | a request for a single character from a NFG string may return multiple characters? | ||