Camelia, the Perl 6 bug

IRC log for #parrot, 2010-05-19

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:00 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!
00:00 darbelo ;)
00:00 sorear chromatic: I was involved (barely) with GHC in 2007; I might know something
00:03 sorear tcurtis: Yuck, "see comments" IS A PERMISSION?!
00:03 * sorear spits
00:04 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.
00:04 Coke chromatic: I presume you really mean C++?
00:05 sorear I can now see 1 comment
00:05 sorear But I can't see any comments on past-pattern-matching
00:06 tcurtis darbelo deleted the test comments I made.
00:06 sorear The comment I see is on hybrid threads
00:06 sorear Coke: C-- makes more sense than C++ for Lorito...
00:07 Coke sorear: I know C-- as "an insulting way to say C++". Is it also an actual thing?
00:07 sorear Coke: yes
00:07 chromatic C minus minus.
00:07 Coke https://www.parrot.org/comment/reply/163 has no comments, yes.
00:07 chromatic It's a simpler version of C.
00:07 tcurtis C-- is used by Haskell as an intermediate representation.
00:07 sorear http://www.cminusminus.org/
00:07 darbelo It's intended to be a thing to target compilers to.
00:08 sorear (GHC Haskell)
00:08 sorear C-- has one little problem for us.
00:08 sorear It's an expression form.
00:08 Coke Thank you. You might want to spell that out or link to it in docs. =-)
00:08 sorear Lorito should probably be a bytecode-instruction form to make compiling to it less insane
00:09 sorear GHC philosophy is to destructure late; the expressions aren't flattened into an op sequence until the actual code generation
00:09 sorear the ability to re-run static type checks after the optimizer is pretty awesome though
00:10 chromatic My idea is to see if we can extract the ops necessary to support the C-- expressions.
00:12 bacek_at_work We don't have to.
00:12 bacek_at_work All what we need is way to express current ops in subset of another ops.
00:13 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:15 sorear Coke: Isn't partcl abandoned and dead?  Why do you want to fix it?
00:17 Whiteknight partcl isn't abandoned or dead
00:17 Whiteknight just temporarily not working
00:17 darbelo It's jus' restin'
00:17 sorear partcl-nqp is the FUTURE
00:18 * sorear needs to braindump that idea he had earlier for extremely space-efficient sweep-free, generational, and incremental GC
00:18 chromatic Please do.
00:19 darbelo sorear: Coke is the author of both partcls, I think he knows which future he wants to pursue.
00:20 Coke sorear: partcl is not dead.
00:20 Coke it's like the old master vs ng for rakudo.
00:20 Coke we aren't at the point where we can cutover.
00:20 Coke and right now, partcl is one of the few big PGE/TGE implementations.
00:21 Coke 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:24 Coke more hands on partcl-nqp will help that day come sooner, though. =-)
00:38 plobsing joined #parrot
01:02 ruoso joined #parrot
01:04 abqar joined #parrot
01:10 dalek TT #1587 closed by plobsing++: delete Parrot_PMC_* from  src/extend.c
01:10 dalek TT #1587: http://trac.parrot.org/parrot/ticket/1587
01:17 Whiteknight Does GHC interpret Haskell programs, or only compile it to machine code?
01:17 plobsing both IIRC
01:19 tcurtis Although there are some syntax differences in ghci(because it's in IO IIRC).
01:19 Whiteknight ok
01:19 dalek parrot: r46774 | plobsing++ | trunk (5 files):
01:19 dalek parrot: remove duplicate embed/extend vtable wrappers
01:19 dalek parrot: TT #1587
01:19 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46774/
01:19 dalek parrot: r46775 | plobsing++ | trunk (3 files):
01:19 dalek parrot: eliminate vtable hackery from embed/extend interface
01:19 dalek parrot: TT #1588
01:19 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46775/
01:20 * plobsing has deleted much code recently. is there any tool to find out my SLOC add/remove ratio?
01:20 cotto_work diffstat
01:20 purl i think diffstat is make histogram from diff-output
01:26 TiMBuS joined #parrot
01:26 dalek TT #1588 closed by plobsing++: Parrot_VTABLE, Parrot_get_vtable, Parrot_PMC_set_vtable
01:26 dalek TT #1588: http://trac.parrot.org/parrot/ticket/1588
01:29 plobsing ooh. TT #449 lets me move the evil ops I recently discovered to dynops.
01:31 bacek_at_work plobsing210 (3.26%)2628018310
01:31 bacek_at_work commits, +lines, -lines
01:31 bacek_at_work 2010-05plobsing59 (14.97% of 394)bacek, fperrad, NotFound, mikehh
01:32 bacek_at_work Author of the month :)
01:32 bacek_at_work 59 commits
01:32 plobsing bacek++ # can I see the commandline-fu for that?
01:32 bacek_at_work "gitstats . stats" :)
01:32 bacek_at_work It generates some html pages
01:32 * plobsing shakes fist at svn
01:34 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
01:34 purl Message for whiteknight stored.
01:35 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.
01:35 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
01:35 sorear msg Whiteknight GHC != Haskell; there are several pure-interpreting implementations
01:35 purl Message for whiteknight stored.
01:36 sorear plobsing: having a *stable* format of our bytecode is a prerequisite for killing IMCC, if we ever want to go that way
01:37 plobsing sorear: please justify that statement. I think if the instability is hiden behind packfile PMCs, we can get along just fine.
01:38 tcurtis sorear, ghci doesn't interpret Haskell?
01:38 plobsing I thought the bytecode (as opposed to native codegen) was interpretation of a sort
01:48 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 sorear to bootstrap, we need some C code which generates PBC from a stable(r) format
01:48 sorear IMCC fills that role now
01:49 sorear tcurtis: when the "compiler" and "interpreter" share 95% of the code, I feel it only confuses issues to speak of them separately
01:49 sorear there is one compiler which can target four runtimes
01:50 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:51 plobsing 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:52 plobsing wait, are we talking about PBC stability or PASM stability or what?
01:53 * 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 #parrot
01:57 bacek_at_work Speaking of which... Can we deprecate and remove "opsrenumber"?
01:58 bacek_at_work Just to preserve stability of ops numbers.
01:58 Coke opsrenumber is an internal, dev only tool.
01:58 Coke bacek_at_work: not until you have a plan for dealing with removed ops.
01:58 bacek_at_work just left holes in numbering
01:59 snarkyboojum joined #parrot
01:59 Coke it's /a/ plan, fer shure.
02:01 bacek_at_work what's wrong with this plan???
02:01 bacek_at_work Plus adding something like "pmc.num" to preserve PMCs number
02:02 chromatic It keeps opnumbers around.
02:02 bacek_at_work chromatic, ?
02:02 purl it has been said that chromatic, is that typical of CG-ed (dynamic) languages?
02:02 chromatic Maybe we don't need op numbers.
02:02 * Coke hopes that someone wasn't waiting until 2.4 release to rip out those deps...
02:03 chromatic Or, at least, we don't need a fixed numbering for ops independent of any single PBC file.
02:06 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.
02:07 chromatic Maybe we could solve the dynops numbering problem at the same time.
02:07 chromatic Add another header to packfiles: a mapping of op signatures to numbers.  Use those numbers pervasively throughout the PBC.
02:08 chromatic 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.
02:08 cotto_work *ops_pct.
02:09 * cotto_work decommutes
02:09 chromatic It might be a bad idea, but it's an idea.
02:09 dalek rakudo: 248ae36 | (Solomon Foster)++ | build/PARROT_REVISION:
02:09 dalek rakudo: Bump parrot to 2.4.0. snarkyboojum++
02:09 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/2​48ae36adf3a1a5f9107c943d0aa8458807e79ea
02:11 sorear chromatic: Funny, that's the way I always thought it worked
02:11 sorear How does dynop numbering work currently?
02:12 chromatic I'm not sure how it works in the packfiles.
02:12 plobsing back.
02:13 plobsing dynops get loaded by the compiling interpreter whose state gets frozen into the packfile and merged with the executing interpreter on load
02:13 plobsing and hopefully they load the dynop libraries in the same order
02:13 Mokurai joined #parrot
02:15 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:16 plobsing possibly
02:17 plobsing personally, I hate the ParrotInterpreter freeze hack. I'd love to see a dictionary-based solution.
02:17 plobsing perhaps with the bytecode version giving a sort of baseline dictionary
02:20 plobsing AFAIK the same is also true of dynpmc libs
02:25 parthm joined #parrot
02:48 janus joined #parrot
02:58 dalek parrot: r46776 | plobsing++ | trunk/src (4 files):
02:58 dalek parrot: move freeze/thaw calls adjacent to visit calls.
02:58 dalek parrot: the fact that this is possible suggests we should eliminate either visit or freeze/thaw. I prefer to eliminate freeze/thaw.
02:58 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46776/
03:37 LoganLK joined #parrot
03:58 snarkyboojum joined #parrot
04:16 theory joined #parrot
04:32 dalek parrot: r46777 | plobsing++ | trunk (5 files):
04:32 dalek parrot: PBC_COMPAT bump and native_pbc s for r46776
04:32 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46777/
04:32 cotto svn00
04:32 cotto svn--
04:48 cotto I'm afraid of conflict.
04:50 dalek parrot: r46778 | cotto++ | branches/ops_pct (87 files):
04:50 dalek parrot: sync branch with trunk
04:50 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46778/
04:50 dalek parrot: r46779 | cotto++ | branches/ops_pct (2 files):
04:50 dalek parrot: manifix
04:50 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46779/
05:06 ruoso joined #parrot
05:07 dalek parrot: r46780 | cotto++ | branches/ops_pct (3 files):
05:07 dalek parrot: [opsc] bootstrap ops
05:07 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46780/
05:27 theory_ joined #parrot
05:31 sorear tcurtis: ping
05:32 tcurtis sorear: pong
05:33 sorear I've been charged with redesigning the stage mechanism in PCT
05:33 sorear What do you want to see in it?
05:38 cotto hllcompiler.addstage('rainbows', 'after' => 'unicorns')
05:39 Tene isn't that already there?
05:42 chromatic I thought it was too.
05:46 uniejo joined #parrot
05:46 tcurtis Question before I can answer that: how are stages associated with names? Is there some PCT::HLLCompiler.registerStage($name, $stage) sub?
05:47 Tene tcurtis: a stage is just a method on the compiler object.
05:48 Tene So you add a method of that name to your HLLCompiler subclass.
05:51 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:52 sorear Now: A HLLCompiler instance is associated with a list of method names to call in order on the source code.
05:53 sorear Future: The stages form a tree, not a list
05:53 sorear and I'm looking for input on how to design the tree modification API
05:54 sorear 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.
05:55 cotto 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?
05:55 sorear Are you talking to tcurtis?
05:56 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.
05:56 sorear Who is the addressee here?
05:57 tcurtis Tene: that's a better idea. Do stages have access to command-line options?
05:57 sorear tcurtis: there is no "do"
05:57 Tene tcurtis: As I said before, stages are just methods on the compiler object.
05:57 Tene They have access to whatever methods on the compiler object have access to.
05:57 sorear there is potentially a clean slate here
06:01 sorear Tene: Who are you telling to just add a stage?
06:01 sorear chromatic: What is your assumption?
06:01 * sorear is confused
06:01 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.
06:02 Tene tcurtis: you need to be careful to distinguish what the stage expects as input and as output.
06:02 Tene a PAST-optimizing stage would be different froma  POST-optimizing stage.
06:03 chromatic Right.
06:03 chromatic PAST optimizations probably get us further.
06:03 sorear tcurtis: what part of the universe do you want to be able to modify to add this stage?
06:04 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:05 Tene tcurtis: I recommend instead just parsing them in the HLL and passing them as named arguments to the compiler
06:05 Tene just like the rest of the adverbs.
06:05 sorear Tene: that's the way it used to work and I'm planning to keep it that way
06:05 Tene all of the stage methods have a slurpy named parameter.
06:06 sorear HLLCompiler has a command line parser which can be used to populate the named parameters
06:06 sorear ie try parrot-nqp --parsetrace -e '2+2'
06:06 sorear --parsetrace is an NQP-level addition
06:08 sorear However, my original question remains unanswered
06:08 sorear tcurtis: add_stage et al cannot live as currently designed
06:08 sorear tcurtis: what would you like to see in their place?
06:08 Tene sorear: why can't they live?
06:09 sorear because they assume stages are totally ordered
06:09 sorear and pmichaud has asked me to remove that
06:11 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:15 tcurtis sorear: I don't know. Will the desired final output determine the branch of the tree taken?
06:20 dalek rakudo: c4de1a7 | (Patrick Abi Salloum)++ | src/core/Hash.pm:
06:20 dalek rakudo: Hash in list context behaves like a list of pairs
06:20 dalek rakudo: Signed-off-by: Moritz Lenz <moritz@faui2k3.org>
06:20 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c​4de1a766c69694acd47de5f0ac05806ebf7577d
06:20 sorear tcurtis: yes
06:27 fperrad joined #parrot
06:35 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 tcurtis 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.
06:36 chromatic I don't understand the value of a tree.
06:36 chromatic It's lovelier than a poem for certain, but....
06:36 sorear tcurtis: I'm asking you because you have the best reason to want to affect the stagelist
06:39 sorear chromatic: source -> parse -> past -> post -> pir; source -> parse -> past -> post -> eval -> pbc
06:39 sorear the union of these is a tree
06:39 fperrad_ joined #parrot
06:40 chromatic How many paths through that tree are you going to take during a single invocation of the compiler?
06:40 sorear One.
06:41 sorear Suggestions for a better data structure are always welcome.
06:42 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
06:42 sorear which is why I can't just store it
06:43 sorear 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?
06:43 sorear yes
06:43 sorear currently
06:44 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:47 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:49 sorear That's called a simple tree of stages.
06:53 tcurtis Not really.  A simple tree of stages would be [source, parse, past, post, [ pir, [eval, pbc] ] ].
06:54 tcurtis My suggestion would be [source, parse, past, post, { pir: pir, pbc: [eval, pbc] } ]
06:56 tcurtis 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
06:57 * sorear has a random crazy thought
06:57 sorear use a pathfinder
06:57 sorear past2post, etc stages
06:58 sorear then we'd have a natural notion of add_postprocessor('past', &my_past_processor) - it runs after the stage which produces past
06:59 sorear similarly for preprocessor
06:59 dalek rakudo: d4bb7b2 | moritz++ | docs/ChangeLog:
06:59 dalek rakudo: [docs] add some entries to ChangeLog
06:59 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​4bb7b2498d6d8b16efa11f0cbece1f793918f7c
06:59 sorear I like this ide
06:59 sorear a
06:59 sorear objections?
06:59 purl objections are noted, though.
06:59 sorear purl, forget objections
06:59 purl sorear: I forgot objections
07:01 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 aukjan joined #parrot
07:05 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.
07:06 chromatic Other stages you can safely run more than once.
07:06 tcurtis s/loopsimply/loopsimplify
07:06 plobsing cotto: noop should be op 0 for sure. the other ops that require specific numbers were all JIT-specific
07:07 cotto and therefore no longer needed?
07:07 * plobsing thinks so
07:07 chromatic I thought we used op numbers in the PBC.  Do we use op names?
07:07 cotto should be.  The next jit will be on Lorito, not pir directly.
07:08 cotto no, number
07:08 cotto s
07:08 viklund joined #parrot
07:08 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 #parrot
07:09 chromatic Oh, that question.  Yes, I think that was JIT.
07:09 chromatic That's odd though, as we had #defined constants for those ops.  Who knows.
07:10 cotto and a nice enum
07:11 sorear tcurtis: that is easy enough to arrange; just use a postprocessor instead of a stage
07:12 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:13 chromatic More to the point, I have difficulty believing we need an optimal graph traversal algorithm to build a transformation pipeline right now.
07:16 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 cotto messing with the op order causes some failure but not as many as I was expecting
07:16 chromatic I taught myself that over again this week on some client code.
07:16 sorear cotto: this isn't about optimizations at all
07:16 chromatic Throwing out technical features I thought I might need is liberating.
07:16 bacek_at_work tcurtis, Use "XPath" for tree traversal :)
07:17 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.
07:18 plobsing cotto: should I stay away from moving ops to dynops (TT #449) and wait untill opsc lands?
07:19 cotto plobsing, not at all.
07:19 chromatic I used XPath in Perl 5.  It worked pretty well.
07:19 cotto charge ahead
07:19 plobsing roger. time for round 1!
07:19 cotto plobsing++
07:20 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:21 chromatic I mean, I used XPath for traversing the Perl 5 optree.
07:24 dalek rakudo: 643442b | moritz++ | t/spectest.data:
07:24 dalek rakudo: run a few of the new advent calendar integration tests
07:24 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​43442b2f30899b6eac2f74be07d12d5b7a8e8da
07:25 plobsing joined #parrot
07:29 dalek tracwiki: v131 | fperrad++ | Languages
07:29 dalek tracwiki: update Parrot version 2.4.0
07:29 dalek tracwiki: http://trac.parrot.org/parrot/wiki/L​anguages?version=131&amp;action=diff
07:35 tcurtis bacek: I will look into that, but for now I must go to sleep.
07:42 cosimo joined #parrot
07:47 gaz joined #parrot
08:00 dalek parrot: r46781 | plobsing++ | trunk (7 files):
08:00 dalek parrot: move lcm, gcd, and fact opcodes to dynopslibs/obscure
08:00 dalek parrot: these may not be obscure as algorithms, but as opcodes they certainly are
08:00 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46781/
08:01 moritz .oO( mathoms )
08:14 * cotto waves goodbye to fact
08:15 cotto though I'd expect them to go in the math dynoplib
08:15 cotto either way, they're in a better place
08:17 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?
08:17 moritz wow, rakudo could use that :-)
08:47 slavorg joined #parrot
09:02 ttbot Parrot trunk/ r46782 MSWin32-x86-multi-thread make error http://tt.taptinder.org/file/cmdout/318292.txt ( http://tt.taptinder.org//bui​ldstatus/pr-Parrot/rp-trunk/ )
09:02 gaz joined #parrot
09:08 moritz does r46781 mean that rakudo has to import something before it can use gcd in pir?
09:09 plobsing moritz: yes. check out t/dynoplibs/obscure.t
09:09 plobsing the .loadlib line does the import
09:11 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
09:11 dalek parrot: r46782 | plobsing++ | trunk (12 files):
09:11 dalek parrot: move clear[insp], set[insp]_ind and exchange to deprecated dynops lib
09:11 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46782/
09:11 dalek parrot: r46783 | plobsing++ | trunk/src/exceptions.c:
09:11 dalek parrot: export do_panic to be able to use PANIC() in dynlibs
09:11 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46783/
09:17 ttbot Parrot trunk/ r46783 MSWin32-x86-multi-thread make error http://tt.taptinder.org/file/cmdout/318364.txt ( http://tt.taptinder.org//bui​ldstatus/pr-Parrot/rp-trunk/ )
09:18 dalek rakudo: 5ec28d3 | moritz++ | src/core/Rat.pm:
09:19 dalek rakudo: replace hand-rolled gcd function by PIR gcd opcode
09:19 dalek rakudo: This speeds up the spectest run by about 2.4%.
09:19 dalek rakudo: After the release (and bumping the parrot revision) this will require
09:19 dalek rakudo: .loadlib  'obscure_ops'
09:19 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5​ec28d3a78f1e47bde4ebaa9ff5c8089fa8a7e06
09:19 bacek plobsing, you can't move recently deprecated ops into dynops. You are "braking contract".
09:19 plobsing bacek: they were deprecated a while back
09:20 plobsing TT #449
09:20 plobsing I missed that the first time round
09:20 bacek ah
09:20 bacek than that's fine
09:27 dalek parrot: r46784 | plobsing++ | trunk/include/parrot/exceptions.h:
09:27 dalek parrot: headerizer
09:27 purl headerizer is making me happy
09:27 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46784/
09:28 moritz purl: forget headerizer
09:28 purl moritz: I forgot headerizer
09:29 plobsing aw, I like making purl happy
09:30 parthm joined #parrot
09:30 moritz botsnack
09:30 purl thanks moritz :)
09:45 clinton joined #parrot
09:50 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]
09:59 bacek sigh...
10:00 dalek parrot: r46785 | bacek++ | trunk (5 files):
10:00 dalek parrot: Merge branch 'pct_multi_support' into trunk
10:00 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46785/
10:03 parthm left #parrot
10:05 bacek msg pmichaud Multi support in nqp-rx waiting for your review :)
10:05 purl Message for pmichaud stored.
10:12 bakkdoor joined #parrot
10:15 simcop2387 joined #parrot
10:16 dalek parrot: r46786 | fperrad++ | trunk/runtime/parrot/library/distutils.pir:
10:16 dalek parrot: [distutils] old NQP is gone
10:16 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46786/
11:02 mikehh joined #parrot
11:29 dalek rakudo: 77c58c2 | (Solomon Foster)++ | src/core/Complex.pm:
11:29 dalek rakudo: Rework Complex.roots a bit, restoring its original elegance.  (It had been
11:29 dalek rakudo: hacked to pieces to get it to work under ng.)
11:29 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7​7c58c271fab3ac5ff22b476ef35172950d4e714
11:29 dalek rakudo: 3a694dd | (Solomon Foster)++ | src/core/ (4 files):
11:29 dalek rakudo: Change Complex.roots to take an Int as spec'd, and make it a normal method
11:29 purl dalek: that doesn't look right
11:29 dalek rakudo: instead of a multi.  Add Real.roots.  Add Real.Complex and eliminate now
11:29 dalek rakudo: unneeded Int.Complex and Num.Complex.  Clean up Real.unpolar now that cheats are
11:29 dalek rakudo: unneeded.
11:29 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​a694ddce5d5bba3c77f58f54c5e04474fb105fd
11:36 moritz I have an instance of the Sub PMC, and I want to set its name attribute
11:36 moritz in NQP (or PIR)
11:36 moritz how can I do that?
11:37 moritz the documentation says I can call set_string_native, but that's a C function
11:39 bacek moritz, set_string_native is "$P0 = $S0"
11:39 bacek (in pir)
11:39 moritz bacek: thanks, suspected as much
11:39 moritz bacek: is there a nice way to call that from NQP?
11:39 moritz excpet Q:PIR { find_lex ... }
11:40 bacek hmm
11:41 bacek pir::set__ps($sub, $name)?
11:41 moritz 13:41 <@moritz_> nqp: my $x := sub f() { }; pir::set_ps($x, 'foo'); say($x)
11:41 moritz 13:41 <+p6eval> nqp: OUTPUT«error:imcc:syntax error, unexpected PREG, expecting
11:42 moritz oh, forgot a second _
11:43 moritz 13:42 <@moritz_> nqp: my $x := sub f() { }; pir::set__ps($x, 'foo'); say($x)
11:43 moritz 13:42 <+p6eval> nqp: OUTPUT«The opcode 'set_p_s_sc' (set<3>) was not found.
11:43 moritz oh well, I'll use inline PIR, even if it's ugly
11:46 moritz now I get set_attr_str() not implemented in class 'Sub'
11:46 moritz so it seems to call set_attr_str, not set_string_native
11:49 aukjan joined #parrot
11:50 bacek moritz, try bare "set $P0, $S0"
11:51 * moritz tries
11:51 moritz ... and waits for a few minutes until the setting is compiled...
11:53 whiteknight joined #parrot
12:01 moritz bacek: same result
12:01 bacek moritz, check #perl6. There is working result here
12:01 bacek there
12:02 moritz I was stupid.. the previous solution worked, but I forgot to remove the failed attempt from before
12:02 moritz which used set_attribute
12:02 moritz bacek++
12:02 moritz erm, setattribute
12:08 pmichaud good morning, #parrot
12:09 moritz good morning, pmichaud
12:09 whiteknight good morning, pmichaud
12:09 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.
12:10 moritz all three very laudable!
12:10 pmichaud and if things work out, sink context  in Rakudo also :-)
12:11 moritz tomorrow: review bkeeler++'s interpolation patch?
12:11 pmichaud sure
12:11 moritz \o/
12:11 moritz sounds like great fun before the release :-)
12:13 pmichaud oh, that's a problem. drat.
12:13 pmichaud closures in rakudo will require parrot updates
12:13 pmichaud darn release freeze
12:14 whiteknight purl msg sorear: thanks for the info about GHC
12:14 purl Message for sorear stored.
12:14 dalek rakudo: 603c64c | moritz++ |  (2 files):
12:14 dalek rakudo: fix RT #75180, accessors appear under wrong name in introspection
12:14 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​03c64c70d2354297b792a31bdc4a42e2be6f061
12:14 whiteknight pmichaud: what updates?
12:14 purl updates are happening in PAUSE, but not to fi.cpan.org
12:14 pmichaud whiteknight: improvements to PAST and NQP
12:14 whiteknight purl forget pdates
12:14 purl whiteknight, I didn't have anything matching pdates
12:14 whiteknight purl forget updates
12:14 purl whiteknight: I forgot updates
12:15 pmichaud rakudo is tied to the parrot release until we make the rakudo release
12:15 ruoso joined #parrot
12:15 pmichaud oh well, I can still do the work in branches and then apply right after release
12:18 pmichaud afk, kids to school
12:19 aukjan joined #parrot
12:20 ruoso joined #parrot
12:20 bacek moritz, can I kill "mob2" branch in nqp-rx on github?
12:21 bacek looks like it was merged already
12:27 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 #parrot
12:27 whiteknight bacek: what's the status of the avl_string_cache branch?
12:28 bacek whiteknight, stalled.
12:28 dalek parrot: r46787 | whiteknight++ | branches/block_exit_handlers:
12:28 dalek parrot: delete old, unused branch
12:28 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46787/
12:28 dalek parrot: r46788 | whiteknight++ | branches/compact_strings:
12:28 dalek parrot: delete old, unused branch
12:28 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46788/
12:29 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.
12:29 whiteknight ok
12:30 whiteknight 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 #parrot
12:35 moritz bacek: re mob2, yes
12:36 bacek moritz, removed
12:37 moritz bacek++
12:38 moritz karma purl
12:38 purl purl has karma of 8967
12:38 moritz purl--
12:38 purl moritz: i'm not following you...
12:38 whiteknight {purl}--
12:38 whiteknight karma purl
12:38 purl purl has karma of 8967
12:38 szbalint (purl)--
12:38 szbalint karma purl
12:38 purl purl has karma of 8966
12:39 whiteknight (purl)--
12:39 whiteknight that makes me happy
12:39 szbalint why?
12:40 moritz purl refuses to decrement her karma in the normal way
12:40 purl moritz: sorry...
12:40 moritz purl: forget purl--
12:40 purl moritz, I didn't have anything matching purl--
12:41 whiteknight karma purl
12:41 purl purl has karma of 8965
12:41 bacek karmawars!
12:41 moritz so purl-- with context works?
12:41 moritz karma purl?
12:41 purl purl has karma of 8964
12:41 whiteknight yay!
12:41 moritz it does, purl-- :-)
12:41 * purl stays quiet
12:42 * bacek installing WWW::Facebook::API to create new game on facebook
12:46 whiteknight what new game?
12:49 bacek KarmaWars
12:56 tetragon joined #parrot
13:02 dalek parrot: r46789 | fperrad++ | trunk/runtime/parrot/library/distutils.pir:
13:02 dalek parrot: [distutils] more verbose with archive
13:02 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46789/
13:02 dalek parrot: r46790 | fperrad++ | trunk/include/parrot/stat.h:
13:02 dalek parrot: remove space (between minus and digit), so all defines are generated in stat.pasm
13:02 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46790/
13:09 mikehh_ joined #parrot
13:11 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 #parrot
13:17 dalek parrot: r46791 | fperrad++ | trunk/runtime/parrot/library/Archive/Tar.pir:
13:17 dalek parrot: [Archive/Tar] preserve file mode
13:17 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46791/
13:17 dalek parrot: r46792 | fperrad++ | trunk/runtime/parrot/library/Archive/Tar.pir:
13:17 dalek parrot: [Archive/Tar] fix r46791, fperrad--
13:17 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46792/
13:18 atrodo joined #parrot
13:32 gbacon_ joined #parrot
13:33 davidfetter joined #parrot
13:44 ruoso joined #parrot
13:51 zostay joined #parrot
13:52 Chandon joined #parrot
13:53 parthm joined #parrot
14:05 parthm left #parrot
14:22 theory joined #parrot
14:24 plobsing joined #parrot
14:27 bubaflub joined #parrot
14:34 mikehh joined #parrot
14:36 bubaflub joined #parrot
14:47 tetragon joined #parrot
14:48 slavorg joined #parrot
14:52 patspam joined #parrot
14:52 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 #parrot
15:11 dalek parrot: r46793 | coke++ | trunk/parrotbug:
15:11 dalek parrot: use PAGER if set.
15:11 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46793/
15:30 theory_ joined #parrot
15:36 mikehh_ joined #parrot
15:43 iblechbot joined #parrot
15:49 Mokurai joined #parrot
15:56 dalek rakudo: c6ecc98 | (Solomon Foster)++ | src/core/ (4 files):
15:56 dalek rakudo: Try to clean up and make consistent Real.Int, Real.Rat, and Real.Num.
15:56 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c​6ecc980d7597c77deb9dc5872c5590b3c47ea39
16:45 khairul joined #parrot
16:50 whiteknight Austin: ping
16:52 theory joined #parrot
16:54 theory_ joined #parrot
16:57 theory_ joined #parrot
16:57 theory_ joined #parrot
16:59 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.
17:01 darbelo Does kakapo work with nqp-rx?
17:01 darbelo I was under the impression it was written in old NQP.
17:01 whiteknight I don't know. I thought it was working with new stuff
17:02 darbelo I think Austin started on kakapo before nqp-rx was imported into parrot.
17:03 cotto_work joined #parrot
17:03 whiteknight right, but I think he updated it
17:03 whiteknight there really isn't much to update, all things considered
17:06 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
17:14 dalek rakudo: 8816781 | moritz++ | t/spectest.data:
17:14 dalek rakudo: run another advent calendar integration test
17:14 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​8167814bc9acb4b80054f6a8ce12e6ee341369f
17:14 allison joined #parrot
17:15 whiteknight allison: ping
17:16 solarion joined #parrot
17:17 ash_ joined #parrot
17:23 tewk darbelo: http://github.com/tewk/parrot/tree/select
17:27 sorear moritz: I thought that if a single support routine was costing us 2.4% we moved it into perl6.ops?
17:28 sorear pmichaud: shall I do the rebasing for you?
17:29 particle joined #parrot
17:29 sorear moritz: you probably want set__vps
17:29 sorear set__ps is interpreted as 1 arg 1 return
17:29 sorear and PAST::Compiler doesn't handle excess args to pirops prettily
17:29 Coke whiteknight: pong
17:30 whiteknight Coke: I need to get a commit bit for my GSoC student
17:30 whiteknight At #ps, it looks like the consensus was for the mentor to make that happen
17:30 Coke whiteknight: trac id & student name?
17:30 whiteknight Chandon, Nat Tuck
17:31 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
17:31 whiteknight yes, just checked. It's the trac username too
17:33 hercynium joined #parrot
17:33 whiteknight Coke, ah, I just found the "Manage Subversion Access Rights" page on Trac. Is this something I could be doing myself?
17:34 Coke if you're a trac admin, possibly.
17:34 Coke give it a whirl.
17:34 whiteknight Okay. Even if I have access, I don't want to be touching things that I shouldn't
17:34 Coke read the docs for it.
17:34 Coke docs/project/met*
17:36 whiteknight Am I a metacommitter?
17:37 particle i don't think so
17:37 particle you can find out, by trying :)
17:38 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 whiteknight just because I have technical access doesn't mean I have community permission to use it
17:39 particle not true
17:39 particle you're a member of a special group if you're a metacommitter
17:39 dalek parrot: r46794 | fperrad++ | trunk/runtime/parrot/library/distutils.pir:
17:39 dalek parrot: [distutils] display only the first line sent by Smolder,
17:40 particle it's role-based permissions
17:40 dalek parrot: ie. "Reported #nnnnn added."
17:40 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46794/
17:40 whiteknight a special group on trac? On trac, you and Coke are both listed as "admin", same as me
17:40 whiteknight 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
17:40 whiteknight which brings me back to my first point: I have the technical ability to change these things.
17:42 particle you can't make yourself a metacommitter
17:42 particle it's an rt group iirc
17:42 particle not trac
17:42 whiteknight we're not on rt
17:43 whiteknight 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
17:43 whiteknight ok
17:48 davidfetter joined #parrot
17:51 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 particle why don't you add nat
17:51 particle 's svn perms
17:52 whiteknight okay, if it's not a problem I'll definitely do it
17:52 GodFather joined #parrot
17:52 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
17:52 whiteknight ok
17:52 particle aye
17:52 theory joined #parrot
17:53 theory_ joined #parrot
17:53 whiteknight ...okay, done. I think
17:53 cotto_work can you do the same for khairul?
17:54 whiteknight I guess. What's his trac username?
17:54 theory_ joined #parrot
17:55 cotto_work khairul
17:57 theory_ joined #parrot
17:59 whiteknight done, I think
17:59 whiteknight gsoc students should do work in branches named "gsoc_*", correct?
17:59 whiteknight or something else?
18:01 particle i think that's appropriate
18:02 cotto_work thanks
18:02 cotto_work khairul, ping
18:03 khairul cotto_work: pong
18:03 cotto_work you should have an svn commit bit now
18:04 particle test it by creating a new branch for your project!
18:06 khairul thanks cotto++ and whiteknight++
18:06 whiteknight khairul: try it out before giving me karma
18:07 khairul hold on
18:07 ash_ Whiteknight: i am working on a github fork for now...
18:07 whiteknight ash_: okay, that's cool too
18:08 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.
18:09 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.
18:09 particle ash_: you don't have a commit bit yet, but that's what whiteknight++ has been doing
18:09 ash_ ah, okay, cool
18:09 particle your cla has been accepted.
18:09 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)
18:09 particle you can and should have a parrot commit bit
18:09 theory joined #parrot
18:10 theory_ joined #parrot
18:10 theory_ joined #parrot
18:10 Coke particle: (respond to cla) let their mentor do it.
18:10 Coke whiteknight: if you have the permissions, you have the permissions.
18:10 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?
18:10 Coke there's no secret "oh you have the permissions but cannot use them" club.
18:10 theory joined #parrot
18:11 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 #parrot
18:11 Coke whiteknight: if it was, we'd have taken it away already.
18:11 theory_ joined #parrot
18:11 particle congratulations on your promotion, whiteknight :)
18:11 theory joined #parrot
18:12 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 #parrot
18:12 fperrad joined #parrot
18:12 theory joined #parrot
18:12 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.
18:13 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 theory_ joined #parrot
18:13 khairul cotto_work: as to core, or external, no assumptions made there.
18:13 theory_ joined #parrot
18:14 Coke particle: define "accepts"
18:14 whiteknight Coke: I think he means to say "received"
18:15 particle no, it can (and has) been improperly filled out, and will be rejected
18:15 theory_ joined #parrot
18:15 particle receipt does not guarantee acceptance
18:15 Coke particle: ETOOMUCHWORK. I think having your bit flipped is sufficient.
18:15 theory_ joined #parrot
18:16 theory__ joined #parrot
18:16 Coke but don't let me stop you from sending out friendly emails.
18:16 theory_ joined #parrot
18:16 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 theory__ joined #parrot
18:16 Coke particle: I am absolutely, clearly, 100%, missing your point, yes.
18:16 theory_ joined #parrot
18:17 theory joined #parrot
18:17 theory joined #parrot
18:17 particle ok, so, a contributor wants to become a pafo member. she submits a cla.
18:17 Coke ... please stop. =-)
18:17 slavorg joined #parrot
18:17 particle fine, i'll go back to work.
18:17 whiteknight bots trust khairul
18:17 whiteknight opbots trust khairul
18:17 slavorgn Ok
18:18 whiteknight opbots trust Chandon
18:18 slavorgn Ok
18:18 darbelo What happened to slavorg?
18:18 whiteknight BALEETED
18:18 theory_ joined #parrot
18:18 darbelo opbots trust me
18:18 slavorgn Ok
18:18 whiteknight opbots trust everybody!
18:18 slavorgn Ok
18:18 whiteknight :)
18:19 whiteknight opbots untrust everybody!
18:19 whiteknight opbots help
18:19 slavorgn I'm slavorg, an op-bot.Commands: trust, distrust, believe, disbelieve, leave, join. See also http://jerakeen.org/programming/slavorg
18:19 whiteknight opbots distrust everybod!
18:19 slavorgn But I already distrust everybod!
18:19 whiteknight opbots distrust everybody!
18:19 slavorgn Ok
18:19 darbelo opbots distrust everybody!
18:19 slavorgn But I already distrust everybody!
18:19 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.
18:20 slavorg Ok
18:20 slavorg Ok
18:20 slavorg But I already trust me
18:20 slavorg Ok
18:20 slavorg I'm slavorg, an op-bot.Commands: trust, distrust, believe, disbelieve, leave, join. See also http://jerakeen.org/programming/slavorg
18:20 slavorg But I already distrust everybod!
18:20 slavorg Ok
18:20 slavorg But I already distrust everybody!
18:20 whiteknight ...good. I'm glad that happened
18:20 particle opbots leave a lot to be desired
18:20 cotto_work you make opbot cry
18:30 dalek parrot: r46795 | khairul++ | gsoc_instrument:
18:30 dalek parrot: Creating a branch for gsoc making parrot instruments
18:30 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46795/
18:30 dalek parrot: r46796 | Chandon++ | trunk/CREDITS:
18:30 dalek parrot: [CREDITS] Adding myself to CREDITS
18:30 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46796/
18:30 dalek parrot: r46797 | khairul++ | gsoc_instrument:
18:30 dalek parrot: Created in wrong folder. Sorry, khairul--
18:30 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46797/
18:30 dalek parrot: r46798 | Chandon++ | branches/gsoc_threads:
18:30 dalek parrot: [gsoc] Creating a new branch to do GSoC work on my threads project
18:30 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46798/
18:30 dalek parrot: r46799 | khairul++ | branches/gsoc_instrument:
18:30 dalek parrot: Creating a branch for gsoc making parrot instruments
18:30 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46799/
18:30 theory_ joined #parrot
18:32 cotto_work looks like it worked
18:36 bluescreen joined #parrot
18:46 dalek parrot: r46800 | NotFound++ | trunk/src/string/api.c:
18:46 dalek parrot: fix parsing of \xHH in Parrot_str_unescape_string
18:46 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46800/
18:46 dalek parrot: r46801 | NotFound++ | trunk (3 files):
18:46 dalek parrot: add "flags" parameter to Parrot_str_unescape_string
18:46 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46801/
18:48 Mokurai joined #parrot
18:54 dalek rakudo: f6374ad | (Solomon Foster)++ | src/core/Real.pm:
18:54 dalek rakudo: Real.Int is now just sugar for Real.truncate.
18:54 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f​6374adbe7d1dfc91389966d6aae9cb74defecb4
18:54 dalek rakudo: ad8556c | (Solomon Foster)++ | src/core/Num.pm:
18:54 dalek rakudo: modf is now a local function instead of a private function; call it accordingly.
18:54 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​d8556c438cc962b12eb4da4d66d25636f1884af
19:11 joeri joined #parrot
19:32 ash_ where do tests for configure steps go?
19:32 ash_ ah, i see it, nevermind
19:36 Mokurai joined #parrot
19:36 Mokurai joined #parrot
19:36 dalek parrot: r46802 | NotFound++ | trunk/src/string/api.c:
19:36 dalek parrot: fix again parsing of \xHH in Parrot_str_unescape_string and a hard tab
19:36 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46802/
19:41 * Coke wonders if we should add a 'make check' alias.
19:44 whiteknight what would a make check make, if a make check check were made?
19:46 cotto_work a check, probably with a large number of zeroes
19:46 bubaflub 10.0000000000
19:47 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 http://nopaste.snit.ch/20602
19:47 NotFound Some opinion about this patch?
19:50 whiteknight NotFound: I'm not sure I understand it
19:50 sorear Anything with sane in it gets a +1 from me
19:50 NotFound whiteknight: no one understand the issue, that's the reason it never gets fixed X-)
19:51 NotFound 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:52 joeri joined #parrot
19:52 NotFound Also, escapes are always considered codepoints, instead of using bytes for some cases,
19:53 Coke phone in 0:07
19:53 Coke whiteknight: make check is how non-perl people spell "make test", methinks.
19:54 whiteknight Coke: ah, okay
19:55 NotFound Rename as "make verify", to fool all people same way X-)
20:00 TimToady phone
20:05 joeri joined #parrot
20:08 GeJ Good morning everyone.
20:18 pmichaud no phone today?
20:18 pmichaud or am I just too late?
20:19 sorear Hello
20:19 purl hola, sorear.
20:19 hercynium joined #parrot
20:19 sorear pmichaud: timtoady said "phone" 18 minutes ago
20:19 sorear (also, the minutes from the last one still haven't landed)
20:20 pmichaud sorear: yes, I saw the 18-minute-ago notice.  usually the calls last a bit longer than that, though.
20:20 pmichaud I can't speak to last week's minutes; I'm not the minute-taker.  :)
20:21 * pmichaud checks email
20:21 pmichaud looks like I just missed the meeting
20:21 PerlJam "welp, no one showed up ... meeting adjourned!"
20:22 pmichaud no, I see this week's minutes, looks like chromatic++, Coke++, and TimToady++
20:22 pmichaud I must've just missed them.  Too much going on around here today :-(
20:22 Coke hope everything's OK.
20:23 pmichaud sure, nothing radically wrong.
20:24 pmichaud just unexpectedly had to run an errand, which made me late to picking up kids from school, which made me late to call
20:39 darbelo NotFound: +1 to http://nopaste.snit.ch/20602
20:46 NotFound pmichaud: can you take a look at that nopaste?
20:47 NotFound I don't know if it risk to break something on nqp or rakudo.
20:47 darbelo commit it and find out ;)
20:48 PerlJam NotFound: what darbelo said  :)  Rakudo (and I guess nqp) are pegged at the Parrot release anyway.
20:49 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.
20:50 pmichaud (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?
20:51 pmichaud \xHH already means codepoint and not byte
20:51 NotFound pmichaud: in theory.
20:51 purl well, in theory is my pants or it's too dark to read or somewhat intrusive to David Wheeler
20:51 pmichaud if I have    unicode:"\xab"
20:51 pmichaud I guarantee that's a two-byte string at the moment.
20:52 moritz forget in theory
20:52 purl moritz: I forgot in theory
20:53 NotFound pmichaud: some tests seems to use \xHH\xHH as one char codified in utf8
20:53 pmichaud which ones?
20:53 * theory is forgotten
20:53 NotFound UTF8 literals
20:54 NotFound 16 & 17 in stringu.t
20:54 moritz theory: you're forgiven, not forgotten # /me paraphrases old, bad song titles
20:54 NotFound The ones that fail with this patch.
20:54 theory that'll work
20:55 pmichaud NotFound: I agree that in those tests, the utf8: prefix is making \x act like a byte, not a codepoint
20:56 NotFound That's what I want to change.
20:57 NotFound 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.
20:58 NotFound Also, the patch changes completely the meaning of utf16:unicode: but I think no one uses that,
20:59 NotFound utf16 and any other encoding based on wide chars.
21:02 NotFound Well, I'll do some clean up and review some tests, and commit it tomorrow.
21:03 NotFound And change PBC_COMPAT, of course.
21:03 purl NotFound: that doesn't look right
21:03 pmichaud there's an argument to be made that it requires a deprecation cycle.
21:04 pmichaud It's a definite change in API.
21:04 NotFound Show me some program that worked, and I'll agree.
21:04 pmichaud that's not the way deprecation works.
21:05 pmichaud 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:06 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
21:06 pmichaud it really can't be a bug if it's a documented behavior, though.
21:07 darbelo Documented where?
21:07 pmichaud (and if there have been tests for this particular behavior, which there are)
21:07 pmichaud documented in the tests, if nothing else.
21:07 pmichaud but also implied in pdd-19
21:07 NotFound Is not. We discussed that point long time ago. The pdd isn't clear on that matter.
21:07 pmichaud look, I'm not the architect, you don't have to convince me.
21:07 NotFound Ok, I'll wait to next #ps
21:08 pmichaud I'm simply offering my opinion on the deprecation policy.
21:08 pmichaud and I think this is about as clear a case as needing deprecation as one can come up with.
21:08 pmichaud (because we have tests to ensure the current behavior)
21:10 NotFound If you mean the escapes, I prefer to complicate the patch than wait for a deprecation cycle.
21:10 NotFound If you mean the wide char behavior, I disagree. That shit never worked.
21:21 darbelo I'm working on parrot's encodings now and I agree with NotFound, that shit never worked.
21:22 pmichaud I don't disagree with that.  :-)
21:23 NotFound You don't need to quote the "shit" part ;)
21:25 NotFound 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 ;)
21:26 darbelo s/bot/both/
21:33 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:34 NotFound For me the meaning of that phrase is that the curent behavior is a bug.
21:50 Mokurai joined #parrot
21:51 bacek ~~
21:51 bacek Good morning, humans.
21:52 * darbelo welcomes our new robot overlords.
21:53 bacek pmichaud, ping
21:57 pmichaud bacek: pong
21:57 bacek pmichaud, any progress on mutlis review?
21:58 pmichaud bacek: no, ended up with a ton of housework to take care of :-|
21:58 bacek pmichaud, no worries.
21:58 pmichaud but I plan to review it (and sorear's patch, and bkeeler's patch) tonight
21:58 pmichaud I also had to deal with a dying wifi router yesterday :-|
21:58 pmichaud on the plus side, I ended up getting a much better router that I'm much happier with
21:59 bacek There is always a plus side :)
22:11 Mokurai1 joined #parrot
22:20 Mokurai1 joined #parrot
22:22 GeJ G'Day bacek.
22:23 bacek G'Day GeJ
22:23 Coke bacek: slacker!
22:23 purl slacker is like lazy bum
22:23 Coke I expect another dozen commits today. =-)
22:23 Coke (is it tomorrow yet?)
22:23 bacek Coke, hey! I merged pct_multis_support branch!
22:24 dalek parrot: r46803 | darbelo++ | branches/ucs4_encoding:
22:24 dalek parrot: Branch to add support to parrot for the UCS-4 unicode encoding form.
22:24 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46803/
22:25 dalek tracwiki: v132 | bacek++ | Languages
22:25 dalek tracwiki: Added my fork of PIR
22:25 dalek tracwiki: http://trac.parrot.org/parrot/wiki/L​anguages?version=132&amp;action=diff
22:26 cotto ~~
22:34 tcurtis joined #parrot
22:44 tcurtis Coke: ping
22:50 bacek_at_work joined #parrot
22:50 PacoLinux joined #parrot
22:58 Psyche^ joined #parrot
23:16 Mokurai joined #parrot
23:19 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.
23:46 darbelo Hmm. That did not entirely go as expected.
23:47 dalek parrot: r46804 | darbelo++ | branches/ucs4_encoding (6 files):
23:47 dalek parrot: Merge branch 'NFG' into ucs4
23:47 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46804/
23:48 darbelo Oh, wait. It was squashed.
23:48 darbelo bacek: ping
23:48 bacek_at_work darbelo, pong
23:49 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+
23:49 bacek_at_work or 1.7+
23:50 darbelo I have 1.7.0.5
23:51 bacek_at_work it's still "squashed" from svn point of view.
23:51 bacek_at_work but you should have correct history in git
23:51 bacek_at_work (It's just svn nature of handling merges. It loosing commits history all the time)
23:52 bacek_at_work afk # meetings
23:52 darbelo You are right, git log shows the history.
23:52 darbelo Meh. Fortunately it was a small batch.

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

Parrot | source cross referenced