Camelia, the Perl 6 bug

IRC log for #parrot, 2010-08-05

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:02 ruoso joined #parrot
00:03 Paul_the_Greek joined #parrot
00:03 Paul_the_Greek If I want to work on an open ticket, do I make myself the owner?
00:15 dalek website: Chandon++ |  Moving to multiple OS threads
00:15 dalek website: http://www.parrot.org/conten​t/moving-multiple-os-threads
00:35 Casan joined #parrot
00:45 kid51 joined #parrot
00:47 * kid51 backscrolls
00:47 kid51 Hmm, Paul_the_Greek didn't stick around for an answer to his question.
00:48 cotto_work bad habit there
00:48 kid51 nopaste still kicked, I take it
00:48 cotto_work and purl too
00:48 sorear purl isn't even on the server
00:49 kid51 purl?  What did that bi..., er, bot, do to get kicked?
00:49 erikh it's offline. no idea why.
00:49 kid51 (And we'll soon see if smolder is working.)
00:49 erikh I suspect hachi knows, though.
00:49 kid51 but hachi's not around ... which may be the explanation
00:50 kid51 Well, even bots deserve vacation ... in this heat
00:54 erikh heh.
00:55 kid51 No, Smolder is still down, 3rd night in a row
01:07 plobsing joined #parrot
01:11 JimmyZ joined #parrot
01:12 tcurtis joined #parrot
01:25 ruoso joined #parrot
01:28 plobsing ping ash_
01:28 ash_ pong
01:29 ash_ hows your week going?
01:29 dalek tree-optimization: b05292d | tcurtis++ |  (7 files):
01:29 dalek tree-optimization: Merge branch 'master' into pass-manager
01:29 dalek tree-optimization: review: http://github.com/ekiru/tree-optimization/com​mit/b05292d34df6b1e567a9a2af763bad03b15f6de0
01:29 dalek tree-optimization: 3bf0507 | tcurtis++ | t/tree-optimizer.t:
01:29 dalek tree-optimization: Add tests for :when.
01:29 dalek tree-optimization: review: http://github.com/ekiru/tree-optimization/com​mit/3bf05076e466b9fa415041424a024195f79fe9ba
01:29 dalek tree-optimization: 116e917 | tcurtis++ | t/tree-optimizer.t:
01:29 dalek tree-optimization: Add a simple test for :recursive.
01:29 dalek tree-optimization: review: http://github.com/ekiru/tree-optimization/com​mit/116e91706fc618f343d12c7063a53ca17c3173e2
01:29 dalek tree-optimization: 128fb26 | tcurtis++ | src/Tree/Optimizer/Pass.nqp:
01:29 dalek tree-optimization: Implement :when.
01:29 dalek tree-optimization: review: http://github.com/ekiru/tree-optimization/com​mit/128fb269de959ed64677fcbab440c9da68392063
01:29 dalek tree-optimization: f0b2807 | tcurtis++ | t/tree-optimizer.t:
01:29 dalek tree-optimization: Add failing tests for repeatedly running an optimizer.
01:29 dalek tree-optimization: review: http://github.com/ekiru/tree-optimization/com​mit/f0b280734c645ff4c581b335c70331d7fc0d781c
01:29 dalek tree-optimization: 542b6b1 | tcurtis++ | src/Tree/Optimizer.nqp:
01:29 dalek tree-optimization: Make repeated calls to Tree::Optimizer.run work in the presence of dependencies.
01:29 dalek tree-optimization: review: http://github.com/ekiru/tree-optimization/com​mit/542b6b14126dc1d61a26f800117af7c6aa3f3ce7
01:29 dalek tree-optimization: 68344b1 | tcurtis++ | t/tree-optimizer.t:
01:29 tcurtis Oh dear. I'm sorry.
01:29 dalek tree-optimization: Test that match result is passed into the transformation in :when passes.
01:29 dalek tree-optimization: review: http://github.com/ekiru/tree-optimization/com​mit/68344b1f961c85099e9801b34921a6c5cd8482cf
01:29 dalek tree-optimization: 97d95b0 | tcurtis++ | src/Tree/Optimizer/Pass.nqp:
01:29 dalek tree-optimization: Pass the match result into the transformation for :when passes.
01:29 dalek tree-optimization: review: http://github.com/ekiru/tree-optimization/com​mit/97d95b0015fd5e31237bd677b14a6ae9cb2dc95d
01:29 dalek tree-optimization: 91fd0a8 | tcurtis++ | t/tree-optimizer.t:
01:29 dalek tree-optimization: Add another :recursive test and tests for combined :when and :recursive.
01:29 dalek tree-optimization: review: http://github.com/ekiru/tree-optimization/com​mit/91fd0a86970d1037ecd175c113288652c86ba5ea
01:29 dalek tree-optimization: da979a4 | tcurtis++ | s (3 files):
01:29 dalek tree-optimization: Add support for :recursive, though :when and :recursive still don't work
01:29 dalek tree-optimization: together.
01:30 dalek tree-optimization: review: http://github.com/ekiru/tree-optimization/com​mit/da979a43e5fdbc387ac17422d3b965cc868f861f
01:30 dalek tree-optimization: 1d02bc6 | tcurtis++ | src/Tree/Optimizer/Pass.nqp:
01:30 dalek tree-optimization: Make :when/:recursive play nicely.
01:30 dalek tree-optimization: review: http://github.com/ekiru/tree-optimization/com​mit/1d02bc6f02deff0294a1859b30e8bfa03e0ddecc
01:30 dalek tree-optimization: 423e032 | tcurtis++ | t/tree-optimizer.t:
01:30 dalek tree-optimization: Add tests to make sure :combine works properly.
01:30 dalek tree-optimization: review: http://github.com/ekiru/tree-optimization/com​mit/423e03205516ebb86893c8a38c9de6c2bfbd1507
01:30 dalek tree-optimization: 51655ac | tcurtis++ | t/tree-optimizer.t:
01:30 dalek tree-optimization: removed debugging commented out line.
01:30 dalek tree-optimization: review: http://github.com/ekiru/tree-optimization/com​mit/51655ac5fb75c3690eda7140f110ff7f0aeae446
01:30 dalek tree-optimization: caae635 | tcurtis++ | s (5 files):
01:30 dalek tree-optimization: Implement :combine.
01:30 dalek tree-optimization: review: http://github.com/ekiru/tree-optimization/com​mit/caae63522095991b3778d1de9705abc1102fdb1c
01:30 dalek tree-optimization: 73b3c7a | tcurtis++ | t/tree-optimizer.t:
01:30 dalek tree-optimization: Remove unnecessary whitespace.
01:30 dalek tree-optimization: review: http://github.com/ekiru/tree-optimization/com​mit/73b3c7a6ea0d1a3c9c300097ff7cabf96353ac6e
01:30 dalek tree-optimization: ca78f94 | tcurtis++ | t/tree-optimizer.t:
01:30 dalek tree-optimization: Add tests for correct null-handling.
01:30 dalek tree-optimization: review: http://github.com/ekiru/tree-optimization/com​mit/ca78f94e7cdaf2a21828e0722b55aecd0bc1680e
01:30 dalek tree-optimization: d224501 | tcurtis++ | src/Tree/Optimizer/Transformers.nqp:
01:30 dalek tree-optimization: Fix null handling in Tree::Optimizer's transformers.
01:30 dalek tree-optimization: review: http://github.com/ekiru/tree-optimization/com​mit/d224501de1571dbde46dedfd8f966b312945bc47
01:30 dalek tree-optimization: fd9186d | tcurtis++ |  (2 files):
01:30 dalek tree-optimization: Merge branch 'master' into pass-manager
01:30 dalek tree-optimization: review: http://github.com/ekiru/tree-optimization/com​mit/fd9186dd61760ffe10f96d4b3d931bda1fd33b0b
01:30 plobsing is it over? can I un-duck now?
01:31 tcurtis I think so.
01:31 ash_ lol
01:32 plobsing to answer your question, I've been trying to get back into the swing of things after hitting pause during the code-slush
01:32 plobsing you?
01:34 ash_ i have been trying to understand the various parrot op calls, and context's
01:34 ash_ that, and i got a sample of http://try.rakudo.org/shell working
01:34 ash_ on the live site
01:34 plobsing op calls and contexts?
01:35 ash_ for my tool to make an exec out of a pbc
01:35 ash_ for being able to do things, like call Parrot_add_i_i() directly
01:36 plobsing be careful to not be falling into the deep introspection trap again just yet.
01:37 ash_ well, i have a sample script that reads the pbc and loads the opcodes from the oplib (based off of one I found in winxed)
01:37 ash_ http://code.google.com/p/winxed/source​/browse/trunk/examples/packfile.winxed does it, but i use oplib to find the name of functions from their op code
01:38 ash_ so, i can say what is op 145 (just making up a number) and oplib says thats add_i_i
01:38 ash_ which i know in C just needs Parrot_add_i_i(); to be a valid call
01:38 ash_ the confusing part is setting up the context correctly, so when inside add_i_i it does IREG(1) it gets the right thing
01:39 ash_ and i am seeing that the parrot internals aren't setup for this kind of calling convention, i think
01:39 plobsing hmmm... yeah. There are a few other places that create mock context objects to do similar things.
01:40 plobsing Off hand, I know IMCC does that to fold constants.
01:41 plobsing But I think you'll have to maintain a proper context object for this to work right.
01:41 ash_ ya, i think so too
01:43 plobsing you're not hitting any blockers on this right now, correct?
01:43 ash_ i was thinking, i'd probably need to still need to load the pbc into memory the same way you normally do
01:43 ash_ the only blocker is understanding the internals
01:44 ash_ since i am trying to toy with a lot of the internals, it's sometimes a bit confusing
01:46 plobsing I feel the same way sometimes.
01:46 plobsing The only cure is more code diving.
01:46 ash_ ya
01:46 ash_ i am wondering if i am doing this in the right place
01:47 plobsing Doing what?
01:47 ash_ how far along is the lorito prototype?
01:47 plobsing lorito has been landing RSN for the last 8 months at least.
01:48 ash_ the prototype i saw on github, http://github.com/atrodo/lorito/ seems to have a much more simple codebase
01:48 ash_ is what i am getting ad
01:48 ash_ at*
01:48 ash_ for instance, http://github.com/atrodo/lo​rito/blob/master/core.c#L47 is the big chunk of code that is executing each op
01:49 ash_ its a big loop, with a switch statement in it, exactly the kind of thing i was trying to work out how to get rid of
01:50 plobsing yeah, sure. But that's just what parrot runs on. Parrot still runs PBC.
01:50 ash_ ya
01:50 ash_ i know
01:51 ash_ i just am having a harder time finding the parts i want in parrot, its a bit bigger, and more complicated
01:51 plobsing Wait until lorito + layers becomes complete. I doubt you'll see much reduction in (that kind) of complexity.
01:52 cotto_work I'm trying to re-wrap my head around CPS so I can figure out how Lorito is supposed to use it.
01:52 ash_ CPS?
01:52 cotto_work chromatic posted some pseudocode but I'm having trouble figuring out what the actual code would be.
01:52 cotto_work continuation-passing style
01:52 plobsing I thought CPS was on top of lorito.
01:53 cotto_work What I'm understanding from discussions is that Lorito-level functions will work by cps.
01:53 ash_ ah, continuation's are a bit confusing, espcially in languages that don't support them well...
01:54 cotto_work yarly
01:54 tcurtis Continuations are quite confusing. Even if languages that support them well. :)
01:54 tcurtis s/if/in/
01:55 plobsing I figured lorito would have to be flat (compile down to gotos). PCC and CPS are heavy.
01:55 ash_ in C doesn't that mean setjmp and longjmp?
01:55 cotto_work fortunately they can be faked reasonably well in perl 5 so I can at least have something runnable
01:56 cotto_work Lorito is gotos.  with CPS on top.
01:56 cotto_work My efficiency questions are on hold until I understand the problem better.
01:56 cotto_work but they're there
01:57 * cotto_work goes away
01:58 plobsing ash_: In any event, I think it's a bit early to be targetting your tool at compiling/running with Lorito. It is subject to a lot more change than is core parrot.
01:58 ash_ ya, makes sense
01:59 ash_ just seemed like an easier starting point, but i can keep trying at what i am working on, i just haven't made any substantial progress mostly because i am spending most of my time trying to understand the internals of parrot
01:59 plobsing if you're stuck on something, don't be afraid to ask questions.
02:00 chromatic Imagine that Lorito M0 is a virtual machine for C instructions.
02:00 chromatic Imagine that you have to build C's calling conventions out of those tools.
02:01 chromatic Every function call built on top of M0 is merely a jump to an address that knows how to look *somewhere* for the continuation and the other registers.
02:01 chromatic Similarly, every function return... but that's how CPS works.
02:02 dalek parrot: r48323 | jkeenan++ | trunk/t/native_pbc (4 files):
02:02 dalek parrot: Update 3 .pbc files so they pass on Darwin/PPC as well as Linux/i386.
02:02 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48323/
02:06 kid51 (It turns out it was actually 4 .pbc files that were thus updated.)
02:07 ash_ here's a question, in some of the ops (for instance, add_i_i) it calls IREG(1) = IREG(2) + IREG(3); IREG seems to be: #define IREG(i) Parrot_Context->bp.regs_i[cur_opcode[i]]; so, is bp.regs_i a list the size of the number of INTVAL registers that the whole program needs?
02:08 ash_ its defined as INTVAL *regs_i; so i assume its an array
02:08 sorear s/program/function/
02:08 kid51 What is M0?
02:08 sorear regs_i is the Ixx part of the current stack frame
02:09 ash_ so, does each call to a function have a different regs_i?
02:09 plobsing yes
02:09 plobsing you can think of that as a stack frame of sorts.
02:09 ash_ ah, i was wondering if they each had their own or if there was a global one, got ya
02:09 ash_ okay, so each call generates a new regs_i
02:11 plobsing yes. the size is determined by the n_regs_used attribute on the invoked sub PMC
02:12 tcurtis Odd. "parrot src/plumage.pbc" works, but the plumage fakecutable gives a bytecode version error.
02:12 plobsing make dependancy failure more likely than not
02:14 cotto ~~
02:17 kid51 http://nopaste.snit.ch/22565
02:17 * kid51 must sleep
02:18 cotto kid51, M0 is the low level Lorito ops
02:18 plobsing why M though?
02:18 dalek parrot: r48324 | jkeenan++ | trunk/src/hash.c:
02:18 dalek parrot: [codingstd] No space after opening parenthesis.
02:18 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48324/
02:18 cotto "Microcode" or "Magic"
02:19 cotto M0 has no magic
02:19 cotto M1 (PIR) has some magic
02:19 cotto etc
02:19 plobsing when do we get M4?
02:19 * cotto should have seen that coming too
02:22 integral joined #parrot
02:23 ash_ M0 = lorito, M1 = pir, M2 = nqp, M3 = rakudo, M4 = ... profit?
02:25 plobsing M4 = http://www.gnu.org/software/m4/m4.html
02:26 sorear M4 on Rakudo is an integral part of the self-configuring parrot
02:27 plobsing Yeah, now autoconf only tries sniffing my fortran compiler for 5 minutes. I could be having hours of auto-configuration fun.
02:27 ash_ what is check_events for?
02:27 plobsing it checks the event queue
02:28 ash_ its called after ever op in parrot?
02:28 plobsing where do you see that?
02:29 ash_ i made a simple test program, http://gist.github.com/509128 and decoded the pbc and printed out the ops in order
02:30 ash_ main is that set of 15 ops, which calls check_events almost every time there is an op called
02:31 japhb tcurtis, plobsing: Um ... did someone break plumage again?
02:32 tcurtis japhb: I'm not sure. It may just be something wrong with my parrot install or something.
02:32 plobsing japhb: not that I know of
02:33 japhb *phew*
02:34 plobsing ash_: opcodes include their arguments. You are seeing checkevents a lot because you are erroneously intepretting op-args as op-numbers
02:34 plobsing it's also why you're seeing a lot of "end" and "nop"
02:34 ash_ ah
02:34 ash_ that makes sense
02:34 plobsing s/nop/noop/ # why isn't it nop?
02:35 ash_ no op? vs nop? beats me
02:35 plobsing don't decode by hand though. trust pbc_disassemble. unless you're messing with the bytecode format (then you're on your own)
02:36 ash_ i am currently working with winxed's example/packfile.winxed, i modified it a bit to also print a few other details
02:42 darbelo joined #parrot
02:56 ash__ joined #parrot
03:00 ash__ Do you have any idea where in imcc it makes it's temp contexts for the constants?
03:14 plobsing I'm having trouble finding it. Sorry.
03:18 ash__ No problem, I'll look over the tests to see if that give me any hints
03:31 LoganLK joined #parrot
03:57 janus joined #parrot
04:01 ash__ joined #parrot
04:01 Coke hachi is working on resurrect purl. sounded like a machine crashed.
04:02 Coke ash_: wow, it's just as slow as from the command line! ;)
04:04 Coke MI5.
04:04 ash___ joined #parrot
04:05 Coke (those make more sense if you insert them in backscroll!)
04:05 ash_ Coke: do you mean the try.rakudo.org?
04:06 Coke ash_: hai.
04:07 ash_ is that what you were referring to?
04:14 Coke sorry, hai == yes.
04:23 ash_ ah, kk
04:26 tcurtis Coke: "MI5" made sense to me; although I had a similar thought earlier.
04:48 dalek plparrot: 9964752 | (Jonathan "Duke" Leto)++ |  (4 files):
04:48 dalek plparrot: Fix and test the trustedness of languages; update pgTAP Lite
04:49 dalek plparrot: review: http://github.com/leto/plparrot/commit/9​96475214096cb1e3243b575b20d4143cc76fe05
04:50 theory dukeleto: http://pgtap.org/documentati​on.html#language_is_trusted
04:50 theory Oh, that's what you copied. Never mind.
05:40 erikh joined #parrot
06:06 Casan joined #parrot
06:30 brianwisti joined #parrot
06:45 dalek rakudo: 0128ccd | pmichaud++ | docs/ROADMAP:
06:45 dalek rakudo: Initial ROADMAP updates from Pisa hackathon.
06:45 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​128ccdaa344d5e6386dc920916458ab6f26fbae
06:45 dalek parrot: r48325 | NotFound++ | trunk/src/pmc/default.pmc:
06:45 dalek parrot: implement Default.init_int
06:45 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48325/
06:52 brianwisti left #parrot
06:55 cotto Profiling seems to be "really important" to Rakudo.  I feel motivated.
07:18 dalek parrot: r48326 | NotFound++ | trunk/src/pmc.c:
07:18 dalek parrot: instantiate class with null arg and call set_integer_native on the instance instead of instantiate using a temporary Integer in Parrot_pmc_new_init_int
07:18 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48326/
07:18 dalek parrot: r48327 | NotFound++ | trunk/src/call/args.c:
07:18 dalek parrot: use init_int in slurpy postional presizing in fill_args, as suggested in r48320
07:18 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48327/
07:28 bacek_at_work joined #parrot
08:11 dalek rakudo: b627e33 | pmichaud++ | src/core/Cool-num.pm:
08:11 dalek rakudo: Add constant 'i' (RT #76994).
08:11 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/b​627e33318a01894cfd878e0c996a2b683e68867
08:23 smash joined #parrot
08:29 dalek rakudo: e65cb72 | masak++ | docs/ROADMAP:
08:29 dalek rakudo: [docs/ROADMAP] whitespace therapy
08:29 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​65cb72f6313e0dadc458da78bbaf9a0d88ab90a
08:32 robin-gvx joined #parrot
08:54 fperrad joined #parrot
09:02 mikehh_ joined #parrot
09:18 bacek joined #parrot
09:22 aloha joined #parrot
09:51 penguin_ joined #parrot
09:55 Hunger joined #parrot
09:56 dalek joined #parrot
10:04 szabgab joined #parrot
10:49 dalek rakudo: 7083478 | moritz++ | src/Perl6/ (2 files):
10:49 dalek rakudo: Implement :i and :s on rx//; refactor adverb validation a bit
10:49 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7​083478198dc0e6040d5148373f8e6cadc205c58
10:51 AndyA joined #parrot
10:56 whiteknight joined #parrot
11:08 lucian joined #parrot
12:11 smash joined #parrot
12:15 bluescreen joined #parrot
12:18 khairul joined #parrot
12:19 whiteknight good morning, #parrot
12:25 wknight8111 joined #parrot
12:27 bluescreen joined #parrot
12:32 dalek parrot: r48328 | NotFound++ | trunk/t/pmc/oplib.t:
12:32 dalek parrot: add a test for Opcode.get_string
12:32 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48328/
12:37 ruoso joined #parrot
12:45 Coke cotto: (profiling important) you getting pressure from someone who is not me?
12:49 mikehh joined #parrot
13:21 Paul_the_Greek joined #parrot
13:22 Paul_the_Greek If I've selected a ticket to work on, do I want to become the owner?
13:22 dalek parrot: r48329 | coke++ | trunk/src/pmc/env.pmc:
13:22 dalek parrot: remove XXX comment - you /can/ iterate over env, and speculative spec changes
13:22 dalek parrot: can go through trac instead of hiding as buried comments.
13:22 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48329/
13:24 Coke Paul_the_Greek: if no one else owns the ticket, yes, you should claim it.
13:25 Paul_the_Greek I'm logged in an looking at the ticket, but I'm failing to see how to take ownership.
13:32 Coke you don't have privs. what's your trac id?
13:32 Paul_the_Greek Paul C. Anagnostopoulos
13:33 Coke reload.
13:33 Paul_the_Greek Oh yes, that looks much better. Thanks.
13:47 dalek TT #1728 closed by coke++: Add more signatures for for PAST op types.
13:47 dalek TT #1728: http://trac.parrot.org/parrot/ticket/1728
13:54 plobsing joined #parrot
13:55 davidfetter joined #parrot
13:56 ambs joined #parrot
13:56 dalek parrot: r48330 | coke++ | trunk/compilers/pct/src/PAST/Compiler.pir:
13:56 dalek parrot: add some more pirop signatures for PCT (and by extension, NQP). TT #1728.
13:56 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48330/
13:58 Coke pmichaud: danke for the quick review. I hadn't even gotten back to caring about that since yesterday.
13:58 pmichaud Coke: you're welcome; it was handy in my mail so I looked it over quickly.  :)
13:59 Coke of course, partcl is still littered with the verbose syntax, but that lets me kill a lot of it.
14:02 ambs joined #parrot
14:29 tadzik joined #parrot
14:29 tadzik hello
14:30 tadzik is someone aware how many languages from http://parrot.org/languages are actually working or complete? I looked at Python and Ruby implementation but they seem untouched since some ancient times and don't seem to work. Is there anything worth exploring, besides obviously Rakudo and NQP?
14:32 Paul_the_Greek joined #parrot
14:33 Paul_the_Greek I've submitted a patch by attaching the file, adding a comment, and changing the type to 'patch'. Is that everything I need to do?
14:34 particle tadzik: parrot's lua passes the official lua test suite
14:35 Paul_the_Greek Congrats!
14:36 wknight8111 particle: is the lua compiler still working and maintained?
14:36 tadzik wknight8111: looks so, last commit is from June 14
14:36 tadzik wknight8111: and it works, just checked
14:36 wknight8111 nice
14:38 tadzik not really faster than official lua compiler, but looks nice
14:52 particle nobody promised "faster"
14:52 particle it's complete, and therefore it's a good language to use for benchmarking parrot speed
14:53 particle but the parrot team still needs to take a hard look at optimizations
14:53 Coke tadzik: we can't easily keep the list up to date.
14:54 Coke partcl (the original) was able to run the tcl test suite. (and fail a lot, but it could run tcltest.tcl, which is something.)
14:54 Coke partcl-nqp is easier to write, but has less done. (a rewrite in pct)
14:55 erikh hrm. I bet rubinius would be a lot easier to port to parrot than MRI.
14:55 atrodo Has there been any talk about auto/semi-auto tinder box for languages?
14:56 erikh although, one of the big differences in rubinius is that Thread.new actually maps to native system threads
14:56 erikh not sure how well parrot handles that.
14:59 brianwisti joined #parrot
15:04 TonyC joined #parrot
15:04 Andy_ joined #parrot
15:06 dalek rakudo: 1270a9c | pmichaud++ | docs/ROADMAP:
15:06 dalek rakudo: Add 'constant' into ROADMAP.
15:06 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​270a9c68b310b1337b3685a6328a010cfc55117
15:06 dalek rakudo: aa7de66 | pmichaud++ | docs/ROADMAP:
15:06 dalek rakudo: Merge branch 'master' of github.com:rakudo/rakudo
15:06 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​a7de6662d80b24b820fc65309aca5f18817de22
15:06 dalek rakudo: c716715 | pmichaud++ | src/Perl6/Grammar.pm:
15:06 dalek rakudo: Give an error for smartmatching against 'True' or 'False'.
15:07 dalek rakudo: (Should be a .worry, but we'll live with .panic for now.)
15:07 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c​716715817e6735832604e903389453f47df5d97
15:07 dalek rakudo: 590f3ba | pmichaud++ | src/Perl6/Grammar.pm:
15:07 dalek rakudo: Also warn for use of Bool::True and Bool::False in smartmatch (based on local
15:07 dalek rakudo: speculation with TimToady++).
15:07 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5​90f3ba0ffab5ae4a689f71bc86a22cdfe3ddfad
15:07 dalek rakudo: 7e356cc | pmichaud++ | src/Perl6/ (2 files):
15:07 dalek rakudo: Merge branch 'master' of github.com:rakudo/rakudo
15:07 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7​e356cc737f7f1a1fc4490f3afc143fa3d76052c
15:07 dalek rakudo: 19931fe | pmichaud++ | README:
15:07 dalek rakudo: Update README with pointer to Rakudo Star distributions.
15:07 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​9931fea011b4c80443f3fd43906d4c205ae2ab3
15:16 tadzik Coke: I see
15:19 theory joined #parrot
15:20 chromatic joined #parrot
15:20 ash_ joined #parrot
15:21 Paul_the_Greek joined #parrot
15:21 Paul_the_Greek Hey folks. If I've attached a patch to a ticket and changed the type to 'patch', do I need to do anything else?
15:22 moritz maybe point us to the ticket here :-)
15:22 Paul_the_Greek This one: http://trac.parrot.org/parrot/ticket/1605
15:23 Coke it'll show up on the parrot-tickets list, also.
15:23 Coke (when you change ticket status)
15:24 moritz Paul_the_Greek
15:25 moritz Paul_the_Greek++ # submitting patches
15:28 Paul_the_Greek Ah, do I have to change the patch status to 'new'?
15:29 Coke I wouldn't worry about it.
15:29 Coke I doubt anyone is running reports on trac on patches that are checking that flag.
15:29 Paul_the_Greek So merely attaching the file is sufficient to submit the patch?
15:30 Coke yes, it's already there. I've looked at it.
15:36 ash_ joined #parrot
15:37 Paul_the_Greek Thanks.
15:42 ambs left #parrot
15:57 chromatic Parrot::Install's eval block on line 229 has a fair bit of ugly.
15:58 chromatic msg bacek parrot-nqp loooooves memory when running gc_massacre.  Is buffer reclamation implemented or working?
16:09 macroron joined #parrot
16:20 ash_ joined #parrot
16:41 davidfetter joined #parrot
17:10 brianwisti1 joined #parrot
17:10 dukeleto theory: is there a reason you sent me the language_is_trusted link?
17:10 theory dukeleto: I thought you re-invented the wheel. Then realized that you didn't.
17:11 theory so ignore moe
17:11 theory *me
17:11 * dukeleto tries not to reinvent square wheels. theory++ for keeping an eye on me
17:12 theory dukeleto: Only came to my attention because my client watches for "pgtap"
17:12 theory And then only when I'm online, of coursre
17:12 Paul_the_Greek joined #parrot
17:13 * davidfetter would love to have an offline client that notifies such stuff
17:13 Paul_the_Greek Are you folks in the habit of changing internal identifier names that have become misleading?
17:13 davidfetter i guess a listenbot would do
17:16 cotto_work ~~
17:16 dukeleto Paul_the_Greek: what do you mean?
17:16 Paul_the_Greek The buffer macro Buffer_bufrefcountptr no longer has anything to do with reference counts.
17:17 dukeleto Paul_the_Greek: that seems less than ideal
17:17 Paul_the_Greek Where there was a reference count there is now a pointer to the Memory_Block.
17:18 desertm4x joined #parrot
17:20 cotto_work nice cognitive dissonance there
17:20 cotto_work INTVAL * const buffer_flags = Buffer_bufrefcountptr(d);
17:21 * cotto_work wonders when that code was last touched
17:21 dukeleto theory: would you accept a patch for language_isnt_trusted ?
17:22 theory dukeleto: Sure.
17:22 Paul_the_Greek It's even better: That word contains a pointer to a Memory_Block plus two low-order flags.
17:23 cotto_work Tagged pointers are fine.  Blatant mislabelling, not so much.
17:24 Paul_the_Greek Sp a change to that identifier would be in order?
17:25 chromatic If it's clearer, certainly.
17:26 cotto_work darbelo: ping
17:29 Paul_the_Greek Great, thanks.
17:39 dalek TT #1729 created by brianwisti++: Website needs an obvious link to parrot-users mailing list page
17:39 dalek TT #1729: http://trac.parrot.org/parrot/ticket/1729
17:41 brianwisti1 Unless I just missed something right in front of my face. It's been known to happen.
17:42 cotto_work not being a robot does that to you
17:43 brianwisti True. Except for the poor robots with no faces.
17:43 chromatic Orual-bot?
17:44 cotto_work seen darbelo?
17:44 cotto_work absentbot is absent
17:47 chromatic nopaste definitely lives up to its name at the moment
17:48 * cotto_work hugs ilbot2
17:48 cotto_work not all the bots have abandoned us
17:50 chromatic msg NotFound: this patch should improve hash thawing, but it gets the free_list wrong http://gist.github.com/510097
17:50 chromatic msg plobsing this patch should improve hash thawing, but it gets the free_list wrong http://gist.github.com/510097
17:50 cotto_work Message for NotFound not stored.
17:51 chromatic Oh wait, no purl.
17:51 chromatic Gah.
17:51 cotto_work Message for plobsing not stored.
17:53 chromatic Pity, because that looks like a 7% thawing speedup.
17:53 chromatic Perhaps more.
17:55 * particle suggests... email
18:00 tcurtis joined #parrot
18:13 mikehh who deal with dear purl, and why did she go on strike
18:13 mikehh deals
18:15 Chandon Anyone know why lo_var_ptr gets manipulated by do_1_sub_pragma in packfile.c?
18:15 chromatic So as not to trace the C stack inappropriately?
18:17 Chandon chromatic: That's the implication, but wouldn't not changing it just scan a little more stack maybe?
18:17 chromatic Right, and I see no harm in scanning more stack.
18:18 chromatic That might even find otherwise non-anchored GCables.
18:18 chromatic (There exist some GC related bugs in PBC creation and thawing)
18:18 Chandon Excellent. Now when I break it in my branch, at least I'm not crazy for that reason.
18:19 Coke minor update to http://www.parrot.org/
18:19 Coke Docs menu is now Users/Docs
18:20 Coke brianwisti: fixed, thanks!
18:20 Coke I think hachi's server died and is being resurrected.
18:20 brianwisti Coke: Saw the email alert. Thanks!
18:21 Coke brianwisti: we could probably stand to put more links on the Users page.
18:22 jevin joined #parrot
18:22 Coke ARGH. why do we have http://www.parrot.org/languages and http://trac.parrot.org/parrot/wiki/Languages ??
18:23 atrodo One's a lot prettier than the other?
18:23 brianwisti The latter is definitely more informative.
18:26 Coke I can't do this right now, but if you open a ticket, I can do it later:
18:27 Coke update the languages page on the main page to highlight only a few languages. have a link to the wiki for the full on list.
18:27 cotto_work which languages, and how often will the page need to be updated (or how quickly will the information go stale)?
18:28 brianwisti Probably evaluate the most recently active. Stuff that you could probably build if you had a fresh Parrot installation.
18:28 Coke cotto_work: it is ALWAYS stale ;)
18:28 Coke but that page should probably highlight rakudo and lua.
18:28 Coke which are the most interesting/complete/showcase languages.
18:29 cotto_work probably squaak too
18:29 Coke at the least, rakudo.
18:29 Coke squaak is merely pedagogical. put it on the users page.
18:29 dalek TT #1729 closed by coke++: Website needs an obvious link to parrot-users mailing list page
18:29 dalek TT #1729: http://trac.parrot.org/parrot/ticket/1729
18:30 Coke s/merely//
18:32 brianwisti Squaak may be for educational purposes only, but it's still an actively developed language compared to many that are on the list now.
18:33 Coke yes, but that's not the point of that page.
18:33 brianwisti fair enough :)
18:34 Coke the point of the page on www.parrot.org is, IMO, to advertise who is successfully using parrot to target languages. putting our toy on there is actually harmful, IMO.
18:34 Coke (but putting it on the "how to use parrot" page is super awesome, and I'll do that.)
18:41 tommyd joined #parrot
18:46 dalek TT #1730 created by brianwisti++: Languages page on Website needs updating
18:46 dalek TT #1730: http://trac.parrot.org/parrot/ticket/1730
18:59 brianwisti1 joined #parrot
19:00 darbelo cotto_work: pong
19:01 cotto_work darbelo: Buffer_bufrefcountptr is confusing.  Its name doesn't seem to match the way it's used.
19:01 cotto_work svn blames you for being the last one to modify it in pobj.h, so I'm hoping you can clarify
19:03 cotto_work example: INTVAL * const buffer_flags = Buffer_bufrefcountptr(d);
19:03 darbelo It was a pointer to a refcount a long time ago, back when buffers were refcounted. It stopped being that way some time before I came along, but it hasn't been renamed.
19:03 darbelo It's a tagged pointer now, IIRC.
19:04 cotto_work that's what appeared to be the case
19:04 darbelo A flag for 'This biffer is shared' and another for 'Please don't move this buffer'.
19:04 cotto_work Is it internal enough that no users should be touching it?
19:04 darbelo It's not internal enought to warrand a misleading name.
19:05 cotto_work I'm thinking whether it'll require a deprecation cycle to change or not.
19:06 darbelo It's a C macro for poking at the internal layout of our buffers.
19:06 darbelo If you need to poke that deep into our storage model, you are probably doing it wrong.
19:06 cotto_work sounds like a yes
19:06 cotto_work as in, no deprecation needed
19:07 cotto_work which I guess would actually actually be a "no"
19:07 darbelo OTOH, we can easily keep both the wrong *and* the correct name for essentially no cost.
19:07 cotto_work true
19:08 cotto_work could you change that now or should we make a ticket?
19:08 * cotto_work keeps wanting to msg people, but can't
19:08 particle joined #parrot
19:09 lucian joined #parrot
19:09 darbelo I think a ticket gives more of a chance for review. Prevent embarrasing "Oh, sorry you were using that?" moments and all that.
19:10 cotto_work We love our users, even if they're doing it wrong.
19:11 brianwisti1 I love my users, because I'm usually the one doing it wrong.
19:21 particle left #parrot
19:21 cotto_work darbelo: what new name would you give it?
19:27 darbelo Buffer_memblockptr() is the only thing I can come up with now. And maybe a Buffer_flags() alias, but I'm not too sure it'd be useful.
19:29 cotto_work Give it sufficient thought.  I can file a tt (or Paul_the_Greek if he's around) once you have a good name.
19:29 Paul_the_Greek joined #parrot
19:29 cotto_work or you can.  We have options.
19:29 cotto_work speak of the greek...
19:30 atrodo That was magical cotto_work.  How'd you do that?
19:30 Paul_the_Greek Hey folks. I just submitted a ticket. Is there a protocol for requesting a review of it, or do people look at it "automatically"?
19:30 Paul_the_Greek Uh oh, I've been spoken of.
19:30 cotto_work Either he has a bot monitoring #parrot or it was coincidence.
19:30 Paul_the_Greek I vote coincidence.
19:31 darbelo cotto_work: Asking bacek is probably a good idea too, since he's the last one (back during the immutable strings refactor) to change the Buffer and string layout.
19:31 cotto_work bacek, ping
19:32 Paul_the_Greek Do I need to request a review of my ticket, or just let it happen?
19:33 cotto_work Paul_the_Greek: it'll happen.  Normally dalek would notify us, though he seems to be down atm.
19:33 cotto_work or not
19:33 darbelo dalek: status?
19:34 darbelo Not very talkative.
19:35 darbelo But then, we're inferior and must be exterminated.  Hardly worth talking to.
19:37 dalek TT #1731 created by Paul C. Anagnostopoulos++: Assumption made about buffer header alignment
19:37 dalek TT #1731: http://trac.parrot.org/parrot/ticket/1731
19:51 lucian joined #parrot
19:51 Coke Paul_the_Greek: ευχαριστώ !
19:52 Paul_the_Greek You're quite welcome.
19:52 Coke \o/ . o O ( google translate ftw.)
19:52 Coke Greek I never learned any of.
19:52 Paul_the_Greek I don't know much. My parents didn't teach it to me when I was a kid.
19:52 Coke HA! I just realized my language studies are like parrot's.
19:53 Coke I spend a few years here, a few weeks there, and still only speak english. =-
19:53 cotto_work Paul_the_Greek: do you intend on fixing the ticket yourself?
19:54 Paul_the_Greek I thought someone should review it first. It's a bit of a change, but perhaps it's not worth worrying about, and so not disturbing the system.
19:55 Paul_the_Greek The same issue occurs in many places.
19:55 Paul_the_Greek If we don't change it, though, it is worth a big comment somewhere.
19:56 cotto_work Consistency is desirable, as is making our assumptions explicit.
19:56 dukeleto Just in case y'all haven't seen this: http://try.rakudo.org/shell
19:57 Paul_the_Greek Perhaps I should come up with a proposal for the fix and post it in the ticket. Then I could come back here and ask for review?
19:57 cotto_work +1
19:57 Paul_the_Greek I think the problem occurs in about a dozen places.
19:58 Paul_the_Greek +1 ?
19:58 chromatic Are you thinking "Let's define BUFFER_HEADER_SIZE and use it consistently"?
19:58 tcurtis Paul_the_Greek: +1 is an indication of support.
19:58 darbelo Paul_the_Greek: It's not the header itself that's being skipped over there, but the flags (and pointer) at the beggining of the buffer.
19:59 Coke where is the try source?
19:59 Coke ww
19:59 Paul_the_Greek Ah, I hadn't seen +1 before.
20:00 Paul_the_Greek Sorry, I'm calling that the buffer header (as opposed to the buffer descriptor).
20:00 Paul_the_Greek The buffer header may be larger than one pointer, so subtracting sizeof(void *) doesn't do the trick.
20:01 Paul_the_Greek chromatic: I don't think there is one consistent buffer header size.
20:01 Paul_the_Greek It depends on the alignment requested for the buffer.
20:02 darbelo It's also one of the places where we assume sizeof (INTVAL) == sizeof (void *)
20:02 tadzik left #parrot
20:03 cotto_work which need to be killed with fire
20:03 Paul_the_Greek I think that ALIGNED_STRING_SIZE and aligned_mem() need to cooperate a bit more.
20:04 Paul_the_Greek Yes, I think the Buffer macros do assume that.
20:05 Paul_the_Greek I also note a BUFFER_ALIGN_1 that is never used.
20:06 cotto_work Paul_the_Greek: for future reference, please be sure to stick around for a while after asking a question.  I was about to answer a previous question of yours when you left.
20:07 Paul_the_Greek Oh, sorry. Will do.
20:08 cotto_work The owner of a ticket is generally the one who's responsible for fixing it.
20:09 Paul_the_Greek Okay, then after I finish working on the documentation, I'll tackle this issue.
20:09 Paul_the_Greek Do y'all think it's worth reworking the Memory Internals developer doc after I finish updating all the comments? It's sadly out-of-date.
20:14 Paul_the_Greek Ping.
20:14 cotto_work you usually want to ping a specific person
20:15 cotto_work not everyone can answer every question
20:15 Paul_the_Greek I was just checking to see if I was still connected. Every now and then I just poof away.
20:15 cotto_work fun times
20:26 smash joined #parrot
20:35 * cotto_work feels like he's looking at a dating site for cows
20:36 Coke html5--
20:37 atrodo Coke> ENOPURL
20:37 Coke atrodo--
20:38 atrodo I would normally be sad...
20:44 bluescreen joined #parrot
20:47 Paul_the_Greek Once I submit a patch file, is it okay to submit a second one that is cumulative?
20:47 Paul_the_Greek That doesn't seem right.
20:48 Coke if it's the same ticket, you can replace the original if you like, or you can add a new one. no real protocol, just do what makes sense for that ticket.
20:48 cotto_work Just indicate what's what.
20:49 Paul_the_Greek I promise I have an SVN book on the way.
20:49 cotto_work Have you used git at all?
20:49 chromatic http://svnbook.red-bean.com/ should suffice
20:50 Paul_the_Greek No, sorry. I'm a newbie at this distributed source control thing.
20:50 Paul_the_Greek I'm used to a system where you checkout a file and then you own it; no one else can touch it. Old school.
20:50 cotto_work ok
20:51 Paul_the_Greek So what stops every change I ever make from accumulating in the modified status list?
20:51 Coke that's not version control, it's NFS.
20:51 cotto_work as much as we like to bash on svn, it's not that bad
20:51 tommyd left #parrot
20:51 Coke cotto_work: ORLY?
20:51 Coke I know several people who prefer CVS. =-)
20:51 chromatic One advantage to Git (for the record) is that every developer can have a complete local repository full of local branches.
20:52 Paul_the_Greek It makes sense for these two sets of changes to be cumulative, but what do I do when I start working on something else?
20:52 cotto_work2 joined #parrot
20:53 cotto_work2 Coke: you known some odd people.
20:53 cotto_work2 (or perhaps ones who have very different requirements from Parrot)
20:53 tcurtis Paul_the_Greek: you wish we were using git already so you could be working on it in a local branch. :) Also, git-svn might help.
20:54 chromatic Paul_the_Greek, that's one of the advantages of Git over SVN.  With Git you can make your own local branches and switch between them.
20:54 Paul_the_Greek Ah, I see. I should give it a look.
20:54 Paul_the_Greek But meanwhile ... is there a solution with SVN?
20:55 chromatic Either separate checkouts for each feature, or manual patch juggling.
20:55 purl joined #parrot
20:55 cotto_work2 botsnack
20:55 purl :)
20:55 Paul_the_Greek So once I'm done with this, I can re-checkout the entire system and that will clear the statuses?
20:56 cotto_work2 That's not necessary.  You can do svn revert -R . and it'll nuke any local changes
20:56 chromatic If you check out the project into a separate directory, you'll have a separate working copy.
20:57 Paul_the_Greek Don't want to revert, because I want my changes when I move on to another area.
20:58 cotto_work We can make a branch for you and apply patches to it.
20:58 cotto_work depending on how big the changes are
20:58 cotto_work svn isn't great for what you want to do
20:58 Paul_the_Greek Yes, I see that.
20:59 darbelo .oO(Or we could give him a commit bit...)
20:59 Paul_the_Greek What happens if you apply a patch and then try to apply a second one with the same changes?
20:59 cotto_work we have to have a couple patches and a #ps first
20:59 cotto_work patch will complain
20:59 Paul_the_Greek Can I tell from looking at a ticket whether an attached patch file has been applied to the system?
21:00 cotto_work only by reading the comments
21:00 Paul_the_Greek Plus I can look at the New Patch report.
21:01 Paul_the_Greek Okay, I'll replace my first patch file with this new one, so no cumulative confusion.
21:01 Paul_the_Greek Then I'll look into git.
21:01 cotto_work This'll all be nicer after the git migration.
21:01 cotto_work (Don't worry.  There are lots of people here happy to help a git newbie.)
21:02 Paul_the_Greek Does anyone have an opinion on the usefulness of updating the "Memory Internals" developer doc?
21:02 chromatic I'd refer to an updated version occasionally, if it were current.
21:02 cotto_work We should do *something* with it.  Out-of-date docs aren't fun to deal with.
21:03 cotto_work If you're interested in learning that part of Parrot, updating docs is a great way to do it.
21:03 Coke out of date docs should be updated or destroyed.
21:04 Coke So says Chip, so say we all.
21:04 Paul_the_Greek I've just gone through pobj.h and gc_private.h and updated/enhanced all the comments, so I'm in a good position to rework the document.
21:04 Coke purl, botsnack.
21:04 purl :)
21:04 cotto_work go for it then!
21:04 Paul_the_Greek I'll bring the document with me to the beach and hack away.
21:05 darbelo Paul_the_Greek++
21:05 darbelo purl: karma Paul_the_Greek
21:05 purl paul_the_greek has karma of 1
21:05 darbelo Paul_the_Greek++
21:05 darbelo Paul_the_Greek++
21:05 darbelo Paul_the_Greek++
21:05 darbelo Paul_the_Greek++
21:05 cotto_work msg khairul I find your lack of blog posts disturbing.
21:05 purl Message for khairul stored.
21:05 chromatic Paul_the_Greek, see http://trac.parrot.org/par​rot/wiki/git-svn-tutorial for an overview of using Git with Parrot.
21:06 chromatic It may be overwhelming at first.  That's normal.
21:06 perlite joined #parrot
21:06 cotto_work especially since you're also learning svn
21:07 Paul_the_Greek Hey, I 1-clicked an SVN book. Might as well do the same for Git.
21:10 cotto_work Do you live at the beach or is it a weekend trip?
21:11 Paul_the_Greek Two weeks in a house on the beach in Rhode Island.
21:11 cotto_work want
21:12 Paul_the_Greek The problem is that every year it takes me longer to get back into work mode when I return.
21:12 Paul_the_Greek Soon I'll retire. Then I can really whack on Parrot.
21:18 cognominal joined #parrot
21:25 wagle joined #parrot
21:26 hercynium joined #parrot
22:13 dalek parrot: r48331 | Chandon++ | branches/gsoc_threads (19 files):
22:13 dalek parrot: [gsoc_threads] Infrastructure for multiple (IO) threads per interp.
22:13 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48331/
22:29 dalek parrot: r48332 | Chandon++ | branches/gsoc_threads (30 files):
22:29 dalek parrot: [gsoc_threads] Merge from trunk.
22:30 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48332/
22:36 simcop2387 joined #parrot
22:40 TonyC joined #parrot
23:04 ruoso joined #parrot
23:05 Austin joined #parrot
23:10 Austin_Hastings joined #parrot
23:12 AndyA joined #parrot
23:22 cotto_work coke, where did that "Rakudo Club" nopaste come from?
23:23 lucian joined #parrot
23:25 kid51 joined #parrot
23:48 Chandon It turns out that 0 == 8589934592 when I forget that sizeof(INTVAL) may not equal sizeof(int).
23:59 Psyche^ joined #parrot

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

Parrot | source cross referenced