Camelia, the Perl 6 bug

IRC log for #parrot, 2009-12-15

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:00 japhb kid51, I doubt it.
00:01 japhb I'm not sure we have any tools that can get that kind of info except maybe the profiler, and it's not doing HLL profiling
00:01 tetragon joined #parrot
00:01 Tene pmichaud: available for questions about pdd31?
00:01 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#30923), fulltest) at r43056 - Ubuntu 9.10 amd64 (g++ with --optimize)
00:02 pmichaud Tene: Tene sure
00:02 pmichaud (although I may get interrupted)
00:03 japhb afk for a break to mentally digest
00:04 Tene 1) it looks like parse_name is specced as returning an array.  This seems to prohibit things like Foo::Bar:ver<5.1.3>:auth<FOO>, or do you expect that those named items would just have some special representation in the array of strings?  ['Foo','Bar',':ver...'] ?
00:04 Tene 2) Why have you separated load_module from get_module instead of deferring that choice to the HLL?  What are the guidelines for when to call load_module and when to call get_module?
00:06 bacek joined #parrot
00:08 kid51 msg fperrad After Tuesday release, can you test Win32-patch in http://trac.parrot.org/par​rot/ticket/886#comment:7?  Thanks.
00:08 purl Message for fperrad stored.
00:08 kid51 msg particle After Tuesday release, can you test Win32-patch in http://trac.parrot.org/par​rot/ticket/886#comment:7?  Thanks.
00:08 purl Message for particle stored.
00:10 pmichaud (got interrupted)
00:11 pmichaud I wasn't particularly dealing with the :from/:ver part of the specification yet.
00:12 pmichaud I think parse_name is traditionally more about runtime symbol names than module names.  (Granted the runtime symbol names need those designations as well.)
00:12 pmichaud My expectation at this point would be that :ver, :auth, etc should perhaps be more hash-like than array-like, so perhaps we generalize parse_name to return a Capture
00:12 pmichaud or perhaps that's actually a HLL-level decision
00:13 pmichaud since a HLL has to decide internally how it wants to handle naming of multiple-versions of a module
00:13 pmichaud so yes, in that case (I'm thinking out loud here)  using some special representations in the array of strings seems most appropriate
00:14 pmichaud or the HLL decides that it should really be  ['Foo';'Bar:ver<2.3>']
00:14 pmichaud in some sense the array of strings needs to be treated as opaque data by foreign HLLs
00:14 Tene That seems distasteful to me.  I'd rather see a capture, or even better, a hash-interface with required attribute 'name', maybe with other defined-but-optional keys.
00:15 Tene but, I'm not too picky there.
00:15 Tene seems like ['Foo';'Bar:ver<2.3>'] would invite parsing it twice, which seems a bit silly.
00:15 pmichaud why twice?
00:16 Tene first to split on ::s, second to pull out the named parts from the last element.
00:16 Tene If you're already parsing the name in the first place, wy not fully parse it there?
00:16 pmichaud in some sense, this is also why pdd31 starts to introduce the idea of opaque modules
00:16 pmichaud er, opaque module handls
00:16 pmichaud *handles
00:17 pmichaud my impression of pdd21 (namespaces) was that parse_name was more about variable names than module names
00:17 dalek parrot: r43057 | darbelo++ | branches/pmc_freeze_cleanup/src/pmc_freeze.c:
00:17 dalek parrot: Avoid leaks on exceptions.
00:17 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43057/
00:17 Tene That also seems a bit off to me... you have your opaque handles, and then you have a standard function with a standard return value to actually get information out of them... why not just specify some standard for the return of module loading in the first place?
00:17 Tene and skip the opaque handle part.
00:18 Tene i expect that your answer to load_module/get_module will touch on what I'm missing there.
00:20 pmichaud my main reason for load_module and get_module separation was to have a way to ask a language "give me the handle to a module you've already loaded" versus "load this module, please"
00:20 pmichaud I don't think that the only available request should be "load this module and tell me if you failed"
00:21 pmichaud I think we should be able to ask a module "did you load this already?"
00:21 pmichaud s/module/hll/
00:21 pmichaud I could agree to upgrading parse_name a bit -- I just didn't want pdd31 at this point to stray too far from what we have already
00:22 Tene What I mentioned is what we were already using.
00:22 Tene for module loading.
00:22 pmichaud ?
00:23 pmichaud I didn't quite follow that last comment.
00:24 Tene https://svn.parrot.org/parrot/trunk/run​time/parrot/languages/parrot/parrot.pir -- load_library accepts an array specifying a name and optional named arguments
00:25 Coke pmichaud: http://wiki.github.com/perl6/nqp-rx/requests - any pointers for me on item #2 in coke wants?
00:25 Tene http://github.com/tene/steme​/blob/master/steme/steme.pir -- same thing in steme, and in rakudo master
00:25 Coke pmichaud++ # completing HG.
00:26 fperrad joined #parrot
00:27 pmichaud Tene: okay, yes, load_library was already accepting an array specifying a name and optional named arguments.... I'm not sure I see the issue
00:27 Tene pmichaud: In that case, I'm imagining something, so feel free to ignore it.
00:28 pmichaud in some ways what I wrote in pdd31 was meant to clarify and update things we had done before, as well as provide some new interfaces
00:28 Tene pmichaud: so, when would you use get_module vs load_module ?
00:29 pmichaud I'd use get_module if a knew a particular module had already been loaded.
00:29 pmichaud or if I wanted to query if a particular module was loaded.
00:29 pmichaud in writing the code for HLL::Compiler, it turned out to be a nicer refactor if the "return a module handle" part was separate from the "load a module" part
00:29 pmichaud especially if we end up with languages that share module handles but perhaps have different load semantics
00:30 Tene does load_module fail if a module is already loaded?
00:30 pmichaud no
00:30 pmichaud it's kind of like the distinction between "get_namespace" and "make_namespace"
00:30 Tene Okay, I get it.
00:31 Tene Oh, more...
00:31 Tene japhb is going to be needing the ability to query HLLs for library information, for plumage.  "Do you have module Foo::Bar?  What version is it?  Is it more than 5.10 but less than 6.8?"
00:32 pmichaud makes sense, I'd propose some api extensions then
00:32 Tene Seems to me that this should also be exposed through the HLL API, yes?
00:32 pmichaud but be careful of that question's phrasing
00:32 Coke Tene: btw, check out tcl's [package]
00:32 pmichaud it's more like "what versions of Foo::Bar do you have?"
00:33 pmichaud as opposed to "do you have Foo::Bar"
00:33 Tene IME, "Give me all available information about Foo::Bar" is appropriate, yes?
00:33 pmichaud sure, that works
00:34 darbelo purl: msg plobsing I applied two patches by tewk++ to the branch today, and made some changes afterwards, let me know what you think of them. In particular of r43058.
00:34 purl Message for plobsing stored.
00:34 Tene pmichaud: if get_module/load_module returned something with a defined interface instead of opaque, we already have that query. ;)
00:34 pmichaud my goal for pdd31 was to get a document started more than decide that we had finished it.  And to have a nqp-based implementation for it.
00:35 Tene Okay.
00:35 pmichaud I'm fine if we define an interface for that
00:35 pmichaud however
00:35 pmichaud I really want to avoid imposing requirements on hlls at this stage of the game (more)
00:36 Coke me posits >> as an end of line marker indicating "more". =-)
00:37 pmichaud at this stage of the game, I'd prefer that a defined interface be adopted by convention and experience than defined a-priori
00:37 Tene Coke: but is » allowed?  What about ≫ ?
00:38 pmichaud so, rather than encoding something specific in "Compiler API" part of pdd31, I'd prefer that we leave it as "opaque" but then say "here's the module information that HLL::Compiler returns by default, and its defined interface"
00:38 pmichaud and then create such and object in HLL::Compiler
00:38 pmichaud *an
00:39 Tene pmichaud: but you *are* defining something as the return value of get_exports.  Is that different?
00:39 pmichaud yes
00:39 pmichaud or, it may not be
00:41 pmichaud the biggest difference is that at this point, I'm more interested in getting exported symbol information from a library than meta-information from it
00:41 pmichaud it's entirely possible that they should be unified
00:41 Tene Okay.  I think I understand now.  Thanks.
00:41 pmichaud but more to the point I was trying to follow allison's dictum (from the previous pdd31) that the requirements imposed on hll writers had to be minimal
00:42 pmichaud I was also trying to create something that could handle export details with simple symbol table entries, instead of having to fill out an entire PMC data structure
00:42 nopaste "coke" at 72.228.52.192 pasted "nqp-rx question..." (27 lines) at http://nopaste.snit.ch/19083
00:43 pmichaud Coke: your question is in my queue, but it'll be about an hour before I can get to it.  dinner just landed on the table
00:43 plobsing joined #parrot
00:43 pmichaud oh, for the nopaste
00:43 pmichaud you need
00:44 pmichaud +    Partcl::Grammar.O(':prec<15>, :assoc<unary>', '%unary');
00:44 pmichaud otherwise it think it's a binary operator
00:44 Coke woot.
00:46 fperrad joined #parrot
00:46 pmichaud oh
00:47 Coke (that did it, pushing)
00:48 dalek partcl-nqp: 71f4a01 | coke++ |  (2 files):
00:48 dalek partcl-nqp: implement [expr !]
00:48 dalek partcl-nqp: pmichaud++ # the assist.
00:48 dalek partcl-nqp: review: http://github.com/partcl/partcl-nqp/commit​/71f4a01910c77d0497f1a45ef1b363f8d6dec997
00:50 dalek parrot: r43058 | darbelo++ | branches/pmc_freeze_cleanup (2 files):
00:50 dalek parrot: Add a dummy self-reference and a #define to the visit_info structure to preserve
00:50 dalek parrot: source-level backwards compatibility.  This lets decnum-dynpmcs build unmodified
00:50 dalek parrot: on this branch and pass al freeze/thaw tests.  This should allow us to merge our
00:50 dalek parrot: changes back to trunk without waiting for a deprecation boundary.
00:50 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43058/
00:50 darbelo purl: msg plobsing I don't know if I'll be available in the next 16 or so hours. So, eel free to revert any changes I've made that you disagree with. We should probably figure out a common strategy for the pmc_freeze_cleanups too.
00:50 purl Message for plobsing stored.
00:50 plobsing I was just going to say you're on a roll!
00:51 darbelo Heh, my roll's mostly tewk++'s work. And it's finished for today.
00:52 plobsing Although I'm not quite sure about limiting the scope of the packfile if we're moving to packfile generation in stead of using a STRING as a buffer
00:53 plobsing But it is definitely cleaner in the short term.
00:53 darbelo I figured we could try a two step approach: first clean up as much as we can while staying ccompatible, do a round of HLL-testing and merge back to trunk as soon as posible.
00:54 darbelo Then re-branch and do the compat-breaking stuff so it can land right after 2.0 is released.
00:55 darbelo That way we get two branch that live less than a month and are easier to merge to trunk.
00:55 darbelo But I have to go now. I'll try to get back nline in a few hours. See ya!
00:55 plobsing darbelo++ # good plan
00:56 chromatic Great plan.
00:57 abqar joined #parrot
00:59 dalek partcl-nqp: 5c9d4dd | coke++ | src/Partcl/commands/main.pm:
00:59 dalek partcl-nqp: fix unset's arg handling.
00:59 dalek partcl-nqp: t/cmd_global.t now runs to completion.
00:59 dalek partcl-nqp: review: http://github.com/partcl/partcl-nqp/commit​/5c9d4ddbc6bfc89553563eb2be3222b3cb05f5d7
01:10 fperrad joined #parrot
01:16 patspam joined #parrot
01:19 Whiteknight joined #parrot
01:32 fperrad joined #parrot
01:34 pmichaud Coke: (item #2, interpolating captured components) -- at the moment that's a bit expensive to implement naively, and the non-expensive approach requires a nqp refactor.
01:34 pmichaud not a big refactor, but a non-trivial one.
01:37 pmichaud (actually it's more of a regex refactor than an nqp one)
01:38 dalek parrot: r43059 | pmichaud++ | failed to fetch changeset:
01:38 dalek parrot: [nqp]:  Update with latest sources.
01:38 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43059/
01:38 jsut_ joined #parrot
01:49 JimmyZ joined #parrot
02:00 fperrad joined #parrot
02:05 egalia joined #parrot
02:08 dalek TT #604 closed by pmichaud++: pge, debug and visibility, tools
02:23 Coke pmichaud: ok. any way to get that behavior in the Action? I tried, but $<extra> was an RPA, which was not what I expted.ected.
02:25 fperrad joined #parrot
02:31 dalek partcl-nqp: fbaf3fc | coke++ | TODO:
02:31 dalek partcl-nqp: this is impacting multiple test files.
02:31 dalek partcl-nqp: review: http://github.com/partcl/partcl-nqp/commit​/fbaf3fc6e4cca9362c6d0eba7d8567d218272ce8
02:31 dalek partcl-nqp: db16f1a | coke++ | src/Partcl/commands/file.pm:
02:31 dalek partcl-nqp: Add several placeholder builtins; gets us further through several .t files
02:31 dalek partcl-nqp: review: http://github.com/partcl/partcl-nqp/commit​/db16f1a2e0cc4087aab16d0170da9b90ef6774af
02:39 kid51_at_dinner make fulltest:  Darwin/PPC:  PASS at r43056
02:39 dukeleto 'ello
02:40 kid51 dukeleto, hello
02:40 JimmyZ good morning, #parrot
02:40 dukeleto JimmyZ: howdy
02:42 dukeleto we have a release tomorrow, exciting!
02:42 * dukeleto has been swamped in meatspace
02:43 cotto not really, but that's the point of monthly releases ;)
02:43 kid51 meatspace?
02:43 purl i think meatspace is as opposed to the cyber kind.
02:53 nopaste "kid51" at 70.85.31.226 pasted "linux/i386: context_unify3 branch: r43059: make corevm/coretest has many test failures" (2994 lines) at http://nopaste.snit.ch/19085
03:15 kid51 joined #parrot
03:30 dukeleto cotto: i still find our monthly release exciting, but I hope the release manager doesn't ;)
03:36 dukeleto make fulltest PASS on r43059 darwin/x86
03:49 diakopter joined #parrot
03:59 integral joined #parrot
04:48 iblechbot joined #parrot
04:56 ZeroForce joined #parrot
04:57 dukeleto wow, evidently .include 'blah.pbc' is allowed and makes funny things happen
04:59 cotto I'd guess that you're not saying it makes parrot tell a funny joke.
05:01 dukeleto cotto: silent death
05:01 dukeleto where do I go to learn about making a fakecutable?
05:03 chromatic man pbc_to_exe
05:03 chromatic (let's see if pervasive laziness applies also to documentation)
05:06 dukeleto chromatic: No manual entry for pbc_to_exe
05:06 dukeleto ack -a pbc_to_exe docs/ returns nothing # :(
05:07 chromatic What would you like to know?
05:09 dukeleto chromatic: i want to make an executable out of Tapir
05:09 dukeleto chromatic: i have a .pir file which includes 2 pbc's
05:10 chromatic I haven't tried this and advise you to fire up your bug client, but I'd turn them all into PBC files, use pbc_merge, and then pbc_to_exe on the result.
05:10 dukeleto chromatic: i want to make a binary that bundles the all three together, without the 2 PBC's which are included having to be installed
05:10 dukeleto chromatic: ooh, i haven't used pbc_merge before
05:11 dukeleto chromatic: trying now
05:15 cotto chromatic, how current is the packfile pdd?
05:17 chromatic I thought I read that it's very close, barring some changes to annotations.
05:17 chromatic ... but I don't know much about packfiles.
05:19 dukeleto chromatic: creating the fakecutable worked, but I got:
05:19 dukeleto A method named 'is_pass' already exists in class 'Tapir;Stream'. It may have been supplied by a role.
05:19 dukeleto chromatic: is that a bug on my part or pbc_to_exe ?
05:19 chromatic Do you have :init and :load on any sub in your code?
05:21 dukeleto chromatic: yes
05:21 dukeleto chromatic: i add attributes to an object in a method that has both :init and :load
05:22 dukeleto chromatic: that was the first way I got it to work. what is the correct way?
05:22 chromatic I think only :init is necessary.
05:22 chromatic However... this is a messy part of PIR/PBC isomorphism.
05:24 dukeleto chromatic: i only have an is_pass method defined in one place in one class
05:24 dukeleto chromatic: same error if I only use :init
05:25 chromatic Okay, switch it to :load.
05:28 dukeleto chromatic: that seems to make stuff work, but some tests fail, which I shall investigate. can you explain to me the difference between having :load, :init and both?
05:28 chromatic :load executes only when loading from bytecode.
05:28 chromatic :init executes right after compilation.
05:29 chromatic The effects of :init should be frozen into PBC.
05:30 dukeleto chromatic: i need that stuff because one of my classes instantiats the other inside
05:31 dukeleto chromatic: Class '[ 'Tapir' ; 'Stream' ]' not found
05:31 dukeleto current instr.: 'parrot;Tapir;Parser;parse_tapstream' pc 155 (lib/Tapir/Parser.pir:88)
05:31 dukeleto now I get that error, when i only have :load
05:31 nopaste "chromatic" at 72.87.39.97 pasted "bacek: this patch fixes many, many segfaults on context_unify3, but it's not quite correct" (25 lines) at http://nopaste.snit.ch/19087
05:32 chromatic Hm.
05:32 chromatic Last idea, try :init :anon.
05:32 chromatic msg bacek Please see http://nopaste.snit.ch/19087 for a partial cure to context_unify3 woes.
05:32 purl Message for bacek stored.
05:35 plobsing msg darbelo r43056 introduced bugs for me (amd64) in t/pmc/packfile*. It appears that the packfile makes PF_fetch* use functions from src/byteorder.c to read the buffer. Still investigating.
05:35 purl Message for darbelo stored.
05:35 bacek_at_work chromatic, I did remove pop_context from invoke_from_sigobject...
05:35 bacek_at_work At least I think so...
05:36 chromatic Still here for me.
05:36 chromatic Now I'm not getting the output from the plan(test_number) calls in pure-PIR test files, but I'm not getting seggies and I'm getting the rest of the output.  That helps.
05:36 dukeleto chromatic: :anon looks promising. why does that help?
05:37 bacek_at_work chromatic, http://trac.parrot.org/parrot/chang​eset/43041/branches/context_unify3
05:37 bacek_at_work it's... weird.
05:37 chromatic :anon :init trips the "Do something special with bytecode" magic.
05:37 dukeleto chromatic: that sounds ..... magical
05:38 chromatic shhhhh
05:38 chromatic See my message about PBC constants from last week.
05:39 chromatic bacek_at_work, maybe I didn't get a recent rebase.
05:39 bacek_at_work chromatic, latest changeset is r43046 in branch
05:40 chromatic Checking.
05:40 chromatic Could be I was working off of an old version.
05:44 chromatic Yep, looks that way.
05:47 dukeleto chromatic: i have a fakecutable for Tapir passing its own test suite! thanks! chromatic++
05:48 chromatic What did you have to do, dukeleto?
05:48 chromatic bacek_at_work, some of the failures come from CURRENT_CONTEXT(interp) being PMCNULL.
05:49 chromatic In t/compilers/imcc/reg/alloc_1.pir, the context is PMCNULL in the invokecc op.
05:50 bacek_at_work chromatic, I'll put assert from your nopaste and try to find out real problem. Later today.
05:53 chromatic I'll keep poking at it too.
06:01 dukeleto chromatic: i had to use :load :anon and load_bytecode on the PBC's instead of include()'ing PIR
06:01 bacek_at_work chromatic, major problem afair was with attributes. Which prevent Test::More from work.
06:03 chromatic I see that.
06:04 dukeleto it looks like load_bytecode 'foo.pir' works. should it?
06:05 chromatic There's no other way to load PIR.
06:07 dukeleto chromatic: .include() ?
06:07 dukeleto chromatic: i was thinking that load_bytecode should only work for *.pbc files. is that correct?
06:16 dukeleto chromatic: this is the commit where i changed over to a fakecutable in tapir: http://leto.net/gitweb/?p=tapir.git;a=commitd​iff;h=b2e6ebda3a907b481254645d7100412988331c6​9;hp=7ae5c81d5b6e1a7bef62688bed1d1f733a3faeb0
06:23 dalek tapir: 7ae5c81 | dukeleto++ | t/03-parse_tapstream_error.t:
06:23 dalek tapir: [t] Add a basic test for a passing exit code
06:23 dalek tapir: Trying to debug this:
06:23 dalek tapir: (kadath)(~/git/tapir master )$ ~/svn/parrot/parrot t/harness.pir t/*.t
06:23 dalek tapir: t/00-sanity.t ................. failed 0/0 tests, exit code = 1
06:23 dalek tapir: t/01-parse_plan.t ............. failed 0/0 tests, exit code = 1
06:23 dalek tapir: t/02-parse_tapstream.t ........ failed 0/0 tests, exit code = 1
06:23 dalek tapir: t/03-parse_tapstream_error.t .. failed 0/0 tests, exit code = 1
06:23 dalek tapir: FAILED 4 test(s) in 4/4 files
06:23 dalek tapir: review: http://github.com/leto/tapir/commit/7a​e5c81d5b6e1a7bef62688bed1d1f733a3faeb0
06:23 dalek tapir: b2e6ebd | dukeleto++ |  (8 files):
06:23 dalek tapir: Make a fakecutable and PBC's which can be more easily dropped into external projects # chromatic++
06:23 dalek tapir: We now generate PBC for all PIR files and then load_bytecode() those instead of include()'ing PIR.
06:23 dalek tapir: Thanks to chromatic++ for showing me the ":load :anon" black magic trick.
06:23 dalek tapir: review: http://github.com/leto/tapir/commit/b2​e6ebda3a907b481254645d7100412988331c69
06:23 dalek tapir: 445fd64 | dukeleto++ |  (3 files):
06:23 dalek tapir: load_bytecode should use the PBC's and update 'make clean'
06:23 dalek tapir: review: http://github.com/leto/tapir/commit/44​5fd641bdc6d876bc01cb84595fd9efa7a79ea4
06:24 dukeleto github just came back up
06:25 * dukeleto is using Tapir to run the Regexp::Common test suite
06:27 dukeleto what is the best way to time PIR code in PIR? i want to print out the runtime of the test suite. do I have access to anything other than walltime from PIR?
06:28 cotto dukeleto, interesting question.  There's no pir-level integration with the profiling runcore atm.
06:29 cotto what were you hoping for interface-wise?
06:29 dukeleto cotto: it would be nice if I could get something like :  0 wallclock secs ( 0.04 usr  0.01 sys +  0.02 cusr  0.01 csys =  0.08 CPU) in PIR
06:29 diakopter cotto or bacek_at_work: do you have a couple of minutes to look at examples/benchmarks/primes.pasm with me?
06:30 cotto diakopter, did you mean chromatic or was that intentional?
06:30 diakopter intentional
06:30 cotto what about it?
06:30 diakopter line 51
06:30 diakopter if you run:   parrot primes.pasm   what does it output for "last"
06:31 cotto looks OK to me. ;)
06:31 cotto 4999
06:32 diakopter ok.  I have parrot r42559
06:33 diakopter and it outputs 5001
06:33 diakopter for last
06:33 diakopter on amd64
06:33 diakopter linux
06:34 cotto that's odd
06:34 cotto also, unexpected
06:34 diakopter is that the right way to invoke?   parrot primes.pasm   ?
06:35 cotto It seems to be.  I don't see any arg processing.
06:36 diakopter also, primes_i.pasm is misdocumented; its max candidate is 10000, not 50000
06:37 cotto Those could use some cleanup.
06:38 diakopter interestingly, primes_i.pasm has the same algorithm
06:38 diakopter but does the right thing
06:40 diakopter sounds like a misoptimization
06:41 diakopter does anyone have linux amd64 who'd be willing to build parrot r42559 (release 1.8.0 it appears)?
06:44 diakopter anyway, the machine on which I'm experiencing the issue is the machine that hosts rakudo/rakudo-ng for p6eval on #perl6 on freenode
06:44 diakopter afk& # please reply; I'll backlog
06:45 diakopter # also, I'd be glad to give a shell account to anyone on that machine if you'd like to diagnose it
06:48 cotto diakopter, I'll have 64-bit linux at work.   I can play with it then if nobody beats me to it.
06:49 NotFound diakopter: I fixed that problem 1-2 weeks ago
06:52 cotto sweet.  I don't have to do anything.
06:52 cotto NotFound++
07:05 NotFound r42611 -> [examples] fix primes.pasm to show the same "last is" as the other versions
07:08 diakopter oh? cool.  what was the problem
07:09 diakopter oh
07:11 cotto I was kinda hoping for some exotic platform-dependent bug that could be tickled from pasm, but a non-bug is a good second choice.
07:25 NotFound I located that problem when checking a benchmark comparaison that PacoLinux was doing with Winxed.
07:45 ZeroForce joined #parrot
08:11 chromatic bacek_at_work, what's the use of Parrot_pcc_[gs]et_signature()?
08:11 chromatic Isn't a context its own signature, or is that storage for the signature of an impending call?
08:11 chromatic Do we need to remove Parrot_pcc_get_signature calls from a lot of the code?
08:25 bacek joined #parrot
08:28 riffraff joined #parrot
08:30 dalek parrot: r43060 | gerd++ | trunk/NEWS:
08:30 dalek parrot: rid of the first item of: Converted Contexts to GC structures (NEWS)
08:30 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43060/
08:49 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#30926), fulltest) at r43059 - Ubuntu 9.10 amd64 (g++)
09:13 cotto good news for release day
09:47 bacek joined #parrot
09:50 payload joined #parrot
09:50 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#30933), fulltest) at r43060 - Ubuntu 9.10 amd64 (gcc)
09:51 chromatic bacek, this is tricky.  I made Parrot_pcc_get_signature check for PMCNULL and return the CallContext itself, but that didn't help too much.
09:51 bacek chromatic, erm...
09:52 chromatic Just a hunch.
09:52 bacek chromatic, are you trying to fix attributes problem?
09:52 chromatic I hadn't reached that point yet.
09:52 bacek ah, ok.
09:52 chromatic I figured as long as some of the IMCC tests failed, there's little point in trying something more complex.
09:53 bacek which one?
09:53 chromatic t/compilers/imcc/syn/op_20.pir
09:53 chromatic src/call/context.c:792: failed assertion 'Parrot_pcc_get_regs_used(interp, ctx, REGNO_STR) > idx'
09:53 bacek "someone" didn't pop context after
09:54 bacek ..use
09:54 bacek (afk for few minutes)
09:54 chromatic get_params maybe should do that.
09:56 chromatic No... Continuation.invoke() seems better.
09:57 chromatic Though Parrot_continuation_rewind_environment() appears to do so.
10:06 JimmyZ hello chromatic
10:10 chromatic Hello.
10:13 JimmyZ chromatic: Does array.pmc needs to change to use GET_ATTR syntax?
10:13 JimmyZ chromatic: s/needs/need/
10:23 chromatic array.pmc is rarely used.  It's probably not worth your time to update.
10:24 JimmyZ chromatic: ok, I had updated it, but just change SELF.foo() to STATICSELF.foo() :)
10:26 chromatic Okay.
10:29 bacek joined #parrot
10:31 bacek chromatic, yes, rewind_env usually DTRT
10:31 bacek (I just found at lease one case of using uninitialised CallContext. Fixed in r43061)
10:41 dalek parrot: r43061 | bacek++ | branches/context_unify3 (5 files):
10:41 dalek parrot: Allocate CallContext in pcc_prepare_call if it wasn't allocated before
10:41 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43061/
10:41 dalek parrot: r43062 | fperrad++ | trunk/t/op/arithmetics.t:
10:41 dalek parrot: [t] fix the use of PIR todo
10:41 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43062/
10:41 dalek parrot: r43063 | fperrad++ | trunk/t/op/io.t:
10:41 dalek parrot: [t] fix the use of PIR todo
10:41 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43063/
10:41 dalek parrot: r43064 | fperrad++ | trunk/t/pmc/float.t:
10:41 dalek parrot: [t] fix the use of PIR todo
10:41 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43064/
10:51 chromatic t/compilers/imcc/syn/regressions_2.pir looks suspicious.
10:53 chromatic The continuation in returncc is wrong.
10:53 chromatic I wonder if it's uninitialized.
10:55 bacek chromatic, I'm working on t/compilers/imcc/syn/pcc_7.pir... something goes very wrong here
10:56 chromatic Something's definitely wrong in our continuation handling.
10:57 dalek parrot: r43065 | chromatic++ | branches/context_unify3/src (2 files):
10:57 dalek parrot: [ops] Reformatted code; no functional changes.
10:57 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43065/
10:57 dalek parrot: r43066 | chromatic++ | branches/context_unify3/src/call/context.c:
10:57 dalek parrot: [PCC] Fixed a C90 violation; no functional changes.
10:57 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43066/
10:58 bacek chromatic, Coroutine.invoke is wrong
10:58 payload joined #parrot
10:59 chromatic It's a big wad of code.
10:59 bacek line 146.
10:59 bacek We already pushed new context at this point
10:59 bacek I'll try to fix it
11:00 chromatic Ahh yes.
11:00 chromatic Is it as easy as grabbing ->from_ctx?
11:11 bacek chromatic, something like this
11:11 chromatic t/compilers/imcc/syn/regressions_2.pir segfaults because in Continuation.invoke from the returncc, the Continuation's pc (cc->address) is NULL.
11:14 bacek I'll look at it after fixing Coro
11:16 chromatic Hmm, if I add the end opcode, everything works.
11:17 chromatic It reaches the end of the sub and tries to return, even though it has nowhere to go.
11:17 chromatic ... meaning something wrong in the initial context or its Cont.
11:27 chromatic ... but only if it's the first sub in a file (not marked :main) and if there's been a push_eh.
11:31 chromatic That's all I can do tonight.
11:34 moritz t/pmc/eval.t failed test 12 in 'make testr'
11:37 bacek chromatic, good night. I'm still fighting with Coro...
12:19 dalek parrot: r43067 | bacek++ | branches/context_unify3/src/ops/core.ops:
12:19 dalek parrot: Remove setting caller_ctx in op get_params.
12:19 dalek parrot: Tailcall now doesn't introduce new CallContext but actually reuse current one.
12:19 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43067/
12:19 dalek parrot: r43068 | bacek++ | branches/context_unify3/src/pmc/coroutine.pmc:
12:19 dalek parrot: Update Corotine.invoke to use already pushed CallContext.
12:19 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43068/
12:40 payload joined #parrot
12:49 bacek msg chromatic Sigh... r43065... merge_signature_for_tailcall. I've lost last hour trying to find out why branch is more broken than before...
12:49 purl Message for chromatic stored.
12:50 JimmyZ joined #parrot
12:50 whiteknight joined #parrot
12:57 moritz oh noes, context_unify3 killed my computer
12:58 moritz I ssh'ed into my home computer and ran 'make coretest' there, foolishly without resource limits
12:58 barney joined #parrot
12:58 moritz now I can't reach it anymore
12:58 whiteknight urg.
12:59 whiteknight I haven't looked hard at that branch yet, I think I should
13:01 Coke "Already up-to-date.
13:01 Coke "Already up-to-date."?
13:01 purl i heard "Already up-to-date." was the saddest messages there is.
13:12 dalek partcl-nqp: cb7399b | coke++ | src/Partcl/commands/ (3 files):
13:12 dalek partcl-nqp: make p6.vim happier.
13:12 dalek partcl-nqp: review: http://github.com/partcl/partcl-nqp/commit​/cb7399ba2662fdaff33980c95a87007d8f8963b5
13:12 dalek partcl-nqp: 2d7ce87 | coke++ |  (3 files):
13:12 dalek partcl-nqp: Add several placeholder builtins; gets us further through several .t files
13:12 dalek partcl-nqp: review: http://github.com/partcl/partcl-nqp/commit​/2d7ce879aea6c538e04681a04d0f7319395ba71b
13:15 Coke msg tene any luck figuring out my CONTROL issue?
13:15 purl Message for tene stored.
13:25 whiteknight win32-msvc15: all tests pass (but perl failed uploading the archive to smolder for some reason)
13:28 whiteknight oh nevermind. It did upload to smolder, but perl exited with an error anyway
13:28 whiteknight great
13:28 Coke Hey, anyone want to write some NQP? =-)
13:28 whiteknight how much, and for what?
13:29 Coke bits. for partcl.
13:29 Coke some builtins could use some work.
13:30 mj41 joined #parrot
13:31 JimmyZ joined #parrot
13:31 Coke [string] has a lot of subcommands that a) have tests, b) have a description on tcl.tk, and c) have the hook where the code goes.
13:32 whiteknight I dont know anything about TCL
13:32 Coke not really a problem. =-)
13:33 whiteknight I'm more of a PIR guy than an NQP guy.
13:33 Coke here's your chance to learn! =-)
13:33 Coke (nqp really is much nicer than pir.)
13:34 JimmyZ yes
13:34 whiteknight I won't debate that it's a cleaner language. I'm just more comfortable at lower-levels
13:35 * Coke is led on by WK!
13:35 lucian joined #parrot
13:37 whiteknight what do you need written? I can take a look
13:37 mikehh joined #parrot
13:39 payload joined #parrot
13:47 tetragon joined #parrot
13:49 Coke whiteknight: there's just lots of stuff to do; for example, implementing [string length <foo>]
13:49 Coke [string] is in src/Partcl/commands/string.pm - look for eq 'length' for the code for that subcommand.
13:50 whiteknight it's in the partcl-nqp repo?
13:50 Coke http://www.tcl.tk/man/tcl8.5/TclCmd/string.htm#M38 has the tcl info on tht subcommand. t/cmd_string.t has tests.
13:50 Coke (yes.)
13:50 Coke I've been trying to do the error handling as I go, but even the base functionality will get us a few more tests.
13:51 Coke (At the pir level, this is just the length opcode.)
13:51 Coke whiteknight: I can add you as a contributor. github id?
13:51 whiteknight "Whiteknight"
13:52 Coke done. have fun. =-)
13:56 dalek parrot: r43069 | whiteknight++ | trunk/PLATFORMS:
13:56 dalek parrot: Update win32-x86-msvc9.0 which passed all tests this morning (smolder #30939)
13:56 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43069/
14:05 whiteknight urg, I just got hijacked by work. No time to hack partcl today :(
14:05 whiteknight or, at least not until my boss leaves
14:11 Coke heh.
14:13 Coke ooh. [string is <class> -failindex should be pretty trivial if I do everything as a rule.)
14:14 patspam joined #parrot
14:19 Util Trying to build a PBC bytecode string in a PIR test, I run into this issue. This line of code:    $S0 = "\xFE"
14:19 Util causes the error: "Malformed string".
14:19 Util Is there an easy workaround?
14:20 Coke set a binary encoding on the string?
14:21 Util Coke: on the string itself, or on the string register? And how do you set it?
14:21 Coke string.
14:21 Coke $S0 = binary:"\xFE" # untested.
14:22 Util Coke: Worked! Thanks!
14:22 Coke tested. works here.
14:22 Coke Util: np.
14:24 Coke Util: I think that's part of the unicode endian marker.
14:24 mikehh joined #parrot
14:24 Coke so you'll always have FFFE or FEFF to indicate the order.
14:24 Coke ... but those aren't valid strings either. *shrug*. =-)
14:25 Coke but since you're not writing unicode, it don't matter.
14:31 ruoso joined #parrot
14:38 mikehh joined #parrot
14:50 * whiteknight is trying to run as many tests as possible before the release
14:50 whiteknight speaking of, when is Gerd planning to put it out?
15:01 pmichaud good morning, #parrot
15:01 whiteknight good morning pmichaud
15:01 dalek parrot: r43070 | whiteknight++ | trunk/PLATFORMS:
15:01 dalek parrot: update PLATFORMS to show OpenSolaris2009.06-x86-gcc3.4.3, a new platform where Parrot builds but fails two math-related tests. See smolder #30941.
15:01 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43070/
15:05 Coke moritz: you were timtowdi.org, yes?
15:05 moritz Coke: aye
15:06 whiteknight atan, acos, and asin all fail tests on OpenSolaris
15:06 whiteknight I wonder why that is
15:07 fperrad pmichaud have you seen http://irclog.perlgeek.de/p​arrot/2009-12-12#i_1828932 ?
15:08 pmichaud fperrad: looking
15:09 pmichaud fperrad: in what sense do you mean "crashes"?
15:10 pmichaud it doesn't compile, it compiles but gives an error, ... ?
15:10 kthakore left #parrot
15:10 fperrad fails with a back trace
15:10 pmichaud is it possible to come up with a smaller example that exhibits the error?
15:11 Coke moritz: what was the hostname?
15:12 moritz timtowtdi.org
15:12 purl i think timtowtdi.org is now unblocked, ie svn shoudl work again.
15:12 Coke ... i must have spelled it wrong 100 times. thanks. =-)
15:13 moritz purl: timtowdi.org is misspelled 'timtowtdi.org'
15:13 purl OK, moritz.
15:15 Coke moritz: that should help, danke ^_^
15:16 bubaflub joined #parrot
15:17 dalek parrot: r43071 | coke++ | trunk/PLATFORMS:
15:17 dalek parrot: alphabetize
15:17 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43071/
15:24 nopaste "fperrad" at 93.11.7.221 pasted "a fragment of grammar with the problem (for pmichaud)" (38 lines) at http://nopaste.snit.ch/19089
15:34 shockwave joined #parrot
15:36 shockwave This is kind of a generic question. Can a language targetting parrot, which is strongly typed and object oriented, be made to support covariant return types on overriden methods, and contravariant arguments on normal methods?
15:38 Psyche^ joined #parrot
15:43 NotFound shockwave: I think that the only good answer to such question is a working implementation.
15:44 shockwave @NotFound, well, I'm asking in theory.
15:44 bubaflub joined #parrot
15:44 NotFound shockwave: in theory, the answer is always yes.
15:45 shockwave @NotFound, I will try it soon. But I wouldn't mind a "probably", or better yet "Definietly"
15:46 shockwave Ok. I guess I'm just going to have to try and see for myself.
15:46 shockwave Thanks, @NotFound
15:49 NotFound shockwave: What kind of language, a version of one that already exists, or created from scratch?
15:49 rhr joined #parrot
15:50 NotFound Just curious
15:51 shockwave from scratch
15:51 purl from scratch is fun
15:58 Coke shockwave: can you explain the covariant/contravariant a bit?
15:59 Coke and what is the difference between "overridden" and "normal" ? is normal actually "inherited" ?
15:59 shockwave @Coke, Wikipedia does a better job than me: http://en.wikipedia.org/wiki/Covariance_a​nd_contravariance_%28computer_science%29
16:00 shockwave @Coke, http://en.wikipedia.org/wiki/Covariance​_and_contravariance_(computer_science)
16:00 shockwave @Coke, a normal method would be a method added to a class, as usual.
16:01 shockwave @Coke, an overriden method is one declared in a subclass that matches the signature of a method in the base class.
16:02 shockwave @Coke, an overriten method is like a C++ virtual method.
16:02 Coke I am not as convinced as notfound that you can do that out of the box, no.
16:03 Coke esp. when it comes to return types.
16:03 shockwave @Coke, neither of them, co- or contra?
16:04 Coke I have only used parrot objects for infrastructure stuff, not to support an actual language's object system, though.
16:04 Coke I would definitely ask on list first.
16:05 shockwave @Coke, For the language I'm designing, the compiler is written in C++, and translates the code down to PIR. The compiler's analyser finds out alot of information about the type as it goes along. And, of course, it has this information available when translating to PIR.
16:06 NotFound Coke: I don't said it has to be easy, just possible ;)
16:12 Coke NotFound: I didn't get the impression he was asking if he could handroll everything he wanted in pir, but if the vm supported this.
16:12 Coke I don't think parrot's object model supports that.
16:13 shockwave Coke: Since I'm going to compile down to PIR, if it can be done via PIR, and it's doable for me.
16:13 shockwave then* it's doable for me.
16:14 Coke shockwave: I am thinking you'd have to hand roll your argument checks inside the method.
16:14 shockwave Coke: I don't mind that, as long as there is a way to get it accomplish.
16:15 shockwave Coke: My goal is for the language to support things that are important to me. The implementation will get better as time comes along.
16:15 shockwave (^^^ that's about my language)
16:17 NotFound And having a language that needs that will be a good way to see if something can be added to parrot to support it.
16:17 shockwave @NotFound, sweet.
16:18 shockwave I'll probably have a working implementation of this in about 3 months. I'm 3 and 1/2 months into it, and I'm making good progress.
16:18 NotFound But note that parrot is not specially intended to strong typed languages.
16:19 shockwave @NotFound, I know. I just like the scripting language to be strongly typed in order to catch certain types of errors I usually make, specially when changing large portions of the code.
16:20 shockwave The language is designed to support large codebases. I feel that having strong typechecks aids alot when changing code in large codebases like that.
16:22 NotFound Good to know I'm not the only one writing a compiler targetting pit in C++ X-)
16:22 NotFound s/pit/pir
16:23 shockwave :-)
16:26 darbelo joined #parrot
16:34 shockwave left #parrot
16:35 diakopter dukeleto: more comparison results: optimized parrot takes 1.441s on fib.pir; mono 2.6 takes 0.071s for the same program
16:37 diakopter ... now to port arriter
16:48 Coke woof.
16:49 moritz I guess mono has the advantage of type analysis on its side, as well as a working JIT
16:53 NotFound diakopter: What language, C# ?
16:53 diakopter NotFound: yes
16:55 NotFound diakopter: Can you add the C# version to examples/benchmarks?
16:56 diakopter I submitted a parrot CLA a year or two ago; I never heard back
16:57 NotFound I think two years aho pafo wasn't even born ;)
16:58 NotFound s/aho/ago
16:58 diakopter nevertheless: http://parrot.pastebin.com/d5db9dbdf
16:58 davidfetter joined #parrot
16:58 NotFound Thanks, I'll add it.
17:00 diakopter oh wait.
17:01 diakopter forgot to  sw.Stop(); after the _fib() call.  So it was including the I/O time.  without the I/O time, mono outputs:  fib(28) = 317811
17:01 diakopter Elapsed: 00:00:00.0000592
17:02 dukeleto diakopter: if you submitted a CLA and never heard back, you should send it again :)
17:02 diakopter sigh.  ID10T error
17:02 theory joined #parrot
17:02 gerd joined #parrot
17:02 cotto diakopter, once you send one in, you can ping particle every 5 minutes to see if it's arrived yet.
17:03 diakopter make that Elapsed: 00:00:00.0111256
17:03 diakopter NotFound: corrected  http://parrot.pastebin.com/d698eef30
17:05 Coke what's the name on the CLA?
17:05 diakopter Matthew Wilson
17:06 diakopter I'm quite sure I submitted it before the parrot foundation existed
17:06 Coke then it's not a PaFO CLA, but a perl CLA, yes?
17:06 diakopter I guess
17:07 Coke parrot cla?
17:07 Coke cla?
17:07 purl cla is Contributor License Agreement or http://www.perlfoundation.org/​contributor_license_agreement or http://www.parrot.org/foundation/legal or http://www.parrot.org/files/parrot_cla.pdf
17:08 gerd I want to checkout parrot for release 1.9.0
17:08 NotFound gerd: uh, sorry, forgot to ask
17:09 NotFound Just committed r43072
17:09 Coke NotFound: did you update manifest? fix svn props?
17:09 gerd Can I start?
17:09 NotFound gerd: pleas wait a moment...
17:10 gerd Okay no problem
17:10 Zak joined #parrot
17:11 dalek parrot: r43072 | NotFound++ | trunk/examples/benchmarks/fib.cs:
17:11 dalek parrot: [examples] C# version of benchmark/fib, diakopter++
17:11 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43072/
17:14 NotFound gerd: done, r43073
17:15 gerd Okay so I will start to update to 1.9.0
17:18 cotto woohoo!  release time!
17:19 moritz doughnuts for our release manager!
17:21 davidfetter mmm...doughnuts :d
17:22 gerd make fulltest is running
17:25 gerd Result:  FAIL
17:25 gerd Test Summary Report
17:25 gerd -------------------
17:25 gerd t/op/annotate.t                    (Wstat: 11 Tests: 29 Failed: 0)
17:25 gerd Non-zero wait status: 11
17:25 gerd Parse errors: Bad plan.  You planned 33 tests but ran 29.
17:25 gerd Files=222, Tests=7085, 89 wallclock secs ( 1.58 usr  1.98 sys + 31.15 cusr 41.47 csys = 76.18 CPU)
17:27 dalek parrot: r43073 | NotFound++ | trunk (2 files):
17:27 dalek parrot: [cage] update MANIFEST and svn props
17:27 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43073/
17:29 Coke gerd: hurm. I've done fulltest 2c today and not seen tha failure.
17:29 Coke bad skip logic?
17:30 bubaflub Coke: t/op/annotate.t passes on my rig
17:30 gerd Okay I will checkout again and try I again
17:30 bubaflub gerd, if that happens again, can you run prove -v t/op/annotate.t and then nopaste the output
17:31 bubaflub so we can get a better look at the error
17:31 Coke (note that you might need to run it in a specific core, since you were using fulltest)
17:35 theory seen chromatic
17:35 purl chromatic was last seen on #parrot 6 hours, 4 minutes and 10 seconds ago, saying: That's all I can do tonight.
17:35 theory fucking slacker
17:35 dalek rakudo/master: 55f51dc | pmichaud++ | docs/spectest-progress.csv:
17:35 dalek rakudo/master: "2009-12-15 00:00",7ef3861,32225,504,543,2027,35172,38173,453
17:35 dalek rakudo/master: spectest-progress.csv update: 453 files, 32225 (84.4% of 38173) pass, 504 fail
17:35 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/5​5f51dc3b0ef48d9668f0307621c0eb996f7c68e
17:36 gerd make fulltest is running again
17:38 dalek winxed: r265 | julian.notfound++ | trunk/ (2 files):
17:38 dalek winxed: operator [ ] in stage 1
17:38 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=265
17:38 gerd make fulltest fails again
17:38 japhb By the way, did we institute the "cooling off period" after the release and before new branches are merged?  Or did that get tabled or voted down?
17:39 gerd The output of prove follows:
17:39 cotto_work japhb, I don't remember anything like that.
17:41 gerd prove -v t/op/annotate.t  --also fail
17:41 gerd Failed 4/33 subtests
17:41 japhb IIRC, it was a suggestion after one of the times where merges happened immediately after the release was cut, and the HLLs didn't have time to test against it, and flag any problems, before the trunk went all to hell again.
17:41 japhb Like I said, I don't remember what happened to the suggestion, though.
17:43 cotto_work japhb, actually I do remember something like that.  I bet pmichaud would remember since he probably felt the most pain.
17:49 particle actually i think it was a merge just before a release that meant the 2-days-later rakudo release wouldn't work with the just-cut-parrot release
17:50 bubaflub gerd: can you get me the output of running just that test file?
17:50 bubaflub something like prove -v t/op/annotate.t would do
17:50 bubaflub or even ./parrot t/op/annotate.t
17:50 gerd ok 26 - annotations for caller sub returend with level 1
17:50 gerd ok 27 - annotations from caller sub returned at point of call with level 1
17:50 gerd ok 28 - annotations for outer sub returend with level 1
17:50 gerd ok 29 - annotations from outer sub returned at point of call with level 1
17:50 gerd Failed 4/33 subtests
17:50 gerd Test Summary Report
17:50 gerd -------------------
17:50 gerd t/op/annotate.t (Wstat: 11 Tests: 29 Failed: 0)
17:50 gerd Non-zero wait status: 11
17:50 japhb particle: Actually, now that you mention it ... didn't parrot's release get cut on a branch, and then merges happened before a trunk revision existed that contained the true release?
17:50 gerd Parse errors: Bad plan.  You planned 33 tests but ran 29.
17:50 gerd Files=1, Tests=29,  0 wallclock secs ( 0.03 usr  0.01 sys +  0.01 cusr  0.02 csys =  0.07 CPU)
17:50 gerd Result: FAIL
17:51 gerd [gz016@vgerd2 trunk]$
17:54 bubaflub gerd: that's strange, it's not running the last test
17:54 bubaflub let me look at this a bit and i'll get back to you.
17:54 barney Looks fine on 32bit Linux
17:54 bubaflub yeah, i'm building on Mac OS X 10.6
17:55 bubaflub gerd: what system/architecture are you running?
17:55 bubaflub i.e. what does `uname -a` output?
17:55 Coke japhb: that happened once.
17:56 gerd uname -a
17:56 gerd Linux vgerd2.zimt.uni-siegen.de 2.6.29.6-217.2.8.fc11.x86_64 #1 SMP Sat Aug 15 01:06:26 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
17:56 purl Infobot 0.43.3 alpha (oznoid+#perl)
17:56 japhb Coke: yes.  I was asking if we'd made a policy around it, or not.
17:56 gerd I run it on an 64 bit machine
17:56 Coke until rakudo stops relying on their being a trunk version that corresponds to a release version, please avoid it.
17:56 Coke s/their/there/
17:56 japhb :-)
17:57 Coke *once - happened a few times, but only caused trouble after rakudo.
17:58 mikehh joined #parrot
18:01 diakopter NotFound: here's a C# edition of arriter  http://parrot.pastebin.com/d6a197928
18:01 * whiteknight might not be able to attend #ps. Work meeting conflict
18:03 diakopter optimized parrot: 0.813s  mono: 0.078s
18:04 Coke diakopter: depressing.
18:04 Coke but faster than partcl vs. tcl
18:06 diakopter Coke: have you seen Eagle?
18:07 diakopter http://eagle.to/
18:07 diakopter I'd be glad to run some benchmarks with eagle-on-dlr-on-mono-on-linux
18:08 whiteknight joined #parrot
18:08 darbelo clock?
18:08 purl darbelo: LAX: Tue 10:08am PST / CHI: Tue 12:08pm CST / NYC: Tue 1:08pm EST / LON: Tue 6:08pm GMT / BER: Tue 7:08pm CET / IND: Tue 11:38pm IST / TOK: Wed 3:08am JST / SYD: Wed 5:08am EST /
18:11 cotto_work #ps in 19
18:11 cotto_work Let's see some reports!
18:12 diakopter dukeleto: which of the benchmarks is parrot particularly/comparatively good at
18:12 Coke diakopter: nope
18:13 Coke diakopter: (benchmarks) sure. glad to help implement whatever's needed to run the benchmark on partcl.
18:14 chromatic joined #parrot
18:25 Coke ps?
18:25 purl well, ps is postscript or process status or see "parrotsketch" or non-vector?! or annoying.
18:25 Coke "parrotsketch"?
18:25 Coke parrotsketch?
18:25 purl parrotsketch is, like, a status meeting for parrot core committers held every Tuesday at 18:30 UTC in #parrotsketch
18:25 Coke clock?
18:25 purl Coke: LAX: Tue 10:25am PST / CHI: Tue 12:25pm CST / NYC: Tue 1:25pm EST / LON: Tue 6:25pm GMT / BER: Tue 7:25pm CET / IND: Tue 11:55pm IST / TOK: Wed 3:25am JST / SYD: Wed 5:25am EST /
18:25 Coke so, ps in 5? =-)
18:25 japhb yup
18:25 Util and reports sooner!
18:28 darbelo Coke++ # best #ps report EVAR!
18:28 mikehh joined #parrot
18:30 japhb #ps now
18:33 diakopter optimized parrot takes 0.866s on stress2.pasm; mono takes 0.085s on http://parrot.pastebin.com/d28362df0
18:33 diakopter NotFound: ^^ another to commit if you wish
18:34 darbelo 10x? Ouch.
18:35 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#30942), fulltest) at r43073 - Ubuntu 9.10 amd64 (g++ with --optimize)
18:36 Util mikehh: which GC book?
18:37 diakopter those are fixed arrays, but I can try it with ArrayList if you like
18:38 NotFound diakopter: not a good moment right now. Can you attach it to a ticket?
18:38 mikehh Util: Garbage Collection  by Richard Jones
18:38 gerd I run the Configure without optimize now I will run it wiht optimize
18:40 bubaflub gerd: that might not fix your problem, but you are welcome to give it a shot
18:41 mikehh Util :full title Garbage Collection: Alogrithms for Automatic Dynamic Memory Management by Richasrd Jones and Rafael Lins
18:42 Util mikehh: found it; thanks
18:45 mikehh Util: you might want to check http://www.cs.kent.ac.uk/peopl​e/staff/rej/gcbook/gcbook.html
18:45 gerd I can starting to go to version 1.9.0 anyway, should I start?
18:46 darbelo pmichaud++
18:46 Util mikehh: thanks! BTW, local university library has: Garbage collection in the District of Columbia. April 1, 1918.
18:46 Util FAIL
18:46 Coke i have a git repo with a remote branch. how do I create a local branch to work on it?
18:46 Topic for #parrotis now Parrot 1.8.0 Zygodactyly released | Parrot 1.9.0 to be released Tues 15 Dec | Priorities: documentation review, tutorials, and context_unify3 branch
18:47 moritz Coke: git checkout -b branchname --track origin/brancname
18:47 chromatic I usually use git co -b local_branch_name remotes/branch
18:47 moritz newer gits --track automatically, I think
18:48 chromatic Should explain it.
18:48 chromatic I don't know the difference between origin/branch and remotes/branch.  That could be a git-svn artifact here.
18:50 pmichaud ("cooling off period")   there's not a problem with things landing shortly after a release.  It's things changing shortly before a release that cause pain.
18:50 dalek winxed: r266 | julian.notfound++ | trunk/ (2 files):
18:50 dalek winxed: try statement in stage 1
18:50 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=266
18:50 moritz chromatic: "origin" is just the default name of a remote
18:50 Coke pmichaud: does "make spectest" have to pass on rakudo-ng before it -> master?
18:50 chromatic Thanks, moritz.
18:50 barney make fulltest    succeeds on 32bit Linux
18:51 Coke (hurm. I thought I just checked out ng and ran make spectest and had it pass 100%)
18:51 Util moritz: I think that "origin" is a GitHub-specific convention
18:51 pmichaud I'm not aiming for everything pass... but we need to be passing much more than we are now.
18:52 moritz Coke: ng's spectest doesn't run all the files that master runs
18:52 pmichaud oh, 100% pass on ng just means it's 100% pass of the limited set of tests it chooses to run
18:52 Coke ah.
18:52 Coke got some todo passed, btw.
18:52 pmichaud I want it to be passing on-the-same-order-of-tests that master is
18:52 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#30943), fulltest) at r43073 - Ubuntu 9.10 amd64 (gcc with --optimize)
18:52 pmichaud master is currently at 84.5% of the test suite, so I'd want master to be at least in the 70%ish range
18:52 Coke is there a test target I can run in ng that highlights the failures?
18:53 particle bubaflub: what's your real name?
18:53 bubaflub Bob Kuo
18:53 pmichaud Coke: I'm not aware of one
18:53 bubaflub could be under Robert
18:53 particle received last week
18:53 bubaflub particle: awesomesauce
18:54 particle i wish we had a space for irc nick there, i don't know names<->nicks well enough yet
18:54 Coke particle: ... it's email. they can always mention it in the email. =-)
18:55 particle email? to a po box?
18:56 cotto_work Anything is possible.
18:56 mikehh joined #parrot
18:56 dalek tracwiki: v7 | cotto++ | CottoTasklist
18:56 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Co​ttoTasklist?version=7&amp;action=diff
18:56 darbelo particle: Sure, print it out ...
18:57 particle you people are all thinking backwards
18:57 particle i received robert kuo's paper-based cla in my physical mailbox.
18:57 darbelo .ton era ew oN
18:58 Coke particle: post it notes.
18:58 Coke turns out it's even easier to annotate physical paper. =-)
19:00 whiteknight I tried 3 times to fax my CLA
19:00 whiteknight I don't have a scanner to scan+email it
19:00 Coke what happened when you faxed it?
19:00 Coke (it gets turned into an attachment and emailed to us)
19:01 mikehh joined #parrot
19:02 whiteknight I was getting an error about "this number does not exist" or something
19:03 particle did you use a 1?
19:04 particle kids today don't remember life before mobile phones...
19:04 chromatic "Oh no, I dialed a six instead of a seven... now I have to start over, and this number has nines in it!"
19:04 bubaflub rotary phones are coming back in style
19:05 * cotto_work looks forward to a mobile rotary phone
19:05 bubaflub one of our house phones had a little switch for pulse/tone dialing
19:07 whiteknight I used a 1, I tried 3 separate times
19:07 whiteknight it might be my fax machine, and my mad fax skillz are lacking
19:08 Coke pmichaud: should be deprecate pge and old-nqp?
19:08 Coke *we
19:08 darbelo Aren't they already?
19:09 Coke darbelo: not officially.
19:09 pmichaud Coke: I think yes.
19:09 pmichaud or, if not deprecate them, at least mark them as "unmaintained"
19:09 Coke pmichaud: as do I. I don't want to have to maintain both tiers.
19:09 Coke s/tiers/versions/
19:13 diakopter on the ArrayList (essentially ResizablePMCArray) edition of stress2, mono takes 0.26s
19:16 gerd Should I do the "svn commit" to 1.9.0 now?
19:17 chromatic Do it!
19:18 gerd Done
19:18 Patterner yay!
19:20 moritz gerd++
19:21 cotto_work gerd, did crow.pir ever get fixed?
19:21 barney gerd++
19:21 cotto_work gerd++
19:21 dalek parrot: r43074 | gerd++ | trunk (10 files):
19:21 dalek parrot: update to version 1.9.0
19:21 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43074/
19:22 kj joined #parrot
19:24 gerd cotto_work: no crow.pir seem not to be fixed
19:25 cotto_work how annoying
19:28 dukeleto 'ello
19:28 dukeleto gerd: crow.pir was broken since before 1.7.0 release. i wrote the 1.7.0 release by hand
19:29 lucian joined #parrot
19:29 dukeleto gerd: also, let me know when things go out, so I can tweet/dent appropriately
19:30 Coke (there's a ticket for crow.pir)
19:33 dukeleto Coke: we should deprecate/unmaintain pgegrep and friends as well
19:33 cotto_work It's nice that we have enough volunteers that any given committer only has to care about the release process maybe once a year.
19:34 darbelo I'd expect that if they had to care more we would have less.
19:34 particle how did crow break? it's a simple script...
19:36 darbelo The json compiler is the actual broken piece.
19:36 darbelo crow.pir simply exposes it.
19:38 dalek parrot: r43075 | barney++ | trunk/ChangeLog:
19:38 dalek parrot: Fixed a date in ChangeLog.
19:38 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43075/
19:38 dalek parrot: r43076 | gerd++ | tags/RELEASE_1_9_0:
19:38 dalek parrot: tagged release 1.9.0
19:38 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43076/
19:38 darbelo $P0 = get_root_global [ 'JSON' ],  '$escapes' is handing a NULL PMC, to the displeasure of the next line, which tries to use that PMC.
19:39 particle ah
19:40 dukeleto it should be data_json
19:43 mikehh joined #parrot
19:44 darbelo dukeleto: If I do that I get ""load_language" couldn't find a compiler module for the language 'data_json'"
19:47 darbelo And what's up with the json/data_json thing? Can't we have just one name for the thing?
19:48 dukeleto darbelo: see the long parrot-dev conversations about it
19:48 dukeleto darbelo: some people decided that data languages should be prefixed with data_ and JSON in all caps causes some problems in the build chain on some platforms or some junk
19:49 dukeleto darbelo: other people didn't like that but then nothing more happened
19:49 dukeleto darbelo: patches welcome!
19:49 purl rumour has it patches welcome is ponies welcome or Set Objectives, Achieve Results! or swahili for "Put up or shut up."
19:53 bacek joined #parrot
19:56 diakopter in the realm of better (for parrot) news (perhaps), addir.pir is slightly faster than addit.cs on mono http://parrot.pastebin.com/d32e97340  I say "perhaps" because varargs_adder is coercing to double every time by stringifying each operand and parsing to double *every* time.
19:57 diakopter addit.pir I mean
19:58 diakopter C# operator +  can work among double and int, but doesn't coerce from string to numeric, afaik.
20:04 Coke My solution? rip out json.
20:05 Coke (I was kind of annoyed at the whole mess, as it seemd to work fine before the switch.)
20:06 Coke not annoyed enough to undo it, though.
20:08 whiteknight joined #parrot
20:08 patspam joined #parrot
20:14 darbelo joined #parrot
20:15 whiteknight what's the status of the release?
20:16 nopaste "chromatic" at 72.87.39.97 pasted "bacek, this Continuation patch fixes some tests and breaks some others" (14 lines) at http://nopaste.snit.ch/19091
20:16 cotto_work whiteknight, it's been tagged
20:17 whiteknight cotto_work: awesome
20:22 Coke someone let me know when there's an ftp-able version.
20:27 dukeleto tag it and bag it
20:28 cotto_work can I frag it?
20:28 dukeleto cotto_work: only if you clean up after
20:28 cotto_work You're no fun anymore.
20:31 bacek chromatic, sorry, I will not have time to do any work on context_unify3 this morning.
20:32 bacek chromatic, btw, can you revert r43065 please?
20:35 gerd Coke: the release in on the ftp-server I am still working on the website
20:36 dukeleto gerd++
20:36 dukeleto gerd: let us know if you need help with something
20:37 chromatic All of it, or the commit to src/call/args.c?
20:41 bacek src/call/args.c
20:41 purl src/call/args.c is reporting "17 unused assert macros" when run through t/codingstd/c_args_assert.t
20:41 Coke docs.parrot.org updated.
20:41 Coke purl, forget src/call/args.c
20:41 purl Coke: I forgot src/call/args.c
20:42 Coke may take a day or so to get through the cache.
20:42 Coke (accessible immediately as: http://docs.parrot.org/parrot/1.9.0/html/
20:51 dalek tracwiki: v8 | cotto++ | CottoTasklist
20:51 dalek tracwiki: rearranging and cleanup
20:51 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Co​ttoTasklist?version=8&amp;action=diff
20:58 Coke <the critic>Patch my code! Patch my code!Patch my code!Patch my code!</the critic>
20:59 dalek parrot: r43077 | chromatic++ | branches/context_unify3/src/call/args.c:
20:59 dalek parrot: [PCC] Reverted mistaken change from r43065.
20:59 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43077/
21:02 darbelo Oh, we have a bsdlint target.
21:03 darbelo Too bad it uses options that this bsd's link doesn't support ;)
21:03 darbelo s/link/lint/
21:10 patspam joined #parrot
21:15 dalek parrot: r43078 | bacek++ | branches/context_unify3/src/ops/core.ops:
21:15 dalek parrot: Revert "Remove setting caller_ctx in op get_params."
21:15 dalek parrot: This reverts commit e00530912acce181f7efd5cc602dbdafbfca1bba.
21:15 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43078/
21:17 bacek chromatic, get_params' setting of caller_ctx is wrong. I don't have time to fix it now...
21:18 bacek $dayjob time
21:18 hercynium joined #parrot
21:23 joeri joined #parrot
21:23 joeri left #parrot
21:36 payload joined #parrot
21:53 dukeleto sure seems quiet in here
21:54 Coke AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA​AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGH
21:54 dukeleto that is much better
21:55 joeri joined #parrot
21:55 * Tene TURNS THE VOLUME UP TO 11
21:57 Coke Tene: any chance to look at my various CONTROL issues?
21:59 Tene Coke: I think the gf is planning to go out tonight, so I might be able to.  My life has been kind of falling apart lately.  Could you send me email talking about all of it
21:59 Tene ?
21:59 * Tene at allalone.org
22:02 dalek winxed: r267 | julian.notfound++ | trunk/ (2 files):
22:02 dalek winxed: switch, break and some fixes in stage 1
22:02 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=267
22:02 Tene Argh... the parrot Getopt::Obj is *almost* usable from HLLs, but it doesn't use the right namespaces.
22:02 Tene .namespace ["Getopt::Obj"] instead of ['Getopt';'Obj']
22:03 darbelo Ouch.
22:03 Tene ><
22:03 NotFound Tene: yes, I was planing to ask about that in #ps one of this weeks.
22:03 NotFound But is usable from Winxed anyway ;)
22:04 darbelo Changing that to the right namespace would break code, right?
22:04 Tene This also means that any attempt to work around it is going to be a pain, because ["Getopt::Obj::Spec"] isn't actually nested.
22:04 chromatic Seems like a bugfix to me.
22:04 Tene Oh, maybe... if we just grab the namespaces and install them into the old names at :load time, it might work.
22:05 Coke (life falling apart) it's not that important. =-)
22:05 Coke my problem, that is.
22:05 Tene Coke: I'd love to work on Parrot tonight.
22:05 Coke k.
22:05 NotFound Tene: I was thinking about trying that, but lacked the time.
22:05 darbelo I'm guessing that "::" was a valid namespace separator in the past. Right?
22:06 Tene darbelo: no.
22:06 Tene darbelo: it's just a name that looks separated.
22:06 Tene oh, I also need to fix the newclass stuff.
22:06 darbelo That's just silly code then.
22:07 Tene darbelo: ack 'namespace.*::' runtime/
22:07 Tene There's a lot of it.
22:07 NotFound Maybe the easy way is just to duplicate the code, deprecate the old, and delete it at the end of cycle,
22:07 Tene NotFound: it is arguable that some of those libraries should move out of parrot core...
22:08 chromatic Can we get a list of the afflicted libraries?
22:08 bacek joined #parrot
22:08 Tene All of SDL
22:08 Tene Data::Dumper
22:08 purl Data::Dumper is written entirely in Perl, so it ought to work anywhere that Perl does! :-) or a good alternative to Storable. or or YAML for when you don't want my eyeballs poked with lots of {[ ]},s
22:08 Topic for #parrotis now Parrot 1.9.0  released | http://parrot.org/
22:08 Tene Getopt::Obj
22:08 NotFound Tene: my comment was only for GetOpt
22:08 chromatic No backwards compatibility concerns for SDL; patch away.
22:09 Coke Tene: done.
22:09 Tene Argh, can't, really need to get back to $realjob.
22:09 Tene AFK
22:09 chromatic Anyone can do it!
22:09 Coke darbelo: (silly) that code predates the ability to have multi-part keys, mmkay?
22:10 chromatic ATTENTION ALL LURKERS: spread holiday cheer (unless you hate holidays, are not particularly cheerful, or have a mean boss watching over your shoulders now).
22:10 Coke BAH HUMBUG!
22:10 * Coke queues up patrick stewart as scrooge to cheer for the ghosts.
22:12 he joined #parrot
22:12 darbelo Coke: Point taken.
22:12 purl Hey, give that back!
22:18 Coke AFK
22:20 * dukeleto hearts Parrot Getopt::Obj
22:21 dukeleto current dev release still points to ftp://ftp.parrot.org/pub/pa​rrot/releases/devel/1.8.0/
22:22 dukeleto can someone fix http://www.parrot.org/release/developer and make the damn thing automatic or something?
22:22 * dukeleto takes a breath
22:23 dukeleto i am almost offended that SVK is still listed on http://parrot.org/download
22:23 dukeleto but i guess people still use it, even though it has been end-of-lifed
22:24 chromatic It's still better than straight SVN, last time I tried straight SVN.
22:24 dukeleto chromatic: I guess I can't say, since I have never used SVK
22:25 NotFound They killed SVKenny?
22:25 chromatic I've used a few VCSs; SVK was one of the least annoying.
22:25 iblechbot joined #parrot
22:25 cbarrett joined #parrot
22:26 moritz when i tried to use SVK I wasn't up to the distributed model
22:26 moritz I guess I'd handle it better now
22:26 chromatic Git is an improvement over SVK, but SVK was a huge improvement over SVN.
22:26 moritz mercurial also seems nice, though I haven't used it extensively yet
22:27 chromatic It was okay.  It didn't bother me much, but I didn't do much with it.
22:27 chromatic It was definitely slower than Git the last time I used it, but that was a year ago.
22:27 moritz I think it still is
22:27 pmichaud speed is one of git's explicit goals
22:28 moritz but for the relatively small project I used it on (eigen, a linear algebra lib in C++) it was fine speed-wise
22:28 dukeleto pmichaud: hence the hand-tuned SHA1 code in assembly ;)
22:30 moritz they surely use that a lot :-)
22:31 tewk_ dukeleto, didn't know about hand-tuned assembly, I'll have to go look at that :)
22:32 PerlJam dukeleto: how come git isn't listed on parrot's download page?
22:33 Tene I tried to use SVK once.  Read through some instructions, but I couldn't actually get it to do anything at all.
22:36 dukeleto PerlJam: because there is still push-back for supporting git and it is an un-official mirror. but if you wanted to add something about our un-official github mirror, that would be awesome
22:37 dukeleto tewk_: block-sha1/sha1.c in the git repo is filled with asm
22:41 dukeleto i have updated the URL redirects
22:42 japhb Coke, I've now got my account on blogs.perl.org, with first post already up: http://blogs.perl.org/users/geoffrey_broadwell/ ... can you add it to Planet Parrot, please?
22:42 dukeleto https://www.parrot.org/release/current and https://www.parrot.org/release/developer are now correct
22:49 darbelo japhb: ping
22:49 japhb darbelo, pong
22:50 darbelo Your name pops up in various of the data_json files, do you have any clues that might help fix crow.pir?
22:51 japhb darbelo, looking
22:51 darbelo TT #1326
22:53 japhb rebuilding parrot; will try to fix when that is done
22:54 darbelo japhb: No hurry, I'm not doing a release 'till January ;)
22:55 payload joined #parrot
22:55 kid51 joined #parrot
23:01 Coke japhb: what's the RSS feed?
23:01 purl i heard the RSS feed was doable
23:01 japhb Coke, lemme check
23:02 Coke I see no obvious links on the top level url.
23:02 japhb Hmmm, from the page source it looks like http://blogs.perl.org/users/​geoffrey_broadwell/atom.xml
23:03 dalek tracwiki: v137 | gerd++ | WikiStart
23:03 dalek tracwiki: http://trac.parrot.org/parrot/wiki/W​ikiStart?version=137&amp;action=diff
23:04 Coke japhb: done.
23:04 Coke good luck on this one. =-)
23:04 japhb Coke: thanks!
23:04 Coke I didn't see a previous entry for you.
23:04 Coke so, no clue what happened.
23:04 japhb huh.
23:05 japhb Maybe it got deleted when it was filled with FAIL
23:05 * Coke checks svn repo.
23:05 * japhb will chuckle ruefully if the old feed was just *never added*
23:05 Coke hurm.
23:05 Coke it does look like that's possible. :|
23:05 Coke my apologies for any angst.
23:06 japhb ... which might be because there were problems with u.p.o feeds, so no one bothered.
23:06 japhb Not a big deal.
23:06 purl not a big deal is relative
23:06 Coke nah, those work.
23:06 Coke "worked", anyway.
23:07 japhb What's the url for PP anyway?  'planet.parrot.org' doesn't work
23:08 Coke parrotcode
23:08 purl parrotcode is in the same cvs are parrot or editable by coke, chromatic and allison
23:08 dalek website: gerd++ | Parrot 1.9.0, "Blue-fronted Amazon" Released!
23:08 dalek website: http://www.parrot.org/news/2009/Parrot-1.9.0
23:08 Coke ... do we actually have sponsors atm?
23:09 Coke not organizationally, anyway.
23:09 japhb Ah, OK, got it
23:09 japhb I'm not listed in the Subscriptions list
23:09 Coke ISTR when it worked, it took a while to refresh.
23:09 japhb k
23:09 Coke so, check in an hour, a day, and then complain to me.
23:09 japhb will do
23:09 Coke (or just email ask and cc me.)
23:09 japhb :-)
23:10 Coke I'm going to remove Chip and Leo; Anyone see an issue with that?
23:10 japhb not I
23:13 Coke Done.
23:19 Coke afk

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

Parrot | source cross referenced