|
#parrot Parrot 2.2.0 Released! | parrot.org/ | Channel log: irclog.perlgeek.de/parrot/today | Tasks: Fix compact_pool shenanigans | Fix HLL bugs (TT #389, #1040) | Prioritize Rakudo Needs Set by moderator on 16 March 2010. |
|||
|
00:16
Mokurai2 joined
00:18
payload joined
|
|||
| Austin | I need a name: If I'm merging hashes, and the leftmost hash with a value takes precedence, that's the default behavior. What is it called if the rightmost value takes precedence? merge(%a, %b, :righmost_value_wins) ? | 00:23 | |
| darbelo | :the_other_way_around | 00:26 | |
| cotto_work | :rtl | ||
| darbelo | :keep_right | ||
| chromatic | :sane | 00:27 | |
| cotto_work | merge(%a, :this_one(%b)); | 00:28 | |
| sorear | :assigny | ||
| :last_wins | |||
| cotto_work | merge(%a, %b, :priority('L')); | 00:30 | |
| Austin | Hmm. | ||
| darbelo | :bikeshed | ||
| Austin | That's hard to type, but very clear. | ||
| I like :priority. | |||
| Thanks. | 00:31 | ||
| cotto_work | or :precedence. I'm not sure which one would make more.. EBIKESHED | ||
| Austin | Since I've got places in the Close compiler that use both leftward and rightward merging, and since I just had a hard time figuring out what :use_last(1) meant - my original name for this - I reject your EBIKESHED. But thanks for playing. | 00:42 | |
| sorear | How do I go about debugging an error like this? pastie.org/874717 | 00:47 | |
|
00:48
hiroyuk__ joined
|
|||
| Austin | I dunno. I'd ask people on #parrot.. | 00:48 | |
| Infinoid | oh, hi #parrot! | ||
| Infinoid updates dalek's trac ticket logger | 00:49 | ||
|
00:49
dalek joined
|
|||
| Infinoid | Someone please create or close a bug. :) | 00:51 | |
| Whiteknight | working on it | 00:52 | |
| TT #389 | |||
| Infinoid | msg bubaflub Thanks, applied (with some tweaks). | ||
| purl | Message for bubaflub stored. | ||
|
00:55
abqar joined
|
|||
| lucian hates uni assignments | 01:12 | ||
| allison: about pynie objects, how do you suggest to proceed? | 01:13 | ||
| allison: the core types that exist now have factory functions | 01:15 | ||
|
01:31
hiroyu___ joined
01:44
chromatic joined
01:48
preflex joined
01:54
snarkyboojum joined
|
|||
| Austin ++ # Another passing testcase | 01:57 | ||
| davidfetter | yay! | 01:58 | |
| dalek | kudo: 2189449 | jonathan++ | src/Perl6/Grammar.pm: First cut of user defined operators. Works for infixes just fine, and the meta-op forms then also work, modulo some little tweaks we'll need on the lookup. postfixes don't work, but I'm too tired to work out why tonight. |
02:03 | |
| Whiteknight | chromatic: I ran out of hacking time tonight and got myself lost. No progress and nothing to commit (though I have a patch locally that's slowly growing into something nice, I think). I'll pick it up again tomorrow. Talk to you then | 02:05 | |
| dalek | rrot: r44990 | cotto++ | trunk/src/ops/pmc.ops: [pmc] restart ADDRESS is brokenly equivalent to goto ADDRESS; use the goto form |
02:16 | |
|
02:30
atrodo joined
02:50
hercynium joined
02:55
chromatic joined
|
|||
| dalek | kudo: c52d193 | (David Romano)++ | t/spectest.data: Merge remote branch 'upstream' |
03:00 | |
| kudo: d52d50d | (David Romano)++ | (3 files): Merge remote branch 'upstream' |
|||
| kudo: 27ff4c7 | (David Romano)++ | src/Perl6/Grammar.pm: [Grammar] Comment for infix_postfix_meta_operator |
|||
| kudo: a223dc0 | (David Romano)++ | docs/ROADMAP: Merge remote branch 'upstream' |
|||
| kudo: 2abcdcd | (Solomon Foster)++ | src/Perl6/Grammar.pm: Merge branch 'master' of git@github.com:rakudo/rakudo |
|||
| cotto | bacek_at_work, ping | 03:03 | |
|
03:20
theory joined
|
|||
| dalek | rrot: r44991 | japhb++ | trunk/runtime/parrot/library/Config/JSON.pir: [library] Config::JSON: switch from JSON language (old API, deprecated and removed) to data_json language (new API); change a load_bytecode of a .pir to .pbc |
03:21 | |
|
03:22
snarkyboojum joined
03:31
theory joined
03:35
janus joined
03:44
parthm joined
|
|||
| cotto | clock? | 03:46 | |
| purl | cotto: LAX: Wed 8:46pm PDT / CHI: Wed 10:46pm CDT / NYC: Wed 11:46pm EDT / LON: Thu 3:46am GMT / BER: Thu 4:46am CET / IND: Thu 9:16am IST / TOK: Thu 12:46pm JST / SYD: Thu 2:46pm EST / | ||
|
03:49
brooksbp_ joined
03:52
snarkyboojum_ joined
04:04
petdance joined
|
|||
| petdance | ping Coke? | 04:05 | |
|
04:05
_2x2l joined
|
|||
| dalek | izkost: 882df17 | sorear++ | (7 files): Add P5SV as a base class for P5 data |
04:32 | |
| izkost: ef0cf35 | sorear++ | build/src/pmc/Makefile.in: Use explicit makefile dependencies for .pmc.dump feeds files to it one at a time. As a perk, make -j will now perform PMC code generation in parallel. |
|||
| sorear | \\o/ dalek knows my name now | 04:36 | |
| cotto | It's a big day. | 04:43 | |
| sorear | how big | 04:44 | |
| cotto | <-----------------------------------------> | ||
| that big | |||
| (not to scale) | |||
| If you have a pmc2c issue, feel free to gripe here next time. I love making fun... helping people with those. | 04:49 | ||
| sounds like you found a good fix though | |||
| sorear | I have a hunch that it's processing files in keys %ARGS order rather than @ARGV order | 04:53 | |
| or maybe that's make's fault | |||
| anyways, I've modified a group of unrelated PMCs into an inheritance heirarchy, and can't easily get them to build in order | |||
| couldn't | 04:54 | ||
| also, I did ask in here | 04:55 | ||
| 4 hours ago | |||
| I guess everyone else was as stumped as me | |||
| cotto | oh. That happens sometimes. | ||
| warnocking is a harsh mistress | 04:58 | ||
| dalek | rrot: r44992 | petdance++ | trunk/config/auto/warnings.pm: sort the options numerically so I can track changes better |
04:59 | |
| rrot: r44993 | petdance++ | trunk/config/auto/warnings.pm: fix some teeny spelling |
|||
| dukeleto | 'ello | 05:07 | |
| sorear | hello. | ||
| dukeleto | sorear: i see that blizkost is getting more love. good to see | 05:08 | |
| sorear | yes | 05:09 | |
| I think it's important to have this releasable by (not necessarily in) R* | |||
| people will laugh at a "usable release" that can't even access CPAN | 05:10 | ||
| I would, anyway :) | |||
| dukeleto | sorear: i think when Blizkost can load Data::Dumper, that will be a huge milestone :) | ||
| sorear | why? Blizkost'd Data::Dumper will still only be able to dump PMCs | 05:12 | |
| er | |||
| dump SVs | |||
| if I'm writing in Parrot, I'd much rather have something that can dump PMCs | |||
| (now, PONIE Data::Dumper would be nice. But even I'm not crazy enough to resurrect *that*.) | 05:13 | ||
| dukeleto | sorear: right now, or last I checked, Data::Dumper does not work because it has XS. right now it can't even dump SVs | ||
| sorear | hmm, XS is a problem? | ||
| dukeleto | sorear: yes :) | 05:14 | |
| sorear | my current goals are to get the code a bit more accessible (move as much logic as I can out of C) and support a larger cross section of the Perl data structure API | ||
| dukeleto | sorear: read the TODO file in Blizkost | ||
| sorear: and/or leto.net/dukeleto.pl/2009/09/blizko...tests.html | 05:15 | ||
| sorear | oh, that's almost certainly trivial | 05:16 | |
| somebody forgot to use RTLD_GLOBAL | |||
| well | |||
| obvious, maybe not easy to fix | 05:17 | ||
| dukeleto | sorear: trivial enough that no one has fixed it since September :) | ||
| sorear: i would love to hear how you would go about getting Data::Dumper/XS working | |||
| sorear: what exactly is RTLD_GLOBAL ? | 05:18 | ||
| sorear | it's kinda like the difference between a lexical import and a package import | ||
| by default, libraries loaded at runtime do not have their symbols visible except via dlsym | 05:19 | ||
| which is why the XS code can't see the Perl API | |||
| dukeleto | sorear: interesting | 05:20 | |
| sorear | now, having said this, I can't find where dlopen is even called | ||
| dukeleto | sorear: yeah, an ack -a for dlopen shows nothing | 05:22 | |
| sorear | the library loading is done with .loadlib | 05:29 | |
| bacek_at_work | cotto, pong | ||
| sorear | which... does not take a flags argument :( | ||
| loadlib opcode doesn't either | 05:30 | ||
| plobsing | sorear: If you want a quick hack, using dlsym to get ahold of C's dlopen function might do the trick | 05:31 | |
| dalek | rrot: r44994 | Util++ | trunk/tools/dev/branch_status.pl: [codingstd] Removed trailing whitespace |
05:32 | |
| sorear | plobsing: Yeah. (though it won't work on Win32...) | ||
| cotto | bacek_at_work, what needs to happen for proper dynop support in opsc? | 05:33 | |
| i.e. how much have you done already? | |||
| sorear | (Does dynpmc work at all on windows? This Makefile seems to pretty deeply assume UNIX so semantics) | 05:36 | |
| dukeleto: If I may ask, what is the point of using the Perl testsuite here? It's just being passed to eval and not exercising much of the binding layer? | 05:41 | ||
| dukeleto | sorear: you are right. but if it exercises even 1% of the binding layer, then I think it still has some use | 05:42 | |
| sorear: but if it exercises 0%, then I guess it is useless | |||
| sorear: it was mostly for moral support :) | 05:44 | ||
| bacek_at_work | cotto, no idea. I didn't check dynops code handling in ops2c. | 05:45 | |
| cotto | ok | 05:46 | |
| bacek_at_work | cotto, but I don't expect much work there. | ||
| cotto | that seems likely | 05:47 | |
|
05:48
parthm left
|
|||
| sorear | Is there any good way to generate coverage metrics for a Parrot extension? | 05:58 | |
| dukeleto | sorear: are you wanting to generate coverage for Blizkost? | ||
| sorear | yes | 05:59 | |
| eventually. | |||
| dukeleto | sorear: you can look at the 'cover' target in the Parrot Makefile | 06:01 | |
|
06:01
chromatic joined
|
|||
| dukeleto | sorear: it shouldn't be hard to steal for Blizkost | 06:01 | |
| sorear | thanks. | 06:02 | |
|
06:16
fperrad joined
|
|||
| NotFound | sorear: maybe someone forgot to link the XS loader. | 06:44 | |
| dukeleto | NotFound: what now? | 06:45 | |
| purl | now is the time for the Kwisatz Haderach to arise and conquer America on a sandworm army | ||
| dukeleto | purl++ | ||
| NotFound | dukeleto: in order to load XS modules dynamically, the XS loader must be linked statically to the embedder program. | 06:46 | |
| Here is an example: www.linuxjournal.com/article/2901?page=0,1 | 06:49 | ||
| dalek | rrot: r44995 | dukeleto++ | trunk/t/dynpmc/rational.t: [t] Convert t/dynpmc/rational.t to PIR |
06:53 | |
| sorear | NotFound: no. The error makes obvious that that's not what's happening. Also, the XS loader is linked. | 06:54 | |
| NotFound | sorear: And initialized? | ||
| sorear | yes | ||
| anyways, if we hadn't done that, the error would have been something like "Could not resolve method bootstrap via package DynaLoader" | 06:56 | ||
| the actual error we get, from that paste, is telltale of ld.so issues | 06:57 | ||
| give me a chance to add RTLD_GLOBAL | |||
| dukeleto stands back and waits for magic to happen | 06:58 | ||
| dalek | TT #1517 created by dukeleto++: Comparing Rational PMC to Integer PMC with == blows up | 07:05 | |
| TT #1517: trac.parrot.org/parrot/ticket/1517 | |||
| cotto | dukeleto, make sure that your dynpmcs are up-to-date. The makefile is nvb about dynpmc and dynop dependencies. | 07:06 | |
| NotFound | BTW blitzkhost doesn't build with a parrot built with c++ | 07:08 | |
| sorear | I'm not suprised at all | ||
| dalek | rrot: r44996 | dukeleto++ | trunk/t/dynpmc/rational.t: [t][TT #1517] Commented out test for comparing Rational PMC to Integer PMC via ==, which currently blows up |
07:09 | |
| rrot: r44997 | cotto++ | trunk (4 files): [profiling] enable generation of profiles that will always be identical given the same PIR |
|||
| cotto | nice to get some urls on those tickets | ||
| Infinoid++ | |||
|
07:11
uniejo joined
|
|||
| sorear | so much for "accessing dlopen using the NCI" | 07:16 | |
| Parrot VM: PANIC: vti is an unknown signature type. | |||
| sorear tries to find a compatible supporte done | 07:17 | ||
| plobsing | sorear, if you wanted to add support for 'vti', you could use nci_thunk_gen | 07:18 | |
| sorear | where is the supported list? | ||
| plobsing | src/nci/{core,extra}_thunks.nci | 07:19 | |
| sorear | the PDD isn't quite clear on the format of signatures - what order should I put the letters in? | ||
| void dlopen(char *, int) | |||
| plobsing | that is vti | ||
| "${ret}@{args}" | |||
| sorear: what I am getting at with nci_thunk_gen, is that you can create a dynext library that, when loaded, adds support for other function signatures. | 07:20 | ||
| sorear | oh | 07:21 | |
| plobsing | although creating a dynext library to assist with loading a dynext library seems a little circular | ||
| sorear: it's my 80% good enough solution to make NCI suck a little less | |||
| sorear | heh | 07:22 | |
| pti is supported | |||
| which is the real signature of dlopen | |||
|
07:22
riffraff joined
|
|||
| sorear | I used vti thinking that, since I didn't want the return value, I'd save some hassle... | 07:23 | |
| ... apparently ltrace can't see inside parrot | 07:24 | ||
| dlopen doesn't even work properly if you dynamically link libdl, hmm | 07:28 | ||
| sorear hacks parrot | |||
| Loaded Data::Dumper | 07:36 | ||
| Usage: Data::Dumper::Dumpxs(PACKAGE, VAL_ARY_REF, [NAME_ARY_REF]) at /usr/lib/perl/5.10/Data/Dumper.pm line 190. | |||
| this is after changing RTLD_LAZY to (RTLD_LAZY|RTLD_GLOBAL) in config/gen/platform/generic/dl.c and reinstalling | 07:37 | ||
| I am stumped on how to do this without hacking Parrot | |||
| any manual on UNIX dynamic linkers will tell you that RTLD_GLOBAL is evil and unhygenic and usually indicates a bug | 07:40 | ||
| cotto | sleeeep | ||
| sorear | and... there is a bug, namely a lot of CPAN modules forget to pass -lperl on XS link lines | ||
| nobody ever cares because, as long as your main application is linked *at compile or load time* to perl, it's effectively global by misdefault | 07:41 | ||
| so while we could globally change the Parrot load routine, it'd be pretty icky and mostly only needed for Blizkost | |||
| dalek | rrot: r44998 | cotto++ | trunk/src/main.c: [opts] make --hash-seed behave less surprisingly and fail when necessary |
07:42 | |
| sorear | normal extensions (that don't have extensions of their own, or do and link them correctly) will never be affected | ||
| how about I practice parrot hacking by adding a global argument to .loadlib and thread it all the way down to dlopen? | 07:47 | ||
| sorear pokes the parrot cabal | 07:51 | ||
|
07:51
barney joined
|
|||
| Austin | not "cabal" | 07:51 | |
| brahmins | |||
| karma allison | 07:52 | ||
| purl | allison has karma of 2151 | ||
| Austin | karma chromatic | ||
| purl | chromatic has karma of 2638 | ||
| Austin | karma austin | ||
| purl | austin has karma of 303 | ||
| Austin | See? | ||
| sorear | it's a shame you guys got rid of lambdabot for karma :p | ||
| Austin | Why? | 07:53 | |
| (I don't know what lambdabot is...) | |||
| sorear | lambdabot is the old karmabot according to the parrot wiki... or maybe it was the #perl6 wiki | ||
| probably the latter due to network considerations | |||
| anyways I wrote a significant part of it back in '07 and probably still have 1000ish karma from that. | 07:54 | ||
| anyways, I'd like to get a yay or nay from somebody on the last idea | |||
| Austin | Ahh. | 07:55 | |
| What's this in service of? | 07:56 | ||
| The global arg, I mean | |||
| sorear | blizkost | ||
| purl | blizkost is github.com/jnthn/blizkost/tree/master or the last Jonathan's project, an embedding of Perl 5 in Perl 6 | ||
| Austin | The global arg, I mean | 07:57 | |
| sorear | making blizkost work with xs modules | ||
| Austin | What would it do? | ||
| sorear | man 2 dlopen, | ||
| read the description of RTLD_GLOBAL | |||
| man 3 dlopen | |||
| Austin | Why would I want to do that? | 07:58 | |
| Would the arg be flags to pass to dlopen? | |||
| NotFound | sorear: Parrot_load_lib has an initializer parameter that is curently unused. | ||
| sorear | Austin: no, the arg would just be global, a bool | 07:59 | |
| Austin | What I'm hearing so far is "I cannot, or do not want to, explain what this arg would be for." So I'm thinking "nay" is probably the right vote. | ||
| sorear | Austin: I've told you several times. It's for Blizkost. | 08:00 | |
| Implementing it causes Blizkost to work. | |||
| Austin | Then nay. | ||
| We don't need "make one particular thing work" opcodes. | |||
| We need "this is useful to potentially a bunch of people." | 08:01 | ||
| sorear | this *is* | ||
| it's a CPAN to Parrot bridge | |||
| tell me that's not useful to a bunch of people | |||
| Austin | "that's not useful to a bunch of people." | 08:02 | |
| :) | |||
| My point is that passing a boolean to load_lib that is the "I'm hacking blizkost and so do something different" isn't very useful. | |||
| Passing something like "here are flags you should apply to your load call" *is* potentially generally useful. (For maybe small values of generally) | 08:03 | ||
| sorear | Except for the minor fact that load call flags are different on every platform. | ||
| Austin | That's something config can solve for you. | 08:04 | |
| sorear | no, because config configs Parrot | ||
| Austin | And... ? | ||
| sorear | how are extensions supposed to know what flags to pass? | 08:05 | |
| Austin | You need this before parrot is built? | ||
| sorear | Parrot knows what flags are available, which is precisely why I want to put flag word building in Parrot | ||
|
08:05
bacek joined
|
|||
| Austin | Where would you be calling from? | 08:06 | |
| sorear | PIR | ||
| Austin | Okay. So you're running in parrot. | ||
| You've got access to the configs. | |||
| sorear | PIR doesn't have access to <dlfcn.h> | ||
| how? | |||
| Austin | Look at all the constants defined in $_PARROT/runtime/include/*.pasm | ||
| sorear | thank you | 08:07 | |
| Austin | Add a config step that parrot-pir-izes dlfcn.h | ||
| NotFound | sorear: www.perlmonks.org/bare/index.pl?node_id=694711 | ||
| sorear | NotFound: yes, I've had it working for half an hour, but Austin is campaigning to keep that fix out of Parrot | 08:08 | |
| because it "makes one thing work" | 08:09 | ||
| should I have told you to stop looking? | |||
| NotFound | sorear: that page says nothing about changing parrot, just adding some lines to xs_init | ||
| sorear | I'd rather keep my current solution, since it's more portable | 08:12 | |
| that example will break on... | |||
| UNIX systems with non-dlopen library interfaces (Tru64)... | |||
| UNIX systems with non-.so library extensions (Darwin)... | 08:13 | ||
| systems where Perl is not generally installed under a short name (Debian)... | |||
| and there are other possible uses for RTLD_GLOBAL - it's necessary if you want to write an extension with a C API | 08:14 | ||
| NotFound | sorear: yes, is an example, not a full working portable solution. | ||
| sorear | shrug, I don't want to deal with the portability issues of this workaround unless getting it right to begin with is absolutely out of the question | 08:19 | |
| NotFound | sorear: I don't think that adding undesired features to parrot to solve other people's problem is "right" | 08:23 | |
|
08:31
payload joined
08:47
payload joined
08:50
AndyA joined
09:03
bacek joined
|
|||
| Austin | Man, I hate it when I get a really good idea and it doesn't work. | 09:05 | |
| Especially when I should have know it wouldn't... | |||
| Austin -- | |||
|
09:07
slavorg joined
|
|||
| dalek | rrot: r44999 | bacek++ | branches/pcc_megrecells/src/pmc/callcontext.pmc: WIP: replace linked-list of cells with array. Build is broken. Badly |
09:20 | |
|
09:34
payload joined
09:36
he_ joined
|
|||
| bacek | Yay! | 09:48 | |
| bacek secured anniversary commit number - 45000 :) | |||
| dalek | TT #1518 created by Austin_Hastings++: NQP-rx generates wrong twigil for contextual lookups | 09:49 | |
| TT #1518: trac.parrot.org/parrot/ticket/1518 | |||
| rrot: r45000 | bacek++ | branches/pcc_megrecells/src/pmc/callcontext.pmc: Don't try to free not allocated positionals. |
09:53 | ||
| rrot: r45001 | bacek++ | branches/pcc_megrecells/src/pmc/callcontext.pmc: Store new size on push_foo |
|||
| rrot: r45002 | bacek++ | branches/pcc_megrecells/src/pmc/callcontext.pmc: Add NOCELL type to distinguish not-filled cells |
|||
| rrot: r45003 | bacek++ | branches/pcc_megrecells/src/pmc/callcontext.pmc: Fix off-by-one error in CallContext.push_foo |
|||
| rrot: r45004 | bacek++ | branches/pcc_megrecells/src/pmc/callcontext.pmc: Reimplement CallContext.unshift_pmc |
|||
|
10:04
smash joined
|
|||
| smash | hello everyone | 10:04 | |
| dalek | rrot: r45005 | bacek++ | branches/pcc_megrecells/src/pmc/callcontext.pmc: Reimplement CallContext.unshift_pmc |
10:09 | |
| rrot: r45006 | bacek++ | branches/pcc_megrecells/src/pmc/callcontext.pmc: Fix mark_positional |
10:25 | ||
|
10:35
riffraff joined
|
|||
| dalek | kudo: a8d808f | masak++ | docs/ChangeLog: [docs/ChangeLog] partial draft of the 2010.03 release |
10:49 | |
| rrot: r45007 | bacek++ | branches/pcc_megrecells/src/pmc/callcontext.pmc: Switch to sys_mem allocations for large amount of params |
10:58 | ||
|
11:21
bacek joined
|
|||
| dalek | rrot: r45008 | bacek++ | branches/pcc_megrecells/src/pmc/callcontext.pmc: Update num_positional in CallContext.set_foo_keyed_int |
11:30 | |
| rrot: r45009 | bacek++ | branches/pcc_megrecells/t/pmc/callcontext.t: Remove outdated tests. |
|||
| rrot: r45010 | bacek++ | branches/pcc_megrecells/src/pmc/callcontext.pmc: Fix CallContext.clone |
|||
|
11:37
JimmyZ joined
|
|||
| dalek | kudo: 5418e06 | masak++ | docs/ChangeLog: [docs/ChangeLog] a bit more of ChangeLog draft progress |
11:52 | |
|
12:01
whiteknight joined
|
|||
| Austin ++ # MockFS works | 12:02 | ||
| whiteknight | nice! | ||
| Austin++ | |||
| I'll fire up the VM now and take a looksee | 12:03 | ||
| Austin | You'll have to wait for the commit. | ||
| I'm clean-test'ing now | |||
| dalek | rrot: r45011 | gerd++ | trunk/NEWS: Add already a template for the news of version 2.3.0 |
||
| whiteknight | that's fine, it will take me a few minutes to get up and running anyway | ||
| what is MockFS anyway? | |||
| Austin | And good morning, Whiteknight. I didn't see you come in. | ||
| MockFS is a mock filesystem. | |||
| I created a FileSystem class to wrap the various bits you need to do filesystem-y stuff | 12:04 | ||
|
12:04
lucian joined
|
|||
| Austin | Then I created MockFS so I could build a "pretend" FS and do operations against it in testing. | 12:04 | |
| whiteknight | oh nice | ||
| Austin | Nicely evading the question of "what's the relative path to ..." | ||
| nopaste | "Austin" at 68.39.12.202 pasted "Here's a testcase from MockFS" (10 lines) at nopaste.snit.ch/19992 | 12:05 | |
| Austin | There's a bunch of features I don't support (umask, permissions, etc.) but the structure is there. For Close, it's mainly going to be "read a file, write a file" | 12:07 | |
| Hmm...suddenly tests fail in places I haven't touched in a while... | 12:09 | ||
| whiteknight | Parrot's IO system is mostly method-based anyway, so any type that supports the requisite methods should be usable for all IO operations | ||
| Austin scratches his head... | |||
| dalek | kudo: d82c83e | moritz++ | t/spectest.data: we pass S02-literals/subscript.t |
||
| Austin | whiteknight: The problem is that it's inconsistent. | ||
| Here's a quiz: how do you get the contents of a file? | 12:10 | ||
| And how do you get the contents of a directory? | |||
| whiteknight | Austin: of course it's shit-tacular, but in theory the support is there | 12:11 | |
| Austin | heh | ||
| Yeah. | |||
| File contents is FileHandle.open; FileHandle.readall. | 12:12 | ||
| Directory contents is ... OS.readdir | |||
| So FileSystem smooths a lot of that over. I have to return Handles, sometimes, but that's it. | 12:14 | ||
| whiteknight | The OS and File PMCs are a point of particular dislike for me | ||
| Austin | Heh | ||
| Yeah. | |||
| whiteknight | but then again, so many things are of "particular dislike" for me that none of them are really special | ||
| coke_at_work | who does the irc logs? moritz? | 12:16 | |
|
12:16
AndyA joined
|
|||
| Austin | coke: yeah | 12:16 | |
| Or, one of his systems, anyway. | |||
| coke_at_work | msg moritz: there is a small bug on the irc log pages; "next day" doesn't show up when the day is yesterday. | 12:17 | |
| purl | Message for moritz stored. | ||
| lucian | Austin: i can't find an up to date Close project page | ||
| Austin | coke: Dalek got modified to append the urls, in case you're wondering about the extra lines in the irc logs | 12:18 | |
| lucian: True. It's on hiatus while I've been working on Kakapo. | |||
| coke_at_work | ... nope. not at all. =-) | ||
| petdance: pong | 12:19 | ||
| sorear - the build should JFW, if you have regenerated your makefiles. | 12:20 | ||
| Austin | Ahh, my first namespace collision | ||
| Test::Builder, my old nemesis...we meet again... | |||
| coke_at_work | sorear: yes, the makefile works with nmake on windows. | 12:21 | |
| (on parrot, anyway) | |||
| sorear: ah. guessing from context you were talking about blizkost. | 12:25 | ||
|
12:33
ruoso joined
12:39
payload joined
|
|||
| whiteknight | I've been thinking about starting a new project to be another Perl6-like language | 12:43 | |
| Austin | Heh | ||
| dalek | kudo: 240e2f0 | smashz++ | docs/release_guide.pod: Testing commit. |
12:44 | |
| kudo: c63e4b2 | smashz++ | (2 files): Merge branch 'master' of github.com:rakudo/rakudo |
|||
| lucian | whiteknight: i find that to be a lack of imagination :P | ||
| whiteknight | It would be AMP, "Absolute Minimal Perl", which would be like NQP syntax but extremely minimal semantics | ||
| Austin | I was just thinking to myself: Whiteknight doesn't have enough to do. | ||
| whiteknight | I'm becoming unhappy with parsing and execution speed of NQP | ||
| Austin | How minimal would the semantics be? | ||
| whiteknight | absolutely | ||
| purl | Indubitably. | ||
| Austin | Hmm... | ||
| Only parse the curly braces, make the user do everything else? | |||
| whiteknight | no named lexical variables and therefore no nested lexical scopes. No autovivification | 12:45 | |
| basicaly, yes. | |||
| lucian | Austin: i'd very much like a high level language that maps to parrot's low level types | ||
| whiteknight: lisp! | |||
| whiteknight | but it would be fast as all hell | ||
| Austin | whiteknight: It's running on parrot. Fast isn't going to be part of the description. | ||
| whiteknight | Austin: fast proportionally | ||
| Austin | Heh | ||
| whiteknight | closer to the raw execution speed of the VM | 12:46 | |
| Austin | lucian: I'd like to write one. I'm getting there. :) | ||
| lucian | Austin: i'm actually thinking of writing cython-on-parrot | ||
| Austin | Go for it. | ||
| lucian | pynie first | 12:47 | |
| and not enough time for both | |||
| although boostrapping pynie with a python-like language would be ideal | |||
| whiteknight | NQPython | 12:48 | |
| :) | |||
| lucian | whiteknight: heh | ||
|
12:49
allison joined
|
|||
| dalek | kudo: 3be6916 | jonathan++ | src/Perl6/Grammar.pm: Fix thinko, tweak comments. Custom prefixes and postfixes should now work. |
12:49 | |
| whiteknight | Austin: alternatively I would love to add a "minifying" or optimizing stage to the NQP compiler that turned off certain features if they are not needed by the user | 12:50 | |
| If we don't need lexical scoping at the NQP layer, we can turn that off and make the parser run quicker | |||
| Austin | Hmm... | ||
| whiteknight | If we don't need annotations at the NQP layer, we can turn them off too | ||
| Austin | that's either really ambitious, or totally insance. | 12:51 | |
| *insane | |||
| lucian | whiteknight: wouldn't it be better to make a slightly higher level pir? | ||
| whiteknight | I understand the need for lexical scoping to support things like closures, but if your parser doesn't use closures, why build in support for them? | ||
| Austin | That would be a slightly higher level parrot. | ||
| coke_at_work | dukeleto: I have a fix for your bug. | ||
| Austin | Which needs to happen, except everyone is looking the wrong way. | ||
| lucian | Austin: no, PASM would remain the same | ||
| whiteknight | lucian: could be, but if I could borrow an existing parser for my work it would be faster and easier | ||
| lucian | whiteknight: right. it does seem a bit odd to me that .pir is a superset of pasm | 12:52 | |
| whiteknight | Austin: we have needs for languages at many levels. Kakapo really demonstrates the power of NQP, but if the goal is to write a fast parser, all that power is unnecessary and a performance drain | ||
| For thigns like the PLA test suite, I use full NQP and Kakapo, and it's awesome. For something like the Matrixy Parser, I want something much smaller and faster | 12:53 | ||
| because something like 95% of time in the MAtrixy test suite is spent in parsing and compilatin phases, and I use only the most basic NQP features | 12:54 | ||
| coke_at_work | lucian: PIR is not a superset of PASM> | ||
|
12:54
atrodo joined
|
|||
| whiteknight | lucian: it isn't a superset anymore. It used to be, but the two have diverged | 12:54 | |
| lucian | cotto_work: oh. then i understood wrong. but it seemed to me that $S0 is the pasm part left over | ||
| to me, it would make more sense to be able to say int a = 2 in pir | 12:55 | ||
| and pmc b = new 'bla' | |||
| since it doesn't manipulate registers directly anyway | |||
| whiteknight | lucian: I would love to see a new assembly-level language like PIR but with more simplified syntax | 12:56 | |
| lucian | whiteknight: but at the same abstraction level, i assume | 12:57 | |
| whiteknight | lucian: yes. PIR is really a very lousy language in a lot of ways | ||
| something that was faster to parse would be better. Something that exposed more of the capabilities of the underlying bytecode format would be good too | 12:58 | ||
| lucian | whiteknight: would it compile to pasm or straight to bytecode? | ||
| whiteknight | for instance, the ability to specify PMC aggregate literals in code without having to always build them at runtime would be a huge savings, and the PBC files already support it | ||
| lucian: ideally, straight to bytecode | |||
| lucian | whiteknight: so code generators could target PASM and humans could write pir 2.0 | 12:59 | |
| whiteknight | exactly | ||
| lucian | whiteknight: let's write it! :) | 13:00 | |
| whiteknight: actually, pir 2.0 might make nqp less useful | |||
| if not redundant | |||
| whiteknight | I don't think so. Different tools for different purposes can coexist | ||
|
13:01
luciabn joined
|
|||
| whiteknight | Ideally, I don't think programmers should ever be writing PASM or PIR directly. I don't think in the long run that they should exist | 13:01 | |
|
13:01
lucian joined
|
|||
| whiteknight | NQP should output bytecode directly | 13:01 | |
| lucian | whiteknight: does it output pasm now? | ||
| whiteknight | it outputs PIR, which IMCC compiles into PBC | 13:02 | |
| lucian | oh | ||
| whiteknight | The only problem we have is the bootstrapping step for "how do we compile NQP"? | ||
| Austin | Yikes. Now my MockFS is more advanced than my actual FS. :( | ||
| whiteknight | and what we need there is a stand-alone compiler, the PIR2.0 compiler in this case, that complies PIR2.0 to PBC with on simplicity and speed | 13:03 | |
| lucian | Austin: use a better actual fs? :) | ||
| Austin | Use a better coder, I think... | ||
| lucian | whiteknight: right. is the pir 1.0 compiler written in C? | ||
| whiteknight | A PIR2.0 compiler that outputs faster PBC will make the generated NQP executable faster, which in turn will make parsing faster for all languages that use NQP | 13:04 | |
| atrodo | Whiteknight> So what about compiler authors that don't use NQP or any of the compiler tools? | ||
| whiteknight | lucian: yes. compilers/imcc is the flex/bison implementation of IMCC | ||
| lucian: compilers/pirc is a proposed replacement, also written in flex/bison/C | |||
| lucian | whiteknight: right, i'll have a look | 13:05 | |
| whiteknight | atrodo: They would be able to use this new PIR2.0 compiler to bootstrap, and we can provide a library to generate PBC on the fly from PIR ode | ||
| code | |||
| lucian still hates VDM-SL | 13:06 | ||
| dalek | kudo: d537cea | jonathan++ | docs/ChangeLog: Fill out ChangeLog - should cover most things. |
13:07 | |
| atrodo | Whiteknight> I'm just wondering about my project. I was thinking it would just output pir and pass it on to the pir compiler, but it sounds like that may not be the right thing to do | 13:10 | |
| lucian | atrodo: is it harder for you to output pasm? | 13:11 | |
| allison | whiteknight: even better is to not call it PIR2, but to call it something completely different | ||
| lucian | allison: heh, i'm not good at naming things | ||
| allison | (no baggage) | 13:12 | |
| lucian | allison: people not involved in parrot do however get the impression that there's a new language every month (i.e. lorito) | ||
| allison | lucian: ah, pick a bird name out of a hat | ||
| lucian | allison: peacock? | ||
| purl | peacock is objecting to the "fractional" and "dotted" terms. wants "decimal" and "dotted-decimal" | ||
| lucian | purl: thou shalt not speak unless spoken to | 13:13 | |
| purl | lucian: excuse me? | ||
| atrodo | Not really, i can do either. My impressions were that PIR was the prefered way to produce bytecode and PASM was a lowerlevel tool | ||
| allison | lucian: lorito's been talked about for a year, but doesn't exist yet, so it's kind of new and not new | ||
| lucian | atrodo: i assume you may get better performance by targetting pasm | ||
| allison | lucian: peacock is pretty good | ||
| lucian: raven, ibis | 13:14 | ||
| lucian: kite | |||
| lucian | allison: kiwi | ||
| Austin | Call it "RIP" | ||
| atrodo | lucian> maybe | ||
| Austin | Nobody'll know. | ||
| allison | lucian: yah, kiwi is great | ||
| lucian | allison: dodo :) | ||
| Austin | decss | ||
| atrodo | Then again, I've never really digged into it | ||
| allison | lucian: heh :) | ||
| Austin | You're dl count will be incredible. | ||
| *your | 13:15 | ||
| Stupid possessives. | |||
| lucian | i can see the headlines: "PIR went the way of the dodo" | ||
| whiteknight | what we call it is inconsequential, but you're right that PIR2.0 should not be the final name | ||
| it's just a working name | |||
| lucian | Austin: i'm not a native speaker, it's probably why i never get confused by those | 13:16 | |
| atrodo | Puffbird? Toucan? Cockatoo? Flamingo? Oh, interesting one: Antthrush. (atrodo calms down now) | ||
| lucian | pynie.antthrush hmm | 13:17 | |
| whiteknight needs to find his lex/yacc book again if he's going to be writing a new parser | |||
| lucian | allison: i don't entirely understand the need for lorito | 13:18 | |
| Austin | What's the better name: Parrot::Unix::STAT_IFMT or Parrot::Unix::Stat::S_IFMT ? | ||
| dalek | kudo: 6dd31df | jonathan++ | docs/ChangeLog: Re-instate masak++ ChangeLog entries that I somehow managed to lose. |
||
| lucian | allison: is it so that the jit can optimize across bytecodes? | ||
| allison | lucian: it's to make the JIT easier to write | 13:19 | |
| lucian | allison: to make it retargetable? | ||
| allison | lucian: you can write JIT templates for a small number of ops in Lorito, and generate the rest from those templates | ||
| lucian: parrot has 1200-some opcodes, and writing JIT templates for all of them individually is daunting | 13:20 | ||
|
13:20
fperrad joined
|
|||
| lucian | allison: oh. that's a lot of opcodes | 13:20 | |
| allison | lucian: now, they're all written in heavily macroized C, so there's a chance that something like LLVM's C parser could help with generating the JIT templates automatically | ||
| lucian: aye, the sheer number of opcodes is the challenge of JITing Parrot, Lorito is intended to ease that pain | 13:21 | ||
| atrodo | allison> so lorito would replace how the ops are written now? | 13:22 | |
| lucian | allison: a simple patching jit shouldn't be very hard to write i assume | ||
| allison | atrodo: yes, most ops would be written in a language like PIR | ||
| atrodo: (we've been calling that language "Lorito") | 13:23 | ||
| atrodo: a small subset of ops would still be written in something low-level like C | |||
| atrodo | allison> And those would be the basic, "atomic" ops? | 13:24 | |
| dalek | kudo: 855ecb5 | (Solomon Foster)++ | docs/ChangeLog: Tweak changelog on metaops. |
||
| allison | lucian: depends on your definition of "very hard" I suppose | ||
| allison | atrodo: aye | ||
| atrodo | interesting | 13:25 | |
| allison | lucian: you asked a question about objects yesterday? | ||
| lucian | allison: uh, yes. don't have the backlog here, i'm in the uni lab | 13:26 | |
| allison | [20:13]\t<lucian>\t[#parrot] allison: about pynie objects, how do you suggest to proceed? | ||
| [20:15]\t<lucian>\t[#parrot] allison: the core types that exist now have factory functions | |||
| lucian wants something like ctrlproxy, but entirely transparent | |||
| allison: oh, right. well right now pynie's types are parrot PMCs | 13:27 | ||
| allison | (twas after I dropped off IRC, but Chatzilla kept it for me) | ||
| lucian: aye, and I'd start there for objects too | |||
| lucian | allison: however, all python objects inherit objcet | ||
| allison | lucian: have class declarations create a Parrot 'Class' object | ||
| lucian | allison: there's a problem with that, from what i've been told you can't subclass 'Class' | 13:28 | |
| allison | lucian: and have instantiations of those classes instantiate from it | ||
| lucian: not from PIR you can't, but you can subclass Class from C | |||
| lucian: and you don't even need to subclass it to get started | |||
| lucian: just use it straight | 13:29 | ||
| lucian | allison: i need it for metaclasses | ||
| allison: at least in py3, a lot of things are implemented in terms of metaclasses | |||
| allison | lucian: the semantics won't be quite right, but it'll be a step forward | ||
| lucian | allison: hmm, true | ||
| allison | lucian: Parrot 'Class'es are metaclasses | ||
| lucian | allison: why isn't 'Class' an 'Object' as well? | ||
| allison | lucian: well, Class is a PMC, which is an object in Parrot | 13:30 | |
| lucian | allison: yes, but it's not an 'Object' | ||
| allison: it's gonna make python metaclasses hard | |||
| allison | lucian: the PMC named 'Object' is just one type of object | ||
| lucian: I realize the naming is confusing | |||
| lucian: think PMC == object | |||
| lucian | allison: yes, PMCs should never be called objects | ||
| allison | lucian: no, PMCs *are* objects | 13:31 | |
| lucian | allison: i understand the difference between PMCs and 'Object's | ||
| allison: PMCs are low level objects, 'Object' are higher level objects | |||
| allison | lucian: really, we should have called PMCs "Object" and called the Object PMC something like "Instance" | 13:32 | |
| lucian: the only difference between them is what language they're implemented in | |||
| lucian | allison: 'InteropObject' | ||
| allison | lucian: semantically, they're the same thing | ||
| lucian | allison: right | ||
| allison: so we need python's object implemented in terms of 'Object' | 13:33 | ||
| allison | lucian: the main thing is, we don't need to get Python's inheritance hierarchy right at the start | 13:34 | |
| lucian: that will happen automatically if we implement Python classes in terms of Parrot's 'Class' | |||
| lucian: that is, the instance of a Class is an Object | |||
| Austin | Whiteknight: ping | ||
| allison | lucian: but it happens behind the scenes of calling 'new' on an existing Class object | 13:35 | |
| dalek | kudo: 4c251d4 | masak++ | docs/ChangeLog: [docs/ChangeLog] fixed typo, removed dup |
||
| lucian | allison: right. the object boostrapping bit is less clear to me than it should be | 13:36 | |
| allison: writing some code might clear that up | |||
| allison | lucian: that's a good approach | 13:37 | |
| lucian: I think it's the levels of meta that make it trickier, implementing classes as objects on top of an object oriented VM | 13:38 | ||
| lucian | allison: for some reason jython's meta-stuff didn't bother me at all | 13:39 | |
| allison | lucian: do they have a pretty clear separation between Java-level objects and Python-level objects? | 13:40 | |
| lucian: as in, Java-level objects aren't full first-class objects within Python syntax? | |||
| lucian | allison: not really, you can use java objects freely in python | 13:41 | |
| allison: but they're handled specially i think | |||
| allison: since all python objects (including classes) are instances of java classes, plain java objects are outside the inheritance tree | |||
| allison | lucian: makes sense in the Java context | 13:42 | |
| lucian | allison: this is somewhat what i was thinking for pynie | 13:43 | |
| allison | lucian: my perception of Python is that PyObject == PMC | ||
| lucian: that is, it's not "Object" at all | 13:44 | ||
| lucian | allison: then how is interop achieved? | ||
| allison | lucian: oh, I'm not saying reimplement PMCs | ||
| lucian: I'm saying, instead of trying to re-derive the Python hierarchy in the same way, adopt PMC as the base Pynie object type | 13:45 | ||
| lucian | allison: i thought interop between OO languages was based on 'Object' | 13:46 | |
| allison: i know what you mean, yes | |||
| allison: but i disagree with that. whether pynie's object is derived from 'Object' or a plain PMC, it has special behaviour | 13:47 | ||
| allison | lucian: no, interop is base on PMC | ||
| purl | okay, allison. | ||
| allison | purl: forget interop | ||
| purl | allison: I forgot interop | ||
| lucian | allison: that's too low level for interop between ruby or python for example | ||
| allison | lucian: indeed it does | 13:48 | |
| lucian | s/or/and/ | ||
| allison | lucian: PMCs are all the basic behaviors of all types | ||
| lucian: scalar access, keyed access, attribute access, method invocation, instantiation of an object, etc | |||
| coke_at_work | (better performance by targeting pasm) I believe the current wisdom is "do not target pasm". | 13:49 | |
|
13:49
Mokurai1 joined
|
|||
| lucian | allison: but that's too general for pynie's object to be a plain pmc | 13:49 | |
| allison | lucian: "indeed it does" have special behavior | ||
|
13:50
fperrad joined
|
|||
| lucian | allison: that came out wrong | 13:50 | |
| coke_at_work is very happy to see python discussions going on (esp. since he hasn't spent any time on tcl in weeks) | |||
| lucian | allison: i meant to say every type should inherit pynie's object | ||
| allison | lucian: yes | ||
|
13:50
bubaflub joined
|
|||
| allison | lucian: and PyObject has behavior | 13:50 | |
|
13:50
patspam joined
|
|||
| coke_at_work | seen dukeleto | 13:50 | |
| purl | dukeleto was last seen on #parrot 6 hours, 52 minutes and 24 seconds ago, saying: stands back and waits for magic to happen | ||
| allison | lucian: but PyObject is not Parrot's Object | ||
| coke_at_work | if someone wants to write a test, TT #1517 should be closable with that patch. | ||
| lucian | allison: yes. so pynie's str would inherit PyObject and the 'string' PMC | 13:51 | |
| allison | lucian: it's not Parrot's Class either | ||
| lucian: aye | |||
| lucian: IIRC, Lua is a great example here | |||
| lucian: (the Lua Parrot implementation) | |||
| lucian | allison: if we go for raw PMCs, it won't have anything to do with what's described in PDD 15 | ||
| allison: which one is active? | 13:52 | ||
| allison: i'm curious what you mean, lua has no objects | |||
| allison | lucian: but it has data types | ||
| lucian: (which are objects in Parrot) | |||
| lucian | allison: so lua's string inherits the 'string' PMC | 13:54 | |
| whiteknight | Austin: pong | ||
| allison | lucian: github.com/fperrad/lua | ||
| Austin | Too late. I was wondering if you did anything to the bit ops | ||
| allison | lucian: (I'm digging around myself, since I haven't looked at the language in a year or so) | 13:56 | |
| lucian | allison: github.com/fperrad/lua/blob/master/...string.pir | 13:57 | |
| allison | lucian: okay, IDRC | 13:59 | |
| lucian moving to another machine | 14:00 | ||
| whiteknight | Austin: any kakapo commits for me to look at? | ||
| I'm jonesing | |||
| Austin | heh | ||
| coke_at_work | kakapo | 14:01 | |
| Austin | Gimme a little bit. | ||
| coke_at_work | kakapo? | ||
| purl | kakapo is a program framework, runtime library, and collection of useful functions for NQP programs. or See code.google.com/p/kakapo-parrot/ for documentation and issue tracking, or gitorious.org/kakapo for source code. | ||
| allison | lucian: ah-ha! github.com/fperrad/lua/blob/master/...string.pmc | ||
|
14:02
payload joined
14:03
lucian joined
|
|||
| allison | (repeating) lucian: ah-ha! github.com/fperrad/lua/blob/master/...string.pmc | 14:04 | |
| lucian: I posted right after you dropped off | 14:05 | ||
| lucian: so, LuaString inherits from LuaAny | |||
| lucian: LuaAny is like PyObject | |||
| lucian: LuaString "provides" string, but doesn't inherit from Parrot's String PMC | 14:07 | ||
| Austin | stupid namespaces... | ||
|
14:12
lucian joined
14:15
lucian joined
|
|||
| Austin ++ # Another passing testcase. | 14:15 | ||
| allison | lucian: ping | 14:16 | |
| lucian | allison: pong. moved to a new machine | 14:17 | |
| allison | lucian: just checking, I suspect some intermediate bits I posted dropped between the timeouts | 14:18 | |
| lucian | allison: quite possible | ||
| lucian really wants that transparent ctrlproxy | |||
| allison | lucian: okay, try github.com/fperrad/lua/blob/master/...string.pmc | 14:19 | |
| coke_at_work peruses a blog entry on NativeClient | 14:21 | ||
| lucian | allison: oh, so it actually has a LuaAny type | 14:22 | |
|
14:22
clinton joined
|
|||
| lucian | allison: wth is .pmc btw? | 14:22 | |
| allison: looks like C, but it isn't | 14:23 | ||
| coke_at_work | pmc2c takes .pmc and generates .c | ||
| does some rewriting/substitutions. | |||
| lucian | coke_at_work: right, thanks | 14:24 | |
| allison: is it advisable to have a language implementation depend on C bits? | 14:25 | ||
| allison | lucian: .pmc is a PMC definition | 14:28 | |
| lucian: yes, PMC and opcode extensions are one of the standard language implementation tools | |||
| lucian: this is the "canonical" way of adding core types to a language | 14:29 | ||
| coke_at_work | I am hoping for tcl to eventually eliminate the need for PMCs and do it all via internal Object types. | 14:30 | |
| dalek | rrot: r45012 | gerd++ | trunk (2 files): Add the generation of a bzip2 compressed tarball |
||
| coke_at_work | (but that's more to reduce the complexity of the code so it's all in one language) | 14:31 | |
| allison | coke: makes sense | 14:35 | |
| allison afk | |||
| dalek | kudo: b4ed7c1 | masak++ | docs/ChangeLog: [docs/ChangeLog] added/changed a few quotation marks |
14:44 | |
| kudo: 0cf5765 | smashz++ | docs/announce/2010.03: [RELEASE] Add annouce file. |
14:50 | ||
|
14:55
Coke joined
14:56
Coke joined
|
|||
| dalek | kudo: 14aeee8 | jonathan++ | docs/announce/2010.03: Fix next release date. |
14:56 | |
| kudo: a7ff5e8 | jonathan++ | docs/announce/2010.03: Oops, last patch was wrong. |
|||
| parrot: fa1081e | (David Fetter)++ | Makefile: Removed awful hack. 9.0's pg_regress now uses the new CREATE OR |
|||
| parrot: 5fa59cf | dukeleto++ | (5 files): Get rid of Configure.nqp and friends |
|||
|
14:56
sri joined
14:57
Coke joined
|
|||
| lucian REALLY hates VDM | 14:59 | ||
| dalek | rrot: r45013 | Util++ | trunk/docs/pdds/pdd30_install.pod: [codingstd] Wrapped PDD30 to fit line length limit |
15:03 | |
| kudo: f098309 | jonathan++ | docs/announce/2010.03: Tweaks to the specifics in the release announcement. |
15:08 | ||
| kudo: f343af8 | masak++ | docs/announce/2010.03: [announce] description of the hackathon |
15:13 | ||
| kudo: 6c84d73 | masak++ | docs/announce/2010.03: [announce] removed redundant [1] footnote |
|||
| NotFound | whiteknight: no lexical variables, no lexical scopes.... that is winxed ;) | 15:17 | |
| whiteknight | NotFound: yes, I like winxed very much | 15:18 | |
|
15:18
Coke joined
|
|||
| whiteknight | the only problem I have with it is that it is C++, and so can't really be incorporated into the parrot repo | 15:19 | |
| Andy | Coke, some time I have questions about config stuff | ||
| not right this minute, but later today maybe | |||
| dalek | kudo: 807c57a | jonathan++ | docs/announce/2010.03: Also mention the nice work on the series operator in the major items. |
||
| Coke | Andy: sure. if you want to do email if I'm not here, that works, too. | ||
| Andy | Email? that's crazy! | ||
| NotFound | whiteknight: winxed stage2 compiled is pure pir. | 15:20 | |
| particle wonders how coke feels about being a parrot config expert | |||
| whiteknight | NotFound: do any benchmarking of the stage2 compiler against the stage1? | 15:21 | |
| Coke | particle: I was going to post a disclaimer about not being a PCE, but I guess I am now. ah well. | 15:22 | |
| NotFound | whiteknight: stage2 and stage1 are the same, the difference is that stage1 is built with stage0 and stage2 is stage1 compiled with himself. The speed difference is between stage0 and the others. | ||
| Compile time difference is huge, but the run speed of the generated the code is approximately the same. | 15:24 | ||
| dalek | kudo: e4e058f | jonathan++ | docs/announce/2010.03: Tweak series statement in announce thanks to colomon++. |
15:25 | |
|
15:26
kjeldahl joined
|
|||
| NotFound | time make winxedst1.pbc - real 0m0.426s | time make winxedst2.pbc - real 0m11.904s | 15:28 | |
|
15:33
AndyA joined
|
|||
| NotFound | Coke: you are not a PCE... you are *the* PCE. | 15:33 | |
|
15:34
Psyche^ joined
|
|||
| whiteknight | in NQP, is it not possible to have a pointy block that takes no arguments? | 15:35 | |
| Austin | No. | 15:36 | |
| You want an unpointy block. | |||
| { foo; } | |||
| my &sub := { foo; }; | |||
| lucian | NotFound: winxed is really starting to look like a nqp alternative | 15:47 | |
|
15:47
payload joined
|
|||
| NotFound | lucian: thanks | 15:51 | |
| BTW, I've seen some people wondering how to pronounce "Winxed", and I wonder, how do you pronounce "nqp"? | 15:55 | ||
| Coke | NotFound: en queue pee | ||
| like SQL. =-) | |||
| Coke ducks. | |||
|
15:55
davidfetter joined
|
|||
| Austin | This @#$##$%@*)# thing! | 15:56 | |
| NotFound | Coke: You'll laugh if you hear several ways people in Spain pronounce SQL X-) | ||
| Or SCSI | 15:57 | ||
| Austin | Why? There's a bunch of people who pronounce "SQL" as "sequel" | ||
| NotFound | Austin: the favourite sport in Spain is not football as many believe, is to make laugh of other spanianrd's English. | 15:58 | |
| Austin | Heh | ||
| NotFound | (note: football --> the sport called 'soccer' in the USA) ;) | 16:01 | |
|
16:02
payload1 joined
|
|||
| lucian | NotFound: the americans are wrong about that one, you shouldn't explain :) | 16:02 | |
| NotFound | lucian: many people better than me already tried :D | 16:04 | |
| Austin | What, not explaining? | ||
| NotFound | Both ways. | ||
| purl | both ways is mendel's goal | ||
| Austin | Ojala si pueda convencer los Ingleses no explicame los detalles de criquet... | 16:08 | |
| Yikes. | 16:09 | ||
| NotFound | Is worse than baseball? | ||
| Austin | Contextuals - more difficult than they need to be. | ||
| NotFound: I don't know - I've managed to avoid learning too much about baseball. | |||
| I think they're in the same family, so the tedium is comparable... | |||
| NotFound | I also do, but is a lot easier in Spain. | 16:10 | |
| Andy is installing the new icc | 16:11 | ||
| cotto_work | Austin, did you have some code to create a capture in nqp or pir? | ||
| Austin | cotto_work: I put it on the wiki, in the HLL page | ||
| cotto_work | thanks | 16:12 | |
| Austin | trac.parrot.org/parrot/wiki/Creatin...h%20NQP-rx | ||
| cotto_work | That's a lot less non-hairy than I was hoping for. | 16:13 | |
| Austin | Heh. | ||
| It's a demonstration, so there's some extra crap you don't need. You just need the &sub:= and the newclosure. | |||
| dukeleto | hmm, seems like Parrot's test more does not support plan(0) | 16:20 | |
| Test::More, even | |||
| Coke | ... if you're doing plan(0), that seems horribly wrong. =-) | 16:23 | |
| doesn't that imply "no_plan" in TAP? | |||
| dukeleto | Coke: well, plan(0) is part of the TAP spec | ||
| Coke: no | |||
| Coke: no_plan means "i don't know how many tests I will run" | |||
| Austin | I think it's "count them and output the plan at the end" | ||
| dukeleto | Austin: nope | 16:24 | |
| Austin | Really? | ||
| Oh, well. | |||
| Goes to show what I know. | |||
| dukeleto | Coke: i have to check for the existence of an external library. if it is not found, I don't want to run any tests | ||
| Coke | if I try to plan 0 in p5, it dies. | ||
| dukeleto | Coke: in Perl 5, that is plan => 0 | ||
| Coke | dukeleto: that's "skip_all". | ||
| dukeleto | 1..0 is a valid plan in the TAP world | ||
| dalek | rrot: r45014 | dukeleto++ | trunk/t/dynpmc/rational.t: [t] Fix the Rational PMC tests on Parrots without GMP |
16:25 | |
| dukeleto | Coke: I am talking about from PIR | ||
| Coke | yes. I'm trying to figure out what you think that should do based on p5. | 16:26 | |
| dukeleto | Coke: oh, i see skip_all in Test/More.pir now | ||
| Coke: i have tests for 1..0 in Tapir. It succeeds if and only if exactly 0 tests are run | |||
| Coke: seems like no Parrot tests uses skip_all. it is not in test_more.pir, but it is in Test/Builder.pir | 16:27 | ||
| Coke | dukeleto: I wouldn't be surprised if we had no files that used it. should probably have one that tests it, though. | 16:28 | |
| dukeleto | Coke: i feel that plan(0) is more correct. We are not skipping any tests. We are running exactly 0 tests. | ||
| Coke: it is not exported by test_more.pir . lets see if I can fix that | |||
| Coke | dukeleto: you are skipping the tests you would have run if the library was present. | ||
| ... is how I would justify using it. =-) | 16:29 | ||
| dukeleto | Coke: :) | ||
| Austin | Stupid sort routine... | 16:31 | |
| NotFound | The only problem is that skipping all is a lot noisier. | ||
| lucian | i'm curious about parrot's threading story | 16:34 | |
| more specifically, how fine-grained the interpreter locks are | 16:36 | ||
| cotto_work | It's a sad story. It needs someone to write a happy ending. | 16:37 | |
| Austin sings, "Well, I - ain't never done nothing to .. no body.." | |||
| lucian | cotto_work: so there's a GIL right now? | ||
| dukeleto | Coke: i fail at trying to export skip_all from Test::Builder into Test::More . I am gonna make a ticket | 16:38 | |
| Austin | Well, that was not the low-impact change I was hoping it would be... | 16:39 | |
| dukeleto | Parot in the german press: www.heise.de/open/meldung/Version-2...57918.html | ||
| Austin | msg whiteknight Here comes a commit... | 16:40 | |
| purl | Message for whiteknight stored. | ||
| whiteknight | w00t | ||
| cotto_work | I'm glad they were careful enough to get the version number right in spite of my announcement. | 16:41 | |
| whiteknight | I propose a new heuristic: If the recipient of a message acknowledges it within 5 seconds of the message having been left, purl should not private message that person to say they got a message | ||
| cotto_work | msg whitenight good idea | 16:42 | |
| purl | Sorry, I've never seen whitenight before. | ||
| whiteknight | and before anybody chimes in to ask a bunch of weird or unlikely "what if" scenarios, I would like to preemptively reply with a "find a way to make it work" | 16:43 | |
| dalek | kapo: 6ff2916 | austin++ | (34 files): Got MockFS, FileSystem at least partially working. Signed-off-by: Austin Hastings <Austin_Hastings@Yahoo.com> |
16:44 | |
| cotto_work | That there's a big commit. | 16:46 | |
| dalek | tracwiki: v4 | cotto++ | TestingProfiling | 16:48 | |
| tracwiki: trac.parrot.org/parrot/wiki/Testing...ction=diff | |||
| TT #1519 created by dukeleto++: plan(0) is not supported by Test::More/Test::Builder | 16:56 | ||
| TT #1519: trac.parrot.org/parrot/ticket/1519 | |||
| whiteknight | Austin++: All tests pass | 16:57 | |
| purl | Time to write more tests! | ||
| dalek | rrot: r45015 | Util++ | trunk/t/codingstd/pdd_format.t: [t] pdd_format.t - Changed to check the mandatory sections more thoroughly. For example: when "Abstract" is required, "Abstracts" should not fulfill the requirement, but the old code passed. The new code correctly fails. |
||
|
17:03
rblackwe_ joined
|
|||
| cotto_work | question: How many of the runcores are worth preserving in the transition to an nqp-based ops compiler? | 17:11 | |
| darbelo | As many as you want to? | 17:12 | |
| whiteknight | cotto_work: as far as I am concerned, fast core and switch core are the only "normal" ones worth preserving, and the switch core might not be useful | ||
| gc debug core, debugger core, and profiling core are good too | 17:13 | ||
| tracing core | |||
| darbelo | You need to consider compilers that can't build the cgoto core too. | ||
| That's why switch is there IIRC. | 17:14 | ||
| dalek | kudo: 7a70cae | smashz++ | t/spectest.data: [RELEASE] Comment itermitent test file. |
17:17 | |
| Coke | dukeleto: I am unsure that I would refer to that as 'the german press'. =-) | 17:40 | |
| cotto_work | It's German. He's at least half right. | ||
| particle | cotto_work: is it difficult to emit those various runcores? they aren't complex | 17:44 | |
| cotto_work | I don't think so. I'm just lazy. | 17:45 | |
| also, it'll most likely slow down the build given how slow nqp-rx is at the moment | |||
| particle | false laziness. | 17:46 | |
| i just got a ~25% build speedup on win-msvc, i don't mind a little regression :) | |||
| cotto_work | nice. How? | 17:47 | |
| purl | it has been said that nice. How is it so far? | ||
| particle | removing perl wrappers from around every cl call | ||
| coke++ | |||
| cotto_work | What about getting Rakudo to build against 2.2.0 with msvc? Do you have a patch that can be made into a 2.2.1 release? | 17:48 | |
| particle | turns out we don't need it, jnthn++ fixed that a week ago | ||
| cotto_work | jnthn++ | ||
| particle | what i do need, is 670MB RAM to build rakudo's src/gen/core.pir | ||
|
17:48
riffraff joined
|
|||
| particle | that's disgusting. | 17:49 | |
| darbelo | And wrong. | 17:55 | |
|
17:55
lucian joined
|
|||
| darbelo | Are we leaking memory again? | 17:55 | |
| particle | i imagine so, can you see a need to use 670MB during a compile? | 17:57 | |
| tewk | cotto_work, I would really like a tool that lets me build a runcore with some opcodes inlined like the switch core does. Futures and security runloops could use that. | 18:01 | |
| Coke | particle: it's several THOUSAND lines of nqp. | ||
| particle | so, that's what, 100k per line? | ||
| Coke | =-) | 18:02 | |
| I'm just saying, it doesn't surprise me. that one file is pushing the limits of the toolchain atm. | |||
| particle | yeah, i know, it doesn't surprise me either. but it doesn't bode well for hll users | 18:03 | |
| dalek | rrot: r45016 | Util++ | trunk/t/codingstd/pdd_format.t: [t] pdd_format.t - Changed error message to report relative path, for editing |
||
| rrot: r45017 | Util++ | trunk/t/codingstd/pdd_format.t: [t] pdd_format.t - Include pdd_template.pod when scanning |
|||
| Coke | nope. definitely needs fixing. | ||
| Coke | my memory usage is > 1G on that file. | 18:05 | |
| > 1500M ... | 18:07 | ||
| > 1600M ... | 18:08 | ||
| dalek | kudo: 1e9aa08 | moritz++ | t/spectest.data: we pass S13-overloading/operators.t, thanks to jnthn++ |
18:09 | |
| Coke | whoops. that was 1600M on a parrot-nqp invocation, not the parrot invocation that builds core.pir | 18:11 | |
| (though that too is now up past 1600M) | 18:12 | ||
| cotto_work | ow | 18:13 | |
| dalek | rrot: r45018 | Util++ | trunk/t/codingstd/pdd_format.t: [t] pdd_format.t - Removed duplicate info from error mesage |
18:19 | |
| tracwiki: v10 | coke++ | tasksCoke | 18:28 | ||
| tracwiki: trac.parrot.org/parrot/wiki/tasksCo...ction=diff | |||
| japhb | OK, >1600 MB to compile one NQP file is just crazy. Sounds like we need chromatic++'s Mad Leak Huntin' Skillz (tm) | 18:37 | |
|
18:52
eric_j joined
|
|||
| whiteknight | is it that same leak from the string compactor? | 18:56 | |
|
18:58
bacek joined
|
|||
| bacek | ~~ | 18:58 | |
|
19:00
estrabd_ joined
|
|||
| particle | whiteknight: possibly. if so, that's one mighty leak. | 19:06 | |
|
19:10
estrabd joined
19:14
cotto joined
|
|||
| Coke | TPF accepted into GSOC. | 19:14 | |
| cotto_work | now let's get us some students | 19:15 | |
| lucian | cotto_work: you rang? :) | ||
| cotto_work: well, pynie would fall under the PSF | 19:16 | ||
| darbelo starts thinking of a good proposal. | 19:18 | ||
| particle does a gsoc happy dance | 19:20 | ||
| whiteknight | GSOC is the best | ||
| cotto_work | I'm just in it for the shirt. | 19:21 | |
| darbelo | NFG strings sound like the most benefit to parrot, but RTEMS is seriously tempting the embeded developer in me... | ||
| whiteknight | cotto_work: definitely! The shirts are the best! | 19:22 | |
| Coke | ... the embedded developer in me. That's TERRIBLE. | 19:23 | |
|
19:25
riffraff joined
|
|||
| darbelo | English is my fourth language. | 19:25 | |
| whiteknight | Hell, english is barely my first | ||
| Andy | hey Coke. | ||
| Coke | Hio. | 19:26 | |
| davidfetter | darbelo, what are 1,2 & 3? | ||
| english is my 2nd language | |||
| darbelo | Incredibly Rude Spanish, Very Rude Spanish and Moderately Rude Spanish. | ||
| Andy | can we talk about config? | ||
| Coke | hai. | ||
| Andy | oops, gimme a min. | 19:27 | |
| Coke | NO NOW! | ||
| Andy | OK | ||
| davidfetter | would it be incredibly rude of me to point out the influence of portuguese on es_AR? | ||
| Coke | (ok, I'll get coffee. =-) | ||
| Andy | Whatever you say master. | ||
| Coke | your journey to the dark side is now complete. | 19:28 | |
| darbelo | davidfetter: My portuguese repertoire is not fit for a publicly logged channel ;) | ||
| cotto_work | Wait. We're on the dark side? | 19:29 | |
| darbelo | cotto_work: It varies acording to timezone ;) | ||
| cotto_work | or does that only happen when you do what Coke says? | ||
| Util | We must be; we have cookies! | ||
| (PMCs) | |||
| Andy | Impressive? | ||
| Is it most impressive? | |||
| davidfetter | darbelo, well, i learned much of my pt_BR from /Tropa de Elite/, an Åvre not known for its delicacy | 19:30 | |
| darbelo | But a damm good movie. | ||
| davidfetter | hrm. the more i think about it, the more i see it as a tragedy | 19:31 | |
| i mean, from the officer's point of view, he has not actually gathered any evidence, only gone down the road of beating confessions out of suspects | 19:32 | ||
| and at the end, he executes someone extra-judicially. i can only think that he'll be doing so for sport within months | |||
| and not surprisingly, this is exactly how the actual militarized "police" forces behave | 19:33 | ||
|
19:36
theory joined
|
|||
| Andy | Coke: Is there a crash course in how Configure.pl works? | 19:44 | |
| also, an aside, my build doesn't link under icc 11.1 | |||
| but 10.1 isok | |||
|
19:47
joeri joined
|
|||
| Andy | hmm, how do I know if my box is 32 or 64 bit? | 19:47 | |
| tewk | file /usr/bin/bash | 19:48 | |
| uname -a | |||
| purl | Infobot 0.43.3 alpha (oznoid+#perl) | ||
| Andy | oooh, thanks | ||
|
19:49
iblechbot joined
|
|||
| Andy | ICC wants to know if I want to download for IA-32 or Intel 64 | 19:50 | |
| but bash says /bin/bash: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped | |||
| so I'd think I want the 64 right? | |||
| even though it's AMD? | 19:51 | ||
|
19:51
bacek_ joined
|
|||
| bacek_ | o hai | 19:51 | |
| seen chromatic | |||
| purl | chromatic was last seen on #parrot 19 hours, 23 minutes and 22 seconds ago, saying: :sane | ||
| tewk | Andy, yes | ||
| bacek_ | msg chromatic pcc_megrecells is faster than trunk. | ||
| purl | Message for chromatic stored. | ||
| Andy | that's all hardware stuff | ||
| cotto_work | Andy, apparently Intel64 means x86_64 | 19:52 | |
| so yes | |||
| not to be confused with IA-64, which is Itanic | |||
| Andy | bah, my compile fails with the 64, too | 19:55 | |
| cotto_work | bacek++ | ||
| merge that sucker | |||
| It'll be nice to get a refactor that actually speeds things up a bit. | 19:56 | ||
| dalek | rrot: r45019 | bacek++ | branches/pcc_megrecells/src/pmc/callcontext.pmc: Speed-up CallContext.get_foo_keyed_int |
19:58 | |
| rrot: r45020 | bacek++ | branches/pcc_megrecells/src/pmc/callcontext.pmc: More CallContext push_foo and get_foo_keyed_int optimizations. |
|||
| rrot: r45021 | bacek++ | branches/pcc_megrecells/src/pmc/callcontext.pmc: Fix copy-paste error. |
|||
| bacek_ | cotto_work, heh. Not pcc_hackatron branch by it self... | ||
| cotto_work | right, but you can merge into the pcc_hackathon branch, then merge the hackathon branch into trunk | 20:00 | |
| darbelo | mergefest! | 20:01 | |
| Coke | (crash course) not that I am aware of. | ||
| but, in a nutshell: | |||
| the inputs are: command line args and perl5's config. a list of modules (all under config/) are run (in an order defined somewhere under lib/). at each step, parrot's config data is saved in an intermediate object. each step can pretty much peek or poke at whatever bits of the config it wants. at the end, the config information is rendered out in PASM & Perl. several of the steps also generate files, including the makefiles. | 20:03 | ||
| Andy | Are there any config::* modules that need to be removed? | 20:05 | |
| Coke | very likely. I purged a few in the past six months. | 20:07 | |
| Andy | config/auto/warnings.pm is the one with the new warnings stuff you set up | ||
| Coke | yes. | ||
| Andy | but there's also icc going on in config/init/hints/linux.pm | ||
| Coke | I thought some of that had been moved over; more should be, yes. | 20:08 | |
| Andy | ok | ||
| Coke | I'd like to keep all the warnings in one file. | ||
| Andy | not sure the difference between the two files | ||
| darbelo | I only moved the warnings. The ccflags I left alone. | ||
| Andy | ok | 20:09 | |
| darbelo: Have we met? I don't recognize your nick or your name. | |||
| Coke | it might make sense to move the warnings /setup/ into compiler-specific pm files, and have warnings.pm just do the probing. | ||
| Andy | so warnings.pm IS probing? | ||
| Coke | but linux.pm is the wrong place, either way. | ||
| Andy: absolutely. | |||
| purl | Indubitably. | ||
| Coke | it takes the list, invokes the compiler to figure out what's valid, and discards any that don't build cleanly. | 20:10 | |
| Andy | oh oh I see it. | ||
| darbelo | Andy: I don't think I've met anyone on this channel ;) | ||
| Coke | darbelo: Hi, I'm Coke. | ||
| Coke ducsk. | |||
| ... ducks, even. | |||
| Andy | So we can add stuff to warnings.pm with impunity and not worry about versions. | ||
| darbelo | But I have met ducks in my time... | ||
| Andy: Yes. In theory ;) | 20:11 | ||
| Coke | Andy: right. | ||
| otherwise we'd need to track when each compiler added each warning. | |||
| Andy | yes, well aware. :-) | 20:12 | |
| Coke | if you run config with --verbose-step=auto:warnings (I think that's right), you'll see a metric F-ton of output. | ||
| darbelo | s/:/::/ ? | ||
| Coke | prolly. | ||
| dalek | rrot: r45022 | bacek++ | branches/pcc_hackathon_6Mar10/src/pmc/sub.pmc: Remove some hairy code in Sub.invoke which tryed to poke into bytecode. |
20:14 | |
| rrot: r45023 | bacek++ | branches/pcc_hackathon_6Mar10 (2 files): Merge branch 'pcc_mergecells_local' into pcc_returns |
|||
| cotto_work | what are you using to test speed? | 20:18 | |
| whiteknight | incoming | 20:22 | |
| purl | duck! | ||
| Andy | Coke: It looks like it's not even trying to do the parm testing. | ||
| O | |||
| Rather, it DOES do the warning flag testing, but they never get used. | |||
| dalek | rrot-linear-algebra: cc02185 | Whiteknight++ | t/ (6 files): Rename Testcase.nqp to testlib/matrixtest.nqp. Update test files with new names of stuff. |
||
| rrot-linear-algebra: c2e9cdb | Whiteknight++ | src/pmc/complexmatrix2d.pmc: add methods initialize_from_array and initialize_from_args to complexmatrix2d. Also add set_pmc_keyed_int and get_pmc_keyed_int vtables to it |
20:23 | ||
| rrot-linear-algebra: a3932b2 | Whiteknight++ | t/ (2 files): many fixes for complexmatrix2d. Add String support set_pmc_keyed. Add tests for set_pmc_keyed with Float, Integer, and String arguments. |
|||
| rrot-linear-algebra: 14fcb40 | Whiteknight++ | t/testlib/matrixtest.nqp: add tests to verifiy autoresizing behavior, and also add a test for linear indexing |
|||
| rrot-linear-algebra: 3f9568d | Whiteknight++ | (5 files): several changes to pmcmatrix2d. Fix resize_matrix to not break things on resize. add initialize_from_array and initialize_from_args methods. Add transpose and mem_transpose methods and add incomplete support throughout for lazy transposing. Fix a bug in is_equal. add iterate_function_inplace and iterate_function_external methods. Fix some tests. Only one test fails now due to incomplete transpose support. |
|||
| whiteknight | ...and on that note, I'm out. Later | 20:24 | |
| Coke | Andy: hurm. I know it's working with gcc. | ||
| Andy | stil poking around | 20:25 | |
| Coke | when you're done with config, config_lib.pasm contain a ccwarn that has your warnings? | ||
| *does | |||
| Andy | If I figure why -Wdeclaration-after-statement is still getting through, I'll have it fixed, I assume. | ||
| nope | |||
| Coke | does ccwarn have anything? | ||
| Andy | no | 20:26 | |
| Coke | can you run it with the verbose output and nopaste it? | ||
| dukeleto | looks like we are in Google Summer of Code this year | ||
| Andy | to Configure? | ||
| paste? | 20:28 | ||
| purl | hmmm... paste is (see: nopaste) or like glue but a little safer to sniff. or nopaste.snit.ch:8001/ or scsys.co.uk:8001/ anywhere shadowpaste is or mmm, sticky paste or You there! Eating the paste. or <see> 2 girls, 1 paste or App::Nopaste or toxic for bots and humans | ||
| nopaste | "Andy" at 12.47.12.130 pasted "my config run" (287 lines) at nopaste.snit.ch/19994 | 20:29 | |
| Andy | hahahha, the -Wdeclaration-after-statement is making it think that EVERY attempted flag fails | 20:30 | |
| because that one makes it fail. | |||
| dalek | rrot: r45024 | petdance++ | trunk/config/auto/warnings.pm: sorted the warnings, and added a link to docs |
||
| Coke | urk? | 20:31 | |
| rrot: r45025 | petdance++ | trunk/config/auto/warnings.pm: Added more options we want |
|||
| nopaste | "cotto" at 131.107.0.112 pasted "frequency of op usage during build and make test" (843 lines) at nopaste.snit.ch/19995 | ||
| Coke | if that one properly failed, it should get dropped, and then proceed to the next one. | ||
| Andy | but that one never got tested | ||
| -Wdeclaration-after-statement is never tested | |||
| Coke | oh, did it just get inserted in linux.pm? | ||
| Andy | perhaps | ||
| Coke | that might do it. | 20:32 | |
| Andy | but it doesn't exist in linux.pm | ||
| ack -w -- Wdeclaration-after-statement | |||
| Coke wonders if the datastructure in warnings.pm is bleeding gcc entries into icc. | 20:33 | ||
| Andy | yeah smells like it | ||
| Even if you delete that line from linux.pm, it STILL shows up as a compiler option | 20:34 | ||
| Coke | that's only in one line in warnings.pm, and that looks kosher to me. | ||
| can you add Dumper of $self->{'warnings'}{$compiler} at line 280 or so? | 20:37 | ||
| Andy | in? | 20:38 | |
| purl | IN EXCELSIS DEO | ||
| Andy | in warnings.pm? | ||
| Coke | ya. though I suspect it's not there, since it's present in the args before you get that far. | ||
| ah. it's probably in my $ccflags = $conf->data->get('ccflags'); | 20:39 | ||
| Andy | yup not there | ||
| AHA | |||
| THAT would do it. | |||
| from perl -V | |||
| cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm', | |||
| Coke | GAH. | ||
| we shouldn't be pulling in perl's cc flags, should we? | |||
| Andy | yeah, you can't assume the same ccflags | ||
| YAY I FOUND A BUG! | 20:40 | ||
| davidfetter | where? | ||
| Andy | but damn, we do that a lot. | ||
| dalek | kapo: 517c700 | austin++ | setup.nqp: Release prep. |
||
| Andy | ack conf.*get.*ccflags | ||
| kapo: 4ea9a17 | austin++ | : review: gitorious.org/kakapo/kakapo/commit/...bf0fc1e7aa |
|||
| Andy | I blank out $ccflags and things are much nicer. | ||
| Coke | conf->get->ccflags gets /our/ ccflags, I think. | 20:42 | |
| (unless get has magic to default to the perl5 value if ours is undef) | 20:43 | ||
| Andy | it also has to check for the warning "ignoring option...." | ||
| Coke | just add "ignoring" to the regex at the bottom there. | 20:44 | |
| particle | cotto: can you nopaste an op frequency for a parrot build only, parrot test only, rakudo build only, and rakudo spectest only? i think the comparison would be interesting. is that something easily scriptable? | ||
| Andy | Coke, which "There" where? | 20:45 | |
| oh, i see | |||
| particle | coke: there's a way to track where all the config flags came from... | ||
| Coke | particle: yup. it's insanely verbose. =-) | ||
| particle | kid51 wrote a neat module, there's a config flag i think | ||
| yes, but you can track a single config var i think | 20:46 | ||
| over its history during the process | |||
| Coke | (--verbose=2) | ||
| particle | that must be a shortcut for a bundle of settings... lemme see | ||
| Andy | So really in valid_warning() we should use ccflags of the Parrot build config so far | 20:47 | |
| Coke | Andy: we are. | 20:48 | |
| ... intending to. | |||
| Andy | so we're pulling the Perl 5 ccflags somewhere else and anointing them as good? | ||
| Coke | I was under the impression that's what that 'get' was doing. | ||
| where we is "something before warnings.pm", I think so, yes. | |||
| Andy | Already icc has found a "assigned but never used" that GCC hasn't found. | 20:49 | |
| so this is all good good good | |||
| AND using these wrong flags could well explain why my new icc 11.1 build fails, but 10.1 doesn't, because 11.1 is more picky about the erroneous shit we're passing. | 20:50 | ||
| particle | $ perl Configure.pl --configure_trace | ||
| Coke | excellent. | ||
| cotto_work | fun fact: 448 opcode functions are run zero times during make test | ||
| Andy | cotto_work: That's good news. They'll be well-rested. | 20:51 | |
| particle | cotto: they are run through the parser, though | ||
| cotto_work | particle, you mean that they're parsed? of couse | ||
| particle | that was a fun tricky test i wrote | ||
| t/op/01-parse_ops.t | 20:52 | ||
| in fact, i bet that can be updated to use pmc constants now | 20:53 | ||
| cotto_work | I see what you did there. | 20:54 | |
| particle | then we'll have made sure every op parses. | ||
| (imcc hacks)++ | |||
| lucian | allison: ping | 20:56 | |
| particle | so what is considered a pmc constant by imcc? | 20:59 | |
| do we have something yet? i see we're still using keys, so a namespace is still probably considered a key constant.... | 21:00 | ||
| Andy | so what is that .configure_trace.sto ? | ||
| particle | you can use Parrot::Configure::Trace to get info out of it | 21:02 | |
| Andy | Coke: Are you digging to find "something before warnings.pm"? Am I duplicating your effort? | 21:03 | |
| particle | what attr are you looking for? | ||
| Coke | Andy: nope. I'm at dayjob. | ||
| Andy | you and me both. :-) | ||
| particle | ah, ccflags | ||
| dalek | rrot: r45026 | petdance++ | trunk/config/auto/warnings.pm: Add "ignoring option" to the regex for invalid options |
||
| rrot: r45027 | petdance++ | trunk/config/init/hints.pm: updated the long-neglected copyright date |
|||
| Andy | We're using the Perl 5 ccflags, which is not appropriate. | ||
| nopaste | "particle" at 98.232.31.142 pasted "example of Parrot::Configure::Trace script and results" (319 lines) at nopaste.snit.ch/19996 | 21:05 | |
| Andy | what's the diff between $conf->data and $conf->options? | ||
| nopaste | "coke" at 72.228.52.192 pasted "has to be one of these config modules" (14 lines) at nopaste.snit.ch/19997 | ||
| particle | better would be to use ->diff_data_c | 21:06 | |
| Coke | options == command line args. | ||
| (i think) | |||
| Andy | seems to me that if we pass in cc , we know we should not use ccflags or ccwarn | 21:07 | |
| Coke | Andy: check config/init/defaeults | ||
| (defaults) | |||
| Andy | I am | ||
| Coke | line 96 is the culprit, I think. | 21:08 | |
| Andy | yes | ||
| but | |||
| what do we change it to? | |||
| let me make my patch and see what you think | |||
| nopaste | Someone at 12.47.12.130 pasted "+ my $cc_option = $conf->optio" (15 lines) at nopaste.snit.ch/19998 | 21:11 | |
| Andy | running a build. | 21:12 | |
| darbelo | +1 | ||
| purl | 1 | ||
| Andy | boooy is icc slow on the ops | 21:13 | |
| dalek | rrot: r45028 | jkeenan++ | trunk/src (2 files): [codingstd] Make two files pass linelength.t. |
21:20 | |
| Andy | Do we aggregate release notes anywhere/ | 21:26 | |
| nopaste | "cotto" at 131.107.0.112 pasted "op usage during build and make test with +1 for each op" (1326 lines) at nopaste.snit.ch/19999 | ||
| cotto_work | Andy, NEWS? | ||
| Andy | yay, so happy | 21:27 | |
| is there a "make clean-only-the-C-files"? | 21:28 | ||
| cotto_work | what do you want to do? | ||
| Andy | only get rid of .o files, basically | ||
| lucian | Andy: is icc worth bothering with? | 21:29 | |
| Andy | lucian: Be more specific. | ||
| F | |||
| or | |||
| m | |||
| e | |||
| For me it is, because I use each different compiler like a different lint. | |||
| lucian | Andy: oh. which ones do you have so far? | 21:30 | |
| Andy | gcc and icc and sun | ||
| lucian | Andy: clang? | ||
| purl | clang is an entirely new C compiler | ||
| lucian | purl: shut up | ||
| purl | ;-( | ||
| lucian porposes to make purl deaf to anything but direct addressing | |||
| cotto_work | Andy, it looks like no, but it'd be trivial to add one that nukes $(O_FILES) | ||
| Andy | sure, I just didn't want to bother digging into makefiles if I didn't need to | 21:36 | |
| and | |||
| r | |||
| eal | |||
| ly | |||
| , | |||
| it'snot that big a deal | |||
| dalek | rrot: r45029 | petdance++ | trunk/config/auto/warnings.pm: added another variant on "ignoring option" |
||
| Andy | I wonder what it is that is doing that. | ||
| rrot: r45030 | petdance++ | trunk (2 files): Don't carry over ccflags and ccwarn from Perl 5 if we specify cc |
|||
| rrot: r45031 | petdance++ | trunk/src/debug.c: removed unused variables. Thanks, ICC! |
|||
| cotto_work | status | 21:37 | |
| purl | Since Tue Feb 16 10:19:41 2010, there have been 6465 modifications and 3351 questions. I have been awake for 30 days, 11 hours, 17 minutes, 28 seconds this session, and currently reference 830603 factoids. Addressing is in optional mode. | ||
| dukeleto | skynet? | 21:40 | |
| purl | skynet is on line, and helping me learn new tricks or img105.imageshack.us/img105/4651/whosbowlla0.jpg | ||
| dalek | rrot: r45032 | petdance++ | trunk/src/debug.c: consting local vars |
21:52 | |
| Andy | GOOD GOSH AM I AWESOME OR WHAT | ||
| cotto_work | what you need to do is use git-svn and drop a boatload of commits all at once | 21:54 | |
| Andy | why? | 21:55 | |
| oh wait, here's another | |||
| oh, look, I think I foud another bug, too. | 21:57 | ||
| look at Parrot_io_socket() in src/io/socket_api.c | |||
| new_socket is never used. | 21:58 | ||
| japhb | Anyone remember how to change the list of load_bytecode search directories from within PIR? | 22:02 | |
| Andy | Coke: Thanks so much for your work on the config stuff. Gives me so much to work with. | 22:07 | |
| dalek | rrot: r45033 | petdance++ | trunk/src/runcore/cores.c: removed unused var n_pics |
22:09 | |
| rrot: r45034 | petdance++ | trunk/src/io/socket_api.c: Add a comment about potential bug |
|||
| Austin_away | It's 2 or 3rd sub-entry behind the iglobals lib dirs array | ||
| dalek | rrot: r45035 | petdance++ | trunk/src/pmc/exception.pmc: localizing cur_ctx |
||
| Austin_away | japhb: ^^ | ||
| japhb | Austin_away, yeah, I'm finding it in src/library.c | ||
| Austin_away | get-interp[ lib-paths == 7] [ 2 or 3 ] | ||
| japhb | Nodnod, thx | 22:10 | |
| Reading the source, I was worried the arrays were fixed length, but that's just for the top level. | |||
| There's a lot of commented out code in this file. | 22:11 | ||
| Oh, NM, brain fart | |||
| Austin_away | I'm wrong. It's 1. | 22:12 | |
| include, library, dynext, lang, extensions | |||
| So 5 interp = getinterp ; lib_paths = interp[7] ; library_paths = lib_paths[1] ; push library_paths, '/opt/parrot/lib' | 22:14 | ||
| davidfetter | wow, the colors :) | ||
| Austin_away bows. | |||
| darbelo | We don't have cute PIR :MACRO_NAMES for those? | 22:15 | |
| Austin | Sure. But I don't do pir. | ||
| japhb | darbelo, can't use PIR macro names from NQP. Which SUCKS. | ||
| Austin | Heh. | ||
| darbelo | Indeed. | ||
| Austin | You said pir, not nqp. | ||
| Had I but known... | 22:16 | ||
| japhb | Austin, PIR is just desugared NQP, as far as I'm concerned. ;-) | ||
| Austin | I'd have worked in a Kakapo plug... | ||
| Hey, japhb, you're a smart guy. | |||
| I'll ask you this. | |||
| japhb | Austin, you are unfortunately talking to the one person who *can't* use Kakapo. | ||
| Austin | There's a Program class. | ||
| japhb | (Well, unless you manage to get it in core) | 22:17 | |
| Austin | It gets extended by some code. | ||
| NQPrx doesn't support :main. | |||
| japhb | yeah, annoying that | ||
| Austin | What's the sugariest way to trigger some parent-class method from not-in-an-init-block source code in the child file. | ||
| Right now, I'm using 5 Opcode::get_root_global(pir::get_namespace__P().get_name).MAIN; | 22:19 | ||
| I'd like to get it closer to 0 bytes. | |||
| japhb | heh | ||
| japhb thinking | |||
| purl | thinking is see `made of meat` | ||
| Austin | The kicker is needing to go through the proto-object to get to the method. | 22:23 | |
| japhb | I've got a couple proto-ideas, but I need to see the context. repo link? | ||
| Austin | code.google.com/p/kakapo-parrot/wiki/UnitTest | 22:24 | |
| That's context. | |||
| The repo is at kakapo? | |||
| hmm | |||
| kakapo? | |||
| purl | hmmm... kakapo is a program framework, runtime library, and collection of useful functions for NQP programs. or See code.google.com/p/kakapo-parrot/ for documentation and issue tracking, or gitorious.org/kakapo for source code. | ||
| dalek | rrot: r45036 | petdance++ | trunk/src/io/api.c: consting locals |
22:25 | |
| rrot: r45037 | petdance++ | trunk/compilers/imcc/symreg.c: removed unused var i in int_overflows() |
|||
| rrot: r45038 | Util++ | trunk/t/codingstd/c_parens.t: [t] c_parens.t - Fixed lurking sort bug - s/cmp/<=>/ |
|||
| Austin | Hmm | 22:26 | |
| I could defined a sub in Testcase that does the lifting, and then export it so that it shows up when the user does use(Testcase). | 22:27 | ||
| That works. | |||
| japhb | A decent idea | ||
| That gets you to 0. | |||
| I was still thinking about golfing. | 22:28 | ||
| Austin | Well, it doesn't get me to 0. | ||
| The user still has to say TEST_MAIN() or whatever. | |||
| MAIN() | |||
| japhb | (And slowly, since I've got distractions on this end) | ||
| Austin | But 6 is very much less than the other. | ||
|
22:32
kid51 joined
|
|||
| japhb | You know, looking at this template, the top INIT block seems unnecessary, except a single load_bytecode. | 22:34 | |
| Austin | Is there an env hash from nqp? | ||
| japhb | It appears to be just for embedding a copy of Kakapo inside another project, yes? | ||
| Austin | It's to load the library from a standalone file. | 22:35 | |
| japhb | I get ENV as: pir::root_new__PP(< parrot Env >) | ||
| Austin | So I can say "t/TestFoo.nqp" and have it self-load | ||
| Which is about like my $env | |||
| japhb | Right, but the normal case is that Kakapo is installed into Parrot, right? | 22:36 | |
| Austin | For me, no. | ||
| japhb | Sure, while you're working. | 22:37 | |
| I'm saying, the *users* of Kakapo. | |||
| Austin | :) | ||
| japhb | Like, well, P-L-A, for example. | ||
| Austin | There's two so far, myself and Whiteknight. | ||
| I think he's got it installed. | |||
| kid51 | tewk ping | ||
| Austin | So he gets to do what? load_bytecode(kakapo) ? | ||
| japhb | Yeah, I think it would go like: | 22:38 | |
| Wait, let me gist this. | |||
| gist.github.com/337002 | 22:39 | ||
| Austin sings, "Why can't we give ourselves one more chance..." | 22:40 | ||
| Heh. That definitely won't work. | |||
|
22:40
fperrad joined
|
|||
| Austin | Testcase is defined by the library. | 22:40 | |
| japhb | Ah, duh, the class reference | 22:41 | |
| japhb clearly not at full power | |||
| Austin | What does load-language do that I thought it needed to be in there? | ||
| Oh. | 22:42 | ||
| Yeah, for compiled bytecode files. | |||
| japhb | I have no idea why you're using that, actually. | ||
| Austin | Because kakapo *also* works as a stand-alone runtime. | ||
| :) | |||
| just link with krt0 | |||
| (well, pbc_merge) | |||
| darbelo | That's... a good way to find parrot bugs. | 22:43 | |
| japhb | heh | ||
| Austin | Heh. | ||
| I already found 'em, darbelo. Got a bunch of karma from cotto, too. | |||
| cotto_work | I don't trust that cotto guy. | 22:44 | |
| Austin | Yeah, he's got shifty keys... | ||
| japhb | Austin, so you're saying what's at that gist now is the minimum? | 22:45 | |
|
22:45
snarkyboojum joined
|
|||
| darbelo | Austin: You haven't found them all. | 22:45 | |
| Austin | It's a little less than the minimum. | ||
| The init block has to split, to get the lib loaded before the class decl. | |||
| japhb | Why? | ||
| Austin, reload -- I already made that change. ;-) | 22:46 | ||
| Austin | Oh, sorry. | ||
| japhb | np | ||
| Austin | Yeah, that looks pretty good. | ||
| (For everyone but me. :-( | 22:47 | ||
| japhb | Does UnitTest::Assertions require UnitTest::Testcase? | 22:48 | |
| Austin | Yeah, but it doesn't (re) export it. | ||
| japhb | Oh sure, I just wondered if they could be reversed. | 22:49 | |
| Austin | Yeah. | ||
| japhb | Well, hmm, there's no reason the call to MAIN() couldn't go inside the INIT block, just to cut down on visual noise, right? | ||
| Austin | I'm not sure that's true. Give me a moment to think about it. | 22:50 | |
| Okay, yeah. For a testcase template (but definitely *not* for the general case) you could move it up. | 22:51 | ||
| japhb updates the gist | 22:52 | ||
| Austin | Here's a q: that shebang with just the program name, does that actually work for anyone? | 22:53 | |
| japhb | Hmmm, you could wrap UnitTest::* into UnitTest::All (like Ovid's Perl 5 Test::Most sort of thing), and have UnitTest::All not only do all the exports, but call MAIN() for you. | 22:54 | |
| Yes, it's a path search. | |||
| Though I think #!/usr/bin/env parrot-nqp would be better for that | |||
| Austin | Doesn't work for me. | ||
| which parrot-nqp returns /usr/local/bin/parrot-nqp, but #! parrot-nqp fails. | |||
| japhb | What about with no space? | 22:55 | |
| darbelo | #!/usr/bin/env parrot-nqp | ||
| japhb | Yeah, darbelo, that's what I've started using recently, | ||
| Austin | bad interpreter | 22:56 | |
| japhb | because it doesn't export my concept of filesystem layout to everyone. :-) | ||
| Austin, huh. Well, the env version is more 'standard' anyway | |||
| gist refreshed again. | 22:57 | ||
| Just showing what the golfing help could do. | |||
| s/help/helper module/ | |||
| Austin | > In practice, env must not be a script, because the #! mechanism usually accepts only binary executables | ||
| dalek | rrot: r45039 | petdance++ | trunk/config/auto/warnings.pm: removed the ICC compiler options that silence many of the warnings. |
22:58 | |
| rrot: r45040 | petdance++ | trunk/compilers/imcc/instructions.c: Remove conflict between loop variables in and out of a scope |
|||
| rrot: r45041 | petdance++ | trunk/src/pmc/scheduler.pmc: consting |
|||
|
22:58
Whiteknight joined
|
|||
| darbelo | petdance++ # Magical consting robot | 22:58 | |
| Austin | Except that it is a binary.. | 22:59 | |
| darbelo | Austin: If env turns ut to be a script... Go get a real operating system. | ||
| It'll cut down on your overall grief. | 23:00 | ||
| Andy | darbelo: Thanks. | ||
| darbelo finally make the Andy -> petdance connection. | |||
| Andy | I don't understand Parrot at all, but I understand C internals and project handling. | 23:01 | |
| darbelo | Keeping variable properly const-ed isn't something we care about most of the time. It's good to see someone clean that up every once in a while. | 23:03 | |
| japhb goes back to hacking Plumage ... | |||
| Whiteknight | Andy: There isn't much to understand. Parrot is a large pile of mistakes, and some of the wonderful fixes we're slowly making for them :) | 23:04 | |
| Austin | Okay, exec(2) doesn't path search... | ||
| So env it is. | |||
| Andy | darbelo: That's what us cage cleaners are for. | ||
| japhb | Austin, I may have been remembering what happens when Perl 5 is called on a script that doesn't have 'perl' in the shebang line | 23:06 | |
| er, perl5, I should say. | |||
| Here it is: 'If the #! line does not contain the word "perl", the program named after the #! is executed instead of the Perl interpreter. This is slightly bizarre, but it helps people on machines that don't do #!, because they can tell a program that their SHELL is /usr/bin/perl, and Perl will then dispatch the program to the correct interpreter for them.' | |||
| Once again: Perl 5 compensating for platform stupidity. | 23:07 | ||
| cotto_work | That sounds like a really fun platform. | 23:08 | |
| Austin | I have a hard time imagining a scenario where that is valuable. | ||
| japhb | Clearly someone wanted it. | ||
| Austin | It sounds like somebody had a lot of time, and didn't want to work on any perl bugs... | ||
| darbelo | Here's a nickel kid... | ||
| japhb | heh | ||
| Austin | Wow! | 23:10 | |
| darbelo is one of those condescending unix users. | |||
| davidfetter | heh | ||
| Austin | It's amazing what you can accomplish when you drop your wireless keyboard on the floor... | ||
| japhb | darbelo, do you have the beard to match? | ||
| Austin: Write Shakespeare? Solve the Halting Problem? | |||
| Austin | Darbelo only _thinks_ he's one of those condescending unix users.. | ||
| darbelo | Yep, I just lack the suspenders. | 23:11 | |
| Austin | japhb: It's more like a little bit of line noise in each of several windows... | ||
| But since I'm doing NQP, it's sometimes an improvement... | |||
| japhb actually knows someone who both *is* and *looks* exactly like a classic Unix guru -- it's a bit unnerving. Thankfully, not condescending. | 23:12 | ||
| Come to think of it, I know *two*. One of them is a bit condescending, actually. ;-) | 23:13 | ||
| dalek | rrot: r45042 | petdance++ | trunk/compilers/imcc/pbc.c: removed unused var cur_name. Thanks, ICC! |
23:14 | |
| rrot: r45043 | petdance++ | trunk/src/embed.c: Changed an internal i variable to be j, so as to avoid shadow conflict |
|||
| rrot: r45044 | petdance++ | trunk/config/auto/warnings.pm: Turn off a noisy ICC warning |
|||
| rrot: r45045 | petdance++ | trunk/src/hll.c: properly localize some vars to avoid shadow declarations |
|||
| Andy | boy, is this behind. | ||
| dalek | rrot: r45046 | petdance++ | trunk/config/auto/warnings.pm: disabling more annoying warnings, plus notes about them |
||
| japhb | Andy, what is the 'shadow conflict' referred to in r45043? | ||
| Andy | int i; if ( ... ) { int i; } | 23:16 | |
| japhb | Ah! | ||
| Andy | it's not a conflict, but potentially confusing. | ||
| japhb | Variable redeclaration in enclosed scope. | ||
| Andy | yeah | ||
| What both gcc and icc refer to as shadowing a previous declaration. | |||
| japhb | OK, just didn't know the term | ||
| nod | |||
| Andy | ok, gotta go grab some grub. | 23:17 | |
|
23:26
payload joined
23:27
payload joined
|
|||
| dalek | rrot: r45047 | petdance++ | trunk/src/oo.c: Renamed a local to stop shadowing. Changed a check of a PMC to use the proper PMC_IS_NULL. |
23:31 | |
|
23:32
payload1 joined
|
|||
| Coke | Andy: you're quite welcome. | 23:42 | |
|
23:46
Psyche^ joined
|
|||
| Coke | msg kid51 - would '.' be sufficient there in place of cwd() ? | 23:46 | |
| purl | Message for kid51 stored. | ||
| Coke | msg kid51 (r45048, that is) | 23:47 | |
| purl | Message for kid51 stored. | ||
| dalek | rrot: r45048 | jkeenan++ | trunk (3 files): [buildtests] t/tools/ops2pm/05-renum_op_map_file.t was failing since r. lib/Parrot/OpsRenumber was problem. Moving this assignment to lib/Parrot/Ops2pm/Base.pm (a) improves flexibility, (b) places assignment in same location as similar values, (c) enables test to pass once again. |
23:48 | |
| kid51 | Coke: Will investigate. Your reason for this approach is ...? | 23:49 | |
| Coke | to avoid sticking the build path anywhere else. | ||
| actually, nevermind. once we actually add a build path that isn't ".", it'll have to change either way. | 23:50 | ||
| no point in changing it twice when once will do. =-) | |||
| kid51 | Test still passes with '.'; running 'make test' | 23:51 | |
| Coke: I tried a naive approach to TT #1516: simply having a command-line option override the build_dir setting in config::init::defaults. | 23:52 | ||
| dalek | rrot-plumage: 4f17f7d | japhb++ | (8 files): Reduce use of src/lib/ when referring to .pbc's |
23:53 | |
| Coke | I imagine there is a TON of code that assumes '.' | ||
| kid51 | It didn't work. Build failed at miniparrot, something like "Can't find -lparrot" | ||
| Coke: Probably, though I've generally been averse to it in the stuff I've written. | |||
| Coke | I'd throw what you have so far into a branch, we can hack on it until it works. | ||
| kid51 | K | ||
| darbelo | dukeleto: ping | 23:59 | |
| dukeleto | darbelo: pong (but gotta run in a minute) | ||