|
Parrot 2.7.0 "Australian King" Released! | parrot.org Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | close 25 tickets (23 to go), merge outstanding branches; profile your favorite PIR for memory leaks with valgrind Set by moderator on 1 September 2010. |
|||
| whiteknight | We're going to have to start with a dirt-simple JIT, at least to get the API started | 00:01 | |
| but a sytem with a flat bitmap and no call/ret sounds interesting | |||
| I can't say I know of any prior art for such a thing, however | |||
| chromatic | All it is is tracking what we do no across the barrier of where we can't know. | 00:02 | |
|
00:02
Psyche^ joined
|
|||
| chromatic | The only other necessary part is making sure that any code which creates GCables which may get stored in an unknown fashion in untrusted code anchor them properly for their lifespans. | 00:02 | |
| Subject verb agreement? I disagrees! | 00:03 | ||
| whiteknight | I am not against a separate set of API functions and a separate GC for untrusted code | 00:04 | |
| chromatic | Hadn't thought of separate GC. | ||
| The API functions will likely have to be separate, as they'll support C's calling conventions. | |||
| whiteknight | if extensions need to store crap in weird places, we'll give them a more flexible, but slower, GC to use for the purpose | 00:05 | |
|
00:08
davidfetter left,
Patterner left,
Psyche^ is now known as Patterner
|
|||
| whiteknight | I can't figure out what I want to do for documentation for PLA | 00:11 | |
| the output of pod2html is hideous | 00:12 | ||
| chromatic | There's a CPAN module for the HTML output on search.cpan.org, but I forget its name. | 00:13 | |
| Its output is much, much better. | |||
| whiteknight | what I would really love to have, and may just have to create, is something like Pod::HTMLEmbed in pure Parrot | ||
| I guess Pod::HTML does support a --css option, which might be used to some effect | |||
|
00:43
bluescreen joined
|
|||
| bluescreen | hi guys, question, is there any reason why parrot doesn't allow you to add parents to class that has instances? | 00:46 | |
| chromatic | Yes; we don't have a good way yet to invalidate caches of attribute data and method lookup. | 00:52 | |
| whiteknight | chromatic: maybe that's a project we need to put on the roadmap. It's something we could tackle with a moderate-sized effort | 00:55 | |
| a hash-like cache class with a pointer to a version counter would work pretty nicely and could be used in a number of places | 00:56 | ||
| Coke | is it possible for abs to have promote? is it only in the case of negintmax? | ||
| whiteknight | Coke: that question doesn't parse for me. Rephrase? | 00:57 | |
| chromatic | I can't imagine how abs would have to promote. | ||
| whiteknight, I don't know how useful it is. | 00:58 | ||
| whiteknight | chromatic: if not having a cache invalidation mechanism is preventing us from adding useful features, we can create one | ||
| method lookup caches are the primary use I can think of. In the class obviously but also used for callsite caching | 00:59 | ||
| bluescreen | chromatic: but you allow a class to add methods ( and possibly remove them but i haven't tested it ), it isn't that the same situation in terms of caches? | 01:01 | |
| whiteknight | bluescreen: It's not a problem with method caching so much as MRO caching | 01:02 | |
| bluescreen | MRO stands for..? | 01:03 | |
| Coke | er, "to have to" | ||
| MRO? | |||
| purl | rumour has it MRO is the Digital sitecode for Marlboro, MA or Method Resolution Order or www.python.org/2.3/mro.html or one solution to the 'Diamond Problem' at en.wikipedia.org/wiki/Diamond_problem or Method Resolution Order or a pragma, see the 5.10 docs for details | ||
| Coke | just looking at PGC's commit message. | 01:04 | |
| (re: abs promoting) | |||
| dukeleto? | |||
| purl | it has been said that dukeleto is mentoring a few peeps. can't remember everyone. sure. | ||
| whiteknight | method resolution order. Each class caches a list of it's parents in a particular order | ||
| bluescreen | but don't you have same problem with roles? | 01:05 | |
| whiteknight | once that list is compiled, you can't just jam another parent on the end, you need to recompute the whole list | ||
| we might. I'm certain roles are not oft-used or well-tested | |||
| bluescreen | yeah gotcha whiteknight and Coke. | ||
| whiteknight | Adding a new class to the MRO invalidates the MRO cache, but also all the method caches for all objects of all types in the MRO | ||
| or, all classes in the MRO below the newly-added parent | 01:06 | ||
| Coke | dukeleto is also jonathan at leeeeeeeeeeeeto dot net | ||
| purl | okay, Coke. | ||
| bluescreen | so how does perl6 ( or perl5 running over parrot) solves this, as perl supports dynamic inheritance | ||
| Coke | msg dukeleto nevermind. added your leeeeeeto.net addr. | ||
| purl | Message for dukeleto stored. | ||
| Coke | kid51? | 01:07 | |
| purl | kid51 is now going to live dangerously. | ||
| Coke | kid51 is also jkeen@verizon.net | ||
| purl | okay, Coke. | ||
| whiteknight | bluescreen: It's not that parrot can't solve it. It's just that nobody has solved it yet. | 01:08 | |
| doesn't seem to be much interest/motivation in it just yet | |||
| you interested? | |||
| :) | 01:09 | ||
| Coke | msg kid51 - nevermind, added your verizon address. | ||
| purl | Message for kid51 stored. | ||
| whiteknight | Actually, we're probably going to re-do our object model soon, so there might not be much use in adding this feature to the current system | ||
| better to get involved in the design of the next system | |||
| I'm signing off for the night. Later | 01:12 | ||
|
01:12
whiteknight left
|
|||
| tcurtis | Does Perl 6 allow adding parents after instantiation? Rakudo doesn't appear to, and it certainly seems like it would be extremely difficult with certain representations if the new parent has any attributes. | 01:13 | |
| chromatic | Right. | ||
| Roles shouldn't have the same problem, because role composition is a compile-time operation. | 01:14 | ||
| tcurtis wonders how image-based Smalltalk implementations handles changes to a class's attributes. | 01:17 | ||
| chromatic | Much more easily. | 01:21 | |
| bluescreen | whiteknigh: like you said, if you add/remove methods you should invalidate MRO cache for the class and its subclasses.. At a naive & inexpert look that shouldn't be so hard to do | 01:22 | |
| assuming MRO is generated at a runtime | |||
| chromatic | Okay. How do you find all subclasses of a given class? | 01:25 | |
| bluescreen | well, as i said, I don't know about parrot guts. but I would expect that how have some way to build an inheritance tree | 01:30 | |
| chromatic | Subclasses point to parents, but not the other way around. | 01:31 | |
| bluescreen | i mean in smalltalk classes know their subclasses | ||
| you can cascade down those kind of things | |||
|
01:32
kid51 joined
|
|||
| dalek | rrot: r48757 | jkeenan++ | trunk/t/pmc/bigint.t: Two tests added -- so argument passed to plan() must increment by 2. |
01:33 | |
| rrot: r48758 | jkeenan++ | trunk/config/inter/progs.pm: Resolve ļæ½trac.parrot.org/parrot/ticket/854. Delete two needless regex substitutions in linkflags and ldflags settings. |
02:07 | ||
| chromatic | Smalltalk has a registry of classes it can walk when it needs to invalidate things. | 02:11 | |
| It's a question of how much data you want to store everywhere and how common the operation is. | |||
| dalek | TT #854 closed by jkeenan++: config/inter/progs.pm: Figure out why -libpath: needs to be removed from ... | 02:14 | |
| TT #854: trac.parrot.org/parrot/ticket/854 | |||
| kudo: d75c61d | masak++ | src/core/Set.pm: [Set] implemented .symmetricdifference and (^) |
|||
|
02:15
kid51 left
02:36
janus left
02:39
petdance joined
|
|||
| dalek | kudo: 27d54dc | masak++ | src/core/Set.pm: [Set] implemented postcircumfix:<{ }> |
02:44 | |
|
03:26
janus joined
03:47
bluescreen left
04:00
bluescreen joined
|
|||
| dalek | rrot: r48759 | dukeleto++ | trunk/t/pmc/bigint.t: [t] Reinstate division_by_zero test in t/pmc/bigint.t and fix plan |
05:15 | |
|
05:43
petdance left
05:58
bacek_at_work joined
05:59
jsut_ joined
06:01
TimToady left
06:04
jsut left
06:05
TimToady joined
06:08
uniejo joined
06:16
chromatic left
06:40
theory left
06:49
fperrad joined
07:12
jsut_ left
07:13
jsut joined
|
|||
| bacek_at_work | S03? | 07:42 | |
| purl | rumour has it S03 is the operators spec or dev.perl.org/perl6/doc/design/syn/S03.html | ||
| dalek | rrot: r48760 | mikehh++ | trunk/src/pmc/integer.pmc: fix codetest failure - trailing whitespace |
07:48 | |
|
08:14
NotFound left
08:17
NotFound joined
08:32
tcurtis left
|
|||
| dalek | rrot: r48761 | NotFound++ | trunk/t/pmc/stringiterator.t: one more StringIterator test to reach 100% coverage |
08:39 | |
| rrot: r48762 | NotFound++ | trunk/t/pmc/exception.t: test setting a wrong attribute in Exception |
08:56 | ||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, test, fulltest) at r48762 - Ubuntu 10.04 amd64 (g++ with --optimize) | 09:11 | |
| dalek | nxed: r616 | NotFound++ | trunk/winxedst1.winxed: allow invoke functions called 'new' in stage 1 |
09:39 | |
| nxed: r617 | NotFound++ | trunk/pir/winxed_compiler.pir: update installable compiler |
09:45 | ||
|
09:52
smash joined
|
|||
| smash | hello everyone | 09:53 | |
| moritz | smash! | ||
| smash | moritz: mornin' | 09:54 | |
| moritz | almost lunch time here :-) | 09:55 | |
| smash | 11am here | 09:56 | |
| moritz | ah, you're in GMT, I'm one TZ to the east | 09:57 | |
| smash nods. | |||
| nopaste | "NotFound" at 192.168.1.3 pasted "Using perl5 from winxed" (14 lines) at nopaste.snit.ch/23213 | 10:25 | |
| NotFound | blizkost++ | 10:26 | |
|
10:33
cognominal left
10:34
cognominal joined
10:59
nwellnhof joined
|
|||
| moritz | NotFound++ | 11:26 | |
|
11:30
fperrad_ joined
11:31
kid51 joined
11:33
fperrad left,
fperrad_ is now known as fperrad
|
|||
| dalek | rrot: r48763 | nwellnhof++ | trunk/src/packdump.c: Add n_regs_used to packdump |
11:46 | |
|
11:57
luben_work joined
11:58
luben left
12:03
whiteknight joined
12:18
kid51 left
12:40
bkuhn joined
12:53
mariano__ joined
12:59
ash_ joined
|
|||
| nwellnhof | Is it OK if I regenerate the IMCC parser with bison 2.4.2? | 13:02 | |
| The current version was generated with 2.4.1 | |||
| ash_ | neat, there is a bison 2.4.3 release aug-5-2010 | 13:08 | |
| dalek | rrot: r48764 | nwellnhof++ | trunk/t/pmc/bigint.t: Fix bigint test without GMP |
13:11 | |
| whiteknight | nwellnhof: so long as you don't add any backwards-incompatible features | 13:22 | |
| the important part is that all developers need to be able to regenerate it without going crazy, if necessary | |||
| nwellnhof | whiteknight: i just happen to have bison 2.4.2 installed here and wanted to ask if that's ok. thanks. | 13:24 | |
| whiteknight | yeah, everybody has a different version, I think. So it does get regenerated with some regularity | 13:26 | |
| dalek | rrot: r48765 | nwellnhof++ | trunk/compilers/imcc (7 files): [imcc] Check duplicate identifers more thoroughly |
13:29 | |
|
13:30
uniejo left
|
|||
| dalek | TT #1701 closed by nwellnhof++: .const string of a .local string that's been assigned to -> bus error | 13:32 | |
| TT #1701: trac.parrot.org/parrot/ticket/1701 | |||
| TT #1766 created by nwellnhof++: n_regs_used in PBC files isn't checked | |||
| TT #1766: trac.parrot.org/parrot/ticket/1766 | |||
|
13:33
macroron joined
13:41
mariano__ left
13:42
mariano__ joined
13:45
ash_ left
|
|||
| dalek | rrot: r48766 | nwellnhof++ | trunk/t/compilers/imcc/syn/const.t: [imcc] Test case for TT #1701 |
13:46 | |
| arnsholt | Given to integers, what's the best way in PIR to get div $P0, $P1 as a float? | 13:55 | |
| nwellnhof | integer registers or integer PMCs? | 14:00 | |
| arnsholt | PMCs | 14:02 | |
| Right now I just coerce the them to num registers and divide those, which seems to work | |||
| nwellnhof | i'd say $N0 = $P0, $N1 = $P1, $N2 = div $N0, $N1 | ||
| just what you said | 14:03 | ||
| arnsholt | Yeah, that's what I landed on too. Just had to ask in case there's some other kind of cleverness that could be done =) | ||
|
14:06
mikehh left
|
|||
| particle | you don't need to convert both | 14:07 | |
| autoboxing should take care of it for you | 14:08 | ||
|
14:09
patspam joined
|
|||
| arnsholt | True. But they might be one Float and one Integer PMC as well, in which case I don't know which is what | 14:12 | |
| Not without checking types and such. Coercing both to nums is less work for me =) | 14:13 | ||
|
14:25
ash_ joined
14:34
davidfetter joined
|
|||
| moderator | #parrot Parrot 2.7.0 "Australian King" Released! | parrot.org Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | close 25 tickets (20 to go), merge outstanding branches; profile your favorite PIR for memory leaks with valgrind | 14:40 | |
| moderator | Parrot 2.7.0 "Australian King" Released! | parrot.org Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | close 25 tickets (20 to go), merge outstanding branches; profile your favorite PIR for memory leaks with valgrind | 14:42 | |
|
14:50
patspam left
15:07
ruoso joined
15:08
fperrad_ joined
15:09
fperrad left,
fperrad_ is now known as fperrad
15:10
ruoso left
15:11
davidfetter left
15:16
davidfetter joined
|
|||
| arnsholt | What do I need to do to get the PIR output from my compiler to run through the parrot interpreter? | 15:20 | |
| (Provide access to the language PBC somehow, I guess?) | 15:21 | ||
|
15:23
fperrad_ joined
15:26
fperrad left,
fperrad_ is now known as fperrad
15:29
hercynium left
|
|||
| whiteknight | arnsholt: what do you mean by that | 15:32 | |
| arnsholt | Doing "./parrotlog --target=pir > file.pir ; ./parrot_install/bin/parrot file.pir" essentially | 15:37 | |
| (But with a few modifications of the pir for debugging) | |||
|
15:43
davidfetter left
15:46
chromatic joined
|
|||
| particle | yes, you'll need load_bytecode 'your-lang' | 15:56 | |
|
15:57
jan left
|
|||
| arnsholt | There we go. Cheers! | 15:58 | |
|
16:00
patspam joined
16:01
whiteknight left
|
|||
| dalek | TT #854 reopened by doughera++: config/inter/progs.pm: Figure out why -libpath: needs to be removed from ... | 16:07 | |
| TT #854: trac.parrot.org/parrot/ticket/854 | |||
|
16:07
theory joined
|
|||
| ash_ | so... gc... fun times... i just took a gprof sample on a really long running rakudo app, and almost entirely made up of gc calls | 16:09 | |
|
16:20
hercynium joined
|
|||
| nwellnhof | ash_: yeah, that's the biggest performance problem right now | 16:24 | |
| ash_: what percentage of time is spent in GC in your app? | |||
| particle | i just don't understand why parrot doesn't have a performant gc by now | 16:25 | |
| it boggles my mind. it's been complaint #1 for what seems like tens of months. | 16:26 | ||
| Coke | particle: same reason <every that sucks> sucks. | ||
| particle: can YOU fix the GC? | |||
| chromatic | They're really very difficult to write. | ||
| particle | Coke: i know, it's hard. and i know, there are other things to do that are easier, and are also pain points. | ||
| but we've had multiple people look at it multiple times | 16:27 | ||
| chromatic | And it ALWAYS HAS TO KEEP PASSING EVERY TEST 100% OF THE TIME | ||
| particle | it seems a bit to me like wyle e. coyote | ||
| Coke | whoa. | ||
| particle | try one thing, when it fails, don't ever try that way again. | ||
| chromatic: i disagree. we can have experimental gc's which fail tests. | 16:28 | ||
| chromatic | And we do. | ||
| And they haven't replaced the current GC for an important reason. | |||
| particle | of that, i was not aware. | ||
| what will it take to imlement a winner? 3 months for a team of two to three good hackers? | 16:30 | ||
| and i mean at the current burn rate, not 40 hr weeks | |||
| chromatic | How long does it take to fix a bug? | ||
| particle | please, estimate. | 16:31 | |
| chromatic | I can't. | ||
| particle | are the problems with the current experimental gc's all bugs, or are there structural/argorithmic/design issues? | ||
| is that even known? | |||
| chromatic | The current problems are bugs. | 16:32 | |
| We can't discuss design issues without data over a large set of likely programs. | |||
| particle | ok, good. | ||
| are the bugs being tracked? | |||
| chromatic | In a formal sense, not to my knowledge. | ||
| particle | ok, so that's a potential place to spend some energy. | 16:33 | |
| nwellnhof | i wonder how people could try to write experimental GCs without tackling things like write barriers first | 16:34 | |
| chromatic | That too. | ||
| Or at least formalizing our memory model somehow. | |||
|
16:36
patspam left
16:38
patspam joined
|
|||
| nwellnhof | i think it would be really helpful to implement a classic two-space copying collector first. | 16:38 | |
| it wouldn't be much faster than the current GC, maybe even slower. | 16:39 | ||
| but it would be a much better base for optimizations than the code we have now. | |||
| chromatic | That means we'd have to be able to move our GCables in memory. | 16:40 | |
|
16:40
patspam left
|
|||
| nwellnhof | yes, we will have to, sooner or later. | 16:40 | |
|
16:42
pyrimidine joined,
luben_work left
16:48
tcurtis joined
16:53
fperrad left
16:54
nwellnhof left
|
|||
| pmichaud | rakudo: say ~(for 1..200 { $_ }) | 16:57 | |
| p6eval | rakudo 27d54d: OUTPUTĀ«src/string/api.c:3341: failed assertion 'pos <= res->strstart + Buffer_buflen(res) + 1'ā¤Backtrace - Obtained 24 stack frames (max trace depth is 32).ā¤/home/p6eval//p1/lib/libparrot.so.2.7.0 [0x2ad9c6ab51a3]ā¤/home/p6eval//p1/lib/libparrot.so.2.7.0(Parrot_confess+0x87) | ||
| ..[0x2ad9c6ab52d⦠| |||
| pmichaud | star: say ~(for 1..200 { $_ }) | ||
| p6eval | star 2010.07: OUTPUT«1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | ||
| ..97 ⦠| |||
| pmichaud | something appears to have broken with strings. :( | ||
| chromatic | r48727? | 16:58 | |
| pmichaud | looking | ||
| ash_ | chromatic: its not finished but 75.143.73.208/?input=say%20[%2b]%201...3 you might find it interesting | 17:00 | |
| chromatic | Very nice! | 17:01 | |
| pmichaud's example completes there, so something in the past week is the culprit. | |||
| moritz | ash_: care to add a <noscript> tag that warns? | ||
| pmichaud | rakudo: say ~(1..200) | 17:02 | |
| p6eval | rakudo 27d54d: OUTPUT«1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | ||
| ..96 97 ⦠| |||
| pmichaud | hmm | ||
| rakudo: say ~(for 1..500 { $_ }) | |||
| p6eval | rakudo 27d54d: OUTPUTĀ«src/string/api.c:3341: failed assertion 'pos <= res->strstart + Buffer_buflen(res) + 1'ā¤Backtrace - Obtained 24 stack frames (max trace depth is 32).ā¤/home/p6eval//p1/lib/libparrot.so.2.7.0 [0x2b0b575e61a3]ā¤/home/p6eval//p1/lib/libparrot.so.2.7.0(Parrot_confess+0x87) | ||
| ..[0x2b0b575e62d⦠| |||
| ash_ | moritz: for browsers without javascript? good idea, one sec, i'll add something | 17:03 | |
| moritz | right | ||
| ash_ | has anyone considered a pre-built GC system for parrot before? like libauto | 17:04 | |
| or maybe use it if systems have it, otherwise fallback to what it has | 17:05 | ||
| chromatic | bacek experimented with Boehm GC, but it was a lot slower because it's not precise. | ||
| pmichaud | chromatic: did you say that the for loop worked with r48727? | 17:10 | |
| ash_ | hmm, i wonder if libauto would be worse or better... maybe i can stumble around and see if anything improves | ||
| chromatic | I haven't checked it, pmichaud. That seems like a likely candidate though. | ||
| pmichaud | okay, I'll start checking. | ||
|
17:27
patspam joined
17:32
jsut_ joined
|
|||
| atrodo | chromatic> ping | 17:35 | |
| chromatic | pong | 17:37 | |
|
17:37
jsut left
|
|||
| pmichaud | r48726 fails. | 17:37 | |
| so must be before that | 17:38 | ||
| atrodo | chromatic> I'm curious about your report from #ps when you mentioned lorito data structures | ||
| pmichaud | trying 48715 | 17:39 | |
| chromatic | I'm looking at a uniform header to represent primitives. | ||
| That is, everything is at least 16 bits long, and the two high bits indicate the type: PMC, STRING, Integer, or Float. | |||
| I figure we may have to use the next two bits for size. | |||
| Maybe not; not sure. | 17:40 | ||
| cotto_work | something like Firefox's internal representation of js primitives? | ||
| chromatic | allison suggested we look into a value-not-pointer representation like Smalltalk 80 used for its objects, where a PMC or STRING is an index into a table (like Unix file descriptors). | ||
| We still pay a dereferencing penalty for lookup, but we can move things around if we go through the tables. | 17:41 | ||
| cotto_work, something a lot like that. | |||
| atrodo | that's probably not a bad idea | ||
| chromatic | Seemed to work pretty well for me. | ||
| The code's straightforward to translate to what I think Lorito ops will be too. | 17:42 | ||
| atrodo | but I wonder, would we do it for int and num? the table part | ||
| chromatic | No, those can be absolute values. | ||
| ... unless they're too big to fit, in which case autopromoting them is pretty easy. | |||
| Just flip the bit in the header that means "For an integer, this is now an index into a bigint table" | 17:44 | ||
| atrodo | Wouldn't you auto promote it to a PMC? | ||
| oh, nope, scratch that | |||
| chromatic | I even experimented with a scheme where we can use the size bits (the third and fourth highest) for PMCs and STRINGs to encode their scope instead of size. | 17:46 | |
| That is, 0x00NN0000 00000000. | |||
| NN == 00 means "local to this context" | |||
| NN == 01 means "local to the caller context" | |||
| NN == 10 means "global to this execution context" | |||
| NN == 11 means "global to another execution context" | 17:47 | ||
| Not sure how much I like that, but it had possibilities. | |||
| It means flipping bits on GCables which escape to a higher context, but that makes GC really easy in other ways. | |||
| atrodo | I might like the idea. | 17:49 | |
| chromatic | Not sure if I like that for GCables in general, but when referring to them in PBC it seems advantageous. | ||
| atrodo | Certainly seems like it at first glance | 17:50 | |
| chromatic | The table representation is a pretty clear win. | 17:52 | |
| Uniformity of access is also good. | 17:53 | ||
| Scope-separated tables seems like an easy way to partition generations. | |||
| A table representation for shared GCables also forms an interesting barrier. | 17:54 | ||
| atrodo | I've debated doing that with my prototype. | 17:56 | |
| The roadblock, for me, that I kept running into was that since my PMCs are just blocks of memory that form references to PMCs, the interp doesn't know the type of the bytes in memory | |||
| and therefore, doesn't know which PMCs it actually refers to | |||
| so I've localized my table to a per-PMC lookup table | |||
| chromatic | I wanted to get away from the idea of C pointers. | 17:57 | |
|
17:57
ruoso joined
|
|||
| chromatic | It's too tempting to treat them as C pointers, at which point you lose all of your safety. | 17:57 | |
| atrodo | Right. The block of memory contains indexes, no actual pointers | 17:58 | |
| the lookup table associated with a PMC holds the actual C pointers | |||
| chromatic | I mean no pointers *anywhere*. | ||
| atrodo | So, huh... | 17:59 | |
| pmichaud | r48715 fails | ||
| chromatic | Maybe in the interpreter context, but that's it. | ||
| ash_ | what about the concept of references? | 18:00 | |
| chromatic | Hadn't reached the concept of references. | ||
| pmichaud, is r48715 the culprit? | |||
| That's odd. | |||
| pmichaud | chromatic: no, that's just the place I'm at in checking. | ||
| I'm trying to find an earlier revision that passes | 18:01 | ||
| I know that star passes | |||
| chromatic | Okay, good. | ||
| atrodo | So would you just have a large allocated array of PMCs that forms the lookup table and everything else is an index into that? | ||
| pmichaud | currently I'm using the 2010.08 compiler release, to confirm that it's not a recent change to Rakudo that is causing the issue | ||
| chromatic | atrodo, that's as far as I made it. | 18:02 | |
| atrodo | And if that's it, you would not need any pointers, only array indexes. Interesting | 18:03 | |
| chromatic | You need a map somewhere of offsets for specific data structures, but you need that to do efficient object attributes anyway. | 18:04 | |
| Oh, and you can add a "coalesce this table" step to the GC to improve cache locality. | 18:05 | ||
| atrodo | You mean for mapping inside the PMC? | ||
| tcurtis | Would the lookup table's values be pointers to the PMC's data? | ||
|
18:06
mikehh joined
|
|||
| chromatic | They'd be the PMC's data itself. | 18:06 | |
| Just a chunk of memory. | |||
| tcurtis | How would moving a PMC work, then? Or could you only move the entire table? Wouldn't moving a PMC's chunk of memory require modifying every index referring to it? | 18:08 | |
| ash_ | why would you need to move them? | ||
| chromatic | Coalescing a table would mean fixing up indexes into the table, yes. | 18:09 | |
| atrodo | That would imply that the code that coalesces the PMCs table would be able to introspect all places that PMCs can be referenced, right? | 18:10 | |
| chromatic | Yes. | 18:11 | |
| cotto_work | PaFo needs to give masak++ a grant to write Parrot's release announcements. | 18:16 | |
| moritz | :-) | ||
|
18:20
nwellnhof joined
|
|||
| Coke | cotto_work: pafo needs $$ before that can happen. | 18:20 | |
| ash_ | well, the easy solution is to all win the lottery and then we can all donate to PaFo | 18:21 | |
| moritz | hey, maybe you can convince masak by fixing some rakudo memory bugs in exchange :-) | 18:24 | |
| Coke | msg chromatic - hey, once "using perl6" hits dead trees, hold a few copies to get signed (authors + larry?) and auction them off for pafo? | 18:34 | |
| purl | Message for chromatic stored. | ||
| chromatic | Good idea. | ||
|
18:34
patspam left
|
|||
| Coke | (I'd be happy to buy one of the DT copies for said purpose.) | 18:34 | |
| cotto_work too | |||
| pmichaud | (rakudo bug) -- TimToady points out that this bug existed prior to latest star release (and I've confirmed it) | 18:38 | |
| but it shows up less frequently there | 18:39 | ||
| chromatic | Any other bisecting you can do is a big help. | ||
| pmichaud | yes, I'll keep plugging away at it | ||
| TimToady | 64 vs 32 bit is part of it | 18:40 | |
| nwellnhof | pmichaud: can you try the charset_masscare branch? it contains a GC-related bug fix in Parrot_str_join. | ||
| pmichaud | I'm 64 bit here | ||
| sorear | chromatic: how does smalltalk handle storage if an object's class gains or loses slots during the object's lifetime? | ||
| TimToady | I believe it doesn't fail under 64 | ||
| pmichaud | it's failing for me under 64 | ||
| TimToady | or fails differently | ||
| pmichaud | yes, it now fails much earlier. | ||
| chromatic | sorear, not sure. I'll have to find the blue book somewhere around here. | ||
| Oh, there it is. | |||
| purl | No it isn't! | ||
|
18:40
whiteknight joined
|
|||
| TimToady | are your ints 4-byte or 8 in the compiled image? | 18:41 | |
| pmichaud | intvalsize => '8' | ||
| TimToady | well, probably just tweaks the random failure knob differently :) | 18:42 | |
| sorear | seen darbelo | ||
| purl | darbelo was last seen on #parrot 3 days, 18 hours, 49 minutes and 49 seconds ago, saying: whiteknight: Is svn tied to Trac or drupal's auth? [Aug 29 23:52:30 2010] | ||
| aloha | darbelo was last seen in #parrot 3 days 18 hours ago saying "whiteknight: Is svn tied to Trac or drupal's auth?". | ||
| ash_ | seen plobsing | 18:43 | |
| purl | plobsing was last seen on #parrot 5 days, 15 hours, 24 minutes and 31 seconds ago, saying: msg chromatic nevermind, I was making the same mistake I made when I wrote that code [Aug 28 03:19:10 2010] | ||
| aloha | plobsing was last seen in #parrot 5 days 4 hours ago joining the channel. | ||
| chromatic | seen smash | 18:57 | |
| purl | smash was last seen on #parrot 9 hours, 1 seconds ago, saying: nods. | ||
| aloha | smash was last seen in #parrot 9 hours 1 mins ago saying "11am here". | ||
| chromatic | msg smash I'd love to see percentage improvements in your benchmark tables, if possible. | 18:58 | |
| purl | Message for smash stored. | ||
| NotFound | Parrot_str_join uses a STRING ** allocated with Parrot_gc_allocate_fixed_size_storage. I don't think that things gets marked | 19:05 | |
| nwellnhof | NotFound: that's the bug fix i was talking about | ||
| NotFound | The obvious solution is to use a StringBuilder instead of that specific code | ||
| nwellnhof | or a ResizableStringArray | 19:06 | |
|
19:07
x3nU left
|
|||
| nwellnhof | i meant a FixedStringArray: trac.parrot.org/parrot/browser/bran...pi.c#L3152 | 19:07 | |
|
19:07
theory left
|
|||
| NotFound | Using Parrot_gc_allocate_memory_chunk_with_interior_pointer can be quicker fix, but I don't know how reliable is. | 19:08 | |
| nwellnhof | NotFound: this doesn't make a difference | 19:09 | |
|
19:09
x3nU joined
|
|||
| nwellnhof | you could store the whole STRING structs in the allocated memory. that would work. | 19:09 | |
| chromatic | Fixing the anonymous sub memory usage *does* require GCable packfiles. | 19:11 | |
| Coke | packfiles are pmcs now, yes? | 19:16 | |
| chromatic | Not entirely. | ||
| cotto_work | not the ones imcc uses | ||
|
19:19
particle left
19:22
particle joined
|
|||
| cotto_work | bacek estimates that it'd take him a couple weeks to convert imcc to use the packfile pmcs. | 19:23 | |
| whiteknight | a couple of weeks for bacek? That means the task must be impossible | 19:27 | |
| cotto_work | that's how I read it | 19:28 | |
|
19:28
patspam joined
|
|||
| GeJ | Bonjour everyone. | 19:28 | |
| whiteknight | hello GeJ | 19:29 | |
| GeJ | Good afternoon Andrew. | ||
| clock? | |||
| purl | GeJ: LAX: Thu 12:29pm PDT / CHI: Thu 2:29pm CDT / NYC: Thu 3:29pm EDT / LON: Thu 8:29pm BST / BER: Thu 9:29pm CEST / IND: Fri 12:59am IST / TOK: Fri 4:29am JST / SYD: Fri 5:29am EST / | ||
| GeJ | just checking. | ||
|
19:33
robin-gvx joined
19:35
theory joined
|
|||
| whiteknight | so what exactly is the problem with anon subs? I haven't dug into it too deeply | 19:51 | |
| chromatic | They're stored in the constant tables of packfiles. | 19:52 | |
| whiteknight | oh. So...how are they leaking memory? | ||
| chromatic | They only go away on interpreter destruction. | ||
| nwellnhof | afaics, the problem isn't that the subs are anon, it's that they're compiled dynamically | 19:53 | |
| trac.parrot.org/parrot/ticket/783 | 19:54 | ||
| chromatic | Let's put it this way: they're not anchored as PMCs. They're anchored as PBC. | ||
| The PMC anchoring goes away and nothing in the system can call them, but they stick around in memory anyway. | 19:55 | ||
| whiteknight | urg | ||
| chromatic | See also TimToady's repeated point that "You can't assume everything has a name. Assume everything is anonymous, and then deal with the name when it gets a name." | 19:56 | |
|
19:57
ash_ left
20:03
whiteknight left,
macroron left
|
|||
| nopaste | "NotFound" at 192.168.1.3 pasted "patch: reimplement Parrot_str_join using a StringBuilder" (120 lines) at nopaste.snit.ch/23219 | 20:07 | |
| NotFound | This patch pass parrot test | 20:08 | |
|
20:09
pyrimidine left
|
|||
| NotFound | It can be improved by checking if ar is a String Array | 20:09 | |
|
20:10
preflex joined,
theory left
|
|||
| NotFound | Mmmm.. maybe not, the StringBuilder can even be faster | 20:11 | |
| nwellnhof | One downside of using StringBuilder is that doesn't know the total amount of memory needed in advance. | 20:12 | |
| So it has to reallocate | |||
| particle | for (i = 0; i < ar_len; ++i ) { if (i > 0) { ... } ... } # this logic looks less than ideal | 20:15 | |
| NotFound | particle: I think is better than segfaulting | ||
| particle | ok, then it's confusing | 20:16 | |
| chromatic | Is i signed? | ||
| Coke | chromatic: you'd know better than us. | ||
| chromatic | Questions you don't want answered, I'm sure. | ||
| particle | yes, for no good reason, i is signed | ||
| cotto_work | I'd feel negative if someone signed me. | 20:17 | |
| particle | that is, i don't see a reason it should be. | ||
| NotFound | This is a quick atempt of fix. If someone can vetify that it solves the rakudo problem I'll happily clean it. | ||
| particle | oh, i see. | ||
| chromatic | Seems like a reasonable request. | ||
|
20:18
robin-gvx left
|
|||
| NotFound | Sorry if I'm being rude, I'm tired with other things | 20:18 | |
|
20:22
jan joined
20:23
theory joined
20:25
NotFound left
20:26
NotFound joined
|
|||
| bacek | Good morning, humans | 20:41 | |
| dalek | kudo: 3b2529b | shlomif++ | t/harness: Add a --help/-h flag to t/harness. |
20:43 | |
| kudo: a0e9d2f | kyleha++ | t/harness: [t/harness] spelling fix |
|||
| cotto_work | helo bacek | ||
| bacek | aloha, cotto_work | ||
|
20:43
aloha left
20:44
aloha joined,
aloha left
|
|||
| nwellnhof | hey bacek, i had a look at that GHC paper | 20:45 | |
| i think it doesn't help us with parrot | |||
| bacek | nwellnhof, why? | ||
|
20:45
aloha joined
|
|||
| nwellnhof | it relies on the fact that in GHC every object is a closure | 20:45 | |
| bacek | I had prototype of vtable override at some point. | 20:46 | |
|
20:46
patspam left,
patspam joined
|
|||
| bacek | nwellnhof, no. It relies that all access to Objects go through vtables | 20:46 | |
| aloha, msg bacek bang | |||
| aloha | bacek: OK. I'll deliver the message. | ||
| bacek | ~~ | ||
| nwellnhof | bacek: you mean two different vtables for every object? | ||
| bacek | cotto, aloha now use privmsg for msg | ||
| nwellnhof, yes | |||
| cotto_work | bacek++ | 20:47 | |
| thanks | |||
| aloha, msg cotto_work HELO? | |||
| aloha | cotto_work: OK. I'll deliver the message. | ||
| cotto_work: Dunno. | |||
| nwellnhof | bacek: i have to think about that | ||
| cotto_work | ~ | ||
| bacek | aloha, insult bacek | 20:51 | |
| cotto_work | karma foo | ||
| purl | foo has karma of 21 | ||
| aloha | foo has karma of 0. | ||
| cotto_work | karma bar | ||
| purl | bar has karma of 12 | ||
| aloha | bar has karma of 0. | ||
| cotto_work | foo++ bar++ | ||
| karma foo | |||
| purl | foo has karma of 22 | ||
| aloha | foo has karma of 1. | ||
| cotto_work | karma bar | 20:52 | |
| purl | bar has karma of 13 | ||
| aloha | bar has karma of 0. | ||
| bacek | insult bacek | ||
| meh... Doesn't work :) | |||
|
20:52
aloha left
20:53
Ryan52 left
|
|||
| cotto_work | purl used to not do that | 20:53 | |
| purl | cotto_work: i'm not following you... | ||
|
20:53
aloha joined
|
|||
| bacek | aloha, insult bacek | 20:53 | |
| insult bacek | 20:54 | ||
| cotto_work | really insult bacek | ||
|
20:54
aloha left
|
|||
| atrodo | really insult bacek, please | 20:54 | |
|
20:54
aloha joined
|
|||
| cotto_work | -ENOALOHA | 20:54 | |
|
20:55
aloha left,
aloha joined
|
|||
| bacek | insult bacek | 20:55 | |
|
20:55
aloha left
|
|||
| cotto_work | your bot is clearly too polite | 20:55 | |
| which is surprising, knowing that English is your fourth language | 20:56 | ||
|
20:56
aloha joined
|
|||
| bacek | hmm. I can teach her some swear words | 20:56 | |
| insult bacek | |||
|
20:56
aloha left
|
|||
| bacek | Can't locate object method "new" via package "Acme::Scurvy::Whoreson::BilgeRat" | 20:56 | |
| strange... | |||
| purl | somebody said strange was but true | ||
| sorear | hello bacek | 20:57 | |
| bacek | aloha, sorear | ||
|
20:57
aloha joined
|
|||
| bacek | insult bacek | 20:58 | |
| sorear | bacek: any chance of getting aloha in #perl6 @ freenode.net? we could really use a non-spammy seenbot | ||
| bacek | sorear, yes. I'll do it tonight. | 20:59 | |
|
20:59
aloha left
21:00
aloha joined
21:01
aloha left,
aloha joined
|
|||
| bacek | insult bacek | 21:01 | |
| aloha | You are nothing but a clapper-clawed half-mouthful of inept anal warts. | ||
| bacek | hooray! | ||
| nwellnhof | insult nwellnhof | ||
| aloha | You are nothing but a petrified thimbleful of bawdy dung. | 21:02 | |
| nwellnhof | hilarious | ||
| cotto_work | Does it do different languages? | ||
| insult aloha | |||
| aloha | aloha is nothing but a humid enema-bucketful of malodorous dog balls. | ||
| cotto_work | insult karma | 21:03 | |
| aloha | karma is nothing but a dizzy-eyed heap of antique seagull puke. | ||
| purl | is nothing but a dizzy-eyed heap of antique seagull puke. has neutral karma | ||
| nwellnhof | insult purl | ||
| aloha | purl is nothing but an unoriginal bucket of cockered slurpee-backwash. | ||
| atrodo | insult purl | 21:04 | |
| aloha | purl is nothing but a ruttish enema-bucketful of tickle-brained urine samples. | ||
|
21:05
Paul_the_Greek joined
|
|||
| Paul_the_Greek | Afternoon, kiddies. | 21:05 | |
| cotto_work | hio Paul_the_Greek | ||
| nwellnhof | insult your mom | ||
| aloha | your mom is nothing but a spongy accumulation of crook-pated fat-woman's stomach-bile. | ||
|
21:05
aloha left
|
|||
| Paul_the_Greek | Hey cotto. | 21:05 | |
| aloha insult purl insult aloha | 21:06 | ||
| Hmm. | |||
| cotto_work | fun as it is, isn't that part of the reason we're getting rid of purl? | ||
| Paul_the_Greek | You mean the cross-talk between two zombies? | ||
|
21:06
mikehh left
|
|||
| bacek | sorear, sigh... Bot::BasicBot doesn't support multiple servers. | 21:06 | |
| dalek | kudo: 870efdb | masak++ | src/core/Set.pm: [Set] replaced postcircumfix:<{ }> with at_key Suggested by pmichaud++. |
||
|
21:07
aloha joined
|
|||
| nwellnhof | bacek: the vtable approach would only work if every assignment to a PMC pointer would go through the vtable, too. but that would be a kind of write barrier. | 21:08 | |
| or the vtable could act like a read barrier | 21:09 | ||
| i think that's what you mean | 21:10 | ||
|
21:11
ruoso left,
aloha left
21:12
whiteknight joined,
luben joined
21:15
mariano__ left
|
|||
| dukeleto | 'ello | 21:17 | |
| bacek | nwellnhof, yes. vtable access can be treated both as write or read barrier | 21:19 | |
| Paul_the_Greek | Does anyone know if Francois Perrad hangs out in any chatroom? | ||
| Coke | bacek: need 2 isntances, which is fine, because not all of us ahve the same nick anyway. | 21:20 | |
| Paul_the_Greek | Hey dukeleto. | ||
| purl | well, dukeleto is mentoring a few peeps. can't remember everyone. sure. or jonathan at leeeeeeeeeeeeto dot net | ||
| Coke | seen fperrad? | ||
| purl | fperrad was last seen on purl 14 days, 11 hours, 15 minutes and 0 seconds ago, saying: <private message> [Aug 19 10:05:10 2010] | ||
| Coke | Paul_the_Greek: there's your answer. | ||
| dukeleto | Paul_the_Greek: he comes in here occasionally | ||
| Paul_the_Greek | fperrad. Of course. | ||
| I guess I best email him. | |||
| dukeleto | Paul_the_Greek: he is on the parrot-dev mailing list | ||
| Coke | hai. | ||
| dukeleto | what are people hacking on today? | 21:21 | |
| Paul_the_Greek | I'm looking at Boolean to see if it can be more efficient by not inheriting from Integer. | ||
| Tricky business, since HLLs may rely on the Integer-ness of it in odd ways. | 21:22 | ||
| Coke | dukeleto: $DAYJOB! | ||
| purl | i think $dayjob is interesting today. I found a couple of bugs in the JDK. | ||
| nwellnhof | bacek: but write barriers through vtables would be still be write barriers. and read barriers work for incremental GC but not for generational GC, AFAIK. | ||
| Paul_the_Greek | nwellnhof: I believe you are correct. | 21:23 | |
| I believe Lua uses write barrier for incremental GC, in anticipation of implementing generational. | 21:24 | ||
|
21:24
aloha joined
|
|||
| bacek | nwellnhof, we can use write barriers to implement GenGC. | 21:25 | |
| aloha, seen bacek | |||
| aloha | bacek: Sorry, I haven't seen bacek. | ||
| cotto_work | aloha, botsnack | ||
| purl | thanks cotto_work :) | ||
| bacek | aloha, seen bacek | ||
| aloha | bacek: Sorry, I haven't seen bacek. | ||
| bacek | aloha, seen cotto_work | 21:26 | |
| aloha | bacek: Sorry, I haven't seen cotto_work. | ||
| bacek | meh... | ||
| karma cotto | |||
| purl | cotto has karma of 1547 | ||
| aloha | cotto has karma of 0. | ||
|
21:26
mikehh joined
|
|||
| bacek | cotto++ | 21:26 | |
| karma cotto | |||
| purl | cotto has karma of 1548 | ||
| aloha | cotto has karma of 0. | ||
| bacek | I broke her... | ||
|
21:27
aloha left,
aloha joined
|
|||
| bacek | ~~ | 21:28 | |
| aloha, foo is bar | |||
| aloha | bacek: Okay. | ||
| bacek | aloha, foo? | ||
| purl | aloha, foo is bar | ||
| aloha | bacek: Dunno. | ||
| purl: Okay. | |||
| purl | Okay. is, like, there an example | ||
| bacek | interesting... | ||
|
21:29
aloha left
|
|||
| Paul_the_Greek | What did I do the other day to get them to talk for six steps? | 21:29 | |
| nwellnhof | karma karma aloha purl | 21:30 | |
| purl | karma aloha purl has neutral karma | ||
| nwellnhof | something like that | ||
| Paul_the_Greek | purl karma aloha karma purl | ||
| purl | aloha karma purl has neutral karma | ||
| nwellnhof | but aloha os offline now | ||
| Paul_the_Greek | It just mumbled up above. | 21:31 | |
| nwellnhof | it looks like bacek is testing it right now | 21:32 | |
|
21:32
aloha joined
|
|||
| bacek | ~~ | 21:33 | |
| aloha, seen bacek | |||
| aloha | bacek: Sorry, I haven't seen bacek. | ||
| bacek | aloha, seen bacek | ||
| aloha | bacek: Sorry, I haven't seen bacek. | ||
| cotto_work | karma purl karm aloha purl | ||
| purl | purl karm aloha purl has neutral karma | ||
| aloha | purl karm aloha purl has karma of 0. | ||
| purl | aloha: excuse me? | ||
| aloha | purl: Dunno. | ||
| purl | Dunno. is there a command to show that? | ||
| cotto_work | karma purl karm aloha purl | 21:34 | |
| purl | purl karm aloha purl has neutral karma | ||
| aloha | purl karm aloha purl has karma of 0. | ||
| purl | aloha: sorry... | ||
| nwellnhof | karma purl aloha | ||
| purl | purl aloha has neutral karma | ||
| aloha | purl aloha has karma of 0. | ||
| purl | aloha: sorry... | ||
| Paul_the_Greek | purl purl karma aloha | ||
| purl | Paul_the_Greek: sorry... | ||
| cotto_work | aloha, buz is <reply>purl, quux? | 21:35 | |
| aloha | cotto_work: Okay. | ||
| cotto_work | buz | 21:36 | |
| aloha, buz? | |||
| purl | purl, quux? | ||
| aloha | cotto_work: Dunno. | ||
| cotto_work | forget buz | ||
| purl | cotto_work, I didn't have anything matching buz | ||
| cotto_work | forget aloha, buz | ||
| purl | cotto_work: I forgot aloha, buz | ||
| dalek | kudo: 33e94e7 | masak++ | src/core/Set.pm: [Set] implemented .hash |
||
| nwellnhof | purl, quux is <reply>aloha, buz? | ||
| purl | bugger all, i dunno, nwellnhof | ||
| nwellnhof | quux is <reply>aloha, buz? | 21:37 | |
| aloha, buz? | |||
| aloha | nwellnhof: I give up. | ||
| nwellnhof | aloha, buz is <reply>purl, quux? | ||
| aloha | nwellnhof: Okay. | ||
| nwellnhof | aloha, buz? | ||
| purl | purl, quux? | ||
| aloha | nwellnhof: I give up. | ||
| sorear | purl: no, Dunno. is <reply> $who: excuse me? | 21:38 | |
| purl | i don't know, sorear | ||
| sorear | purl: no, Dunno. =is= <reply> $who: excuse me? | ||
| purl | wish i knew, sorear | ||
| dukeleto notices the bot fever today | |||
| nwellnhof | insult dukeleto | 21:39 | |
| hmm, doesn't seem to work | |||
| no offence meant, btw | |||
| dukeleto | nwellnhof: no worries :) | 21:40 | |
|
21:41
patspam left
21:42
aloha left
21:44
aloha joined
|
|||
| bacek | ~~ | 21:45 | |
| aloha, seen bacek | |||
| aloha | bacek: Sorry, I haven't seen bacek. | ||
| bacek | cotto++ | 21:47 | |
| aloha, karma cotto | |||
| aloha | bacek: cotto has karma of 0. | ||
| sorear | cotto-- | 21:49 | |
| aloha, karma cotto | |||
| aloha | sorear: cotto has karma of 0. | ||
|
21:51
aloha left,
aloha joined
|
|||
| cotto_work | aloha: karma me | 21:52 | |
| purl | cotto_work has karma of 22 | ||
| aloha | cotto_work: me has karma of 0. | ||
| cotto_work | me++ | ||
| aloha: karma me | |||
| purl | cotto_work has karma of 22 | ||
| aloha | cotto_work: me has karma of 1. | ||
| dukeleto | does aloha do things that purl doesn't? | 21:53 | |
|
21:53
aloha left
|
|||
| cotto_work | dukeleto: insults | 21:53 | |
|
21:53
aloha joined
|
|||
| bacek | seen masak | 21:54 | |
| purl | masak was last seen on #parrot 3 days, 5 hours, 55 minutes and 22 seconds ago, saying: \\o/ [Aug 30 15:59:22 2010] | ||
| aloha | Sorry, I haven't seen masak. | ||
| bacek | seen purl | ||
| cotto_work | seen purl | ||
| purl | purl was last seen on #sao-paulo.pm 1 years, 349 days, 45 minutes and 0 seconds ago, saying: Kill them all; God will know his own. [Sep 18 21:09:59 2008] | ||
| aloha | purl was last seen in #parrot 15 seconds ago saying "masak was last seen on #parrot 3 days, 5 hours, 55 minutes and 22 seconds ago, saying: \\o/ [Aug 30 15:59:22 2010]". | 21:55 | |
| purl | aloha: sorry... | ||
| aloha | purl was last seen in #parrot 0 seconds ago saying "purl was last seen on #sao-paulo.pm 1 years, 349 days, 45 minutes and 0 seconds ago, saying: Kill them all; God will know his own. [Sep 18 21:09:59 2008]". | ||
| purl | aloha: what? | ||
| aloha | purl: Dunno. | ||
| purl | Dunno. is, like, there a command to show that | ||
| dukeleto | oh boy. | ||
| cotto_work | botfight | ||
|
21:55
aloha left,
aloha joined
|
|||
| dukeleto | Pull requests 2.0 on github are very sexy: github.com/blog/712-pull-requests-2-0 | 21:55 | |
| bacek | seen dukeleto | 21:56 | |
| purl | dukeleto was last seen on #parrot 6 seconds ago, saying: Pull requests 2.0 on github are very sexy: github.com/blog/712-pull-requests-2-0 | ||
| aloha | dukeleto was last seen in #parrot 6 seconds ago saying "Pull requests 2.0 on github are very sexy: github.com/blog/712-pull-requests-2-0". | ||
| dukeleto | we need to think about how our commit workflow will work when we go to git. i think pull requests on github just got a lot more useful | 21:57 | |
| whiteknight | ditto | 21:58 | |
| Tene | There's certainly something to be said for just granting everyone commit privileges on a centrally-owned repo. | 22:00 | |
| cotto_work | It's worked so far with svn but that doesn't mean there's not a better way to do it. | 22:02 | |
| Tene | Certainly. | ||
| I need to look into exactly what "organizations" mean on github. | 22:03 | ||
| cotto_work | dukeleto: did you get an admin bit for the Parrot org on github? | ||
|
22:05
preflex left
22:09
preflex joined
|
|||
| dukeleto | cotto_work: i don't think so, but let me check | 22:09 | |
| Tene: organizations are composed of teams | |||
| Tene: each team gets certain priveledges, and then you at people to teams | 22:10 | ||
|
22:11
aloha left
22:12
aloha joined
|
|||
| bacek | ~~ | 22:12 | |
| seen aloha | |||
| purl | aloha was last seen on #parrot 16 minutes and 49 seconds ago, saying: dukeleto was last seen in #parrot 6 seconds ago saying "Pull requests 2.0 on github are very sexy: github.com/blog/712-pull-requests-2-0". | ||
| aloha | aloha was last seen in #parrot 30 seconds ago joining the channel. | ||
| bacek | aloha, seen bacek | 22:13 | |
| aloha | bacek: Sorry, I haven't seen bacek. | ||
| bacek | ~~ | ||
| aloha, seen bacek | |||
| aloha | bacek: Sorry, I haven't seen bacek. | ||
|
22:13
tcurtis left
22:15
aloha left,
aloha joined
|
|||
| bacek | ~~ | 22:15 | |
| aloha, seen bacek | 22:16 | ||
| aloha | bacek: Sorry, I haven't seen bacek. | ||
|
22:16
aloha left
22:18
aloha joined,
aloha left,
aloha joined
|
|||
| bacek | ~~ | 22:19 | |
| aloha, seen bacek | |||
| aloha | bacek: Sorry, I haven't seen bacek. | ||
| bacek | aloha, seen bacek | ||
| aloha | bacek: Sorry, I haven't seen bacek. | ||
|
22:21
aloha left,
aloha joined
|
|||
| bacek | aloha, seen bacek | 22:21 | |
| aloha | bacek: bacek was last seen in #parrot 0 seconds ago saying "seen bacek". | ||
| bacek | oookey | ||
| cotto_work | karma a\\ | 22:22 | |
| purl | a\\ has neutral karma | ||
| aloha | a\\ has karma of 0. | ||
|
22:22
aloha left
|
|||
| cotto_work | karma b | 22:22 | |
| purl | b has karma of 14 | ||
|
22:22
bkuhn left,
aloha joined
|
|||
| bacek | aloha, seen bacek | 22:23 | |
| aloha | bacek: bacek was last seen in #parrot 0 seconds ago saying "seen bacek". | ||
|
22:23
aloha left
|
|||
| cotto_work | bacek: seen aloha | 22:23 | |
| purl | aloha was last seen on #parrot 31 seconds ago, saying: bacek: bacek was last seen in #parrot 0 seconds ago saying "seen bacek". | ||
|
22:23
aloha joined
|
|||
| bacek | seen pmichaud | 22:24 | |
| purl | pmichaud was last seen on #parrot 3 hours, 42 minutes and 28 seconds ago, saying: intvalsize => '8' | ||
| aloha | Sorry, I haven't seen pmichaud. | ||
| bacek | seen aloha | ||
| purl | aloha was last seen on #parrot 17 seconds ago, saying: Sorry, I haven't seen pmichaud. | ||
| aloha | aloha was last seen in #perl6 15 seconds ago joining the channel. | ||
| bacek | seen sorear | ||
| purl | sorear was last seen on #parrot 35 minutes and 11 seconds ago, saying: aloha, karma cotto | ||
| aloha | sorear was last seen in #perl6 1 seconds ago saying "karma bacek". | ||
| bacek | hooray! It works! | ||
| sorear | \\o/ | 22:25 | |
| nwellnhof | bacek: is aloha open source? then we would have something interesting to hack on, instead of a stupid "virtual machine designed to efficiently compile and execute bytecode for dynamic languages" | ||
| bacek | nwellnhof, :) | 22:26 | |
| sorear | nwellnhof: if you wanted to dust off ponie, we could combine them | ||
| bacek | sorear++ # just for fun | 22:27 | |
| karma sorear | |||
| purl | sorear has karma of 149 | ||
| aloha | sorear has karma of 1. | ||
| bacek | explain sorear | ||
| aloha | positive: just for fun (bacek); negative: nothing; overall: 1. | ||
| cotto_work | explain bacek | ||
| aloha | positive: nothing; negative: nothing; overall: 0. | ||
| bacek | cotto, I created new DB for aloha. Fresh start | 22:28 | |
| nwellnhof | sorear++ # for another reason | ||
| explain sorear | |||
| aloha | positive: for another reason (nwellnhof), just for fun (bacek); negative: nothing; overall: 2. | ||
| nwellnhof | insult purl | 22:30 | |
| aloha, insult purl | |||
| bacek | insult purl | 22:31 | |
| aloha | purl is nothing but a despicable gob of hugger-muggered snake bait. | ||
| bacek | yay! | ||
| nwellnhof | insult purl | ||
| aloha | purl is nothing but a rude-snouted coagulation of vain chicken piss. | ||
| nwellnhof | yippie! | ||
| cotto_work | bacek, won't that get unwieldy after a while? | 22:32 | |
| (explain) | 22:33 | ||
| nwellnhof | sorear++ # for yet another reason | 22:34 | |
| explain sorear | |||
| aloha | positive: for another reason (nwellnhof), so basically, I can write anything I want here, and it'll show up in 'explain'? (masak), www.youtube.com/watch?v=_RyodnisVvU (Tene); negative: nothing; overall: 6. | ||
|
22:35
Andy left
|
|||
| nwellnhof | explain aloha | 22:36 | |
| aloha | positive: nothing; negative: nothing; overall: 0. | ||
| bacek | afk # dayjob | 22:37 | |
| nwellnhof | insult dayjob | 22:40 | |
| aloha | dayjob is nothing but a penguin-molesting bag of squishy entrails. | ||
| dalek | rtcl-nqp: 590cc4e | coke++ | src/Partcl/Compiler.pm: extremely rudimentary tcl-like backtrace printer. |
22:52 | |
| rtcl-nqp: 365a050 | coke++ | src/Partcl/Compiler.pm: Remove duplicate line. try to actually print out file. (not that it's ever set) |
22:58 | ||
| whiteknight | the poor, molested penguins | 23:03 | |
|
23:11
nwellnhof left
|
|||
| dukeleto | what did penguins ever do to us? | 23:12 | |
| dukeleto is reminded of a hilarious Futurama episode involving human-hunting robot-led penguins | |||
| cotto_work | They made us use that linux thing. | 23:13 | |
| Is that one of the new ones? | |||
| nm. I remember which one you're talking about. | 23:14 | ||
| I misread that as "robot penguins". | |||
| chromatic | Isn't the phrase "hilarious Futurama episode" redundant in several ways? | 23:15 | |
|
23:16
tetragon joined
|
|||
| whiteknight forgot how long IRS form 1023 was | 23:17 | ||
| makes filing my normal taxes look like a walk in the park | |||
| cotto_work | with or without ninjas? | 23:18 | |
| chromatic | Try renewing a driver's license. | 23:21 | |
| dalek | TT #1767 created by pmichaud++: join opcode causes segfaults and other memory corruption issues | 23:29 | |
| TT #1767: trac.parrot.org/parrot/ticket/1767 | |||
|
23:32
fedov joined
|
|||
| cotto_work | That bug won't last for long. | 23:33 | |
| smash | chromatic: hiya, wrer you looking for me ? | ||
| cotto_work | pmichaud++ for getting it down to such a nice snippet | 23:34 | |
| chromatic | smash, is it possible to add +/- percentages to your benchmark page? | ||
| Comparing the averages alone would be useful. | 23:35 | ||
| smash | chromatic: just saw your message, sure, i'll add it some time tomorrow | ||
| chromatic | Very nice, thank you. | ||
| Tene | rakudo.org/status/ has not been updated in quite a while. | ||
| smash | chromatic: you're welcome, feel free to sugest anything else you find useful | 23:36 | |
| chromatic | A "here's the past week" would be very useful too, if it showed Parrot/Rakudo version numbers. | 23:37 | |
| smash | hmm, i can think of a way to get it n there too | 23:39 | |
| chromatic | It might be more useful as a separate page. | ||
| smash nods. | |||
| i'll look into it | 23:40 | ||
| but now, sleep time | |||
|
23:41
smash left
23:45
kid51 joined
23:52
Patterner left
23:53
Paul_the_Greek left
23:57
Paul_the_Greek joined
|
|||
| Paul_the_Greek | I wonder if it would help to declare certain PMC functions 'inline'. | 23:58 | |
| dukeleto | where is smash's benchmark page? | 23:59 | |
| Paul_the_Greek | I don't know. | ||
| chromatic | gil.di.uminho.pt/users/smash/rakudo-bench.html | ||