Camelia, the Perl 6 bug

IRC log for #parrot, 2011-11-17

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:02 * dukeleto is creating a VM to host a parrot continuous integration system on the OSUOSL supercell things
00:02 dukeleto thingy, rather. It is a technical term.
00:02 cotto a very important one
00:05 cotto dukeleto: while you're there, see how long fulltest takes on one of the beefy machines.  Using someone else's hardware to cut releases could potentially speed up the process quite a bit, given that much of it involves waiting for tests to run.
00:06 cotto and benabik++, just because
00:06 dukeleto cotto: gcc compile farm. gcc110 has 64 cores.
00:07 cotto dukeleto: that's the one I'm thinking of.
00:07 dukeleto cotto: we have 8 cores to play with at osuosl
00:07 cotto dukeleto: that's also acceptable
00:07 cotto ;)
00:20 kid51 joined #parrot
00:25 RobertLJ joined #parrot
00:34 whiteknight msg benabik I tried to disasm rosella/core.pbc. It threw an exception "Method 'get_type' not found for invocant of class 'PackfileAnnotation'"
00:34 aloha OK. I'll deliver the message.
01:02 RobertLJ joined #parrot
01:08 woosley joined #parrot
01:10 woosley joined #parrot
01:20 dalek PACT: 3c55d8a | Whiteknight++ | src/disasm.winxed:
01:20 dalek PACT: If we don't have an annotations segment, don't try to access it. This avoids null pmc errors for certain inputs
01:20 dalek PACT: review: https://github.com/parrot/PACT/commit/3c55d8a86f
01:20 dalek PACT: fb2b25d | Whiteknight++ | src/disasm.winxed:
01:20 dalek PACT: Update disasm.winxed to handle :named, :named/:slurpy, :optional, and :opt_flag parameters.
01:20 dalek PACT: review: https://github.com/parrot/PACT/commit/fb2b25dd25
01:26 woosley joined #parrot
01:39 dalek PACT: 53bd5d5 | Whiteknight++ | src/disasm.winxed:
01:39 dalek PACT: Keep track of the Sub start and end offsets. While dumping bytecode, print out where the individual subroutines start/stop. This helps give us some valuable landmarks while reading the bytecode dump
01:39 dalek PACT: review: https://github.com/parrot/PACT/commit/53bd5d5e96
01:41 whiteknight msg benabik I hope you don't mind I made a few fixes and feature additions to PACT/disasm.winxed. Can disassemble rosella/core.pbc now and gives more information about subs and args
01:41 aloha OK. I'll deliver the message.
01:50 whiteknight What I think we are really going to want to do here is refactor this out into a complete disassembly and bytecode analysis library
01:51 whiteknight because we basically have all the information we would want to disassemble up to PIR. Some frozed PMC types we obviously can't disassemble, but most of the rest we can jam into :immediate subs
02:04 sorear whiteknight: IMO we should have a .const syntax for _any_ freezable object that just uses a frozen binary:"" string
02:04 sorear or whatever the byte string syntax is now
02:04 whiteknight sorear: plobsing was working on such a thing.
02:04 whiteknight sorear: but yes, it's a recognized need and something we are, theoretically, working towards
02:04 sorear Rakudo wants to move in a direction of storing classes and whatnot in the constant table
02:05 sorear that requires either ditching PIR or extending PIR
02:05 whiteknight sorear: yes, we have :immediate subs which can be used for that purpose, again theoretically
02:05 sorear ...if I put it like that it almost sounds like an argument for not extending PIR
02:05 whiteknight and when we update PCT, we will have improved ability to serialize arbitrary compile-time pmcs
02:06 whiteknight we are ditching PIR. It's a slow but inevitable process
02:06 sorear PCT is not the whole story, it is useful to be able to save .pir files and have stuff work
02:06 whiteknight eventually we will bootstrap and output packfiles directly
02:06 sorear c.f. the NQP bootstrap
02:06 sorear whiteknight: do you have an answer yet for making packfiles work on multiple Parrot versions?
02:07 whiteknight sorear: it's not a problem I've been working on personally. I know we are further along, but the opcode set changes too frequently to be allowing arbitrary backwards compatibility
02:08 sorear whiteknight: we need to allow compatibility *even if the opcode set changes*
02:08 whiteknight we can't do that until we have lorito
02:08 whiteknight lorito will allow us to include op definitions in the packfile
02:08 sorear what about when you change the lorito definitions?
02:09 sorear I guess versioning
02:09 whiteknight lorito ops will be far fewer in number, much more controlled, and more atomic
02:10 whiteknight PIR ops will be built from lorito ops,
02:10 whiteknight or, whatever the future equivalent of PIR is
02:12 schmooster joined #parrot
02:13 dukeleto ~~
02:19 whiteknight lemmetellyouwhat, this disassembler is already showing me some obvious places for optimizations
02:20 dalek PACT: 161b06e | Whiteknight++ | src/disasm.winxed:
02:20 dalek PACT: refactor out logic to print a PMC constant into a separate function. Use that new function to print PMC values inline when printing bytecode.
02:20 dalek PACT: review: https://github.com/parrot/PACT/commit/161b06e5c4
02:26 jsut joined #parrot
02:37 whiteknight like, for some reason, it looks like there's an extra set_returns and returncc opcode added at the end of every sub
02:38 whiteknight or, not all, but many
02:38 whiteknight that looks like an IMCC addition, not a winxed one
02:40 whiteknight also, it looks like IMCC is inserting a get_results call after ever sub invocation, whether it's necessary or not
02:43 whiteknight winxed seems to be outputting a .const 'Sub' foo = 'foo' call, which turns into a set opcode too early. So we end up doing the set whether we ever enter a branch which makes that call
02:46 benabik joined #parrot
02:47 benabik o/
02:47 benabik whiteknight: PACT master currently requires the change I made in Parrot master to get more information out of annotations.
02:48 whiteknight benabik: did you commit that change to parrot master?
02:48 benabik Yes.
02:48 benabik 2001ad8
02:48 whiteknight ah, yeah. Somehow I didn't pull
02:48 whiteknight or, I thought I pulled but it didn't do
02:50 whiteknight benabik: I hope you don't mind me playing in your code
02:50 whiteknight but this disassembler is too awesome to not touch
02:50 benabik If I wanted my own private playground it'd be in benabik/PACT, not parrot/PACT
02:51 whiteknight Once we get the algorithms down, I think we need to start breaking out the logic into a library and a driver
02:53 benabik Yeah.  The idea was to figure out what was in a Packfile and try to load it into some kind of PACT::Node structure
02:57 whiteknight I have a million little changes I want to make to the generated display, but I'll save all those till later. Once we get all the core logic factored out, it will be trivial to have a subclassable emitter class
02:57 benabik The display was really just for "am I doing it right".
02:57 benabik Although I'm somewhat to the point where I want to put thought into PACT assembly.
02:58 whiteknight yeah, where we go from here is up
02:59 whiteknight benabik++
03:00 whiteknight okay, I'm off to bed. More playing tomorrow
03:01 benabik 'night
03:06 dalek PACT: 7af8731 | benabik++ | src/disasm.winxed:
03:06 dalek PACT: disasm: Re-indent
03:06 dalek PACT:
03:06 dalek PACT: 90% of the code uses tabs.  Fix the other 10%.
03:06 dalek PACT:
03:06 dalek PACT: There's more than one person editing now.  I suppose some thought
03:06 dalek PACT: should go into code standards soon.
03:06 dalek PACT: review: https://github.com/parrot/PACT/commit/7af8731bca
03:08 whiteknight sorry, my editor is set to use spaces instead of tabs
03:08 whiteknight anyway, out!
03:12 benabik aloha: msg whiteknight I generally prefer tabs, but really the lack of consistency is what bothered me.  :-D
03:12 aloha benabik: OK. I'll deliver the message.
03:16 benabik Hm.  Segfault disassembling PCT/PAST.pbc printing a Key.
03:17 benabik In Parrot_io_write_buffer
03:47 benabik That's odd.
03:47 benabik src/call/context.c:682: failed assertion 'Parrot_pcc_get_regs_used(interp, ctx, REGNO_STR) > idx'
03:48 bacek_at_work benabik, looks like Key was collected by GC already
03:48 bacek_at_work benabik, and has some weird data inside
03:49 benabik bacek_at_work: It should be referenced by the Packfile I just loaded.
03:49 bacek_at_work Packfiles aren't properly marked
03:49 benabik Should be referenced by the FixedPMCArray I built from the Packfile?
03:49 bacek_at_work And "register" Keys are highly coupled with CallCOntext
03:50 benabik Register keys?
03:50 bacek_at_work KEY_register_FLAG
03:50 bacek_at_work something like "[$S0]"
03:50 benabik It may be a key attempting to reference a register that doesn't exist.
03:50 bacek_at_work which doesn't store string, but register no
03:50 bacek_at_work so
03:50 benabik And tries to reference the register when printed.  That's the problem.
03:51 bacek_at_work if you try to access this Key in wrong context it will die
04:01 dalek PACT: 82f61fe | benabik++ | src/disasm.winxed:
04:01 dalek PACT: disasm: Don't print keys
04:01 dalek PACT:
04:01 dalek PACT: Keys can refer to registers that won't exist in the disassembler code.
04:01 dalek PACT: This is... bad, to say the least.  For now, just disable printing
04:01 dalek PACT: them.  Long term, we're going to need better key introspection.
04:01 dalek PACT: review: https://github.com/parrot/PACT/commit/82f61fe5d9
04:02 sorear er... is there any way to, given a bytecode offset, find the correct Sub to get register info from?
04:03 benabik That can probably be figured out, but the issue is that the Key code hits a Key that says [$S100] and then tries to read the value from that register in the current sub.
04:04 benabik I'd prefer to have the disassembler walk the key and print the register reference.
04:04 sorear you can't change it to just say [S99]?
04:04 * sorear wonders if the limit on S00-S99 in PASM has been removed yet
04:05 benabik I might be able to do that in C-land, but I'd prefer if there's a programmatic way to find that.
04:05 benabik Also, I'd rather not change the current behavior in case someone's using it.
04:05 * sorear hopes the disassembler is using S99 and not $S99
04:06 benabik I currently having it print $ for registers because I'm used to it.
05:19 cotto 'evening
06:55 tadzik 'morning
07:03 cotto that too
08:17 mj41 joined #parrot
09:19 lucian joined #parrot
09:25 mls morning
09:25 rurban joined #parrot
09:26 mls whiteknight: the extra set_returns/returncc gets added by imcc, see expand_pcc_sub() in pcc.c
09:27 mls it checks if the last op is ret/exit/end/branch/returncc. If it's neither, it adds a return
09:28 dngor joined #parrot
09:28 mls benabik: I patched pbc_dump for the same reason, see commit 09210aa9
10:06 GeJ_ joined #parrot
10:20 ambs joined #parrot
11:40 JimmyZ joined #parrot
11:46 dalek parrot/kill_constants: 279d10c | bacek++ | / (12 files):
11:46 dalek parrot/kill_constants: Revert "Remove Parrot_pmc_new_constant* functions"
11:46 dalek parrot/kill_constants:
11:46 dalek parrot/kill_constants: Let's do it in smaller steps.
11:46 dalek parrot/kill_constants: review: https://github.com/parrot/parrot/commit/279d10cb50
11:46 dalek parrot/kill_constants: d229dc6 | bacek++ | src/gc/ (2 files):
11:46 dalek parrot/kill_constants: Mark code segment.
11:46 dalek parrot/kill_constants:
11:46 dalek parrot/kill_constants: We'll need it when we stop generating constant Keys and other PMCs in
11:46 dalek parrot/kill_constants: IMCC.
11:46 dalek parrot/kill_constants: review: https://github.com/parrot/parrot/commit/d229dc6980
11:46 dalek parrot/kill_constants: d555d17 | bacek++ | src/key.c:
11:46 dalek parrot/kill_constants: Fix braino in marking Key.
11:46 dalek parrot/kill_constants: review: https://github.com/parrot/parrot/commit/d555d178d3
11:46 dalek parrot/kill_constants: e207e6b | bacek++ | compilers/imcc/pbc.c:
11:46 dalek parrot/kill_constants: Don't generate 'constant' PMCs in IMCC
11:46 dalek parrot/kill_constants: review: https://github.com/parrot/parrot/commit/e207e6b4ee
12:12 Psyche^ joined #parrot
12:33 bluescreen joined #parrot
12:49 dalek parrot: 7ad205b | mls++ | / (7 files):
12:49 dalek parrot: add 'peek_exception' op as workaround for pct relying on .get_results to get the exception
12:49 dalek parrot:
12:49 dalek parrot: .get_results clears the call object, so we cannot use it to get the exception
12:49 dalek parrot: when HLL code also relies on .get_results returning the exception. Thus, the
12:49 dalek parrot: new op returns the exception without clearing the call object. This op can
12:49 dalek parrot: be removed again if PCT provides a different mechanism to get the exception and
12:49 dalek parrot: all HLLs use the new mechanism.
12:49 dalek parrot: review: https://github.com/parrot/parrot/commit/7ad205be8f
12:57 JimmyZ_ joined #parrot
12:58 benabik joined #parrot
12:59 benabik o/
12:59 mls \o benabik!
13:00 mls about key segfaults: I patched pbc_dump for the same reason, see commit 09210aa9
13:01 benabik Yeah, saw that message.
13:01 benabik I think there's enough functions to reasonably print it in C-land, but I'd love to introspect them from inside the VM.
13:01 mls yeah, it seems insane that it relies on the current ctx
13:02 mls meeting -> afk
13:03 benabik It makes some sense for what they're designed for.  You'd like get_hll_global ['Namespace';$S0] to find the current value of $S0.
13:13 whiteknight joined #parrot
13:13 whiteknight good morning, #parrot
13:36 benabik o/ whiteknight
13:37 JimmyZ joined #parrot
13:40 Kovensky joined #parrot
13:53 mtk joined #parrot
14:19 dalek Rosella/event_4: acd78bf | Whiteknight++ | / (9 files):
14:19 dalek Rosella/event_4: Start fleshing out new Event library, to try and take advantage of green_threads and other upcoming changes
14:19 dalek Rosella/event_4: review: https://github.com/Whiteknig​ht/Rosella/commit/acd78bf06e
14:19 dalek Rosella/event_4: 9c27e55 | Whiteknight++ | src/event/Queue.winxed:
14:19 dalek Rosella/event_4: Remove unnecessary Queue class
14:19 dalek Rosella/event_4: review: https://github.com/Whiteknig​ht/Rosella/commit/9c27e55d2a
14:21 benabik I had a random thought:  Could we avoid some of the pain of inferior runloops by making them tasks?  Instead of having nested C-Parrot-C-Parrot, we would go C-Parrot-C-Wait for task and then have a new C-Parrot task.  Slightly complex to set up, but might avoid some of the pain of trying to manage both the contexts and C stack.
14:22 benabik (I have not investigated to determine if this would actually help, just an idea that popped into my head.)
14:22 whiteknight benabik: it depends on the context. I suspect we would not be able to do it for most uses
14:23 whiteknight you lose anything like a guarantee of sequential ordering, and you lose the ability to get a return value in a timely manner
14:24 benabik Well, the origin task would be blocked until the inferior task returned, so it shouldn't goof ordering.
14:24 benabik Timeliness is a bit of an issue, I suppose.
14:36 dalek Rosella/event_4: 91d1560 | Whiteknight++ | / (5 files):
14:36 dalek Rosella/event_4: Fix existing event tests
14:36 dalek Rosella/event_4: review: https://github.com/Whiteknig​ht/Rosella/commit/91d1560f5e
14:47 whiteknight_ joined #parrot
15:04 dalek parrot: 8e7bd15 | mls++ | src/ops/core.ops:
15:04 dalek parrot: correct documentation for peek_exception
15:04 dalek parrot: review: https://github.com/parrot/parrot/commit/8e7bd15208
15:04 dalek parrot: 7b50a14 | mls++ | compilers/ (6 files):
15:04 dalek parrot: Support direct lexinfo access with ".const 'LexInfo' $P0 = <subid>"
15:04 dalek parrot: review: https://github.com/parrot/parrot/commit/7b50a141e0
15:14 ambs joined #parrot
15:23 alester joined #parrot
15:23 dalek parrot: a8cb7da | petdance++ | src/gc/gc_gms.c:
15:23 dalek parrot: consting local vars
15:23 dalek parrot: review: https://github.com/parrot/parrot/commit/a8cb7da75c
15:46 NotFound benabik: the problem is how and were to decide to launch a new task. Usually you don't know.
15:51 dalek Rosella/event_4: 4dd20ee | Whiteknight++ | setup.winxed:
15:51 dalek Rosella/event_4: Event doesn't rely on Action anymore
15:51 dalek Rosella/event_4: review: https://github.com/Whiteknig​ht/Rosella/commit/4dd20ee1e7
15:51 dalek Rosella/event_4: dff8cba | Whiteknight++ | src/ (5 files):
15:51 dalek Rosella/event_4: Add a new function get_winxed_compiler, because a basic compreg call will fail if we haven't loaded the language yet. Use that in a few places to standardize access
15:51 dalek Rosella/event_4: review: https://github.com/Whiteknig​ht/Rosella/commit/dff8cbaacb
15:51 dalek Rosella/event_4: c8b788d | Whiteknight++ | src/ (5 files):
15:51 dalek Rosella/event_4: Merge branch 'master' into event_4
15:51 dalek Rosella/event_4: review: https://github.com/Whiteknig​ht/Rosella/commit/c8b788dfbe
15:51 dalek Rosella/event_4: 0f09670 | Whiteknight++ | / (11 files):
15:51 dalek Rosella/event_4: autogenerate tests for new event library. Fill most of them in, with stubs at least
15:51 dalek Rosella/event_4: review: https://github.com/Whiteknig​ht/Rosella/commit/0f0967025b
15:51 dalek Rosella: dff8cba | Whiteknight++ | src/ (5 files):
15:51 dalek Rosella: Add a new function get_winxed_compiler, because a basic compreg call will fail if we haven't loaded the language yet. Use that in a few places to standardize access
15:51 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/dff8cbaacb
15:51 whiteknight joined #parrot
15:54 plobsing joined #parrot
16:14 bluescreen joined #parrot
16:41 Coke I have a local HS teacher who is interested in getting some of his students enrolled in GCI. Any pointers for "how to get started", esp if he's interested in targetting parrot tasks specifically?
16:43 whiteknight Coke: Most prep that needs to be done right now is on our end, eg creating tasks
16:43 whiteknight Getting in touch with us, and telling us what kinds of tasks his students are interested in is a good idea
16:43 dukeleto ~~
16:43 whiteknight so we can know to create more tasks specifically like that
16:43 dukeleto we need to make lots of tasks this weekend, since there are only 2 times that tasks go out: this Monday, and half-way through GCI
16:43 whiteknight Coke: coming in and chatting with us, and saying hi, and getting familiar with the code is a good idea too
16:44 dukeleto they are changing it up this year. I just learned of this.
16:44 whiteknight dukeleto: oh, crap
16:44 dukeleto whiteknight: yeah
16:44 whiteknight last year we had a very prolific rolling system
16:44 dukeleto Coke: feel free to do an email intro to the HS teacher and me
16:46 whiteknight Man, we need to get moving on tasks. That scheduling change is a bear
16:46 whiteknight I'll have to get some Rosella and Jaesop tasks set up. Maybe PLA too, if that's working right still
16:48 whiteknight I wonder if NotFound needs any work done on Winxed, that an inexperienced hand might attempt
16:49 benabik I'd suggest tasks for PACT, but it's still in the exploration stages.
16:49 whiteknight keep a list together in your head or somewhere else in case it's ready for more help around midterm
16:50 benabik There's a TODO.mkd in the repo for a reason.  :-D
16:51 whiteknight okay, we'll mine that for tasks when we're ready
16:53 whiteknight if alester weren't doing such an awesome job with automating the migration, I would suggest that we could use ticket copying as a task
16:53 whiteknight "move 10 tickets from trac to github, keeping necessary references and metadata, etc"
16:56 dukeleto whiteknight: meh, it would be useful for us, but i don't think students would get much out of it
16:56 dukeleto whiteknight: i think students will enjoy working on various parrot languages and libraries
16:56 dukeleto whiteknight: i have been putting a "gci" label on github issues that I think would be good for gci students
16:58 dukeleto wow, lots of good stuff happening in PACT
17:01 Coke dukeleto: sent.
17:03 bluescreen joined #parrot
17:09 whiteknight dukeleto: yes, last night was a very fun night of PACT hacking
17:20 dalek nqp/nfa: 6395eaf | jnthn++ | tools/build/Makefile.in:
17:20 dalek nqp/nfa: Don't build nqpq by default for now.
17:20 dalek nqp/nfa: review: https://github.com/perl6/nqp/commit/6395eaf854
17:20 dalek nqp/nfa: 1a0cd9f | jnthn++ | t/nqp/50-regex.t:
17:20 dalek nqp/nfa: Revert changes to a test so it works with nqp, rather than nqpq.
17:20 dalek nqp/nfa: review: https://github.com/perl6/nqp/commit/1a0cd9fef0
17:22 mj41 joined #parrot
17:23 dukeleto Coke: replied
17:29 dalek nqp: 46e0f9e | jnthn++ | src/QRegex/Cursor.nqp:
17:29 dalek nqp: Fix an LTM tie-breaking bug; diakopter++ for spotting.
17:29 dalek nqp: review: https://github.com/perl6/nqp/commit/46e0f9e4ea
17:29 dalek nqp: cecd970 | diakopter++ | src/QAST/ (2 files):
17:29 dalek nqp: move node() from QAST::Regex to QAST::Node; add $!node to QAST::Node
17:29 dalek nqp: review: https://github.com/perl6/nqp/commit/cecd970ad0
17:29 dalek nqp: abf900a | diakopter++ | src/QRegex/Cursor.nqp:
17:29 dalek nqp: Merge branch 'nfa' of github.com:perl6/nqp into nfa
17:29 dalek nqp: review: https://github.com/perl6/nqp/commit/abf900aa74
17:29 dalek nqp: ad45f01 | jnthn++ | src/QRegex/NFA.nqp:
17:29 dalek nqp: Twiddle NFA subrule merge logic to avoid needing to boolify.
17:29 dalek nqp: review: https://github.com/perl6/nqp/commit/ad45f0152c
17:29 dalek nqp: 0bbd9c1 | jnthn++ | src/QRegex/NFA.nqp:
17:29 dalek nqp: Handle empty concat nodes in NFA builder; fixes tests we regressed in the protoregexes branch.
17:29 dalek nqp: review: https://github.com/perl6/nqp/commit/0bbd9c1d47
17:29 dalek nqp: 2668e04 | jnthn++ | src/QRegex/P6Regex/Actions.nqp:
17:29 dalek nqp: Ensure that <sym> captures.
17:29 dalek nqp: review: https://github.com/perl6/nqp/commit/2668e046c0
17:29 dalek nqp: 6395eaf | jnthn++ | tools/build/Makefile.in:
17:29 dalek nqp: Don't build nqpq by default for now.
17:29 dalek nqp: review: https://github.com/perl6/nqp/commit/6395eaf854
17:29 dalek nqp: 1a0cd9f | jnthn++ | t/nqp/50-regex.t:
17:29 dalek nqp: Revert changes to a test so it works with nqp, rather than nqpq.
17:29 dalek nqp: review: https://github.com/perl6/nqp/commit/1a0cd9fef0
17:29 dalek nqp: f97207c | jnthn++ | / (11 files):
17:29 dalek nqp: Merge branch 'nfa'
17:29 dalek nqp: review: https://github.com/perl6/nqp/commit/f97207ce3c
17:30 whiteknight nqpq?
17:30 whiteknight Not quite perl, quite
17:31 whiteknight hmm, my favorite: not-quite-perl quiche
17:33 dalek rakudo/nom: 88f6945 | jnthn++ | src/Perl6/Grammar.pm:
17:33 dalek rakudo/nom: Parse current protoregex syntax; keep older deprecated ones for now, though we'll put a warning in the next * release about them.
17:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/88f6945e43
17:33 dalek rakudo/nom: 829f9d3 | jnthn++ | src/Perl6/Actions.pm:
17:33 dalek rakudo/nom: Update actions so we can, in theory, handle protoregexes, though the NFA construction explodes for some reason.
17:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/829f9d3d10
17:33 dalek rakudo/nom: a8b2873 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
17:33 dalek rakudo/nom: Add nqpattr cheat used for now by protoregexes implementation, so the NFA builder can get at NFAs for subrules. And with this, we seem to have workingish protoregexes - to the limit of the NFA engine (which still means more powerful than the literal only we had before).
17:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a8b2873499
17:33 dalek rakudo/nom: e41953a | jnthn++ | src/Perl6/Grammar.pm:
17:33 dalek rakudo/nom: Ensure that regex compiler sees the name of the regex. Fixes use of <sym> in protoregexes, and protoregex.t now passes all but one test (which seems to be unrelated to protoregexes themselves).
17:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e41953a3b5
17:33 dalek rakudo/nom: 1f3e863 | jnthn++ | tools/build/NQP_REVISION:
17:33 dalek rakudo/nom: Bump to NQP revision with protoregex support.
17:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1f3e863339
17:41 dalek rakudo/nom: 0fa6613 | jnthn++ | t/spectest.data:
17:41 dalek rakudo/nom: Turn on protoregex.t.
17:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0fa6613057
17:41 dalek rakudo/nom: de79bac | jnthn++ | docs/ChangeLog:
17:41 dalek rakudo/nom: ChangeLog entry for protoregexes.
17:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/de79bac371
17:41 dalek nqp: e8e4511 | jnthn++ | src/QRegex/ (2 files):
17:41 dalek nqp: Don't emit debug data when doing protoregexes.
17:41 dalek nqp: review: https://github.com/perl6/nqp/commit/e8e45119d2
17:44 cotto ~~
17:46 whiteknight hello cotto
17:52 dalek nqp: d2b7838 | jnthn++ | tools/build/PARROT_REVISION:
17:52 dalek nqp: Bump to Parrot 3.10 release.
17:52 dalek nqp: review: https://github.com/perl6/nqp/commit/d2b7838ce8
17:53 dalek rakudo/nom: f50f538 | jnthn++ | tools/build/NQP_REVISION:
17:53 dalek rakudo/nom: Bump to NQP revision which targets the relesae Parrot.
17:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f50f53886f
17:57 dalek rakudo/nom: 9bc820b | jnthn++ | docs/ChangeLog:
17:57 dalek rakudo/nom: Case consistency fix in ChangeLog.
17:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9bc820beb0
17:57 dalek rakudo/nom: 98d8d9e | jnthn++ | docs/announce/2011.11:
17:57 dalek rakudo/nom: Start to sketch out the 2011.11 announce.
17:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/98d8d9e710
18:02 cognominal joined #parrot
18:05 lucian joined #parrot
18:11 fperrad joined #parrot
18:41 dalek rakudo/nom: 813c6ae | (Solomon Foster)++ | src/core/ (2 files):
18:41 dalek rakudo/nom: Bring uniq over from b.
18:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/813c6ae2af
18:42 dalek rakudo/nom: aa25165 | (Solomon Foster)++ | t/spectest.data:
18:42 dalek rakudo/nom: Turn uniq.t back on.
18:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/aa2516554c
18:43 lucian joined #parrot
18:43 dalek nqp: 4ec1bdf | jnthn++ | / (3 files):
18:43 dalek nqp: Boolification support for bigints.
18:43 dalek nqp: review: https://github.com/perl6/nqp/commit/4ec1bdf93a
18:44 dalek rakudo/nom: 21fcfa3 | jnthn++ | / (2 files):
18:44 dalek rakudo/nom: Switch Int to use bigint boolification, to fix bug found my moritz++.
18:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/21fcfa3c3f
18:47 dalek rakudo/nom: adb4caa | jnthn++ | docs/ChangeLog:
18:47 dalek rakudo/nom: Note uniq() in ChangeLog (colomon++).
18:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/adb4caa1e5
18:59 Coke dukeleto++
18:59 RobertLJ joined #parrot
19:11 dalek rakudo/nom: c294ae6 | (Solomon Foster)++ | src/core/IO.pm:
19:11 dalek rakudo/nom: Add IO.copy.
19:11 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c294ae6bf7
19:12 cotto dukeleto++
19:14 dalek Rosella: c8b788d | Whiteknight++ | src/ (5 files):
19:14 dalek Rosella: Merge branch 'master' into event_4
19:14 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/c8b788dfbe
19:14 dalek Rosella: 0f09670 | Whiteknight++ | / (11 files):
19:14 dalek Rosella: autogenerate tests for new event library. Fill most of them in, with stubs at least
19:14 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/0f0967025b
19:14 dalek Rosella: 2b412ae | Whiteknight++ | src/event/Event.winxed:
19:14 dalek Rosella: events can return results. We keep a named collection of results, since each subscriber may want to set a unique one
19:14 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/2b412ae33f
19:14 dalek Rosella: 64be952 | Whiteknight++ | / (2 files):
19:14 dalek Rosella: Flesh out result mechanism for Events. Add tests for new methods
19:14 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/64be9526b4
19:49 dalek Rosella: 3930fb8 | Whiteknight++ | / (5 files):
19:49 dalek Rosella: Break out a new Payload type from Event. This is necessary to decouple the dispatch logic from the actual data being moved around. This prevents data weirdness if callbacks dispatched on different tasks/threads try to return result payloads out of bounds
19:49 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/3930fb8ea9
19:50 dngor O.o
20:07 dalek Rosella/gh-pages: c2c4251 | Whiteknight++ | libraries/event.md:
20:07 dalek Rosella/gh-pages: Quick update of Event docs
20:07 dalek Rosella/gh-pages: review: https://github.com/Whiteknig​ht/Rosella/commit/c2c42512d6
20:20 bacek joined #parrot
20:23 dalek nqp: 89ecefb | jnthn++ | src/QRegex/NFA.nqp:
20:23 dalek nqp: Apply patch from diakopter++ that adds support for ?, + and * quantifiers to LTM.
20:23 dalek nqp: review: https://github.com/perl6/nqp/commit/89ecefb345
20:29 RobertLJ1 joined #parrot
20:31 dalek nqp: 1db768d | jnthn++ | src/QRegex/NFA.nqp:
20:31 dalek nqp: Add missing handling in NFA engine of CODEPOINT_NEG and CHARLIST_NEG.
20:31 dalek nqp: review: https://github.com/perl6/nqp/commit/1db768d1b9
20:38 snearch joined #parrot
20:41 dalek nqp: 131f8e7 | jnthn++ | src/QRegex/NFA.nqp:
20:41 dalek nqp: Handle CHARCLASS and CHARCLASS_NEG case in NFA engine, so things like \d and \W work with LTM.
20:41 dalek nqp: review: https://github.com/perl6/nqp/commit/131f8e791b
20:43 dalek rakudo/nom: 6178be7 | jnthn++ | tools/build/NQP_REVISION:
20:43 dalek rakudo/nom: Bump to NQP revision with latest NFA bits.
20:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6178be7082
21:00 dalek rakudo/nom: d0f6d27 | jnthn++ | docs/ (2 files):
21:00 dalek rakudo/nom: Update release guide and announce with choice of London.pm.
21:00 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d0f6d27946
21:07 dalek rakudo/nom: 5390ac6 | jnthn++ | docs/ChangeLog:
21:07 dalek rakudo/nom: Note copy in the ChangeLog.
21:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5390ac6ec2
21:10 dalek rakudo/nom: b9526c6 | jnthn++ | tools/build/NQP_REVISION:
21:10 dalek rakudo/nom: Set NQP_REVISION to 2011.11.
21:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b9526c650d
21:40 Coke mls: any relatives in Southeastern CT?
21:43 dalek rakudo/nom: 617fef9 | tadzik++ | docs/ (2 files):
21:43 dalek rakudo/nom: Add a new release announcement, update release_guide
21:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/617fef96eb
21:45 dalek rakudo/nom: 90347c1 | tadzik++ | VERSION:
21:45 dalek rakudo/nom: [release] bump VERSION
21:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/90347c1816
21:46 benabik I'm not sure --debugging=0 actually turns off debugging.
21:53 benabik Actually, I'm not sure the debugging option does _anything_.  I see it getting stored in the various configure bits, but never used.
21:54 benabik Any GC wizards want to help figure out a assertion failure in Rakudo I hit? https://gist.github.com/1374579
21:59 Coke alester: thought you might care to know that one of our test users is named "Bobby Tables"
22:00 alester hehe
22:00 alester Good!
22:02 dukeleto ~~
22:02 dukeleto ooh, a new Rakudo release
22:03 dukeleto benabik: is rakudo using gms instead of gms2 by default?
22:03 Coke you seem surprised. ;)
22:03 dukeleto benabik: dead object found usually means a gc bug :(
22:03 benabik dukeleto: I'm not aware of passing any GC opts anywhere.
22:04 benabik dukeleto: It's gms or ms2.  And it seems to use gms, which is the newer one I thought.
22:04 tadzik it uses gms
22:14 lucian joined #parrot
22:21 dalek rakudo/nom: ecc46f4 | tadzik++ | src/core/IO.pm:
22:21 dalek rakudo/nom: Copy non-specced IO.chmod from b
22:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ecc46f4bbb
22:31 rfw joined #parrot
22:38 dukeleto benabik: huh. i thought there was a gms2, but i could be crazy
22:49 cotto we had ms and ms2
22:49 cotto and gms
23:04 lucian let's have what azul have! :)
23:13 bacek_at_work ~~
23:15 tadzik hello bacek_at_work
23:15 bacek_at_work aloha, tadzik
23:15 benabik aloha: tadzik?
23:15 aloha benabik: tadzik is a 1221 byte file
23:15 benabik Curious.
23:15 bacek_at_work aloha, good girl :)
23:16 tadzik ...oh my
23:17 tadzik where did she get _that_ from? :)
23:17 bacek_at_work "tribal knowledge" :)
23:18 cotto tadzik: bots never lie.
23:18 tadzik I'm sure she's sure she's correct
23:19 benabik (Because I was curious, too: http://irclog.perlgeek.de/p​arrot/2011-01-05#i_3153008 )
23:21 tadzik wtf
23:23 tadzik oh, I see :)
23:25 tadzik g'night #parrot
23:25 cotto 'night tadzik
23:27 lucian joined #parrot
23:38 whiteknight joined #parrot
23:40 benabik Can someone with the appropriate permissions point http://www.parrot.org/release/developer at ftp://ftp.parrot.org/pub/pa​rrot/releases/devel/3.10.0/ like it should?
23:41 benabik Oh.  I have the permissions to do so.
23:42 benabik Looks like release/current was updated but not release/developer, which is used on /downloads
23:42 whiteknight bleh. I missed a step
23:42 whiteknight also, hate drupal
23:42 cotto It's just the way we misuse it.
23:55 benabik_ joined #parrot
23:56 whiteknight cotto: I think I want to put together a dynpmc mechanism for watching directories and getting file change notifications. Any preference where such a thing goes?
23:57 whiteknight I'm inclined to put it in the repo in src/dynpmc, but I could start a new project for it

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

Parrot | source cross referenced