Camelia, the Perl 6 bug

IRC log for #parrot, 2010-09-02

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:01 whiteknight We're going to have to start with a dirt-simple JIT, at least to get the API started
00:01 whiteknight but a sytem with a flat bitmap and no call/ret sounds interesting
00:01 whiteknight I can't say I  know of any prior art for such a thing, however
00:02 chromatic All it is is tracking what we do no across the barrier of where we can't know.
00:02 Psyche^ joined #parrot
00:02 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:03 chromatic Subject verb agreement?  I disagrees!
00:04 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.
00:04 chromatic The API functions will likely have to be separate, as they'll support C's calling conventions.
00:05 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:08 davidfetter left #parrot
00:08 Patterner left #parrot
00:08 Psyche^ is now known as Patterner
00:11 whiteknight I can't figure out what I want to do for documentation for PLA
00:12 whiteknight the output of pod2html is hideous
00:13 chromatic There's a CPAN module for the HTML output on search.cpan.org, but I forget its name.
00:13 chromatic Its output is much, much better.
00:13 whiteknight what I would really love to have, and may just have to create, is something like Pod::HTMLEmbed in pure Parrot
00:13 whiteknight I guess Pod::HTML does support a --css option, which might be used to some effect
00:43 bluescreen joined #parrot
00:46 bluescreen hi guys, question, is there any reason why parrot doesn't allow you to add parents to class that has instances?
00:52 chromatic Yes; we don't have a good way yet to invalidate caches of attribute data and method lookup.
00:55 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:56 whiteknight 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?
00:57 whiteknight Coke: that question doesn't parse for me. Rephrase?
00:57 chromatic I can't imagine how abs would have to promote.
00:58 chromatic 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
00:59 whiteknight method lookup caches are the primary use I can think of. In the class obviously but also used for callsite caching
01:01 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:02 whiteknight bluescreen: It's not a problem with method caching so much as MRO caching
01:03 bluescreen MRO stands for..?
01:03 Coke er, "to have to"
01:03 Coke MRO?
01:03 purl rumour has it MRO is the Digital sitecode for Marlboro, MA or Method Resolution Order or http://www.python.org/2.3/mro.html or one solution to the 'Diamond Problem' at http://en.wikipedia.org/wiki/Diamond_problem or Method Resolution Order or a pragma, see the 5.10 docs for details
01:04 Coke just looking at PGC's commit message.
01:04 Coke (re: abs promoting)
01:04 Coke dukeleto?
01:04 purl it has been said that dukeleto is mentoring a few peeps. can't remember everyone. sure.
01:04 whiteknight method resolution order. Each class caches a list of it's parents in a particular order
01:05 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
01:05 whiteknight we might. I'm certain roles are not oft-used or well-tested
01:05 bluescreen yeah gotcha whiteknight and Coke.
01:05 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
01:06 whiteknight or, all classes in the MRO below the newly-added parent
01:06 Coke dukeleto is also jonathan at leeeeeeeeeeeeto dot net
01:06 purl okay, Coke.
01:06 bluescreen so how does perl6 ( or perl5 running over parrot) solves this, as perl supports dynamic inheritance
01:06 Coke msg dukeleto nevermind. added your leeeeeeto.net addr.
01:06 purl Message for dukeleto stored.
01:07 Coke kid51?
01:07 purl kid51 is now going to live dangerously.
01:07 Coke kid51 is also jkeen@verizon.net
01:07 purl okay, Coke.
01:08 whiteknight bluescreen: It's not that parrot can't solve it. It's just that nobody has solved it yet.
01:08 whiteknight doesn't seem to be much interest/motivation in it just yet
01:08 whiteknight you interested?
01:09 whiteknight :)
01:09 Coke msg kid51 - nevermind, added your verizon address.
01:09 purl Message for kid51 stored.
01:09 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
01:09 whiteknight better to get involved in the design of the next system
01:12 whiteknight I'm signing off for the night. Later
01:12 whiteknight left #parrot
01:13 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.
01:14 chromatic Roles shouldn't have the same problem, because role composition is a compile-time operation.
01:17 * tcurtis wonders how image-based Smalltalk implementations handles changes to a class's attributes.
01:21 chromatic Much more easily.
01:22 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 bluescreen assuming MRO is generated at a runtime
01:25 chromatic Okay.  How do you find all subclasses of a given class?
01:30 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:31 chromatic Subclasses point to parents, but not the other way around.
01:31 bluescreen i mean in smalltalk classes know their subclasses
01:31 bluescreen you can cascade down those kind of things
01:32 kid51 joined #parrot
01:33 dalek parrot: r48757 | jkeenan++ | trunk/t/pmc/bigint.t:
01:33 dalek parrot: Two tests added -- so argument passed to plan() must increment by 2.
01:33 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48757/
02:07 dalek parrot: r48758 | jkeenan++ | trunk/config/inter/progs.pm:
02:07 dalek parrot: Resolve �http://trac.parrot.org/parrot/ticket/854.  Delete two needless regex substitutions in linkflags and ldflags settings.
02:07 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48758/
02:11 chromatic Smalltalk has a registry of classes it can walk when it needs to invalidate things.
02:11 chromatic It's a question of how much data you want to store everywhere and how common the operation is.
02:14 dalek TT #854 closed by jkeenan++: config/inter/progs.pm:  Figure out why -libpath: needs to be removed from ...
02:14 dalek TT #854: http://trac.parrot.org/parrot/ticket/854
02:14 dalek rakudo: d75c61d | masak++ | src/core/Set.pm:
02:14 dalek rakudo: [Set] implemented .symmetricdifference and (^)
02:14 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​75c61d1c9d6b709dff9760ffdfba1b80098f908
02:15 kid51 left #parrot
02:36 janus left #parrot
02:39 petdance joined #parrot
02:44 dalek rakudo: 27d54dc | masak++ | src/core/Set.pm:
02:44 dalek rakudo: [Set] implemented postcircumfix:<{ }>
02:44 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/2​7d54dc145ffdcaa57ef9e8d4cbc1e91100349e5
03:26 janus joined #parrot
03:47 bluescreen left #parrot
04:00 bluescreen joined #parrot
05:15 dalek parrot: r48759 | dukeleto++ | trunk/t/pmc/bigint.t:
05:15 dalek parrot: [t] Reinstate division_by_zero test in t/pmc/bigint.t and fix plan
05:15 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48759/
05:43 petdance left #parrot
05:58 bacek_at_work joined #parrot
05:59 jsut_ joined #parrot
06:01 TimToady left #parrot
06:04 jsut left #parrot
06:05 TimToady joined #parrot
06:08 uniejo joined #parrot
06:16 chromatic left #parrot
06:40 theory left #parrot
06:49 fperrad joined #parrot
07:12 jsut_ left #parrot
07:13 jsut joined #parrot
07:42 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
07:48 dalek parrot: r48760 | mikehh++ | trunk/src/pmc/integer.pmc:
07:48 dalek parrot: fix codetest failure - trailing whitespace
07:48 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48760/
08:14 NotFound left #parrot
08:17 NotFound joined #parrot
08:32 tcurtis left #parrot
08:39 dalek parrot: r48761 | NotFound++ | trunk/t/pmc/stringiterator.t:
08:39 dalek parrot: one more StringIterator test to reach 100% coverage
08:39 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48761/
08:56 dalek parrot: r48762 | NotFound++ | trunk/t/pmc/exception.t:
08:56 dalek parrot: test setting a wrong attribute in Exception
08:56 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48762/
09:11 mikehh All tests PASS (pre/post-config, make corevm/make coretest, test, fulltest) at r48762 - Ubuntu 10.04 amd64 (g++ with --optimize)
09:39 dalek winxed: r616 | NotFound++ | trunk/winxedst1.winxed:
09:39 dalek winxed: allow invoke functions called 'new' in stage 1
09:39 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=616
09:45 dalek winxed: r617 | NotFound++ | trunk/pir/winxed_compiler.pir:
09:45 dalek winxed: update installable compiler
09:45 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=617
09:52 smash joined #parrot
09:53 smash hello everyone
09:53 moritz smash!
09:54 smash moritz: mornin'
09:55 moritz almost lunch time here :-)
09:56 smash 11am here
09:57 moritz ah, you're in GMT, I'm one TZ to the east
09:57 * smash nods.
10:25 nopaste "NotFound" at 192.168.1.3 pasted "Using perl5 from winxed" (14 lines) at http://nopaste.snit.ch/23213
10:26 NotFound blizkost++
10:33 cognominal left #parrot
10:34 cognominal joined #parrot
10:59 nwellnhof joined #parrot
11:26 moritz NotFound++
11:30 fperrad_ joined #parrot
11:31 kid51 joined #parrot
11:33 fperrad left #parrot
11:33 fperrad_ is now known as fperrad
11:46 dalek parrot: r48763 | nwellnhof++ | trunk/src/packdump.c:
11:46 dalek parrot: Add n_regs_used to packdump
11:46 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48763/
11:57 luben_work joined #parrot
11:58 luben left #parrot
12:03 whiteknight joined #parrot
12:18 kid51 left #parrot
12:40 bkuhn joined #parrot
12:53 mariano__ joined #parrot
12:59 ash_ joined #parrot
13:02 nwellnhof Is it OK if I regenerate the IMCC parser with bison 2.4.2?
13:02 nwellnhof The current version was generated with 2.4.1
13:08 ash_ neat, there is a bison 2.4.3 release aug-5-2010
13:11 dalek parrot: r48764 | nwellnhof++ | trunk/t/pmc/bigint.t:
13:11 dalek parrot: Fix bigint test without GMP
13:11 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48764/
13:22 whiteknight nwellnhof: so long as you don't add any backwards-incompatible features
13:22 whiteknight the important part is that all developers need to be able to regenerate it without going crazy, if necessary
13:24 nwellnhof whiteknight: i just happen to have bison 2.4.2 installed here and wanted to ask if that's ok. thanks.
13:26 whiteknight yeah, everybody has a different version, I think. So it does get regenerated with some regularity
13:29 dalek parrot: r48765 | nwellnhof++ | trunk/compilers/imcc (7 files):
13:29 dalek parrot: [imcc] Check duplicate identifers more thoroughly
13:29 dalek parrot: Partly fixes r1701
13:29 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48765/
13:30 uniejo left #parrot
13:32 dalek TT #1701 closed by nwellnhof++: .const string of a .local string that's been assigned to -> bus error
13:32 dalek TT #1701: http://trac.parrot.org/parrot/ticket/1701
13:32 dalek TT #1766 created by nwellnhof++: n_regs_used in PBC files isn't checked
13:32 dalek TT #1766: http://trac.parrot.org/parrot/ticket/1766
13:33 macroron joined #parrot
13:41 mariano__ left #parrot
13:42 mariano__ joined #parrot
13:45 ash_ left #parrot
13:46 dalek parrot: r48766 | nwellnhof++ | trunk/t/compilers/imcc/syn/const.t:
13:46 dalek parrot: [imcc] Test case for TT #1701
13:46 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48766/
13:55 arnsholt Given to integers, what's the best way in PIR to get div $P0, $P1 as a float?
14:00 nwellnhof integer registers or integer PMCs?
14:02 arnsholt PMCs
14:02 arnsholt Right now I just coerce the them to num registers and divide those, which seems to work
14:02 nwellnhof i'd say $N0 = $P0, $N1 = $P1, $N2 = div $N0, $N1
14:03 nwellnhof 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 #parrot
14:07 particle you don't need to convert both
14:08 particle autoboxing should take care of it for you
14:09 patspam joined #parrot
14:12 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:13 arnsholt Not without checking types and such. Coercing both to nums is less work for me =)
14:25 ash_ joined #parrot
14:34 davidfetter joined #parrot
14:40 Topic for #parrot is now #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:42 Topic for #parrot is now 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:50 patspam left #parrot
15:07 ruoso joined #parrot
15:08 fperrad_ joined #parrot
15:09 fperrad left #parrot
15:09 fperrad_ is now known as fperrad
15:10 ruoso left #parrot
15:11 davidfetter left #parrot
15:16 davidfetter joined #parrot
15:20 arnsholt What do I need to do to get the PIR output from my compiler to run through the parrot interpreter?
15:21 arnsholt (Provide access to the language PBC somehow, I guess?)
15:23 fperrad_ joined #parrot
15:26 fperrad left #parrot
15:26 fperrad_ is now known as fperrad
15:29 hercynium left #parrot
15:32 whiteknight arnsholt: what do you mean by that
15:37 arnsholt Doing "./parrotlog --target=pir > file.pir ; ./parrot_install/bin/parrot file.pir" essentially
15:37 arnsholt (But with a few modifications of the pir for debugging)
15:43 davidfetter left #parrot
15:46 chromatic joined #parrot
15:56 particle yes, you'll need load_bytecode 'your-lang'
15:57 jan left #parrot
15:58 arnsholt There we go. Cheers!
16:00 patspam joined #parrot
16:01 whiteknight left #parrot
16:07 dalek TT #854 reopened by doughera++: config/inter/progs.pm:  Figure out why -libpath: needs to be removed from ...
16:07 dalek TT #854: http://trac.parrot.org/parrot/ticket/854
16:07 theory joined #parrot
16:09 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:20 hercynium joined #parrot
16:24 nwellnhof ash_: yeah, that's the biggest performance problem right now
16:24 nwellnhof ash_: what percentage of time is spent in GC in your app?
16:25 particle i just don't understand why parrot doesn't have a performant gc by now
16:26 particle 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.
16:26 Coke particle: can YOU fix the GC?
16:26 chromatic They're really very difficult to write.
16:26 particle Coke:  i know, it's hard. and i know, there are other things to do that are easier, and are also pain points.
16:27 particle 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
16:27 particle it seems a bit to me like wyle e. coyote
16:27 Coke whoa.
16:27 particle try one thing, when it fails, don't ever try that way again.
16:28 particle chromatic: i disagree. we can have experimental gc's which fail tests.
16:28 chromatic And we do.
16:28 chromatic And they haven't replaced the current GC for an important reason.
16:28 particle of that, i was not aware.
16:30 particle what will it take to imlement a winner? 3 months for a team of two to three good hackers?
16:30 particle and i mean at the current burn rate, not 40 hr weeks
16:30 chromatic How long does it take to fix a bug?
16:31 particle please, estimate.
16:31 chromatic I can't.
16:31 particle are the problems with the current experimental gc's all bugs, or are there structural/argorithmic/design issues?
16:31 particle is that even known?
16:32 chromatic The current problems are bugs.
16:32 chromatic We can't discuss design issues without data over a large set of likely programs.
16:32 particle ok, good.
16:32 particle are the bugs being tracked?
16:32 chromatic In a formal sense, not to my knowledge.
16:33 particle ok, so that's a potential place to spend some energy.
16:34 nwellnhof i wonder how people could try to write experimental GCs without tackling things like write barriers first
16:34 chromatic That too.
16:34 chromatic Or at least formalizing our memory model somehow.
16:36 patspam left #parrot
16:38 patspam joined #parrot
16:38 nwellnhof i think it would be really helpful to implement a classic two-space copying collector first.
16:39 nwellnhof it wouldn't be much faster than the current GC, maybe even slower.
16:39 nwellnhof but it would be a much better base for optimizations than the code we have now.
16:40 chromatic That means we'd have to be able to move our GCables in memory.
16:40 patspam left #parrot
16:40 nwellnhof yes, we will have to, sooner or later.
16:42 pyrimidine joined #parrot
16:42 luben_work left #parrot
16:48 tcurtis joined #parrot
16:53 fperrad left #parrot
16:54 nwellnhof left #parrot
16:57 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/l​ibparrot.so.2.7.0(Parrot_confess+0x87)
16:57 p6eval ..[0x2ad9c6ab52d…
16:57 pmichaud star: say ~(for 1..200 { $_ })
16:57 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
16:57 p6eval ..97 …
16:57 pmichaud something appears to have broken with strings.  :(
16:58 chromatic r48727?
16:58 pmichaud looking
17:00 ash_ chromatic: its not finished but http://75.143.73.208/?input=say%20[%2b]%201...3 you might find it interesting
17:01 chromatic Very nice!
17:01 chromatic pmichaud's example completes there, so something in the past week is the culprit.
17:01 moritz ash_: care to add a <noscript> tag that warns?
17:02 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
17:02 p6eval ..96 97 …
17:02 pmichaud hmm
17:02 pmichaud rakudo: say ~(for 1..500 { $_ })
17:02 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/l​ibparrot.so.2.7.0(Parrot_confess+0x87)
17:02 p6eval ..[0x2b0b575e62d…
17:03 ash_ moritz: for browsers without javascript? good idea, one sec, i'll add something
17:03 moritz right
17:04 ash_ has anyone considered a pre-built GC system for parrot before? like libauto
17:05 ash_ 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.
17:10 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
17:10 chromatic I haven't checked it, pmichaud.  That seems like a likely candidate though.
17:10 pmichaud okay, I'll start checking.
17:27 patspam joined #parrot
17:32 jsut_ joined #parrot
17:35 atrodo chromatic> ping
17:37 chromatic pong
17:37 jsut left #parrot
17:37 pmichaud r48726 fails.
17:38 pmichaud so must be before that
17:38 atrodo chromatic> I'm curious about your report from #ps when you mentioned lorito data structures
17:39 pmichaud trying 48715
17:39 chromatic I'm looking at a uniform header to represent primitives.
17:39 chromatic That is, everything is at least 16 bits long, and the two high bits indicate the type: PMC, STRING, Integer, or Float.
17:39 chromatic I figure we may have to use the next two bits for size.
17:40 chromatic Maybe not; not sure.
17:40 cotto_work something like Firefox's internal representation of js primitives?
17:40 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).
17:41 chromatic We still pay a dereferencing penalty for lookup, but we can move things around if we go through the tables.
17:41 chromatic cotto_work, something a lot like that.
17:41 atrodo that's probably not a bad idea
17:41 chromatic Seemed to work pretty well for me.
17:42 chromatic 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
17:42 chromatic No, those can be absolute values.
17:42 chromatic ... unless they're too big to fit, in which case autopromoting them is pretty easy.
17:44 chromatic 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?
17:44 atrodo oh, nope, scratch that
17:46 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 chromatic That is, 0x00NN0000 00000000.
17:46 chromatic NN == 00 means "local to this context"
17:46 chromatic NN == 01 means "local to the caller context"
17:46 chromatic NN == 10 means "global to this execution context"
17:47 chromatic NN == 11 means "global to another execution context"
17:47 chromatic Not sure how much I like that, but it had possibilities.
17:47 chromatic It means flipping bits on GCables which escape to a higher context, but that makes GC really easy in other ways.
17:49 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.
17:50 atrodo Certainly seems like it at first glance
17:52 chromatic The table representation is a pretty clear win.
17:53 chromatic Uniformity of access is also good.
17:53 chromatic Scope-separated tables seems like an easy way to partition generations.
17:54 chromatic A table representation for shared GCables also forms an interesting barrier.
17:56 atrodo I've debated doing that with my prototype.
17:56 atrodo 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
17:56 atrodo and therefore, doesn't know which PMCs it actually refers to
17:56 atrodo so I've localized my table to a per-PMC lookup table
17:57 chromatic I wanted to get away from the idea of C pointers.
17:57 ruoso joined #parrot
17:57 chromatic It's too tempting to treat them as C pointers, at which point you lose all of your safety.
17:58 atrodo Right.  The block of memory contains indexes, no actual pointers
17:58 atrodo the lookup table associated with a PMC holds the actual C pointers
17:58 chromatic I mean no pointers *anywhere*.
17:59 atrodo So, huh...
17:59 pmichaud r48715 fails
17:59 chromatic Maybe in the interpreter context, but that's it.
18:00 ash_ what about the concept of references?
18:00 chromatic Hadn't reached the concept of references.
18:00 chromatic pmichaud, is r48715 the culprit?
18:00 chromatic That's odd.
18:00 pmichaud chromatic: no, that's just the place I'm at in checking.
18:01 pmichaud I'm trying to find an earlier revision that passes
18:01 pmichaud I know that star passes
18:01 chromatic Okay, good.
18:01 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?
18:01 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
18:02 chromatic atrodo, that's as far as I made it.
18:03 atrodo And if that's it, you would not need any pointers, only array indexes.  Interesting
18:04 chromatic You need a map somewhere of offsets for specific data structures, but you need that to do efficient object attributes anyway.
18:05 chromatic 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?
18:05 tcurtis Would the lookup table's values be pointers to the PMC's data?
18:06 mikehh joined #parrot
18:06 chromatic They'd be the PMC's data itself.
18:06 chromatic Just a chunk of memory.
18:08 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?
18:09 chromatic Coalescing a table would mean fixing up indexes into the table, yes.
18:10 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:11 chromatic Yes.
18:16 cotto_work PaFo needs to give masak++ a grant to write Parrot's release announcements.
18:16 moritz :-)
18:20 nwellnhof joined #parrot
18:20 Coke cotto_work: pafo needs $$ before that can happen.
18:21 ash_ well, the easy solution is to all win the lottery and then we can all donate to PaFo
18:24 moritz hey, maybe you can convince masak by fixing some rakudo memory bugs in exchange :-)
18:34 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.
18:34 chromatic Good idea.
18:34 patspam left #parrot
18:34 Coke (I'd be happy to buy one of the DT copies for said purpose.)
18:34 * cotto_work too
18:38 pmichaud (rakudo bug) -- TimToady points out that this bug existed prior to latest star release (and I've confirmed it)
18:39 pmichaud but it shows up less frequently there
18:39 chromatic Any other bisecting you can do is a big help.
18:39 pmichaud yes, I'll keep plugging away at it
18:40 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.
18:40 pmichaud I'm 64 bit here
18:40 sorear chromatic: how does smalltalk handle storage if an object's class gains or loses slots during the object's lifetime?
18:40 TimToady I believe it doesn't fail under 64
18:40 pmichaud it's failing for me under 64
18:40 TimToady or fails differently
18:40 pmichaud yes, it now fails much earlier.
18:40 chromatic sorear, not sure.  I'll have to find the blue book somewhere around here.
18:40 chromatic Oh, there it is.
18:40 purl No it isn't!
18:40 whiteknight joined #parrot
18:41 TimToady are your ints 4-byte or 8 in the compiled image?
18:41 pmichaud intvalsize => '8'
18:42 TimToady well, probably just tweaks the random failure knob differently :)
18:42 sorear seen darbelo
18:42 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]
18:42 aloha darbelo was last seen in #parrot 3 days 18 hours ago saying "whiteknight: Is svn tied to Trac or drupal's auth?".
18:43 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]
18:43 aloha plobsing was last seen in #parrot 5 days 4 hours ago joining the channel.
18:57 chromatic seen smash
18:57 purl smash was last seen on #parrot 9 hours, 1 seconds ago, saying: nods.
18:57 aloha smash was last seen in #parrot 9 hours 1 mins ago saying "11am here".
18:58 chromatic msg smash I'd love to see percentage improvements in your benchmark tables, if possible.
18:58 purl Message for smash stored.
19:05 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
19:05 NotFound The obvious solution is to use a StringBuilder instead of that specific code
19:06 nwellnhof or a ResizableStringArray
19:07 x3nU left #parrot
19:07 nwellnhof i meant a FixedStringArray: http://trac.parrot.org/parrot/browser/branc​hes/charset_massacre/src/string/api.c#L3152
19:07 theory left #parrot
19:08 NotFound Using Parrot_gc_allocate_memory_c​hunk_with_interior_pointer can be quicker fix, but I don't know how reliable is.
19:09 nwellnhof NotFound: this doesn't make a difference
19:09 x3nU joined #parrot
19:09 nwellnhof you could store the whole STRING structs in the allocated memory. that would work.
19:11 chromatic Fixing the anonymous sub memory usage *does* require GCable packfiles.
19:16 Coke packfiles are pmcs now, yes?
19:16 chromatic Not entirely.
19:16 cotto_work not the ones imcc uses
19:19 particle left #parrot
19:22 particle joined #parrot
19:23 cotto_work bacek estimates that it'd take him a couple weeks to convert imcc to use the packfile pmcs.
19:27 whiteknight a couple of weeks for bacek? That means the task must be impossible
19:28 cotto_work that's how I read it
19:28 patspam joined #parrot
19:28 GeJ Bonjour everyone.
19:29 whiteknight hello GeJ
19:29 GeJ Good afternoon Andrew.
19:29 GeJ clock?
19:29 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 /
19:29 GeJ just checking.
19:33 robin-gvx joined #parrot
19:35 theory joined #parrot
19:51 whiteknight so what exactly is the problem with anon subs? I haven't dug into it too deeply
19:52 chromatic They're stored in the constant tables of packfiles.
19:52 whiteknight oh. So...how are they leaking memory?
19:52 chromatic They only go away on interpreter destruction.
19:53 nwellnhof afaics, the problem isn't that the subs are anon, it's that they're compiled dynamically
19:54 nwellnhof http://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.
19:55 chromatic The PMC anchoring goes away and nothing in the system can call them, but they stick around in memory anyway.
19:55 whiteknight urg
19:56 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:57 ash_ left #parrot
20:03 whiteknight left #parrot
20:03 macroron left #parrot
20:07 nopaste "NotFound" at 192.168.1.3 pasted "patch: reimplement Parrot_str_join using a StringBuilder" (120 lines) at http://nopaste.snit.ch/23219
20:08 NotFound This patch pass parrot test
20:09 pyrimidine left #parrot
20:09 NotFound It can be improved by checking if ar is a String Array
20:10 preflex joined #parrot
20:10 theory left #parrot
20:11 NotFound Mmmm.. maybe not, the StringBuilder can even be faster
20:12 nwellnhof One downside of using StringBuilder is that doesn't know the total amount of memory needed in advance.
20:12 nwellnhof So it has to reallocate
20:15 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
20:16 particle ok, then it's confusing
20:16 chromatic Is i signed?
20:16 Coke chromatic: you'd know better than us.
20:16 chromatic Questions you don't want answered, I'm sure.
20:16 particle yes, for no good reason, i is signed
20:17 cotto_work I'd feel negative if someone signed me.
20:17 particle that is, i don't see a reason it should be.
20:17 NotFound This is a quick atempt of fix. If someone can vetify that it solves the rakudo problem I'll happily clean it.
20:17 particle oh, i see.
20:17 chromatic Seems like a reasonable request.
20:18 robin-gvx left #parrot
20:18 NotFound Sorry if I'm being rude, I'm tired with other things
20:22 jan joined #parrot
20:23 theory joined #parrot
20:25 NotFound left #parrot
20:26 NotFound joined #parrot
20:41 bacek Good morning, humans
20:43 dalek rakudo: 3b2529b | shlomif++ | t/harness:
20:43 dalek rakudo: Add a --help/-h flag to t/harness.
20:43 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​b2529b42c66bff63ea0b1671df4702ab651ac70
20:43 dalek rakudo: a0e9d2f | kyleha++ | t/harness:
20:43 dalek rakudo: [t/harness] spelling fix
20:43 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​0e9d2f76c5b4f044d0633e8ad1cc08fb00a1852
20:43 cotto_work helo bacek
20:43 bacek aloha, cotto_work
20:43 aloha left #parrot
20:44 aloha joined #parrot
20:44 aloha left #parrot
20:45 nwellnhof hey bacek, i had a look at that GHC paper
20:45 nwellnhof i think it doesn't help us with parrot
20:45 bacek nwellnhof, why?
20:45 aloha joined #parrot
20:45 nwellnhof it relies on the fact that in GHC every object is a closure
20:46 bacek I had prototype of vtable override at some point.
20:46 patspam left #parrot
20:46 patspam joined #parrot
20:46 bacek nwellnhof, no. It relies that all access to Objects go through vtables
20:46 bacek aloha, msg bacek bang
20:46 aloha bacek: OK. I'll deliver the message.
20:46 bacek ~~
20:46 nwellnhof bacek: you mean two different vtables for every object?
20:46 bacek cotto, aloha now use privmsg for msg
20:46 bacek nwellnhof, yes
20:47 cotto_work bacek++
20:47 cotto_work thanks
20:47 cotto_work aloha, msg cotto_work HELO?
20:47 aloha cotto_work: OK. I'll deliver the message.
20:47 aloha cotto_work: Dunno.
20:47 nwellnhof bacek: i have to think about that
20:47 cotto_work ~
20:51 bacek aloha, insult bacek
20:51 cotto_work karma foo
20:51 purl foo has karma of 21
20:51 aloha foo has karma of 0.
20:51 cotto_work karma bar
20:51 purl bar has karma of 12
20:51 aloha bar has karma of 0.
20:51 cotto_work foo++ bar++
20:51 cotto_work karma foo
20:51 purl foo has karma of 22
20:51 aloha foo has karma of 1.
20:52 cotto_work karma bar
20:52 purl bar has karma of 13
20:52 aloha bar has karma of 0.
20:52 bacek insult bacek
20:52 bacek meh... Doesn't work :)
20:52 aloha left #parrot
20:53 Ryan52 left #parrot
20:53 cotto_work purl used to not do that
20:53 purl cotto_work: i'm not following you...
20:53 aloha joined #parrot
20:53 bacek aloha, insult bacek
20:54 bacek insult bacek
20:54 cotto_work really insult bacek
20:54 aloha left #parrot
20:54 atrodo really insult bacek, please
20:54 aloha joined #parrot
20:54 cotto_work -ENOALOHA
20:55 aloha left #parrot
20:55 aloha joined #parrot
20:55 bacek insult bacek
20:55 aloha left #parrot
20:55 cotto_work your bot is clearly too polite
20:56 cotto_work which is surprising, knowing that English is your fourth language
20:56 aloha joined #parrot
20:56 bacek hmm. I can teach her some swear words
20:56 bacek insult bacek
20:56 aloha left #parrot
20:56 bacek Can't locate object method "new" via package "Acme::Scurvy::Whoreson::BilgeRat"
20:56 bacek strange...
20:56 purl somebody said strange was but true
20:57 sorear hello bacek
20:57 bacek aloha, sorear
20:57 aloha joined #parrot
20:58 bacek insult bacek
20:58 sorear bacek: any chance of getting aloha in #perl6 @ freenode.net?  we could really use a non-spammy seenbot
20:59 bacek sorear, yes. I'll do it tonight.
20:59 aloha left #parrot
21:00 aloha joined #parrot
21:01 aloha left #parrot
21:01 aloha joined #parrot
21:01 bacek insult bacek
21:01 aloha You are nothing but a clapper-clawed half-mouthful of inept anal warts.
21:01 bacek hooray!
21:01 nwellnhof insult nwellnhof
21:02 aloha You are nothing but a petrified thimbleful of bawdy dung.
21:02 nwellnhof hilarious
21:02 cotto_work Does it do different languages?
21:02 cotto_work insult aloha
21:02 aloha aloha is nothing but a humid enema-bucketful of malodorous dog balls.
21:03 cotto_work insult karma
21:03 aloha karma is nothing but a dizzy-eyed heap of antique seagull puke.
21:03 purl is nothing but a dizzy-eyed heap of antique seagull puke. has neutral karma
21:03 nwellnhof insult purl
21:03 aloha purl is nothing but an unoriginal bucket of cockered slurpee-backwash.
21:04 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 #parrot
21:05 Paul_the_Greek Afternoon, kiddies.
21:05 cotto_work hio Paul_the_Greek
21:05 nwellnhof insult your mom
21:05 aloha your mom is nothing but a spongy accumulation of crook-pated fat-woman's stomach-bile.
21:05 aloha left #parrot
21:05 Paul_the_Greek Hey cotto.
21:06 Paul_the_Greek aloha insult purl insult aloha
21:06 Paul_the_Greek Hmm.
21:06 cotto_work fun as it is, isn't that part of the reason we're getting rid of purl?
21:06 Paul_the_Greek You mean the cross-talk between two zombies?
21:06 mikehh left #parrot
21:06 bacek sorear, sigh... Bot::BasicBot doesn't support multiple servers.
21:06 dalek rakudo: 870efdb | masak++ | src/core/Set.pm:
21:06 dalek rakudo: [Set] replaced postcircumfix:<{ }> with at_key
21:06 dalek rakudo:
21:06 dalek rakudo: Suggested by pmichaud++.
21:06 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​70efdbb4185344de3637e3456a641a09f649cd4
21:07 aloha joined #parrot
21:08 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:09 nwellnhof or the vtable could act like a read barrier
21:10 nwellnhof i think that's what you mean
21:11 ruoso left #parrot
21:11 aloha left #parrot
21:12 whiteknight joined #parrot
21:12 luben joined #parrot
21:15 mariano__ left #parrot
21:17 dukeleto 'ello
21:19 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?
21:20 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.
21:20 purl well, dukeleto is mentoring a few peeps. can't remember everyone. sure. or jonathan at leeeeeeeeeeeeto dot net
21:20 Coke seen fperrad?
21:20 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]
21:20 Coke Paul_the_Greek: there's your answer.
21:20 dukeleto Paul_the_Greek: he comes in here occasionally
21:20 Paul_the_Greek fperrad. Of course.
21:20 Paul_the_Greek I guess I best email him.
21:20 dukeleto Paul_the_Greek: he is on the parrot-dev mailing list
21:20 Coke hai.
21:21 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.
21:22 Paul_the_Greek Tricky business, since HLLs may rely on the Integer-ness of it in odd ways.
21:22 Coke dukeleto: $DAYJOB!
21:22 purl i think $dayjob is interesting today. I found a couple of bugs in the JDK.
21:22 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.
21:23 Paul_the_Greek nwellnhof: I believe you are correct.
21:24 Paul_the_Greek I believe Lua uses write barrier for incremental GC, in anticipation of implementing generational.
21:24 aloha joined #parrot
21:25 bacek nwellnhof, we can use write barriers to implement GenGC.
21:25 bacek aloha, seen bacek
21:25 aloha bacek: Sorry, I haven't seen bacek.
21:25 cotto_work aloha, botsnack
21:25 purl thanks cotto_work :)
21:25 bacek aloha, seen bacek
21:25 aloha bacek: Sorry, I haven't seen bacek.
21:26 bacek aloha, seen cotto_work
21:26 aloha bacek: Sorry, I haven't seen cotto_work.
21:26 bacek meh...
21:26 bacek karma cotto
21:26 purl cotto has karma of 1547
21:26 aloha cotto has karma of 0.
21:26 mikehh joined #parrot
21:26 bacek cotto++
21:26 bacek karma cotto
21:26 purl cotto has karma of 1548
21:26 aloha cotto has karma of 0.
21:26 bacek I broke her...
21:27 aloha left #parrot
21:27 aloha joined #parrot
21:28 bacek ~~
21:28 bacek aloha, foo is bar
21:28 aloha bacek: Okay.
21:28 bacek aloha, foo?
21:28 purl aloha, foo is bar
21:28 aloha bacek: Dunno.
21:28 aloha purl: Okay.
21:28 purl Okay. is, like, there an example
21:28 bacek interesting...
21:29 aloha left #parrot
21:29 Paul_the_Greek What did I do the other day to get them to talk for six steps?
21:30 nwellnhof karma karma aloha purl
21:30 purl karma aloha purl has neutral karma
21:30 nwellnhof something like that
21:30 Paul_the_Greek purl karma aloha karma purl
21:30 purl aloha karma purl has neutral karma
21:30 nwellnhof but aloha os offline now
21:31 Paul_the_Greek It just mumbled up above.
21:32 nwellnhof it looks like bacek is testing it right now
21:32 aloha joined #parrot
21:33 bacek ~~
21:33 bacek aloha, seen bacek
21:33 aloha bacek: Sorry, I haven't seen bacek.
21:33 bacek aloha, seen bacek
21:33 aloha bacek: Sorry, I haven't seen bacek.
21:33 cotto_work karma purl karm aloha purl
21:33 purl purl karm aloha purl has neutral karma
21:33 aloha purl karm aloha purl has karma of 0.
21:33 purl aloha: excuse me?
21:33 aloha purl: Dunno.
21:33 purl Dunno. is there a command to show that?
21:34 cotto_work karma purl karm aloha purl
21:34 purl purl karm aloha purl has neutral karma
21:34 aloha purl karm aloha purl has karma of 0.
21:34 purl aloha: sorry...
21:34 nwellnhof karma purl aloha
21:34 purl purl aloha has neutral karma
21:34 aloha purl aloha has karma of 0.
21:34 purl aloha: sorry...
21:34 Paul_the_Greek purl purl karma aloha
21:34 purl Paul_the_Greek: sorry...
21:35 cotto_work aloha, buz is <reply>purl, quux?
21:35 aloha cotto_work: Okay.
21:36 cotto_work buz
21:36 cotto_work aloha, buz?
21:36 purl purl, quux?
21:36 aloha cotto_work: Dunno.
21:36 cotto_work forget buz
21:36 purl cotto_work, I didn't have anything matching buz
21:36 cotto_work forget aloha, buz
21:36 purl cotto_work: I forgot aloha, buz
21:36 dalek rakudo: 33e94e7 | masak++ | src/core/Set.pm:
21:36 dalek rakudo: [Set] implemented .hash
21:36 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​3e94e7f86ed5101f97bd4056b141eb2180fb6fd
21:36 nwellnhof purl, quux is <reply>aloha, buz?
21:36 purl bugger all, i dunno, nwellnhof
21:37 nwellnhof quux is <reply>aloha, buz?
21:37 nwellnhof aloha, buz?
21:37 aloha nwellnhof: I give up.
21:37 nwellnhof aloha, buz is <reply>purl, quux?
21:37 aloha nwellnhof: Okay.
21:37 nwellnhof aloha, buz?
21:37 purl purl, quux?
21:37 aloha nwellnhof: I give up.
21:38 sorear purl: no, Dunno. is <reply> $who: excuse me?
21:38 purl i don't know, sorear
21:38 sorear purl: no, Dunno. =is= <reply> $who: excuse me?
21:38 purl wish i knew, sorear
21:38 * dukeleto notices the bot fever today
21:39 nwellnhof insult dukeleto
21:39 nwellnhof hmm, doesn't seem to work
21:39 nwellnhof no offence meant, btw
21:40 dukeleto nwellnhof: no worries :)
21:41 patspam left #parrot
21:42 aloha left #parrot
21:44 aloha joined #parrot
21:45 bacek ~~
21:45 bacek aloha, seen bacek
21:45 aloha bacek: Sorry, I haven't seen bacek.
21:47 bacek cotto++
21:47 bacek aloha, karma cotto
21:47 aloha bacek: cotto has karma of 0.
21:49 sorear cotto--
21:49 sorear aloha, karma cotto
21:49 aloha sorear: cotto has karma of 0.
21:51 aloha left #parrot
21:51 aloha joined #parrot
21:52 cotto_work aloha: karma me
21:52 purl cotto_work has karma of 22
21:52 aloha cotto_work: me has karma of 0.
21:52 cotto_work me++
21:52 cotto_work aloha: karma me
21:52 purl cotto_work has karma of 22
21:52 aloha cotto_work: me has karma of 1.
21:53 dukeleto does aloha do things that purl doesn't?
21:53 aloha left #parrot
21:53 cotto_work dukeleto: insults
21:53 aloha joined #parrot
21:54 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]
21:54 aloha Sorry, I haven't seen masak.
21:54 bacek seen purl
21:54 cotto_work seen purl
21:54 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]
21:54 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]
21:55 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...
21:55 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]".
21:55 purl aloha: what?
21:55 aloha purl: Dunno.
21:55 purl Dunno. is, like, there a command to show that
21:55 dukeleto oh boy.
21:55 cotto_work botfight
21:55 aloha left #parrot
21:55 aloha joined #parrot
21:55 dukeleto Pull requests 2.0 on github are very sexy: http://github.com/blog/712-pull-requests-2-0
21:56 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: http://github.com/blog/712-pull-requests-2-0
21:56 aloha dukeleto was last seen in #parrot 6 seconds ago saying "Pull requests 2.0 on github are very sexy: http://github.com/blog/712-pull-requests-2-0".
21:57 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:58 whiteknight ditto
22:00 Tene There's certainly something to be said for just granting everyone commit privileges on a centrally-owned repo.
22:02 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.
22:03 Tene 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 #parrot
22:09 preflex joined #parrot
22:09 dukeleto cotto_work: i don't think so, but let me check
22:09 dukeleto Tene: organizations are composed of teams
22:10 dukeleto Tene: each team gets certain priveledges, and then you at people to teams
22:11 aloha left #parrot
22:12 aloha joined #parrot
22:12 bacek ~~
22:12 bacek seen aloha
22:12 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: http://github.com/blog/712-pull-requests-2-0".
22:12 aloha aloha was last seen in #parrot 30 seconds ago joining the channel.
22:13 bacek aloha, seen bacek
22:13 aloha bacek: Sorry, I haven't seen bacek.
22:13 bacek ~~
22:13 bacek aloha, seen bacek
22:13 aloha bacek: Sorry, I haven't seen bacek.
22:13 tcurtis left #parrot
22:15 aloha left #parrot
22:15 aloha joined #parrot
22:15 bacek ~~
22:16 bacek aloha, seen bacek
22:16 aloha bacek: Sorry, I haven't seen bacek.
22:16 aloha left #parrot
22:18 aloha joined #parrot
22:18 aloha left #parrot
22:18 aloha joined #parrot
22:19 bacek ~~
22:19 bacek aloha, seen bacek
22:19 aloha bacek: Sorry, I haven't seen bacek.
22:19 bacek aloha, seen bacek
22:19 aloha bacek: Sorry, I haven't seen bacek.
22:21 aloha left #parrot
22:21 aloha joined #parrot
22:21 bacek aloha, seen bacek
22:21 aloha bacek: bacek was last seen in #parrot 0 seconds ago saying "seen bacek".
22:21 bacek oookey
22:22 cotto_work karma a\
22:22 purl a\ has neutral karma
22:22 aloha a\ has karma of 0.
22:22 aloha left #parrot
22:22 cotto_work karma  b
22:22 purl b has karma of 14
22:22 bkuhn left #parrot
22:22 aloha joined #parrot
22:23 bacek aloha, seen bacek
22:23 aloha bacek: bacek was last seen in #parrot 0 seconds ago saying "seen bacek".
22:23 aloha left #parrot
22:23 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 #parrot
22:24 bacek seen pmichaud
22:24 purl pmichaud was last seen on #parrot 3 hours, 42 minutes and 28 seconds ago, saying: intvalsize => '8'
22:24 aloha Sorry, I haven't seen pmichaud.
22:24 bacek seen aloha
22:24 purl aloha was last seen on #parrot 17 seconds ago, saying: Sorry, I haven't seen pmichaud.
22:24 aloha aloha was last seen in #perl6 15 seconds ago joining the channel.
22:24 bacek seen sorear
22:24 purl sorear was last seen on #parrot 35 minutes and 11 seconds ago, saying: aloha, karma cotto
22:24 aloha sorear was last seen in #perl6 1 seconds ago saying "karma bacek".
22:24 bacek hooray! It works!
22:25 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"
22:26 bacek nwellnhof, :)
22:26 sorear nwellnhof: if you wanted to dust off ponie, we could combine them
22:27 bacek sorear++ # just for fun
22:27 bacek karma sorear
22:27 purl sorear has karma of 149
22:27 aloha sorear has karma of 1.
22:27 bacek explain sorear
22:27 aloha positive: just for fun (bacek); negative: nothing; overall: 1.
22:27 cotto_work explain bacek
22:27 aloha positive: nothing; negative: nothing; overall: 0.
22:28 bacek cotto, I created new DB for aloha. Fresh start
22:28 nwellnhof sorear++ # for another reason
22:28 nwellnhof explain sorear
22:28 aloha positive: for another reason (nwellnhof), just for fun (bacek); negative: nothing; overall: 2.
22:30 nwellnhof insult purl
22:30 nwellnhof aloha, insult purl
22:31 bacek insult purl
22:31 aloha purl is nothing but a despicable gob of hugger-muggered snake bait.
22:31 bacek yay!
22:31 nwellnhof insult purl
22:31 aloha purl is nothing but a rude-snouted coagulation of vain chicken piss.
22:31 nwellnhof yippie!
22:32 cotto_work bacek, won't that get unwieldy after a while?
22:33 cotto_work (explain)
22:34 nwellnhof sorear++ # for yet another reason
22:34 nwellnhof explain sorear
22:34 aloha positive: for another reason (nwellnhof), so basically, I can write anything I want here, and it'll show up in 'explain'? (masak), http://www.youtube.com/watch?v=_RyodnisVvU (Tene); negative: nothing; overall: 6.
22:35 Andy left #parrot
22:36 nwellnhof explain aloha
22:36 aloha positive: nothing; negative: nothing; overall: 0.
22:37 bacek afk # dayjob
22:40 nwellnhof insult dayjob
22:40 aloha dayjob is nothing but a penguin-molesting bag of squishy entrails.
22:52 dalek partcl-nqp: 590cc4e | coke++ | src/Partcl/Compiler.pm:
22:52 dalek partcl-nqp: extremely rudimentary tcl-like backtrace printer.
22:52 dalek partcl-nqp: - inspired by jnthn++'s work in rakudo.
22:52 dalek partcl-nqp: review: http://github.com/partcl/partcl-nqp/commit​/590cc4e2c34e42a2e94f794747d9f455ce77080b
22:58 dalek partcl-nqp: 365a050 | coke++ | src/Partcl/Compiler.pm:
22:58 dalek partcl-nqp: Remove duplicate line. try to actually print out file. (not that it's ever set)
22:58 dalek partcl-nqp: review: http://github.com/partcl/partcl-nqp/commit​/365a050adc27a566041f4fb0b154bbee49b3946d
23:03 whiteknight the poor, molested penguins
23:11 nwellnhof left #parrot
23:12 dukeleto what did penguins ever do to us?
23:12 * dukeleto is reminded of a hilarious Futurama episode involving human-hunting robot-led penguins
23:13 cotto_work They made us use that linux thing.
23:13 cotto_work Is that one of the new ones?
23:14 cotto_work nm.  I remember which one you're talking about.
23:14 cotto_work I misread that as "robot penguins".
23:15 chromatic Isn't the phrase "hilarious Futurama episode" redundant in several ways?
23:16 tetragon joined #parrot
23:17 * whiteknight forgot how long IRS form 1023 was
23:17 whiteknight makes filing my normal taxes look like a walk in the park
23:18 cotto_work with or without ninjas?
23:21 chromatic Try renewing a driver's license.
23:29 dalek TT #1767 created by pmichaud++: join opcode causes segfaults and other memory corruption issues
23:29 dalek TT #1767: http://trac.parrot.org/parrot/ticket/1767
23:32 fedov joined #parrot
23:33 cotto_work That bug won't last for long.
23:33 smash chromatic: hiya, wrer you looking for me ?
23:34 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?
23:35 chromatic Comparing the averages alone would be useful.
23:35 smash chromatic: just saw your message, sure, i'll add it some time tomorrow
23:35 chromatic Very nice, thank you.
23:35 Tene http://rakudo.org/status/ has not been updated in quite a while.
23:36 smash chromatic: you're welcome, feel free to sugest anything else you find useful
23:37 chromatic A "here's the past week" would be very useful too, if it showed Parrot/Rakudo version numbers.
23:39 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.
23:39 * smash nods.
23:40 smash i'll look into it
23:40 smash but now, sleep time
23:41 smash left #parrot
23:45 kid51 joined #parrot
23:52 Patterner left #parrot
23:53 Paul_the_Greek left #parrot
23:57 Paul_the_Greek joined #parrot
23:58 Paul_the_Greek I wonder if it would help to declare certain PMC functions 'inline'.
23:59 dukeleto where is smash's benchmark page?
23:59 Paul_the_Greek I don't know.
23:59 chromatic http://gil.di.uminho.pt/use​rs/smash/rakudo-bench.html

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced