Camelia, the Perl 6 bug

IRC log for #parrot, 2009-05-28

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:08 Coke
00:09 bacek_ joined #parrot
00:12 dalek decnum-dynpmcs: r67 | darbelo++ | trunk/t/data/ (50 files):
00:12 dalek decnum-dynpmcs: set svn:eol-style to native.
00:12 dalek decnum-dynpmcs: Didn't I do this already?
00:12 dalek decnum-dynpmcs: review: http://code.google.com/p/decn​um-dynpmcs/source/detail?r=67
00:18 Coke NotFound++
00:20 Coke (his patch for namespace leakage works for me.)
00:21 eternaleye joined #parrot
00:29 dalek parrot: r39206 | whiteknight++ | branches/io_rewiring/src (2 files):
00:29 dalek parrot: [io_rewiring] convert the 'open' method to call Parrot_io_open, not the other way around. Initial prototype for how the rest of this branch will progress
00:29 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39206/
00:30 eternaleye_ joined #parrot
00:32 dalek parrot: r39207 | whiteknight++ | branches/io_rewiring/src/io/api.c:
00:32 dalek parrot: [io_rewiring] Parrot_io_open checks for PMCs that does 'file'
00:32 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39207/
00:35 eternaleye joined #parrot
00:35 bobke joined #parrot
00:39 dalek parrot: r39208 | whiteknight++ | branches/io_rewiring/src (2 files):
00:39 dalek parrot: [io_rewiring] convert Parrot_io_close to not use PCCINVOKE
00:39 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39208/
00:49 dalek parrot: r39209 | whiteknight++ | branches/io_rewiring/src (2 files):
00:49 dalek parrot: [io_rewiring] convert Parrot_io_is_closed. Also, clean up a few things, and start differentiating IO PMCs based on roles
00:49 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39209/
01:02 dalek parrot: r39210 | whiteknight++ | branches/io_rewiring/src (2 files):
01:02 dalek parrot: [io_rewiring] convert a few more things, add support in some functions for StringHandle
01:02 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39210/
01:12 japhb joined #parrot
01:18 eternaleye joined #parrot
01:25 dalek parrot: r39211 | whiteknight++ | branches/io_rewiring/src (3 files):
01:25 dalek parrot: [io_rewiring] update Parrot_io_flush
01:25 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39211/
01:35 Limbic_Region joined #parrot
01:54 Maghnus_ joined #parrot
02:26 darbelo joined #parrot
02:33 Andy joined #parrot
02:35 janus joined #parrot
02:59 mikehh joined #parrot
03:10 cotto joined #parrot
03:20 donaldh joined #parrot
03:42 dalek rakudo: 0501c3e | pmichaud++ |  (2 files):
03:42 dalek rakudo: Add .import method to Perl6::Compiler.
03:42 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​501c3ecbc38ab3b5a68dde569026ac484e2e110
03:42 dalek rakudo: 1d8c5bf | pmichaud++ | :
03:42 dalek rakudo: Merge branch 'master' of git@github.com:rakudo/rakudo
03:42 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​d8c5bffe21d2e44ad500c5845f73240ef559510
03:42 dalek rakudo: 84b4e1c | pmichaud++ |  (2 files):
03:42 dalek rakudo: Revise setting imports to use Perl6::Compiler.import .
03:42 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​4b4e1c1ee9d785cf44f54deba0f93fc538f9fc2
03:42 dalek rakudo: 4e3a1e8 | pmichaud++ | src/setting/IO.pm:
03:42 dalek rakudo: IO.print() and IO.say() shouldn't be exported yet.
03:42 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4​e3a1e8760c99bd9c023c9dd8d1b7d14299be59d
03:42 dalek rakudo: 10707f1 | pmichaud++ | build/gen_setting_pm.pl:
03:42 dalek rakudo: Add back %*INC settings, clean up code generation slightly.
03:42 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​0707f12d5c9bcf4d47f16ef9013bff4ef467e23
03:42 dalek rakudo: ae90998 | pmichaud++ | src/setting/IO.pm:
03:42 dalek rakudo: Don't export IO.slurp yet either.
03:42 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​e90998b05a1dcd674f7c2c00ceef34e2d43c6be
03:42 dalek rakudo: b325177 | pmichaud++ | src/setting/ (2 files):
03:42 dalek rakudo: Fix a few more export declarations in settings.
03:42 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/b​3251776e4ff226561598a477be4028aaa625575
04:05 dduncan joined #parrot
04:13 dduncan left #parrot
04:14 tetragon joined #parrot
04:18 cottoo joined #parrot
04:45 cotto joined #parrot
05:26 flh joined #parrot
05:28 Maghnus joined #parrot
05:38 Coke joined #parrot
05:42 dalek rakudo: 8690273 | pmichaud++ | src/ (2 files):
05:42 dalek rakudo: Move .get from PIR to setting.
05:42 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​69027334115a9e7ae7321404e2d5cafd8b90ed5
06:39 dalek parrot: r39212 | allison++ | trunk/config/auto/gcc.pm:
06:39 dalek parrot: [cage] On Ubuntu karmic, the lpia architecture builds with -Os by
06:39 dalek parrot: default (thanks to Robert Collins for digging up that tip). Among other
06:39 dalek parrot: things, -Os disables the -falign-functions optimization (in order to
06:39 dalek parrot: save space). Parrot can build with or without aligned function pointers,
06:39 dalek parrot: but it was detecting lpia as ordinary i386, and so expecting them, and
06:39 dalek parrot: failing on an assert in src/multidispatch.c. This config patch detects
06:39 dalek parrot: the lpia architecture using the "-gnulp" element of the archname (which
06:39 dalek parrot: is unique to lpia), and correctly sets Parrot's config value for
06:39 dalek parrot: "aligned_funcptr" to 0. Parrot now successfully builds on karmic lpia.
06:39 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39212/
06:41 cotto That might be a record for the ratio between the size of the commit message and the size of the diff.
06:43 cotto lpia is http://lwn.net/Articles/247003/
06:43 cotto lpia?
06:43 purl lpia is http://lwn.net/Articles/247003/
06:44 cotto lpia is also low power in Intel architecture
06:44 purl okay, cotto.
06:56 dalek pynie: r66 | isop44++ | trunk/Grammar/Actions.nqp:
06:56 dalek pynie: Register function parameters in the function's symbol table as 'lexical' vars
06:56 dalek pynie: review: http://code.google.com/p/pynie/source/detail?r=66
06:56 dalek pynie: r67 | isop44++ | trunk/src/builtins/funcs.pir:
06:56 dalek pynie: Add an XXX line
06:56 dalek pynie: review: http://code.google.com/p/pynie/source/detail?r=67
06:57 iblechbot joined #parrot
06:58 dalek parrot: r39213 | allison++ | trunk/ports/ubuntu/lpia_no_aligned_funcptr.patch:
06:58 dalek parrot: [ubuntu] Capture the relevant patch for building the 1.0 packages. Can
06:58 dalek parrot: be removed for the 1.4 packages.
06:58 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39213/
07:20 donaldh joined #parrot
07:39 GeJ purl source?
07:39 purl i guess source is really ugly anyway :) or You probably want http://www.infobot.org
07:39 GeJ thanks
07:41 Austin_Hastings joined #parrot
07:55 dalek pynie: r68 | isop44++ | trunk/Lib/test/parrot/functions.py:
07:55 dalek pynie: Add 2 tests for simple closures
07:55 dalek pynie: review: http://code.google.com/p/pynie/source/detail?r=68
08:05 dalek rakudo: a16083e | moritz++ | src/setting/IO.pm:
08:05 dalek rakudo: implement IO.lines in terms of IO.get
08:05 dalek rakudo: This should give us correct .ins counting for free
08:05 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​16083ed6b07e776a0b616a91b1497d1741e3985
08:08 dalek parrot: r39214 | chromatic++ | trunk (4 files):
08:08 dalek parrot: [STRING] Added string_make_from_charset() which makes a STRING given a charset
08:08 dalek parrot: number, not a name.  As PackFiles store STRING charsets by name (and we don't
08:08 dalek parrot: have dyncharsets yet), thawing a STRING meant getting the charset's name by
08:08 dalek parrot: number, then calling string_make() which uses the number to look up the
08:08 dalek parrot: appropriate charset's name.  Parrots are better than that.
08:09 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39214/
08:29 masak joined #parrot
08:47 silug joined #parrot
08:52 dalek parrot: r39215 | chromatic++ | trunk/src/gc/gc_ms.c:
08:52 dalek parrot: [GC] Flipped the Arena replenish level check in gc_ms_more_traceable_objects().
08:52 dalek parrot: This tuning parameter represents the threshold of free objects beyond which it
08:52 dalek parrot: doesn't make sense to try to reclaim more objects in the pool during the next
08:52 dalek parrot: GC run.  With the current parameter value, we assert that an arena with 30% or
08:52 dalek parrot: more free objects isn't likely to fill up before the next run.
08:52 dalek parrot: Rakudo's hello world program is 6.79% faster with this small change.
08:52 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39215/
09:04 wayland76 @seen bacek
09:05 wayland76 (sorry)
09:07 moritz seen bacek
09:07 purl bacek was last seen on #parrot 11 hours, 41 minutes and 36 seconds ago, saying: morning, good morning
09:11 Austin_Hastings joined #parrot
09:43 bacek joined #parrot
09:44 cognominal joined #parrot
10:48 bacek hi there
10:49 wayland76 bacek: We have a question for you
10:50 bacek wayland76: O RLY? :)
10:50 wayland76 We were wondering around the tea-table tonight how "Ey ukhnem" translates into English
10:50 wayland76 And I may've written it wrong :)
10:50 wayland76 (Ey uknyem?)
10:51 bacek Ah! "Эй ухнем" :)
10:51 Austin_Hastings Why on earth would you be wondering such a thing?
10:51 wayland76 The standard English translation is "Yo heave ho".  But we wondered if their might be something more accurate
10:51 wayland76 bacek: I'll take your word for it
10:51 bacek "ey ukhnem" is mostly right
10:52 wayland76 Austin_Hastings: Because its the refrain to the song often referred to as "The Volga Boatmen song"
10:52 Austin_Hastings Aha.
10:53 Austin_Hastings I was curious about the back story. Perhaps a cabbie shouted it at you while making an obscene gesture and driving across the sidewalk...
10:53 wayland76 bacek: But we want /translation/, not /transliteration/
10:53 wayland76 Austin_Hastings: Those things don't usually happen to me :)
10:53 Austin_Hastings Didn't you hear? One reason why Perl6 is taking so long is that the tr// function is a LOT more advanced.
10:53 Austin_Hastings :)
10:54 bacek wayland76: I'm not quite sure about correct semantic translation to English. It requires a lot of background that I don't have.
10:54 wayland76 Ok.  Should I ask ilya then?
10:54 Austin_Hastings $greeting = tr <<Good morning!>>, "Spanish";
10:54 bacek wayland76: You can try.
10:55 Austin_Hastings say $greeting;    # ¡Buenos Dias!
10:55 burmas joined #parrot
10:56 bacek wayland76: closest thing is gnome's "Hey hoh" from Snow White. But without all happinnes
10:57 bacek Austin_Hastings: it's big world. tr/// should accept timezone as argument.
10:58 Austin_Hastings bacek: I think it's local time unless you do something tricksy.
10:58 bacek say $greeting; # Buenos Noches Australia :)
10:58 wayland76 bacek: Thanks
10:58 wayland76 I like Nachos too :)
10:58 wayland76 (Sorry ;) )
10:59 Austin_Hastings bacek: Recall that $greeting = tr <<Good Morning>>, "es";
10:59 wayland76 No.
10:59 wayland76 It was "Shpanich" :)
10:59 Austin_Hastings Or maybe: $greeting = tr/Hello/en-au/;   # Oy!
11:00 Austin_Hastings So running perl now either requires an internet connection, or a really big binary.
11:00 cotto $greeting = tr/Hello/en-lol/; #ohai
11:00 cotto I'm liking perl6 more every day.
11:00 wayland76 I think that's "G'day"
11:01 Austin_Hastings No, it's not. I've seen the movie.
11:01 wayland76 tr <<Oy>>.WhatLanguage()
11:01 Austin_Hastings :)
11:01 Austin_Hastings lol
11:02 fakeevalbot "Oy" not part of any recognised polite language.  Try Yiddish for "Oy Vey".
11:04 * bacek fetched his favourite yarmulke
11:04 bacek seen Infinoid
11:04 purl Infinoid was last seen on purl 6 hours, 18 minutes and 15 seconds ago, saying: <private message>
11:05 bacek msg Infinoid I'm going to scrap tt452_reduce_mmd branch. It's totally wrong from strategic point of view.
11:05 purl Message for infinoid stored.
11:08 bobke joined #parrot
11:10 Austin_Hastings Why can I, in NQP, say "namespace_block(self, $/, $key)" to call a method, but I cannot say "self.namespace_block($/, $key)"? Or better still, just "namespace_block($/, $key)"?
11:10 burmas left #parrot
11:12 whoppix joined #parrot
11:13 jonathan Austin_Hastings: I think self isn't implemented in NQP.
11:13 Austin_Hastings But it works as a parameter?
11:13 jonathan oh, hmm
11:14 jonathan OK, that's odd.
11:14 Austin_Hastings Odd's a word.
11:14 jonathan Might be nqpbug.
11:14 Austin_Hastings So long as it works, I'm okay with doing it. I just wondered what was up.
11:14 jonathan self.namespace_block($/, $key) I would expect to work.
11:14 Austin_Hastings I was really expecting the implicit self to work:  "method()"
11:14 jonathan No, that's always a sub call.
11:15 Austin_Hastings Would it be .method()?
11:15 jonathan No implicit passing of self.
11:15 jonathan .method() is like $_.method
11:15 Austin_Hastings grrr
11:15 Austin_Hastings So the short way for one method to call another is what?
11:16 jonathan Another method in the same class? In Perl 6 that'd be $.method_name()
11:16 Austin_Hastings Or is $_ := self at the start of each method?
11:16 Austin_Hastings Aha!
11:16 Austin_Hastings $.method()
11:16 jonathan But NQP I'm pretty sure doesn't support that.
11:16 Austin_Hastings Does that work in NQP?
11:16 Austin_Hastings okay.
11:16 jonathan Rakudo doesn't get it quite right yet either.
11:17 Austin_Hastings Rakudo. Eh.
11:17 Austin_Hastings I'm okay with method(self, ...), as long as that's the current best thing.
11:17 jonathan I fear it is.
11:18 jonathan But self.method(...) really should work too, I think that's probably a bug.
11:18 Austin_Hastings Actually, is there a way to do something like "is parsed(...)" for rules?
11:18 Austin_Hastings Because that's what I'm doing - just a redirect.
11:20 donaldh joined #parrot
11:20 Austin_Hastings Laugh!
11:21 Austin_Hastings My compiler now generates:   .namespace ["1"]
11:21 Austin_Hastings whoops.
11:21 jonathan Heh, been there, done that one.
11:22 jonathan Probably you have a <foo>? and did some :namespace(~$<foo>)
11:22 jonathan But actually need ~$<foo>[0]
11:22 Austin_Hastings Nope. I have a $past<namespace> := 1
11:22 jonathan oh
11:22 jonathan OK well, there's more than one way to screw it up. :-)
11:22 Austin_Hastings :)
11:22 jonathan At least we've found different ways. ;)
11:22 Austin_Hastings Copy/paste error. Should have called it $past<adjectives><is_namespace>, but I'm a slouch.
11:35 Austin_Hastings The problem with adding namespace support is that once you start, it turns out every other symbol is in the wrong $$#%#% namespace.
11:36 wayland76 Not in the wrong οαρςθιγν namespace?
11:37 wayland76 Or maybe the wrong ש׳רןםלען namespace?
11:37 Austin_Hastings * tr/$$#%#%/gr-coptic/;
11:41 ZuLuuuuuu joined #parrot
11:42 wayland76 Where's the documentation on making external libraries work with Parrot?
11:43 wayland76 Are we still using NCI?
11:43 Austin_Hastings What else is there?
11:44 wayland76 I'll take that as a yes, and seek doco :)
11:44 Austin_Hastings Please don't.
11:45 wayland76 Why not?
11:45 Austin_Hastings Interpreting anything I say as informative would almost certainly be wrong.
11:47 Austin_Hastings For all values δ representing things I know about using Parrot and the PGE/PCT system, the value ε representing things I know about the internals of Parrot is guaranteed to be strictly less than δ. And δ is really, really small.
11:49 wayland76 Is ε > 0?
11:50 Austin_Hastings It currently is, although there seems to be little guarantee it will stay that way.
11:50 wayland76 Because if so, you're ahead of me.  My knowledge was just enough to add the -X option to parrot, mostly by exposing already existing functionality
11:50 Austin_Hastings Things I thought I knew have turned out to be not true.
11:50 Austin_Hastings What's the -X option?
11:51 wayland76 Parrot --help says "-X --dynext add path to dynamic extension search"
11:51 Austin_Hastings Ahh. Add path to dynamic extension search
11:51 wayland76 Basically, you can specify where your .so files live
11:51 Austin_Hastings I take it that's related to loading external compiled code?
11:52 wayland76 I forget.  I think it was related to loading .so files that Parrot created for itself
11:52 wayland76 (if you're on windows, .so = .dll)
11:53 wayland76 Anyway, the path was already there inside the program, and it was implemented the same way as the other two paths, and just didn't have a command line option
11:53 wayland76 So I just had to add that
11:53 wayland76 (although I admittedly also added the path to the error message :) )
11:53 Austin_Hastings Hmm. So much for blocks keeping the namespace of their containing block.
11:54 wayland76 But I don't claim to have even a vague idea of the layout of things, except the Parrot::Install library
11:54 Austin_Hastings :)
11:54 Austin_Hastings I know where the pmcs are located. :)
11:54 wayland76 I don't :)
11:54 Austin_Hastings They're in src/pmc
11:54 Austin_Hastings or pmcs.
11:54 Austin_Hastings I forget.
11:54 Austin_Hastings But bash will remind me.
11:55 wayland76 pmc.  I just looked
11:55 Austin_Hastings Yep
11:55 wayland76 Rakudo has a src/pmc directory too
11:55 Austin_Hastings They deserve it.
11:55 Austin_Hastings So what are you working on?
11:55 wayland76 (Not in Parrot, in their own source tree)
11:56 cotto wayland76, nci is your best bet for working with external libraries
11:56 wayland76 Well, I've just gotten the Rakudo RPM to work yesterday, so I'm fiddling with various different things, seeing if any of the things that catch my fancy are easily doable yet
11:57 wayland76 cotto: Thanks.  Is there an improved replacement planned, or will NCI be it for the forseeable future?
11:57 cotto If you need to add a signature, edit src/call_list.txt and rebuild
11:57 wayland76 Austin_Hastings: And you?
11:58 wayland76 cotto: I'll ask again when I can make sense of that.  Reading documentation now :)
11:58 Austin_Hastings A compiler for 'close'.
11:58 cotto There was a GSoC project to generate NCI stubs as needed, but I don't think it's currently usable.
11:59 wayland76 Oh, ok.
11:59 wayland76 Austin_Hastings: Link?
11:59 wayland76 (ie. to info about 'close')
11:59 cotto That'd be nice.  I tried searching for it, but that's not an easy name to search for.
12:00 Austin_Hastings wayland76: No such animal. It's coming right out of my head.
12:00 bacek Austin_Hastings: I've implemented "self" in NQP. O wait. It was in pmc_pct branch
12:01 wayland76 Austin_Hastings: What's good about it?
12:01 Austin_Hastings bacek: :)
12:01 * bacek just wrote one the biggest letter in his life. To parrot-dev@.
12:01 Austin_Hastings wayland76: http://nopaste.com/p/aHs3oN9T4
12:02 Austin_Hastings If you leave out the first line, that code runs.
12:02 bacek Austin_Hastings: but t was approved by pmichaud so I can chrerry-pick it into trunk
12:03 Austin_Hastings bacek: Cool. What self did you add? The self.method(...) one?
12:03 bacek Austin_Hastings: yes
12:03 Austin_Hastings bacek: Sweet. Thanks.
12:03 wayland76 Austin_Hastings: Thanks, but that doesn't explain why.  Just for fun/Parrot learning?
12:04 jonathan bacek: Ahhh...that explains why I thought we had it...
12:04 Austin_Hastings wayland76: Yeah, mostly.
12:04 wayland76 ok
12:04 bacek jonathan: indeed :)
12:10 deetah joined #parrot
12:10 deetah can an ELF binary be translated into PIR code?
12:11 wayland76 deetah: Elf the Perl6 implementation, or ELF the linux library format?
12:11 deetah linux library format.
12:11 wayland76 s/library/binary/
12:11 deetah yeah.
12:11 wayland76 Either way, though, not that I know of
12:12 wayland76 Although it may be theoretically possible
12:12 wayland76 if someone wrote the tool to do it
12:12 deetah ummm.
12:12 dalek parrot: r39216 | bacek++ | trunk/compilers/nqp (4 files):
12:12 dalek parrot: [nqp] Cherry-pick handling of "self" from pmc_pct branch.
12:12 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39216/
12:12 deetah would parrot's memory management comply with x86 assembler's ones?
12:12 bacek msg pmichaud Can you please review r39216? It's NQP "self" implementation from pmc_pct branch
12:12 purl Message for pmichaud stored.
12:12 deetah would parrot's memory management comply with x86 assembler's ones?
12:13 bacek Austin_Hastings: now you can use self.method() :)
12:13 jonathan deetah: Parrot doesn't provide direct memory access.
12:13 deetah would it be possible to translate, say, MIPS, ARM and x86 ELF's to PIR?
12:14 wayland76 deetah: I'm no expert.  You'd have to ask someone else
12:14 deetah and make them architeture-free?
12:14 deetah jonathan: does that mean it'd be technically impossible?
12:15 jonathan deetah: Probably not, but it'd be (1) probably quite hard and (2) probably hard to make performant.
12:15 Austin_Hastings bacek: Not until I get the update. :)
12:15 deetah it'd be pretty interesting, I think.
12:16 jonathan I mean, Parrot is Turing Complete, so I guess at *some* level it's gotta be possible. ;-)
12:16 jonathan But whether it's be practical is a whole different matter.
12:17 jonathan I worked once on translating .Net bytecode to PIR, but .Net bytecdoe is already code intended to run on a VM rather than hardware.
12:17 jonathan So it wasn't so hard.
12:18 cotto deetah, that's an interesting idea, but it'd be *very* slow if you tried it with a current Parrot
12:19 deetah thinking of, say, lame, how would it slow things down, theoretically?
12:19 cotto I guess you could use an UnManagedStruct for memory access.
12:20 cotto lame?
12:20 purl lame is LAME Ain't an MP3 Encoder! or a free Unix mp3 encoder at http://www.sulaco.org/mp3/ OR lame filter http://metalab.unc.edu/dbarberi/lame/
12:20 deetah right.
12:21 cotto Ok.  You mean for some pure computational problem.
12:21 deetah mhm
12:24 cotto you'd get a lot of unnecessary overhead since Parrot's designed for dynamic languages, although it might be possible to limit that to startup and a relatively constant penalty, since CPU emulation wouldn't need many dynamic features
12:25 deetah so it'd be a better idea to build some C(XX) to parrot compiler?
12:25 cotto it'd be less inefficient
12:26 deetah and which one would take longer to implement?
12:26 wayland76 is smoke the constant running of regression tests?
12:26 cotto wayland76, it's not exactly constant, but yes
12:27 cotto it depends on how people have their machines configured
12:27 wayland76 Oh.  Is it reports from users then?
12:27 cotto deetah, I don't know.
12:27 cotto yes
12:27 wayland76 I'm really wondering about tools/install/smoke.pl and the like
12:28 deetah mkay, i've found out what I wanted. thanks for the info and cya!
12:28 cotto deetah, it'd be an interesting exercise either way
12:28 cotto bye
12:28 wayland76 o/
12:28 deetah left #parrot
12:28 cotto wayland76, what about it?
12:28 Coke joined #parrot
12:28 wayland76 I'm trying to figure out what it''s for
12:29 wayland76 Is it for checking that your Parrot isn't broken?
12:29 cotto wayland76, my best guess is that it's for smoking an installed Parrot
12:31 cotto no idea how well it works
12:31 cotto s/well // also applies ;)
12:31 wayland76 Ok.  I'll keep looking around and see what I can find :)
12:34 szabgab joined #parrot
12:35 bacek cotto: ping
12:35 cotto bacek, pong
12:36 bacek cotto: any plans for pmc_pct branch?
12:36 cotto what's up?
12:36 purl Your face, cotto. That's what.
12:36 cotto Hmm.  I kinda lost steam there.
12:36 Coke cotto: are there any other commits like r38000 ?
12:37 cotto I need to do a better job wrapping my head around PAST.  Once my mind is sufficiently warped, I'll jump back in.
12:37 cotto Coke, checking...
12:37 bacek yeah... I spent time on digging how pmc works...
12:37 bacek Coke: (r38000) nope iirc.
12:38 Coke ok. If someone can revert that, they can get karam and close out #713. =-)
12:38 Coke (or apply infinoid's modified patch.)
12:38 Coke (if that looks right)
12:39 * Coke wishes he had timings on "make test" for partcl, not just "make spectest"
12:39 cotto Coke, the only similar one was r37998.  I didn't get very far because I ran into the same thing bacek is dealing with.
12:39 bacek Coke: I've got better plan (described in my latest mail to parrot-dev@). If you can provide some feedback it will be very helpful.
12:40 cotto I don't entirely trust my state of mind to back out that commit, but I'll do it after some sleep if nobody beats me to it.
12:40 Coke bacek; other than "don't break my language", I'm not sure I can provide much practical advice. I'll double check today, though.
12:40 bacek Coke: thanks.
12:40 Infinoid bacek: (scrapping tt452_reduce_mmd) Ouch.  is there nothing we can salvage?
12:41 skids joined #parrot
12:41 bacek Infinoid: implementation of "op" in terms of "i_op"
12:50 Infinoid I just read your parrot-dev post, sounds good
12:52 Infinoid By pushing it into pmc2c, I think subclasses like Perl6Int and Tclint will be able to get the performance improvement too, for free
12:53 bacek Infinoid: no. TclInt.base_type != enum_class_Integer
12:53 Infinoid No, but TclInt will have its own switch statement that checks for dynpmc_TclInt
12:53 bacek But if I can change it without braking stuff...
12:53 Infinoid or at least, it *can* have that
12:54 cotto vtable->base_type is a deceptive name
12:54 Infinoid very much so
12:55 Austin_Hastings Is there any kind of known issue with .HLL/.namespace and get_global not working?
12:56 jsut joined #parrot
12:58 bacek Infinoid: I'll check what we can do with dynpmcs in this case. But I'm very conservative about possibilities. There is no pre-defined enum_class_TclInt.
12:58 Coke codetest failures: http://smolder.plusthree.com/app/pu​blic_projects/report_details/22848
12:59 Coke Infinoid: I think making dynpmcs that subclass core classes have to add code (even automatically at C time) seems wrong.
12:59 Infinoid bacek: I know.  the value is only available from within the dynpmc itself, you can't check it from core
13:00 Infinoid Coke: The entire purpose of pmc2c is to automatically generate C code for pmcs and dynpmcs.  Are you saying the existence of pmc2c is wrong?
13:01 Coke strawman, no.
13:01 Infinoid (seems like a bit of an overreaction, to me.)
13:01 Coke Infinoid: it's certainly better than having to manually roll anything.
13:02 gryphon joined #parrot
13:02 szabgab joined #parrot
13:02 Coke In general, I think the approach of "avoid MMD because it's expensive" is wrong, and we should work to make MMD faster.
13:02 Coke but IANACP. nor an architect.
13:03 bacek Coke: MMD isn't slow... PCC is
13:03 Coke then let's make that faster. =-)
13:04 Coke <shrug> don't mind me.
13:04 * bacek looking as pcc_rewiring branch
13:04 Infinoid As I understand TT #452, I think the argument is more like "avoid MMD because it is wrong for vtables"
13:04 * cotto is tempted to do the same
13:04 Infinoid but I'm not an architect, either.
13:05 * bacek is architect. Not for parrot though :)
13:05 Coke Infinoid: that gets back to the schizophrenia of our architecture. at one point that was a good thing. =-)
13:06 Infinoid true.  Anyway, if we appear to be working around MMD/PCC, it's because staring at that code causes madness.
13:06 HG` joined #parrot
13:11 bacek ok.  Sleep time. I'll try to mockup some code on weekend.
13:12 pmichaud I wonder to what degree "avoid MMD" is because "it fails", though.
13:13 Whiteknight joined #parrot
13:13 dalek parrot: r39217 | pmichaud++ | trunk/compilers/nqp/src/Grammar/Actions.pir:
13:13 dalek parrot: [nqp]:  Some small cleanups to bacek++'s changes in r39216.
13:13 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39217/
13:20 Austin_Hastings pmichaud: Question about root_new, etc.: Isn't this issue a very-low-level version of "import"?
13:25 pmichaud Austin_Hastings: I don't quite understand.
13:25 Austin_Hastings The original thread seemed to be "new cannot accept a rooted path, so there's no way to create and object from a remote hll's namespace."
13:26 Austin_Hastings So root_new takes a rooted path, enabling [parrot;Integer] to be created from within .HLL "tcl" or whatever
13:26 pmichaud it's more that "new is doing bad things, and we need a way to create an object from a PMC type declared in a remote namespace"
13:27 Austin_Hastings But the bad thing in question is creating a proxy, right?
13:27 pmichaud creating a PMCProxy in the hll's namespace
13:27 pmichaud creating the PMCProxy itself isn't bad.
13:27 Austin_Hastings What namespace would it be in otherwise?
13:27 dalek partcl: r377 | coke++ | wiki/ParrotIssues.wiki:
13:27 dalek partcl: add another bug; classify bugs as MUST fix vs. must fix. =-)
13:27 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=377
13:27 pmichaud the namespace that the PMC type itself operates in -- usually 'parrot'
13:27 dalek partcl: r378 | coke++ | wiki/ParrotIssues.wiki:
13:27 dalek partcl: whoops; we can build against an installed parrot now, remove this issue.
13:27 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=378
13:28 Austin_Hastings Why would there be a proxy there at all?
13:28 dalek TT #716 created by doughera++: [PATCH] Remove incorrect check for function pointer alignment
13:28 Austin_Hastings (Here's me not understanding what  a proxy is for, really.)
13:28 pmichaud all PMC types end up with PMCProxy
13:28 Austin_Hastings Okay.
13:28 pmichaud a PMCProxy object is the representation of a PMC's "class object"
13:28 pmichaud for example
13:28 Austin_Hastings So wouldn't the proxy already exist?
13:29 pmichaud Parrot tries to be lazy about creating PMCProxy objects when they're needed
13:29 Austin_Hastings Okay.
13:29 pmichaud internally Parrot doesn't use class objects for the PMC types
13:29 pmichaud but if I do     $P0 = get_class 'Integer'
13:29 pmichaud I have to have something that represents the Integer PMC type.  That's what a PMCProxy does
13:29 Austin_Hastings So if this is the very first time someone does a "new Integer" then the Integer PMCProxy needs to be created, yeah?
13:29 pmichaud correct.
13:30 Austin_Hastings And that should be in the same nsp that the class is defined in -- [parrot;Integer] in this case.
13:30 pmichaud or anything else that wants an oo-based representation of the Integer PMC type
13:30 pmichaud correct.
13:31 Austin_Hastings But when I want to instantiate a new object of type perl6::Test::More, I have to import the namespace, get the default symbols, etc.
13:31 Austin_Hastings (Something which is conspicuously tagged as NYI in the docs.)
13:31 pmichaud Yes and no.
13:31 Coke NYI?
13:31 Austin_Hastings not yet impl
13:31 Coke NYI is not yet implemented
13:32 * Coke was checking the bot. =-)
13:32 Austin_Hastings okl
13:32 Austin_Hastings ok
13:32 pmichaud keep in mind that the docs you're looking at are likely more speculative than descriptive
13:32 Austin_Hastings sorry
13:32 Austin_Hastings :)
13:32 Austin_Hastings I was wondering how pissed people would get if I created a table of parrot vocabulary in trac.
13:33 Coke there is already a glossary file in the docs.
13:33 Austin_Hastings But anyway, why yes and no?
13:33 pmichaud in the parrot sense, the way someone would create a new object of type perl6::Test::More would be    $P0 = root_new ['perl6';'Test';'More']
13:33 pmichaud no importing required.
13:33 Austin_Hastings Coke: I was thinking along the lines of a list of opcodes and directives and whatever-elses, with links.
13:34 pmichaud that's the "no" part
13:34 Austin_Hastings okay...
13:34 * Austin_Hastings is skeptical.
13:34 pmichaud in the perl6 sense, creation of objects is really done through the protoobject's "new" method, so that the correct mechanism for creating something would be
13:34 pmichaud $P0 = get_root_global ['perl6';'Test'], 'More'
13:34 pmichaud $P1 = $P0.'new'()
13:35 Austin_Hastings Okay, that looks better.
13:35 pmichaud at least, that's how it would be done until perl6 is able to define its VTABLE_instantiate interface in terms of protoobjects and .new
13:35 Austin_Hastings What happens if you do the new [perl6;Test;More] ?
13:36 pmichaud You'd get a [perl6;Test;More] object, but it would be uninitialized and perl6 might not understand why not.
13:36 Austin_Hastings Okay.
13:36 pmichaud again, at least until perl6 is able to implement a proper vtable interface for it.
13:36 Austin_Hastings So I don't need to import things if I can call new on them directly. And I can call new only on things in my .HLL. But I can call root_new on anything.
13:37 pmichaud if using the keyed/array/string interface to new, it only works for the current HLL
13:37 pmichaud (the argument to new can be a namespace, which can be anywhere)
13:37 pmichaud the primary reason for root_new was to avoid
13:38 pmichaud $P0 = get_root_namespace ['parrot';'Integer']
13:38 pmichaud $P1 = new $P0
13:38 Austin_Hastings So is root_new a macro? :)
13:38 pmichaud which would otherwise occur *a lot*
13:38 pmichaud no, it's an opcode.
13:38 pmichaud probably could've been a macro -- was easier to write it as an opcode.
13:39 dalek parrot: r39218 | Infinoid++ | trunk/src/pmc/integer.pmc:
13:39 dalek parrot: [core] Revert r38000.  See TT #713.
13:39 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39218/
13:39 dalek parrot: r39219 | Infinoid++ | trunk (3 files):
13:39 dalek parrot: [config] Apply patch from doughera++ in TT #716.
13:39 dalek parrot: Remove a faulty alignment constraint which breaks on linux/ia64.
13:39 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39219/
13:40 Austin_Hastings Okay, thanks. I was thinking proxies were import-related.
13:42 Austin_Hastings New question: I am calling load_bytecode with a non-existent path. Why does it hang?
13:42 Coke Infinoid++ #713
13:43 Coke Infinoid - any chance you can apply the patch in #715?
13:43 iblechbot joined #parrot
13:43 Coke (that would remove all the blockers I have right now.)
13:43 Austin_Hastings http://nopaste.com/p/aFQ4Ffepk     = code that hangs
13:43 dalek TT #716 closed by Infinoid++: [PATCH] Remove incorrect check for function pointer alignment
13:45 Coke Infinoid: also, check out 37998.
13:45 pmichaud I'd be very happy to see the #715 patch applied, I think it may speed up Rakudo again.
13:46 Infinoid Coke: I don't feel qualified to review/apply changes in that section of parrot
13:46 pmichaud Infinoid: I think it's a good patch.  Blame me if anything breaks.
13:47 dalek TT #713 closed by Infinoid++: Too little MMD? i_add doesn't know about subclasses.
13:47 Infinoid Ok, I'll monster the patch (but is it something we should add tests for?)
13:47 pmichaud Infinoid: add the test examples I gave in the ticket
13:47 pmichaud (with suitable modification)
13:48 pmichaud essentially, we want to make sure that the 'isa' step isn't creating a proxy in the HLL namespace
13:48 pmichaud or I can perhaps do that when I get back (have to run errands)
13:48 Infinoid that would be great, I'm running out of time here
13:52 Coke Infinoid++
13:53 Infinoid Coke: Is r37998 a problem?  Do you have a TclBigInt which it breaks?
13:53 Infinoid (or do you plan to?)
13:55 Coke Infinoid: when I pinged cotto if there were any other patches like r38000, that's the only other one he mentioend.
13:55 Coke I do plan to have bigint support at some point, yes.
13:55 Infinoid it is indeed the same kind of weird logic that we might be trying to get rid of, but in this case, the default case looks reasonable
13:55 Coke I just tried to reverse it and the patch failed locally.
13:56 Coke I'm not getting any failures from it, though.
13:56 Infinoid it will cause failures if you made a dynpmc subclassing bigint and then tried to compare huge numbers (that overflow the return type of VTABLE_get_integer)
13:57 Coke well, I will do that eventually. =-)
13:57 Infinoid ok, I gotta go
13:57 Coke ~~
14:02 he_ Hm, test success rate seems to have slid a bit lately, now at 25 failed tests, ref. http://smolder.plusthree.com/app/pu​blic_projects/report_details/22868, and I see others with more failures.
14:03 he_ BTW, it doesn't appear to be possible to look at the details of each failure via the web interface, at least not without login -- is that as designed?
14:09 dalek rakudo: a85758b | pmichaud++ | src/parser/grammar.pg:
14:09 dalek rakudo: Add a "s/// not implemented" error.  Fix q(), s(), etc to be function calls.
14:09 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​85758b513670bc3318bce9b3cf7bec0fb627e7e
14:14 Coke he_: you need JS, but it should work.
14:14 Coke you can see the generated TAP.
14:16 he_ Coke: when I visit http://smolder.plusthree.com/app/public_pr​ojects/test_file_report_details/22868/141 I get an empty document (that's the href for the first failure in http://smolder.plusthree.com/app/pu​blic_projects/report_details/22868)
14:17 he_ or ... actually, I get an incomplete html document; no document header, no <html>, no <body> just a <table>.
14:18 he_ ...which firefox renders as ... "nothing".
14:19 he_ ...and it ended up that way because I chose "open URL in new tab".  Of course it works if I just click on it directly.
14:20 frodwith joined #parrot
14:23 he_ In other words, "ignore what I said about the smolder problems"
14:24 Theory joined #parrot
14:32 dalek parrot: r39220 | NotFound++ | trunk/src/oo.c:
14:32 dalek parrot: [core] don't create proxies in foreign namespaces, TT #715
14:32 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39220/
14:38 skids joined #parrot
14:59 Coke NotFound++
15:11 Whiteknight NotFound++ indeed
15:12 Whiteknight that PMCProxy code has needed a major refactor for a while now
15:13 NotFound Looks much better that the quick attempt, doesn't it? :)
15:13 Whiteknight Much
15:13 Coke NotFound: oh, I should test and make sure this new version works, huh? =-)
15:14 Whiteknight I wonder if the functions in src/pmc.c are supposed to be renamed "Parrot_pmc_*"
15:14 NotFound Coke: I already tested partcl in C and in C++ build
15:14 Whiteknight that will make a fun, if tedious, project
15:14 Coke NotFound++
15:14 Coke NotFound++
15:14 Coke NotFound++
15:15 Coke Yay. only remaining bug is something that I'm not sure was working before we shut off the lights in january.
15:16 riffraff joined #parrot
15:18 dalek parrot: r39221 | NotFound++ | trunk/src/oo.c:
15:18 dalek parrot: [cage] update headerizing
15:18 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39221/
15:20 donaldh joined #parrot
15:22 Coke If anyone's bored, I could use some tests converted from Perl invoking parrot invoking partcl to all-tcl. plenty of examples to work from. =-)
15:23 Coke (last bug) HA. the tests are already todo'd out, but getting run anyway. harness bug, not unexpected bug.
15:26 Coke 'make test' for partcl should now be 100% again.
15:26 Coke NotFound++
15:26 Coke pmichaud++
15:26 Coke Infinoid++
15:26 NotFound Coke++
15:26 NotFound Don't forget pmichaud++
15:27 NotFound Oh, i didn't see well
15:28 Coke you guys, with your identical length psuedos...
15:28 NotFound Coke: I can help writing tcl compilers, but not tcl code
15:29 Coke the tcl code is already written, it's just wrapped in PIR. =-)
15:29 Coke er, Perl.
15:29 Coke but I'll take help on the compiler end!
15:31 NotFound Coke: BTW, the code annotations thing, I know something about using it, but nothing about generating it other than from pure pir.
15:31 Andy joined #parrot
15:31 dalek partcl: r379 | coke++ | trunk/t/cmd_parray.t:
15:31 dalek partcl: Fix TODO handling.
15:31 dalek partcl: When converting to use tcl_output_is, didn't verify that the TODO worked.
15:31 dalek partcl: With this commit, 'make test' is now expected to pass 100% against parrot HEAD,
15:31 dalek partcl: installed.
15:31 purl installed is easy as well.
15:31 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=379
15:34 Coke NotFound: I'd be happy for help on #71, which involves some updates to our TGE rules.
15:35 NotFound Coke: I'll take a look, maybe I can laern some TGE ;)
15:35 Coke basically, we see if the command the user tried to invoke exists; if not, we throw an error; instead, we need to load the 'unknown' sub (provided by init.tcl) and invoke it, and it will handle things for us.
15:36 Coke so if I call "spork", and spork isn't defined, [unknown spork] is called instead.
15:37 Coke (which may then compile a version of spork and pass off control to it.)
15:38 NotFound That type of things always amaze poor static languages guys like me ;)
15:38 Coke tcl is pretty evil.
15:38 Coke presumably in a good way. =-)
15:38 Coke (preloading init.tcl, btw, is one of the reasons to avoid invoking the entire runtime for each of 80 tests in a file. =-)
15:48 NotFound Coke: t/cmd_lsort (Wstat: 256 Tests: 22 Failed: 0)  Non-zero exit status: 1
15:49 NotFound $ prove -v t/cmd_lsort.t (...) attempt to access code outside of current code segment
15:52 Coke NotFound: there's an rt for that.
15:52 NotFound Other than that, 100%
15:52 Coke http://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=57088
15:53 Coke the individual tests pass, but parrot's non-0 exit code makes harness (rightfully) squawk.
15:53 Coke that could use some love too. oooold bug.
15:53 Coke (and all parrot's fault. =-)
15:55 NotFound Same result in C++ build
15:58 NotFound Don't we have a t/ subdir for hll things?
16:00 NotFound t/oo/proxy.t wil be a good place for TT #715 tests?
16:00 Coke +1
16:00 purl 1
16:11 Theory joined #parrot
16:25 dalek parrot: r39222 | NotFound++ | trunk/t/oo/proxy.t:
16:25 dalek parrot: [test] check example in TT #715
16:25 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39222/
16:43 dalek TT #717 created by Util++: parrot_config segfaults when invoked with the --dump option
16:47 whoppix joined #parrot
16:52 davidfetter joined #parrot
16:55 NotFound TT #717: Parrot_io_write is the uglier abuse of string internals I've ever seen.
17:10 Debolaz joined #parrot
17:26 donaldh left #parrot
17:31 darbelo joined #parrot
17:34 dalek parrot: r39223 | NotFound++ | trunk/src/ops/io.ops:
17:34 dalek parrot: [io] use putps instad of puts to emit newline in say, inspired by TT #717
17:35 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39223/
17:52 Coke TimToady: ".  there must" should be ".  There must" in S05-regex.pod
17:53 Coke i'll fix it later if no one gets to it.
17:55 TimToady Coke++
17:57 iblechbot joined #parrot
18:00 Coke NotFound: would CONST_STRING work there?
18:00 NotFound Coke: I tried, no.
18:00 Coke k.
18:00 Coke I can never remember which magic contexts those work in. =-)
18:01 NotFound ETOOMUCHMAGIC
18:03 Whiteknight it should "work" everywhere
18:03 Whiteknight even if it's converted to just a simple macro
18:04 Limbic_Region joined #parrot
18:05 * Coke is >< close to being able to setup a cron job to build parrot, install it to a temp dir, build partcl against it, and run 'make test'.
18:06 Coke hurm. I could probably do that on feather today.
18:31 dalek parrot: r39224 | NotFound++ | trunk (3 files):
18:31 dalek parrot: [io] implement setstdin opcode, TT #680, flh++
18:31 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39224/
18:34 dalek TT #680 closed by NotFound++: Add a setstdin opcode
18:35 moritz seen dcantrell
18:35 purl I haven't seen 'dcantrell', moritz
18:35 moritz does he have a different nick?
18:49 riffraff joined #parrot
18:53 Zak joined #parrot
18:53 bobke joined #parrot
18:57 Coke dcantrell?
18:57 Coke apparently not. =-)
18:57 Coke /CPAN/authors/id/D/DC/DCANTRELL/ ?
19:10 darbelo joined #parrot
19:13 Theory joined #parrot
19:18 hudnix joined #parrot
19:48 Whiteknight joined #parrot
19:52 GeJ Good morning everyone
19:55 dalek decnum-dynpmcs: r68 | darbelo++ | trunk/src/pmc/decnum.pmc:
19:55 dalek decnum-dynpmcs: Add absolute, i_absolute, neg and i_neg VTABLES.
19:55 dalek decnum-dynpmcs: review: http://code.google.com/p/decn​um-dynpmcs/source/detail?r=68
20:01 Coke GeJ: hio.
20:09 dalek parrot: r39225 | allison++ | trunk/ports/ubuntu/changelog:
20:09 dalek parrot: Adding the changelog from most recent (successful) PPA build.
20:09 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39225/
20:16 dalek parrot: r39226 | allison++ | trunk/ports/ubuntu/changelog:
20:16 dalek parrot: [ubuntu] Preparing for 1.0 package sync.
20:16 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39226/
20:18 Coke msg chromatic Now that tcl builds again, can I interest you profiling some partcl again?
20:18 purl Message for chromatic stored.
20:34 AndyA joined #parrot
20:39 dolmen joined #parrot
20:46 dalek parrot: r39227 | chromatic++ | trunk/src/pmc_freeze.c:
20:46 dalek parrot: [GC] Removed a manual GC run from run_thaw().  When loading a lot of PBC files,
20:46 dalek parrot: this is just busy work that rarely finds any PObjs to recycle.  (If we had a
20:46 dalek parrot: generational GC, that would be more appropriate here.)  Deleting this line
20:46 dalek parrot: improves Rakudo startup by 6.06% and the 10k subs benchmark by 7.12%.
20:46 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39227/
20:47 Coke good timing. =-)
20:49 NotFound I'm wondering if we must locate and delete all manual gc runs.
20:50 NotFound Maybe all are attempts of optimization that really are pesimizing, in addition of causing obscure bugs
20:50 bacek joined #parrot
21:04 NotFound Mmmm... looks like someone already killed most
21:10 Whiteknight joined #parrot
21:19 bacek joined #parrot
21:22 szabgab joined #parrot
21:29 bacek Good morning
21:29 purl Here I am, brain the size of a planet, and all they say is 'Good Morning'
21:30 eternaleye_ joined #parrot
21:30 bacek stupid bot
21:30 purl i think stupid bot is bad programmer, no cookie!
21:49 riffraff joined #parrot
22:05 szabgab joined #parrot
22:11 Infinoid purl is in fine form today
22:21 darbelo cotto: ping
22:30 cotto darbelo, I see your ping and raise your a pong
22:31 kid51 joined #parrot
22:31 rg1 joined #parrot
22:31 ZuLuuuuuu joined #parrot
22:32 darbelo I've been looking at the VTABLEs imlemented by BigInt and BigNum. And I think I'm past the halfway mark, do you have any thougts on what else DecNum should implement?
22:33 * cotto checks
22:33 PerlJam darbelo: you're past 50% done on the first 90%?  :)
22:34 darbelo More like past 50% on the first 30%.
22:34 Topic for #parrotis now Parrot 1.2.0 released | http://parrot.org/ | 303 RTs left | Weekly Priority: Profiling
22:35 cotto I'm realizing that it's been a while since I looked at the code rather than the diffs
22:36 darbelo Heh. Diffs mask the bloat.
22:37 darbelo I think it's getting big enough to start on the tests.
22:38 cotto >20 lines is big enough to start on tests
22:38 cotto ;)
22:39 cotto I'd recommend pow, mod, and freeze/thaw/visit.
22:39 cotto also is_equal, but that's easy to implement in terms of cmp
22:40 cotto but yeah, tests are a very good idea
22:41 darbelo There's an issue with the shift_{left,right} stuff I wanted to mention, too
22:41 cotto shift to the left
22:42 cotto shift to the right
22:42 cotto stand up
22:42 purl stand up are you crazy
22:42 cotto sit down
22:42 purl bring me a fainting couch! - I do believe I have a case of the vapors
22:42 cotto fight fight fight!
22:42 darbelo decNumber's idea of a shift is rather decimal.
22:42 cotto I don't see how it'd be useful.
22:43 cotto That's one of the more questionable VTABLE functions.
22:43 darbelo Fast multiply/divide by ten?
22:43 darbelo Oh wait. Decimal bitmasks!
22:43 cotto I guess.
22:44 darbelo It has a decNumberXor function for that too!
22:45 darbelo Some of the things in this library confuse the hell out of me.
22:46 dalek rakudo: 6062528 | duff++ | perl6.pir:
22:46 dalek rakudo: Update copyright.  StephenPollei++
22:46 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​0625286692fc9077205693b9a72a0743fc57734
22:49 darbelo cotto: Are there gudelines on what should be a VTABLE and what should be a method?
22:50 cotto I don't know of any, but it'd be a good idea of we had some.
22:51 darbelo for example: pow is a vtable, but I haven't seen a sqrt one.
22:51 bacek ETOOMANYVTABLEs
22:53 skids joined #parrot
22:53 cotto You could do sqrt in terms of pow.
22:54 cotto nm
22:54 darbelo But the decNumberSquareRoot would be jealous :)
22:54 cotto it's mathematically true, but the implementation needs to be smart enough to dtrt
22:57 darbelo decNumberPower should be smart enough, but a dedicated sqrt function should be faster.
22:57 cotto true and true
22:58 cotto how are you thinking about running the test suite?
22:59 darbelo make test
22:59 darbelo ;)
22:59 darbelo I want to translate the current tests into runnable pir.
23:00 darbelo They look regular enough to automate the conversion.
23:01 cotto ok.  that's the approach I was thinking about too
23:02 dalek parrot: r39228 | jkeenan++ | trunk (3 files):
23:02 dalek parrot: Move most description of MANIFEST to lib/Parrot/Manifest.pm and improve it.  wayland++
23:02 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39228/
23:03 darbelo Right now I'm pushing down the side of me that drools at new stuff and wants to implement the translator with PCT.
23:04 cotto go for it!  at this rate you'll have plenty of time to do that sort of thing
23:04 bacek darbelo: welcome to pmc_pct branch! :)
23:05 darbelo But I can still hear the side of me that likes to get things done fast whispering in my ear.
23:05 wayland76 joined #parrot
23:06 uniejo joined #parrot
23:06 darbelo "Bash it together in perl. It's quick one off script, noone will care. C'mon, you can feel the regexes pushing to get out."
23:07 cotto pct is teh shiiiiinnnnyyyyy
23:08 * darbelo gives in to the power of shiny
23:09 cotto btw, did you get your card yet?
23:09 cotto or did it at least leave Memphis? ;)
23:09 darbelo Left Menphis, arrived here.
23:13 darbelo I HAZ GOOGLES MONNIEZ!
23:18 darbelo I activated it, but haven't set the PIN so I can't use it on an ATM yet.
23:18 cotto I like automatic atm machines
23:19 darbelo No way man! Manual ATMs are the way to go.
23:19 cotto "Please take $40 from this giant stack of $20s.  We'll trust you."
23:20 darbelo "Please take only $40 from this giant stack of $20s. We'll hunt you down if you don't"
23:21 cotto Craigslist occasionally wins: http://seattle.craigslist.o​rg/est/zip/1192551608.html
23:24 Limbic_Region joined #parrot
23:26 darbelo I'm too far from seattle, but I've heard rainbow fish are tasty :)
23:27 darbelo "No such thing as a free meal" they said. Pfft.
23:28 cotto My rental agreement says no pets, but I imagine that in this market my landlord can make an exception.
23:30 rdice joined #parrot
23:30 darbelo "You can keep 'em but they have to sleep outide. And you have to clean up if they mess the carpet"
23:37 Austin_Hastings joined #parrot
23:37 Austin_Hastings Hola, #parrot.
23:52 dalek partcl: r380 | coke++ | branches/stable:
23:52 dalek partcl: Remove defunct branch. trunk is the new stable
23:52 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=380
23:53 patspam joined #parrot

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

Parrot | source cross referenced