Parrot 3.1.0 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Goals: Get GSoC ideas on wiki. Merge/review tewk/select. Evaluate attribute_defs, rip out in branch
Set by moderator on 1 March 2011.
00:01 particle1 joined
PerlJam shockwave: basically 00:03
00:03 athomason left 00:04 particle left
whiteknight shockwave: there are two mechanisms for NCI 00:06
the "best" way is to use what's called a "thunk generator". Parrot has support for libffi right now built in. There may be others as well in the ecosystem 00:07
libffi allows you build an arbitrary call frame for any signature
if you don't have libffi, you have to pre-compile a static, finite list of call thunks 00:08
if you have a Parrot repo checkout handy, take a look at the src/nci directory. The list of static signatures compiled into Parrot is
src/nci/*.nci
PerlJam whiteknight++ for a good explanation 00:09
whiteknight shockwave: so, if you find a signature which is not supported, you have two options: use a proper frame builder, or add to the list of static thunks
shockwave whiteknight: I'm adding a signature to that list and recompiling to see if it will just work.
whiteknight I think there's another step, I don't remember what
hold on 00:10
"make bootstrap-nci"
that will parse the .nci files into the .c files (see src/nci/core_thunks.c for an example of what is generated) 00:11
that parser is written in NQP, so you need to build Parrot first, then bootstrap-nci, then rebuild
00:11 particle1 is now known as particle
shockwave So, the sequence is: 1) Build Parrot first time. 2) Add signature to extras_thunk.nci. 3) Run make bootstrap-nci 4) Rebuild parrot. 00:13
whiteknight that sounds about right
we don't change the list of nci thunks too often, so we haven't tried to make it any easier
shockwave understand 00:14
I'm not getting the signature that I want to work. Is there maybe another step missing? Are any header files changed? 00:18
whiteknight no header files. I might be missing a step. plobsing is the resident expert in this area 00:22
shockwave kk. Thanks 00:23
whiteknight where did you add that new signature, core_thunks.nci?
shockwave extras_thunks.nci
whiteknight okay so if you search through extra_thunks.c in src/nci/, you should be able to find your new signature in that file 00:24
shockwave Yep, it's just a line that looks like so: t ptt
whiteknight hmm
in the .c file?
shockwave extra_thunks.nci 00:25
whiteknight no, look in the file extra_thunks.c
see if you can find a function with that signature
00:25 lucian_ left
whiteknight it's going to be a function called pcf_t_ptt 00:25
PerlJam shockwave: What does your test code look like? 00:27
shockwave whiteknight: No, that function was not in there.
PerlJam: PIR?
whiteknight ok, so bootstrap-nci failed somehow
or, as I said, I may be missing a step 00:28
shockwave whiteknight: let me try it again, because I did a make clean afterwards and tried again.
PerlJam shockwave: it worked fine for me when I just tried it. I thought perhaps your test code may have had a flaw
shockwave func, = dlfunc , lib, , name, sig 00:29
00:29 mrwall-e left
shockwave That's the PIR to load the function. 00:29
Let me first try to remake that extra_thunks.nci step
00:29 dmalcolm left, mrwall-e joined
shockwave No, it's not getting in there. 00:33
whiteknight weird
shockwave When doing nmake bootstrap-nci, the script is failing at the end with:
00:34 mrwall-e left
shockwave '.' is not recognized as an internal or external command, 00:34
operable program or batch file.
src/nci/extra_thunks.nci > src/nci/extra_thunks.c
'.' is not recognized as an internal or external command,
operable program or batch file.
cotto ~~
whiteknight shockwave: are you on windows? 00:35
shockwave yes, windows 7
whiteknight I suspect that script may never have been tested on windows
do you have git? 00:38
I just ran it, I can send you the resulting patch 00:39
or, I supposed, I could send you the whole 8000 line file
shockwave whiteknight: I do have it, though I'm not very good at using it.
whiteknight let me send you the whole file
shockwave whiteknight: Did you changed the script generator? 00:40
whiteknight nope
shockwave I meant, the makefile that is failing.
whiteknight sent
shockwave whiteknight: Thanks for send it. 00:43
whiteknight no problem. you shouldn't get stuck on little details like this
shockwave We'll probably want to fix the script that generates that file, as I'll have more C functions to add.
whiteknight okay, I'll take a look at it tomorrow. I have a windows machine at work 00:44
shockwave whiteknight: I'm not trying to rush it, just saying.
whiteknight no rush. I have to do it tomorrow, I'm not at work on the weekend 00:47
shockwave :)
For now, I'll just use other signatures that take the amount and type of args I need, and pass dummies for the unused ones. 00:48
Thanks 00:54
00:56 mrwall-e joined, davidfetter joined 01:03 athomason joined 01:08 shockwave left 01:22 mrwall-e left 01:27 mrwall-e joined, mrwall-e left 01:35 ShaneC left 01:36 ShaneC joined 01:37 mrwall-e joined 01:39 mrwall-e left 01:44 kid51 joined
dalek sella: f24ec02 | Whiteknight++ | src/test/ (3 files):
break the test() function out into the Test namespace. Fix Suite so we output the plan correctly
01:49
sella: 91cec9e | Whiteknight++ | / (15 files):
fix tests to use the new syntax
sella: 4315165 | Whiteknight++ | / (4 files):
fix things so all tests pass again
whiteknight an NQP test harness, using a winxed-based harness library, running tests written in NQP for winxed-based libraries 01:50
we're living the dream
cotto and bacek seems to think he'll be able to teach opsc to speak llvm in a matter of days 01:52
whiteknight in a house he built himself on the surface of the moon, no doubt 01:53
01:54 davidfetter left 02:01 bacek_mobile joined
bacek_mobile Whiteknight, challenge accepted :) 02:02
cotto magical coding robot doesn't even need to be present to know when he's being talked about 02:03
bacek_mobile Hey, I'm always connected!
kid51 Does anyone know the name of the main Perl 5 site on github? 02:18
It's evidently neither github.com/perl5 nor github.com/perl , which is what I would have expected 02:20
Ah, I see that it's not really hosted at github.com; it's only mirrored there. 02:22
dalek sella: 7dda3a3 | Whiteknight++ | / (3 files):
add a few more test for rosella build/construct. found and fixed a related bug
02:24
sella: a7771d4 | Whiteknight++ | README.md:
update README to show that winxed is the wy
sella: 1604420 | Whiteknight++ | src/core/Rosella.winxed:
+documetation for core/Rosella
02:24 whiteknight left 02:31 bacek_mobile left 02:36 bacek_mobile joined
kid51 Experiencing build failure in master here: 02:46
src/gc/gc_gms.c:1228: failed assertion '!PObj_on_free_list_TEST(pmc) || !"Resurrecting of dead objects is not supported"'
commit 0cf3ffac966827f06b75ea99b5725ae269af1765
Very strange. 02:54
I called 'make' at the point of failure ... and the build then completed. 02:55
Let's see if it PASSes make test
cotto kid51, which part of the build triggered that failre? 02:56
nopaste "kid51" at 192.168.1.3 pasted "build failure at 0cf3ffa on Darwin/PPC -- but resumed 'make' and built okay" (1092 lines) at nopaste.snit.ch/35299 02:57
02:58 bacek_mobile left
cotto kid51, can you run the last step before the failure several times and see if it fails? 02:58
./parrot-nqp --target=pir --output=compilers/opsc/gen/Ops/Compiler/Grammar.pir compilers/opsc/src/Ops/Compiler/Grammar.pm
kid51 Well, this being on my slow box, I'll have to wait till 'make test' completes. 02:59
cotto ok 03:00
kid51 However, on this machine, master passed as recently as Feb 28 (9e03d59), and I tested plobsing's infnan2 branch repeatedly last night before he merged. 03:01
cotto It could be my changes to the mmd cache.
kid51 'make test' seems to be doing okay, so lemme kill it and follow your instructions. 03:02
03:03 bacek_mobile joined
nopaste "kid51" at 192.168.1.3 pasted "3 fails on Ops::Compiler::Grammar" (10 lines) at nopaste.snit.ch/35309 03:07
cotto excellent
kid51, how reliable is that?
kid51 What do you mean by 'that'?
cotto the failure 03:08
kid51 Well, you saw what I posted. i did it 3 times in a row.
But, now, I have once again begun tests, and my tests are passing (op_tests and pmc_tests)
cotto ok 03:09
kid51 make test PASS on same commit 0cf3ffa on linux/i386 03:10
You think this could be side effect of mmd-cache-pmc merge?
cotto it's possible. It made some changes to a gcable 03:11
03:11 bacek_mobile left
cotto kid51, can you check out db775476eaeed3a3b and see if the failures persist? 03:11
kid51 I was just diffing against that commit :-) 03:12
but now I'll have to do a realclean, reconfigure; rebuild; take time 03:13
cotto kid51, realconfig/realclean shouldn't be necessary
the change doesn't mess with generated bytecode and make should be smart enough to update the object files 03:14
kid51 Well, I already did the realclean.
so we have to wait
cotto bad news: I got the same problem at db775476ea 03:39
cotto kid51, ok 03:42
I'm glad it's not my fault, but it's also a bug we'll need to fix.
03:54 theory left
dalek rito: 818b412 | atrodo++ | Makefile:
Include the built-in PMCs in the build process
04:01
rito: 340f919 | atrodo++ | / (3 files):
Add a COERCE_PMC op to extract boxed values from PMCs
rito: e4c1b74 | atrodo++ | pmc.c:
Initalize more data on a new PMC
rito: 9f78dc0 | atrodo++ | core.c:
Fix an off-by-one error inside the load op
rito: e4ed51e | atrodo++ | / (3 files):
Add extremely basic writing of PMCs (only if the PMC is null)
rito: 2e6df8a | atrodo++ | core.c:
Add some musing about STR CALL
rito: f99a3e4 | atrodo++ | interp.c:
Fix the null pmc's creation process
rito: baf4b51 | atrodo++ | pmc.c:
Fix another off-by-one error in pmc_decode
rito: 42674a3 | atrodo++ | / (2 files):
Remove some debugging code
rito: 941d180 | atrodo++ | / (2 files):
First version of the built-in resiablepmcarray and test
cotto oh 04:02
looks like someone's been busy
atrodo It felt like a lorito night 04:03
Plus, I'm in the habit of making a lot of tiny git commits, so the commit count gets a little skewed
cotto atrodo, wfm 04:04
atrodo We started a new project at $dayjob middle of last year, my commit count dwarfs the other developer even though he did just as much 04:06
cotto atrodo, have you thought about what ffi should look like, i.e. what atoms will be needed in M0 to support it?
that and concurrency primitives are the least well-defined concepts atm
atrodo I hadn't put a lot of thought into it
I've done some hand waving at the problem in designing how my prototype works 04:07
cotto the spec process is supposed to expose some of that hand-waving 04:08
atrodo The inital idea was that all arguments are passed in a rpa, including to nci/ffi. so nci/ffi would have thunk that would extract the native values from the rpa and call the function
it sounds like a great flexible method in my head, but I haven't convinced myself it's efficient 04:09
kid51 cotto: I checked out 9e03d5914bd and am once again building successfully there, as I did on Feb 28. Assuming this complete, that suggests that the cause of failure lies between that commit and the one where infnan2 was merged in last night. 04:11
kid51 must sleep
cotto kid51, ok 04:12
'night
04:13 kid51 left 04:27 theory joined 05:11 plobsing joined 05:24 simcop2387_ joined 05:26 simcop2387 left, simcop2387_ is now known as simcop2387
cotto docs.google.com/viewer?url=http://r...w-conc.pdf 05:37
thank you, internets 05:38
05:40 tadzik is now known as internets
internets you're welcome! 05:40
05:40 internets is now known as tadzik
dalek tracwiki: v77 | bacek++ | ParrotQuotes 05:52
tracwiki: trac.parrot.org/parrot/wiki/ParrotQ...ction=diff
tadzik oh-oh :) 05:57
cotto I like that paper, but when the the author starts explaining the primitives I feel like I accidentally ended up in the INTRECAL spec. 06:01
06:15 mtk left 06:20 rurban_ joined 06:22 mtk joined 06:24 rurban left, rurban_ is now known as rurban 06:46 fperrad joined 07:10 theory left 07:34 theory joined
dalek rrot: dba406c | fperrad++ | t/compilers/opsc/01-parse-body.t:
[t] fix "Unknown TAP token"

legal TAP comment starts by #
07:40
08:19 theory left 08:32 preflex left 08:35 preflex joined 08:42 lucian joined 09:19 cognominal left 09:29 contingencyplan left 09:35 lucian left 09:59 zby_home joined 10:09 pjcj left 10:16 pjcj joined 10:17 cognominal joined 10:55 JimmyZ joined 11:14 fperrad_ joined 11:17 fperrad left, fperrad_ is now known as fperrad 12:16 JimmyZ left, JimmyZ joined 12:40 zby_home left 13:26 whiteknight joined
whiteknight good morning, #parrot 13:26
dalek TT #2037 created by jkeenan++: darwin/ppc build failure 13:36
TT #2037: trac.parrot.org/parrot/ticket/2037
Coke someone should introduce kid51 to "git bisect" 13:55
14:02 mtk left 14:09 mtk joined 14:13 plobsing left 14:18 JimmyZ left 14:20 rurban_ joined 14:21 rurban_ left 14:23 rurban left, rurban joined
tadzik wave-wave 14:24
atrodo tilde-tilde
moritz . . 14:27
moritz particles
14:35 plobsing joined 14:56 rurban_ joined 14:58 fperrad left 15:00 rurban left, rurban_ is now known as rurban 15:04 fperrad joined
whiteknight cotto: ping 15:12
15:12 mikehh left
cotto whiteknight, pong 15:20
whiteknight cotto: a few key vtables are not overridable. does, isa, does_pmc, isa_pmc, and can I think. I would like to make the overridable from PIR 15:24
cotto whiteknight, what keeps them from being overridable? 15:25
whiteknight can is really broke, it redirects to a method call, not a vtable override lookup.
cotto !?!
15:26 plobsing left
cotto there has to be a way of looking at that that makes sense 15:26
whiteknight nevermind, does and does_pmc are overridable. actually, does is overridable, but does_pmc just redirects to does
right, so I want to sanify this all, and make all these things overridable
I'm just wondering if you have any objections
cotto Ah. "can" returns true if the method is non-null
whiteknight oh, i misread that. yes, that's what it does 15:27
so that opens the question then, do we want "can" to be overridable, or should it always be a boolean wrapper around find_method? 15:28
cotto overridable makes sense to me
moritz speaking of which... could you please make destroy overridable too? 15:29
I'd like to experiment with Perl 6 level DESTROY methods
whiteknight isa is really the most important thing for me right now. I'm trying to create a proxy library. The proxy objects should transparently look like the objects they are shadowing
cotto gets ready for $dayjob
whiteknight that means the proxy should isa the target, does what the target does, and can what the target can 15:30
whiteknight grammars good
15:32 hercynium joined 15:36 Andy joined 15:41 particle1 joined 15:45 particle left 15:47 particle1 is now known as particle 15:51 woosley joined 15:55 perlit0 joined 16:01 woosley left 16:08 theory joined 16:13 fperrad_ joined 16:14 fperrad left 16:15 fperrad_ is now known as fperrad
cotto_work ~~ 16:15
16:18 plobsing joined, Patterner left 16:19 Psyche^ joined, Psyche^ is now known as Patterner 16:21 JimmyZ joined
Coke stares at this javascript. 16:25
cotto_work best. captcha. evar. random.irb.hr/signup.php 16:26
atrodo That truely is awesome
Guess I'm never signing up for that service 16:27
cotto_work you could juse type it into wolfram alpha
plobsing so could a bot
atrodo 'cept it's an image
plobsing it is a fairly clear image 16:28
cotto_work spammer ocr probably isn't designed to handle mathematical notation
atrodo oh, finally got an easy one
1 - (-2) -0 - 0 * 3 - 0 - (-2) =?
cotto_work the actual test is to find an easy captcha 16:32
16:34 JimmyZ left
Coke got this one: 16:36
random.irb.hr/latexrender/pictures/...5aca36.gif
16:36 eternaleye left
whiteknight Coke: 7 16:37
actually, maybe 21
yes, 21
Coke maybe "too hard". ;)
cotto_work we need an aloha fact that gives people this link: who-t.blogspot.com/2011/03/how-to-d...loper.html 16:38
whiteknight I did the limit before the derivative. If you do things in the right order it's 21
atrodo I haven't done calc in 8 years
whiteknight atrodo: there's nothing really to do. the limit basically means we're doing sin(0) + cos(0) 16:39
atrodo Again, haven't touched that field of math in 8 years, so I'd have to agree with Coke. "Too Hard" 16:40
16:40 perlit0 left 16:45 eternaleye joined 16:59 jsut_ joined
dalek sella: 74cfd90 | Whiteknight++ | / (19 files):
remove the old .nqp files from the proxy library. Replace with new .winxed versions. Change the design significantly. The library builds. Add in some [passing] tests for intercepting methods and attributes
17:01
17:04 jsut left 17:19 fperrad_ joined 17:22 fperrad left 17:23 fperrad_ is now known as fperrad
cotto_work tewk: ping 17:34
17:52 PacoLinux_ joined 18:03 PacoLinux_ left 18:14 lucian joined 18:28 contingencyplan joined
dalek rrot/whiteknight/vtable_overrides: e026212 | Whiteknight++ | src/pmc/object.pmc:
Object.can is now overridable.
18:45
rrot/whiteknight/vtable_overrides: d3192d0 | Whiteknight++ | src/pmc/object.pmc:
allow isa and isa_pmc to be overrideable
rrot/whiteknight/vtable_overrides: 6bafefc | Whiteknight++ | src/pmc/object.pmc:
some optimizations to isa
rrot/whiteknight/vtable_overrides: cf26847 | Whiteknight++ | / (2 files):
several fixes from bad copy+paste. Add in a test for 'can' override
rrot/whiteknight/vtable_overrides: f41f8b1 | Whiteknight++ | t/pmc/object-meths.t:
+tests for overridding isa and isa_pmc
whiteknight cotto_work: take a look at the whiteknight/vtable_overrides branch when you have a chance. I'm testing now for sanity 18:46
cotto_work whiteknight: will do 18:50
whiteknight the extra vtable override search is going to slow down can, isa, and isa_pmc vtable calls. 18:51
there are a million ways I can think of to optimize class/object, but it seems pointless if we are moving to 6model 18:52
all coretests in that branch pass for me on my machine 18:54
18:58 mikehh joined
cotto_work I'm seeing why jnthn spent so much effort on method caching. 19:01
whiteknight Parrot_oo_something_something_find_vtable_override does caching, I think
I don't remember what it's called 19:04
sorear in 6model, method "caching" is absolutely critical for reasons beyond performance 19:06
whiteknight what other reasons? 19:07
sorear $obj.foo() means $class.find_method("foo").postcircumfix:<( )>($obj) -- without caching (and pre-filling of the KnoeHOW method cache), there would be infinite regress
KnowHOW
whiteknight gotcha 19:10
that sounds like a bad thing
cotto_work whiteknight: how does performance look with that branch? 19:18
whiteknight cotto_work: I haven't benchmarked it. I'm on a VM here, on a computer running a few other CPU-intensive apps. numbers I get would be meaningless 19:22
cotto_work: like I said, I'm sure there is a hit. I just don't know how much
cotto_work whiteknight: ok. I don't want that to get merged without some discussion on parrot-dev. 19:23
whiteknight I figured
I'll send out a mail tonight
Coke (can always run with callgrind and count # of instructions) 19:28
whiteknight Coke: True, but I would need to find a meaningful benchmark to count, because not all benchmarks are going to make use of can and isa 19:29
and valgrind would take the rest of the workday (and then some) if I just ran it willy-nilly over the test suite
cotto_work That raises the question of what a realistic benchmark would be. 19:33
dalek sella: aa39e1c | Whiteknight++ | src/proxy/ (2 files):
add in provisional (not supported by Parrot) overrides for can/isa/isa_pmc. Add lots of comments to the proxy controller type to explain what it is
19:37
cotto_work I found a paper by Simon Peyton Jones that looks like it'll be an excellent starting point for figuring out the necessary concurrency primitives for M0. 19:38
He's basically doing that, but for Haskell.
er, ghc 19:39
whiteknight link? 19:40
cotto_work academic.research.microsoft.com/Paper/4114284
whiteknight oh wow. Yes that does look like what I've been envisioning for Parrot's threading system 19:43
lucian you might also want to look at JVMs, especially jikes 19:44
cotto_work Have fun with page 3. 19:45
plobsing I've been wondering if Parrot can pass the buck on concurrency in the short term. Be reentrant, but not provide or enforce anything.
whiteknight plobsing: minimalism is a good idea, but we have to provide something 19:48
otherwise, how do you run things in parallel, processes? 19:49
plobsing short term 19:50
we don't do parallelism well now
and by well, I mean "in a way that is at all usable by our customers"
lucian how about you don't do it at all now and only offer green threads and async io?
that's trivial by comparison
but real thread/locks primitives are necessary (eventually) 19:51
whiteknight plobsing: you're preaching to the preacher. I've been wanting to rip out our current threading system for months
plobsing whiteknight: there's a difference between this an "just rip it out"
cotto_work lunch 19:52
whiteknight plobsing: I'm open to all ideas. Reimplementation is fine too. But what we have now is actively broken, and is creating problems in other areas
plobsing we should be able to show that Parrot can handle asyncrhonous and possibly parallel usages (reentrancy), but not provide a blessed implementation, leaving it up to embedders/extenders to handle things for now 19:53
as an added bonus, if something evolves from that, it won't have the invasiveness that the current system has.
whiteknight we don't handle asynchronous or possible parallel usages. We absolutely do not handle that
and it would be a hell of a lot of work to fix that
plobsing we should. before we *provide* threads, we should work from someone else's threads. 19:54
libparrot should be threadsafe
whiteknight right, I know what you are saying. But we do pretend to *provide* threads, and that gets in the way of other efforts
an extender can't write a plug-in threading system, because we have crap in the way 19:55
maybe then can, but I doubt it
libparrot should be threadsafe if each thread has a strict 1:1 relationship with an interp, and if we absolutely positive never ever share data between threads
that much, I think, is plausible right now 19:56
plobsing we use too many global variables for that
that's the first problem
whiteknight once place I know we are using global variables (especially in a buggy way) is in the threading code. I think we still have some stuff in the global init code. anywhere else? 19:57
PMC singletons
plobsing don't get me started on those
whiteknight (which, in a tangential topic, need a MAJOR redesign)
19:59 [hercynium] joined 20:01 jsut joined
mikehh need to reboot 20:02
20:03 mikehh left 20:04 hercynium left, [hercynium] is now known as hercynium 20:06 jsut_ left 20:07 hudnix left 20:08 [hercynium] joined 20:13 mikehh joined, hercynium left, [hercynium] is now known as hercynium 20:29 hudnix joined
cotto_work whiteknight: *re*design? 20:44
PerlJam cotto_work: unless you consider the current work "predesign", in which case it just needs a design. :) 20:45
cotto_work I'm not sure I'd consider it a design other than "whatever the code happens to do now". 20:47
dalek sella: 3679067 | Whiteknight++ | src/ (7 files):
two quick prototype files for the new mockobject library
20:51
whiteknight cotto_work: you're right. I don't suspect much actual design went into this. 20:52
There are two questions: First and foremost, should Parrot be implementing the singleton contract at all, or is that a user-code issue? 20:55
next, if we *do* want to implement that contract, where is the best, most unintrusive place to hold the pointers?
cotto_work I'm not entirely sure why Parrot should care at all. 20:56
plobsing what is a singleton? is it unique to the interpreter? across interpreters? does that mean trusted and untrusted interpreters share data?
whiteknight my first one about whether we want singletons or not is really the biggest question. All others fall out of the "how do we do it" question 21:03
the examples we have so far inside Parrot are less than compelling
21:03 plobsing left
whiteknight Scheduler does not need to be a singleton. It only needs to be unique among a group of threads which intercommunicate 21:04
Env doesn't need to be a singleton. It doesn't make a lot of sense to have several of them, but it's basically a stateless access mechanism
OS similarly
that is, you can have multiple copies of Env or OS running around without getting into any troubles 21:05
Again, not sure why you would want to, but this does seem like poor justification to support singletons at the Parrot level
Actually, the scheduler could really be a lot more flexible, and we certainly don't need a restriction that there is only one 21:06
At any given time an interpreter only interacts with one scheduler, but we could swap schedulers easily, or have multiple schedulers being used by other interpreters, or... 21:07
the scheduler gets involved in exception handling, but only as a mechanism to look up handlers in the context, which actually holds and organizes them. That role can go away pretty easily 21:09
and then the schduler really can be reduced to a simple priority task queue, and there's no reason why we need to be restricted to a single task queue for an interpreter, much less the entire process 21:10
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#11469) fulltest) at 3_1_0-707-gdba406c - Kubuntu 10.10 amd64 (g++-4.5)
whiteknight tl;dr: We should ditch singletons 21:12
21:13 davidfetter joined
cotto_work whiteknight: I agree in principle. In practice, it's likely we have more pressing issues. 21:15
whiteknight of course, I'm not going to drop what I am doing to rip that crap out 21:16
I'm just saying we don't need to redesign singletons. Whenever somebody cares, they can just be ripped out 21:17
cotto_work whiteknight: do you have the tuits to file a ticket about that? We should try to document somewhere that they system can be removed if someone wants to do so. 21:18
whiteknight ticketed 21:23
cotto_work whiteknight++ 21:25
davidfetter dukeleto, ping 21:26
whiteknight oh, interesting. the scheduler isn't a singleton 21:27
weird
I thought it was 21:28
Null is, though
cotto_work one null ought to be enough for anyone 21:30
whiteknight anyway, I'm heading home. Later
21:30 whiteknight left 21:32 fperrad left
dalek TT #2038 created by whiteknight++: Singleton PMCs are deprecated 21:38
TT #2038: trac.parrot.org/parrot/ticket/2038
21:45 Coke left, Coke joined 21:53 davidfetter left 22:23 hercynium left 22:27 davidfetter joined 22:29 sigue left 22:45 plobsing joined 22:53 sigue joined 22:57 rurban_ joined 23:00 sigue left, rurban left, rurban_ is now known as rurban 23:01 whiteknight joined 23:04 lucian left 23:23 sigue joined 23:29 Hackbinary left, wagle left 23:30 Andy left, wagle joined, wagle left 23:32 kid51 joined 23:35 jsut_ joined, jsut left
cotto_work quite day 23:37
plobsing quite
23:37 mtk left
dalek sella: 0c22418 | Whiteknight++ | src/ (3 files):
remove overrides on resolution, a mechanism which was not well thought-out. Document the container classes
23:41
23:42 Hackbinary joined 23:45 jrtayloriv joined 23:47 wagle joined
dalek rrot: 3faf240 | plobsing++ | / (4 files):
factor out hashing code to work on arbitrary buffers
23:57
rrot: f3c2cd1 | plobsing++ | src/pmc/fixedintegerarray.pmc:
add hashval() implementation to FIA for faster, more efficient hashing
rrot: c74300b | plobsing++ | / (8 files):
make nci thunk lookup work with signature arrays, not strings
rrot: 99ba7bd | plobsing++ | src/nci/libffi.c:
convert libffi framebuilder to new pmc-based conventions
rrot: c5334d6 | plobsing++ | src/pmc/nci.pmc:
eliminate handling of string signatures within NCI objects
rrot: 414629e | plobsing++ | / (5 files):
make signature PMC functionality directly available
rrot: 4209f87 | plobsing++ | / (18 files):
Merge branch 'nci_signature_pmcs'