% Coke has joined #parrotsketch % Coke has left #parrotsketch % particle has left particle!~particle@c-24-19-12-148.hsd1.wa.comcast.net % particle has joined #parrotsketch % particle has left particle!~particle@c-24-19-12-148.hsd1.wa.comcast.net % particle has joined #parrotsketch [pasting Tuesday's log:] % spinclad is now known as || <||> 14:38:08 < chromatic> Shall we begin? <||> 14:38:15 < pmichaud> who is here? <||> 14:38:29 < allison> me <||> 14:38:38 < schmalbe> bernhard is here <||> 14:39:02 < chromatic> Alright, let's go in alphabetical order. <||> 14:39:03 < chromatic> Allison? <||> 14:39:31 < allison> I've been working on the PDD15 objects implementation. <||> 14:40:01 < allison> Specifically, extend the functionality of the Class PMC to pass more of the core object test suite: <||> 14:40:02 < allison> * Classes make entries in the global type registry. This smoothes over the integration of the two models, but eventually the global type registry will go away. <||> 14:40:04 < allison> * Implement the 'subclass' vtable entry, to create subclasses in an appropriate way for the new object model. <||> 14:40:05 < allison> * Implement the 'name' vtable function. <||> 14:40:07 < allison> * The 'get_string' vtable function of Class PMC returns a fully-qualified name joined by semi-colons. <||> 14:40:08 < allison> * The type of a Class PMC is "Class" (this differs from the old implementation that gave the fully qualified name of the class itself). <||> 14:40:10 < allison> * Refactored code for setting and retrieving Class names. <||> 14:40:11 < allison> * Removed 'namespace' from the class init args (wasn't in the spec anyway). The 'name' arg takes a string, a key, or a namespace object. <||> 14:40:13 < allison> * Refine type registration to link type number and class's vtable, so classes can be instantiated from the type number. <||> 14:40:14 < allison> * The vtable stored for lookup by type number also needs a record of the class object. <||> 14:40:28 < allison> And I'm currently working on: <||> 14:40:30 < allison> * Implement 'isa' in a way appropriate to PDD15 classes, check the short name, check the fully qualified name, and check the parents. <||> 14:40:43 < allison> EOR <||> 14:40:48 < chromatic> Bernhard? <||> 14:41:19 < schmalbe> Working on making lisp/bootstrap.l run again <||> 14:41:31 < schmalbe> Going to look a Roger Conley's Firefox plugin. <||> 14:41:46 < schmalbe> Looking for a cool IRC nick, as <||> 14:41:46 < schmalbe> 'bernhard' is taken on freenode <||> 14:41:52 < schmalbe> .eor <||> 14:42:35 < chromatic> I fixed a few bugs. <||> 14:42:49 < chromatic> I also think we have symbol hiding with GCC working on all platforms appropriately. <||> 14:42:59 < chromatic> I think we'll get dynpmcs and dynops working on FreeBSD again soon. <||> 14:43:19 < chromatic> I'm still blocking on the "Can't invoke NCI or Multi PMCs from C" problem. <||> 14:43:25 < chromatic> I'm going to start writing documentation instead. <||> 14:43:27 < chromatic> Next, Leo? <||> 14:44:09 < chromatic> particle? <||> 14:44:54 < particle> ~ still catching up after an enjoyable vacation <||> 14:44:54 < particle> ~ getting my new box configured to compile parrot on many platforms, including 64bit windows <||> 14:44:54 < particle> .end <||> 14:45:03 < pmichaud> (enjoyable vacation)++ <||> 14:45:25 < chromatic> pmichaud? <||> 14:45:55 < pmichaud> I worked a fair bit on figuring out how to get from A to B (more) <||> 14:46:01 < pmichaud> A: the tools we have now <||> 14:46:18 < pmichaud> B: a system for compiling perl6 and other languages, using the new pdd15oo paradigm and changes to S05 <||> 14:46:36 < pmichaud> I think I'm likely to end up with a number of parallel implementations for a while <||> 14:46:49 < pmichaud> because the differences are too great to try to shoehorn into a single tool <||> 14:47:22 < pmichaud> the biggest items at the moment: PGE needs to convert to the new oo scheme, very soon <||> 14:47:31 < pmichaud> I need to come up with a pgc-equivalent using the new S05 syntax <||> 14:47:50 < pmichaud> I've put together some thoughts about a different parse->ast transformation in languages/abc, I like the way it looks so far. Very easy to read and debug <||> 14:48:07 -!- jonathan_ [jonathan@feather.perl6.nl] has joined #parrotsketch <||> 14:48:13 < pmichaud> I've started implementation but so far it's just a start, as some of the tools need to evolve <||> 14:48:39 < pmichaud> I'll apologize in advance to any language implementors whose stuff I inadvertently break over the next week or so -- I don't expect much if any, but it could happen <||> 14:48:42 < pmichaud> eor <||> 14:48:54 < chromatic> tewk? <||> 14:50:50 < chromatic> jonathan_? <||> 14:51:13 < jonathan_> hi <||> 14:51:21 < jonathan_> * Been a week of madly trying to catch up with all sorts...including Parrot <||> 14:51:24 < jonathan_> * Thus not really much Parrot time, or at least time where I've got energy to do much useful. :-( <||> 14:51:27 < jonathan_> * Spent a few hours GC bug hunting on Sunday. No solution, but a better understanding of Various Things. <||> 14:51:41 < jonathan_> Posted my analysis of the bug so far to the list. <||> 14:52:20 < jonathan_> Want to try and dig into PDD15 and PDD17 implementation things again, think the PDD15 issues now are blocking on PDD17 stuff though (e.g. inheritance from PMCs). <||> 14:52:49 < jonathan_> Though I may be wrong on that, please correct me in question time if so. :-) <||> 14:52:53 < jonathan_> eor <||> 14:53:42 < chromatic> Speaking of question time, it's question time. <||> 14:54:26 < particle> allison: are you looking to do One Big Commit for your current pdd15 work? <||> 14:54:38 < allison> nope, I'm committing it as I go <||> 14:54:46 < particle> great <||> 14:55:04 < pmichaud> sidenote: in order to implement parts of S05, I'm likely to need the new oo stuff. I need to be able to find methods available for a given object <||> 14:55:08 < allison> all but the isa fix are already implemented <||> 14:55:21 < allison> s/implemented/committed/ <||> 14:55:25 < pmichaud> thus, the need to convert PGE to the new oo system <||> 14:55:38 < pmichaud> so, the new oo stuff will likely get a workout this week from PGE :-) <||> 14:55:45 < allison> it's not ready yet <||> 14:55:49 < pmichaud> ouch <||> 14:55:59 < jonathan_> Was this meeting not logged? I don't see it... <||> 14:56:00 < particle> what's needed to be ready? let's focus there. <||> 14:56:03 < allison> we're still failing 190 tests from the standard oo test suite <||> 14:56:10 < particle> jonathan_: ENOTWEETY, we'll post later <||> 14:56:16 < pmichaud> okay, I'll see how much I can work around, then <||> 14:56:19 < jonathan_> particle: thanks <||> 14:56:19 < allison> I'm knocking them down as fast as I can <||> 14:56:29 < allison> try it if you want <||> 14:56:32 * jonathan_ will try and join the knocking <||> 14:56:45 < pmichaud> I'll try it and at least report on how far I get, or where I might be blocking <||> 14:56:49 < allison> if you stay within the boundaries of what's tested in t/pmc/class.t you're fine <||> 14:56:51 < pmichaud> is the oo stuff in a separate branch or in the trunk? <||> 14:56:59 < allison> but I can't guarantee that all will work <||> 14:57:14 < allison> just use the opcode 'newpdd15class' instead of newclass <||> 14:57:27 < allison> from there, you're working in new metamodel land <||> 14:57:33 < pmichaud> is it possible to subclass existing PMC classes yet? <||> 14:57:43 < allison> yes <||> 14:57:54 < pmichaud> what's the opcode for that? <||> 14:57:55 < allison> but it's not a huge improvement over what we had <||> 14:58:00 < allison> I need test cases <||> 14:58:22 < pmichaud> or do I use newpdd15class and addparentclass ? <||> 14:58:35 < allison> if you can give me a specific low-level PMC you want to subclass, and the methods you want to override, I'll make sure it works <||> 14:58:40 < pmichaud> Hash <||> 14:58:58 < chromatic> The Capture PMC. <||> 14:59:01 < pmichaud> typically I override set_*_keyed_int <||> 14:59:14 < allison> any other methods to override? <||> 14:59:19 < allison> custom vtable entries? <||> 14:59:23 < pmichaud> I'll make a list <||> 14:59:29 < allison> awesome! <||> 14:59:33 < pmichaud> basically, compilers/pge/PGE/Match.pir <||> 14:59:58 < pmichaud> or runtime/parrot/library/Parrot/Capture_PIR.pir <||> 15:00:15 < pmichaud> chromatic has it correct -- I need something that acts like a perl 6 Capture object <||> 15:00:40 < allison> implemented in PIR, and subclassing from Hash, okay <||> 15:01:21 < particle> i've offered to step in and convert pir to c pmcs where it'll help with performance <||> 15:01:27 < pmichaud> eventually, yes, Capture should probably become its own PMC class, but what I need at the moment is for Match and/or Capture to be using the new metamodel <||> 15:02:55 < pmichaud> end of questions/comments from me :-) <||> 15:03:10 < schmalbe> Has anybody implemented a rational number PMC? Lisp needs rationals. <||> 15:03:40 < chromatic> Pheme will use it if you do. <||> 15:03:43 < particle> schmalbe: i haven't, but i've been thinking about NaN and Inf pmcs <||> 15:04:26 < jonathan_> particle: NaN and Inf? Rationale? <||> 15:04:41 < particle> well, we need to support them somehow <||> 15:04:55 < jonathan_> IEEE numbers already do. ;-) <||> 15:05:23 < particle> we need string representations <||> 15:05:55 < particle> i suppose we can stick that in Float <||> 15:07:16 < particle> once i start *doing* something about NaN and Inf, my thoughts will become more clear <||> 15:07:17 < jonathan_> That'd make more sense to me. <||> 15:07:22 < jonathan_> Sure. <||> 15:08:53 < allison> question: I'm putting together a list of tickets for the 0.4.13 release, any additions? <||> 15:10:10 < pmichaud> not at the moment <||> 15:10:17 < chromatic> Whatever gets PDD15 working. <||> 15:10:26 < chromatic> I'll poke at the string GC error, but no guarantees. <||> 15:10:33 < schmalbe> #43105, decide wether we assume that NULL consits of '\0' chars <||> 15:10:36 < allison> chromatic: I've pulled out some of the object related tickets <||> 15:12:11 < chromatic> If #43105 hasn't bitten Perl 5, I think we're okay. <||> 15:12:41 < chromatic> We could put in an assert(*NULL == 0) or something similar just to be safe. <||> 15:13:26 < jonathan_> *NULL? Isn't that dereferencing NULL? <||> 15:13:50 < avar> assert(NULL == (void*)0) <||> 15:14:23 < chromatic> Right, whatever makes it crash when appropriate. <||> 15:14:28 < allison> schmalbe: added <||> 15:19:07 < schmalbe> Do we have a showcase for cross-language modules? <||> 15:19:24 < chromatic> In what sense? <||> 15:20:06 < allison> an example of a module written in one language being used in another? <||> 15:20:21 < allison> PGE is one example <||> 15:20:22 < schmalbe> E.g. a Date Module implemented in Tcl, used by Ruby <||> 15:20:58 < allison> schmalbe: we don't have any of those languages implemented far enough to support full existing modules <||> 15:21:15 < allison> or, do you mean just set up a small demo for examples/ <||> 15:21:24 < allison> using what works now? <||> 15:22:01 < schmalbe> Yep, we claim, or know, that it works, but have no proof of concept. <||> 15:22:44 < particle> i'm hoping Exporter will make it easy to write cross-language importers <||> 15:22:52 < allison> pge and tge are both implemented as mini languages that are used from within PIR <||> 15:23:09 < chromatic> Pheme's test module uses Test::More pretty easily. <||> 15:23:14 < allison> (compiled and the modules used from within PIR) <||> 15:23:42 < pmichaud> before the month is out (hopefully sooner than that) we'll have a mini-p6 language used for building compilers <||> 15:23:48 < pmichaud> that will be able to demonstrate it as well <||> 15:24:01 < allison> If you'd like to make some examples in examples/languages that'd be great. <||> 15:24:46 < allison> or, even tests for compilers/past-pm (partridge) and HLLCompiler <||> 15:25:05 < schmalbe> I hope to be able to implement PHP standard function in (Mini)Perl6. <||> 15:25:11 < allison> (since, I don't know that we currently have any tests that simultaneously use two different languages) <||> 15:26:18 < pmichaud> schmalbe: that should be doable, in Perl 6 at least <||> 15:26:25 < pmichaud> I don't know if it'll happen with the mini-p6 <||> 15:27:53 < chromatic> Are there any other questions? <||> 15:29:42 < particle> schmalbe: i'll write up an Exporter test using two HLLs <||> 15:30:24 < schmalbe> particle++ <||> 15:34:51 < chromatic> Let's adjourn to #parrot. <||> 15:34:59 < chromatic> Who's taking care of the minutes? <||> 15:42:08 < allison> c: I just emailed you a copy % || is now known as spinclad [odd: irc.perl.org said 'Nick | is already in use'] [but no matter]