Topic for #parrot is: Parrot 3.3.0 released | parrot.org | Log: irclog.perlgeek.de/parrot/today
Set by moderator on 20 April 2011.
00:01 nopaste left
cotto ~~ 00:04
00:06 nopaste joined
dalek p/ctmo: ca91987 | jonathan++ | src/pmc/sixmodelobject.pmc:
Make invoke Parrot vtable overridable.
00:10
p/ctmo: 2417dc5 | jonathan++ | src/Regex/Match.pir:
Fix a symbol installation thinko.
p/ctmo: f6fb264 | jonathan++ | src/ (3 files):
Regex::Method and Regex::Regex become 6model classes. This leaves us only use P6object for PAST/POST.
p/ctmo: 3d5e96b | jonathan++ | / (4 files):
Move PAST extensions - the only things that don't use 6model and don't live in the NQP HLL - to a separate PBC. Helps avoid running into issues as a result of them not being capable of behaving wrt separate compilation.
p/ctmo: 1ede5c0 | jonathan++ | / (9 files):
Update bootstrap with PAST additions broken out.
whiteknight soh_cah_toa: my uncle was the "business partner" of the "prince of Nigeria" for several years 00:14
now he lives in my grandparents' basement and his ex-wife doesn't speak to him anymore 00:15
so not only are there still people like that, but I see one on most holidays
soh_cah_toa i suppose it's the older generations that aren't quite technology-educated. younger generations have the benfit of "intro to tech" classes in middle school 00:18
regardless, i thought it was common sense: don't trust strangers 00:21
TiMBuS i have all this money but also, no money to pay the transfer fee, for all this money. 00:23
soh_cah_toa i know, right?
00:24 woosley joined
TiMBuS well its because i sealed it in the briefcase so very tight but i forgot the $1000 stamp i gotta put on it. and if i open it, all the $100 bills will fly everywhere 00:25
its hard being a prince :[
soh_cah_toa you know it's hard out here for a prince, when he tryin' to get his money for the wire transfer...ince 00:27
i'm embarassed that i know those lyrics 00:31
whiteknight from what I hear on NPR, even the nigerian royalty don't seem to have that much cash floating around
soh_cah_toa well, how much cash did the "nigerian prince" have? i mean, "have". 00:33
whiteknight I really should archive some of the spam emails we get. They are hilarious 00:34
00:34 kid51 joined
whiteknight I can't tell whether these people really have such a tenuous grasp of written english, or if they are just playing stupid to get around the spam filters 00:35
soh_cah_toa that last one was pretty ridiculous. i can't get over the "organ of hearing". oh, how they try...
rohit_nsit08 ?? hi , what is going on? strange stories? 00:36
soh_cah_toa rohit_nsit08: spam
rohit_nsit08 on irc?
soh_cah_toa rohit_nsit08: the dev mailing list 00:37
rohit_nsit08: whiteknight was showing a pretty ridiculous example
kid51 whiteknight: Your complaint about line directives: does that mean you should reopen trac.parrot.org/parrot/ticket/1948?
rohit_nsit08 didn't checked it since evening :-)
cotto rohit_nsit08, whiteknight and others kindly filter it out. 00:38
whiteknight kid51: github.com/parrot/parrot/commit/32...87fa93f934
kid51: I couldn't make it stop, so I deleted them in pmc2c
probably not the "real" solution, but it helped me solve my problems today
personally, I don't see any value in having those line directives at all
but maybe somebody else has an opinion on it
cotto: I was working on Parrot-Instrument. I disabled instrumentgc, because it was causing weird GC problems that I couldn't diagnose 00:39
cotto: we're still failing tests, but failing slightly fewer of them in slightly different ways
or, as we say around here, "progress" 00:40
cotto whiteknight, ok. That rounds to good news.
whiteknight++
looks like time to backscroll 00:41
seems like a busy day
soh_cah_toa speaking of testing, i need some help. i submitted a patch that removed the cwd from the library search path. i think it was cotto who said that it needed a test. how do i test this? 00:42
i mean, why test for something that it's not doing?
there are an infinite number of things that code doesn't do. by that same logic, shouldn't i be testing for those?
00:43 bacek left
cotto soh_cah_toa, git can't handle infinite files 00:43
soh_cah_toa well git should have a test for that 00:44
cotto I'm on the fence about whether a test is needed for that patch.
kid51 soh_cah_toa: Does your patch move cwd to the end of the search path -- or does it remove it from the search path altogether?
soh_cah_toa to make sure there AREN'T infinite files
whiteknight it's good practice to make the test anyway
cotto kid51, remove
soh_cah_toa kid51: removes it
i'm just trying to get a better grasp on this unit testing stuff 00:45
kid51 Okay, then presumably placing a library in cwd (for testing purposes), then demonstrating that the library cannot be found, would constitute proof -- would it not?
cotto kid51, that'd be sufficient proof 00:46
soh_cah_toa right
whiteknight I'm not sure why that behavior is not desirable
soh_cah_toa but would that test be just for the patch or is it one that would be run like the others when parrot it built?
kid51 whiteknight: Discussion in TT #1589 leaned toward removing altogether
soh_cah_toa *is 00:47
kid51 soh_cah_toa: it would be run as part of 'make test': perhaps: the t/library tests
soh_cah_toa ok
kid51 That way, if anyone subsequently changed the behavior, a test failure would immediately call attention to that change
00:48 BloodyCoin joined
soh_cah_toa hmm... 00:48
alright
kid51 I don't know the ins and outs of doing this in PIR, but we do things like that in Perl 5 as part of t/configure/*.t
cotto Testing for a behavior also indicates that we think it's explicitly desirable, rather than an unintended side-effect or oversight. 00:49
kid51 Agreed
cotto There are likely many of both remaining in Parrot.
soh_cah_toa cotto: now that makes sense to me 00:50
00:50 rohit_nsit08 left
kid51 So the flow of the test would be: Create something that parrot will think is a library. Create a temporary directory; chdir thereto. Copy library to that tempdir. Run something that shows the library is not found, perhaps capturing error output. Switch back to your top-level dir; remove tempdir. 00:51
soh_cah_toa alright, i'd use the Parrot::Configure module? 00:52
cotto When you find something surprising, the things to look for are an explanatory comment, a test and documentation, in that order.
00:52 S_Arms left
cotto soh_cah_toa, you could do all that in PIR or nqp. 00:52
kid51 soh_cah_toa: Probably not, at least not directly. P::Configure is geared toward running C programs which probe the system for libraries. 00:53
cotto depends on what you're more comfortable with.
soh_cah_toa kid51: oh, you were just using the t/configure directory as an example
kid51 Yes.
soh_cah_toa cotto: aren't they supposed to be perl 5?
kid51 soh_cah_toa: In principle, things which come into existence once the Parrot executable exists ought to be tested via PIR or NQP. 00:54
cotto soh_cah_toa, both are acceptable 00:55
PIR or nqp is preferred
er, all three are acceptable
kid51 Granted, there still are many tests in that area written in Perl 5, but we'd like those to be rewritten in Parrot's languages.
soh_cah_toa loading a library would be easiest in pir and nqp anyway
kid51 Things that exist *prior* to the creation of Parrot executable are tested with Perl 5.
soh_cah_toa i see, that's good to know 00:56
kid51 So you probably want to get familiar with PIR's Test::More for that.
soh_cah_toa yeah, i think i may use that for gsoc
kid51 No "thinking" about it, babe! Whatever you do for GSOC has to be thoroughly tested. 00:57
See whiteknight's blog post about that!
soh_cah_toa well, i know that
"i think" is lazy for "i am". bad habit 00:58
for a while, i was deciding between perl Test::More of pir Test::More 00:59
*or
by "i think", i meant pir is what i decided
instead of "i think i'll test my code"
kid51 Look at it this way: If you learn to write tests in either PIR or NQP, the number of people in the world who demonstrably know how to write code in those languages goes ++ 01:00
01:00 S_Arms joined
kid51 goes back to learning C++ 01:00
cotto Don't do it! It can only end in tears. 01:01
or possibly dollar signs
dalek rrot-instrument: 4fbacba | Whiteknight++ | src/dynpmc/instrument.pmc:
disable instrumentgc for now. it's causing problems that I do not understand
rrot-instrument: b97bdf7 | Whiteknight++ | src/dynpmc/instrument.pmc:
invoke IMCC the correct way
rrot-instrument: 8f56c61 | Whiteknight++ | src/dynpmc/instrument.pmc:
really really call IMCC the right way now. Parrot_pf_execute_bytecode_program takes a PMC, not a raw PackFile*. We now get into an infinite loop in at least some tests
soh_cah_toa well, what made me choose pir's Test::More is b/c languages like pir, nqp, winxed, etc. are all tightly knit together in a nice little community. it'd be pretty stupid to make my project half-parrot half-something-else 01:02
they all work well together 01:03
01:04 BloodyCoin left
soh_cah_toa anyway, back to the test. here's what i'm thinking... 01:06
do something like "$P0 = loadlib './foo' " then make sure the value of $P0 is equal to the right error message 01:07
cotto you should try to load it without specifying where it is 01:09
01:10 jrtayloriv left
cotto The point of the test is to make sure that the cwd isn't searched by default 01:10
soh_cah_toa hmmm...alright. let me try again...
whiteknight okay, the infinite loop in Parrot-Instrument that I am looking at now is caused because two separate PackFile* structs are returning the same :main Sub 01:11
kid51 or: Nothwithstanding the fact that I, the tester, have placed the library in my cwd, Parrot cannot locate it or load it, which is a good thing.
whiteknight so when I try to call the :main sub of the second packfile, it calls the currently executing program
soh_cah_toa make a test library in cwd. try to load it. when it doesn't load. success through failure 01:12
kid51 Yes
soh_cah_toa what does loadlib return on error? null?
kid51 That I don't know. When you find out, you'll know more about it than I. 01:13
soh_cah_toa yeah, i suppose i can just do a 'say $P0' after the fact 01:14
cotto soh_cah_toa, src/ops/core.ops 01:18
soh_cah_toa how would i make a test library in the cwd programmatically in pir?
or should i make it beforehand 01:19
is it okay to have that fake library in the test directory?
whiteknight msg plobsing I could use a hand with parrot-instrument if you have a minute. t/instrumentop.t, among others. Infinite loop because multiple PackFile* are returning the same :main sub for the current program. Trying to load+exec a new packfile causes the loop. Any ideas? 01:21
aloha OK. I'll deliver the message.
kid51 soh_cah_toa: As a first pass, you can have the library in the top-level directory. 01:22
But, ideally, you should figure out how to create a tempdir and conduct the test there.
whiteknight have the test try to loadlib itself
soh_cah_toa yeah i can make a tempdir
kid51 That way, once your code is in master, any failure of the test does not pollute the top-level dir.
whiteknight it's own name should be in the parameter list
soh_cah_toa whiteknight: good idea
whiteknight it is in it's own current directory 01:23
soh_cah_toa recursive logic...does not compute
alright, i think i finally got a handle on this
kid51: what i meant was creating a file to load in that tempdir. i didn't see any touch-like commands in osutils. it doesn't matter. i think i'm gonna take whiteknight's approach 01:24
i'm so excited that i'm understanding the concept now (so far). for a while there, there was something about unit testing that just wasn't computing in my head 01:27
whiteknight yeah, really understanding unit testing is a great moment 01:28
it's not something you learn about in school, but it can be amazingly valuable
soh_cah_toa don't get me started. i'm still mad about that
if it's this important, i really should be taught. i'm embarrased that i have to learn this now 01:29
it*
blah. oh well. 01:30
anyway, i got this great book today "test driven development." it's really great
whiteknight soh_cah_toa: when I graduated, I didn't know anything about: version control, unit testing, coding methodologies, anything related to "best practices", etc 01:31
I could write bubble sort in Java like a mamma-jamma
soh_cah_toa i know! 01:32
whiteknight I was the king of bubble sort in Java
01:32 jrtayloriv joined
soh_cah_toa like that's something to show off to an employer!? 01:32
whiteknight I was hoping I could find a job opening for "Bubble Sort Engineer", maybe at microsoft or somewhere
soh_cah_toa the furthest they we go into development methodologies is the waterfall model. "here is the waterfall. this is what you'll use someday. but not now. moving on..." 01:33
*that 01:34
an apparantly, most developers frown upon the waterfall model
whiteknight because the most you can do with a waterfall is to fall off it, and get wet 01:36
also, "the world does not work that way"
bubaflub pretty much designed to always be behind schedule
soh_cah_toa i understand that some things can only be learned through experience but still... 01:37
and on that note, i need to start writing some code myself. less complaing, more doing. let's start that test... 01:39
whiteknight (more doing)++ 01:40
kid51 whiteknight: "when I graduated, I didn't know anything about: version control, unit testing, coding methodologies, anything related to "best practices", etc" -- Andy has a talk/slideshow/rant about precisely that 01:41
petdance, that is, not doughera
Speaking of which, where has Andy D been lately? (not on parrot-dev)
whiteknight kid51: I don't typically talk about it on my blog, because I would write far too much on the topic 01:42
kid51 I loved your GSOC submissions rant
whiteknight thanks!
kid51 It's always great to hear someone other than petdance or me rant about testing.
whiteknight I showed off Parrot's test suite at work, as an example to my coworkers about "the way it should be" 01:43
you know how many unit tests we have for our system at work? A big fat 0
and not writing unit tests severely cramps my style
bubaflub whiteknight: ouch
kid51 whiteknight: I am all too familiar with $jobs like that 01:44
whiteknight bubaflub: worse than that, we are expected to "test" the application frequently, but randomly and without any particular goals or methodologies in mind
but if I write unit tests, nobody but me will run them, and they quickly stop passing
bubaflub whiteknight: bah
whiteknight: that's rough 01:45
whiteknight: where i'm at the main development has full tests + continuous integration; the legacy products have some tests
whiteknight bubaflub: I'm jealous 01:46
bubaflub whiteknight: but yeah, i've been at places where there are no tests and we were just expected to fix things
01:54 bacek joined
whiteknight Whiteknight's rule of programming #37: If you aren't using unit tests in at least some capacity, you *are wasting your time* 01:55
02:02 bacek left 02:17 bacek joined 02:23 ShaneC joined 02:38 kid51_ joined 02:42 kid51 left
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#15383) fulltest) at 3_3_0-32-g8906192 02:44
Ubuntu 11.04 beta amd64 (g++)
02:53 whiteknight left 03:23 bubaflub left 03:32 kid51_ left 03:55 mikehh left 04:03 cogno joined 04:19 cogno left 04:25 woosley left 04:38 ShaneC left
dalek rrot: 2c6ed8c | petdance++ | lib/Parrot/Vtable.pm:
Allow ARGxxx() annotations on vtable methods
04:57
05:01 hudnix left 05:17 bacek left 05:27 bacek joined 06:00 ShaneC joined 06:10 ShaneC left 06:13 ShaneC joined 06:22 theory left 06:43 JimmyZ joined 07:08 bacek left 07:11 JimmyZ left 07:18 SHODAN joined 07:21 birdwindupbird joined, woosley joined 07:24 bacek joined 07:51 bacek left 07:54 cogno joined 08:02 bacek joined 08:06 cogno left 08:13 bacek left 08:14 cogno joined 08:15 dukeleto left, dukeleto joined, Infinoid left 08:16 Infinoid joined 08:24 cogno left 08:48 alin joined
dalek p/ctmo: a2e9414 | moritz++ | build/Makefile.in:
[build] more blank -> tabs fixes
08:51
08:58 alin left 09:20 mj41 joined 09:35 lucian joined, alin joined, alin left 09:49 lucian_ joined 09:53 lucian left 10:05 lucian joined 10:06 lucian_ left 10:07 lucian_ joined 10:10 nopaste left 10:11 lucian left 10:14 lucian joined 10:15 lucian_ left 10:16 nopaste joined 10:23 lucian_ joined 10:26 lucian__ joined 10:28 lucian left 10:30 lucian_ left 10:44 lucian__ left 10:49 alin joined 11:05 whiteknight joined 11:07 lucian joined 11:09 lucian_ joined
whiteknight good morning, #parrot 11:12
11:13 lucian left
tadzik good morning whiteknight 11:15
11:15 alin_ joined 11:16 alin_ left 11:17 alin left 11:37 contingencyplan left 11:38 alin joined, alin left, alin joined 11:52 mikehh joined 11:56 Psyche^ joined 11:57 Patterner left, Psyche^ is now known as Patterner 12:24 hudnix joined 12:36 alin left, alin joined 12:51 mj41 left 12:55 GeJ_ joined 12:56 GeJ left 13:01 jrt4 joined 13:04 jrtayloriv left 13:09 jrt4__ joined 13:12 bacek joined, jrt4 left 13:16 jrt4 joined 13:18 lucian joined 13:20 jrt4__ left 13:21 lucian_ left 13:24 jrt4__ joined 13:27 jrt4 left 13:34 whiteknight left
benabik ~~ 14:06
14:07 lucian left 14:16 bacek left, ambs joined 14:46 alin_ joined, alin left, alin_ is now known as alin
dalek rrot: feabd77 | cotto++ | src/ops/core_ops.c:
rebootstrap ops
15:14
15:16 ambs left 15:17 ambs joined 15:23 mj41 joined 15:24 birdwindupbird left 15:27 ambs_ joined, ambs left, ambs_ is now known as ambs 15:43 alin left 15:49 jrt4__ left 15:50 jrtayloriv joined 16:07 theory joined 16:13 woosley left 16:28 mj41 left 16:40 rohit_nsit08 joined
rohit_nsit08 hello #parrot 16:40
benabik Hello rohit_nsit08 16:41
plobsing o/ 16:43
16:56 petdance joined 17:41 ShaneC left
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#15426) fulltest) at 3_3_0-34-gfeabd77 17:59
Ubuntu 11.04 beta i386 (gcc --optimize)
18:07 ShaneC joined 18:15 plobsing left 18:28 alin joined 18:36 petdance left, alin left 18:39 rohitnsit08 joined, alin joined, rohit_nsit08 left 18:46 alin left 18:58 alin joined 19:05 alin_ joined 19:06 alin left, alin_ is now known as alin, particle1 joined 19:08 contingencyplan joined 19:10 particle left, alin left 20:30 mj41 joined 20:48 x3nU left 20:57 rohitnsit08 left 20:59 SHODAN left 21:08 petdance joined 21:20 petdance left 21:21 petdance joined 21:27 petdance left
dalek p/ctmo: 633ca59 | jonathan++ | src/Regex/ (4 files):
Avoid relying on absolutely global state for storing $?CLASS in Regex.pbc, otherwise separate compilation is impossible. Also makes it work just like the generated code.
21:38
p/ctmo: 864b681 | jonathan++ | src/HLL/Grammar.pm:
HLL::Grammar kinda breaks encapsulation of Regex::Cursor; do it in a way that won't cause so many issues.
p/ctmo: 086ff02 | jonathan++ | src/ (2 files):
Fix a GC marking bug and add a missing write barrier.
21:44 ShaneC left, ambs left 21:47 mj41 left 22:06 bacek joined
dalek p/ctmo: 7f5c477 | jonathan++ | src/ops/nqp.ops:
A few more missing write barriers.
22:08
22:18 whiteknight joined
dalek p/ctmo: 56d057a | jonathan++ | src/ (2 files):
Another write barrier; fix a leak.
22:22
p/ctmo: 956db58 | jonathan++ | src/6model/knowhow_bootstrapper.c:
Couple more write-barriers.
whiteknight Good afternoon, #parrot 22:36
benabik 'lo, whiteknight 22:37
jnthn__ Supposing a PMC a holds a reference to PMC b. a and b are both unreachable, so end up in the sweep list. Is there any promise that b will be destroyed before a? 22:50
er, sorry, toher way around
a before b
Or more generally, is the sweep list ordered in any particular way? 22:51
whiteknight no, we make no ordering promises whatsoever
jnthn__ OK.
This...explains the assumption that is causing the segfault I'm currently hitting.
Thanks.
whiteknight we don't provided ordered destruction, and have no concrete plans to do so
jnthn__ *nod*
Yeah, I'm not sure I should have any reasonable expectation of it. 22:52
whiteknight it's something that's been on our wish list but....it's like seriously hard
jnthn__ Yes. Then you get a pointing to b and b pointing to a and then it's impossible to order a circle. :)
benabik ORdered destruction is very rarely provided by GCs
jnthn__ I'd not intented to assume ordered destruction really. 22:53
I just accidentally relied on it.
And it took quite a while to get bitten.
(Long story short, a points to b, and b has information relevant to freeing the memory associated with a.) 22:54
With a little brane application, I can re-work it. I'd been a bit bothered by the current representation factoring in other ways anyway. 22:57
whiteknight Parrot actually relies on ordered destruction in certain places. The scheduler has been notorious for it 23:02
every now and again we get a bug cropping up related to that 23:03
jnthn__ This one is kinda tricky to figure out exactly how to resolve, but I'll come up with something. For now I'll just work around it and leak the odd type object. 23:04
Well, I know *an* answer, but it's not ideal in different ways. 23:05
23:05 bubaflub joined
whiteknight why would the type object leak? is it still being referenced from somewhere? 23:06
if it's still referenced, you don't want to destroy it. If not, it will eventually be collected itself 23:07
jnthn__ whiteknight: See my comment starting Long story short
whiteknight okay, I think I can understand that
jnthn__ whiteknight: To expand a bit, an object references two things. One is its meta-object, which is no problem. The other is its representation.
whiteknight you can't cache all the information relevant to A in A itself?
jnthn__ The representation is concerned with allocation approach and so forth. 23:08
Yes, that's the easy solution.
However, it bulks up every single allocation.
s/allocation/object/
whiteknight ok
jnthn__ There's probably a middle way between the two that doesn't depend on ordering, but keeps the information mostly or entirely out of each allocation. 23:09
whiteknight so when A is destroyed, push any un-freed memory on a to-do stack somewhere and free it later
jnthn__ No, it's not quite that simple. A is the type object. It points to a representation. The representation is the object that knows how A is allocated and freed.
If it goes away first, then we don't actually have the information on how to free A. 23:10
whiteknight when does the representation get freed? only on global destruction?
jnthn__ If nothing is using it, it's elligible for collection.
whiteknight ok
so it should still be alive longer than all objects of that type, except during global destruction? 23:11
jnthn__ It could happen well before global destruction.
Imagine making an anonymous type, then it becoming unreachable.
At that point, we'd like to free everything associated with it. 23:12
whiteknight ok
jnthn__ Anyway, just to be clear - nothing Parrot's doing here is wrong. It's an implementation flaw in the stuff I'm doing. 23:13
dalek p/ctmo: 85011da | jonathan++ | src/6model/reprs/ (6 files):
Write barriering in reprs, plus a re-ordering just in case that triggers an issue.
23:15
p/ctmo: d777f9e | jonathan++ | src/pmc/sixmodelobject.pmc:
Fix a segfault related to freeing of anonymous types. Note that we need a real fix for this issue, but it's relatively low impact for the time being.
jnthn__ On the upside, it made me scour the code for missing write barriers... :)
I'm not 100% certain all the ones I added are needed, but they all seemed reasonable.
whiteknight bacek assures me that extra write barriers are cheap 23:19
jnthn__: I would really like to start seriously planning, if not doing the actual work, to get 6model integrated into parrot this summer 23:20
that's a high priority for me
bacek ~~ 23:21
Good morning, humans.
whiteknight so whenever you think it a good time to start that work, let me know
hello bacek
bacek whiteknight, aloha
whiteknight, extra write barrier is just one check of pmc->flags. 23:22
quite cheap :)
jnthn__ OK, then I won't worry :) 23:23
whiteknight: OK. I'd like to get the current enormous NQP refactor dealt with first.
whiteknight: I'm also working on 6model docs at the moment. 23:24
The hardest part might well be "how do we get PMCs to be real objects" 23:26
whiteknight jnthn__: that's already the hardest part of everything we do 23:30
jnthn__: we have so much code, including some of the worst code in the entire project, devoted to working around PMCProxies and that mess 23:31
if we can unify and stop being stupid, lots of stuff can be improved 23:32
huge swaths of code in src/oo.c, lots of logic from src/pmc/namespace.pmc, probably a large portion of the two-stage global initialization, etc 23:33
jnthn__ whiteknight: Yes. I think Parrot will have to do a lot of "unlearning". :) 23:35
The methods/namespace association almost certainly wants breaking somehow. 23:36
bacek Did we just missed opportunity to deprecate all this stuff in 3.3? 23:38
whiteknight bacek: we miss many opportunities to deprecate things 23:44
If I had my way, I would have deprecated "everything" after 1.0, and then we would be okay 23:45
23:46 jrtayloriv left
bacek Sounds like a good idea :) 23:47
benabik We should keep a list of "thing's we're looking at removing." Not depreciated, but before each stable release we can look at it an figure out what we're likely to be working on next. 23:48
whiteknight I wanted to have an "opt-in" deprecation policy, where everything is always experimental except things we explictly mark as stable 23:50
then, all the stuff that sucks and that we know sucks and is going to be removed violently won't ever be protected
dalek rrot: d83b2f4 | Whiteknight++ | src/packfile/api.c:
when executing a packfile PMC, look up the :main sub directly instead of expecting it to be set in the current context
23:57
whiteknight okay, that fixes the bug where Parrot-Instrument gets into an infinite loop. Now it fails to execute completely
I call that "progress"
benabik progress++ 23:58