|
Parrot 2.4.0 "Sulfur Crest" Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | GSOC Students: trac.parrot.org/parrot/wiki/GSoCersStartHere Set by moderator on 18 May 2010. |
|||
| sorear | Util: NQP-rx does not have an Agenda per se; we take feature requests from the public and implement what people want (as long as it doesn't involve "become perl6" or "become PIR") | 00:00 | |
| darbelo | sorear: Become python! | ||
| ;) | |||
| sorear | chromatic: I was involved (barely) with GHC in 2007; I might know something | ||
| tcurtis: Yuck, "see comments" IS A PERMISSION?! | 00:03 | ||
| sorear spits | |||
| chromatic | I wonder if C-- might make a good model for Lorito ops. | 00:04 | |
| darbelo | sorear: You can't spit on Drupal without extra permissions. | ||
| Coke | chromatic: I presume you really mean C++? | ||
| sorear | I can now see 1 comment | 00:05 | |
| But I can't see any comments on past-pattern-matching | |||
| tcurtis | darbelo deleted the test comments I made. | 00:06 | |
| sorear | The comment I see is on hybrid threads | ||
| Coke: C-- makes more sense than C++ for Lorito... | |||
| Coke | sorear: I know C-- as "an insulting way to say C++". Is it also an actual thing? | 00:07 | |
| sorear | Coke: yes | ||
| chromatic | C minus minus. | ||
| Coke | www.parrot.org/comment/reply/163 has no comments, yes. | ||
| chromatic | It's a simpler version of C. | ||
| tcurtis | C-- is used by Haskell as an intermediate representation. | ||
| sorear | www.cminusminus.org/ | ||
| darbelo | It's intended to be a thing to target compilers to. | ||
| sorear | (GHC Haskell) | 00:08 | |
| C-- has one little problem for us. | |||
| It's an expression form. | |||
| Coke | Thank you. You might want to spell that out or link to it in docs. =-) | ||
| sorear | Lorito should probably be a bytecode-instruction form to make compiling to it less insane | ||
| GHC philosophy is to destructure late; the expressions aren't flattened into an op sequence until the actual code generation | 00:09 | ||
| the ability to re-run static type checks after the optimizer is pretty awesome though | |||
| chromatic | My idea is to see if we can extract the ops necessary to support the C-- expressions. | 00:10 | |
| bacek_at_work | We don't have to. | 00:12 | |
| All what we need is way to express current ops in subset of another ops. | |||
| chromatic | We need a subset of current ops which is both sufficient to represent all other ops and reasonably easy to JIT or otherwise translate to another executable representation. | 00:13 | |
| sorear | Coke: Isn't partcl abandoned and dead? Why do you want to fix it? | 00:15 | |
| Whiteknight | partcl isn't abandoned or dead | 00:17 | |
| just temporarily not working | |||
| darbelo | It's jus' restin' | ||
| sorear | partcl-nqp is the FUTURE | ||
| sorear needs to braindump that idea he had earlier for extremely space-efficient sweep-free, generational, and incremental GC | 00:18 | ||
| chromatic | Please do. | ||
| darbelo | sorear: Coke is the author of both partcls, I think he knows which future he wants to pursue. | 00:19 | |
| Coke | sorear: partcl is not dead. | 00:20 | |
| it's like the old master vs ng for rakudo. | |||
| we aren't at the point where we can cutover. | |||
| and right now, partcl is one of the few big PGE/TGE implementations. | |||
| I just want to get partcl to the point where it passes tests again. it's only broken because parrot isn't standing still. | 00:21 | ||
| more hands on partcl-nqp will help that day come sooner, though. =-) | 00:24 | ||
|
00:38
plobsing joined
01:02
ruoso joined
01:04
abqar joined
|
|||
| dalek | TT #1587 closed by plobsing++: delete Parrot_PMC_* from src/extend.c | 01:10 | |
| TT #1587: trac.parrot.org/parrot/ticket/1587 | |||
| Whiteknight | Does GHC interpret Haskell programs, or only compile it to machine code? | 01:17 | |
| plobsing | both IIRC | ||
| tcurtis | Although there are some syntax differences in ghci(because it's in IO IIRC). | 01:19 | |
| Whiteknight | ok | ||
| dalek | rrot: r46774 | plobsing++ | trunk (5 files): remove duplicate embed/extend vtable wrappers |
||
| rrot: r46775 | plobsing++ | trunk (3 files): eliminate vtable hackery from embed/extend interface |
|||
| plobsing has deleted much code recently. is there any tool to find out my SLOC add/remove ratio? | 01:20 | ||
| cotto_work | diffstat | ||
| purl | i think diffstat is make histogram from diff-output | ||
|
01:26
TiMBuS joined
|
|||
| dalek | TT #1588 closed by plobsing++: Parrot_VTABLE, Parrot_get_vtable, Parrot_PMC_set_vtable | 01:26 | |
| TT #1588: trac.parrot.org/parrot/ticket/1588 | |||
| plobsing | ooh. TT #449 lets me move the evil ops I recently discovered to dynops. | 01:29 | |
| bacek_at_work | plobsing\t210 (3.26%)\t26280\t18310 | 01:31 | |
| commits, +lines, -lines | |||
| 2010-05\tplobsing\t59 (14.97% of 394)\tbacek, fperrad, NotFound, mikehh | |||
| Author of the month :) | 01:32 | ||
| 59 commits | |||
| plobsing | bacek++ # can I see the commandline-fu for that? | ||
| bacek_at_work | "gitstats . stats" :) | ||
| It generates some html pages | |||
| plobsing shakes fist at svn | |||
| sorear | msg Whiteknight GHC is a compiler. It converts Haskell code through a sequence of IRs then passes it to either a byte-compiler, a custom codegen, gcc, or LLVM. None of the IRs is ever directly interpreted | 01:34 | |
| bacek_at_work | just clone dukeleto's parrot from github | ||
| purl | Message for whiteknight stored. | ||
| sorear | msg Whiteknight there are some thoughts to deprecate the bytecode backend. it might already be done by now. the only advantage it ever had was portability, and LLVM takes care of a lot of that | 01:35 | |
| purl | Message for whiteknight stored. | ||
| plobsing | bacek: regarding deprecating PASM->PBC altogether, I'm in favour of deprecating hand-generated PASM, but I think having an executable textual format of our bytecode is nifty | ||
| sorear | msg Whiteknight GHC != Haskell; there are several pure-interpreting implementations | ||
| purl | Message for whiteknight stored. | ||
| sorear | plobsing: having a *stable* format of our bytecode is a prerequisite for killing IMCC, if we ever want to go that way | 01:36 | |
| plobsing | sorear: please justify that statement. I think if the instability is hiden behind packfile PMCs, we can get along just fine. | 01:37 | |
| tcurtis | sorear, ghci doesn't interpret Haskell? | 01:38 | |
| plobsing | I thought the bytecode (as opposed to native codegen) was interpretation of a sort | ||
| sorear | plobsing: suppose we break PBC compatibility. You still have the packfile PMCs, but they're useless - to use them you need to run code on Parrot, and you have no code compiled for the new Parrot | 01:48 | |
| to bootstrap, we need some C code which generates PBC from a stable(r) format | |||
| IMCC fills that role now | |||
| tcurtis: when the "compiler" and "interpreter" share 95% of the code, I feel it only confuses issues to speak of them separately | 01:49 | ||
| there is one compiler which can target four runtimes | |||
| plobsing | sorear: if we can compile a minimal subset of parrot bytecode instructions to C, we can cut IMCC out of the loop and still be fine | 01:50 | |
| I am not against bytecode stability, I'm just against doing what that requires (eg: not changing what PMCs are in core, not changing the internal representations of said PMCs, not changing what ops are in core, etc) | 01:51 | ||
| wait, are we talking about PBC stability or PASM stability or what? | 01:52 | ||
| plobsing needs to eat something to think | 01:53 | ||
| chromatic | We could also get around that if we had a PBC migration utility. | ||
|
01:57
JimmyZ joined
|
|||
| bacek_at_work | Speaking of which... Can we deprecate and remove "opsrenumber"? | 01:57 | |
| Just to preserve stability of ops numbers. | 01:58 | ||
| Coke | opsrenumber is an internal, dev only tool. | ||
| bacek_at_work: not until you have a plan for dealing with removed ops. | |||
| bacek_at_work | just left holes in numbering | ||
|
01:59
snarkyboojum joined
|
|||
| Coke | it's /a/ plan, fer shure. | 01:59 | |
| bacek_at_work | what's wrong with this plan??? | 02:01 | |
| Plus adding something like "pmc.num" to preserve PMCs number | |||
| chromatic | It keeps opnumbers around. | 02:02 | |
| bacek_at_work | chromatic, ? | ||
| purl | it has been said that chromatic, is that typical of CG-ed (dynamic) languages? | ||
| chromatic | Maybe we don't need op numbers. | ||
| Coke hopes that someone wasn't waiting until 2.4 release to rip out those deps... | |||
| chromatic | Or, at least, we don't need a fixed numbering for ops independent of any single PBC file. | 02:03 | |
| sorear | plobsing: I'm not advocating bytecode stability. I'm advocating not removing IMCC until we have the PIR->C compiler working | 02:06 | |
| cotto_work | That'd be fine by me. opsrenumber is kinda hacky and silently depends on the order of ops in src/ops/*.ops *and* the order in which those files are processed. | ||
| chromatic | Maybe we could solve the dynops numbering problem at the same time. | 02:07 | |
| Add another header to packfiles: a mapping of op signatures to numbers. Use those numbers pervasively throughout the PBC. | |||
| s/header/directory/ | 02:08 | ||
| cotto_work | That sounds far-off enough (i.e. not in the next week) that I'll still have to make opsrenumber work in ops_opt. | ||
| *ops_pct. | |||
| cotto_work decommutes | 02:09 | ||
| chromatic | It might be a bad idea, but it's an idea. | ||
| dalek | kudo: 248ae36 | (Solomon Foster)++ | build/PARROT_REVISION: Bump parrot to 2.4.0. snarkyboojum++ |
||
| sorear | chromatic: Funny, that's the way I always thought it worked | 02:11 | |
| How does dynop numbering work currently? | |||
| chromatic | I'm not sure how it works in the packfiles. | 02:12 | |
| plobsing | back. | ||
| dynops get loaded by the compiling interpreter whose state gets frozen into the packfile and merged with the executing interpreter on load | 02:13 | ||
| and hopefully they load the dynop libraries in the same order | |||
|
02:13
Mokurai joined
|
|||
| sorear | so, if A.pir loads liba.so, and B.pir loads libb.so (both dynoplibs), and they're compiled to pbc separately, and loaded into the same interpreter later, things go boom? | 02:15 | |
| plobsing | possibly | 02:16 | |
| personally, I hate the ParrotInterpreter freeze hack. I'd love to see a dictionary-based solution. | 02:17 | ||
| perhaps with the bytecode version giving a sort of baseline dictionary | |||
| AFAIK the same is also true of dynpmc libs | 02:20 | ||
|
02:25
parthm joined
02:48
janus joined
|
|||
| dalek | rrot: r46776 | plobsing++ | trunk/src (4 files): move freeze/thaw calls adjacent to visit calls. |
02:58 | |
|
03:37
LoganLK joined
03:58
snarkyboojum joined
04:16
theory joined
|
|||
| dalek | rrot: r46777 | plobsing++ | trunk (5 files): PBC_COMPAT bump and native_pbc s for r46776 |
04:32 | |
| cotto | svn00 | ||
| svn-- | |||
| I'm afraid of conflict. | 04:48 | ||
| dalek | rrot: r46778 | cotto++ | branches/ops_pct (87 files): sync branch with trunk |
04:50 | |
| rrot: r46779 | cotto++ | branches/ops_pct (2 files): manifix |
|||
|
05:06
ruoso joined
|
|||
| dalek | rrot: r46780 | cotto++ | branches/ops_pct (3 files): [opsc] bootstrap ops |
05:07 | |
|
05:27
theory_ joined
|
|||
| sorear | tcurtis: ping | 05:31 | |
| tcurtis | sorear: pong | 05:32 | |
| sorear | I've been charged with redesigning the stage mechanism in PCT | 05:33 | |
| What do you want to see in it? | |||
| cotto | hllcompiler.addstage('rainbows', 'after' => 'unicorns') | 05:38 | |
| Tene | isn't that already there? | 05:39 | |
| chromatic | I thought it was too. | 05:42 | |
|
05:46
uniejo joined
|
|||
| tcurtis | Question before I can answer that: how are stages associated with names? Is there some PCT::HLLCompiler.registerStage($name, $stage) sub? | 05:46 | |
| Tene | tcurtis: a stage is just a method on the compiler object. | 05:47 | |
| So you add a method of that name to your HLLCompiler subclass. | 05:48 | ||
| tcurtis | Ah. Okay. Hmm... A way of specifying additional stages to run on the command line would be helpful, although it might need a way to specify a file that defines the stage. The use case I'm thinking of there is when a HLL user wants to add run an optimization stage on his HLL code that isn't run by the HLL compiler without having to modify the compiler. | 05:51 | |
| sorear | Now: A HLLCompiler instance is associated with a list of method names to call in order on the source code. | 05:52 | |
| Future: The stages form a tree, not a list | 05:53 | ||
| and I'm looking for input on how to design the tree modification API | |||
| the pipeline needs to be able to branch to handle multiple targets - direct-to-PBC, PIR, interpretation, many more things after PCT is untied from Parrot | 05:54 | ||
| cotto | You could have an 'optimizer' stage that processes and runs whatever was passed in on the cli. | ||
| If it takes and spits out a PAST or POST, you don't have to care what comes after. | 05:55 | ||
| Tene | what language would the stage program be written in? | ||
| sorear | Are you talking to tcurtis? | ||
| Tene | For now, just add an extra stage before the PAST compiler and before the POST compiler that look somewhere standard for additional PAST-transforming and POST-transforming stages. | 05:56 | |
| chromatic | Yeah, that's my assumption too. | ||
| sorear | Who is the addressee here? | ||
| tcurtis | Tene: that's a better idea. Do stages have access to command-line options? | 05:57 | |
| sorear | tcurtis: there is no "do" | ||
| Tene | tcurtis: As I said before, stages are just methods on the compiler object. | ||
| They have access to whatever methods on the compiler object have access to. | |||
| sorear | there is potentially a clean slate here | ||
| Tene: Who are you telling to just add a stage? | 06:01 | ||
| chromatic: What is your assumption? | |||
| sorear is confused | |||
| tcurtis | sorear: in that case, I want to be able to see the command line from a stage. Then there can be an "optimizer" stage as cotto and Tene suggested that looks at the command line options for something like "--optimizations=tailcallelim" and looks some standard place for tailcallelim.pbc, loads it, and runs the stage. | ||
| Tene | tcurtis: you need to be careful to distinguish what the stage expects as input and as output. | 06:02 | |
| a PAST-optimizing stage would be different froma POST-optimizing stage. | |||
| chromatic | Right. | 06:03 | |
| PAST optimizations probably get us further. | |||
| sorear | tcurtis: what part of the universe do you want to be able to modify to add this stage? | ||
| Tene | tcurtis: Unless you're going to start requiring that HLLs adopt standard options, having HLLCompiler inspect the CLI args sounds like a bad idea. | 06:04 | |
| tcurtis: I recommend instead just parsing them in the HLL and passing them as named arguments to the compiler | 06:05 | ||
| just like the rest of the adverbs. | |||
| sorear | Tene: that's the way it used to work and I'm planning to keep it that way | ||
| Tene | all of the stage methods have a slurpy named parameter. | ||
| sorear | HLLCompiler has a command line parser which can be used to populate the named parameters | 06:06 | |
| ie try parrot-nqp --parsetrace -e '2+2' | |||
| --parsetrace is an NQP-level addition | |||
| However, my original question remains unanswered | 06:08 | ||
| tcurtis: add_stage et al cannot live as currently designed | |||
| tcurtis: what would you like to see in their place? | |||
| Tene | sorear: why can't they live? | ||
| sorear | because they assume stages are totally ordered | 06:09 | |
| and pmichaud has asked me to remove that | |||
| tcurtis | Tene: -e, -h/--help, --target, -t/--trace, --encoding, -o/--output, --combine, -v/--version, and --stagestats aren't standard options for PCT-based compilers? | 06:11 | |
| sorear: I don't know. Will the desired final output determine the branch of the tree taken? | 06:15 | ||
| dalek | kudo: c4de1a7 | (Patrick Abi Salloum)++ | src/core/Hash.pm: Hash in list context behaves like a list of pairs |
06:20 | |
| sorear | tcurtis: yes | ||
|
06:27
fperrad joined
|
|||
| tcurtis | I'm not really sure why you're asking me specifically, but here's an idea.... If you're dispatching based on the final output, why not, instead of a tree, have a hash of output formats to stage lists? Then your addstage calls have a :finaltarget argument, with either absence of a value of a special value("all"?) specifying to add it to all branches. A addtarget method to create a new final output format, with an argument to allow you to automatically popula | 06:35 | |
| with another target's list before a certain stage. Maybe have it work so that if you add a stage before the point where a target branched from its sibling/parent target, then it gets added to both targets' lists. Or just that same API with an actual tree, but that would be probably be less efficient. | |||
| chromatic | I don't understand the value of a tree. | 06:36 | |
| It's lovelier than a poem for certain, but.... | |||
| sorear | tcurtis: I'm asking you because you have the best reason to want to affect the stagelist | ||
| chromatic: source -> parse -> past -> post -> pir; source -> parse -> past -> post -> eval -> pbc | 06:39 | ||
| the union of these is a tree | |||
|
06:39
fperrad_ joined
|
|||
| chromatic | How many paths through that tree are you going to take during a single invocation of the compiler? | 06:40 | |
| sorear | One. | ||
| Suggestions for a better data structure are always welcome. | 06:41 | ||
| plobsing | a lazy tree traveled once and a chain bear a remarkable resemblance | 06:42 | |
| sorear | plobsing: the chain can differ for every call to compile | ||
| which is why I can't just store it | |||
| I was going to store a tree instead, and traverse it to get the chain for each compile | 06:43 | ||
| plobsing | I don't see why you need to store it. Does HLLCompiler require that all steps be added before comencing compilation? | ||
| sorear | yes | ||
| currently | |||
| chromatic | And each compiler has a default invocation method and potentially CLI options to change the output type and to add or delete steps. | 06:44 | |
| tcurtis | sorear: I think perhaps a better option than either hash of arrays of stages or a simple tree of stages is a linked list where the items can be either stages or a hash from output targets to similar linked list. | 06:47 | |
| sorear | That's called a simple tree of stages. | 06:49 | |
| tcurtis | Not really. A simple tree of stages would be [source, parse, past, post, [ pir, [eval, pbc] ] ]. | 06:53 | |
| My suggestion would be [source, parse, past, post, { pir: pir, pbc: [eval, pbc] } ] | 06:54 | ||
| But, if that's already what you had in mind, I don't know of a more suitable data structure for this context. | 06:56 | ||
| sorear | Ah | ||
| sorear has a random crazy thought | 06:57 | ||
| use a pathfinder | |||
| past2post, etc stages | |||
| then we'd have a natural notion of add_postprocessor('past', &my_past_processor) - it runs after the stage which produces past | 06:58 | ||
| similarly for preprocessor | 06:59 | ||
| dalek | kudo: d4bb7b2 | moritz++ | docs/ChangeLog: [docs] add some entries to ChangeLog |
||
| sorear | I like this ide | ||
| a | |||
| objections? | |||
| purl | objections are noted, though. | ||
| sorear | purl, forget objections | ||
| purl | sorear: I forgot objections | ||
| chromatic | When registering any transformation, you have to register it by stage and give it some ordering, sort of like defining an operator type in Perl 6. | 07:01 | |
|
07:01
aukjan joined
|
|||
| cotto | (Why) do certain ops need to have fixed numbers? | 07:05 | |
| tcurtis | One point, sorear: it would be a good idea to have the ability to ensure that given two particular stages that could be run in either order(for example, two mappings from 'past'->'past') are run in a specific order. For example, LLVM has some passes that just simplify the IR so that other passes can do what they want more easily. So, you wouldn't want to run the loop-invariant code motion pass until you've ran the loopsimply pass. | ||
| chromatic | Other stages you can safely run more than once. | 07:06 | |
| tcurtis | s/loopsimply/loopsimplify | ||
| plobsing | cotto: noop should be op 0 for sure. the other ops that require specific numbers were all JIT-specific | ||
| cotto | and therefore no longer needed? | 07:07 | |
| plobsing thinks so | |||
| chromatic | I thought we used op numbers in the PBC. Do we use op names? | ||
| cotto | should be. The next jit will be on Lorito, not pir directly. | ||
| no, number | 07:08 | ||
| s | |||
|
07:08
viklund joined
|
|||
| cotto | I'm looking at ###DYNAMIC### in ops.num and wondering if it's worth keeping. | 07:08 | |
| plobsing | chromatic: there are comments in the ops files such as "(Must be op #4" | ||
|
07:09
iblechbot joined
|
|||
| chromatic | Oh, that question. Yes, I think that was JIT. | 07:09 | |
| That's odd though, as we had #defined constants for those ops. Who knows. | |||
| cotto | and a nice enum | 07:10 | |
| sorear | tcurtis: that is easy enough to arrange; just use a postprocessor instead of a stage | 07:11 | |
| tcurtis | I'm not 100% sure if I understand exactly what your idea is, sorear, but it sounds like it would be something similar to the compiler essentially just supplying a list of stages in any order, where each stage specifies its input format and output format, and you find a path from source to the desired output format. Am I correct? I like that idea, if so, although it might be a little complicated to implement. | 07:12 | |
| chromatic | More to the point, I have difficulty believing we need an optimal graph traversal algorithm to build a transformation pipeline right now. | 07:13 | |
| cotto | +1 to writing only as much code as is needed to implement a simple optimization like constant folding. You'll know the problem much better after that. | 07:16 | |
| messing with the op order causes some failure but not as many as I was expecting | |||
| chromatic | I taught myself that over again this week on some client code. | ||
| sorear | cotto: this isn't about optimizations at all | ||
| chromatic | Throwing out technical features I thought I might need is liberating. | ||
| bacek_at_work | tcurtis, Use "XPath" for tree traversal :) | ||
| sorear | tcurtis: that is the idea, yes | 07:17 | |
| bacek_at_work | XPath semantic is very clean and easy to implement in simple recursive fashion. | ||
| plobsing | cotto: should I stay away from moving ops to dynops (TT #449) and wait untill opsc lands? | 07:18 | |
| cotto | plobsing, not at all. | 07:19 | |
| chromatic | I used XPath in Perl 5. It worked pretty well. | ||
| cotto | charge ahead | ||
| plobsing | roger. time for round 1! | ||
| cotto | plobsing++ | ||
| plobsing | I'd like to get rid of some of them completely, but this deprecation means I can at least get them out of core. | 07:20 | |
| chromatic | I mean, I used XPath for traversing the Perl 5 optree. | 07:21 | |
| dalek | kudo: 643442b | moritz++ | t/spectest.data: run a few of the new advent calendar integration tests |
07:24 | |
|
07:25
plobsing joined
|
|||
| dalek | tracwiki: v131 | fperrad++ | Languages | 07:29 | |
| tracwiki: update Parrot version 2.4.0 | |||
| tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff | |||
| tcurtis | bacek: I will look into that, but for now I must go to sleep. | 07:35 | |
|
07:42
cosimo joined
07:47
gaz joined
|
|||
| dalek | rrot: r46781 | plobsing++ | trunk (7 files): move lcm, gcd, and fact opcodes to dynopslibs/obscure |
08:00 | |
| moritz | .oO( mathoms ) |
08:01 | |
| cotto waves goodbye to fact | 08:14 | ||
| though I'd expect them to go in the math dynoplib | 08:15 | ||
| either way, they're in a better place | |||
| plobsing | cotto: feel free to move them there. I thought math_ops should be reserved for more common non-core-ish ops (eg: ceil) | 08:17 | |
| moritz | we have a gcd op? | ||
| wow, rakudo could use that :-) | |||
|
08:47
slavorg joined
|
|||
| ttbot | Parrot trunk/ r46782 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/318292.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | 09:02 | |
|
09:02
gaz joined
|
|||
| moritz | does r46781 mean that rakudo has to import something before it can use gcd in pir? | 09:08 | |
| plobsing | moritz: yes. check out t/dynoplibs/obscure.t | 09:09 | |
| the .loadlib line does the import | |||
| moritz | plobsing: thanks. Now I just have to manage to remember that after the rakudo release :-) | 09:11 | |
| plobsing finds it funny that an unused op is finding a use once it is removed | |||
| dalek | rrot: r46782 | plobsing++ | trunk (12 files): move clear[insp], set[insp]_ind and exchange to deprecated dynops lib |
||
| rrot: r46783 | plobsing++ | trunk/src/exceptions.c: export do_panic to be able to use PANIC() in dynlibs |
|||
| ttbot | Parrot trunk/ r46783 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/318364.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) | 09:17 | |
| dalek | kudo: 5ec28d3 | moritz++ | src/core/Rat.pm: replace hand-rolled gcd function by PIR gcd opcode After the release (and bumping the parrot revision) this will require .loadlib 'obscure_ops' |
09:18 | |
| bacek | plobsing, you can't move recently deprecated ops into dynops. You are "braking contract". | ||
| plobsing | bacek: they were deprecated a while back | ||
| TT #449 | 09:20 | ||
| I missed that the first time round | |||
| bacek | ah | ||
| than that's fine | |||
| dalek | rrot: r46784 | plobsing++ | trunk/include/parrot/exceptions.h: headerizer |
09:27 | |
| purl | headerizer is making me happy | ||
| moritz | purl: forget headerizer | 09:28 | |
| purl | moritz: I forgot headerizer | ||
| plobsing | aw, I like making purl happy | 09:29 | |
|
09:30
parthm joined
|
|||
| moritz | botsnack | 09:30 | |
| purl | thanks moritz :) | ||
|
09:45
clinton joined
|
|||
| bacek | seen pmichaud | 09:50 | |
| purl | pmichaud was last seen on #parrot 1 days, 21 hours, 48 seconds ago, saying: that's saner/safer [May 17 12:49:30 2010] | ||
| bacek | sigh... | 09:59 | |
| dalek | rrot: r46785 | bacek++ | trunk (5 files): Merge branch 'pct_multi_support' into trunk |
10:00 | |
|
10:03
parthm left
|
|||
| bacek | msg pmichaud Multi support in nqp-rx waiting for your review :) | 10:05 | |
| purl | Message for pmichaud stored. | ||
|
10:12
bakkdoor joined
10:15
simcop2387 joined
|
|||
| dalek | rrot: r46786 | fperrad++ | trunk/runtime/parrot/library/distutils.pir: [distutils] old NQP is gone |
10:16 | |
|
11:02
mikehh joined
|
|||
| dalek | kudo: 77c58c2 | (Solomon Foster)++ | src/core/Complex.pm: Rework Complex.roots a bit, restoring its original elegance. (It had been |
11:29 | |
| kudo: 3a694dd | (Solomon Foster)++ | src/core/ (4 files): Change Complex.roots to take an Int as spec'd, and make it a normal method unneeded Int.Complex and Num.Complex. Clean up Real.unpolar now that cheats are unneeded. |
|||
| purl | dalek: that doesn't look right | ||
| moritz | I have an instance of the Sub PMC, and I want to set its name attribute | 11:36 | |
| in NQP (or PIR) | |||
| how can I do that? | |||
| the documentation says I can call set_string_native, but that's a C function | 11:37 | ||
| bacek | moritz, set_string_native is "$P0 = $S0" | 11:39 | |
| (in pir) | |||
| moritz | bacek: thanks, suspected as much | ||
| bacek: is there a nice way to call that from NQP? | |||
| excpet Q:PIR { find_lex ... } | |||
| bacek | hmm | 11:40 | |
| pir::set__ps($sub, $name)? | 11:41 | ||
| moritz | 13:41 <@moritz_> nqp: my $x := sub f() { }; pir::set_ps($x, 'foo'); say($x) | ||
| 13:41 <+p6eval> nqp: OUTPUT«error:imcc:syntax error, unexpected PREG, expecting | |||
| oh, forgot a second _ | 11:42 | ||
| 13:42 <@moritz_> nqp: my $x := sub f() { }; pir::set__ps($x, 'foo'); say($x) | 11:43 | ||
| 13:42 <+p6eval> nqp: OUTPUT«The opcode 'set_p_s_sc' (set<3>) was not found. | |||
| oh well, I'll use inline PIR, even if it's ugly | |||
| now I get set_attr_str() not implemented in class 'Sub' | 11:46 | ||
| so it seems to call set_attr_str, not set_string_native | |||
|
11:49
aukjan joined
|
|||
| bacek | moritz, try bare "set $P0, $S0" | 11:50 | |
| moritz tries | 11:51 | ||
| ... and waits for a few minutes until the setting is compiled... | |||
|
11:53
whiteknight joined
|
|||
| moritz | bacek: same result | 12:01 | |
| bacek | moritz, check #perl6. There is working result here | ||
| there | |||
| moritz | I was stupid.. the previous solution worked, but I forgot to remove the failed attempt from before | 12:02 | |
| which used set_attribute | |||
| bacek++ | |||
| erm, setattribute | |||
| pmichaud | good morning, #parrot | 12:08 | |
| moritz | good morning, pmichaud | 12:09 | |
| whiteknight | good morning, pmichaud | ||
| pmichaud | I have three goals for today. 1. Review (and apply) sorear++ 's repl patch. 2. Closures in Rakudo. 3. Review (and hopefully apply) bacek++'s multi patch. | ||
| moritz | all three very laudable! | 12:10 | |
| pmichaud | and if things work out, sink context in Rakudo also :-) | ||
| moritz | tomorrow: review bkeeler++'s interpolation patch? | 12:11 | |
| pmichaud | sure | ||
| moritz | \\o/ | ||
| sounds like great fun before the release :-) | |||
| pmichaud | oh, that's a problem. drat. | 12:13 | |
| closures in rakudo will require parrot updates | |||
| darn release freeze | |||
| whiteknight | purl msg sorear: thanks for the info about GHC | 12:14 | |
| purl | Message for sorear stored. | ||
| dalek | kudo: 603c64c | moritz++ | (2 files): fix RT #75180, accessors appear under wrong name in introspection |
||
| whiteknight | pmichaud: what updates? | ||
| purl | updates are happening in PAUSE, but not to fi.cpan.org | ||
| pmichaud | whiteknight: improvements to PAST and NQP | ||
| whiteknight | purl forget pdates | ||
| purl | whiteknight, I didn't have anything matching pdates | ||
| whiteknight | purl forget updates | ||
| purl | whiteknight: I forgot updates | ||
| pmichaud | rakudo is tied to the parrot release until we make the rakudo release | 12:15 | |
|
12:15
ruoso joined
|
|||
| pmichaud | oh well, I can still do the work in branches and then apply right after release | 12:15 | |
| afk, kids to school | 12:18 | ||
|
12:19
aukjan joined
12:20
ruoso joined
|
|||
| bacek | moritz, can I kill "mob2" branch in nqp-rx on github? | 12:20 | |
| looks like it was merged already | 12:21 | ||
| whiteknight | purl msg chromatic the t389_fix branch: does it have any value still or should I delete it? I'm leaning towards deletion but if you have something there you want to save let me know | 12:27 | |
| purl | Message for chromatic stored. | ||
|
12:27
slavorgn joined
|
|||
| whiteknight | bacek: what's the status of the avl_string_cache branch? | 12:27 | |
| bacek | whiteknight, stalled. | 12:28 | |
| dalek | rrot: r46787 | whiteknight++ | branches/block_exit_handlers: delete old, unused branch |
||
| rrot: r46788 | whiteknight++ | branches/compact_strings: delete old, unused branch |
|||
| whiteknight | bacek: boehm_gc_2 branch? | 12:29 | |
| bacek | whiteknight, let's keep it around. There is some changes that I want to propagate back to trunk. | ||
| whiteknight | ok | ||
| purl msg chromatic also, the fix_hll_mmd branch. What's the status of that, and is it worthwhile to keep that particular branch hanging around? | 12:30 | ||
| purl | Message for chromatic stored. | ||
|
12:32
iblechbot joined
|
|||
| moritz | bacek: re mob2, yes | 12:35 | |
| bacek | moritz, removed | 12:36 | |
| moritz | bacek++ | 12:37 | |
| karma purl | 12:38 | ||
| purl | purl has karma of 8967 | ||
| moritz | purl-- | ||
| purl | moritz: i'm not following you... | ||
| whiteknight | {purl}-- | ||
| karma purl | |||
| purl | purl has karma of 8967 | ||
| szbalint | (purl)-- | ||
| karma purl | |||
| purl | purl has karma of 8966 | ||
| whiteknight | (purl)-- | 12:39 | |
| that makes me happy | |||
| szbalint | why? | ||
| moritz | purl refuses to decrement her karma in the normal way | 12:40 | |
| purl | moritz: sorry... | ||
| moritz | purl: forget purl-- | ||
| purl | moritz, I didn't have anything matching purl-- | ||
| whiteknight | karma purl | 12:41 | |
| purl | purl has karma of 8965 | ||
| bacek | karmawars! | ||
| moritz | so purl-- with context works? | ||
| karma purl? | |||
| purl | purl has karma of 8964 | ||
| whiteknight | yay! | ||
| moritz | it does, purl-- :-) | ||
| purl stays quiet | |||
| bacek installing WWW::Facebook::API to create new game on facebook | 12:42 | ||
| whiteknight | what new game? | 12:46 | |
| bacek | KarmaWars | 12:49 | |
|
12:56
tetragon joined
|
|||
| dalek | rrot: r46789 | fperrad++ | trunk/runtime/parrot/library/distutils.pir: [distutils] more verbose with archive |
13:02 | |
| rrot: r46790 | fperrad++ | trunk/include/parrot/stat.h: remove space (between minus and digit), so all defines are generated in stat.pasm |
|||
|
13:09
mikehh_ joined
|
|||
| Coke | msg plobsing please update TT#449 if you're committing things against it. danke. | 13:11 | |
| purl | Message for plobsing stored. | ||
|
13:13
bluescreen joined
|
|||
| dalek | rrot: r46791 | fperrad++ | trunk/runtime/parrot/library/Archive/Tar.pir: [Archive/Tar] preserve file mode |
13:17 | |
| rrot: r46792 | fperrad++ | trunk/runtime/parrot/library/Archive/Tar.pir: [Archive/Tar] fix r46791, fperrad-- |
|||
|
13:18
atrodo joined
13:32
gbacon_ joined
13:33
davidfetter joined
13:44
ruoso joined
13:51
zostay joined
13:52
Chandon joined
13:53
parthm joined
14:05
parthm left
14:22
theory joined
14:24
plobsing joined
14:27
bubaflub joined
14:34
mikehh joined
14:36
bubaflub joined
14:47
tetragon joined
14:48
slavorg joined
14:52
patspam joined
|
|||
| Coke | msg plobsing note that ops can take a :deprecated tag in their definition that causes them to warn when used uner parrot -w. | 14:52 | |
| purl | Message for plobsing stored. | ||
|
15:09
theory_ joined
|
|||
| dalek | rrot: r46793 | coke++ | trunk/parrotbug: use PAGER if set. |
15:11 | |
|
15:30
theory_ joined
15:36
mikehh_ joined
15:43
iblechbot joined
15:49
Mokurai joined
|
|||
| dalek | kudo: c6ecc98 | (Solomon Foster)++ | src/core/ (4 files): Try to clean up and make consistent Real.Int, Real.Rat, and Real.Num. |
15:56 | |
|
16:45
khairul joined
|
|||
| whiteknight | Austin: ping | 16:50 | |
|
16:52
theory joined
16:54
theory_ joined
16:57
theory_ joined
|
|||
| whiteknight | purl msg Austin What version of Parrot did Kakapo release-10 target? I'm trying to set up Parrot-Linear-Algebra to target parrot 2.3.0, but I can't seem to find a version of Kakapo that works with 2.3.0. I also can't seem to build current kakapo with 2.3.0 parrot. Any suggestions? | 16:59 | |
| purl | Message for austin stored. | ||
| darbelo | Does kakapo work with nqp-rx? | 17:01 | |
| I was under the impression it was written in old NQP. | |||
| whiteknight | I don't know. I thought it was working with new stuff | ||
| darbelo | I think Austin started on kakapo before nqp-rx was imported into parrot. | 17:02 | |
|
17:03
cotto_work joined
|
|||
| whiteknight | right, but I think he updated it | 17:03 | |
| there really isn't much to update, all things considered | |||
| darbelo | I plead ignorance. My only use of NQP was the boostrap of the decnum-dynpmcs testsuite, after which I checke in the generated PIR and promtly forgot about it ;) | 17:06 | |
| whiteknight | Coke: ping | ||
| dalek | kudo: 8816781 | moritz++ | t/spectest.data: run another advent calendar integration test |
17:14 | |
|
17:14
allison joined
|
|||
| whiteknight | allison: ping | 17:15 | |
|
17:16
solarion joined
17:17
ash_ joined
|
|||
| tewk | darbelo: github.com/tewk/parrot/tree/select | 17:23 | |
| sorear | moritz: I thought that if a single support routine was costing us 2.4% we moved it into perl6.ops? | 17:27 | |
| pmichaud: shall I do the rebasing for you? | 17:28 | ||
|
17:29
particle joined
|
|||
| sorear | moritz: you probably want set__vps | 17:29 | |
| set__ps is interpreted as 1 arg 1 return | |||
| and PAST::Compiler doesn't handle excess args to pirops prettily | |||
| Coke | whiteknight: pong | ||
| whiteknight | Coke: I need to get a commit bit for my GSoC student | 17:30 | |
| At #ps, it looks like the consensus was for the mentor to make that happen | |||
| Coke | whiteknight: trac id & student name? | ||
| whiteknight | Chandon, Nat Tuck | ||
| particle | we did get a cla for nat | 17:31 | |
| whiteknight | Actually, Chandon is his parrot.org username, I dont know if it's a trac username | ||
| yes, just checked. It's the trac username too | |||
|
17:33
hercynium joined
|
|||
| whiteknight | Coke, ah, I just found the "Manage Subversion Access Rights" page on Trac. Is this something I could be doing myself? | 17:33 | |
| Coke | if you're a trac admin, possibly. | 17:34 | |
| give it a whirl. | |||
| whiteknight | Okay. Even if I have access, I don't want to be touching things that I shouldn't | ||
| Coke | read the docs for it. | ||
| docs/project/met* | |||
| whiteknight | Am I a metacommitter? | 17:36 | |
| particle | i don't think so | 17:37 | |
| you can find out, by trying :) | |||
| whiteknight | particle: I have the same technical rights on Trac as you or Coke have. I'm more asking about the cultural designation | 17:38 | |
| just because I have technical access doesn't mean I have community permission to use it | |||
| particle | not true | 17:39 | |
| you're a member of a special group if you're a metacommitter | |||
| dalek | rrot: r46794 | fperrad++ | trunk/runtime/parrot/library/distutils.pir: [distutils] display only the first line sent by Smolder, |
||
| particle | it's role-based permissions | 17:40 | |
| whiteknight | a special group on trac? On trac, you and Coke are both listed as "admin", same as me | ||
| I'm not sure why I'm an admin in the first place, probably something that was decided quickly when I was trying to do a release at some point | |||
| which brings me back to my first point: I have the technical ability to change these things. | |||
| particle | you can't make yourself a metacommitter | 17:42 | |
| it's an rt group iirc | |||
| not trac | |||
| whiteknight | we're not on rt | ||
| on trac, I have authority to add committers to the svn repo. | 17:43 | ||
| particle | ok, i'm way out of date on the metacommitter stuff then, i'll need to review the doc | ||
| whiteknight | ok | ||
|
17:48
davidfetter joined
|
|||
| particle | whiteknight: ok, the docs are a bit misleading, but you're a trac admin, and i'm comfortable with you having that right | 17:51 | |
| why don't you add nat | |||
| 's svn perms | |||
| whiteknight | okay, if it's not a problem I'll definitely do it | 17:52 | |
|
17:52
GodFather joined
|
|||
| particle | we may consider creating a group for metacommitters, to make it more clear | 17:52 | |
| whiteknight | might be worthwhile to get some clarification in the policy, however | ||
| ok | |||
| particle | aye | ||
|
17:52
theory joined
17:53
theory_ joined
|
|||
| whiteknight | ...okay, done. I think | 17:53 | |
| cotto_work | can you do the same for khairul? | ||
| whiteknight | I guess. What's his trac username? | 17:54 | |
|
17:54
theory_ joined
|
|||
| cotto_work | khairul | 17:55 | |
|
17:57
theory_ joined
|
|||
| whiteknight | done, I think | 17:59 | |
| gsoc students should do work in branches named "gsoc_*", correct? | |||
| or something else? | |||
| particle | i think that's appropriate | 18:01 | |
| cotto_work | thanks | 18:02 | |
| khairul, ping | |||
| khairul | cotto_work: pong | 18:03 | |
| cotto_work | you should have an svn commit bit now | ||
| particle | test it by creating a new branch for your project! | 18:04 | |
| khairul | thanks cotto++ and whiteknight++ | 18:06 | |
| whiteknight | khairul: try it out before giving me karma | ||
| khairul | hold on | 18:07 | |
| ash_ | Whiteknight: i am working on a github fork for now... | ||
| whiteknight | ash_: okay, that's cool too | ||
| ash_ | i sent my signed agreement thing to legal@parrot.org but i have no idea if thats all setup | 18:08 | |
| particle | ash, it is. | ||
| ash_ | oh, its setup? so i could work on an svn branch? | 18:09 | |
| particle | sorry, we should respond to cla submissions, let people know they've been accepted. | ||
| ash_: you don't have a commit bit yet, but that's what whiteknight++ has been doing | |||
| ash_ | ah, okay, cool | ||
| particle | your cla has been accepted. | ||
| ash_ | i'll ask plobsing if he wants me to work on github or the svn repo (i kinda like git, but i am fine with svn if thats what everyone else is doing) | ||
| particle | you can and should have a parrot commit bit | ||
|
18:09
theory joined
18:10
theory_ joined
|
|||
| Coke | particle: (respond to cla) let their mentor do it. | 18:10 | |
| whiteknight: if you have the permissions, you have the permissions. | |||
| cotto_work | khairul: I've also been thinking about whether your project's long-term state should be a core PMC, a core dynpmc or an external dynpmc. What's been your assumption? | ||
| Coke | there's no secret "oh you have the permissions but cannot use them" club. | ||
|
18:10
theory joined
|
|||
| particle | coke: their mentor isn't always someone who can read legal@parrot.org | 18:11 | |
| whiteknight | Coke: yeah, but I'm making sure it wasn't some slip-up. | ||
|
18:11
theory_ joined
|
|||
| Coke | whiteknight: if it was, we'd have taken it away already. | 18:11 | |
|
18:11
theory_ joined
|
|||
| particle | congratulations on your promotion, whiteknight :) | 18:11 | |
|
18:11
theory joined
|
|||
| particle | we have rewarded your enthusiasm with responsibility. | 18:12 | |
| Coke | particle: but we never give out permissions based just on the cla. | ||
|
18:12
theory joined,
fperrad joined,
theory joined
|
|||
| particle | coke: correct, i'm saying when pafo accepts a cla, we should respond to the submitter letting them know it's been accepted | 18:12 | |
| darbelo makes a note to remain as unenthusiastic as possible. | |||
| khairul | cotto_work: i'm making it a dynpmc. that should allow me to group related pmcs together, as i think i would need a few now. | 18:13 | |
|
18:13
theory_ joined
|
|||
| khairul | cotto_work: as to core, or external, no assumptions made there. | 18:13 | |
|
18:13
theory_ joined
|
|||
| Coke | particle: define "accepts" | 18:14 | |
| whiteknight | Coke: I think he means to say "received" | ||
| particle | no, it can (and has) been improperly filled out, and will be rejected | 18:15 | |
|
18:15
theory_ joined
|
|||
| particle | receipt does not guarantee acceptance | 18:15 | |
| Coke | particle: ETOOMUCHWORK. I think having your bit flipped is sufficient. | ||
|
18:15
theory_ joined
18:16
theory__ joined
|
|||
| Coke | but don't let me stop you from sending out friendly emails. | 18:16 | |
|
18:16
theory_ joined
|
|||
| particle | coke: you're missing something. receiving or accepting a cla does not mean you get a commit bit. it's necessary, but not sufficient. | 18:16 | |
|
18:16
theory__ joined
|
|||
| Coke | particle: I am absolutely, clearly, 100%, missing your point, yes. | 18:16 | |
|
18:16
theory_ joined
18:17
theory joined
|
|||
| particle | ok, so, a contributor wants to become a pafo member. she submits a cla. | 18:17 | |
| Coke | ... please stop. =-) | ||
|
18:17
slavorg joined
|
|||
| particle | fine, i'll go back to work. | 18:17 | |
| whiteknight | bots trust khairul | ||
| opbots trust khairul | |||
| slavorgn | Ok | ||
| whiteknight | opbots trust Chandon | 18:18 | |
| slavorgn | Ok | ||
| darbelo | What happened to slavorg? | ||
| whiteknight | BALEETED | ||
|
18:18
theory_ joined
|
|||
| darbelo | opbots trust me | 18:18 | |
| slavorgn | Ok | ||
| whiteknight | opbots trust everybody! | ||
| slavorgn | Ok | ||
| whiteknight | :) | ||
| opbots untrust everybody! | 18:19 | ||
| opbots help | |||
| slavorgn | I'm slavorg, an op-bot.Commands: trust, distrust, believe, disbelieve, leave, join. See also jerakeen.org/programming/slavorg | ||
| whiteknight | opbots distrust everybod! | ||
| slavorgn | But I already distrust everybod! | ||
| whiteknight | opbots distrust everybody! | ||
| slavorgn | Ok | ||
| darbelo | opbots distrust everybody! | ||
| slavorgn | But I already distrust everybody! | ||
| cotto_work | khairul, we'll see how the project looks later in gsoc and decide then. It shouldn't be too much trouble to kick it out of Parrot's repo if that looks like the best idea. | ||
| slavorg | Ok | 18:20 | |
| But I already trust me | |||
| Ok | |||
| I'm slavorg, an op-bot.Commands: trust, distrust, believe, disbelieve, leave, join. See also jerakeen.org/programming/slavorg | |||
| But I already distrust everybod! | |||
| Ok | |||
| But I already distrust everybody! | |||
| whiteknight | ...good. I'm glad that happened | ||
| particle | opbots leave a lot to be desired | ||
| cotto_work | you make opbot cry | ||
| dalek | rrot: r46795 | khairul++ | gsoc_instrument: Creating a branch for gsoc making parrot instruments |
18:30 | |
| rrot: r46796 | Chandon++ | trunk/CREDITS: [CREDITS] Adding myself to CREDITS |
|||
| rrot: r46797 | khairul++ | gsoc_instrument: Created in wrong folder. Sorry, khairul-- |
|||
| rrot: r46798 | Chandon++ | branches/gsoc_threads: [gsoc] Creating a new branch to do GSoC work on my threads project |
|||
| rrot: r46799 | khairul++ | branches/gsoc_instrument: Creating a branch for gsoc making parrot instruments |
|||
|
18:30
theory_ joined
|
|||
| cotto_work | looks like it worked | 18:32 | |
|
18:36
bluescreen joined
|
|||
| dalek | rrot: r46800 | NotFound++ | trunk/src/string/api.c: fix parsing of \\xHH in Parrot_str_unescape_string |
18:46 | |
| rrot: r46801 | NotFound++ | trunk (3 files): add "flags" parameter to Parrot_str_unescape_string |
|||
|
18:48
Mokurai joined
|
|||
| dalek | kudo: f6374ad | (Solomon Foster)++ | src/core/Real.pm: Real.Int is now just sugar for Real.truncate. |
18:54 | |
| kudo: ad8556c | (Solomon Foster)++ | src/core/Num.pm: modf is now a local function instead of a private function; call it accordingly. |
|||
|
19:11
joeri joined
|
|||
| ash_ | where do tests for configure steps go? | 19:32 | |
| ah, i see it, nevermind | |||
|
19:36
Mokurai joined
|
|||
| dalek | rrot: r46802 | NotFound++ | trunk/src/string/api.c: fix again parsing of \\xHH in Parrot_str_unescape_string and a hard tab |
19:36 | |
| Coke wonders if we should add a 'make check' alias. | 19:41 | ||
| whiteknight | what would a make check make, if a make check check were made? | 19:44 | |
| cotto_work | a check, probably with a large number of zeroes | 19:46 | |
| bubaflub | 10.0000000000 | ||
| nopaste | "NotFound" at 192.168.1.3 pasted "Patch: strore string encoding in pbc and make pir parsing of encoded strings a bit sane" (135 lines) at nopaste.snit.ch/20602 | 19:47 | |
| NotFound | Some opinion about this patch? | ||
| whiteknight | NotFound: I'm not sure I understand it | 19:50 | |
| sorear | Anything with sane in it gets a +1 from me | ||
| NotFound | whiteknight: no one understand the issue, that's the reason it never gets fixed X-) | ||
| It stops making the strange assumption that string literals are in the encoding specified, even if mixing 8 bit chars with 16 or 32 bit chars | 19:51 | ||
|
19:52
joeri joined
|
|||
| NotFound | Also, escapes are always considered codepoints, instead of using bytes for some cases, | 19:52 | |
| Coke | phone in 0:07 | 19:53 | |
| whiteknight: make check is how non-perl people spell "make test", methinks. | |||
| whiteknight | Coke: ah, okay | 19:54 | |
| NotFound | Rename as "make verify", to fool all people same way X-) | 19:55 | |
| TimToady | phone | 20:00 | |
|
20:05
joeri joined
|
|||
| GeJ | Good morning everyone. | 20:08 | |
| pmichaud | no phone today? | 20:18 | |
| or am I just too late? | |||
| sorear | Hello | 20:19 | |
| purl | hola, sorear. | ||
|
20:19
hercynium joined
|
|||
| sorear | pmichaud: timtoady said "phone" 18 minutes ago | 20:19 | |
| (also, the minutes from the last one still haven't landed) | |||
| pmichaud | sorear: yes, I saw the 18-minute-ago notice. usually the calls last a bit longer than that, though. | 20:20 | |
| I can't speak to last week's minutes; I'm not the minute-taker. :) | |||
| pmichaud checks email | 20:21 | ||
| looks like I just missed the meeting | |||
| PerlJam | "welp, no one showed up ... meeting adjourned!" | ||
| pmichaud | no, I see this week's minutes, looks like chromatic++, Coke++, and TimToady++ | 20:22 | |
| I must've just missed them. Too much going on around here today :-( | |||
| Coke | hope everything's OK. | ||
| pmichaud | sure, nothing radically wrong. | 20:23 | |
| just unexpectedly had to run an errand, which made me late to picking up kids from school, which made me late to call | 20:24 | ||
| darbelo | NotFound: +1 to nopaste.snit.ch/20602 | 20:39 | |
| NotFound | pmichaud: can you take a look at that nopaste? | 20:46 | |
| I don't know if it risk to break something on nqp or rakudo. | 20:47 | ||
| darbelo | commit it and find out ;) | ||
| PerlJam | NotFound: what darbelo said :) Rakudo (and I guess nqp) are pegged at the Parrot release anyway. | 20:48 | |
| NotFound | I'm goint to do that anyway, but is polite to ask before cut the throat X-) | 20:49 | |
| pmichaud | Rakudo is pegged at 2.4.0 until we do the release tomorrow. | ||
| (so changes to Parrot are generally okay) | 20:50 | ||
| NotFound | The main doubt is: someone oppose the changing of meaning of \\xHH to always be a codepoint, not a byte? | ||
| pmichaud | \\xHH already means codepoint and not byte | 20:51 | |
| NotFound | pmichaud: in theory. | ||
| purl | well, in theory is my pants or it's too dark to read or somewhat intrusive to David Wheeler | ||
| pmichaud | if I have unicode:"\\xab" | ||
| I guarantee that's a two-byte string at the moment. | |||
| moritz | forget in theory | 20:52 | |
| purl | moritz: I forgot in theory | ||
| NotFound | pmichaud: some tests seems to use \\xHH\\xHH as one char codified in utf8 | 20:53 | |
| pmichaud | which ones? | ||
| theory is forgotten | |||
| NotFound | UTF8 literals | ||
| 16 & 17 in stringu.t | 20:54 | ||
| moritz | theory: you're forgiven, not forgotten # /me paraphrases old, bad song titles | ||
| NotFound | The ones that fail with this patch. | ||
| theory | that'll work | ||
| pmichaud | NotFound: I agree that in those tests, the utf8: prefix is making \\x act like a byte, not a codepoint | 20:55 | |
| NotFound | That's what I want to change. | 20:56 | |
| But I can preserve it, at the cost of complicating a bit Parrot_str_unescape_string | 20:57 | ||
| pmichaud | I don't have an issue with changing it, as long as unicode:"\\xab" continues to work the same. | ||
| NotFound | Also, the patch changes completely the meaning of utf16:unicode: but I think no one uses that, | 20:58 | |
| utf16 and any other encoding based on wide chars. | 20:59 | ||
| Well, I'll do some clean up and review some tests, and commit it tomorrow. | 21:02 | ||
| And change PBC_COMPAT, of course. | 21:03 | ||
| purl | NotFound: that doesn't look right | ||
| pmichaud | there's an argument to be made that it requires a deprecation cycle. | ||
| It's a definite change in API. | 21:04 | ||
| NotFound | Show me some program that worked, and I'll agree. | ||
| pmichaud | that's not the way deprecation works. | ||
| In general, we have to assume there's a program relying on the behavior (unless it's clearly a bug); we can't take the fact that we're unaware of one as proof of its non-existence. | 21:05 | ||
| NotFound | I consider all this thing a big bug. | 21:06 | |
| pmichaud | there are exceptions, of course.... but exceptions really need to be discussed in a wider forum | ||
| it really can't be a bug if it's a documented behavior, though. | |||
| darbelo | Documented where? | 21:07 | |
| pmichaud | (and if there have been tests for this particular behavior, which there are) | ||
| documented in the tests, if nothing else. | |||
| but also implied in pdd-19 | |||
| NotFound | Is not. We discussed that point long time ago. The pdd isn't clear on that matter. | ||
| pmichaud | look, I'm not the architect, you don't have to convince me. | ||
| NotFound | Ok, I'll wait to next #ps | ||
| pmichaud | I'm simply offering my opinion on the deprecation policy. | 21:08 | |
| and I think this is about as clear a case as needing deprecation as one can come up with. | |||
| (because we have tests to ensure the current behavior) | |||
| NotFound | If you mean the escapes, I prefer to complicate the patch than wait for a deprecation cycle. | 21:10 | |
| If you mean the wide char behavior, I disagree. That shit never worked. | |||
| darbelo | I'm working on parrot's encodings now and I agree with NotFound, that shit never worked. | 21:21 | |
| pmichaud | I don't disagree with that. :-) | 21:22 | |
| NotFound | You don't need to quote the "shit" part ;) | 21:23 | |
| This is a semi-proof: skip "Tests seem to fail on big endian machines with icu", 2 if $PConfig{byteorder} eq '4321'; | 21:25 | ||
| darbelo | In the long term, I'd like it to bot work and not be shit. Any of those right now still makes me happy ;) | ||
| s/bot/both/ | 21:26 | ||
| NotFound | pdd19: "so in the example above, you can include a particular Unicode character as either a literal sequence of bytes, or as an escape sequence" | 21:33 | |
| For me the meaning of that phrase is that the curent behavior is a bug. | 21:34 | ||
|
21:50
Mokurai joined
|
|||
| bacek | ~~ | 21:51 | |
| Good morning, humans. | |||
| darbelo welcomes our new robot overlords. | 21:52 | ||
| bacek | pmichaud, ping | 21:53 | |
| pmichaud | bacek: pong | 21:57 | |
| bacek | pmichaud, any progress on mutlis review? | ||
| pmichaud | bacek: no, ended up with a ton of housework to take care of :-| | 21:58 | |
| bacek | pmichaud, no worries. | ||
| pmichaud | but I plan to review it (and sorear's patch, and bkeeler's patch) tonight | ||
| I also had to deal with a dying wifi router yesterday :-| | |||
| on the plus side, I ended up getting a much better router that I'm much happier with | |||
| bacek | There is always a plus side :) | 21:59 | |
|
22:11
Mokurai1 joined
22:20
Mokurai1 joined
|
|||
| GeJ | G'Day bacek. | 22:22 | |
| bacek | G'Day GeJ | 22:23 | |
| Coke | bacek: slacker! | ||
| purl | slacker is like lazy bum | ||
| Coke | I expect another dozen commits today. =-) | ||
| (is it tomorrow yet?) | |||
| bacek | Coke, hey! I merged pct_multis_support branch! | ||
| dalek | rrot: r46803 | darbelo++ | branches/ucs4_encoding: Branch to add support to parrot for the UCS-4 unicode encoding form. |
22:24 | |
| tracwiki: v132 | bacek++ | Languages | 22:25 | ||
| tracwiki: Added my fork of PIR | |||
| tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff | |||
| cotto | ~~ | 22:26 | |
|
22:34
tcurtis joined
|
|||
| tcurtis | Coke: ping | 22:44 | |
|
22:50
bacek_at_work joined,
PacoLinux joined
22:58
Psyche^ joined
23:16
Mokurai joined
|
|||
| tcurtis | msg Coke The ping was to ask you if I have a commit bit. I had to go and couldn't wait for your response. | 23:19 | |
| purl | Message for coke stored. | ||
| darbelo | Hmm. That did not entirely go as expected. | 23:46 | |
| dalek | rrot: r46804 | darbelo++ | branches/ucs4_encoding (6 files): Merge branch 'NFG' into ucs4 |
23:47 | |
| darbelo | Oh, wait. It was squashed. | 23:48 | |
| bacek: ping | |||
| bacek_at_work | darbelo, pong | ||
| darbelo | Do you know of any way to make git-svn not squash commits when merging a git branch into a svn one? | 23:49 | |
| bacek_at_work | git 1.6+ | ||
| or 1.7+ | |||
| darbelo | I have 1.7.0.5 | 23:50 | |
| bacek_at_work | it's still "squashed" from svn point of view. | 23:51 | |
| but you should have correct history in git | |||
| (It's just svn nature of handling merges. It loosing commits history all the time) | |||
| afk # meetings | 23:52 | ||
| darbelo | You are right, git log shows the history. | ||
| Meh. Fortunately it was a small batch. | |||