|
Parrot 2.6.0 | parrot.org Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | fix 'make html' (talk to Coke), merge gc_* branches, fix/replace/optimize hashing Set by moderator on 3 August 2010. |
|||
|
00:02
ruoso joined
00:03
Paul_the_Greek joined
|
|||
| Paul_the_Greek | If I want to work on an open ticket, do I make myself the owner? | 00:03 | |
| dalek | website: Chandon++ | Moving to multiple OS threads | 00:15 | |
| website: www.parrot.org/content/moving-multi...os-threads | |||
|
00:35
Casan joined
00:45
kid51 joined
|
|||
| kid51 backscrolls | 00:47 | ||
| Hmm, Paul_the_Greek didn't stick around for an answer to his question. | |||
| cotto_work | bad habit there | 00:48 | |
| kid51 | nopaste still kicked, I take it | ||
| cotto_work | and purl too | ||
| sorear | purl isn't even on the server | ||
| kid51 | purl? What did that bi..., er, bot, do to get kicked? | 00:49 | |
| erikh | it's offline. no idea why. | ||
| kid51 | (And we'll soon see if smolder is working.) | ||
| erikh | I suspect hachi knows, though. | ||
| kid51 | but hachi's not around ... which may be the explanation | ||
| Well, even bots deserve vacation ... in this heat | 00:50 | ||
| erikh | heh. | 00:54 | |
| kid51 | No, Smolder is still down, 3rd night in a row | 00:55 | |
|
01:07
plobsing joined
01:11
JimmyZ joined
01:12
tcurtis joined
01:25
ruoso joined
|
|||
| plobsing | ping ash_ | 01:28 | |
| ash_ | pong | ||
| hows your week going? | 01:29 | ||
| dalek | ee-optimization: b05292d | tcurtis++ | (7 files): Merge branch 'master' into pass-manager |
||
| ee-optimization: 3bf0507 | tcurtis++ | t/tree-optimizer.t: Add tests for :when. |
|||
| ee-optimization: 116e917 | tcurtis++ | t/tree-optimizer.t: Add a simple test for :recursive. |
|||
| ee-optimization: 128fb26 | tcurtis++ | src/Tree/Optimizer/Pass.nqp: Implement :when. |
|||
| ee-optimization: f0b2807 | tcurtis++ | t/tree-optimizer.t: Add failing tests for repeatedly running an optimizer. |
|||
| ee-optimization: 542b6b1 | tcurtis++ | src/Tree/Optimizer.nqp: Make repeated calls to Tree::Optimizer.run work in the presence of dependencies. |
|||
| ee-optimization: 68344b1 | tcurtis++ | t/tree-optimizer.t: Test that match result is passed into the transformation in :when passes. |
|||
| tcurtis | Oh dear. I'm sorry. | ||
| ee-optimization: 97d95b0 | tcurtis++ | src/Tree/Optimizer/Pass.nqp: Pass the match result into the transformation for :when passes. |
|||
| ee-optimization: 91fd0a8 | tcurtis++ | t/tree-optimizer.t: Add another :recursive test and tests for combined :when and :recursive. |
|||
| ee-optimization: da979a4 | tcurtis++ | s (3 files): Add support for :recursive, though :when and :recursive still don't work |
|||
| ee-optimization: 1d02bc6 | tcurtis++ | src/Tree/Optimizer/Pass.nqp: Make :when/:recursive play nicely. |
|||
| ee-optimization: 423e032 | tcurtis++ | t/tree-optimizer.t: Add tests to make sure :combine works properly. |
|||
| ee-optimization: 51655ac | tcurtis++ | t/tree-optimizer.t: removed debugging commented out line. |
|||
| ee-optimization: caae635 | tcurtis++ | s (5 files): Implement :combine. |
|||
| ee-optimization: 73b3c7a | tcurtis++ | t/tree-optimizer.t: Remove unnecessary whitespace. |
|||
| ee-optimization: ca78f94 | tcurtis++ | t/tree-optimizer.t: Add tests for correct null-handling. |
|||
| ee-optimization: d224501 | tcurtis++ | src/Tree/Optimizer/Transformers.nqp: Fix null handling in Tree::Optimizer's transformers. |
|||
| ee-optimization: fd9186d | tcurtis++ | (2 files): Merge branch 'master' into pass-manager |
|||
| plobsing | is it over? can I un-duck now? | ||
| tcurtis | I think so. | 01:31 | |
| ash_ | lol | ||
| 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 | |
| you? | |||
| ash_ | i have been trying to understand the various parrot op calls, and context's | 01:34 | |
| that, and i got a sample of try.rakudo.org/shell working | |||
| on the live site | |||
| plobsing | op calls and contexts? | ||
| ash_ | for my tool to make an exec out of a pbc | 01:35 | |
| for being able to do things, like call Parrot_add_i_i() directly | |||
| plobsing | be careful to not be falling into the deep introspection trap again just yet. | 01:36 | |
| 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 | |
| code.google.com/p/winxed/source/bro...ile.winxed does it, but i use oplib to find the name of functions from their op code | |||
| so, i can say what is op 145 (just making up a number) and oplib says thats add_i_i | 01:38 | ||
| which i know in C just needs Parrot_add_i_i(); to be a valid call | |||
| the confusing part is setting up the context correctly, so when inside add_i_i it does IREG(1) it gets the right thing | |||
| 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. | ||
| Off hand, I know IMCC does that to fold constants. | 01:40 | ||
| 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 | ||
| 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 | ||
| the only blocker is understanding the internals | |||
| since i am trying to toy with a lot of the internals, it's sometimes a bit confusing | 01:44 | ||
| plobsing | I feel the same way sometimes. | 01:46 | |
| The only cure is more code diving. | |||
| ash_ | ya | ||
| i am wondering if i am doing this in the right place | |||
| plobsing | Doing what? | 01:47 | |
| ash_ | how far along is the lorito prototype? | ||
| plobsing | lorito has been landing RSN for the last 8 months at least. | ||
| ash_ | the prototype i saw on github, github.com/atrodo/lorito/ seems to have a much more simple codebase | 01:48 | |
| is what i am getting ad | |||
| at* | |||
| for instance, github.com/atrodo/lorito/blob/master/core.c#L47 is the big chunk of code that is executing each op | |||
| 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:49 | ||
| plobsing | yeah, sure. But that's just what parrot runs on. Parrot still runs PBC. | 01:50 | |
| ash_ | ya | ||
| i know | |||
| 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. | ||
| 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? | ||
| cotto_work | chromatic posted some pseudocode but I'm having trouble figuring out what the actual code would be. | ||
| continuation-passing style | |||
| plobsing | I thought CPS was on top of lorito. | ||
| 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... | ||
| cotto_work | yarly | 01:54 | |
| tcurtis | Continuations are quite confusing. Even if languages that support them well. :) | ||
| s/if/in/ | |||
| 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? | ||
| cotto_work | fortunately they can be faked reasonably well in perl 5 so I can at least have something runnable | ||
| Lorito is gotos. with CPS on top. | 01:56 | ||
| My efficiency questions are on hold until I understand the problem better. | |||
| but they're there | |||
| cotto_work goes away | 01:57 | ||
| 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 | ||
| 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. | ||
| chromatic | Imagine that Lorito M0 is a virtual machine for C instructions. | 02:00 | |
| Imagine that you have to build C's calling conventions out of those tools. | |||
| 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 | ||
| Similarly, every function return... but that's how CPS works. | |||
| dalek | rrot: r48323 | jkeenan++ | trunk/t/native_pbc (4 files): Update 3 .pbc files so they pass on Darwin/PPC as well as Linux/i386. |
02:02 | |
| kid51 | (It turns out it was actually 4 .pbc files that were thus updated.) | 02:06 | |
| 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:07 | |
| its defined as INTVAL *regs_i; so i assume its an array | 02:08 | ||
| sorear | s/program/function/ | ||
| kid51 | What is M0? | ||
| sorear | regs_i is the Ixx part of the current stack frame | ||
| ash_ | so, does each call to a function have a different regs_i? | 02:09 | |
| plobsing | yes | ||
| you can think of that as a stack frame of sorts. | |||
| ash_ | ah, i was wondering if they each had their own or if there was a global one, got ya | ||
| okay, so each call generates a new regs_i | |||
| plobsing | yes. the size is determined by the n_regs_used attribute on the invoked sub PMC | 02:11 | |
| 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 | ||
| cotto | ~~ | 02:14 | |
| kid51 | nopaste.snit.ch/22565 | 02:17 | |
| kid51 must sleep | |||
| cotto | kid51, M0 is the low level Lorito ops | 02:18 | |
| plobsing | why M though? | ||
| dalek | rrot: r48324 | jkeenan++ | trunk/src/hash.c: [codingstd] No space after opening parenthesis. |
||
| cotto | "Microcode" or "Magic" | ||
| M0 has no magic | 02:19 | ||
| M1 (PIR) has some magic | |||
| etc | |||
| plobsing | when do we get M4? | ||
| cotto should have seen that coming too | |||
|
02:22
integral joined
|
|||
| ash_ | M0 = lorito, M1 = pir, M2 = nqp, M3 = rakudo, M4 = ... profit? | 02:23 | |
| plobsing | M4 = www.gnu.org/software/m4/m4.html | 02:25 | |
| sorear | M4 on Rakudo is an integral part of the self-configuring parrot | 02:26 | |
| 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? | ||
| plobsing | it checks the event queue | ||
| ash_ | its called after ever op in parrot? | 02:28 | |
| plobsing | where do you see that? | ||
| ash_ | i made a simple test program, gist.github.com/509128 and decoded the pbc and printed out the ops in order | 02:29 | |
| main is that set of 15 ops, which calls check_events almost every time there is an op called | 02:30 | ||
| japhb | tcurtis, plobsing: Um ... did someone break plumage again? | 02:31 | |
| 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 | ||
| japhb | *phew* | 02:33 | |
| plobsing | ash_: opcodes include their arguments. You are seeing checkevents a lot because you are erroneously intepretting op-args as op-numbers | 02:34 | |
| it's also why you're seeing a lot of "end" and "nop" | |||
| ash_ | ah | ||
| that makes sense | |||
| plobsing | s/nop/noop/ # why isn't it nop? | ||
| 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) | ||
| ash_ | i am currently working with winxed's example/packfile.winxed, i modified it a bit to also print a few other details | 02:36 | |
|
02:42
darbelo joined
02:56
ash__ joined
|
|||
| ash__ | Do you have any idea where in imcc it makes it's temp contexts for the constants? | 03:00 | |
| plobsing | I'm having trouble finding it. Sorry. | 03:14 | |
| ash__ | No problem, I'll look over the tests to see if that give me any hints | 03:18 | |
|
03:31
LoganLK joined
03:57
janus joined
04:01
ash__ joined
|
|||
| Coke | hachi is working on resurrect purl. sounded like a machine crashed. | 04:01 | |
| ash_: wow, it's just as slow as from the command line! ;) | 04:02 | ||
| MI5. | 04:04 | ||
|
04:04
ash___ joined
|
|||
| Coke | (those make more sense if you insert them in backscroll!) | 04:05 | |
| ash_ | Coke: do you mean the try.rakudo.org? | ||
| Coke | ash_: hai. | 04:06 | |
| ash_ | is that what you were referring to? | 04:07 | |
| Coke | sorry, hai == yes. | 04:14 | |
| ash_ | ah, kk | 04:23 | |
| tcurtis | Coke: "MI5" made sense to me; although I had a similar thought earlier. | 04:26 | |
| dalek | parrot: 9964752 | (Jonathan "Duke" Leto)++ | (4 files): Fix and test the trustedness of languages; update pgTAP Lite |
04:48 | |
| theory | dukeleto: pgtap.org/documentation.html#language_is_trusted | 04:50 | |
| Oh, that's what you copied. Never mind. | |||
|
05:40
erikh joined
06:06
Casan joined
06:30
brianwisti joined
|
|||
| dalek | kudo: 0128ccd | pmichaud++ | docs/ROADMAP: Initial ROADMAP updates from Pisa hackathon. |
06:45 | |
| rrot: r48325 | NotFound++ | trunk/src/pmc/default.pmc: implement Default.init_int |
|||
|
06:52
brianwisti left
|
|||
| cotto | Profiling seems to be "really important" to Rakudo. I feel motivated. | 06:55 | |
| dalek | rrot: r48326 | NotFound++ | trunk/src/pmc.c: 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 | |
| rrot: r48327 | NotFound++ | trunk/src/call/args.c: use init_int in slurpy postional presizing in fill_args, as suggested in r48320 |
|||
|
07:28
bacek_at_work joined
|
|||
| dalek | kudo: b627e33 | pmichaud++ | src/core/Cool-num.pm: Add constant 'i' (RT #76994). |
08:11 | |
|
08:23
smash joined
|
|||
| dalek | kudo: e65cb72 | masak++ | docs/ROADMAP: [docs/ROADMAP] whitespace therapy |
08:29 | |
|
08:32
robin-gvx joined
08:54
fperrad joined
09:02
mikehh_ joined
09:18
bacek joined
09:22
aloha joined
09:51
penguin_ joined
09:55
Hunger joined
09:56
dalek joined
10:04
szabgab joined
|
|||
| dalek | kudo: 7083478 | moritz++ | src/Perl6/ (2 files): Implement :i and :s on rx//; refactor adverb validation a bit |
10:49 | |
|
10:51
AndyA joined
10:56
whiteknight joined
11:08
lucian joined
12:11
smash joined
12:15
bluescreen joined
12:18
khairul joined
|
|||
| whiteknight | good morning, #parrot | 12:19 | |
|
12:25
wknight8111 joined
12:27
bluescreen joined
|
|||
| dalek | rrot: r48328 | NotFound++ | trunk/t/pmc/oplib.t: add a test for Opcode.get_string |
12:32 | |
|
12:37
ruoso joined
|
|||
| Coke | cotto: (profiling important) you getting pressure from someone who is not me? | 12:45 | |
|
12:49
mikehh joined
13:21
Paul_the_Greek joined
|
|||
| Paul_the_Greek | If I've selected a ticket to work on, do I want to become the owner? | 13:22 | |
| dalek | rrot: r48329 | coke++ | trunk/src/pmc/env.pmc: remove XXX comment - you /can/ iterate over env, and speculative spec changes |
||
| Coke | Paul_the_Greek: if no one else owns the ticket, yes, you should claim it. | 13:24 | |
| Paul_the_Greek | I'm logged in an looking at the ticket, but I'm failing to see how to take ownership. | 13:25 | |
| Coke | you don't have privs. what's your trac id? | 13:32 | |
| Paul_the_Greek | Paul C. Anagnostopoulos | ||
| Coke | reload. | 13:33 | |
| Paul_the_Greek | Oh yes, that looks much better. Thanks. | ||
| dalek | TT #1728 closed by coke++: Add more signatures for for PAST op types. | 13:47 | |
| TT #1728: trac.parrot.org/parrot/ticket/1728 | |||
|
13:54
plobsing joined
13:55
davidfetter joined
13:56
ambs joined
|
|||
| dalek | rrot: r48330 | coke++ | trunk/compilers/pct/src/PAST/Compiler.pir: add some more pirop signatures for PCT (and by extension, NQP). TT #1728. |
13:56 | |
| 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. :) | ||
| Coke | of course, partcl is still littered with the verbose syntax, but that lets me kill a lot of it. | 13:59 | |
|
14:02
ambs joined
14:29
tadzik joined
|
|||
| tadzik | hello | 14:29 | |
| is someone aware how many languages from 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:30 | ||
|
14:32
Paul_the_Greek joined
|
|||
| 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:33 | |
| particle | tadzik: parrot's lua passes the official lua test suite | 14:34 | |
| Paul_the_Greek | Congrats! | 14:35 | |
| wknight8111 | particle: is the lua compiler still working and maintained? | 14:36 | |
| tadzik | wknight8111: looks so, last commit is from June 14 | ||
| wknight8111: and it works, just checked | |||
| wknight8111 | nice | ||
| tadzik | not really faster than official lua compiler, but looks nice | 14:38 | |
| particle | nobody promised "faster" | 14:52 | |
| it's complete, and therefore it's a good language to use for benchmarking parrot speed | |||
| 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. | ||
| 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 | ||
| partcl-nqp is easier to write, but has less done. (a rewrite in pct) | |||
| 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? | ||
| erikh | although, one of the big differences in rubinius is that Thread.new actually maps to native system threads | 14:56 | |
| not sure how well parrot handles that. | |||
|
14:59
brianwisti joined
15:04
TonyC joined,
Andy_ joined
|
|||
| dalek | kudo: 1270a9c | pmichaud++ | docs/ROADMAP: Add 'constant' into ROADMAP. |
15:06 | |
| kudo: aa7de66 | pmichaud++ | docs/ROADMAP: Merge branch 'master' of github.com:rakudo/rakudo |
|||
| kudo: c716715 | pmichaud++ | src/Perl6/Grammar.pm: Give an error for smartmatching against 'True' or 'False'. |
|||
| kudo: 590f3ba | pmichaud++ | src/Perl6/Grammar.pm: Also warn for use of Bool::True and Bool::False in smartmatch (based on local |
|||
| kudo: 7e356cc | pmichaud++ | src/Perl6/ (2 files): Merge branch 'master' of github.com:rakudo/rakudo |
|||
| kudo: 19931fe | pmichaud++ | README: Update README with pointer to Rakudo Star distributions. |
|||
| tadzik | Coke: I see | 15:16 | |
|
15:19
theory joined
15:20
chromatic joined,
ash_ joined
15:21
Paul_the_Greek joined
|
|||
| 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:21 | |
| moritz | maybe point us to the ticket here :-) | 15:22 | |
| Paul_the_Greek | This one: trac.parrot.org/parrot/ticket/1605 | ||
| Coke | it'll show up on the parrot-tickets list, also. | 15:23 | |
| (when you change ticket status) | |||
| moritz | Paul_the_Greek | 15:24 | |
| Paul_the_Greek++ # submitting patches | 15:25 | ||
| Paul_the_Greek | Ah, do I have to change the patch status to 'new'? | 15:28 | |
| Coke | I wouldn't worry about it. | 15:29 | |
| I doubt anyone is running reports on trac on patches that are checking that flag. | |||
| Paul_the_Greek | So merely attaching the file is sufficient to submit the patch? | ||
| Coke | yes, it's already there. I've looked at it. | 15:30 | |
|
15:36
ash_ joined
|
|||
| Paul_the_Greek | Thanks. | 15:37 | |
|
15:42
ambs left
|
|||
| chromatic | Parrot::Install's eval block on line 229 has a fair bit of ugly. | 15:57 | |
| msg bacek parrot-nqp loooooves memory when running gc_massacre. Is buffer reclamation implemented or working? | 15:58 | ||
|
16:09
macroron joined
16:20
ash_ joined
16:41
davidfetter joined
17:10
brianwisti1 joined
|
|||
| 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. | ||
| so ignore moe | 17:11 | ||
| *me | |||
| dukeleto tries not to reinvent square wheels. theory++ for keeping an eye on me | |||
| theory | dukeleto: Only came to my attention because my client watches for "pgtap" | 17:12 | |
| And then only when I'm online, of coursre | |||
|
17:12
Paul_the_Greek joined
|
|||
| 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? | ||
| davidfetter | i guess a listenbot would do | ||
| cotto_work | ~~ | 17:16 | |
| dukeleto | Paul_the_Greek: what do you mean? | ||
| Paul_the_Greek | The buffer macro Buffer_bufrefcountptr no longer has anything to do with reference counts. | ||
| 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
|
|||
| cotto_work | nice cognitive dissonance there | 17:20 | |
| INTVAL * const buffer_flags = Buffer_bufrefcountptr(d); | |||
| cotto_work wonders when that code was last touched | 17:21 | ||
| dukeleto | theory: would you accept a patch for language_isnt_trusted ? | ||
| 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. | ||
| cotto_work | Tagged pointers are fine. Blatant mislabelling, not so much. | 17:23 | |
| Paul_the_Greek | Sp a change to that identifier would be in order? | 17:24 | |
| chromatic | If it's clearer, certainly. | 17:25 | |
| cotto_work | darbelo: ping | 17:26 | |
| Paul_the_Greek | Great, thanks. | 17:29 | |
| dalek | TT #1729 created by brianwisti++: Website needs an obvious link to parrot-users mailing list page | 17:39 | |
| TT #1729: trac.parrot.org/parrot/ticket/1729 | |||
| brianwisti1 | Unless I just missed something right in front of my face. It's been known to happen. | 17:41 | |
| cotto_work | not being a robot does that to you | 17:42 | |
| brianwisti | True. Except for the poor robots with no faces. | 17:43 | |
| chromatic | Orual-bot? | ||
| cotto_work | seen darbelo? | 17:44 | |
| absentbot is absent | |||
| chromatic | nopaste definitely lives up to its name at the moment | 17:47 | |
| cotto_work hugs ilbot2 | 17:48 | ||
| not all the bots have abandoned us | |||
| chromatic | msg NotFound: this patch should improve hash thawing, but it gets the free_list wrong gist.github.com/510097 | 17:50 | |
| msg plobsing this patch should improve hash thawing, but it gets the free_list wrong gist.github.com/510097 | |||
| cotto_work | Message for NotFound not stored. | ||
| chromatic | Oh wait, no purl. | 17:51 | |
| Gah. | |||
| cotto_work | Message for plobsing not stored. | ||
| chromatic | Pity, because that looks like a 7% thawing speedup. | 17:53 | |
| Perhaps more. | |||
| particle suggests... email | 17:55 | ||
|
18:00
tcurtis joined
|
|||
| mikehh | who deal with dear purl, and why did she go on strike | 18:13 | |
| deals | |||
| 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? | ||
| 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. | ||
| That might even find otherwise non-anchored GCables. | 18:18 | ||
| (There exist some GC related bugs in PBC creation and thawing) | |||
| Chandon | Excellent. Now when I break it in my branch, at least I'm not crazy for that reason. | ||
| Coke | minor update to www.parrot.org/ | 18:19 | |
| Docs menu is now Users/Docs | |||
| brianwisti: fixed, thanks! | 18:20 | ||
| I think hachi's server died and is being resurrected. | |||
| brianwisti | Coke: Saw the email alert. Thanks! | ||
| Coke | brianwisti: we could probably stand to put more links on the Users page. | 18:21 | |
|
18:22
jevin joined
|
|||
| Coke | ARGH. why do we have www.parrot.org/languages and trac.parrot.org/parrot/wiki/Languages ?? | 18:22 | |
| atrodo | One's a lot prettier than the other? | 18:23 | |
| brianwisti | The latter is definitely more informative. | ||
| Coke | I can't do this right now, but if you open a ticket, I can do it later: | 18:26 | |
| 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)? | ||
| 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 ;) | ||
| but that page should probably highlight rakudo and lua. | |||
| which are the most interesting/complete/showcase languages. | |||
| cotto_work | probably squaak too | 18:29 | |
| Coke | at the least, rakudo. | ||
| squaak is merely pedagogical. put it on the users page. | |||
| dalek | TT #1729 closed by coke++: Website needs an obvious link to parrot-users mailing list page | ||
| TT #1729: trac.parrot.org/parrot/ticket/1729 | |||
| Coke | s/merely// | 18:30 | |
| 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:32 | |
| Coke | yes, but that's not the point of that page. | 18:33 | |
| brianwisti | fair enough :) | ||
| 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 | |
| (but putting it on the "how to use parrot" page is super awesome, and I'll do that.) | |||
|
18:41
tommyd joined
|
|||
| dalek | TT #1730 created by brianwisti++: Languages page on Website needs updating | 18:46 | |
| TT #1730: trac.parrot.org/parrot/ticket/1730 | |||
|
18:59
brianwisti1 joined
|
|||
| darbelo | cotto_work: pong | 19:00 | |
| cotto_work | darbelo: Buffer_bufrefcountptr is confusing. Its name doesn't seem to match the way it's used. | 19:01 | |
| svn blames you for being the last one to modify it in pobj.h, so I'm hoping you can clarify | |||
| 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. | ||
| It's a tagged pointer now, IIRC. | |||
| 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'. | ||
| cotto_work | Is it internal enough that no users should be touching it? | ||
| darbelo | It's not internal enought to warrand a misleading name. | ||
| cotto_work | I'm thinking whether it'll require a deprecation cycle to change or not. | 19:05 | |
| darbelo | It's a C macro for poking at the internal layout of our buffers. | 19:06 | |
| If you need to poke that deep into our storage model, you are probably doing it wrong. | |||
| cotto_work | sounds like a yes | ||
| as in, no deprecation needed | |||
| 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. | ||
| cotto_work | true | ||
| 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
19:09
lucian joined
|
|||
| 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:09 | |
| cotto_work | We love our users, even if they're doing it wrong. | 19:10 | |
| brianwisti1 | I love my users, because I'm usually the one doing it wrong. | 19:11 | |
|
19:21
particle left
|
|||
| cotto_work | darbelo: what new name would you give it? | 19:21 | |
| 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:27 | |
| 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 | |
|
19:29
Paul_the_Greek joined
|
|||
| cotto_work | or you can. We have options. | 19:29 | |
| speak of the greek... | |||
| 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"? | ||
| Uh oh, I've been spoken of. | |||
| cotto_work | Either he has a bot monitoring #parrot or it was coincidence. | ||
| Paul_the_Greek | I vote coincidence. | ||
| 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 | ||
| Paul_the_Greek | Do I need to request a review of my ticket, or just let it happen? | 19:32 | |
| cotto_work | Paul_the_Greek: it'll happen. Normally dalek would notify us, though he seems to be down atm. | 19:33 | |
| or not | |||
| darbelo | dalek: status? | ||
| Not very talkative. | 19:34 | ||
| But then, we're inferior and must be exterminated. Hardly worth talking to. | 19:35 | ||
| dalek | TT #1731 created by Paul C. Anagnostopoulos++: Assumption made about buffer header alignment | 19:37 | |
| TT #1731: trac.parrot.org/parrot/ticket/1731 | |||
|
19:51
lucian joined
|
|||
| Coke | Paul_the_Greek: ĪµĻ ĻαĻιĻĻĻ ! | 19:51 | |
| Paul_the_Greek | You're quite welcome. | 19:52 | |
| Coke | \\o/ . o O ( google translate ftw.) | ||
| Greek I never learned any of. | |||
| Paul_the_Greek | I don't know much. My parents didn't teach it to me when I was a kid. | ||
| Coke | HA! I just realized my language studies are like parrot's. | ||
| 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? | ||
| 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:54 | |
| The same issue occurs in many places. | 19:55 | ||
| If we don't change it, though, it is worth a big comment somewhere. | |||
| cotto_work | Consistency is desirable, as is making our assumptions explicit. | 19:56 | |
| dukeleto | Just in case y'all haven't seen this: try.rakudo.org/shell | ||
| 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 | ||
| Paul_the_Greek | I think the problem occurs in about a dozen places. | ||
| +1 ? | 19:58 | ||
| chromatic | Are you thinking "Let's define BUFFER_HEADER_SIZE and use it consistently"? | ||
| tcurtis | Paul_the_Greek: +1 is an indication of support. | ||
| 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. | ||
| Coke | where is the try source? | 19:59 | |
| ww | |||
| Paul_the_Greek | Ah, I hadn't seen +1 before. | ||
| Sorry, I'm calling that the buffer header (as opposed to the buffer descriptor). | 20:00 | ||
| The buffer header may be larger than one pointer, so subtracting sizeof(void *) doesn't do the trick. | |||
| chromatic: I don't think there is one consistent buffer header size. | 20:01 | ||
| It depends on the alignment requested for the buffer. | |||
| darbelo | It's also one of the places where we assume sizeof (INTVAL) == sizeof (void *) | 20:02 | |
|
20:02
tadzik left
|
|||
| 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. | ||
| Yes, I think the Buffer macros do assume that. | 20:04 | ||
| I also note a BUFFER_ALIGN_1 that is never used. | 20:05 | ||
| 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:06 | |
| Paul_the_Greek | Oh, sorry. Will do. | 20:07 | |
| cotto_work | The owner of a ticket is generally the one who's responsible for fixing it. | 20:08 | |
| Paul_the_Greek | Okay, then after I finish working on the documentation, I'll tackle this issue. | 20:09 | |
| 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. | |||
| Ping. | 20:14 | ||
| cotto_work | you usually want to ping a specific person | ||
| 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. | ||
| cotto_work | fun times | ||
|
20:26
smash joined
|
|||
| cotto_work feels like he's looking at a dating site for cows | 20:35 | ||
| Coke | html5-- | 20:36 | |
| atrodo | Coke> ENOPURL | 20:37 | |
| Coke | atrodo-- | ||
| atrodo | I would normally be sad... | 20:38 | |
|
20:44
bluescreen joined
|
|||
| Paul_the_Greek | Once I submit a patch file, is it okay to submit a second one that is cumulative? | 20:47 | |
| That doesn't seem right. | |||
| 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. | ||
| Paul_the_Greek | I promise I have an SVN book on the way. | 20:49 | |
| cotto_work | Have you used git at all? | ||
| chromatic | svnbook.red-bean.com/ should suffice | ||
| Paul_the_Greek | No, sorry. I'm a newbie at this distributed source control thing. | 20:50 | |
| I'm used to a system where you checkout a file and then you own it; no one else can touch it. Old school. | |||
| cotto_work | ok | ||
| 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. | ||
| cotto_work | as much as we like to bash on svn, it's not that bad | ||
|
20:51
tommyd left
|
|||
| Coke | cotto_work: ORLY? | 20:51 | |
| I know several people who prefer CVS. =-) | |||
| chromatic | One advantage to Git (for the record) is that every developer can have a complete local repository full of local branches. | ||
| 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 | |
|
20:52
cotto_work2 joined
|
|||
| cotto_work2 | Coke: you known some odd people. | 20:53 | |
| (or perhaps ones who have very different requirements from Parrot) | |||
| 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. | ||
| 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. | ||
| But meanwhile ... is there a solution with SVN? | |||
| chromatic | Either separate checkouts for each feature, or manual patch juggling. | 20:55 | |
|
20:55
purl joined
|
|||
| cotto_work2 | botsnack | 20:55 | |
| purl | :) | ||
| Paul_the_Greek | So once I'm done with this, I can re-checkout the entire system and that will clear the statuses? | ||
| 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. | ||
| Paul_the_Greek | Don't want to revert, because I want my changes when I move on to another area. | 20:57 | |
| cotto_work | We can make a branch for you and apply patches to it. | 20:58 | |
| depending on how big the changes are | |||
| svn isn't great for what you want to do | |||
| Paul_the_Greek | Yes, I see that. | ||
| 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? | ||
| cotto_work | we have to have a couple patches and a #ps first | ||
| patch will complain | |||
| Paul_the_Greek | Can I tell from looking at a ticket whether an attached patch file has been applied to the system? | ||
| cotto_work | only by reading the comments | 21:00 | |
| Paul_the_Greek | Plus I can look at the New Patch report. | ||
| Okay, I'll replace my first patch file with this new one, so no cumulative confusion. | 21:01 | ||
| Then I'll look into git. | |||
| cotto_work | This'll all be nicer after the git migration. | ||
| (Don't worry. There are lots of people here happy to help a git newbie.) | |||
| 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. | ||
| cotto_work | We should do *something* with it. Out-of-date docs aren't fun to deal with. | ||
| 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. | ||
| 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. | ||
| Coke | purl, botsnack. | ||
| purl | :) | ||
| cotto_work | go for it then! | ||
| Paul_the_Greek | I'll bring the document with me to the beach and hack away. | ||
| darbelo | Paul_the_Greek++ | 21:05 | |
| purl: karma Paul_the_Greek | |||
| purl | paul_the_greek has karma of 1 | ||
| darbelo | Paul_the_Greek++ | ||
| cotto_work | msg khairul I find your lack of blog posts disturbing. | ||
| purl | Message for khairul stored. | ||
| chromatic | Paul_the_Greek, see trac.parrot.org/parrot/wiki/git-svn-tutorial for an overview of using Git with Parrot. | ||
| It may be overwhelming at first. That's normal. | 21:06 | ||
|
21:06
perlite joined
|
|||
| cotto_work | especially since you're also learning svn | 21:06 | |
| Paul_the_Greek | Hey, I 1-clicked an SVN book. Might as well do the same for Git. | 21:07 | |
| cotto_work | Do you live at the beach or is it a weekend trip? | 21:10 | |
| Paul_the_Greek | Two weeks in a house on the beach in Rhode Island. | 21:11 | |
| cotto_work | want | ||
| Paul_the_Greek | The problem is that every year it takes me longer to get back into work mode when I return. | 21:12 | |
| Soon I'll retire. Then I can really whack on Parrot. | |||
|
21:18
cognominal joined
21:25
wagle joined
21:26
hercynium joined
|
|||
| dalek | rrot: r48331 | Chandon++ | branches/gsoc_threads (19 files): [gsoc_threads] Infrastructure for multiple (IO) threads per interp. |
22:13 | |
| rrot: r48332 | Chandon++ | branches/gsoc_threads (30 files): [gsoc_threads] Merge from trunk. |
22:29 | ||
|
22:36
simcop2387 joined
22:40
TonyC joined
23:04
ruoso joined
23:05
Austin joined
23:10
Austin_Hastings joined
23:12
AndyA joined
|
|||
| cotto_work | coke, where did that "Rakudo Club" nopaste come from? | 23:22 | |
|
23:23
lucian joined
23:25
kid51 joined
|
|||
| Chandon | It turns out that 0 == 8589934592 when I forget that sizeof(INTVAL) may not equal sizeof(int). | 23:48 | |
|
23:59
Psyche^ joined
|
|||