|
www.parrot.org | Parrot 1.6.0 "half-pie" released: feel free to tear out the JIT! | Testing priorities: Exception and MultiSub Set by moderator on 15 September 2009. |
|||
|
00:04
mattp joined
00:16
patspam joined,
rhr joined
|
|||
| dalek | kudo: fed7b0e | pmichaud++ | build/Makefile.in: Add Mapping.pm to setting (missing from b29506b commit). |
00:18 | |
|
00:21
mattp joined
00:22
theory joined
00:23
sri joined
00:25
kyle left
00:30
clubs joined
|
|||
| clubs | cotto: Haiku doesn't have a /usr/, there is /boot/develop/headers/posix/time.h which may help | 00:34 | |
| cotto_work | clubs, is there anything that mentions CLOCK_REALTIME or other similar #defines there? | 00:36 | |
| I looked through what I got from svn and didn't find anything useful, but I don't really know what I was looking at. | 00:37 | ||
|
00:44
dukeleto joined
|
|||
| dukeleto | 'ello | 00:45 | |
| cotto_work | 'i | ||
| cotto_work is looking forward to talk like a pirate day this Saturday. | 00:46 | ||
| szbalint | ooh | 00:51 | |
| I mean | |||
| Yarrr | |||
| clubs | cotto: Can't seem to find anything with that in it and grep isn't turning up anything helpful | 00:53 | |
|
00:53
kid51 joined
|
|||
| dalek | kudo: c52c780 | pmichaud++ | perl6.pir: Work around inferior loop problem causing segfault on exit. |
00:54 | |
|
00:55
kyle_l5l joined,
darbelo left
00:59
TiMBuS joined
01:01
jrtayloriv joined
|
|||
| cotto_work | clubs, it sounds like falling back to gettimeofday might be necessary | 01:03 | |
|
01:06
zak_ joined
|
|||
| clubs | cotto: so it won't be too difficult to fix? | 01:12 | |
| chromatic idly wonders if he can convince fakecutables to run all :init and :load subs in the frozen PBC but delay execution until the C driver starts it. | 01:13 | ||
| Hm, if I do something before calling Parrot_runcode()... maybe... | 01:16 | ||
| Coke stares at this last apply bug. | 01:17 | ||
| cotto_work | clubs, nope. It'll probably require some modifications to the configure system to allow for haiku-specific stuff, but it'll be easy after that. | 01:18 | |
| it'd be great to have Parrot running on Haiku before Haiku's official release | 01:20 | ||
| it appears to run perl 5 fine, so Parrot shouldn't be much of a stretch | 01:22 | ||
| cotto_work decommutes | 01:25 | ||
| jrtayloriv | Note: Do not pick your nose after dicing Habenero peppers. | 01:27 | |
|
01:29
hachi_ joined
01:30
Austin joined
|
|||
| Austin | NotFound, WhiteKnight: ping | 01:30 | |
| chromatic | Hm, 7.82% of the time spent running "Hello, world!" in Rakudo is the time spent *running* the program. The rest is Parrot and (mostly) Rakudo startup. | ||
| kyle_l5l | jrtayloriv, probably the only safe thing to do is just cut off your hands. | ||
| Austin | Well, I'm sure you'll be able to eke out another 0.18% or so... | 01:31 | |
| clubs | cotto: Okay, cool :) | ||
| jrtayloriv | kyle_l5l, Note: Do not cut off your hands. | ||
| :) | |||
| chromatic | A persistent Rakudo could give the spectests an order of magnitude performance improvement. | ||
| Austin | No self-dismemberment in the main channel. | ||
| chromatic | More likely, four to five times improvement. | 01:32 | |
|
01:32
zak_ joined
|
|||
| pmichaud | we could potentially also improve things by making better use of :immediate subs | 01:33 | |
| unfortunately, those have their own issues (as noted in other conversations on this channel :) | 01:34 | ||
| chromatic | Fakecutables could stop before *running* the code, then listen on a pipe or a socket for incoming command lines, then fork() off kids to run those command lines. | ||
| I mean "Run Rakudo with those command lines". | 01:35 | ||
| pmichaud | yes, that would work. but it feels unclean somehow. | ||
| chromatic | Unclean? | ||
| purl | Unclean is a rule which matches malformed packets, i.e. XMAS packets, and the like | ||
|
01:36
snarkyboojum_ joined
|
|||
| chromatic | search.cpan.org/~msergeant/PPerl-0.25/ | 01:36 | |
| pmichaud | ideally I think we want Parrot HLLs to be able to run quick without a persistent model | ||
| szbalint | it would probably cause weird things because tests usually rely/assume a clean state, I don't think you want to see one part of the suite causing problems in another | ||
| ah, fork | 01:37 | ||
| never mind :) | |||
| I should know better than to blabber at 3am :S | |||
|
01:38
snarkyboojum__ joined
01:40
rhr joined
|
|||
| cotto | hi | 01:43 | |
| chromatic | I'd like to see a faster HLL without a persistent model, but if we can quadruple the speed right now.... | 01:44 | |
| cotto | it'd make the spectest scream | 01:45 | |
| Austin | Where is VTABLE_get_pointer defined? | 01:58 | |
| $PARROT/include/parrot/vtable.h - nevermind | 01:59 | ||
| cotto | there | 02:00 | |
| Austin | Hmm. There's not a lot of room for error in that macro. :( | 02:02 | |
| Cotto, are you any good with parrot stack dumps? | 02:04 | ||
| dukeleto | austin: what are you dealing with? | 02:05 | |
| Austin | I've got a segfault that doesn't seem to be inferior-runcore related. | ||
| It's dismayingly consistent in 1.6. | |||
| nopaste.org/p/a1QSCmLPqb | 02:06 | ||
| I'm curious about #13 - the gobbledegook in the args - is that normal? | 02:07 | ||
| dukeleto | Austin: i haven't seen anything like that before | 02:10 | |
| Austin | Neither have I. :) | ||
| What are you talking about, though? #13 in particular, or a segfault in the Capture/Hash PMCs? | 02:11 | ||
| dukeleto | austin: the odd crap in #13 | ||
| Austin | Okay. | ||
| dukeleto | Austin: perhaps memory corruption? | ||
| Austin | So that's not a string of opcodes or something? | ||
| There can't be memory corruption. Parrot is a virtual machine. C'est impossible! | 02:12 | ||
| Does parrot use the upper bits of pointers for anything? | 02:17 | ||
| dukeleto | Austin: i can't tell what irony level you are operating on ;) | ||
| Austin | :) | ||
| Take a look at this: nopaste.org/p/aWTsPzhFgb | 02:18 | ||
| IT's a "full" backtrace. | 02:19 | ||
| Notice that all the function addresses are 0xb7...., while most of the data seems to be at 0x8.... | |||
| But in #1, #2, #3, and #4, the pmc parameter is 0xb7... | 02:20 | ||
| Coke fixes [apply], mostly. | 02:21 | ||
| Austin | When in doubt, svn update. | 02:26 | |
| Coke | gah, all that for only 13 more spec tests. | 02:27 | |
| dukeleto | Austin: or git svn rebase :) | 02:29 | |
|
02:36
zak_ joined
02:48
janus joined
|
|||
| dalek | rtcl: r737 | coke++ | trunk/runtime/builtin/proc.pir: cleanup PIR |
02:50 | |
|
02:53
dukeleto joined,
rg1 joined
|
|||
| cotto | (12*140)/15 | 02:53 | |
| purl | 112 | ||
| cotto | Austin, how do you trigger that? | 02:54 | |
| Austin | Trigger what? | ||
| purl | Trigger is cool | ||
| Austin | The segfault? I compile some code. | ||
| dalek | rtcl: r738 | coke++ | trunk/src/macros.pir: add shortcut macro for creating a TclDict |
02:55 | |
| rtcl: r739 | coke++ | trunk/runtime/builtin/proc.pir: more PIR cleanup |
|||
| rtcl: r740 | coke++ | trunk/ (5 files): allow anonymous tclprocs, enable [apply] |
|||
| cotto | Austin, like any code? | 02:56 | |
| Austin | I won't guarantee that, but it's pretty short - I'll nopaste it to you. | ||
| cotto | please do | ||
| Austin | This works: nopaste.org/p/aUbG62ARZ | 02:57 | |
| cotto | and by "works" you mean "doesn't work"? | ||
| ;) | |||
| Austin | Yep | ||
| Here's the circumstance: | 02:58 | ||
| The parser runs to completion, and the outermost target does a "make $past" on a tree of PAST nodes that get passed into the PAST->POST compilation step. | 02:59 | ||
| cotto | It's been forever since I've built Close. | ||
| Austin | I have a function that "fakes" an identical tree -- at least identical according to the output of the DUMP function. When I replace the "built" PAST tree with the "fake" PAST tree, the segfault goes away. | 03:00 | |
| cotto | it explodes nicely | 03:01 | |
| Austin | So I'm pretty convinced that some of the shenanigans I do inside the parser -- adding and removing nodes, cross-linking things, copying, whatever -- are dorking up the innards of some function. | ||
| cotto | actually, it gives a pir-level error | ||
| too few arguments passed (0) - 2 params expected | |||
| (plus pir backtrace) | 03:02 | ||
| Austin | I just bumped to 106. Try updating. | ||
| cotto | btw, it's nice to see make -jn working | 03:03 | |
| Austin | What's make -jn? | ||
| Ahh. paralle. | 03:04 | ||
| Coke | like -j, but as many as possible. | ||
| Austin | l | ||
| Coke | er, no. | ||
| "like -j, but with only n" =-) | |||
| cotto | btw, make realclean is a little too clean. It clobbered the test file I was using. | ||
| Austin | Rofl. What were you using? | ||
| cotto | crashy.c | 03:05 | |
| dalek | ose: r106 | Austin++ | trunk/ (10 files): Checkpoint: segfault problems |
||
| Austin | Hmm. That's probably a built-in. I don't think I set it up to delete .c files. | ||
| cotto | Austin, Lexical '@dest' not found | ||
| Austin | Yips. | ||
| Yipes. | |||
| cotto | you're building with the 1.6.0 release, aren't you? | 03:06 | |
| Austin | Yes, with 41308, as of a couple minutes ago. | ||
| Let me rebuild, see what I get. | |||
| No such problem. | |||
| Is this during the make of the compiler, or when trying to compile the test code? | 03:07 | ||
| Did you rebuild the makefile? | 03:08 | ||
| cotto | yup | ||
| make realclean && perl Configure.pl | 03:09 | ||
| Austin | Okay. Is this a building-the-compiler error, or a running-the-compiler error? | ||
| dalek | rrot: r41311 | jkeenan++ | trunk/t/compilers/imcc/syn/macro.t: NotFound++ solved the problem, so am un-TODO-ing the test. Cf.: |
||
| cotto | bbs; phone | 03:10 | |
| Coke | IWBNI if your config option was --parrot-config instead of --parrot_config | ||
| kid51 | Smolder down ... again! | 03:12 | |
| Coke | I can build close on feather, but make test is sloooow. | 03:13 | |
| kid51 must sleep | |||
| purl | $kid51->sleep(8 * 3600); | ||
| Austin | Coke: also, it doesn't even work a little bit. | ||
| Coke | should I expect 'make test' to pass anything? | 03:14 | |
| Austin | I'm rewriting things underneath, and pretty much none of the tests run. (And everything is sloooooow.) | ||
| Coke | k. | ||
| I can at least report it builds, then. =-) | |||
| Austin | :) | ||
| There's that bright side we were looking for. | |||
| cotto | back | 03:16 | |
| pmichaud | cla? | 03:17 | |
| purl | i think cla is Contributor License Agreement or www.perlfoundation.org/contributor_..._agreement or www.parrot.org/foundation/legal or www.parrot.org/files/parrot_cla.pdf | ||
| cotto | Austin, part of BUILD_CLEANUPS is *.c | 03:18 | |
| any reason for that? | |||
| Coke | anyone with makefile fu, I could use a hand with code.google.com/p/partcl/issues/detail?id=111 | ||
| Austin | Cotto: Okay. I think that was provided by "create_language.pl" | 03:19 | |
| It looks like the current version does PMC_DIR/*.c instead. | 03:20 | ||
| (current version of create_language, that is.) | |||
| dalek | kudo: 2eca8b3 | pmichaud++ | docs/announce/2009-09: More announcement updates for the release. |
||
| kudo: ea6448f | pmichaud++ | docs/ChangeLog: More ChangeLog updates. |
|||
| Austin | I'll take it out, since I don't do anything with .c/.o files. | ||
| cotto | my crashy.c file thanks you | ||
| Austin | Call it crashy.c= instead - you won't have the problem then. | ||
| :) | 03:22 | ||
| dalek | rtcl: r741 | coke++ | trunk/config/makefiles/root.in: remove crufty warning. |
||
| cotto | my installed parrot is behind the times | 03:23 | |
| time to get the new awesome | |||
| dalek | ose: r107 | Austin++ | trunk/ (3 files): Removed .c and .o files from BUILD_CLEANUPS - cotto++ |
03:24 | |
| dukeleto | the git-svn history tarball that is linked to on trac.parrot.org/parrot/wiki/git-svn-tutorial is in an odd state | 03:28 | |
| it is in bisecting mode with a bunch of files added to the index | |||
| i am going to add a tarball that is mirrored once a day | 03:29 | ||
| cotto | Austin, I'm not getting any segfaulty goodness. | 03:37 | |
| Austin | Really? Wanna switch computers? | ||
|
03:37
jjore joined
|
|||
| dalek | tracwiki: v18 | dukeleto++ | git-svn-tutorial | 03:38 | |
| tracwiki: trac.parrot.org/parrot/wiki/git-sv...ction=diff | |||
| Austin | Cotto: You're running 1.6.0? | ||
| cotto | svn latest | ||
| Austin | 'k | ||
| cotto | I get a complaint about @dest not being defined | ||
| Lexical '@dest' not found | 03:39 | ||
| Austin | Hmm. | ||
| Do a "find -name Array.pm" | |||
| on whatever dir you've got the source in | |||
| cotto | ./library/close/Compiler/Array.pm | ||
| Austin | Okay. | ||
| That's the only place there's an @dest | |||
| cotto | I'll see if the problem goes away with a serial build | 03:40 | |
| Austin | Have a look at the generated .pir file. | ||
| cotto | looks generated alright | 03:41 | |
| Austin | That's when you're trying to compile crashy.c, right? | 03:42 | |
| cotto | Hmmm. with the non-parallel build it seems to spend a lot of time doing nothing | 03:43 | |
| parrot close.pbc crashy.c | |||
| is that how I should be running it? | 03:44 | ||
| Austin | Should work. | 03:45 | |
| But is that when you get the @dest message? | |||
| cotto | now it segfaults. i was getting the @dest message when Close was built with make -jn | 03:46 | |
| n == 9 iirc | |||
| Austin | Woo-hoo! Segfaults rule. | ||
| cotto | sounds like the makefile dependencies need some work | 03:47 | |
| Austin | 41166 doesn't segfault. | 03:49 | |
| cotto | that produces a boatload of output | ||
| Austin | Yeah. | ||
| Also, it's hella slow. | |||
| (Because of the backtrace checking everywhere.) | 03:50 | ||
| dukeleto is messing around with blizkost | 03:58 | ||
| seen jnthn | 04:10 | ||
| purl | I haven't seen 'jnthn', dukeleto | ||
| dukeleto | seen jonathan | ||
| purl | jonathan was last seen on #parrot 1 days, 12 hours, 46 minutes and 46 seconds ago, saying: moritz: ^^ [Sep 15 15:16:31 2009] | ||
| Austin | seen vowels? | 04:11 | |
| purl | I haven't seen 'vowels', Austin | ||
| cotto | seen () | 04:12 | |
| purl | I haven't seen '()', cotto | ||
| cotto | seen me | ||
| purl | me was last seen on #perl 1 years, 131 days, 12 hours, 16 minutes and 21 seconds ago, saying: purl, karma me [May 8 15:48:29 2008] | ||
| dukeleto | msg jonathan shall we use Test::More for blizkost or something more fancy ? :) | ||
| purl | Message for jonathan stored. | ||
| dalek | rrot: r41312 | darbelo++ | branches/kill_jit (10 files): JIT is dead, except for the bit necessary to sustain JIT frames in x86. Linux x86 passes make test. |
04:31 | |
| dukeleto | how does an HLL get spiffy irc-updates on dalek? i would like to add blizkost | 04:32 | |
| Coke | something running on another VM on feather. I Think infinoid has the keys. | 04:33 | |
| dukeleto | Coke: cool | ||
| msg Infinoid i would like the add blizkost to dalek, so we get irc updates. pleez halp! | 04:34 | ||
| purl | Message for infinoid stored. | ||
| dukeleto | blizkost just passed its first test about 5 minutes ago | ||
| cotto | dukeleto, if you can send him an rss feed, he'll probably be able to get it done on the quickfast | 04:35 | |
| dukeleto | cotto: i see, said the blind man | 04:36 | |
| Coke | is it googlecode or github? | ||
| dukeleto | coke: github | ||
| so it should be easy | |||
| Coke | easy peasy, then. | ||
| Austin | Well, this is so stupefyingly cool that I can't stand it. segfault in malloc(). | ||
| Coke | if it's any consolation, partcl made gdb segfault a few weeks ago. | 04:37 | |
| dukeleto | Austin: here is a nice gold watch :) | ||
| Austin | Sweet. A gold watch. | ||
| When 1.7 comes out, nobody tell me. I don't even want to hear about it. | 04:38 | ||
| dukeleto | Austin: why so? | ||
| Austin | Because every time I try to update, there's this freaking tax. | 04:39 | |
| dukeleto | msg Infinoid github.com/feeds/jnthn/commits/blizkost/master is a feed of commits to master | ||
| purl | Message for infinoid stored. | ||
| Austin | And apparently because we've got Democrats in all the branches of government, the tax is getting higher and higher. | ||
| dukeleto | Austin: what are you working on? | ||
| Austin | Close. | ||
| A HLL. | |||
| Written with NQP and a little PIR. | |||
| NO C AT ALL. | |||
| dukeleto | Austin: whoa. | ||
| Austin | And still I get segfaults in malloc()? | 04:40 | |
| Grrrrrr. | |||
| purl | grrrrrr is there a command to test ipf rules | ||
| dukeleto | Austin: that is no fun. The whole point of not using C is not dealing with fucking malloc() | ||
| Austin | Maybe if I was dealing with malloc I wouldn't have these problems. | 04:41 | |
| I dunno. | |||
| Coke | how much memory are you using, OOC, when that happens? | 04:42 | |
| edge condition that results in segfault instead of PANIC? | |||
| Austin | What's OOC? | ||
| purl | somebody said OOC was Out of curiosity. or out of commission or out of control or out of cocaine or out of context or Out of Character | ||
| Austin | Ah | ||
| I dunno. | |||
| dukeleto | Austin: i can try to help with PIR issues, but I am not much help with NQP. Are your tests at least deterministically failing in the same places? | 04:43 | |
| Austin: where is your repo? | |||
| Austin | Duke: The problem occurs after my compiler generates as PAST tree and hands off to PCT for the follow-on stages. | 04:44 | |
| Coke | is there a better way to figure out my caller depth than by calling interp['lexpad';N] until it throws an error? | 04:45 | |
| Austin | Right now I'm crossing revisions with a fairly simple parse, but it looks very much like there's some kind of memory corruption happening. | ||
| Coke: In my code I configure in a "starting point", and search the call chain until I find that sub name, then call that level 0. | 04:46 | ||
| But my code knows that the compiler is at the top of the chain. Unless your runtime library has a starting point, it may not work for you. | 04:47 | ||
| See code.google.com/p/close/source/brow.../Dumper.pm (line 171) | 04:50 | ||
| Coke | Austin: I think that will not work for x-HLL invocations. | 04:52 | |
| Austin | True. | ||
| nopaste | "coke" at 193.200.132.135 pasted "get_depth" (40 lines) at nopaste.snit.ch/17976 | 04:53 | |
| dukeleto | Austin: do you know when this issues started for you? what is the last known good parrot rev for close? | ||
| Austin | Coke: nopaste.org/p/a3Sdb1jNdb | 04:55 | |
| That is the code that chases up the chain. (parrotinterpreter.pmc) There doesn't seem to be a handy integer laying around with the number you want contained in it. :( | 04:56 | ||
| dukeleto: No. My development converged with 1.6 to produce the problem, but when I go back to 41166, a similar-but-not-identical problem exists. (Segfault in malloc vs. segfault in hash_clone, but still a segfault.) | 04:57 | ||
| dukeleto | blizkost passes most of the perl 5 base test suite. sweet! | 05:06 | |
| Coke | if I poke up in my call chain for a lexpad that doesn't exist, how can I retroactively put one in? | 05:07 | |
| (cannot create a LexPad without an initializer) | 05:10 | ||
| must I change all my .subs that could possibly have lex to say ":lex" ? | 05:15 | ||
| Austin | you mean put it in while its on the stack? | 05:16 | |
| I doubt that's possible. | |||
| Maybe you should just create a "fake" lex in each sub, in case. | |||
| .lex "$___never_used__ignore" | 05:17 | ||
|
05:17
jrtayloriv joined
|
|||
| Coke | Ew. I'll that. | 05:18 | |
| (try) | 05:19 | ||
| dukeleto | cognominal: ping! | 05:21 | |
| dalek | rtcl: r742 | coke++ | trunk/docs/spectest- (2 files): update spectest run for [apply] |
||
| Austin | msg whiteknight Hey, whiteknight, here's some sad news: nopaste.org/p/alGXnz4Md - seg fault in malloc(). Methinks this pretty much guarantees a GC bug, but maybe there's something else? | 05:25 | |
| purl | Message for whiteknight stored. | ||
| Coke | ok, using :lex on subs makes them have lexpads, whee. | 05:28 | |
| now how do I create a variable in a particular lexpad? | |||
| (say, one call frame up) | |||
| if I just do lexpad = interp['lexpad';1] \\n lexpad['$foo'] = 'bar', I get an exception. | 05:29 | ||
| (per the lexpad docs, that seems like it should work.) | |||
|
05:31
nathanmccauley joined
|
|||
| Coke | hurm. perhaps that's not the error I think it is. *handwave* | 05:31 | |
| Austin | What exception? | 05:32 | |
| purl | exception is probably from Email.pm not that code | ||
| Austin | no, exception is A reasonable response to an unreasonable situation. | ||
| purl | okay, Austin. | ||
| Austin | What exception? | ||
| purl | it has been said that exception is A reasonable response to an unreasonable situation. | ||
| Coke | Lexical '$foo' not found. | 05:34 | |
| hurm. now I'm getting it again. I think. | |||
| treed | Why the cap A? | ||
| Coke | except 'bar' is an 'Undef' PMC, and '$foo' is really '$Dir' | 05:35 | |
| TiMBuS | do i still have to email rakudo bugs in :/ | ||
| Coke | as I recall, rt never allowed web-submittal. | 05:36 | |
| hurm. I don't even really want lexicals, I think. | 05:37 | ||
| (though if I don't use find_lex and create_lex, I guess it doesn't matter.) | |||
|
05:41
theory joined
|
|||
| Coke | ah. I want DynLexPad, and that I can create by itself, I think. (and add things to on the fly) | 05:42 | |
| Austin | Coke: the lexpad.pmc does not support creating new symbol names, despite the blatant lie in the docs. | ||
| Coke | right, but dynlexpad does. | 05:44 | |
| Austin | Indeed it does. So you just need to hll-map the lexpad to dynlexpad, no? | 05:45 | |
| Coke | If :lex respects that, sure. | ||
| Austin | dukeleto: You still awake? | 05:47 | |
| dukeleto | Austin: indubitably | 05:48 | |
| Austin | Can you run this NQP? | ||
| nopaste.org/p/awKWmwXDQ | |||
| Coke | bah. tried "new 'DynLexPad'" where I find a null one, and that also complains that you can't create it that way. | 05:49 | |
| (so I have to try :lex and hll map and cross my fingers.) | |||
| Austin | dukeleto: Obviously, you'll have to call it from something. You could just add "bsu(); " to the bottom, I guess. | ||
| dukeleto | Austin: which command line args do you want? and any particular parrot rev/version? | 05:51 | |
|
05:51
uniejo joined
|
|||
| Austin | I assert that running bsu() will do something horrible - for me it's a segfault. Whatever current-ish version you have (1.5, 1.6) should be fine. | 05:51 | |
| Coke | Austin: holy crap, it kind of works. | 05:53 | |
| Austin | coke: What works? | ||
| The DynLexPad? Or the blow s*** up function? | |||
| Util | Does Parrot's IO system support string IO, also called "in-memory files"? Perl5 example: open($fh, '>', \\$variable); | 05:55 | |
| dukeleto | Austion: it segfaults on both darwin and linux. do you want some backtraces? or are you up to your ears in those ? | 05:58 | |
| Austin: with parrot 1.6 | |||
| Austin | Dukeleto: No, thanks. That is my "here is a reproduction of the problem" code for the TT. | ||
| purl | okay, Austin. | ||
| Austin | Confirming it on a real linux (tm) and Darwin is gravy. | 05:59 | |
| Coke | Austin: dynlexpad. | 06:00 | |
| purl | dynlexpad is gone :-) | ||
| Coke | no, dynlexpad is still there! | ||
| purl | okay, Coke. | ||
| Austin | Coke: Congrats. Does that mean you have [upvar] now? | ||
| Coke | Austin: I already /had/ upvar. | ||
| Austin | Really? | ||
| Then what is this about? | |||
| Coke | switching from a handrolled call chain to using parrots. | 06:01 | |
| Austin | Ahh. | ||
| Coke | (i had a hidden global called "call_chain" that I manually fiddled with every time I entered/left a tcl proc.) | ||
| Austin | Well, this ought to get you some mips back, then. | 06:06 | |
| msg cotto: Thanks for your help earlier. My segfault issue is now TT#1015. | 06:11 | ||
| purl | Message for cotto stored. | ||
| dalek | TT #1015 created by Austin_Hastings++: clone_p_p segfaults with self-referential Hash pmc. | 06:12 | |
| Austin | Dukeleto: Thanks very much for your help tonight. | 06:14 | |
| Coke | the docs for get_name on namespace seem to be wrong about how join works. patches welcome. | 06:15 | |
| dukeleto | Austin: no problem | ||
| Coke: are there any tests for it? | 06:16 | ||
| Coke: example? | |||
| Coke | dukeleto: join doesn't prepend a :: at the beginning. | 06:22 | |
| (unless that's returning an empty first element or something...) | |||
| Austin | Woot! Now I have trivial, inefficient code! Yesssss. | 06:33 | |
| cotto | That's great! Most of us have to settle for non-trivial inefficient code. | 06:35 | |
| Austin | Well, I was getting segfaults. This is a big step up. (Check your messages.) | 06:36 | |
| cotto | yup | ||
|
06:37
zak_ joined
|
|||
| Coke gives up for the night. | 06:38 | ||
| something isn't being stored or found properly now that I'm using lexicals, but I can't find the bug.) | 06:39 | ||
| cotto | night all | 06:44 | |
|
06:49
fperrad joined
|
|||
| dalek | kudo: 73a3952 | pmichaud++ | docs/spectest-progress.csv: spectest-progress.csv update: 436 files, 15497 (71.5% of 21671) pass, 0 fail |
06:56 | |
| kudo: 8effbb7 | pmichaud++ | docs/announce/2009-09: Update announcement with spectest results. |
|||
|
06:59
iblechbot joined
07:25
donaldh joined
|
|||
| jrtayloriv .sleep() | 07:25 | ||
|
07:29
HG` joined,
kyle_l5l left
|
|||
| dalek | a: 51f44d9 | fperrad++ | doc/running.pod: tips for lua-TestMore (git submodule) |
07:33 | |
|
07:35
Hunger joined
07:46
mberends joined
|
|||
| dalek | a: 7e18de2 | fperrad++ | doc/running.pod: now uses lua-TestMore |
07:47 | |
|
07:48
bacek joined
|
|||
| bacek | o hai | 07:49 | |
| dukeleto | bacek: hola | 07:53 | |
| purl | what's up, dukeleto. | ||
| bacek | dukeleto: aloha | 07:55 | |
| moritz | o hai | 08:04 | |
| mberends reported an issue on win32 with mingw | |||
| basically config_lib.pasm contains set P0["make"], "make" | |||
| mberends | line 242 | 08:05 | |
| moritz | even though no 'make' is available, just 'mingw32-make' | ||
| mberends: the line number is different here | |||
| mberends | ok | ||
| moritz | is there an easy fix for that? | ||
| mberends: does your `perl -V` mention mingw32-make? | 08:12 | ||
| mberends | moritz, I wrote a sub in rakudo/build/gen_parrot.pl that searches for various make commands in all PATH dirs, and then patches the config_lib.pasm output, but it does look like a band-aid | ||
| mberends walks to the problem machine... | 08:13 | ||
| moritz | aye, that's the job of parrot's Configure.pl | 08:14 | |
| config/inter/make.pm seems to consider mingw32-make | 08:15 | ||
| mberends | on the Strawberry installation, perl -V is does not mention make at all | 08:17 | |
| nor does the Linux one :( | 08:18 | ||
| moritz | inter::make - Is make installed...................................yes. | 08:19 | |
| that's what my Configure.pl says | |||
| but it doesn't mentioin which make | 08:20 | ||
| mberends running parrot's perl Configure.pl | 08:21 | ||
| same output: Is make installed...............yes | 08:22 | ||
| at the end: "You can now use `mingw32-make` to build your Parrot." This works, but not when called from Rakudo's Configure.pl --gen-parrot. | 08:25 | ||
| the Strawberry libs do not seem to include icu :-( | 08:26 | ||
| moritz | mberends: it looks like a bug to me that it still writes 'make' into config_lib.pasm - could you open a ticket for that? | 08:27 | |
| mberends | yes, no prob | ||
| moritz | any idea how I can reach a TPF webmaster? | 08:35 | |
| dalek | rrot: r41313 | bacek++ | trunk/src/pmc/sub.pmc: [core] Implement Sub.init_pmc |
08:37 | |
| szbalint | noc.perl.org ? | ||
| rrot: r41314 | bacek++ | trunk (2 files): [core][t] Implement Sub.start_offs and end_offs accessors. Add limited test for Sub.init_pmc |
|||
| rrot: r41315 | bacek++ | trunk (2 files): [core] Implement initialisation of n_regs_used in Sub.init_pmc. |
09:06 | ||
| rrot: r41316 | bacek++ | trunk (2 files): [core] Implement initialisation of Sub.arg_info in Sub.init_pmc |
|||
|
09:21
mokurai left
09:23
masak joined
|
|||
| dalek | rrot: r41317 | mikehh++ | trunk/src/pmc/sub.pmc: codetest fix - no trailing whitespace |
09:30 | |
| TT #7 closed by bacek++: remove 'infix' and 'n_infix' opcodes | 09:41 | ||
| bacek | Yay! No more unresolved single-digit tickets! :) | 09:43 | |
| mikehh | All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r41317 - Ubuntu 9.04 amd64 | 09:50 | |
|
09:55
ilbot2 joined
|
|||
| moderator | www.parrot.org | Parrot 1.6.0 "half-pie" released: feel free to tear out the JIT! | Testing priorities: Exception and MultiSub | ||
|
10:02
bacek joined
10:10
quek joined
10:16
MoC joined
|
|||
| dalek | a: a803ba4 | fperrad++ | (2 files): add a target spectest |
10:27 | |
| a: 7b762f8 | fperrad++ | config/makefiles/root.in: fix smoke |
10:40 | ||
|
10:41
riffraff joined
|
|||
| mikehh | rakudo (8effbb7) builds on parrot r41317 - make test PASS / make spectest (up to 28270) FAIL - Ubuntu 9.04 amd64 | 10:43 | |
| rakudo - t/spec/S05-capture/caps.t - Non-zero wait status: 11 - Parse errors: Bad plan. You planned 21 tests but ran 19 | |||
| rakudo - it passes ./perl6 t/spec/S05-capture/caps.t however - also | 10:45 | ||
| rakudo (8effbb7) builds on parrot r41312 - make test / make spectest (up to 28270) PASS - Ubuntu 9.04 amd64 | 10:46 | ||
|
10:50
ajia joined
10:51
payload joined
|
|||
| mikehh | rakudo - make t/spec/S05-capture/caps.t fails with the same error (ran both at least 3 times) | 10:55 | |
| cognominal | dukeleto: pong! | 10:58 | |
|
10:58
ajia_ joined
|
|||
| ajia_ | hello, everyone | 10:59 | |
| moritz | hello ajia_ | 11:00 | |
| ajia | I want write python code inline perl | 11:01 | |
| moritz | I don't know how far the pyhton compiler is, and if supports cross-language operations yet | 11:03 | |
| allison should now (but she's not online right now, it seems) | |||
| ajia | oh | 11:04 | |
| recently, I am writing a test architecture,but test case are multi-language implemented,so I want to write framework to support multi-lauguage test case | 11:05 | ||
| I want to know parrot if is a best road | 11:07 | ||
| thanks everyone | |||
| moritz | well, parrot does support cross-language loading | ||
| for example you can load ruby classes in Perl 6 (as far as Perl 6 and ruby are implemented on cardinal) | |||
| ajia | can you give me good suggestion? | 11:08 | |
| moritz | but that's the culprit - only a handful of languages are mostly or fully implemented | ||
| lua for example | |||
| ajia | what dose mean about 'lua'? | 11:09 | |
| I don't understand | |||
| moritz | there's a mostly complete lua compiler for parrot | ||
| ajia | I know | ||
| all right,I search gain, thank you very much | 11:10 | ||
| moritz | you're welcome | 11:12 | |
| cognominal | dukeleto: the point of my question is that 02-eval.t is Perl 6 code while the rest of the tests are Perl 5 code. | 11:13 | |
|
11:17
donaldh joined
11:20
fperrad_ joined
|
|||
| mikehh | going to do some i386 testing - bbl | 11:34 | |
|
11:39
kid51 joined
11:41
mikehh joined
|
|||
| dalek | kudo: 4de8215 | (Martin Berends)++ | src/builtins/globals.pir: [builtins/globals.pir] for ~/.perl6/lib use $HOMEDRIVE$HOMEPATH if $HOME does |
11:58 | |
|
11:59
Wolong joined
|
|||
| dalek | rrot: r41318 | coke++ | trunk/src/pmc/sub.pmc: Fix cut and pasteo in the docs. |
11:59 | |
|
12:07
Phurl joined
|
|||
| Phurl | hi all | 12:08 | |
| dalek | rrot: r41319 | fperrad++ | trunk/t/op/string.t: add a test that demonstrates TT #1007 in PIR |
12:10 | |
|
12:15
tetragon joined
12:26
whiteknight joined
12:27
bluescreen joined
|
|||
| whiteknight | good morning #parrot | 12:38 | |
| dalek | tracwiki: v14 | whiteknight++ | JITRewrite | 12:43 | |
| tracwiki: +link from fperrad++ | |||
| tracwiki: trac.parrot.org/parrot/wiki/JITRew...ction=diff | |||
|
12:47
bluescreen joined
|
|||
| Phurl | hi all | 12:48 | |
| moritz | good localtime() | 12:50 | |
| whiteknight | good localtime() moritz | 12:55 | |
| hello Phurl | 12:56 | ||
| I love waking up in the morning to see emails about segfaults | 12:58 | ||
| of course, clone_p_p is pretty naive and doesn't detect cycles, so it's to be expected | |||
| I'm actually surprised we didn't see any problems from here before | |||
|
13:02
iblechbot joined
13:04
ash_ joined
|
|||
| Tene | moritz: pynie does not support HLL interop. | 13:11 | |
| in either direction. | |||
|
13:12
hercynium joined
|
|||
| ash_ | is pynie still under active development? (thats the python one right?) | 13:29 | |
| moritz | code.google.com/p/pynie/updates/list says yes | 13:32 | |
| ash_ | thats cool, would be interesting if at some point in the future there is a way to pull stuff from one to another, i think there is already, but still | 13:34 | |
|
13:51
parrot-poke joined
13:53
ruoso joined
|
|||
| NotFound | fperrad: ping | 13:56 | |
|
13:57
payload joined
14:00
whiteknight joined
14:17
smash joined
|
|||
| smash | hello everyone | 14:17 | |
|
14:24
theory joined
|
|||
| fperrad | NotFound, pong | 14:26 | |
| NotFound | fperrad: What's the rationale for TT #1007? I don't see in string docs any reference on what to do with negative offsets. | 14:27 | |
| Coke | i had assumeed that parrot internals were using string[-1] expecting it to work. | 14:31 | |
| and that they should be updated to go from 0 instead. | 14:32 | ||
| (which is what his patch does.) | |||
| (the bug isn't in str_substr) | 14:33 | ||
| NotFound | Coke: the test added isn't about that. | 14:34 | |
| Coke | ah. | ||
| looks like fperrad expect it to work, but acks that it doesn't in the meantime. | 14:35 | ||
| fperrad | My problem is with load_language, | ||
| I think (wrong) that substr deals with negative index | |||
| Coke | I would say leave str_substr alone and don't add that test. | ||
| (but still apply the patch to load_language) | |||
| NotFound | I think we already discussed a proposal for str_substr about that, and been rejected | 14:36 | |
| fperrad | I wrote a test PIR because it's easier then in C | ||
| Coke | fperrad: do you have any docs that suggest that substr /should/ take negative indices? | 14:37 | |
| NotFound | Coke: You mean the patch that says "Just a workaround" ? | ||
| Coke | NotFound: yes. I'm not sure why the test was committed and the workaround not, when the workaround is the fix, and the test seems to be for something that isn't true. checking docs. | 14:38 | |
| fperrad | Coke, no doc | 14:39 | |
| Coke | then I'd ditch the test and apply the workaround^Wfix. | ||
| NotFound | Did we have some tests for load_language? | 14:41 | |
|
14:42
Psyche^ joined
|
|||
| Tene | NotFound: probably not. if you want to write them, you should be able to load_language 'parrot'. | 14:43 | |
| NotFound | And 'squaak' ? | ||
| Tene | is squaak part of the repository? | 14:44 | |
| NotFound | examples/laguages/squaak | ||
| (n) | |||
| Tene | It doesn't get installed to the language search path, so there's no way that the load_language opcode could find it. | ||
| So, no. | |||
| Coke | add that to "list of things to test post-install" | 14:48 | |
| pmichaud: is 51850 still todo ? | 14:49 | ||
| (RT) | |||
| Tene | Coke: nothing in examples/ ever gets installed, afaict | ||
| pmichaud | checking. | ||
| yes, still todo | 14:50 | ||
| whiteknight | pmichaud: so you are getting those segfaults on exit again? | 14:59 | |
| dalek | TT #1016 created by coke++: PIR line number wrong in stacktrace. | 15:00 | |
| whiteknight | Coke: you could have just said "IMCC does something wrong like always | ||
| " | |||
| pmichaud | whiteknight: I added the "exit 0" to rakudo and the segfaults disappeared. | ||
| whiteknight | Yay! I'm not crazy! | ||
| I'm not happy with that solution, but I'm not crazy to think that it would work | 15:01 | ||
| pmichaud | well, it is obviously just a workaround | ||
| dalek | rrot: r41320 | coke++ | trunk/t/compilers/imcc/syn/regressions.t: Ticket moved from RT to trac. |
15:02 | |
|
15:02
Andy joined
|
|||
| Coke | whiteknight: that ticket has a special place in my heart. :| | 15:03 | |
| pmichaud: that's the same workaround I needed to work around the inferior runloop problem I had for several years. | 15:04 | ||
| whiteknight | Good news: we are planning for a comprehensive fix. Bad news: it will take a while and a lot of effort to do this stuff right | 15:05 | |
| oh, and exception handlers are probably going to change in a significant backwards-incompatible way. | |||
| dalek | TT #1017 created by coke++: recognize the form of alternation | 15:07 | |
|
15:08
mikehh_ joined
|
|||
| NotFound | pmichaud: partcl is using the same workaround, maybe that makes you feel better ;) | 15:13 | |
| dalek | TT #1018 created by coke++: pir compiler must be reentrant | 15:18 | |
| rrot: r41321 | coke++ | trunk/compilers/imcc/optimizer.c: remove wontdo todo comment. |
15:24 | ||
| rrot: r41322 | coke++ | trunk/DEPRECATED.pod: update ticket reference for migrated ticket |
|||
| ash_ | Coke: do you have icu version 4.0 installed? your make is looking for that version for whatever reason, (this is john from the mailing list) | 15:27 | |
| Coke | ash_: hi john. | 15:34 | |
| dalek | rrot: r41323 | coke++ | trunk/runtime/parrot/include/hllmacros.pir: Ticket has migrated from RT to TT |
||
| Coke | yes. | ||
| $ icu-config --version | 15:35 | ||
| 4.2.1 | |||
| er, 4.x | |||
| not 4.0 | |||
| (that's the version that the config icu settings are pointing to.) | |||
| ash_ | your error message /usr/bin/ld: warning can't open dynamic library: | 15:36 | |
| > /opt/local/lib/libicudata.40.dylib implies its looking for 4.0 not 4.2, try reconfiguring it? | |||
| Coke | if it's pulling 4.0, it's doing so and then lying about what version it's trying to use. =-) | 15:40 | |
| smash | Coke: run make realclean | ||
| if you updated icu | 15:41 | ||
| Coke | i haven't updated icu. | ||
| I run realclean pretty much whenever I update. (inc. this time.) | |||
| ash_ | do a ls /opt/local/lib/libicu* and see if it lists 40 in there | 15:43 | |
| Coke | no, just 42. | ||
| ash_ | so when you make it you do get /usr/bin/ld: warning can't open dynamic library: /opt/local/lib/libicudata.40.dylib right? well it would seem that file doesn't exist... | 15:44 | |
| Coke | right. why is it even trying to use that file? | ||
| ash_ | beats me | 15:45 | |
| Coke | otool -arch all -l parrot shows libicuuc.42.dylib | ||
| ash_ | sounds like something is configuring itself wrong somewhere, i mean why would it like to that that lib unless somewhere something is calling for that lib | 15:46 | |
| Coke | (note that it's installable_parrot that has the wrong attempted linkage, not parrot) | ||
| build line is: | 15:47 | ||
| c++ -o installable_parrot \\ src/main.o src/install_config.o \\ -L/Users/coke/bird/lib -L/Users/coke/research/parrot/blib/lib -lparrot -lpth | |||
| read -lm -L/opt/local/lib -licuuc -licudata -lpthread -lm -lm -lgmp -lrea | |||
| dline -lintl -undefined dynamic_lookup -L/opt/local/lib | |||
| -> | 15:48 | ||
|
15:50
mikehh joined,
flh joined
|
|||
| dukeleto | cognominal: jonathan said that PIR-based tests are probably best, but tests in any language are better than no tests | 15:51 | |
| whiteknight | Tests in pure PIR should run faster then tests in Perl5+PIR too | 15:52 | |
| NotFound | Also, tests in pir are syntax checked even if TODOed | 15:53 | |
| That prevent bitrottened TODOs | 15:54 | ||
|
15:54
nopaste joined
|
|||
| flh | I have a question about Test;More: currently, the first argument of ok() is an int, which implies that when we do ok($P0), we call get_integer in $P0 instead of get_bool | 15:54 | |
| dukeleto | flh: interesting | 15:55 | |
| flh | shouldn't Test;More use a PMC argument instead, and call "istrue" on it? | ||
| dukeleto | flh: maybe a multisub. if the first arg is a PMC, call istrue. if not, treat it like a bool ? | 15:56 | |
| flh | without multisub, an integer would be automatically boxed to a PMC which has the same truth value | 15:57 | |
| what would be the benefit of a multisub then? | 15:58 | ||
| cognominal | dukeleto, ok. | ||
|
15:58
allison joined
|
|||
| pmichaud | it should take a pmc as an argument and be done with it | 15:59 | |
| taking an integer as an argument is a false optimization | 16:00 | ||
| dukeleto | what pmichaud said. | ||
| cognominal: do the eval test pass and run on your system? | 16:01 | ||
| flh: adding some tests about this to t/library/test_more.t is probably a good idea | |||
| cognominal | note that my tests are in Perl 6. I don't understand the BEGIN {} stuff you added. | ||
| flh | dukeleto, ok, I'll do that and send the patch on trac | 16:02 | |
| cognominal | dukeleto, before your modifs, they were ok when I runned the file thru rakudo perl 6 | 16:03 | |
| I still don't know how to run that thru harness | |||
| dukeleto | cognominal: i saw the "use v6", so I thought you your tests were using v6.pm. but now I realize that is how perl 6 identifies itself. So maybe we should just put all tests we write in perl 6 in t/perl6 or something, then I can selectively add them in the harness if a perl6 binary is found to run the tests. The harness is perl 5 | ||
| cognominal: it probably needs a shebang line like #!perl6 | 16:04 | ||
| cognominal | that would be nice | ||
| dukeleto | cognominal: ok, sounds like a plan. | 16:05 | |
| cognominal | also, on my mac, I got t/spec/base/term.t .... 1/7 sh: - : invalid option | 16:06 | |
| dukeleto | cognominal: yes, but the test still passes, right? it is TODOed | 16:07 | |
| cognominal | when I remove the BEGIN {} stuff, yes it does | 16:10 | |
| perl6 t/02-eval.t # when I call it like this | |||
| afk& | 16:11 | ||
| dalek | TT #1019 created by flh++: Make Test;More;ok and nok use a PMC argument | 16:18 | |
|
16:26
Austin joined
16:41
iblechbot joined
16:42
darbelo joined
16:44
mokurai joined
|
|||
| cotto_work | ohai | 16:47 | |
| davidfetter | hai | 16:55 | |
|
17:01
cognomore joined
17:02
zostay joined,
einstein joined
17:03
desertm4x joined
|
|||
| moritz | Coke: your comment on RT #39714 is self-referential instead of pointing to trac | 17:03 | |
| pmichaud | whiteknight: ping (phone) | ||
| purl | I can't find (phone) in the DNS. | ||
| pmichaud | whiteknight: ping | 17:07 | |
|
17:09
gaz joined
|
|||
| Coke | moritz++ | 17:17 | |
| NotFound: it doesn't really prevent bitrotted todos. failure is failure. | 17:19 | ||
|
17:24
jrtayloriv joined
|
|||
| dalek | a: b7e876d | fperrad++ | config/makefiles/root.in: set LUA_INIT |
17:47 | |
| a: 46ca7e1 | fperrad++ | config/makefiles/root.in: minor |
|||
|
17:53
joeri joined
18:00
chromatic joined
|
|||
| nopaste | "coke" at 193.200.132.135 pasted "why would this segfault?" (59 lines) at nopaste.snit.ch/17980 | 18:08 | |
| Coke | Do registers in PASM map directly to "physical" registers still? | 18:10 | |
| chromatic | I don't think they do. | 18:12 | |
| Coke | i left a comment on that ticket that they don't, but Iunno. | 18:14 | |
| the segfault dies with a context showing: | 18:19 | ||
| n_regs_used = {134950472 | |||
| so it looks like they still are directly mapped. | |||
| chromatic | n_regs_used is a pointer. | 18:22 | |
| Coke | ah | 18:23 | |
| I thought it meant "number of registers used". =-) | |||
| Coke ... someone already wrote these tests. damnit. | 18:24 | ||
| how do I remove a change that has been 'git commit'd but not 'git svn dcommit'd ? | |||
| (it's only one, so I can't do it via interactive rebase. | |||
| moritz | git reset --hard HEAD^ | 18:25 | |
| HEAD^ is the commit one before HEAD | |||
| Coke | danke. | ||
| cotto_work | The more I look into git, the more I want Parrot to switch to it. | 18:29 | |
| Austin | Cotto: why is that? | ||
| mikehh | All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r41323 - Ubuntu 9.04 i386 | 18:40 | |
|
18:40
tewk joined
|
|||
| tewk | ping pmichaud | 18:41 | |
| purl | I can't find pmichaud in the DNS. | ||
| pmichaud | pong | ||
| (purl: hint, pmichaud is in Texas, not in the DNS) | |||
| tewk | How would you compare and contrast Perl6 Grammars with PEG parsing? | 18:42 | |
| pmichaud | I don't know PEG parsing | ||
| diakopter | lengthily | ||
| tewk | Also are you aware of Regular-expression derivatives? | ||
| pmichaud | nope | 18:43 | |
| diakopter | Perl6 Grammars aren't necessarily scannerless, while PEG is, unless you just do it in two phases... Perl6 Grammars backtrack, whereas PEGs do not backtrack past a single alternation. | ||
| most PEGs don't have parametric patterns/rules, though the one I implemented did. | 18:44 | ||
| tewk | www.ccs.neu.edu/home/turon/re-deriv.pdf - Derivate regular expressions | ||
| I would call PGE scannerless though. | 18:49 | ||
| diakopter | sure; I'm referring to the distinction between token and rule | 18:50 | |
| pmichaud | perhaps you mean regex and token? | ||
| diakopter | yea, that :D | ||
| I'm a few years behind | |||
| or something. | 18:51 | ||
| tewk | So did "rule" get banished? I'm out of it too. | ||
| pmichaud | the difference between token and rule is handling of metasyntactic whitespace | ||
| diakopter | maybe not. sry for the noise :/ | ||
| pmichaud | the difference between regex and token is that tokens have backtracking disabled by default | ||
| Austin | Boy, I hate it when I compute the correct value for an attribute, but neglect to store the attribute on the node, and then spend an hour debugging that. | 18:52 | |
| diakopter makes notes | 18:53 | ||
| my brain breaks for weeks with each read of S05. | |||
| jrtayloriv | diakopter, Basically rule is token with :sigspace added (I think) | 18:56 | |
| i.e. token --> regex :ratchet {} and rule --> regex :ratchet :sigspace {} | 18:58 | ||
| cotto_work | Austin, less painful merges would be reason enough, but I also really like the idea that all history and branches are local, that I can stash changes and that it's easy to work on several branches at the same time. | 19:00 | |
| mikehh | rakudo (3de8215) builds on parrot r41323 - make test / make spectest (up to 28274) PASS - Ubuntu 9.04 i386 | ||
| Austin | cotto_work: thanks | 19:01 | |
| cotto_work | I get to dig into it for work (shouldn't say more) and I'm really liking it. | ||
| whiteknight | cotto_work: I don't like the "less painful mergers" argument. I rarely find SVN mergers to be difficult at all, especially if you follow a few best practices | ||
| pmichaud | having switched rakudo over from using svn to git earlier this year, I can say that I'm very satisfied with the switch (and glad we're not on svn) | 19:02 | |
| cotto_work | whiteknight, the speed of merges is a major benefit. It's way too slow with svn, even without conflicts. | ||
| whiteknight | I'm certainly not arguing against git, I would be happy to switch I think. I'm just saying that one particular argument isn't so moving | ||
| cotto_work: Ah! that's a different thing. Speed of merger is different from ease of merger | 19:03 | ||
| cotto_work | faster == easier in my book (less mental activation energy to overcome) | ||
|
19:03
donaldh joined
|
|||
| chromatic | The last branch merge I did in Parrot SVN took two hours. | 19:04 | |
| That was not a complex merge. | |||
| pmichaud | there's also the side that "follow a few best practices" (with svn) also implies some restrictions and extra steps in branch management | ||
| that don't seem to be issues with git | |||
| whiteknight | pmichaud: a little bit of discipline and best practices is never bad to have | 19:05 | |
| it's not a good argument that we want git because we are too lazy to do things "right" | 19:06 | ||
| pmichaud | I'm not saying that git allows a lack of discipline | ||
| nor am I saying that git allows you to do things wrong | |||
| I'm saying that with svn there are lots of ways to do it wrong, and only one way to do it right | |||
| s/only one/very few/ | 19:07 | ||
| git provides a few more flexible work patterns, that require less effort in order to do the right thing | |||
| *less effort* is the key. | |||
| git still has best practices | |||
| git still requires some discipline | 19:08 | ||
| but those best practices and discipline are less onerous than the svn versions of the same. | |||
| whiteknight | I want to make sure that we're making good, influential arguments to migrate to git. | ||
| Allison has clearly not been swayed by some of the arguments she's heard thus far | |||
| pmichaud | fair enough. Here's the one that clinched it for me (more) | ||
| Austin | The one where Linus tells you that if you don't use Git, you're stupid and ugly and smell bad? | 19:09 | |
| pmichaud | When rakudo needed to switch repositories earlier in the year, I put out a call to see whether people thought we should stick with svn versus moving to git | ||
| I got a lot of feedback | |||
| however, the clinching argument is that *nobody* argued in favor of svn based on its merits of being easier to use or having superior technology | |||
| mikehh | partcl r742 builds on parrot r41323 - make test PASS - Ubuntu 9.04 i386 | 19:10 | |
| pmichaud | the only reason that anyone had with staying with svn was because that was what we had been using previously | ||
| so if it comes down to "influential arguments" as to making one choice versus another, I'd like to see informed reasons for staying with svn. We clearly have a lot of Parrot developers who can give informed reasons for moving to git. | 19:11 | ||
| "stay with svn because that's what we've always used" is a valid reason | 19:12 | ||
| but I'm not sure it stacks up against the other ones | |||
| darbelo | You can make git dress up as svn if that's your kink. | ||
| pmichaud | and yes, that is what many of us do with rakudo. | ||
| diakopter | "slower/older n00bs " (like me) "haven't yet learned git" | 19:13 | |
| pmichaud | when someone as smart as chromatic says "The last branch merge I did in Parrot SVN took two hours", that says something (more) | ||
| last time I did a major branch merge for Rakudo, and it was _significant_, it took me 10 minutes (more) | 19:14 | ||
| it took 10 seconds to do the merge, and then 9 minutes 50 seconds to convince myself that the merge actually worked even though "it's not possible for git to have merged a branch that big so cleanly." | |||
| diakopter | perhaps chromatic wasn't using a nice SVN 3-way merge GUI? (half kidding; sorry) | 19:15 | |
|
19:15
HG` joined
|
|||
| tewk | Glad to see that the tide is turning toward git. | 19:15 | |
| chromatic | I moved files. | ||
| pmichaud | I suspect I can find the irc discussion where I was totally shocked that git's merge worked... | ||
| chromatic | It is not acceptable to me that we have a limitation such as "Do not move or rename files on a branch, lest you have to merge by hand." | 19:16 | |
| Otherwise, what's the point of doing that work on a branch? | |||
|
19:17
sri joined
|
|||
| pmichaud | oh yes, my merge was the ins2 merge -- where we completely reworked Rakudo's build environment to use an installed Parrot | 19:17 | |
| whiteknight | I had suggested a poll on parrot.org to get input about the issue. I don't know how to create one or I would have already | 19:18 | |
| pmichaud | that was a long-lived branch with no synchronization to rakudo trunk | ||
| chromatic | It seems crazy to me that I have to remember that there are refactorings I just *cannot* do when I'm on a branch. | ||
| pmichaud | irclog.perlgeek.de/perl6/2009-08-12#i_1387501 # my shock at git merging | 19:19 | |
| Austin | I have a performance question about starting up my parser. | 19:21 | |
|
19:21
mokurai left
|
|||
| Austin | What is happening between the time I run from the command line, and the time that I enter the topmost Grammar rule? | 19:21 | |
| (In particular, what is happening that takes so long?) | |||
| pmichaud | are you using the operator precedence parser? | 19:22 | |
| Austin | No | ||
| pmichaud | just rec-descent? | ||
| Austin | It's on my list of things to do, but right now it's all top-down | ||
| pmichaud | hmmm | ||
| what libraries get loaded? | |||
| Austin | What do you mean? | 19:23 | |
| pmichaud | I'm guessing that PCT.pbc gets loaded | ||
| Austin | There's no dynamic ops, so Parrot loads whatever parrot loads. | ||
| pmichaud | that in turn causes P6object.pbc, PGE.pbc, PCT/HLLCompiler.pbc, etc. to be loaded | 19:24 | |
| P6object has to create some classes | |||
|
19:24
mokurai joined
|
|||
| Austin | As far as .pbc files, it's HLLCompiler, P6object, PCT, plus my NQP stuff | 19:25 | |
| pmichaud | PGE creates some classes and also does OPTable initialization for parsing P6regexes. We (c|sh)ould make that lazy, so that the initialization occurs only when we're about to parse a p5/p6 regex. | ||
| PCT has to create and register the PAST::* and POST::* classes | |||
|
19:25
sri joined
|
|||
| pmichaud | basically, in each library, all of the subs marked :load are executed | 19:25 | |
| since you're not using the operator precedence parser yourself, I wouldn't think there are any :load subs in your parser | 19:26 | ||
| however, it might be worth looking for ":load" inside of src/gen_*.pir (or wherever your PIR files are being saved) | |||
| NotFound | Interesting the talk about titles. I'm thinking about writing an article titled: "Negative titles considered harmful" X-) | 19:27 | |
| pmichaud | make it more direct: "Negative titles are bad." | ||
| Or ironic: "Why are article titles always so misleading?" ;-) | 19:28 | ||
| NotFound | pmichaud: but the other way give me two pieces for one shot :) | ||
| Austin | _block13 is very popular | ||
| NotFound | "Are rethoric questions bad?" | ||
| MoC | Re GIT: From what I understood git heavily depends on the existence of Linux-environment commandline utils, which makes it really hard to use on - in my case - Windows. (I know there's an installer but that includes a cross-compiling environment with cc'ed bash, which I already have installed and I don't like having duplicates. [...] | ||
| Compiling it myself is no alternative, since the dependencies are not really that win32-friendly, either.) | |||
| chromatic | It's a lot better on Windows than it was, but it is still CLI-ish. | 19:29 | |
| pmichaud | I agree that Windows support is an issue also. | ||
| Austin | I think I have found a bug. | ||
| Sigh. | 19:30 | ||
| NotFound | Austin: Impossible! We're perfect! | ||
| Austin | :) | ||
| Don't worry, NotFound - it's a PCT bug. | |||
| pmichaud | Austin: Impossible! PCT is perfect! | ||
| MoC | Well, I don't mind that it's mostly CLI, it's only the dependency on Linux cmd utils that keeps me away. | 19:31 | |
| NotFound | The names says it: "Perfect Compiler Toolkit", isn't it? | ||
| Austin | Notice the "2" down near the bottom. nopaste.org/p/aa5LeMzCG | ||
| The problem seems to be that it's /too/ fast. | 19:32 | ||
| And so it's possible for separate files to compile with the exact same timestamp. | |||
| Thus producing the onerous "2". | |||
| pmichaud | ah, I'm not sure that's really a pct bug then :) | 19:33 | |
| (you're correct, it shouldn't be doing that, though) | |||
| Austin | I suspect that it doesn't make much difference - most of the _block13 subs are just captures. | 19:34 | |
| pmichaud | its only a problem if something is referencing the block, though. | ||
| I would greatly appreciate it if Parrot had a built-in UUID generator of some sort :) | |||
| PCT would definitely make use of it. | |||
| whiteknight | so the solution there is a better GUIDgen? | ||
| Austin | Actually, never mind. That's a deliberate artifact on my part. | 19:35 | |
| pmichaud | a-ha! | 19:36 | |
| Austin | Duplicating a file solves a problem I had with something producing unreadable .pbc files. | ||
| dalek | rrot: r41324 | NotFound++ | trunk/src/packfile.c: [core] patch to Parrot_load_language from TT #1007 with a short comment |
||
| pmichaud points back to his "Impossible!" line above :) | |||
| afk, errand | |||
| Austin | So anyway, there are many "_block13" subs marked load, which are all NQP outermost scopes. | 19:37 | |
| There's an __onload sub makred :load for the grammar. | |||
| And a _block13 for the actions. | |||
| That's it for :load subs | |||
| Is the size of the PBC file known to make a significant difference on startup time? | 19:38 | ||
| dalek | rrot: r41325 | NotFound++ | trunk/t/op/string.t: revert r41319, see TT #1007 |
19:39 | |
|
19:40
Aisling joined
|
|||
| whiteknight | Austin: we should get together some time and hack. I am interested in hacking on Close | 19:43 | |
| Austin | "on" or "in"? | ||
| :) | |||
| dalek | TT #1007 closed by NotFound++: load_language creates wrong search paths | ||
| whiteknight | specifically, I would like to help get it to the point that I can start writing libraries with it | ||
| Austin | That would be cool. | ||
| (And is exactly the same point I want to get it to.) | |||
| Coke | (windows support) has anyone used tortoisegit? | ||
| if it's as correspondingly useful as tortoisesvn... | 19:44 | ||
| whiteknight | Austin: one thing that I would especially love to see in Close is Closures | 19:46 | |
| Austin | What's a closure? | ||
| purl | I hardly KNOW her. | ||
| whiteknight | like a function within a function | 19:47 | |
| chromatic | A first-class function that binds over a lexical scope. | ||
| whiteknight | like a private sub ref in Perl5, I think | ||
| Austin | It's a "generation" versus "writing" thing. | ||
| The object of Close is to be C for PIR. And you can enclose subs in PIR, ergo... | 19:48 | ||
| But, that's probably different from what you mean. | |||
| whiteknight | I was doing this in PIR the other day: wknight8111.blogspot.com/2009/09/y-...e-pir.html | 19:49 | |
| and I thought to myself, "this would be so much better in Close" | |||
| Austin | :) | ||
| whiteknight | I have high hopes for your language! you better not disappoint me! | 19:50 | |
| Austin | Ruh roh. | ||
| purl | ruh roh is probably Raggy? | ||
| Austin | so you'd be okay with return std::newclosure(fact); ? | 19:51 | |
| Coke | pmichaud: I got something about 20% working using parrot's callchain. | ||
| (instead of handrolling) | |||
| whiteknight | Austin: I'd rather be able to define a new sub inside a sub | 19:52 | |
| so return sub { ... }; | |||
| Austin | Is there a way to get at time information from PIR? | ||
| Coke | just like in C! (er...) | ||
| Austin | Or from NQP? | 19:53 | |
| whiteknight | Austin: there is a time opcode I think | ||
| Coke | Austin: perldoc src/ops/sys.ops | ||
| Austin | WhiteKnight: nested subs are planned. (How else to use lexicals?) | ||
| Yes!!! It's finally slurpy. | |||
| whiteknight | what is slurpy? | 19:54 | |
| purl | slurpy is probably probable at some point | ||
| Coke | ^_- | ||
| whiteknight | purl forget slurpy | ||
| purl | whiteknight: I forgot slurpy | ||
| Austin | You can't just set $node<pirflags> and expect it to work. You have to know when to set $node.slurpy(1) instead. | 19:55 | |
| cotto_work | whiteknight, www.parrot.org/node/add/poll | 19:57 | |
| I'd have started a poll myself, but I haven't had the tuits to get the wording right. | 19:58 | ||
| pmichaud | "You are not authorized to access this page." | ||
| whiteknight | must login | ||
| I'll create the poll | |||
| cotto_work | whiteknight++ | 19:59 | |
| whiteknight | now that I know how to do it cotto_work++ | ||
| pmichaud | I did login | ||
| "You are not authorized to access this page." | |||
| cotto_work | pmichaud, bug coke if you want permissions of that nature. iirc he's a Drupal admin | 20:00 | |
| pmichaud | eh, I've asked three times about it already. Probably not worth asking a fourth. | ||
| (didn't ask Coke each time, but I've asked in #parrotsketch and other places and been warnocked) | |||
| cotto_work | you can also bug allison when she's around | 20:02 | |
| whiteknight | What choices should I include in the poll? I have SVN, CVS, Git, Mercurial, Bazaar. Anything else worth including for completeness? | ||
| pmichaud | guess who I've asked :) | ||
| Austin | DARCS | ||
| Aegis | |||
| Tene | Huh, there's a poll? | ||
| whiteknight | actually, this poll only gives me 5 slots. That's what I'll stick with | ||
| Tene: there will be :) | |||
| Austin | tlarch | ||
| Tene | poll about what? | ||
| pmichaud | I don't think we need CVS in the list | 20:03 | |
| we already moved _from_ cvs to subversion, I doubt we'd be moving back. | |||
| Tene | pmichaud: we need to know if anyone has poor enough taste that we should shun them. You're going to be showing who voted for what, right? | ||
| ;) | |||
| whiteknight | pmichaud: it's a normalizing factor. Voting for CVS is like saying "I don't know what's good, so don't listen to me" | ||
| cotto_work | whiteknight, you can add more slots | 20:04 | |
| whiteknight | www.parrot.org/content/straw-poll-w...parrot-use | ||
| cotto_work: yeah, whatever. This is what we have now | |||
| thanks though | |||
| Tene | now, why are we voting on this? | 20:05 | |
| pmichaud considers voting for CVS just to confirm that people won't listen to him. | |||
| cotto_work | Tene, to build momentum? | ||
| Tene | I thought it was established that we weren't going to be changing any infrastructure until after 2.6 or something. | ||
| pmichaud | Tene: straw poll, just to see some actual numbers | ||
| whiteknight | Tene: just a straw poll, want to measure community preferences | ||
| pmichaud | for example, I've been thinking about developing the new versions of PGE/NQP on github and then bringing them into Parrot :) | 20:06 | |
| chromatic | The text should say "Just a straw poll and not a commitment to change anything anytime soon." | 20:07 | |
| pmichaud | +1 | ||
| purl | 1 | ||
| whiteknight | the title does say "Straw poll:" | ||
| chromatic | portal.acm.org/citation.cfm?id=3603...N=41542806 | ||
| pmichaud | I agree it would be better to have the text explicit | ||
| whiteknight | done | 20:08 | |
| pmichaud | yes, better. | ||
| could use a period before the closing paren </bikeshed> | 20:09 | ||
| cotto_work | chromatic, refcounting? | ||
| whiteknight | that's actually the character limit for the title field, can't add anything more | ||
| cotto_work | I thought that was evil. | ||
| chromatic | Getting it correct is about as hard as getting write barriers correct. | ||
| There's a correspondence between refcounting and "true" GC. Almost any practical system is a hybrid. | |||
| whiteknight | chromatic: so we should delete all periods? | ||
| cotto_work | periodically | 20:10 | |
|
20:11
whiteknight_ joined
|
|||
| chromatic | I don't follow. | 20:12 | |
| Tene | pmichaud: allison's arguments for svn are based on productivity and ease of use. She asserts that git is dramatically more difficult for her to work with. | 20:14 | |
| Coke tries to figure out why git has six votes but two votes. | 20:15 | ||
| Tene | Now, the details of her difficulties don't match with anything I've ever seen, so I'm a bit confused by them, but that was one of her major points the last time I saw this discussed. | ||
| dalek | rrot: r41326 | darbelo++ | branches/kill_jit (3 files): Unbreak non-x86 build. Test pass. |
||
| Coke | (permissions) best way to ask is via a ticket. =-) | 20:16 | |
| darbelo | Say, how do I vote? | ||
| Coke | (but I noticed this time, so hang on.) | ||
| Tene | darbelo: it might require that you log in? | ||
| darbelo | Tene: logged in. Bu I only get an "Add new comment" link. | 20:17 | |
| pmichaud | Tene: Yes, I saw allison's discussions on the topic. My experience is the same as yours -- the details of her difficulties don't match with anything I've seen or experienced either. But more to the point, we have a fair number of people who claim that svn is dramatically more difficult for them than git. | ||
|
20:17
zerhash joined
|
|||
| Coke | pmichaud: updated perms for you on drupal. | 20:18 | |
| pmichaud | Coke: danke | ||
| chromatic | It comes down to this for me: to make branching and merging work in SVN for the things I want to do, I have to keep track of revision numbers manually, I have to remember that there are certain refactorings I can't do, and I have to be ready to create a new, empty branch and merge my branch manually by way of massaging patch sets. | ||
| Coke | (what a pita it was to find your account to edit it.) | 20:19 | |
| pmichaud: I might have zorched your password. | |||
| chromatic | At that point I start to wonder how much better this is than mailing around tarballs. | ||
| Austin | Is there a connection between the parrot.org account and the trac.parrot.org account? | ||
| Coke | Austin: no. | ||
| Tene | darbelo: I get a radio select control with a 'vote' button at the bottom. | 20:20 | |
| pmichaud | Coke: (six votes but only two names) It seems that drupal might have recorded my vote twice | ||
| Coke | pmichaud: ok. where's the other 3? =-) | ||
| pmichaud | I don't know. | ||
| maybe it recorded a vote every time I refreshed the page? | 20:21 | ||
| otoh, is it the case that only Coke and I have voted thus far? | |||
| Tene | I voted. | ||
| Coke | Tene: did you login first? | ||
| Tene | Yes. | 20:22 | |
| ... Huh, it does record multiple votes from me refreshing the page. | |||
| I've now voted at least twice! | |||
| Coke | perhaps we can just count named votes. =-) | 20:23 | |
| pmichaud | on the plus side, you now appear on the list. | ||
| cotto_work | I voted | ||
| pmichaud | I'm fine with just counting named votes | ||
| although cotto's vote doesn't appear in the list | |||
| Coke | "keep voting until it sticks" | ||
| Tene | is the list of voters not public? | ||
| pmichaud | "vote early and often" | ||
| cotto_work | pmichaud, that's odd | ||
| meh. I'll leave it as-is. | 20:24 | ||
| Coke | apparently drupal sucks! | ||
| Tene | Coke: let's get it running on Parrot. I bet that'll fix it. | ||
| Coke | Tene: sure. mod_tcl only. | ||
| whiteknight | can you even see which votes have names associated with them? | 20:25 | |
| Coke | whiteknight: click on "votes" | ||
| pmichaud | I can see a list of people who voted and how they voted | ||
| whiteknight | Coke: I don't see "Votes" | ||
|
20:25
klaus joined
|
|||
| Coke | are you at www.parrot.org/content/straw-poll-w...parrot-use ? | 20:26 | |
| (and not looking at the vote via the front page?) | |||
| whiteknight | yes, I am on that page. no "votes" | ||
| Coke | maybe you need to be an editor. | ||
| or an admin | |||
| purl | i heard an admin was kind of a dork | ||
| Coke | yes, I am. | ||
| whiteknight | I can has admin? | ||
| Tene | Coke: Have you tried using tcl from mod_parrot? | 20:27 | |
| pmichaud | permissions on voting look a bit weird | ||
| www.parrot.org/admin/user/access#module-poll | |||
|
20:27
AndyA joined
|
|||
| pmichaud | right now only directors and members can vote. I suspect that was to support the director elections a few weeks ago | 20:27 | |
| (even "admins" can't vote) | 20:28 | ||
| Coke | Tene: jhorwitz tried and failed, I believe. | 20:29 | |
| should be a piece of cake with PCT, or so I'm told. | |||
| pmichaud: it's probably setting on the vote form. moment. | |||
| Tene | pct makes everything be cake. | ||
| My car? Cake. My bed? Delicious cake. | 20:30 | ||
| pmichaud | (tcl and pct) I'm expecting to get a bit of time for that on Sunday | ||
| Austin | Tene: The cake is a lie! | 20:31 | |
| Coke | ah, www.parrot.org/admin/user/access | ||
| this was a triumph. | |||
| I'm making a note here. | |||
| Tene | Austin: No! Where will I sleep?! | ||
| Coke | it's not unreasonable for this vote to be restricted to members, now that I thikn about it. | 20:32 | |
| whiteknight | I've got a lead on a guy who wants to translate the Perl 6 wikibook to German, and one who might want to translate it to french | ||
| pmichaud | okay, I've got to get my $otherjob stuff ready for tomorrow's trip | ||
| Tene | pmichaud: where are you going? | ||
| pmichaud | to $otherjob.location | 20:33 | |
| (Corpus Christi, TX) | |||
| Tene | particle: Looks like I'll be in seattle again the week of Sept 27. | ||
| dalek | website: Whiteknight++ | Straw poll: Which version control system would you like Parrot to use? (Just a straw poll, not a commitment to change anything) | ||
| website: www.parrot.org/content/straw-poll-w...parrot-use | |||
| Tene | particle: the gf isn't coming this time, though. | ||
| whiteknight | yay dalek! better late then never! | ||
|
20:40
jrtayloriv joined
20:44
allison joined
20:45
Khisanth joined
|
|||
| cotto_work | hi allison | 20:46 | |
| allison | hi cotto | 20:47 | |
|
20:49
bluescreen joined
|
|||
| Coke | allison: settled in? | 20:50 | |
| dalek | rrot: r41327 | darbelo++ | branches/kill_jit/config/auto/frames.pm: Don't probe for information we won't need. |
||
| allison | Coke: I'm at the JVM Languages Summit this week | ||
| cotto_work | allison, do you have a link to the message to parrot-dev where you listed your issues with git? | ||
| allison | cotto: I don't | ||
| cotto_work | k | 20:51 | |
| Coke | mail archive is gogoleable. | ||
| ... and that other thing. | |||
| RT: 247 tickets and counting. | |||
| allison | cotto: though the recent IRC discussion has several important questions/comments | ||
| cotto_work | Coke, what other thing? ;) | ||
| Coke | googleable. | ||
| cotto_work | which one? | ||
| Coke | anyone here admit to using emacs? | 20:52 | |
| (to hack on parrot) | |||
| bluescreen | i do | ||
| darbelo used to. | |||
| Coke | bluescreen: can you look at rt.perl.org/rt3/Ticket/Display.html?id=45365 ? | ||
| bluescreen | why not | 20:53 | |
| cotto_work | allison, which discussion? There have been several. | 20:54 | |
| allison | cotto: lists.parrot.org/pipermail/parrot-d...d.html#946 | ||
| cotto: I only remember participating in one | |||
| cotto: but I don't remember the day | |||
| cotto_work | you might have been in the air | ||
| allison | I'll see if I can recall | 20:55 | |
| - Integration with trac. | |||
| - Demonstrate that git actually is better at resolving the merging conflicts we hit in real usage. | 20:56 | ||
| - Source code browsing tools. | |||
| (including revision browsing) | |||
|
20:57
HG` joined
|
|||
| allison | - Down-time and retraining time for developers. | 20:57 | |
| - Safety of the core source (limiting the damage possible accidentally or by new committers) | 20:58 | ||
| (with git it's possible to make changes that destroy the history of the repository) | 20:59 | ||
| chromatic | I dispute that last point. | ||
| Coke | (core source) I think that is either trivial or mislabeled. | 21:00 | |
| allison | shotgunsandpenguins.blogspot.com/20...iting.html | 21:01 | |
| Coke: should say "source history" | 21:02 | ||
| chromatic | Where's the part that "destroy(s) the history of the repository"? | ||
| allison | chromatic: is "unintentionally change" more tolerable than "destroy"? | ||
| chromatic | Yes, but still inaccurate. | 21:03 | |
| allison | or just "change" | ||
| chromatic | Sure. What's the problem? | ||
| I've rebased commits myself. I know why I've done it. I've had very good reasons for doing so. | |||
| The Git rule is very simple: you can manipulate your commit history as much as you like in your local repository. | 21:04 | ||
| dukelet0 | allison: trac has git integration | 21:08 | |
| allison | cotto: TT #138 | 21:09 | |
| Coke | (i very frequently use interactive rebase so I can make a lot of small incremental local commits and then merge them before pushing upstream.) | ||
| (even with git-svn) | |||
| tewk | That is my favorite git feature. | ||
| Coke | er, s/merge/squash/ to avoid mixing up terms. | 21:10 | |
| allison | dukelet0: that helps | ||
| whiteknight | chromatic: I can change my history locally, but that doesn't effect the "main" repository (wherever that is)? | ||
| dukelet0 | allison: also, i am not so sure about "safety of source." A new committer has the potential to temporarily break/delete history, but every parror tree is a historical backup | ||
| chromatic | That's right, whiteknight. | ||
| cotto_work | in response to that, I'd say that git supports a svn-like workflow quite nicely | 21:11 | |
| chromatic | Your local repository is as first-class as any repository. Any master repository is only master by convention and agreement of other people to treat it as the master. | ||
| dukelet0 | whiteknight: in theory, a new user could force a non-fast-forward update to the main repo i.e. changing history. This would obviously cause every other person who is using the main repo correctly to say "what the junk?" | ||
| whiteknight | are changes to the history able to be reverted? | 21:12 | |
| dukelet0 | whiteknight: and then the small mishap could be fixed with someone's non-mangled parrot repo | ||
| whiteknight | okay | ||
| Coke | I think that we could, with git, change our workflow so that we could more easily allow newbies to hack without giving them access to master. | ||
| whiteknight | that is a good point. Let newbies own their own branch for a while, see that it works for them, and then give them access to master | 21:13 | |
| dukelet0 | Coke: of course. we can have a sandbox repo for new committers that perhaps only has write access to certain subsystems | ||
| Coke | we could do that now with svn, likely, but haven't. (the cvs repo was initially setup that way.) | ||
| tewk | dukelet0, I'm sure we could use a hook to disable non-fast-forward update | ||
| pmichaud | given that we only accept committers based on recommendations from others, how likely is it for someone to be rewriting history anyway? | 21:14 | |
| even accidentally? | |||
| dukelet0 | tewk: that as well. Currently the end-user must ignore a very angry git warning message about changing history, but it is still possible. Excplictly denying it by a server hook would be best | ||
| pmichaud: i would say it is mostly for the accidental case | |||
| pmichaud: with automated tools, sometimes bad things happen | 21:15 | ||
| chromatic | I'm not sure how someone would stumble into it accidentally, but if we can prevent it from ever happening, so much the better. | ||
| pmichaud | seems to me that "rewrite history" on the master requires "--force" somewhere. | ||
| dukelet0 | chromatic: basically, if you force a push to a repo that does not share the same history, you can change that repo's history | ||
| Coke | (also: backups) | 21:16 | |
| tewk | I have scripts that force push to backup repos, hence a hook that prevents ti would be nice | ||
| dukelet0 | tewk: I agree. | ||
| whiteknight leaves. Later | |||
| Coke | ~~ | ||
| dukelet0 | also, I can't seem to vote on the git poll. where is the button? | ||
| allison | dukelet0: you have to be logged in | 21:17 | |
| pmichaud | I think you also have to be a member | ||
| allison | mmmm... at the moment you also have to be a member | ||
| dukelet0 | allison: i am logged in, but still can't | ||
| allison | yes, what patrick said | ||
| but, the poll is broken anyway | |||
| dukelet0 | i though I *was* a member. what does that mean? | ||
|
21:17
DrForr joined
|
|||
| dukelet0 | s/though/thought/ | 21:17 | |
| allison | it's counting 8 votes, but if you go look at the votes there's only 4 | ||
| pmichaud | dukelet0: what's your login id? | 21:18 | |
| allison | dukelet0: it's a particular permission group for foundation members | ||
| pmichaud | allison: yes, we noticed that earlier. | ||
| allison | (which you aren't yet) | ||
| Tene | allison: there were problems with it counting votes multiple times, or something, maybe. | ||
| allison | we can open up polls to developers | ||
| Tene | I'm pretty sure it counted my vote more than once. | ||
| allison | (I'll delete the old foundation voting polls) | ||
| Tene: I noticed a bug when I was testing it for membership voting where modifying the poll after people have voted ends up doubling any votes that were in the system before the change | 21:19 | ||
| dukelet0 | pmichaud: dukeleto | 21:20 | |
| purl | somebody said dukeleto was Duke Leto Atreides I (10,140-10,191 A.G.) is a fictional character in the Dune universe created by Frank Herbert, or twitter.com/dukeleto | ||
| dukelet0 | botsnack | ||
| purl | thanks dukelet0 :) | ||
| pmichaud | allison: that would explain the double-votes, then | 21:21 | |
| allison: but cotto also has voted and his name doesn't appear in the list | |||
| (or didn't appear there when I looked earlier) | |||
| allison | pmichaud: maybe there's several bugs, not sure | 21:22 | |
| dalek | kudo: 05e7604 | (parrot user)++ | : fixed bad math |
21:25 | |
| kudo: 41f7ba7 | (parrot user)++ | : Merge branch 'master' of github.com/rakudo/rakudo |
|||
| kudo: 2953ac7 | (parrot user)++ | docs/release_guide.pod: fix typo |
|||
|
21:25
joeri left
|
|||
| Coke | parrot user ? | 21:25 | |
| particle | heh, that's me, from a generic vm. annoying, that. | 21:26 | |
| Tene | the danger of someone pushing a stupid commit with git is about the same as of someone pushing a stupid commit with svn. If I 'svn rm' everything, I can just revert. It's the same process with git. Everything is still there, someone just changed the "master" label to point to someplace stupid, so we just change it back. | ||
| Coke | I think you can set your creds in a .gitMagicPony file. | ||
| dalek | rrot: r41328 | darbelo++ | branches/kill_jit (4 files): Make codetest happy. |
21:28 | |
| dukelet0 | Tene: except that breaking the main svn repo stops everyones development, whereas breaking the *master* git repo just causes some momentary confusion | 21:29 | |
| particle | WE'RE NOT DONE MOVING FROM RT TO TRAC. DO YOU REALLY WANT THE PAIN OF MOVING FROM SVN TO GIT NOW?!?!?!?!?!?!?!?!?! | 21:30 | |
| *ahem* | |||
| Coke | particle: (not done) | 21:31 | |
| Tene | allison: also, if anyone forces a history-breaking update, it requires everyone else to explicitly say "drop my current branch, and go get the master, that's not an ancestor of my current master". | ||
| Coke | particle: maybe you could reply to some of those tickets that have been waiting for feedback from you for 2 years. =-) | ||
| Tene | particle: we're also going to rewrite Parrot in common lisp, I hear. | ||
| dukelet0 | particle: no good deed goes unpunished | ||
| particle | two years with no feedback? sounds like they're stalled. | ||
| clean your room, then we'll talk about a pony. | |||
| Coke | stalled doesn't mean crap. | ||
| they're either still relevant or not. | 21:32 | ||
| dukelet0 hopes for a magic git pony | |||
| particle | sounds like they're not still relevant, or can be someday rediscovered | ||
| darbelo | Tene: That's after we implement common lisp on top of parrot. | ||
| particle | that said, i'll look in rt | ||
| Coke | particle: you yourself have said "don't close tickets just to close tickets". | ||
| ;I just saw a ticket of yours in the queue with a note to that effect. You'd rather have old tickets than surprises. something about a dentist. | |||
| Soon they'll all be stalled over at trac instead, anyway. | 21:33 | ||
| Tene | particle: you in town during the week of September 27? | ||
| particle | rt.perl.org/rt3/Ticket/Display.html?id=55806 seems easy to port to trac | ||
| Coke | feel free to assign easy ports to trac to me. | ||
| (or port them.) | |||
| particle | tene: i think so, it looks like it for now | 21:34 | |
| Tene | particle: I'll harass you closer to the event, then. :) | ||
| particle | damned yaks. | 21:35 | |
| Coke does an svn merge at work and is filled with useless tree conflcits. | |||
| yummy. | 21:36 | ||
| particle | i need to upgrade flash so i can release rakudo | ||
| Tene | particle: o.O how is that related? | ||
| particle | precisely. | ||
| darbelo | particle: That sounds... broken. | ||
| particle | apparently i can't upload to github without flash 9 | 21:37 | |
| Tene | wtf | ||
| cotto_work | flash? nein! | ||
| particle | well, at least i've proven that the generic parrot/rakudo dev vm works well enough to release rakudo | 21:38 | |
| the vm that i'm building but haven't released yet | |||
| not much to stop me now, though :) | |||
| allison | Tene: I'm not sure I find it comforting that the master could be corrupt and no one notice it | 21:39 | |
| Tene | particle: I hope you don't need to upgrade MySQL to release the VM. | ||
| allison: erm... that's the opposite of what I said. | |||
| allison | Tene: ah, then I misread what you wrote | 21:40 | |
| Tene | allison: git will complain bitterly for anyone who tries to get updates, and will require you to explicitly say "Yes, I know that that commit isn't a descendent of my current branch, but I really do want to update anyway and discard the current branch I have" | ||
| allison | Tene: makes sense | ||
| Tene | allison: also, I wouldn't say "corrupted", just "misconfigured", because all of the data is still there, someone just changed the labels around. | 21:41 | |
| Like moving the "exit" sign in the office onto the door to the bathrooms. | |||
| particle | so much for my 40mi bike ride today, time is too short :( | ||
| Tene | Not actually a *useful* analogy, but a silly one. | ||
| chromatic | One thing people who haven't used Git much might not realize is that you can have cryptographically-mathematical confidence that when Git thinks a file and a commit are the same, they are the same, despite their ancestrage. | 21:42 | |
| Tene | chromatic: *including* their ancestry | ||
| chromatic | You can get the same file contents through different ancestry. | 21:43 | |
| Tene | chromatic: yes, but you also said 'commit' | ||
| chromatic | Fair enough. | ||
| Tene | and commits include their ancestors. | ||
| But, yes, that's also relevant. | |||
| I missed the point of your msg the first time. :) | 21:44 | ||
| chromatic | Just that wedging the repository that way is very, very difficult and never unrecoverable. | ||
| Unless you can somehow abandon a whole slew of commits and force a repack and gc remotely. | 21:45 | ||
| Tene | even screwing up your own local repository is fairly difficult. | ||
| dukelet0 | Tene: i think your analogy about changing the exit sign is pretty spot on. there is no way to delete commits from git's history (unless nothing points to them), so there is only the possibility that someone will temporarily messup a symbolic pointer (branch name), which can be easily fixed without any chance of data-loss | ||
| szbalint | besides, just assume that a meteor strikes the building hosting the SCM server. The issue is the same with git or svn, you need backups. With git you have as many backups as there are developers at least | 21:47 | |
| Tene | szbalint: which doesn't mean that you shouldn't also have explicit backups too. :) | 21:48 | |
| dukelet0 | Tene: in my book, every git work tree is an explicit backup :) | 21:49 | |
| Coke | GAH. what is with all these tree conflicts! | ||
| darbelo | Coke: svn hates you. | 21:50 | |
| It knows you want to replace him :) | 21:51 | ||
| Coke | not here at work. | ||
| I barely got my developers using this. | |||
| Tene | Coke: I think I see why. ;) | 21:52 | |
| dukelet0: Sure, but there's something to be said for having an explicit policy saying "In the event that our dev server is crushed by a mammoth, we switch to using the backup repository at ..." | |||
| instead of just figuring it out at the time. | |||
| dukelet0 | Tene: like my Parrot mirror on github ? ;) | 21:53 | |
| Tene: yes, I agree that we should have an agreed-upon hot-backup | 21:54 | ||
| Tene | dukelet0: github seems more likely to fail than parrot.org does lately. | ||
| szbalint | there is a reason it's called failhub pretty often... | ||
| chromatic | Maybe they should rewrite it in Erlang. | 21:55 | |
| dukelet0 | Tene: yeah, gettin' DDoS'ed and all. I have a gitweb instance on leto.net and we could have a mirror on feather/etc | ||
| Coke | oh HOLY CRAP. this is the second time I tried to merge a regular conflict with tortoisesvn and it barfed, taking explorer with it. | 21:59 | |
| pmichaud | particle++ # Rakudo #21 | ||
| Tene | particle++ | ||
| szbalint | particle++ # peer pressure | ||
| Coke | svn-- | ||
| particle heads out for errands | 22:00 | ||
| cotto_work | partcl++ | 22:02 | |
| (and particle++ too) | |||
|
22:10
AndyA joined
|
|||
| Coke | kamra partcl? | 22:10 | |
| er, | |||
| karma partcl? | |||
| purl | partcl has karma of 2 | ||
| Coke | ha! | ||
| karma rakudo? | 22:11 | ||
| purl | rakudo has karma of 8 | ||
| darbelo | partcl++ | ||
| cotto_work | karma tcl | 22:12 | |
| purl | tcl has karma of -21 | ||
| Coke | heh. | ||
| incr tcl | |||
| darbelo | karma tcl | ||
| purl | tcl has karma of -21 | ||
| darbelo | karma otcl | ||
| purl | otcl has neutral karma | ||
| cotto_work | karma pirates | 22:13 | |
| purl | pirates has karma of 14 | ||
| cotto_work | karma pirate | ||
| purl | pirate has neutral karma | ||
| darbelo | pirate? | 22:14 | |
| purl | hmmm... pirate is a career that is washed up these days...and raping and pillaging just doesn't have a good reputation these days.... or www.eff.org/IP/DRM/piratead/CEA_ad.png | ||
| cotto_work | international talk like a pirate is Saturday | 22:16 | |
| dukelet0 | arg, matey | 22:17 | |
|
22:30
KatrinaTheLamia joined
|
|||
| allison | purl: pirate is also www.wired.com/politics/security/mag...li_pirates | 22:31 | |
| purl | okay, allison. | ||
|
22:32
kid51 joined
|
|||
| allison | Trac Git performance: trac-hacks.org/ticket/746 | 22:36 | |
| nopaste | "Util" at 68.191.99.24 pasted "What is the code path in IMCC that actually populates a class' list of methods during compilation?" (39 lines) at nopaste.snit.ch/17985 | ||
| allison | Util: you're looking for a call to 'set_pmc_keyed_str' on NameSpace from IMCC | 22:45 | |
| Util: but most of the logic is actually in set_pmc_keyed_str | |||
| Util: it's a vtable function badly in need of refactoring | |||
| Util: (a good refactor might even make it possible to keep methods from being stored in the main part of the namespace, which is pretty much impossible in the current code) | 22:46 | ||
| Util | allison: Thanks! "pretty much impossible" - Why? Keeping methods out of the namespace is what (the first part of) TT#389 is about, and since they can be kept in the Class PMCs (in `method` attribute), it would think it a simple change. | 22:53 | |
| allison | Util: just because the code is a mess | 22:54 | |
|
22:54
allison joined
|
|||
| allison | Util: the hard part is getting it to not store methods in the namespace, but still store all the other things it's supposed to store | 22:55 | |
| Util: a good refactor of that monolithic vtable function would make it much simpler | |||
| Util: (with thorough testing before and after) | 22:56 | ||
| Util | allison: which monolithic vtable function? | ||
|
22:57
TiMBuS joined
|
|||
| allison | 'set_pmc_keyed_str' in NameSpace | 22:57 | |
|
22:57
tetragon joined
|
|||
| allison | 102 lines long | 22:57 | |
| Util | allison: `ack` says that set_pmc_keyed_str is not called (directly, at least) from within compilers/imcc. | 22:59 | |
| chromatic | It's probably called from with a packfile function somewhere. | ||
| Util | allison: I will look at everything again, with more attention on Namespace's set_pmc_keyed_str. Thanks, much! | 23:00 | |
| allison | Util: yeah, probably in one of the interface libraries | ||
| Util: great! | |||
| NotFound | Are you looking for Parrot_store_sub_in_namespace? | 23:04 | |
| It's called from clone_constant in packfile.c | 23:05 | ||
| allison | mmmmm... simple benchmark on pcc branch... | ||
| A simple subroutine run through trunk | 23:06 | ||
| real\t0m0.019s | |||
| user\t0m0.016s | |||
| sys\t0m0.008s | |||
| Same small script in pcc branch: | 23:07 | ||
| real\t0m0.022s | |||
| user\t0m0.016s | |||
| sys\t0m0.004s | |||
| a little slower, but not too bad | |||
| chromatic | Do you have Valgrind/Callgrind installed? | 23:08 | |
| allison | chromatic: I don't | ||
| I should | |||
| chromatic | They're in the Ubuntu repos; trivial to install there. | ||
| allison | will grab it when I get back to the hotel | 23:10 | |
| Coke | (pcc branch) is slower? I though it was supposed to be faster. =-) | ||
| allison | (to avoid sucking up conference bandwidth) | ||
| chromatic | alias cg='time valgrind --tool=callgrind --dump-instr=yes --trace-jump=yes' | ||
| cg ./parrot benchmark.pir | |||
| Coke hopes his hotel in leeds has internet. | |||
| (or that's going to be a LOOONG week.) | |||
| chromatic | That'll give you instruction counts on the virtual CPU Valgrind uses. | ||
| They're much easier to compare than clock time, especially clock times that short. | 23:11 | ||
| allison | chromatic: cool, thanks | ||
| pmichaud | yes, I'm not sure a 0.003s difference is meaningful | ||
| perhaps call the sub 100x | |||
| or 1000x | |||
| allison | Coke: I need to run benchmarks on actually PCC calls, that was just a simple ordinary subroutine | ||
| chromatic | Coke, remember that trunk has a lot of optimizations the pcc branch probably hasn't merged in yet. | ||
| allison | chromatic: also true | 23:12 | |
| how far has the jit ripping gone in trunk? | |||
| Util | NotFound: I'm not sure that that it what I am looking for, but I will definitely check there. Thanks | ||
| allison | far enough to be worth rebranching the pcc work? | ||
| pmichaud | from rakudo's case it's not so much that we expect PCC itself to be immediately faster, but more than (1) it will be easier for us to hook our calling convention requirements into it, thus reducing overall call time, and (2) it will be better structured for later optimizations, whereas the current system is a total mess | ||
| chromatic | allison, that depends on if you have JIT or PIC related failures in the branch. | 23:13 | |
| NotFound | And easier to diagnose bugs! | ||
| allison | chromatic: still resolving coretest target failures, haven't gotten to the multiple runcore tests | 23:14 | |
| chromatic | NotFound fixed a couple of nasty bugs in PCC that may help. | ||
| allison | chromatic: I can pretty much guarantee there will be, though | ||
| NotFound | The context refactoring may be a big help | 23:15 | |
| allison | I made test fixes in trunk for the coretest target too | 23:16 | |
| would be handy not to keep mentally subtracting those failures | |||
| Coke | allison: if you want a large mark, try partcl's make test. =-) | 23:17 | |
| chromatic | That merge is going to be painful though. | ||
| I wonder if we could sucker dukelet0 into doing it in Git and producing a patchset! | |||
| Coke | chromatic: having just done an svn merge for work (home now!) that took about 20 times longer than I expected, I can only imagine. | ||
| allison | chromatic: the trunk to pcc branch merge? | 23:18 | |
| chromatic | Yes. | ||
| Coke | chromatic: ... that would not be a bad idea, especially as a POC since he thinks git is awesome. | ||
| allison | nah, I'll just grab the diff, reapply it, and fix any application failures | ||
| Coke | he can still do it as a POC. =-) | ||
| chromatic | I think you underestimate how large that diff is and how much work that will be. | ||
| darbelo | allison: The PIC-killing landed on trunk. JIT is dead on the branch, and I'm working on restoring the JIT frame builder to working order on x86. | 23:19 | |
| allison | chromatic: oh, I won't merge trunk into branch, I'll merge the changes in the pcc branch into a fresh branch from trunk | ||
| chromatic: the change set on the pcc branch is actually relatively small | |||
| NotFound | I hope you are not going to kill the --jitcapable Configure option | 23:20 | |
| We need it to avoid using jitted nci. | 23:21 | ||
| allison | NotFound: no interface changes before 2.0 | ||
| chromatic | We're keeping JITted NCI. | ||
| NotFound | Precisely, I want to be able to disable it. | ||
| darbelo | NotFound all jitted options are no ops now, I added a new config step for that that. | 23:22 | |
| you want --buildframes=0 | |||
| NotFound | Ah, nice. | ||
| darbelo | or --buildframes to enable. Right now only non-darwin x86 has it enabled. | 23:23 | |
| NotFound | darbelo: yes, and I want to disble on it. | ||
| chromatic | Is is enabled by default on non-darwin x86? | 23:24 | |
| darbelo | chromatic: yes. | ||
| chromatic | Excellent. | ||
| NotFound | Unless you use --jitcapable=0 | ||
| darbelo | exactly. | ||
| To be precise, it is enbled for $nvsize == 8 && $cpuarch eq 'i386' && $osname ne 'darwin' | 23:26 | ||
| kid51 | Speaking of branches ... | 23:27 | |
| ... we could kill one if I could get some feedback on TT #509 from people with non-symlinkable systems/filesystems | 23:28 | ||
| darbelo | NotFound: Sorry, I mis-read you. It get's disabled with "--buildframes=0" --jitcapable=whatever is a no-op | ||
| NotFound | darbelo: You mean in the branch, isn't? | 23:29 | |
| darbelo | NotFound: Yes, in the branch. Trunk still has (a disabled) JIT. | 23:30 | |
| kid51 | In kill_jit branch: perl Configure.pl --test runs with these messages: | 23:33 | |
| t/configure/026-options_test.t .............. No tests exist for configure step auto::frames at t/configure/026-options_test.t line 19 | |||
| t/configure/049-options_test_prepare.t ...... No tests exist for configure step auto::frames at t/configure/049-options_test_prepare.t line 16 | |||
| You will need a test file called t/steps/auto/frames-01.t | |||
| Also, t/steps/auto/jit-01.t will have to be revised. | 23:34 | ||
| Test Summary Report | |||
| ------------------- | |||
| t/steps/auto/jit-01.t (Wstat: 512 Tests: 9 Failed: 0) | |||
| Non-zero exit status: 2 | |||
| Parse errors: Bad plan. You planned 51 tests but ran 9. | |||
| Files=122, Tests=2736, 77 wallclock secs ( 0.60 usr 0.28 sys + 12.64 cusr 2.77 csys = 16.29 CPU) | |||
| Result: FAIL | |||
| Failed 1/122 test programs. 0/2736 subtests failed. | |||
| Coke | woof. | 23:35 | |
| darbelo | kid51: What platform are you on? | 23:36 | |
| kid51 | Linux/i386 for that report | ||
| ... but this is probably not a platform-specific issue | |||
| also have darwin/ppc | |||
| darbelo | Any non-configure related failures on that run? | 23:37 | |
| Ohh! ppc testing would be pretty cool too. | 23:38 | ||
| kid51 | The t/steps test relate mainly to the quality of your Perl 5 code in config/auto/frames.pm. | 23:39 | |
| They don't say anything about JIT/call frame issues per se. | |||
| Configure.pl completes okay in that branch, as I would expect it to. | 23:40 | ||
| darbelo | kid51: I didn't know about the t/steps/auto/ tests. I'll look into that now. | 23:41 | |
| kid51 | You can probably copy-and-paste code from other t/steps/auto/*.t tests to get a leg up. | ||
| Did you clone any other auto::* class to start your work on auto::frames? | 23:42 | ||
|
23:42
jrtayloriv joined
|
|||
| NotFound | allison: There is some change in the branch that you think can be backported to trunk right now? | 23:42 | |
| allison | NotFound: the pcc branch? no, it's actually a pretty simple branch | 23:43 | |
| NotFound: it just updates the old calls to the new calls | |||
| darbelo | I got the structure out of the JIT test. Copy-paste is my standard approach to parrot's configure system :) | ||
| kid51 | darbelo: The code in config/auto/frames.pm itself looks nice. | ||
| allison | NotFound: I suppose we could add the new calls to trunk, but since I'm still debugging failures on them, it seems a bit premature | 23:44 | |
| (new functions, that is) | |||
| kid51 | darbelo: The trickiest part will be writing enough tests to cover all branches/conditions in this line: | ||
| elsif ($nvsize == 8 && $cpuarch eq 'i386' && $osname ne 'darwin') { | |||
| darbelo | jit-01.t is most likely failing becouse I ripped all of the code out, that step is now an emty shell with hard-coded values. | 23:45 | |
| kid51 | Yes, quite so. | ||
| darbelo | I have to test separately for all possible combinations? | 23:46 | |
| kid51 | Well, it depends how obsessed with high test coverage you are. | ||
| kid51 is notoriously obsessed with that! | |||
| darbelo can delegate to him, then | 23:47 | ||
| ;) | |||
| kid51 | thenceforward.net/parrot/coverage/c...erage.html | ||
| But, the advantage of trying to get that high coverage is that you prove you can simulate all the possibilities you conceptualized when you wrote the code. | 23:48 | ||
| Conversely, once you integrate coverage analysis into your devel/test cycle, you start to write code that is easier to test because you get a feel for avoiding unnecessary branches and conditions. | 23:49 | ||
| Also, at line 45 of config/auto/frames.pm you have a dangling 'else'. | 23:50 | ||
| That will show up as an uncovered branch under Devel::Cover. | 23:51 | ||
| The logical connection of the 'elsif' line at line 43 to the 'if' at line 41 is unclear. | 23:52 | ||
| If line 43 is 'if (defined $some_condition) {', I would expect an 'else' which explicitly covers the '! defined $some_condition' case. | 23:54 | ||
| darbelo | Hey, is nopaste down? | 23:55 | |
| kid51 | nopaste | ||
| purl, nopaste? | |||
| purl | nopaste is at nopaste.snit.ch/ (ask TonyC for new channels) or poundperl.pastebin.com/ or paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at www.extpaste.com/ or paste.scsys.co.uk (for #catalyst, #dbix-class, #moose and others) or gist.github.com/ or paste or gtfo or tools/dev/nopaste.pl | ||
| kid51 | the snit.ch site is up | 23:56 | |
| The if/else block at lines 46-56 will be much easier to cover. | |||
| darbelo | What if write it as nopaste.com/p/avd7R2jukb ? | 23:57 | |
| kid51 | Ah, you beat me to it by 30 seconds! | 23:58 | |
| darbelo | Hmm. I get page load error on nopaste.snit.ch | 23:59 | |