From jflam at microsoft.com Mon Oct 1 03:26:32 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Mon, 1 Oct 2007 00:26:32 -0700 Subject: [Ironruby-core] IO, File Implementations In-Reply-To: References: Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D2973777@NA-EXMSG-C115.redmond.corp.microsoft.com> Hi Eric, John Messerly has been looking at IO and File, however he's swamped with other work at the moment. We would love some help in implementing IO and File, so feel free to start work on it. John - if you have any code, feel free to share with Eric! Thanks, -John From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Eric Nicholson Sent: Sunday, September 30, 2007 4:15 PM To: ironruby-core at rubyforge.org Subject: [Ironruby-core] IO, File Implementations What's the status on the IO and File classes? Is that something you would take contributions on? I would rate that as a pretty high barrier to entry. Having File would make lots of useful scripts possible. -Eric -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071001/981c6344/attachment.html From enicholson at gmail.com Mon Oct 1 10:48:13 2007 From: enicholson at gmail.com (Eric Nicholson) Date: Mon, 1 Oct 2007 10:48:13 -0400 Subject: [Ironruby-core] IO, File Implementations In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D2973777@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2973777@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: I looked at this briefly, and it looks like "RegisterClass" and "Load..." entries for IO and File are needed in "Builtins\Initializer.Generated.cs". I'm guessing from the name that this file is generated dynamically, but how? Is there some rake option to create this file? Or can I just modify it by hand? Thanks, Eric On 10/1/07, John Lam (DLR) wrote: > > Hi Eric, > > > > John Messerly has been looking at IO and File, however he's swamped with > other work at the moment. We would love some help in implementing IO and > File, so feel free to start work on it. > > > > John ? if you have any code, feel free to share with Eric! > > > > Thanks, > > -John > > > > > > *From:* ironruby-core-bounces at rubyforge.org [mailto: > ironruby-core-bounces at rubyforge.org] *On Behalf Of *Eric Nicholson > *Sent:* Sunday, September 30, 2007 4:15 PM > *To:* ironruby-core at rubyforge.org > *Subject:* [Ironruby-core] IO, File Implementations > > > > What's the status on the IO and File classes? Is that something you would > take contributions on? > > I would rate that as a pretty high barrier to entry. Having File would > make lots of useful scripts possible. > > -Eric > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071001/cb0c91f3/attachment-0001.html From sanxiyn at gmail.com Mon Oct 1 11:05:03 2007 From: sanxiyn at gmail.com (Sanghyeon Seo) Date: Tue, 2 Oct 2007 00:05:03 +0900 Subject: [Ironruby-core] IO, File Implementations In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D2973777@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <5b0248170710010805n6347fc00k106053e5a18e2a93@mail.gmail.com> 2007/10/1, Eric Nicholson : > I looked at this briefly, and it looks like "RegisterClass" and "Load..." > entries for IO and File are needed in > "Builtins\Initializer.Generated.cs". I'm guessing from the > name that this file is generated dynamically, but how? By compiling and running the program under utils/ironruby.classinitgenerator. > Is there some rake option to create this file? Or can I just modify it by > hand? I agree that this should be in the rakefile. Together with a target to run gppg parser generator. -- Seo Sanghyeon From enicholson at gmail.com Mon Oct 1 12:03:06 2007 From: enicholson at gmail.com (Eric Nicholson) Date: Mon, 1 Oct 2007 12:03:06 -0400 Subject: [Ironruby-core] IO, File Implementations In-Reply-To: <5b0248170710010805n6347fc00k106053e5a18e2a93@mail.gmail.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2973777@NA-EXMSG-C115.redmond.corp.microsoft.com> <5b0248170710010805n6347fc00k106053e5a18e2a93@mail.gmail.com> Message-ID: That worked! Of course now I have some other issues, but I'll work my through them. Thanks! Eric On 10/1/07, Sanghyeon Seo wrote: > > 2007/10/1, Eric Nicholson : > > I looked at this briefly, and it looks like "RegisterClass" and > "Load..." > > entries for IO and File are needed in > > "Builtins\Initializer.Generated.cs". I'm guessing from the > > name that this file is generated dynamically, but how? > > By compiling and running the program under > utils/ironruby.classinitgenerator. > > > Is there some rake option to create this file? Or can I just modify it > by > > hand? > > I agree that this should be in the rakefile. Together with a target to > run gppg parser generator. > > -- > Seo Sanghyeon > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071001/c47809b6/attachment.html From charles.nutter at sun.com Mon Oct 1 14:39:36 2007 From: charles.nutter at sun.com (Charles Oliver Nutter) Date: Mon, 01 Oct 2007 13:39:36 -0500 Subject: [Ironruby-core] Public versus private discussion and community momentum Message-ID: <47013EE8.8050306@sun.com> It seems like although there's some discussion on the RubyForge list about IronRuby progress, challenges, things to work on, and the rest, there's not as much discussion as a project might like, and practically none from the Microsoft-based principals. That seems to hinder progress and make it look like things are moving a bit slowly. So this email is mostly for John, but I'd like to hear others weigh in... Are there development discussions happening on private lists, say inside Microsoft within the IronRuby or DLR team? If so, you should really think about moving as much of those discussions as possible into the open. They will help show that progress is being made, allow community members to see the process and design moving forward, and most importantly help the community feel like they're really a part of the project. I know there's always thoughts about secrecy and springing the next big software surprise on the world when working at Microsoft, but secrecy is poison to an OSS community. If you want to get people excited about helping out and getting involved, you can't keep them in the dark about portions of the development process. I think there's also a lot to be gained from sharing compiler/runtime design discussions with a broader audience; there's a lot of strategy we could share across implementations, to the benefit of all in the Ruby world. - Charlie From m.david at xmlhacker.com Mon Oct 1 16:11:38 2007 From: m.david at xmlhacker.com (M. David Peterson) Date: Mon, 01 Oct 2007 14:11:38 -0600 Subject: [Ironruby-core] Public versus private discussion and community momentum In-Reply-To: <47013EE8.8050306@sun.com> References: <47013EE8.8050306@sun.com> Message-ID: On Mon, 01 Oct 2007 12:39:36 -0600, Charles Oliver Nutter wrote: > So this email is mostly for John, but I'd like to hear others weigh in... Do you have specific evidence that "private" conversations regarding IronRuby development are taking place and that these private conversations are holding the community back from progress? Sorry Charlie (pun wasn't intended), but it's difficult to weigh in on something if that something is pure speculation based on list volume. Also, have you ever or will you ever have a private conversation regarding jRuby with someone @ Sun? From the outside looking in, I have to be honest: You seem to be trolling. Are you? -- /M:D M. David Peterson http://mdavid.name | http://www.oreillynet.com/pub/au/2354 | http://dev.aol.com/blog/3155 From n.molesbenfell at gmail.com Mon Oct 1 16:17:17 2007 From: n.molesbenfell at gmail.com (Nicolai Moles-Benfell) Date: Tue, 2 Oct 2007 09:17:17 +1300 Subject: [Ironruby-core] Public versus private discussion and community momentum In-Reply-To: References: <47013EE8.8050306@sun.com> Message-ID: > From the outside looking in, I have to be honest: You seem to be > trolling. Are you? This is Microsoft's first open source project, as a developer interested in contributing to IronRuby I am a little hesitant of this as I see a risk that the development will not be community based and therefore would be a bad investment of my time... I think Charles is commenting on this point. If there are internal MS emails about the design, development, project direction ... of IronRuby then it will fail as a community based project. From charles.nutter at sun.com Mon Oct 1 16:25:15 2007 From: charles.nutter at sun.com (Charles Oliver Nutter) Date: Mon, 01 Oct 2007 15:25:15 -0500 Subject: [Ironruby-core] Public versus private discussion and community momentum In-Reply-To: References: <47013EE8.8050306@sun.com> Message-ID: <470157AB.7070609@sun.com> M. David Peterson wrote: > On Mon, 01 Oct 2007 12:39:36 -0600, Charles Oliver Nutter > wrote: > >> So this email is mostly for John, but I'd like to hear others weigh in... > > Do you have specific evidence that "private" conversations regarding > IronRuby development are taking place and that these private conversations > are holding the community back from progress? Sorry Charlie (pun wasn't > intended), but it's difficult to weigh in on something if that something > is pure speculation based on list volume. Also, have you ever or will you > ever have a private conversation regarding jRuby with someone @ Sun? Well I would presume that if the project is moving rapidly forward, completing compiler milestones and improving runtime compatibility, that discussions are happening somewhere...and though there have been some discussion about specific libraries or needs in the core classes, there doesn't appear to be any discussion about the runtime and compiler subsystems. Honestly I just would like to see that you all making contributions to IronRuby from the outside are getting a chance to discuss and participate in the runtime implementation. And I imagine that it's a very difficult balancing act John has on this project; knowing how devoted he's been to open source in the past, I'd like to see him able to keep the runtime dev process as open as possible. Are you saying you don't think that's a good idea? > From the outside looking in, I have to be honest: You seem to be > trolling. Are you? No. The danger of having an open project and an open community is that many people can put forth opinions. Occasionally you will not agree with them, but it does not mean they are trolling. I'm merely offering a recommendation to the project leads. Take it or leave it, but don't acuse me of being a troll. - Charlie From curt at hagenlocher.org Mon Oct 1 16:32:27 2007 From: curt at hagenlocher.org (Curt Hagenlocher) Date: Mon, 1 Oct 2007 13:32:27 -0700 Subject: [Ironruby-core] Public versus private discussion and community momentum In-Reply-To: References: <47013EE8.8050306@sun.com> Message-ID: On 10/1/07, Nicolai Moles-Benfell wrote: > > This is Microsoft's first open source project This is not really true, depending on what you mean; I think it's been over two years since WiX was made open source. I have to agree that the original poster's inclusion of the text > I know there's always thoughts about secrecy and springing the next big > software surprise on the world when working at Microsoft, but secrecy is > poison to an OSS community. > does not speak well for his intentions. But if you remove this one sentence, his concerns seem pretty reasonable. I think some of what we're seeing is a result of IronRuby's dependence on the DLR -- which appears to be far from finalized, and which is not going to be driven by the community at all. -- Curt Hagenlocher curt at hagenlocher.org -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071001/f7d93aae/attachment.html From m.david at xmlhacker.com Mon Oct 1 16:35:25 2007 From: m.david at xmlhacker.com (M. David Peterson) Date: Mon, 01 Oct 2007 14:35:25 -0600 Subject: [Ironruby-core] Public versus private discussion and community momentum In-Reply-To: References: <47013EE8.8050306@sun.com> Message-ID: On Mon, 01 Oct 2007 14:17:17 -0600, Nicolai Moles-Benfell wrote: > This is Microsoft's first open source project, as a developer > interested in contributing to IronRuby I am a little hesitant of this > as I see a risk that the development will not be community based and > therefore would be a bad investment of my time... You're waxing philosophical. From my own view point, as a community member and contributor I want to gain the benefits obtained froma kick a$$ implementation of the Ruby language that takes full advantage of all the .NET platform has to offer. The fact that MSFT might want to have strategic planning meetings regarding their focus moving forward is their business. From your viewpoint it seems you want something different. A community-based group hug, or something. Fair enough. We're looking for two different things. But I do believe it's completely fair and reasonable for MSFT to expect the ability to hold private strategy and code planning meetings. Here's the thing: If you don't trust MSFT, don't contribute any code. Personally I do trust MSFT. At least enough to be willing to contribute code w/o the need of being a part of every conversation that takes place regarding the past, present, and/or future of this project. Charlie asked for others to weigh in. I did. Maybe I stand alone in my viewpoint, but this is how I see things. -- /M:D M. David Peterson http://mdavid.name | http://www.oreillynet.com/pub/au/2354 | http://dev.aol.com/blog/3155 From m.david at xmlhacker.com Mon Oct 1 16:38:01 2007 From: m.david at xmlhacker.com (M. David Peterson) Date: Mon, 01 Oct 2007 14:38:01 -0600 Subject: [Ironruby-core] Public versus private discussion and community momentum In-Reply-To: <470157AB.7070609@sun.com> References: <47013EE8.8050306@sun.com> <470157AB.7070609@sun.com> Message-ID: On Mon, 01 Oct 2007 14:25:15 -0600, Charles Oliver Nutter wrote: > Are you saying you > don't think that's a good idea? No. > Take it or leave it, but don't > acuse me of being a troll. I didn't. I suggested that this is what it seemed like and asked you if you were. Accussing you of being a troll would sound something like, Charlie, you're being a troll. -- /M:D M. David Peterson http://mdavid.name | http://www.oreillynet.com/pub/au/2354 | http://dev.aol.com/blog/3155 From m.david at xmlhacker.com Mon Oct 1 16:43:18 2007 From: m.david at xmlhacker.com (M. David Peterson) Date: Mon, 01 Oct 2007 14:43:18 -0600 Subject: [Ironruby-core] Public versus private discussion and community momentum In-Reply-To: References: <47013EE8.8050306@sun.com> Message-ID: On Mon, 01 Oct 2007 14:32:27 -0600, Curt Hagenlocher wrote: >> I know there's always thoughts about secrecy and springing the next big >> software surprise on the world when working at Microsoft, but secrecy is >> poison to an OSS community. > does not speak well for his intentions. But if you remove this one > sentence, his concerns seem pretty reasonable. Agreed. In fact it was that exact phrase that caused me to look at the entire message with shades of doubt. Maybe his intentions were legit. But with that paragraph in place I have my doubts. -- /M:D M. David Peterson http://mdavid.name | http://www.oreillynet.com/pub/au/2354 | http://dev.aol.com/blog/3155 From charles.nutter at sun.com Mon Oct 1 16:51:48 2007 From: charles.nutter at sun.com (Charles Oliver Nutter) Date: Mon, 01 Oct 2007 15:51:48 -0500 Subject: [Ironruby-core] Public versus private discussion and community momentum In-Reply-To: References: <47013EE8.8050306@sun.com> Message-ID: <47015DE4.3090805@sun.com> M. David Peterson wrote: > On Mon, 01 Oct 2007 14:32:27 -0600, Curt Hagenlocher > wrote: > >>> I know there's always thoughts about secrecy and springing the next big >>> software surprise on the world when working at Microsoft, but secrecy is >>> poison to an OSS community. > >> does not speak well for his intentions. But if you remove this one >> sentence, his concerns seem pretty reasonable. > > Agreed. In fact it was that exact phrase that caused me to look at the > entire message with shades of doubt. Maybe his intentions were legit. > But with that paragraph in place I have my doubts. I don't fault Microsoft in any way for wanting to have some surprises; that specifically is not any reason for concern. Hell, I have a few surprises I like to/plan to spring and we're a completely open project. But the tendency to keep things behind closed doors is antithetical to the goals of an open project and community. And closed, private conversations *are* poison to a community that wants to feel included and appreciated. If that's not happening, that's great, honestly. I just want to bring it up as a possible concern. I wouldn't be on this list if I weren't interested in seeing how the IronRuby dev/design process is going. - Charlie From charles.nutter at sun.com Mon Oct 1 16:55:35 2007 From: charles.nutter at sun.com (Charles Oliver Nutter) Date: Mon, 01 Oct 2007 15:55:35 -0500 Subject: [Ironruby-core] Public versus private discussion and community momentum In-Reply-To: References: <47013EE8.8050306@sun.com> Message-ID: <47015EC7.9090601@sun.com> M. David Peterson wrote: > Here's the thing: If you don't trust MSFT, don't contribute any code. > Personally I do trust MSFT. At least enough to be willing to contribute > code w/o the need of being a part of every conversation that takes place > regarding the past, present, and/or future of this project. It's not about trust; it's about open source as a two-way street. If you're going to pour your time into making the public half of IronRuby better, perhaps you deserve to know about or have some say in the direction of the other half as well. I don't have any distrust of John's team or intentions; I just would love to see them able to have public rather than private discussions, and I think both the IronRuby and other Ruby communities would benefit from it. - Charlie From jb at nurv.fr Mon Oct 1 16:59:18 2007 From: jb at nurv.fr (Jb Evain) Date: Mon, 1 Oct 2007 22:59:18 +0200 Subject: [Ironruby-core] Public versus private discussion and community momentum In-Reply-To: References: <47013EE8.8050306@sun.com> <470157AB.7070609@sun.com> Message-ID: <69f7d8470710011359v1bb06247xed726ad9baff595e@mail.gmail.com> David, On 10/1/07, M. David Peterson wrote: > I didn't. I suggested that this is what it seemed like and asked you if > you were. Accussing you of being a troll would sound something like, > > Charlie, you're being a troll. I don't think it's worth going this way. Obviously it will take time for the Microsoft folks to go from a completely closed way of working, to an open-source project like those we're used to. But, as Charles Oliver, I'm impatient to see this moving forward. Today, this list rather feel like a forum for people asking questions about IronRuby, and sometimes, a Microsoft engineer answers. I'm a little frustrated as well by this situation, and I'd like to see more technical discussions *between MS engineers* on this list. I also do agree it will probably take some time, we had the exact same issue at db4o. To be honest, I was even about to raise the same concern. So I'm glad the question came out. -- Jb Evain From m.david at xmlhacker.com Mon Oct 1 17:04:13 2007 From: m.david at xmlhacker.com (M. David Peterson) Date: Mon, 01 Oct 2007 15:04:13 -0600 Subject: [Ironruby-core] Public versus private discussion and community momentum In-Reply-To: <47015EC7.9090601@sun.com> References: <47013EE8.8050306@sun.com> <47015EC7.9090601@sun.com> Message-ID: On Mon, 01 Oct 2007 14:55:35 -0600, Charles Oliver Nutter wrote: > I don't have any distrust of John's > team or intentions; I just would love to see them able to have public > rather than private discussions, and I think both the IronRuby and other > Ruby communities would benefit from it. Charlie, I can't help but agree with your overall point. But what you are suggesting is that there *could* be a problem without any real evidence beyond suggesting the list volume is low. Quite frankly while the list volume might be less than jRuby, it's certainly not a ghost town by any stretch of the imagination. So I'm failing to see your point; not from a philisophical level, but from a very specific "where's the evidence?" Fair enough, if your entire point is to simply open up the pipes a bit more, then cool. But that's not the way it came across. -- /M:D M. David Peterson http://mdavid.name | http://www.oreillynet.com/pub/au/2354 | http://dev.aol.com/blog/3155 From m.david at xmlhacker.com Mon Oct 1 17:09:48 2007 From: m.david at xmlhacker.com (M. David Peterson) Date: Mon, 01 Oct 2007 15:09:48 -0600 Subject: [Ironruby-core] Public versus private discussion and community momentum In-Reply-To: <69f7d8470710011359v1bb06247xed726ad9baff595e@mail.gmail.com> References: <47013EE8.8050306@sun.com> <470157AB.7070609@sun.com> <69f7d8470710011359v1bb06247xed726ad9baff595e@mail.gmail.com> Message-ID: On Mon, 01 Oct 2007 14:59:18 -0600, Jb Evain wrote: > I don't think it's worth going this way. If the end result is that greater interaction takes place, then fair enough: Charlie, you're not being a troll. But there is something I think seems to be overlooked: As far as I know, the IronRuby team is composed of three developers, and (potentially) one additional developer on loan. Their trying to ship a 1.0 product. How much additional time do they have? Fast forward to a post 1.0 release: I believe it would be fair to expect a much more interactive community similar to that which has formed over in IronPython. They're now two major releases past their 1.0 release, so it makes sense that they would be able to be more involved. -- /M:D M. David Peterson http://mdavid.name | http://www.oreillynet.com/pub/au/2354 | http://dev.aol.com/blog/3155 From charles.nutter at sun.com Mon Oct 1 17:17:12 2007 From: charles.nutter at sun.com (Charles Oliver Nutter) Date: Mon, 01 Oct 2007 16:17:12 -0500 Subject: [Ironruby-core] Public versus private discussion and community momentum In-Reply-To: References: <47013EE8.8050306@sun.com> <470157AB.7070609@sun.com> <69f7d8470710011359v1bb06247xed726ad9baff595e@mail.gmail.com> Message-ID: <470163D8.5060706@sun.com> M. David Peterson wrote: > On Mon, 01 Oct 2007 14:59:18 -0600, Jb Evain wrote: > >> I don't think it's worth going this way. > > If the end result is that greater interaction takes place, then fair > enough: Charlie, you're not being a troll. > > But there is something I think seems to be overlooked: As far as I know, > the IronRuby team is composed of three developers, and (potentially) one > additional developer on loan. Their trying to ship a 1.0 product. How > much additional time do they have? I heard five developers, but perhaps that was a couple testers/QA as well. I assume they email each other during this process; make those emails on the public list, and suddenly everyone's a part of it. Granted, they also have face-to-face communication, so perhaps there aren't as many email discussions. But I'd love to see more MS chatter on this list, and I think others feel the same way. OSS isn't something you throw over the wall and say "here, fix this, I'll get back to you." Community takes communication. - Charlie From jb at nurv.fr Mon Oct 1 17:19:35 2007 From: jb at nurv.fr (Jb Evain) Date: Mon, 1 Oct 2007 23:19:35 +0200 Subject: [Ironruby-core] Public versus private discussion and community momentum In-Reply-To: References: <47013EE8.8050306@sun.com> <470157AB.7070609@sun.com> <69f7d8470710011359v1bb06247xed726ad9baff595e@mail.gmail.com> Message-ID: <69f7d8470710011419l6b4d0d6bje4fbd45bd840c323@mail.gmail.com> On 10/1/07, M. David Peterson wrote: > But there is something I think seems to be overlooked: As far as I know, > the IronRuby team is composed of three developers, and (potentially) one > additional developer on loan. Their trying to ship a 1.0 product. How > much additional time do they have? It's all about perception. IronRuby has been announced as an open-source project, and as we speak, the development process is pretty much hidden to me. I perfectly understand the need of shipping a product. But I also understand the necessity of being open to succeed in creating an open-source project. Then as I said, I'm perfectly aware it will take time to achieve, but opening things seem to me the only way to succeed in making IronRuby a successful open-source project. So depending on the goals, there's a balance to find between moving the development forward, and getting the community involved. -- Jb Evain From m.david at xmlhacker.com Mon Oct 1 17:22:03 2007 From: m.david at xmlhacker.com (M. David Peterson) Date: Mon, 01 Oct 2007 15:22:03 -0600 Subject: [Ironruby-core] Public versus private discussion and community momentum In-Reply-To: <470163D8.5060706@sun.com> References: <47013EE8.8050306@sun.com> <470157AB.7070609@sun.com> <69f7d8470710011359v1bb06247xed726ad9baff595e@mail.gmail.com> <470163D8.5060706@sun.com> Message-ID: On Mon, 01 Oct 2007 15:17:12 -0600, Charles Oliver Nutter wrote: > I assume they email each other during this process; make those emails on > the public list, and suddenly everyone's a part of it. Granted, they > also have face-to-face communication, so perhaps there aren't as many > email discussions. But I'd love to see more MS chatter on this list, and > I think others feel the same way. OSS isn't something you throw over the > wall and say "here, fix this, I'll get back to you." Community takes > communication. Yeah, you're right. -- /M:D M. David Peterson http://mdavid.name | http://www.oreillynet.com/pub/au/2354 | http://dev.aol.com/blog/3155 From m.david at xmlhacker.com Mon Oct 1 17:23:58 2007 From: m.david at xmlhacker.com (M. David Peterson) Date: Mon, 01 Oct 2007 15:23:58 -0600 Subject: [Ironruby-core] Public versus private discussion and community momentum In-Reply-To: <69f7d8470710011419l6b4d0d6bje4fbd45bd840c323@mail.gmail.com> References: <47013EE8.8050306@sun.com> <470157AB.7070609@sun.com> <69f7d8470710011359v1bb06247xed726ad9baff595e@mail.gmail.com> <69f7d8470710011419l6b4d0d6bje4fbd45bd840c323@mail.gmail.com> Message-ID: On Mon, 01 Oct 2007 15:19:35 -0600, Jb Evain wrote: > So depending on the goals, there's a balance to find between moving > the development forward, and getting the community involved. Agreed. I think it will take some time, and my point regarding the IronPython list is only partially relevant: They don't currently take contributions from the community, so it's really a completely different process. Guess we'll see where things end up. -- /M:D M. David Peterson http://mdavid.name | http://www.oreillynet.com/pub/au/2354 | http://dev.aol.com/blog/3155 From enicholson at gmail.com Mon Oct 1 17:42:15 2007 From: enicholson at gmail.com (Eric Nicholson) Date: Mon, 1 Oct 2007 17:42:15 -0400 Subject: [Ironruby-core] Public versus private discussion and community momentum In-Reply-To: References: <47013EE8.8050306@sun.com> <470157AB.7070609@sun.com> <69f7d8470710011359v1bb06247xed726ad9baff595e@mail.gmail.com> <69f7d8470710011419l6b4d0d6bje4fbd45bd840c323@mail.gmail.com> Message-ID: I think we're pretty lucky to have Charles trolling! And I do agree that more info about what's going on with IronRuby from MS would help us non MS people feel involved. Even if it's just some meeting minutes or notes once a week, that would be appreciated. It is hard to understand exactly how to contribute at the moment without some digging and asking lots of little annoying questions of John, John, and company (who are very gracious and helpful I might add). It's really very exciting to see MS take an open approach with IR. As long as the legal team doesn't stab the community in the back with some intellectual property garbage down the line, then MS and it's community clearly benefit from the cooperation... I've got my fingers crossed, -Eric On 10/1/07, M. David Peterson wrote: > > On Mon, 01 Oct 2007 15:19:35 -0600, Jb Evain wrote: > > > So depending on the goals, there's a balance to find between moving > > the development forward, and getting the community involved. > > Agreed. I think it will take some time, and my point regarding the > IronPython list is only partially relevant: They don't currently take > contributions from the community, so it's really a completely different > process. > > Guess we'll see where things end up. > > -- > /M:D > > M. David Peterson > http://mdavid.name | http://www.oreillynet.com/pub/au/2354 | > http://dev.aol.com/blog/3155 > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071001/b0091b53/attachment.html From sanxiyn at gmail.com Mon Oct 1 21:24:26 2007 From: sanxiyn at gmail.com (Sanghyeon Seo) Date: Tue, 2 Oct 2007 10:24:26 +0900 Subject: [Ironruby-core] Entering try-catch with non-empty stack Message-ID: <5b0248170710011824q65f0d749u704379434fd28330@mail.gmail.com> As a recent thread pointed out, this list so far have been more like ironruby-talk than ironruby-core. :) So, to start the discussion, I have a question. In tests/ironruby/Runtime/Block/test_closure, I see this comment: # TODO: # assert_equal(foo(&p)) were replaced by x = foo(&p); assert_equal(x) # known DLR bug (entering try-catch with non-empty stack) This looks like a same problem JRuby encountered and solved. As Charles is on the list, he could provide some insight. :) A good introduction to this issue from JRuby point of view was written by Ola Bini: http://ola-bini.blogspot.com/2007/08/pain-of-compiling-try-catch.html -- Seo Sanghyeon From charles.nutter at sun.com Mon Oct 1 21:49:36 2007 From: charles.nutter at sun.com (Charles Oliver Nutter) Date: Mon, 01 Oct 2007 20:49:36 -0500 Subject: [Ironruby-core] Entering try-catch with non-empty stack In-Reply-To: <5b0248170710011824q65f0d749u704379434fd28330@mail.gmail.com> References: <5b0248170710011824q65f0d749u704379434fd28330@mail.gmail.com> Message-ID: <4701A3B0.3040307@sun.com> Sanghyeon Seo wrote: > As a recent thread pointed out, this list so far have been more like > ironruby-talk than ironruby-core. :) > > So, to start the discussion, I have a question. In > tests/ironruby/Runtime/Block/test_closure, I see this comment: > > # TODO: > # assert_equal(foo(&p)) were replaced by x = foo(&p); assert_equal(x) > # known DLR bug (entering try-catch with non-empty stack) > > This looks like a same problem JRuby encountered and solved. As > Charles is on the list, he could provide some insight. :) > > A good introduction to this issue from JRuby point of view was written > by Ola Bini: > http://ola-bini.blogspot.com/2007/08/pain-of-compiling-try-catch.html > I don't think this qualifies as a bug; both the JVM and the CLR prepare a new activation (and an empty stack) when you enter an exception-handling section. For a language like Ruby, where you can, for example, prepare arguments to a method call by doing a loop or begin/rescue that ultimately return a value, you need to be able to maintain the stack. XRuby's approach is to save the stack, but I don't believe they support all such situations. JRuby generates a new method for such situations, to allow the original activation maintain the same stack state. In theory both approaches work, but they both have their own complications. Currently we create what's called "synthetic methods" in the JVM to contain the body of e.g. a begin block attached to a rescue block. We may also have to do this for while blocks when there's a chance that stack state must be maintained. I think we can determine statically when we need to create synthetic methods and when we can't. - Charlie From Tomas.Matousek at microsoft.com Mon Oct 1 23:28:39 2007 From: Tomas.Matousek at microsoft.com (Tomas Matousek) Date: Mon, 1 Oct 2007 20:28:39 -0700 Subject: [Ironruby-core] Entering try-catch with non-empty stack In-Reply-To: <4701A3B0.3040307@sun.com> References: <5b0248170710011824q65f0d749u704379434fd28330@mail.gmail.com> <4701A3B0.3040307@sun.com> Message-ID: We are thinking about an AST transformation that would push forward expression evaluations, store results to temp variables and reload them where necessary. But we didn't conclude on this yet. Introducing additional method calls is IMO not necessary. Tomas -----Original Message----- From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Charles Oliver Nutter Sent: Monday, October 01, 2007 6:50 PM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Entering try-catch with non-empty stack Sanghyeon Seo wrote: > As a recent thread pointed out, this list so far have been more like > ironruby-talk than ironruby-core. :) > > So, to start the discussion, I have a question. In > tests/ironruby/Runtime/Block/test_closure, I see this comment: > > # TODO: > # assert_equal(foo(&p)) were replaced by x = foo(&p); assert_equal(x) > # known DLR bug (entering try-catch with non-empty stack) > > This looks like a same problem JRuby encountered and solved. As > Charles is on the list, he could provide some insight. :) > > A good introduction to this issue from JRuby point of view was written > by Ola Bini: > http://ola-bini.blogspot.com/2007/08/pain-of-compiling-try-catch.html > I don't think this qualifies as a bug; both the JVM and the CLR prepare a new activation (and an empty stack) when you enter an exception-handling section. For a language like Ruby, where you can, for example, prepare arguments to a method call by doing a loop or begin/rescue that ultimately return a value, you need to be able to maintain the stack. XRuby's approach is to save the stack, but I don't believe they support all such situations. JRuby generates a new method for such situations, to allow the original activation maintain the same stack state. In theory both approaches work, but they both have their own complications. Currently we create what's called "synthetic methods" in the JVM to contain the body of e.g. a begin block attached to a rescue block. We may also have to do this for while blocks when there's a chance that stack state must be maintained. I think we can determine statically when we need to create synthetic methods and when we can't. - Charlie _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core From charles.nutter at sun.com Mon Oct 1 23:45:25 2007 From: charles.nutter at sun.com (Charles Oliver Nutter) Date: Mon, 01 Oct 2007 22:45:25 -0500 Subject: [Ironruby-core] Entering try-catch with non-empty stack In-Reply-To: References: <5b0248170710011824q65f0d749u704379434fd28330@mail.gmail.com> <4701A3B0.3040307@sun.com> Message-ID: <4701BED5.9080501@sun.com> Tomas Matousek wrote: > We are thinking about an AST transformation that would push forward expression evaluations, store results to temp variables and reload them where necessary. But we didn't conclude on this yet. Introducing additional method calls is IMO not necessary. To me the complexity of this approach is for many nested sets of such expressions: x = 1 x += begin x += begin x += begin x += begin raise rescue 1 end end end end This is somewhat contrived, but there are many cases of at least a couple nested expressions with exception handling that may happen during stack-building. You would need to continue pushing down and storing values on the stack at each level, restoring as you climb back out. FWIW, the above works ok in JRuby right now, but if the begin/rescue is replaced with while loops it fails to compile. I will likely have to use the same approach for while loops, since they also implicitly handle LocalJumpError exceptions. - Charlie From jflam at microsoft.com Tue Oct 2 12:35:58 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Tue, 2 Oct 2007 09:35:58 -0700 Subject: [Ironruby-core] IronRuby community and communications Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> Wow. I was enjoying my day off with my family and my brother who was in town visiting when I discovered this thread on my phone. It was fun reading things go by, but there was no way that I was going to try and respond via T9. But now that I'm back in the office let's begin anew to address some of the issues that were raised yesterday: Charlie Nutter: >> Are there development discussions happening on private lists, >> say inside Microsoft within the IronRuby or DLR team? If so, >> you should really think about moving as much of those discussions >> as possible into the open. When I first joined the company back in January, we had a regular set of F2F meetings called the DLR Design Discussions. Culturally at Microsoft, we do tend to do a lot of technical discussions F2F since, well, we all work within about 50 feet or so of each other :) Almost all complex code reviews and technical design are done in front of a computer/whiteboard in someone's office. Given a choice, like most people, we will take the path of least resistance. That said, I do think that there are a number of things that we can do to improve how we communicate with y'all. So let's address some of the issues raised on the thread and then I'll summarize with some proposals at the end. Charlie Nutter: >> there doesn't appear to be any discussion about the runtime and >> compiler subsystems. Guilty as charged. Partly because of cultural things above, and partly due to lack of bandwidth in driving these discussions in the open. I did have the crazy idea of videotaping our design meetings, but I'm not convinced that's the best way of getting information out to folks - it's really unfiltered and if you lack context they're really rather useless. But wait until the end of this mail to see some ideas. Curt Hagenlocher: >> I think some of what we're seeing is a result of IronRuby's dependence >> on the DLR -- which appears to be far from finalized, and which is not >> going to be driven by the community at all. This is true in the sense that the *implementation* of the DLR will not be driven by the community. However, the *design* of the DLR is absolutely driven by community feedback. The IronRuby compiler is technically 'community' insofar as the DLR itself is concerned, and there's been lots of design changes in DLR due to IronRuby. Jb Evain: >> I'm a little frustrated as well by this situation, and I'd like to >> see more technical discussions *between MS engineers* on this list. Charlie Nutter: >> I heard five developers, but perhaps that was a couple testers/QA >> as well. I'm pretty sure that I talked about our org chart before, but here it is again: Tomas Matousek: compiler dev Haibo Luo: compiler test John Lam: program manager John Messerly from our larger team contributes code as well, but only between stints in his 'real job'. Most of our discussions happen on the whiteboard in 41/5612. I agree that we need to fix this, see end of mail. Some ideas: =========== 1. We hold a bi-weekly (soon to become weekly I think due to the # of times that I cancel it) meeting for the IronRuby team. We can make this available via a toll-free conference call # if folks want to dial into it. We can't do Skype etc. from inside of corpnet. 2. We can put together a weekly summary of changes to IronRuby/DLR so that folks can see the changes. Right now due to the way we sync with svn, we're losing some information from checkin mails. 3. In the same weekly summary, we can post about what we're planning on working on next and folks outside can chime in with status reports on what they're working on and how it's going. I'd love to hear some more ideas about how we can improve our communications / transparency. Thanks, -John From william.yeung.hk at gmail.com Tue Oct 2 12:42:32 2007 From: william.yeung.hk at gmail.com (William Yeung) Date: Wed, 3 Oct 2007 00:42:32 +0800 Subject: [Ironruby-core] IronRuby community and communications In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <7968f1cb0710020942q1285debdx6bdb611eea23d479@mail.gmail.com> Have you guys seen the way how mono report their compatibility? I think this is one thing I really missed. I only know some basic ruby syntax works, but then a lot of the methods are not implemented. If you want everyone know whats going on for a language port, perhaps the best bet is show us a list of all the ruby methods and then the compatibility status. I think with some reflection implementation this thing could be largely automated. For example I keep trying public_instance_methods on class and hope it would bring me the list of implemented methods, with no luck so far :( I, as a user expecting IronRuby to be used by my projects, doesn't really care a lot about how DLR are designed. As long as IronRuby is going to be as close as 100% compatible as possible in shortest time, with reasonable to believe verification result, I don't care. I guess thats most people's concerns too, so if you talk about communications between expecting users and IronRuby team I think that feature list thing is the most concerned. On 10/3/07, John Lam (DLR) wrote: > > Wow. > > I was enjoying my day off with my family and my brother who was in town > visiting when I discovered this thread on my phone. It was fun reading > things go by, but there was no way that I was going to try and respond via > T9. But now that I'm back in the office let's begin anew to address some of > the issues that were raised yesterday: > > Charlie Nutter: > >> Are there development discussions happening on private lists, > >> say inside Microsoft within the IronRuby or DLR team? If so, > >> you should really think about moving as much of those discussions > >> as possible into the open. > > When I first joined the company back in January, we had a regular set of > F2F meetings called the DLR Design Discussions. Culturally at Microsoft, we > do tend to do a lot of technical discussions F2F since, well, we all work > within about 50 feet or so of each other :) Almost all complex code reviews > and technical design are done in front of a computer/whiteboard in someone's > office. Given a choice, like most people, we will take the path of least > resistance. > > That said, I do think that there are a number of things that we can do to > improve how we communicate with y'all. So let's address some of the issues > raised on the thread and then I'll summarize with some proposals at the end. > > Charlie Nutter: > >> there doesn't appear to be any discussion about the runtime and > >> compiler subsystems. > > Guilty as charged. Partly because of cultural things above, and partly due > to lack of bandwidth in driving these discussions in the open. I did have > the crazy idea of videotaping our design meetings, but I'm not convinced > that's the best way of getting information out to folks - it's really > unfiltered and if you lack context they're really rather useless. But wait > until the end of this mail to see some ideas. > > Curt Hagenlocher: > >> I think some of what we're seeing is a result of IronRuby's dependence > >> on the DLR -- which appears to be far from finalized, and which is not > >> going to be driven by the community at all. > > This is true in the sense that the *implementation* of the DLR will not be > driven by the community. However, the *design* of the DLR is absolutely > driven by community feedback. The IronRuby compiler is technically > 'community' insofar as the DLR itself is concerned, and there's been lots of > design changes in DLR due to IronRuby. > > Jb Evain: > >> I'm a little frustrated as well by this situation, and I'd like to > >> see more technical discussions *between MS engineers* on this list. > > Charlie Nutter: > >> I heard five developers, but perhaps that was a couple testers/QA > >> as well. > > I'm pretty sure that I talked about our org chart before, but here it is > again: > > Tomas Matousek: compiler dev > Haibo Luo: compiler test > John Lam: program manager > > John Messerly from our larger team contributes code as well, but only > between stints in his 'real job'. > > Most of our discussions happen on the whiteboard in 41/5612. I agree that > we need to fix this, see end of mail. > > > Some ideas: > =========== > > 1. We hold a bi-weekly (soon to become weekly I think due to the # of > times that I cancel it) meeting for the IronRuby team. We can make this > available via a toll-free conference call # if folks want to dial into it. > We can't do Skype etc. from inside of corpnet. > > 2. We can put together a weekly summary of changes to IronRuby/DLR so that > folks can see the changes. Right now due to the way we sync with svn, we're > losing some information from checkin mails. > > 3. In the same weekly summary, we can post about what we're planning on > working on next and folks outside can chime in with status reports on what > they're working on and how it's going. > > I'd love to hear some more ideas about how we can improve our > communications / transparency. > > Thanks, > -John > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071003/a2caffcb/attachment-0001.html From blowmage at gmail.com Tue Oct 2 12:49:23 2007 From: blowmage at gmail.com (Mike Moore) Date: Tue, 2 Oct 2007 10:49:23 -0600 Subject: [Ironruby-core] IronRuby community and communications In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: On 10/2/07, John Lam (DLR) wrote: > > Wow. > > I was enjoying my day off with my family and my brother who was in town > visiting when I discovered this thread on my phone. It was fun reading > things go by, but there was no way that I was going to try and respond via > T9. But now that I'm back in the office let's begin anew to address some of > the issues that were raised yesterday: > > Charlie Nutter: > >> Are there development discussions happening on private lists, > >> say inside Microsoft within the IronRuby or DLR team? If so, > >> you should really think about moving as much of those discussions > >> as possible into the open. > > When I first joined the company back in January, we had a regular set of > F2F meetings called the DLR Design Discussions. Culturally at Microsoft, we > do tend to do a lot of technical discussions F2F since, well, we all work > within about 50 feet or so of each other :) Almost all complex code reviews > and technical design are done in front of a computer/whiteboard in someone's > office. Given a choice, like most people, we will take the path of least > resistance. > > That said, I do think that there are a number of things that we can do to > improve how we communicate with y'all. So let's address some of the issues > raised on the thread and then I'll summarize with some proposals at the end. > > Charlie Nutter: > >> there doesn't appear to be any discussion about the runtime and > >> compiler subsystems. > > Guilty as charged. Partly because of cultural things above, and partly due > to lack of bandwidth in driving these discussions in the open. I did have > the crazy idea of videotaping our design meetings, but I'm not convinced > that's the best way of getting information out to folks - it's really > unfiltered and if you lack context they're really rather useless. But wait > until the end of this mail to see some ideas. > > Curt Hagenlocher: > >> I think some of what we're seeing is a result of IronRuby's dependence > >> on the DLR -- which appears to be far from finalized, and which is not > >> going to be driven by the community at all. > > This is true in the sense that the *implementation* of the DLR will not be > driven by the community. However, the *design* of the DLR is absolutely > driven by community feedback. The IronRuby compiler is technically > 'community' insofar as the DLR itself is concerned, and there's been lots of > design changes in DLR due to IronRuby. > > Jb Evain: > >> I'm a little frustrated as well by this situation, and I'd like to > >> see more technical discussions *between MS engineers* on this list. > > Charlie Nutter: > >> I heard five developers, but perhaps that was a couple testers/QA > >> as well. > > I'm pretty sure that I talked about our org chart before, but here it is > again: > > Tomas Matousek: compiler dev > Haibo Luo: compiler test > John Lam: program manager > > John Messerly from our larger team contributes code as well, but only > between stints in his 'real job'. > > Most of our discussions happen on the whiteboard in 41/5612. I agree that > we need to fix this, see end of mail. > > > Some ideas: > =========== > > 1. We hold a bi-weekly (soon to become weekly I think due to the # of > times that I cancel it) meeting for the IronRuby team. We can make this > available via a toll-free conference call # if folks want to dial into it. > We can't do Skype etc. from inside of corpnet. I think this is a great idea. I'd certainly block my schedule to call in and listen. If this works then perhaps the community could help with note taking and information dissemination. 2. We can put together a weekly summary of changes to IronRuby/DLR so that > folks can see the changes. Right now due to the way we sync with svn, we're > losing some information from checkin mails. I do think this would be helpful. 3. In the same weekly summary, we can post about what we're planning on > working on next and folks outside can chime in with status reports on what > they're working on and how it's going. > > I'd love to hear some more ideas about how we can improve our > communications / transparency. I agree with William Yeung's response about the desire for a status mechanism at the module/class/method level. Again, maybe this is something that folks outside of Microsoft can maintain once we know the plan. I think this would really help us know when features are scheduled to be implemented, and where we can contribute. Thanks, > -John > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071002/f2f5b033/attachment.html From haacked at gmail.com Tue Oct 2 13:15:34 2007 From: haacked at gmail.com (Phil Haack) Date: Tue, 2 Oct 2007 10:15:34 -0700 Subject: [Ironruby-core] IronRuby community and communications In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <040901c80517$d9471480$8bd53d80$@com> Getting access to original commit emails would be a very useful way of seeing what changes are being made. Is it possible to put that on a mailing list, if it isn't already? -----Original Message----- From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of John Lam (DLR) Sent: Tuesday, October 02, 2007 9:36 AM To: ironruby-core at rubyforge.org Subject: [Ironruby-core] IronRuby community and communications Wow. I was enjoying my day off with my family and my brother who was in town visiting when I discovered this thread on my phone. It was fun reading things go by, but there was no way that I was going to try and respond via T9. But now that I'm back in the office let's begin anew to address some of the issues that were raised yesterday: Charlie Nutter: >> Are there development discussions happening on private lists, >> say inside Microsoft within the IronRuby or DLR team? If so, >> you should really think about moving as much of those discussions >> as possible into the open. When I first joined the company back in January, we had a regular set of F2F meetings called the DLR Design Discussions. Culturally at Microsoft, we do tend to do a lot of technical discussions F2F since, well, we all work within about 50 feet or so of each other :) Almost all complex code reviews and technical design are done in front of a computer/whiteboard in someone's office. Given a choice, like most people, we will take the path of least resistance. That said, I do think that there are a number of things that we can do to improve how we communicate with y'all. So let's address some of the issues raised on the thread and then I'll summarize with some proposals at the end. Charlie Nutter: >> there doesn't appear to be any discussion about the runtime and >> compiler subsystems. Guilty as charged. Partly because of cultural things above, and partly due to lack of bandwidth in driving these discussions in the open. I did have the crazy idea of videotaping our design meetings, but I'm not convinced that's the best way of getting information out to folks - it's really unfiltered and if you lack context they're really rather useless. But wait until the end of this mail to see some ideas. Curt Hagenlocher: >> I think some of what we're seeing is a result of IronRuby's dependence >> on the DLR -- which appears to be far from finalized, and which is not >> going to be driven by the community at all. This is true in the sense that the *implementation* of the DLR will not be driven by the community. However, the *design* of the DLR is absolutely driven by community feedback. The IronRuby compiler is technically 'community' insofar as the DLR itself is concerned, and there's been lots of design changes in DLR due to IronRuby. Jb Evain: >> I'm a little frustrated as well by this situation, and I'd like to >> see more technical discussions *between MS engineers* on this list. Charlie Nutter: >> I heard five developers, but perhaps that was a couple testers/QA >> as well. I'm pretty sure that I talked about our org chart before, but here it is again: Tomas Matousek: compiler dev Haibo Luo: compiler test John Lam: program manager John Messerly from our larger team contributes code as well, but only between stints in his 'real job'. Most of our discussions happen on the whiteboard in 41/5612. I agree that we need to fix this, see end of mail. Some ideas: =========== 1. We hold a bi-weekly (soon to become weekly I think due to the # of times that I cancel it) meeting for the IronRuby team. We can make this available via a toll-free conference call # if folks want to dial into it. We can't do Skype etc. from inside of corpnet. 2. We can put together a weekly summary of changes to IronRuby/DLR so that folks can see the changes. Right now due to the way we sync with svn, we're losing some information from checkin mails. 3. In the same weekly summary, we can post about what we're planning on working on next and folks outside can chime in with status reports on what they're working on and how it's going. I'd love to hear some more ideas about how we can improve our communications / transparency. Thanks, -John _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core From jflam at microsoft.com Tue Oct 2 14:54:12 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Tue, 2 Oct 2007 11:54:12 -0700 Subject: [Ironruby-core] IronRuby community and communications In-Reply-To: <7968f1cb0710020942q1285debdx6bdb611eea23d479@mail.gmail.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> <7968f1cb0710020942q1285debdx6bdb611eea23d479@mail.gmail.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D297405A@NA-EXMSG-C115.redmond.corp.microsoft.com> > Behalf Of William Yeung: > > Have you guys seen the way how mono report their compatibility? I > think this is one thing I really missed. I really like the way MOMA works. I agree that we can automate much of this stuff. Essentially we just have to run a script over the Ruby libraries and implement some methods on Class and diff the output. In fact we already have an internal tool that sort of does this and generates some of the comments that you'll see in sources under Builtins/ I'll look at what it would take to automate generating HTML reports out of this so that folks can quickly get a feel for what is and isn't implemented. Thanks, -John From paulo.koch at gmail.com Tue Oct 2 15:39:55 2007 From: paulo.koch at gmail.com (=?UTF-8?Q?Paulo_K=C3=B6ch?=) Date: Tue, 2 Oct 2007 20:39:55 +0100 Subject: [Ironruby-core] IronRuby community and communications In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <18b477210710021239h13ce8eb7mb0608deee9c734c@mail.gmail.com> Hi! First of all, Mr. Lam, your attitude is really refreshing. Such upfront honest feedback is always good. Thank you! =) On 10/2/07, Mike Moore wrote: > If this works then perhaps the community could help with note > taking and information dissemination. This would be wonderful, specially for foreigners like me. I could lend a hand in transcriptions. From jgbailey at gmail.com Tue Oct 2 17:20:53 2007 From: jgbailey at gmail.com (Justin Bailey) Date: Tue, 2 Oct 2007 14:20:53 -0700 Subject: [Ironruby-core] Help running IronRuby tests Message-ID: I'd like to know how to run the unit tests, so I can check if my change broke anything. The test harness is a little weird, in that it wants a bunch of strange environment variables and paths. For example, trying "ruby run.rb" in tests\ironruby gives: tests/ironruby/common.rb:25: undefined method `+' for nil:NilClass (NoMethodError) from run.rb:5:in `require' from run.rb:5 The stack trace points to this code in common.rb: MERLIN_ROOT = get_environment_variable('MERLIN_ROOT') TEST_DIR = MERLIN_ROOT + "/Languages/Ruby/Tests" CORECLR_ROOT = MERLIN_ROOT + "/Utilities/Silverlight/x86ret" ROWAN_BIN = get_environment_variable('ROWAN_BIN') Where the "TEST_DIR" assignment fails. Anyone know a simple way to get the test harness running? I'd be glad to test any instructions :) Justin -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071002/2dac9206/attachment.html From jflam at microsoft.com Tue Oct 2 17:29:11 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Tue, 2 Oct 2007 14:29:11 -0700 Subject: [Ironruby-core] Help running IronRuby tests In-Reply-To: References: Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D297417C@NA-EXMSG-C115.redmond.corp.microsoft.com> Haibo on my team is working on a fix for this. We should have something for you by end of day tomorrow. Thanks, -John From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Justin Bailey Sent: Tuesday, October 02, 2007 2:21 PM To: ironruby-core at rubyforge.org Subject: [Ironruby-core] Help running IronRuby tests I'd like to know how to run the unit tests, so I can check if my change broke anything. The test harness is a little weird, in that it wants a bunch of strange environment variables and paths. For example, trying "ruby run.rb" in tests\ironruby gives: tests/ironruby/common.rb:25: undefined method `+' for nil:NilClass (NoMethodError) from run.rb:5:in `require' from run.rb:5 The stack trace points to this code in common.rb: MERLIN_ROOT = get_environment_variable('MERLIN_ROOT') TEST_DIR = MERLIN_ROOT + "/Languages/Ruby/Tests" CORECLR_ROOT = MERLIN_ROOT + "/Utilities/Silverlight/x86ret" ROWAN_BIN = get_environment_variable('ROWAN_BIN') Where the "TEST_DIR" assignment fails. Anyone know a simple way to get the test harness running? I'd be glad to test any instructions :) Justin -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071002/5758f481/attachment-0001.html From m.david at xmlhacker.com Wed Oct 3 05:20:07 2007 From: m.david at xmlhacker.com (M. David Peterson) Date: Wed, 03 Oct 2007 03:20:07 -0600 Subject: [Ironruby-core] IronRuby community and communications In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: On Tue, 02 Oct 2007 10:35:58 -0600, John Lam (DLR) wrote: > I'd love to hear some more ideas about how we can improve our > communications / transparency. Sounds like the perfect opportunity to dogfood from the Masters Bowl ;-) http://office.microsoft.com/en-us/livemeeting/ http://office.microsoft.com/en-us/groove/ BTW... While I have to admit that I am not surprised to see your response, it's *FANTASTIC* to see your level of activism on this matter, John! Obviously I can't claim that anything I said or did helped spur this response, so I won't**. But I'm certainly happy that the end result seems to be exactly what it needed to be. ** CREDIT: Charlie "Is *NOT* A Troll" Nutter and Jb "I'd Prefer IronAspect, But IronRuby Will Do For Now" Evain -- /M:D M. David Peterson http://mdavid.name | http://www.oreillynet.com/pub/au/2354 | http://dev.aol.com/blog/3155 From m.david at xmlhacker.com Wed Oct 3 05:30:25 2007 From: m.david at xmlhacker.com (M. David Peterson) Date: Wed, 03 Oct 2007 03:30:25 -0600 Subject: [Ironruby-core] IronRuby community and communications In-Reply-To: <7968f1cb0710020942q1285debdx6bdb611eea23d479@mail.gmail.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> <7968f1cb0710020942q1285debdx6bdb611eea23d479@mail.gmail.com> Message-ID: On Tue, 02 Oct 2007 10:42:32 -0600, William Yeung wrote: > Have you guys seen the way how mono report their compatibility? The thing I dislike about this particular implementation[1] is that it requires you to drill-down through the class heirarchy manually. Personally I prefer the JAPI-style overview[2], but none-the-less agree this would be a *FANTASTIC* tool to have available. Pat (Eyler, Cc'd): Do you know if something like this exists for comparing the various Ruby implementations against cRuby (is that the proper reference to Matz's Ruby runtime+library?) [1] http://mono.ximian.com/class-status/mono-HEAD-vs-fx-1-1/ [2] http://www.frijters.net/IKVM-0.36-vs-JDK-1.6.html -- /M:D M. David Peterson http://mdavid.name | http://www.oreillynet.com/pub/au/2354 | http://dev.aol.com/blog/3155 From sanxiyn at gmail.com Wed Oct 3 05:44:53 2007 From: sanxiyn at gmail.com (Sanghyeon Seo) Date: Wed, 3 Oct 2007 18:44:53 +0900 Subject: [Ironruby-core] IronRuby community and communications In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> <7968f1cb0710020942q1285debdx6bdb611eea23d479@mail.gmail.com> Message-ID: <5b0248170710030244h5fe28a3aq8da86402aa015a5e@mail.gmail.com> 2007/10/3, M. David Peterson : > cRuby (is that the proper reference to Matz's Ruby runtime+library?) It is often referred as MRI (Matz's Ruby Interpreter/Implementation), although CRuby is also used. -- Seo Sanghyeon From m.david at xmlhacker.com Wed Oct 3 05:46:57 2007 From: m.david at xmlhacker.com (M. David Peterson) Date: Wed, 03 Oct 2007 03:46:57 -0600 Subject: [Ironruby-core] IronRuby community and communications In-Reply-To: <5b0248170710030244h5fe28a3aq8da86402aa015a5e@mail.gmail.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> <7968f1cb0710020942q1285debdx6bdb611eea23d479@mail.gmail.com> <5b0248170710030244h5fe28a3aq8da86402aa015a5e@mail.gmail.com> Message-ID: On Wed, 03 Oct 2007 03:44:53 -0600, Sanghyeon Seo wrote: > It is often referred as MRI (Matz's Ruby Interpreter/Implementation), > although CRuby is also used. Ahh, got it. Thanks, Seo! :D -- /M:D M. David Peterson http://mdavid.name | http://www.oreillynet.com/pub/au/2354 | http://dev.aol.com/blog/3155 From charles.nutter at sun.com Wed Oct 3 06:00:08 2007 From: charles.nutter at sun.com (Charles Oliver Nutter) Date: Wed, 03 Oct 2007 05:00:08 -0500 Subject: [Ironruby-core] IronRuby community and communications In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> <7968f1cb0710020942q1285debdx6bdb611eea23d479@mail.gmail.com> Message-ID: <47036828.6040907@sun.com> M. David Peterson wrote: > On Tue, 02 Oct 2007 10:42:32 -0600, William Yeung > wrote: > >> Have you guys seen the way how mono report their compatibility? > > The thing I dislike about this particular implementation[1] is that it > requires you to drill-down through the class heirarchy manually. > Personally I prefer the JAPI-style overview[2], but none-the-less agree > this would be a *FANTASTIC* tool to have available. > > Pat (Eyler, Cc'd): Do you know if something like this exists for comparing > the various Ruby implementations against cRuby (is that the proper > reference to Matz's Ruby runtime+library?) I'm not Pat, but I know we've never found anything. There have been various scripts bandied about to compare method lists, but that's a fairly superficial measurement. We would *love* to have a more definitive tool that can check completion level. - Charlie From m.david at xmlhacker.com Wed Oct 3 06:31:22 2007 From: m.david at xmlhacker.com (M. David Peterson) Date: Wed, 03 Oct 2007 04:31:22 -0600 Subject: [Ironruby-core] IronRuby community and communications In-Reply-To: <47036828.6040907@sun.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> <7968f1cb0710020942q1285debdx6bdb611eea23d479@mail.gmail.com> <47036828.6040907@sun.com> Message-ID: On Wed, 03 Oct 2007 04:00:08 -0600, Charles Oliver Nutter wrote: > We would *love* to have a more > definitive tool that can check completion level. So where do we begin? -- /M:D M. David Peterson http://mdavid.name | http://www.oreillynet.com/pub/au/2354 | http://dev.aol.com/blog/3155 From m.david at xmlhacker.com Wed Oct 3 06:49:46 2007 From: m.david at xmlhacker.com (M. David Peterson) Date: Wed, 03 Oct 2007 04:49:46 -0600 Subject: [Ironruby-core] IronRuby community and communications In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> <7968f1cb0710020942q1285debdx6bdb611eea23d479@mail.gmail.com> <47036828.6040907@sun.com> Message-ID: On Wed, 03 Oct 2007 04:31:22 -0600, M. David Peterson wrote: > So where do we begin? BTW... If we could get a similar XML output to http://mdavid.googlecode.com/svn/trunk/IronRuby/IronRuby.xml that represents the MRI/CRuby language runtime it would at very least give us a simple foundation to build and extend from. Of course this particular format does nothing to specify whether the class/method has actually been implemented or if it's simply a skeleton framework that throws class/method not implemented exceptions, though there are enough tools out there that are able to introspect the inner workings of an API that leads me to believe that there's got to be an off-the-shelf tool out there that can drill down deeper and report its findings. Anyone know of just such a tool? -- /M:D M. David Peterson http://mdavid.name | http://www.oreillynet.com/pub/au/2354 | http://dev.aol.com/blog/3155 From charles.nutter at sun.com Wed Oct 3 07:02:36 2007 From: charles.nutter at sun.com (Charles Oliver Nutter) Date: Wed, 03 Oct 2007 06:02:36 -0500 Subject: [Ironruby-core] IronRuby community and communications In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> <7968f1cb0710020942q1285debdx6bdb611eea23d479@mail.gmail.com> <47036828.6040907@sun.com> Message-ID: <470376CC.9070800@sun.com> M. David Peterson wrote: > On Wed, 03 Oct 2007 04:00:08 -0600, Charles Oliver Nutter > wrote: > >> We would *love* to have a more >> definitive tool that can check completion level. > > So where do we begin? Great question! - Charlie From m.david at xmlhacker.com Wed Oct 3 07:06:12 2007 From: m.david at xmlhacker.com (M. David Peterson) Date: Wed, 03 Oct 2007 05:06:12 -0600 Subject: [Ironruby-core] IronRuby community and communications In-Reply-To: <470376CC.9070800@sun.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> <7968f1cb0710020942q1285debdx6bdb611eea23d479@mail.gmail.com> <47036828.6040907@sun.com> <470376CC.9070800@sun.com> Message-ID: On Wed, 03 Oct 2007 05:02:36 -0600, Charles Oliver Nutter wrote: > Great question! Thanks! :D -- /M:D M. David Peterson http://mdavid.name | http://www.oreillynet.com/pub/au/2354 | http://dev.aol.com/blog/3155 From charles.nutter at sun.com Wed Oct 3 09:03:08 2007 From: charles.nutter at sun.com (Charles Oliver Nutter) Date: Wed, 03 Oct 2007 08:03:08 -0500 Subject: [Ironruby-core] Fwd: IronRuby community and communications In-Reply-To: <6fd0654b0710030547i5ee22019j18346b35114a3823@mail.gmail.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> <7968f1cb0710020942q1285debdx6bdb611eea23d479@mail.gmail.com> <6fd0654b0710030546g491e257dsf67c8ef610836b43@mail.gmail.com> <6fd0654b0710030547i5ee22019j18346b35114a3823@mail.gmail.com> Message-ID: <4703930C.5090700@sun.com> pat eyler wrote: > ---------- Forwarded message ---------- > From: pat eyler > Date: Oct 3, 2007 6:46 AM > Subject: Re: [Ironruby-core] IronRuby community and communications > To: "M. David Peterson" > Cc: ironruby-core at rubyforge.org > > > On 10/3/07, M. David Peterson wrote: >> The thing I dislike about this particular implementation[1] is that it >> requires you to drill-down through the class heirarchy manually. >> Personally I prefer the JAPI-style overview[2], but none-the-less agree >> this would be a *FANTASTIC* tool to have available. >> >> Pat (Eyler, Cc'd): Do you know if something like this exists for comparing >> the various Ruby implementations against cRuby (is that the proper >> reference to Matz's Ruby runtime+library?) >> > > This is kind of a work in progress, but the ruby spec project is the > basis for this kind of testing/reporting. I'll pass the idea along to > Charlie and Evan. Is anyone from the IronRuby core coming to > RubyConf this year? I think this is one of the ideas that really > ought to be discussed during the implementers summit. Ok ok, I'll weigh in now. RubySpec is a human-readable spec wiki I put up for community members to collaboratively build a Ruby specification. It's made fairly good progress. http://www.headius.com/rubyspec Rubinius contains a number of rspec specs that form the testing half of the equation. The hope is that this suite of specs will continue to grow to provide a complete specification test suite for Ruby implementations. Evan can talk more about that side of things. The rspec specs will probably be more useful as a measure of completeness, but they do require that an implementation can at least successfully run them (albeit not perfectly) so that errors and missing features can be gathered. I'm not sure if IronRuby is to that point yet or not. We have been running some of Rubinius's specs in JRuby for several months, along with just about every test suite we can get our hands on. I'd love to see us cooperate here. - Charlie From william.yeung.hk at gmail.com Wed Oct 3 09:30:40 2007 From: william.yeung.hk at gmail.com (William Yeung) Date: Wed, 3 Oct 2007 21:30:40 +0800 Subject: [Ironruby-core] IronRuby community and communications In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <7968f1cb0710030630x6af09939r912f0033848fc988@mail.gmail.com> I dont think dogfood groove is a good idea unless a lot of users would be entitled for such tool. Otherwise people see this is a way to sell more MS products than helping the community. Don't forget you are facing a lot of geeks who expect everything could be done in source code :) On 10/3/07, M. David Peterson wrote: > > On Tue, 02 Oct 2007 10:35:58 -0600, John Lam (DLR) > wrote: > > > I'd love to hear some more ideas about how we can improve our > > communications / transparency. > > Sounds like the perfect opportunity to dogfood from the Masters Bowl ;-) > > http://office.microsoft.com/en-us/livemeeting/ > > http://office.microsoft.com/en-us/groove/ > > BTW... While I have to admit that I am not surprised to see your response, > it's *FANTASTIC* to see your level of activism on this matter, John! > Obviously I can't claim that anything I said or did helped spur this > response, so I won't**. But I'm certainly happy that the end result seems > to be exactly what it needed to be. > > ** CREDIT: Charlie "Is *NOT* A Troll" Nutter and Jb "I'd Prefer > IronAspect, But IronRuby Will Do For Now" Evain > > -- > /M:D > > M. David Peterson > http://mdavid.name | http://www.oreillynet.com/pub/au/2354 | > http://dev.aol.com/blog/3155 > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071003/927fde6c/attachment-0001.html From m.david at xmlhacker.com Wed Oct 3 09:45:28 2007 From: m.david at xmlhacker.com (M. David Peterson) Date: Wed, 03 Oct 2007 07:45:28 -0600 Subject: [Ironruby-core] IronRuby community and communications In-Reply-To: <7968f1cb0710030630x6af09939r912f0033848fc988@mail.gmail.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> <7968f1cb0710030630x6af09939r912f0033848fc988@mail.gmail.com> Message-ID: On Wed, 03 Oct 2007 07:30:40 -0600, William Yeung wrote: > I dont think dogfood groove is a good idea unless a lot of users would > be entitled for such tool. Oh, I agree that there would need to be some sort of license that could be allocated for use by IronRuby community members at no cost. Maybe signing a contributor agreement could be used as a definitive market as to those who are serious about being involved and as such would benefit from a Groove license for the purpose of community collaboration? Not sure, but it seems like if nothing else it could be an interesting use-case for the Groove team. And a good use-case can be worth it's weight in gold, so if nothing else there would at least be that. -- /M:D M. David Peterson http://mdavid.name | http://www.oreillynet.com/pub/au/2354 | http://dev.aol.com/blog/3155 From m.david at xmlhacker.com Wed Oct 3 09:46:16 2007 From: m.david at xmlhacker.com (M. David Peterson) Date: Wed, 03 Oct 2007 07:46:16 -0600 Subject: [Ironruby-core] IronRuby community and communications In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> <7968f1cb0710030630x6af09939r912f0033848fc988@mail.gmail.com> Message-ID: On Wed, 03 Oct 2007 07:45:28 -0600, M. David Peterson wrote: > market s/market/marker -- /M:D M. David Peterson http://mdavid.name | http://www.oreillynet.com/pub/au/2354 | http://dev.aol.com/blog/3155 From william.yeung.hk at gmail.com Wed Oct 3 10:36:45 2007 From: william.yeung.hk at gmail.com (William Yeung) Date: Wed, 3 Oct 2007 22:36:45 +0800 Subject: [Ironruby-core] IronRuby community and communications In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> <7968f1cb0710030630x6af09939r912f0033848fc988@mail.gmail.com> Message-ID: <7968f1cb0710030736l2e9e7e29re30df6ca2b3346c@mail.gmail.com> If you can make this happen like how ReSharper did on the CastleProject community, that's really a good idea. (Obviously I am from Castle project community as you can see :P I am not the contributors though, so I don't have ReSharper license. However its all because of their praise to the tool makes me did the purchase and never regret afterwards!) On 10/3/07, M. David Peterson wrote: > > On Wed, 03 Oct 2007 07:30:40 -0600, William Yeung > wrote: > > > I dont think dogfood groove is a good idea unless a lot of users would > > be entitled for such tool. > > Oh, I agree that there would need to be some sort of license that could be > allocated for use by IronRuby community members at no cost. Maybe signing > a contributor agreement could be used as a definitive market as to those > who are serious about being involved and as such would benefit from a > Groove license for the purpose of community collaboration? > > Not sure, but it seems like if nothing else it could be an interesting > use-case for the Groove team. And a good use-case can be worth it's > weight in gold, so if nothing else there would at least be that. > > -- > /M:D > > M. David Peterson > http://mdavid.name | http://www.oreillynet.com/pub/au/2354 | > http://dev.aol.com/blog/3155 > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071003/a62fc547/attachment.html From m.david at xmlhacker.com Wed Oct 3 11:01:09 2007 From: m.david at xmlhacker.com (M. David Peterson) Date: Wed, 03 Oct 2007 09:01:09 -0600 Subject: [Ironruby-core] IronRuby community and communications In-Reply-To: <7968f1cb0710030736l2e9e7e29re30df6ca2b3346c@mail.gmail.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> <7968f1cb0710030630x6af09939r912f0033848fc988@mail.gmail.com> <7968f1cb0710030736l2e9e7e29re30df6ca2b3346c@mail.gmail.com> Message-ID: On Wed, 03 Oct 2007 08:36:45 -0600, William Yeung wrote: > If you can make this happen like how ReSharper did on the CastleProject > community, that's really a good idea. There's nothing I can do other than speak up and state my case as to why I might think one thing or another would be good/bad/indifferent. As Charlie has proven, sometimes the best way to get something accomplished is to find ways to get people vocal about a particular topic of interest. To be honest I'm not 100% that Groove is the perfect fit in this particular use-case. But I think it might be. Would be fun to find out! :D Any thoughts from the community at large? -- /M:D M. David Peterson http://mdavid.name | http://www.oreillynet.com/pub/au/2354 | http://dev.aol.com/blog/3155 From blowmage at gmail.com Wed Oct 3 11:26:31 2007 From: blowmage at gmail.com (Mike Moore) Date: Wed, 3 Oct 2007 09:26:31 -0600 Subject: [Ironruby-core] IronRuby community and communications In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> <7968f1cb0710030630x6af09939r912f0033848fc988@mail.gmail.com> <7968f1cb0710030736l2e9e7e29re30df6ca2b3346c@mail.gmail.com> Message-ID: On 10/3/07, M. David Peterson wrote: > > On Wed, 03 Oct 2007 08:36:45 -0600, William Yeung > wrote: > > > If you can make this happen like how ReSharper did on the CastleProject > > community, that's really a good idea. > > There's nothing I can do other than speak up and state my case as to why I > might think one thing or another would be good/bad/indifferent. As > Charlie has proven, sometimes the best way to get something accomplished > is to find ways to get people vocal about a particular topic of interest. > > To be honest I'm not 100% that Groove is the perfect fit in this > particular use-case. But I think it might be. Would be fun to find out! > :D > > Any thoughts from the community at large? I'm not opposed to Groove. It does limit contributors to those on Windows, or have access to running Windows. I doubt that is much of a restriction though, as testing IronRuby on *only* Mono seems rather risky. If Microsoft could pony up Groove licenses for all contributors I'd certainly try to make it work. But, I'm also not opposed to running development using Trac, or some other well known PM tool, either. The tools aren't as important to me as having a bit more structure. -- > /M:D > > M. David Peterson > http://mdavid.name | http://www.oreillynet.com/pub/au/2354 | > http://dev.aol.com/blog/3155 > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071003/6b879d3e/attachment.html From m.david at xmlhacker.com Wed Oct 3 11:57:43 2007 From: m.david at xmlhacker.com (M. David Peterson) Date: Wed, 03 Oct 2007 09:57:43 -0600 Subject: [Ironruby-core] IronRuby community and communications In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> <7968f1cb0710030630x6af09939r912f0033848fc988@mail.gmail.com> <7968f1cb0710030736l2e9e7e29re30df6ca2b3346c@mail.gmail.com> Message-ID: On Wed, 03 Oct 2007 09:26:31 -0600, Mike Moore wrote: > But, I'm also not opposed to running development using Trac, or some > other well known PM tool, either. The tools aren't as important to me > as having a bit more structure. +1 -- /M:D M. David Peterson http://mdavid.name | http://www.oreillynet.com/pub/au/2354 | http://dev.aol.com/blog/3155 From haacked at gmail.com Wed Oct 3 12:03:28 2007 From: haacked at gmail.com (Phil Haack) Date: Wed, 3 Oct 2007 09:03:28 -0700 Subject: [Ironruby-core] IronRuby community and communications In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> <7968f1cb0710030630x6af09939r912f0033848fc988@mail.gmail.com> <7968f1cb0710030736l2e9e7e29re30df6ca2b3346c@mail.gmail.com> Message-ID: <04cf01c805d6$f03d5270$d0b7f750$@com> Forgive me if this seems like a na?ve question, but since the project is hosted on RubyForge, why not use its facilities to run the project. Is it not up to snuff? Phil Haack http://haacked.com/ From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Mike Moore Sent: Wednesday, October 03, 2007 8:27 AM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] IronRuby community and communications On 10/3/07, M. David Peterson wrote: On Wed, 03 Oct 2007 08:36:45 -0600, William Yeung wrote: > If you can make this happen like how ReSharper did on the CastleProject > community, that's really a good idea. There's nothing I can do other than speak up and state my case as to why I might think one thing or another would be good/bad/indifferent. As Charlie has proven, sometimes the best way to get something accomplished is to find ways to get people vocal about a particular topic of interest. To be honest I'm not 100% that Groove is the perfect fit in this particular use-case. But I think it might be. Would be fun to find out! :D Any thoughts from the community at large? I'm not opposed to Groove. It does limit contributors to those on Windows, or have access to running Windows. I doubt that is much of a restriction though, as testing IronRuby on *only* Mono seems rather risky. If Microsoft could pony up Groove licenses for all contributors I'd certainly try to make it work. But, I'm also not opposed to running development using Trac, or some other well known PM tool, either. The tools aren't as important to me as having a bit more structure. -- /M:D M. David Peterson http://mdavid.name | http://www.oreillynet.com/pub/au/2354 | http://dev.aol.com/blog/3155 _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071003/396b16da/attachment-0001.html From m.david at xmlhacker.com Wed Oct 3 12:29:26 2007 From: m.david at xmlhacker.com (M. David Peterson) Date: Wed, 03 Oct 2007 10:29:26 -0600 Subject: [Ironruby-core] IronRuby community and communications In-Reply-To: <04cf01c805d6$f03d5270$d0b7f750$@com> References: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> <7968f1cb0710030630x6af09939r912f0033848fc988@mail.gmail.com> <7968f1cb0710030736l2e9e7e29re30df6ca2b3346c@mail.gmail.com> <04cf01c805d6$f03d5270$d0b7f750$@com> Message-ID: On Wed, 03 Oct 2007 10:03:28 -0600, Phil Haack wrote: > Forgive me if this seems like a na?ve question, but since the project is > hosted on RubyForge, why not use its facilities to run the project. Is > it not up to snuff? This conversation stems mostly from the "How can external folks get involved with participating in meetings and collaborating on design docs?". RubyForge is fine for the standard bug tracking, doc developement, etc, but as far as I know there are no tools in place to allow for any type of decentralized communication and collaboration type features. -- /M:D M. David Peterson http://mdavid.name | http://www.oreillynet.com/pub/au/2354 | http://dev.aol.com/blog/3155 From haacked at gmail.com Wed Oct 3 12:59:50 2007 From: haacked at gmail.com (Phil Haack) Date: Wed, 3 Oct 2007 09:59:50 -0700 Subject: [Ironruby-core] IronRuby community and communications In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> <7968f1cb0710030630x6af09939r912f0033848fc988@mail.gmail.com> <7968f1cb0710030736l2e9e7e29re30df6ca2b3346c@mail.gmail.com> <04cf01c805d6$f03d5270$d0b7f750$@com> Message-ID: <04ec01c805de$d08eb0b0$71ac1210$@com> Ah, thanks for the clarification! Well for any artifacts such as design docs, I'd love to see them in the SVN repository since they should be versioned anyways. As for actual real-time meetings, I've always liked Skype, but there's a limit in the # of users in a conf call. Live Meeting ought to work for that, though it's a pain to set up properly. Anyone play around with BaseCamp for this sort of thing? Phil -----Original Message----- From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of M. David Peterson Sent: Wednesday, October 03, 2007 9:29 AM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] IronRuby community and communications On Wed, 03 Oct 2007 10:03:28 -0600, Phil Haack wrote: > Forgive me if this seems like a na?ve question, but since the project is > hosted on RubyForge, why not use its facilities to run the project. Is > it not up to snuff? This conversation stems mostly from the "How can external folks get involved with participating in meetings and collaborating on design docs?". RubyForge is fine for the standard bug tracking, doc developement, etc, but as far as I know there are no tools in place to allow for any type of decentralized communication and collaboration type features. -- /M:D M. David Peterson http://mdavid.name | http://www.oreillynet.com/pub/au/2354 | http://dev.aol.com/blog/3155 _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core From enicholson at gmail.com Wed Oct 3 22:43:22 2007 From: enicholson at gmail.com (Eric Nicholson) Date: Wed, 3 Oct 2007 22:43:22 -0400 Subject: [Ironruby-core] IO, File Implementations In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D2973777@NA-EXMSG-C115.redmond.corp.microsoft.com> <5b0248170710010805n6347fc00k106053e5a18e2a93@mail.gmail.com> Message-ID: Ok, so I should have asked this sooner, but... Do core classes (specifically IO, File) go into Ruby.Builtins or IronRuby.Libraries? -Eric On 10/1/07, Eric Nicholson wrote: > > That worked! Of course now I have some other issues, but I'll work my > through them. > > Thanks! > Eric > > On 10/1/07, Sanghyeon Seo < sanxiyn at gmail.com> wrote: > > > > 2007/10/1, Eric Nicholson < enicholson at gmail.com>: > > > I looked at this briefly, and it looks like "RegisterClass" and > > "Load..." > > > entries for IO and File are needed in > > > "Builtins\Initializer.Generated.cs". I'm guessing from the > > > name that this file is generated dynamically, but how? > > > > By compiling and running the program under > > utils/ironruby.classinitgenerator. > > > > > Is there some rake option to create this file? Or can I just modify it > > by > > > hand? > > > > I agree that this should be in the rakefile. Together with a target to > > run gppg parser generator. > > > > -- > > Seo Sanghyeon > > _______________________________________________ > > Ironruby-core mailing list > > Ironruby-core at rubyforge.org > > http://rubyforge.org/mailman/listinfo/ironruby-core > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071003/291a84cf/attachment.html From william.yeung.hk at gmail.com Wed Oct 3 21:26:23 2007 From: william.yeung.hk at gmail.com (William Yeung) Date: Thu, 4 Oct 2007 09:26:23 +0800 Subject: [Ironruby-core] IronRuby community and communications In-Reply-To: <04ec01c805de$d08eb0b0$71ac1210$@com> References: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> <7968f1cb0710030630x6af09939r912f0033848fc988@mail.gmail.com> <7968f1cb0710030736l2e9e7e29re30df6ca2b3346c@mail.gmail.com> <04cf01c805d6$f03d5270$d0b7f750$@com> <04ec01c805de$d08eb0b0$71ac1210$@com> Message-ID: <7968f1cb0710031826g33f8b455naca96ce4d67384ad@mail.gmail.com> Basecamp does not change your experience a lot comparing to rubyforge. I think Groove would give you better ability in terms of collaborative documentation exchange. I know there is one more product created by the big search engine guy for collaborative documentation, but calling this out might seriously making our MS friends unhappy :) On 10/4/07, Phil Haack wrote: > > Ah, thanks for the clarification! > > Well for any artifacts such as design docs, I'd love to see them in the > SVN repository since they should be versioned anyways. > > As for actual real-time meetings, I've always liked Skype, but there's a > limit in the # of users in a conf call. Live Meeting ought to work for that, > though it's a pain to set up properly. > > Anyone play around with BaseCamp for this sort of thing? > > Phil > > -----Original Message----- > From: ironruby-core-bounces at rubyforge.org [mailto: > ironruby-core-bounces at rubyforge.org] On Behalf Of M. David Peterson > Sent: Wednesday, October 03, 2007 9:29 AM > To: ironruby-core at rubyforge.org > Subject: Re: [Ironruby-core] IronRuby community and communications > > On Wed, 03 Oct 2007 10:03:28 -0600, Phil Haack wrote: > > > Forgive me if this seems like a na?ve question, but since the project is > > hosted on RubyForge, why not use its facilities to run the project. Is > > it not up to snuff? > > This conversation stems mostly from the "How can external folks get > involved with participating in meetings and collaborating on design > docs?". RubyForge is fine for the standard bug tracking, doc > developement, etc, but as far as I know there are no tools in place to > allow for any type of decentralized communication and collaboration type > features. > > -- > /M:D > > M. David Peterson > http://mdavid.name | http://www.oreillynet.com/pub/au/2354 | > http://dev.aol.com/blog/3155 > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071004/873a6115/attachment.html From Tomas.Matousek at microsoft.com Thu Oct 4 03:30:23 2007 From: Tomas.Matousek at microsoft.com (Tomas Matousek) Date: Thu, 4 Oct 2007 00:30:23 -0700 Subject: [Ironruby-core] IO, File Implementations In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D2973777@NA-EXMSG-C115.redmond.corp.microsoft.com> <5b0248170710010805n6347fc00k106053e5a18e2a93@mail.gmail.com> Message-ID: All classes that the compiler directly doesn't depend on belong to IR.Libraries (currently, many of them are in Builtins though - we are going to take them out soon). As IO and File are not compiler dependencies they belong to Libraries. Tomas From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Eric Nicholson Sent: Wednesday, October 03, 2007 7:43 PM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] IO, File Implementations Ok, so I should have asked this sooner, but... Do core classes (specifically IO, File) go into Ruby.Builtins or IronRuby.Libraries? -Eric On 10/1/07, Eric Nicholson > wrote: That worked! Of course now I have some other issues, but I'll work my through them. Thanks! Eric On 10/1/07, Sanghyeon Seo < sanxiyn at gmail.com> wrote: 2007/10/1, Eric Nicholson < enicholson at gmail.com>: > I looked at this briefly, and it looks like "RegisterClass" and "Load..." > entries for IO and File are needed in > "Builtins\Initializer.Generated.cs". I'm guessing from the > name that this file is generated dynamically, but how? By compiling and running the program under utils/ironruby.classinitgenerator. > Is there some rake option to create this file? Or can I just modify it by > hand? I agree that this should be in the rakefile. Together with a target to run gppg parser generator. -- Seo Sanghyeon _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071004/e5a8fd70/attachment-0001.html From jflam at microsoft.com Fri Oct 5 14:15:02 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Fri, 5 Oct 2007 11:15:02 -0700 Subject: [Ironruby-core] IronRuby testing WAS: IronRuby community and communications In-Reply-To: <4703930C.5090700@sun.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> <7968f1cb0710020942q1285debdx6bdb611eea23d479@mail.gmail.com> <6fd0654b0710030546g491e257dsf67c8ef610836b43@mail.gmail.com> <6fd0654b0710030547i5ee22019j18346b35114a3823@mail.gmail.com> <4703930C.5090700@sun.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D2A2E7E9@NA-EXMSG-C115.redmond.corp.microsoft.com> > The rspec specs will probably be more useful as a measure of > completeness, but they do require that an implementation can at least > successfully run them (albeit not perfectly) so that errors and missing > features can be gathered. I'm not sure if IronRuby is to that point yet > or not. We have been running some of Rubinius's specs in JRuby for > several months, along with just about every test suite we can get our > hands on. Early on when I was actively working on libraries I was porting the Rubinius specs to work on my stripped down version of mini-spec. It's been a couple of months since I visited that code, and we have a lot more core language features working now. It's on my list of things to do next week to see what the gap looks like to run mini-spec natively on IronRuby. Thanks, -John From jflam at microsoft.com Fri Oct 5 14:17:13 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Fri, 5 Oct 2007 11:17:13 -0700 Subject: [Ironruby-core] Collaboration tools? WAS: IronRuby community and communications In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D2A2E7EC@NA-EXMSG-C115.redmond.corp.microsoft.com> Rebooting this thread. I'm not convinced that folks really want to use Groove for this kind of collaboration. While I think that Ray's a great guy for the company, anecdotal evidence I hear about Groove is that it's way too heavyweight to work effectively unless you have some kind of Groove guru who knows how to keep the thing running. Let's just stick to simpler collaboration tools for the time being ... Thanks, -John From jflam at microsoft.com Fri Oct 5 14:22:13 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Fri, 5 Oct 2007 11:22:13 -0700 Subject: [Ironruby-core] IronRuby testing WAS: IronRuby community and communications In-Reply-To: <6fd0654b0710051118r6e12ead2r86391549c62b0bb5@mail.gmail.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> <7968f1cb0710020942q1285debdx6bdb611eea23d479@mail.gmail.com> <6fd0654b0710030546g491e257dsf67c8ef610836b43@mail.gmail.com> <6fd0654b0710030547i5ee22019j18346b35114a3823@mail.gmail.com> <4703930C.5090700@sun.com> <372109E149E8084D8E6C7D9CFD82E06329D2A2E7E9@NA-EXMSG-C115.redmond.corp.microsoft.com> <6fd0654b0710051118r6e12ead2r86391549c62b0bb5@mail.gmail.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D2A2E7F5@NA-EXMSG-C115.redmond.corp.microsoft.com> > What are the chances of the Ruby.NET folks being able to > see/use/help with that work? Not sure what you mean here ... the Rubinius specs are available from their svn tree, along with mini-spec, which is their driver. I wrote my own simple test driver that is available in our test tree. The license lets you use that code however you wish ... :) I had to modify some of the specs since they were using language features that we didn't have working yet at the time (like instance variables :). I suspect we're likely to be in a much better position to run the native specs today, but I haven't looked yet. -John From jflam at microsoft.com Fri Oct 5 14:54:00 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Fri, 5 Oct 2007 11:54:00 -0700 Subject: [Ironruby-core] Automagically tracking progress of library work In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> <7968f1cb0710020942q1285debdx6bdb611eea23d479@mail.gmail.com> <47036828.6040907@sun.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D2A2E826@NA-EXMSG-C115.redmond.corp.microsoft.com> One thought that just crossed my mind is this: We could write a code generator that generates the appropriate C# stubs for our built-ins. The generator would generate a default stub based on the arity of the original Ruby method (our real implementations rely on our binder to locate the correct strongly typed method). That method would be marked with something like a NotImplementedAttribute, and throw a NotImplementedException by default. This way we could run a tool over the library assembly to report progress (or an estimate of progress). We could also introduce a NotCompletedAttribute to indicate methods that are a work-in-progress. Thoughts? -John From m.david at xmlhacker.com Fri Oct 5 14:56:59 2007 From: m.david at xmlhacker.com (M. David Peterson) Date: Fri, 05 Oct 2007 12:56:59 -0600 Subject: [Ironruby-core] Automagically tracking progress of library work In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D2A2E826@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> <7968f1cb0710020942q1285debdx6bdb611eea23d479@mail.gmail.com> <47036828.6040907@sun.com> <372109E149E8084D8E6C7D9CFD82E06329D2A2E826@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: On Fri, 05 Oct 2007 12:54:00 -0600, John Lam (DLR) wrote: > Thoughts? I think that's a great idea! If it would be helpful, I would be happy to write the code generation tool. -- /M:D M. David Peterson http://mdavid.name | http://www.oreillynet.com/pub/au/2354 | http://dev.aol.com/blog/3155 From jgbailey at gmail.com Fri Oct 5 15:32:46 2007 From: jgbailey at gmail.com (Justin Bailey) Date: Fri, 5 Oct 2007 12:32:46 -0700 Subject: [Ironruby-core] Automagically tracking progress of library work In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> <7968f1cb0710020942q1285debdx6bdb611eea23d479@mail.gmail.com> <47036828.6040907@sun.com> <372109E149E8084D8E6C7D9CFD82E06329D2A2E826@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: Sounds like a good idea to me. I'd like to suggest my codebuilder gem for code generation. It's based on John's previous RubyCLR, and takes inspiration from the xmlbuilder in Rails, for building .NET classes. For example, running the little script below: require 'rubygems' require 'codebuilder' @not_implemented = { "RubyString" => ["public_methods"], "RubyInteger" => ["ancestors"]} result = CodeDOM::Builder.new.build do |builder| builder.namespace "IronRuby" do @not_implemented.each do |klass, methods| builder.partial_klass klass do methods.each do |meth| builder.method meth do # Array of parameters for the method builder.csharp "throw new NotImplementedException();" end end end end end end puts(result.render :csharp) Gives you C# code like this: namespace IronRuby { using System; using System.Data; using System.Windows.Forms; public partial class RubyString { public virtual void public_methods() { throw new NotImplementedException(); } } public partial class RubyInteger { public virtual void ancestors() { throw new NotImplementedException(); } } } The tool is based on the CodeDOM framework in .NET. The script above builds a representation of the classes, methods, properties etc. that are defined and then 'renders' them to a source language (in this case, C#). It's not able to do attributes on methods but I bet I could add that fairly easily. It's also not seen a lot of use (I use for an internal project at work but otherwise I'm not sure if anyone else ever has) but I'd be glad to provide whatever support would be needed. I just uploaded my latest (5.0.10), which probably won't be available via gem for a few hours, but the project itself is hosted at http://rubyforge.org/projects/codedombuilder. Justin p.s. Just to re-iterate, this tool is based on C-Ruby and uses the rubyclr project. I fully intend to port it when IronRuby becomes capable enough :) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071005/6b145fb4/attachment.html From jflam at microsoft.com Fri Oct 5 18:24:50 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Fri, 5 Oct 2007 15:24:50 -0700 Subject: [Ironruby-core] State of IronRuby 10/5/07 Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D2A2E9C2@NA-EXMSG-C115.redmond.corp.microsoft.com> These are the IronRuby related check-ins that have happened the week of 10/5/07. Note that most of the work done this week is in DLR, since the team is heavily engaged in a refactoring pass across that codebase. 283358: (dinov) This change adds a fast invocation path to avoid doing methodInfo.Invoke. But while it does offer speed improvements this change is largely motivated by a limitation in Silverlight that prevents us from calling methods like System.Type.MakeArrayType or System.Type.IsAssignableFrom from reflection - there are various types that are locked down and until now that hasn't really been an issue. That will enable my next check-in to remove the infinite recursion possibility when dealing w/ mutating types & new rules. Enough about that future check-in though... ReflectedCaller is a class which encapsulates how to call a method as fast as it can. If it can't call a method quickly it'll just fallback to MethodInfo.Invoke. It attempts to be fast in two areas: The creation of the calling helper object and the invocation of the method. It accomplishes the speed of the creation through a series of static generic methods which look at the type code and call the next in the series, ultimately using their type parameters to create the new instance. If the type is an unrecognized type it'll fallback to the slow path of using MakeGenericType and Activator.CreateInstance generate_reflected_calls.py add $/Merlin/Main/Languages/IronPython/Scripts test_cPickle.py edit $/Merlin/Main/Languages/IronPython/Tests MethodCallExpression.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast ReflectedCaller.cs add $/Merlin/Main/Runtime/Microsoft.Scripting/Utils Microsoft.Scripting.csproj edit $/Merlin/Main/Runtime/Microsoft.Scripting ReflectedCaller.Generated.cs add $/Merlin/Main/Runtime/Microsoft.Scripting/Utils 283390: (mmaly) AstWriter overhaul - expressions are preferably written in one line - more nodes implemented - more consistent output AstWriter.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast CatchBlock.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast DeleteUnboundExpression.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast DynamicConversionExpression.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast UnboundAssignment.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast 284474: (tomat) "Fixes" tons of FxCop warnings. My strategy is as follows: in the first phase (this shelveset), enable some groups of rules and "fix" all violations to get zero number of warnings. The next checkin will enable these groups in SNAP tests and dev test suite so that it won't be possible to check in any violation. The last phase will gradually enable and "fix" the rest of the rules. Eventually, all rules should be enabled except for the rules we will consider bogus - I'll make up an Excel sheet listing those that I think are bogus and we can discuss them. Now, what "fix" does actually mean. It means a) the warning is relevant and it is simple to fix it -> fix the code. b) the warning is relevant but it would be more work to fix it -> suppress it and add comment "//TODO: fix" right after the suppression attribute (so we can search for such suppressions easily). These suppressions makes up the "baseline". c) the warning is bogus (yet the rule is not) -> suppress the warning. All suppressions are inlined in the code - no global suppression file is necessary. 284812: (mmaly) Making Ast.Call stricter. This is next step toward bringing the AST closer to LINQ. LINQ's method call expression is much simpler than ours. Parameter types must match, LINQ doesn't deal with default parameter values or "params" arrays. I am changing the Ast.Call methods to behave in the LINQ way. However, since there are some 250 references to the originally behaving methods, most of which depend on the loose behavior of the MethodCallExpression node, I am keeping the old semantic around (for now - will be going away in the future checkins) as WeakCall method. The intent is that no new uses of WeakCall should be introduced and the method will go away. The reason for having it around is that the variety of binders depend heavily on it and it would be too big of a change to do it all at once, so I'd rather take it step by step. RubyClass.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Builtins AstGenerator.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Compiler AstFactory.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Compiler/AST YieldCall.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Compiler/AST/Expressions CompoundLeftValue.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Compiler/AST/LeftValues RubyTests.cs edit $/Merlin/Main/Languages/Ruby/RubyTestHost BinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting DeleteMemberBinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions Generator.vb edit RubyActionBinder.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Runtime RubyMethodGroupInfo.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Runtime RubyMethodInfo.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Runtime ActionBinder.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions CallBinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions CreateInstanceBinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions DoOperationBinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions FieldTracker.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions GetMemberBinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions MemberBinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions SetMemberBinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions MethodCallExpression.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast TypeUtils.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast ParamsDictArgBuilder.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Generation MethodTarget.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Generation ReferenceArgBuilder.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Generation DefaultActionBinder.cs edit $/Merlin/Main/Runtime/Tests/TestAst/Microsoft.Scripting.Helpers.Actions StandardRule.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions BinaryExpression.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast ByRefReturnBuilder.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Generation DynamicType.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Types 284891: (haiboluo) make the test script externally-run friendly common.rb edit $/Merlin/Main/Languages/Ruby/Tests run.rb edit $/Merlin/Main/Languages/Ruby/Tests run_syntax.rb edit $/Merlin/Main/Languages/Ruby/Tests/Syntax 284926: (tomat) Adds FxCop to build scripts. Changes ToolsVersion in *.*proj to 3.5, so if built from Visual Studio, Orcas FxCop is used (and C# 3.0 as well). However, all other build scripts (bdc, bsc, Run.bat, ...) forces msbuild to use C# 2.0 (command line argument /ToolsVersion:2.0, the help explains: "This version will override the versions specified by individual projects"). Without this trick Whidbey msbuild picks Whidbey FxCop msbuild task that calls Orcas (!) FxCop backend. As these two are incompatible, bad things happen. I think using Orcas C# within Visual Studio is fine as long as any other build script will use Whidbey. Also newer version of FxCop has more features (e.g. auto-suppress warnings for code marked by GeneratedCodeAttribute). Adds BuildRowan/BuildNession/BuildVBX.cmd scripts, which should be the only ones that are directly calling msbuild. They pass /ToolsVersion:2.0 to it. Also adds Check.cmd which runs FxCop on Microsoft.Scripting.csproj. Enables FxCop check in Run 0 by inserting call to Check.cmd. 284928: (mmaly) Making the Ast.Condition stricter. Future checkins will address all WeakCondition instances to replace them with correct code.Same idea as the WeakCall. There are several complex cases which use the conditional expression's lax design. Introducing WeakCondition which will go away, and changing the Condition to check types LINQ-style (condition must be bool, both operands identically typed. Definitely no optional upcast that sneaked in while I was gone RubyClass.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Builtins ConditionalExpression.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Compiler/AST/Expressions UnlessExpression.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Compiler/AST/Expressions IfExpression.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Compiler/AST/Expressions ConditionalExpression.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast BinaryExpression.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast MethodTarget.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Generation ReferenceArgBuilder.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Generation 285886: (mmaly) Making throw a statement again. Body.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Compiler/AST Microsoft.Scripting.csproj edit $/Merlin/Main/Runtime/Microsoft.Scripting SmallRuleSet.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions StandardRule.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions TryStatementBuilder.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast AstWriter.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast ThrowStatement.cs rename, edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast Walker.Generated.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast 286041: (mmaly) Call helpers. Introducing 3 useful helpers to the DLR. They are pure helpers which create AST sub-trees so no magic here, but here they are: * ConvertHelper - generate convert node if types don't match * SimpleCallHelper - generates convert nodes around instance and arguments of the call. Doesn't deal with param arrays or default arguments. It tries to be smart so as to not allocate extra array if not required * ComplexCallHelper - the big gun. This will deal with param arrays and default parameter values. Is also smart to not allocate unnecessary array, unless things don't match quite well. All of the instances of WeakCall are converted to either Call, or one of the two new call helpers. RubyMethodGroupInfo.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Runtime RubyMethodInfo.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Runtime RubyTests.cs edit $/Merlin/Main/Languages/Ruby/RubyTestHost RubyClass.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Builtins AstGenerator.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Compiler AstFactory.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Compiler/AST YieldCall.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Compiler/AST/Expressions CompoundLeftValue.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Compiler/AST/LeftValues RubyActionBinder.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Runtime ActionBinder.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions MemberBinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions BinaryExpression.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast ByRefReturnBuilder.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Generation MethodTarget.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Generation ParamsDictArgBuilder.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Generation ReferenceArgBuilder.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Generation DefaultActionBinder.cs edit $/Merlin/Main/Runtime/Tests/TestAst/Microsoft.Scripting.Helpers.Actions BinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting UnaryExpression.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast CreateInstanceBinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions DeleteMemberBinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions DoOperationBinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions FieldTracker.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions GetMemberBinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions SetMemberBinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions MemberExpression.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast DynamicType.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Types MethodCallExpression.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast CallBinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions StandardRule.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions From enicholson at gmail.com Fri Oct 5 18:55:04 2007 From: enicholson at gmail.com (Eric Nicholson) Date: Fri, 5 Oct 2007 18:55:04 -0400 Subject: [Ironruby-core] State of IronRuby 10/5/07 In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D2A2E9C2@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2A2E9C2@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: Nice! Thanks John! On 10/5/07, John Lam (DLR) wrote: > > These are the IronRuby related check-ins that have happened the week of > 10/5/07. Note that most of the work done this week is in DLR, since the team > is heavily engaged in a refactoring pass across that codebase. > > 283358: > > (dinov) This change adds a fast invocation path to avoid doing > methodInfo.Invoke. But while it does offer speed improvements this change > is largely motivated by a limitation in Silverlight that prevents us from > calling methods like System.Type.MakeArrayType or > System.Type.IsAssignableFrom from reflection - there are various types > that are locked down and until now that hasn't really been an issue. That > will enable my next check-in to remove the infinite recursion possibility > when dealing w/ mutating types & new rules. Enough about that future > check-in though... > > ReflectedCaller is a class which encapsulates how to call a method as fast > as it can. If it can't call a method quickly it'll just fallback to > MethodInfo.Invoke. It attempts to be fast in two areas: The creation of > the calling helper object and the invocation of the method. > > It accomplishes the speed of the creation through a series of static > generic methods which look at the type code and call the next in the series, > ultimately using their type parameters to create the new instance. If the > type is an unrecognized type it'll fallback to the slow path of using > MakeGenericType and Activator.CreateInstance > > generate_reflected_calls.py add $/Merlin/Main/Languages/IronPython/Scripts > test_cPickle.py edit $/Merlin/Main/Languages/IronPython/Tests > MethodCallExpression.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > ReflectedCaller.cs add $/Merlin/Main/Runtime/Microsoft.Scripting/Utils > Microsoft.Scripting.csproj edit $/Merlin/Main/Runtime/Microsoft.Scripting > ReflectedCaller.Generated.cs add > $/Merlin/Main/Runtime/Microsoft.Scripting/Utils > > 283390: > > (mmaly) AstWriter overhaul > - expressions are preferably written in one line > - more nodes implemented > - more consistent output > > AstWriter.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > CatchBlock.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > DeleteUnboundExpression.cs edit > $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > DynamicConversionExpression.cs edit > $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > UnboundAssignment.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > > 284474: > > (tomat) "Fixes" tons of FxCop warnings. My strategy is as follows: in the > first phase (this shelveset), enable some groups of rules and "fix" all > violations to get zero number of warnings. The next checkin will enable > these groups in SNAP tests and dev test suite so that it won't be possible > to check in any violation. The last phase will gradually enable and "fix" > the rest of the rules. Eventually, all rules should be enabled except for > the rules we will consider bogus - I'll make up an Excel sheet listing those > that I think are bogus and we can discuss them. > > Now, what "fix" does actually mean. It means > > a) the warning is relevant and it is simple to fix it -> fix the > code. > b) the warning is relevant but it would be more work to fix it -> > suppress it and add comment "//TODO: fix" right after the suppression > attribute (so we can search for such suppressions easily). These > suppressions makes up the "baseline". > c) the warning is bogus (yet the rule is not) -> suppress the > warning. > > All suppressions are inlined in the code - no global suppression file is > necessary. > > 284812: > > (mmaly) Making Ast.Call stricter. > > This is next step toward bringing the AST closer to LINQ. LINQ's method > call expression is much simpler than ours. Parameter types must match, LINQ > doesn't deal with default parameter values or "params" arrays. I am changing > the Ast.Call methods to behave in the LINQ way. However, since there are > some 250 references to the originally behaving methods, most of which depend > on the loose behavior of the MethodCallExpression node, I am keeping the old > semantic around (for now - will be going away in the future checkins) as > WeakCall method. The intent is that no new uses of WeakCall should be > introduced and the method will go away. The reason for having it around is > that the variety of binders depend heavily on it and it would be too big of > a change to do it all at once, so I'd rather take it step by step. > > RubyClass.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Builtins > AstGenerator.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Compiler > AstFactory.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Compiler/AST > YieldCall.cs edit > $/Merlin/Main/Languages/Ruby/Ruby/Compiler/AST/Expressions > CompoundLeftValue.cs edit > $/Merlin/Main/Languages/Ruby/Ruby/Compiler/AST/LeftValues > RubyTests.cs edit $/Merlin/Main/Languages/Ruby/RubyTestHost > BinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting > DeleteMemberBinderHelper.cs edit > $/Merlin/Main/Runtime/Microsoft.Scripting/Actions > Generator.vb edit > RubyActionBinder.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Runtime > RubyMethodGroupInfo.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Runtime > RubyMethodInfo.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Runtime > ActionBinder.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions > CallBinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions > CreateInstanceBinderHelper.cs edit > $/Merlin/Main/Runtime/Microsoft.Scripting/Actions > DoOperationBinderHelper.cs edit > $/Merlin/Main/Runtime/Microsoft.Scripting/Actions > FieldTracker.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions > GetMemberBinderHelper.cs edit > $/Merlin/Main/Runtime/Microsoft.Scripting/Actions > MemberBinderHelper.cs edit > $/Merlin/Main/Runtime/Microsoft.Scripting/Actions > SetMemberBinderHelper.cs edit > $/Merlin/Main/Runtime/Microsoft.Scripting/Actions > MethodCallExpression.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > TypeUtils.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > ParamsDictArgBuilder.cs edit > $/Merlin/Main/Runtime/Microsoft.Scripting/Generation > MethodTarget.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Generation > ReferenceArgBuilder.cs edit > $/Merlin/Main/Runtime/Microsoft.Scripting/Generation > DefaultActionBinder.cs edit > $/Merlin/Main/Runtime/Tests/TestAst/Microsoft.Scripting.Helpers.Actions > StandardRule.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions > BinaryExpression.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > ByRefReturnBuilder.cs edit > $/Merlin/Main/Runtime/Microsoft.Scripting/Generation > DynamicType.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Types > > 284891: > > (haiboluo) make the test script externally-run friendly > > common.rb edit $/Merlin/Main/Languages/Ruby/Tests > run.rb edit $/Merlin/Main/Languages/Ruby/Tests > run_syntax.rb edit $/Merlin/Main/Languages/Ruby/Tests/Syntax > > 284926: > > (tomat) Adds FxCop to build scripts. Changes ToolsVersion in *.*proj to > 3.5, so if built from Visual Studio, Orcas FxCop is used (and C# 3.0 as > well). However, all other build scripts (bdc, bsc, Run.bat, ...) forces > msbuild to use C# 2.0 (command line argument /ToolsVersion:2.0, the help > explains: "This version will override the versions specified by individual > projects"). Without this trick Whidbey msbuild picks Whidbey FxCop msbuild > task that calls Orcas (!) FxCop backend. As these two are incompatible, bad > things happen. I think using Orcas C# within Visual Studio is fine as long > as any other build script will use Whidbey. Also newer version of FxCop has > more features (e.g. auto-suppress warnings for code marked by > GeneratedCodeAttribute). > > Adds BuildRowan/BuildNession/BuildVBX.cmd scripts, which should be the > only ones that are directly calling msbuild. They pass /ToolsVersion:2.0to it. > Also adds Check.cmd which runs FxCop on Microsoft.Scripting.csproj. > Enables FxCop check in Run 0 by inserting call to Check.cmd. > > 284928: > > (mmaly) Making the Ast.Condition stricter. > > Future checkins will address all WeakCondition instances to replace them > with correct code.Same idea as the WeakCall. There are several complex > cases which use the conditional expression's lax design. Introducing > WeakCondition which will go away, and changing the Condition to check types > LINQ-style (condition must be bool, both operands identically typed. > Definitely no optional upcast that sneaked in while I was gone > > RubyClass.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Builtins > ConditionalExpression.cs edit > $/Merlin/Main/Languages/Ruby/Ruby/Compiler/AST/Expressions > UnlessExpression.cs edit > $/Merlin/Main/Languages/Ruby/Ruby/Compiler/AST/Expressions > IfExpression.cs edit > $/Merlin/Main/Languages/Ruby/Ruby/Compiler/AST/Expressions > ConditionalExpression.cs edit > $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > BinaryExpression.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > MethodTarget.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Generation > ReferenceArgBuilder.cs edit > $/Merlin/Main/Runtime/Microsoft.Scripting/Generation > > 285886: > > (mmaly) Making throw a statement again. > > Body.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Compiler/AST > Microsoft.Scripting.csproj edit $/Merlin/Main/Runtime/Microsoft.Scripting > SmallRuleSet.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions > StandardRule.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions > TryStatementBuilder.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > AstWriter.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > ThrowStatement.cs rename, edit > $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > Walker.Generated.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > > 286041: > > (mmaly) Call helpers. > > Introducing 3 useful helpers to the DLR. They are pure helpers which > create AST sub-trees so no magic here, but here they are: > > * ConvertHelper - generate convert node if types don't match > * SimpleCallHelper - generates convert nodes around instance and > arguments of the call. Doesn't deal with param arrays or default arguments. > It tries to be smart so as to not allocate extra array if not required > * ComplexCallHelper - the big gun. This will deal with param arrays > and default parameter values. Is also smart to not allocate unnecessary > array, unless things don't match quite well. > > All of the instances of WeakCall are converted to either Call, or one of > the two new call helpers. > > RubyMethodGroupInfo.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Runtime > RubyMethodInfo.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Runtime > RubyTests.cs edit $/Merlin/Main/Languages/Ruby/RubyTestHost > RubyClass.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Builtins > AstGenerator.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Compiler > AstFactory.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Compiler/AST > YieldCall.cs edit > $/Merlin/Main/Languages/Ruby/Ruby/Compiler/AST/Expressions > CompoundLeftValue.cs edit > $/Merlin/Main/Languages/Ruby/Ruby/Compiler/AST/LeftValues > RubyActionBinder.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Runtime > ActionBinder.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions > MemberBinderHelper.cs edit > $/Merlin/Main/Runtime/Microsoft.Scripting/Actions > BinaryExpression.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > ByRefReturnBuilder.cs edit > $/Merlin/Main/Runtime/Microsoft.Scripting/Generation > MethodTarget.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Generation > ParamsDictArgBuilder.cs edit > $/Merlin/Main/Runtime/Microsoft.Scripting/Generation > ReferenceArgBuilder.cs edit > $/Merlin/Main/Runtime/Microsoft.Scripting/Generation > DefaultActionBinder.cs edit > $/Merlin/Main/Runtime/Tests/TestAst/Microsoft.Scripting.Helpers.Actions > BinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting > UnaryExpression.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > CreateInstanceBinderHelper.cs edit > $/Merlin/Main/Runtime/Microsoft.Scripting/Actions > DeleteMemberBinderHelper.cs edit > $/Merlin/Main/Runtime/Microsoft.Scripting/Actions > DoOperationBinderHelper.cs edit > $/Merlin/Main/Runtime/Microsoft.Scripting/Actions > FieldTracker.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions > GetMemberBinderHelper.cs edit > $/Merlin/Main/Runtime/Microsoft.Scripting/Actions > SetMemberBinderHelper.cs edit > $/Merlin/Main/Runtime/Microsoft.Scripting/Actions > MemberExpression.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > DynamicType.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Types > MethodCallExpression.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > CallBinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions > StandardRule.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071005/f3cd008c/attachment.html From jflam at microsoft.com Fri Oct 5 20:05:22 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Fri, 5 Oct 2007 17:05:22 -0700 Subject: [Ironruby-core] Automagically tracking progress of library work In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D2A2E826@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2973F02@NA-EXMSG-C115.redmond.corp.microsoft.com> <7968f1cb0710020942q1285debdx6bdb611eea23d479@mail.gmail.com> <47036828.6040907@sun.com> <372109E149E8084D8E6C7D9CFD82E06329D2A2E826@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D2A2EA23@NA-EXMSG-C115.redmond.corp.microsoft.com> After talking it over with Tomas and John over lunch, we figured that it would be best if all we did was introduce a NotCompletedAttribute rather than create a code generator. The challenge is in deciding what the correct signatures for the methods should be, with an eye toward not confusing casual readers of the code. For example, consider Array#last: [RubyMethodAttribute("last", RubyMethodAttributes.PublicInstance)] public static object Last(List/*!*/ self) { return self.Count == 0 ? null : self[self.Count - 1]; } [RubyMethodAttribute("last", RubyMethodAttributes.PublicInstance)] public static object Last(List/*!*/ self, int count) { if (count < 0) throw RubyExceptions.CreateArgumentError("negative array size (or size too big)"); count = count > self.Count ? self.Count : count; return self.GetRange(self.Count - count, count); } [RubyMethodAttribute("last", RubyMethodAttributes.PublicInstance)] public static object Last(CodeContext/*!*/ context, List/*!*/ self, object count) { return Last(self, Protocols.CastToFixnum(context, count)); } Note that there are multiple overloads of this method, and the variation in the argument types. We can easily tell if a method is not implemented since the binder will not find it. We can reflect over the target method at runtime to look for the NotCompleted attribute, and issue a warning if you try to call a method that isn't complete as well. -John From sanxiyn at gmail.com Fri Oct 5 20:28:56 2007 From: sanxiyn at gmail.com (Sanghyeon Seo) Date: Sat, 6 Oct 2007 09:28:56 +0900 Subject: [Ironruby-core] State of IronRuby 10/5/07 In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D2A2E9C2@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2A2E9C2@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <5b0248170710051728n22e8e01cn957b0dd7d5f537d3@mail.gmail.com> 2007/10/6, John Lam (DLR) : > 284812: > (mmaly) Making Ast.Call stricter. > This is next step toward bringing the AST closer to LINQ. This is a very interesting statement indeed. -- Seo Sanghyeon From blowmage at gmail.com Fri Oct 5 23:51:04 2007 From: blowmage at gmail.com (Mike Moore) Date: Fri, 5 Oct 2007 21:51:04 -0600 Subject: [Ironruby-core] State of IronRuby 10/5/07 In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D2A2E9C2@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2A2E9C2@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: Thanks! This is great info. Much appreciated. On 10/5/07, John Lam (DLR) wrote: > > These are the IronRuby related check-ins that have happened the week of > 10/5/07. Note that most of the work done this week is in DLR, since the team > is heavily engaged in a refactoring pass across that codebase. > > 283358: > > (dinov) This change adds a fast invocation path to avoid doing > methodInfo.Invoke. But while it does offer speed improvements this change > is largely motivated by a limitation in Silverlight that prevents us from > calling methods like System.Type.MakeArrayType or > System.Type.IsAssignableFrom from reflection - there are various types > that are locked down and until now that hasn't really been an issue. That > will enable my next check-in to remove the infinite recursion possibility > when dealing w/ mutating types & new rules. Enough about that future > check-in though... > > ReflectedCaller is a class which encapsulates how to call a method as fast > as it can. If it can't call a method quickly it'll just fallback to > MethodInfo.Invoke. It attempts to be fast in two areas: The creation of > the calling helper object and the invocation of the method. > > It accomplishes the speed of the creation through a series of static > generic methods which look at the type code and call the next in the series, > ultimately using their type parameters to create the new instance. If the > type is an unrecognized type it'll fallback to the slow path of using > MakeGenericType and Activator.CreateInstance > > generate_reflected_calls.py add $/Merlin/Main/Languages/IronPython/Scripts > test_cPickle.py edit $/Merlin/Main/Languages/IronPython/Tests > MethodCallExpression.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > ReflectedCaller.cs add $/Merlin/Main/Runtime/Microsoft.Scripting/Utils > Microsoft.Scripting.csproj edit $/Merlin/Main/Runtime/Microsoft.Scripting > ReflectedCaller.Generated.cs add $/Merlin/Main/Runtime/Microsoft.Scripting > /Utils > > 283390: > > (mmaly) AstWriter overhaul > - expressions are preferably written in one line > - more nodes implemented > - more consistent output > > AstWriter.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > CatchBlock.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > DeleteUnboundExpression.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting > /Ast > DynamicConversionExpression.cs edit $/Merlin/Main/Runtime/Microsof > t.Scripting/Ast > UnboundAssignment.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > > 284474: > > (tomat) "Fixes" tons of FxCop warnings. My strategy is as follows: in the > first phase (this shelveset), enable some groups of rules and "fix" all > violations to get zero number of warnings. The next checkin will enable > these groups in SNAP tests and dev test suite so that it won't be possible > to check in any violation. The last phase will gradually enable and "fix" > the rest of the rules. Eventually, all rules should be enabled except for > the rules we will consider bogus - I'll make up an Excel sheet listing those > that I think are bogus and we can discuss them. > > Now, what "fix" does actually mean. It means > > a) the warning is relevant and it is simple to fix it -> fix the > code. > b) the warning is relevant but it would be more work to fix it -> > suppress it and add comment "//TODO: fix" right after the suppression > attribute (so we can search for such suppressions easily). These > suppressions makes up the "baseline". > c) the warning is bogus (yet the rule is not) -> suppress the > warning. > > All suppressions are inlined in the code - no global suppression file is > necessary. > > 284812: > > (mmaly) Making Ast.Call stricter. > > This is next step toward bringing the AST closer to LINQ. LINQ's method > call expression is much simpler than ours. Parameter types must match, LINQ > doesn't deal with default parameter values or "params" arrays. I am changing > the Ast.Call methods to behave in the LINQ way. However, since there are > some 250 references to the originally behaving methods, most of which depend > on the loose behavior of the MethodCallExpression node, I am keeping the old > semantic around (for now - will be going away in the future checkins) as > WeakCall method. The intent is that no new uses of WeakCall should be > introduced and the method will go away. The reason for having it around is > that the variety of binders depend heavily on it and it would be too big of > a change to do it all at once, so I'd rather take it step by step. > > RubyClass.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Builtins > AstGenerator.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Compiler > AstFactory.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Compiler/AST > YieldCall.cs edit $/Merlin/Main/Languages/Ruby > /Ruby/Compiler/AST/Expressions > CompoundLeftValue.cs edit $/Merlin/Main/Languages/Ruby > /Ruby/Compiler/AST/LeftValues > RubyTests.cs edit $/Merlin/Main/Languages/Ruby/RubyTestHost > BinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting > DeleteMemberBinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting > /Actions > Generator.vb edit > RubyActionBinder.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Runtime > RubyMethodGroupInfo.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Runtime > RubyMethodInfo.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Runtime > ActionBinder.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions > CallBinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions > CreateInstanceBinderHelper.cs edit $/Merlin/Main/Runtime/Microsof > t.Scripting/Actions > DoOperationBinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting > /Actions > FieldTracker.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions > GetMemberBinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting > /Actions > MemberBinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting > /Actions > SetMemberBinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting > /Actions > MethodCallExpression.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > TypeUtils.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > ParamsDictArgBuilder.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting > /Generation > MethodTarget.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Generation > ReferenceArgBuilder.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting > /Generation > DefaultActionBinder.cs edit $/Merlin/Main/Runtime/Tests > /TestAst/Microsoft.Scripting.Helpers.Actions > StandardRule.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions > BinaryExpression.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > ByRefReturnBuilder.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting > /Generation > DynamicType.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Types > > 284891: > > (haiboluo) make the test script externally-run friendly > > common.rb edit $/Merlin/Main/Languages/Ruby/Tests > run.rb edit $/Merlin/Main/Languages/Ruby/Tests > run_syntax.rb edit $/Merlin/Main/Languages/Ruby/Tests/Syntax > > 284926: > > (tomat) Adds FxCop to build scripts. Changes ToolsVersion in *.*proj to > 3.5, so if built from Visual Studio, Orcas FxCop is used (and C# 3.0 as > well). However, all other build scripts (bdc, bsc, Run.bat, ...) forces > msbuild to use C# 2.0 (command line argument /ToolsVersion:2.0, the help > explains: "This version will override the versions specified by individual > projects"). Without this trick Whidbey msbuild picks Whidbey FxCop msbuild > task that calls Orcas (!) FxCop backend. As these two are incompatible, bad > things happen. I think using Orcas C# within Visual Studio is fine as long > as any other build script will use Whidbey. Also newer version of FxCop has > more features (e.g. auto-suppress warnings for code marked by > GeneratedCodeAttribute). > > Adds BuildRowan/BuildNession/BuildVBX.cmd scripts, which should be the > only ones that are directly calling msbuild. They pass /ToolsVersion:2.0to it. > Also adds Check.cmd which runs FxCop on Microsoft.Scripting.csproj. > Enables FxCop check in Run 0 by inserting call to Check.cmd. > > 284928: > > (mmaly) Making the Ast.Condition stricter. > > Future checkins will address all WeakCondition instances to replace them > with correct code.Same idea as the WeakCall. There are several complex > cases which use the conditional expression's lax design. Introducing > WeakCondition which will go away, and changing the Condition to check types > LINQ-style (condition must be bool, both operands identically typed. > Definitely no optional upcast that sneaked in while I was gone > > RubyClass.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Builtins > ConditionalExpression.cs edit $/Merlin/Main/Languages/Ruby > /Ruby/Compiler/AST/Expressions > UnlessExpression.cs edit $/Merlin/Main/Languages/Ruby > /Ruby/Compiler/AST/Expressions > IfExpression.cs edit $/Merlin/Main/Languages/Ruby > /Ruby/Compiler/AST/Expressions > ConditionalExpression.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting > /Ast > BinaryExpression.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > MethodTarget.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Generation > ReferenceArgBuilder.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting > /Generation > > 285886: > > (mmaly) Making throw a statement again. > > Body.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Compiler/AST > Microsoft.Scripting.csproj edit $/Merlin/Main/Runtime/Microsoft.Scripting > SmallRuleSet.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions > StandardRule.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions > TryStatementBuilder.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > AstWriter.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > ThrowStatement.cs rename, edit $/Merlin/Main/Runtime/Microsoft.Scripting > /Ast > Walker.Generated.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > > 286041: > > (mmaly) Call helpers. > > Introducing 3 useful helpers to the DLR. They are pure helpers which > create AST sub-trees so no magic here, but here they are: > > * ConvertHelper - generate convert node if types don't match > * SimpleCallHelper - generates convert nodes around instance and > arguments of the call. Doesn't deal with param arrays or default arguments. > It tries to be smart so as to not allocate extra array if not required > * ComplexCallHelper - the big gun. This will deal with param arrays > and default parameter values. Is also smart to not allocate unnecessary > array, unless things don't match quite well. > > All of the instances of WeakCall are converted to either Call, or one of > the two new call helpers. > > RubyMethodGroupInfo.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Runtime > RubyMethodInfo.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Runtime > RubyTests.cs edit $/Merlin/Main/Languages/Ruby/RubyTestHost > RubyClass.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Builtins > AstGenerator.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Compiler > AstFactory.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Compiler/AST > YieldCall.cs edit $/Merlin/Main/Languages/Ruby > /Ruby/Compiler/AST/Expressions > CompoundLeftValue.cs edit $/Merlin/Main/Languages/Ruby > /Ruby/Compiler/AST/LeftValues > RubyActionBinder.cs edit $/Merlin/Main/Languages/Ruby/Ruby/Runtime > ActionBinder.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions > MemberBinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting > /Actions > BinaryExpression.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > ByRefReturnBuilder.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting > /Generation > MethodTarget.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Generation > ParamsDictArgBuilder.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting > /Generation > ReferenceArgBuilder.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting > /Generation > DefaultActionBinder.cs edit $/Merlin/Main/Runtime/Tests > /TestAst/Microsoft.Scripting.Helpers.Actions > BinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting > UnaryExpression.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > CreateInstanceBinderHelper.cs edit $/Merlin/Main/Runtime/Microsof > t.Scripting/Actions > DeleteMemberBinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting > /Actions > DoOperationBinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting > /Actions > FieldTracker.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions > GetMemberBinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting > /Actions > SetMemberBinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting > /Actions > MemberExpression.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > DynamicType.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Types > MethodCallExpression.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Ast > CallBinderHelper.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions > StandardRule.cs edit $/Merlin/Main/Runtime/Microsoft.Scripting/Actions > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071005/a6c8bbf9/attachment-0001.html From kitti.k at gmail.com Sun Oct 7 02:01:18 2007 From: kitti.k at gmail.com (Krishna Krishnamaneni) Date: Sat, 6 Oct 2007 23:01:18 -0700 Subject: [Ironruby-core] How to extend builtin classes? Message-ID: <763612f90710062301r637a8c47j64131ee2cd184d0b@mail.gmail.com> Hi How do we extend inbuilt classes. For example Float doesn't have * method implemented. I tried adding this method: [RubyMethodAttribute("*", RubyMethodAttributes.PublicInstance)] public static object Multiply(double self, double value) { // TODO: overflow return self * value; } but did not work after compilation. It still complains that * method is not implemented on Float. Thank you. -- Regards, krishna krishnamaneni. From sanxiyn at gmail.com Sun Oct 7 09:44:52 2007 From: sanxiyn at gmail.com (Sanghyeon Seo) Date: Sun, 7 Oct 2007 22:44:52 +0900 Subject: [Ironruby-core] IronRuby on Mono Message-ID: <5b0248170710070644j7ed5108fq47d14e915307bcd8@mail.gmail.com> If you want to compile or to run IronRuby on Mono, the following information should be useful. NAnt build file is available here: http://sparcs.kaist.ac.kr/~tinuviel/download/IronRuby/ When you run rbx.exe after building, you will meet "white on white" text color problem (that is, if your terminal background is white). For the time being, change the terminal background. :( Use -X:TabCompletion option to avoid some keyboard input bugs. You will see excessive debugging messages for the parser, and "Code supposed to be unreachable" exception. These are caused by the same bug. ConditionalAttribute has no effect on template methods https://bugzilla.novell.com/show_bug.cgi?id=325110 Fix the bug, or workaround the bug, or add yourself to bug's CC, or pester Mono people to up the priority (however this doesn't mean it will be fixed faster). I just wanted to let you know what the problem is. The problem is that conditional attribute doesn't work with generics on Mono. -- Seo Sanghyeon From curt at hagenlocher.org Sun Oct 7 12:24:23 2007 From: curt at hagenlocher.org (Curt Hagenlocher) Date: Sun, 7 Oct 2007 09:24:23 -0700 Subject: [Ironruby-core] How to extend builtin classes? In-Reply-To: <763612f90710062301r637a8c47j64131ee2cd184d0b@mail.gmail.com> References: <763612f90710062301r637a8c47j64131ee2cd184d0b@mail.gmail.com> Message-ID: On 10/6/07, Krishna Krishnamaneni wrote: > > > How do we extend inbuilt classes. For example Float doesn't have * > method implemented. I tried adding this method: It's not sufficient to add the method to the class definition. You also have to force the method information to be initialized by updating the file Initializer.Generated.cs. As its name suggests, this file is automatically generated from the source code by running the "ClassInitGenerator" program -- a batch file that does this is at Builtins\GenerateInitializers.cmd. Unfortunately, the version of the source that's checked into RubyForge has a bunch of broken paths for this purpose -- at least when not using Visual Studio. I tried to use msbuild directly to build ClassInitGenerator.exe, and found that I had to make the following edits for things to work correctly: utils\ironruby.classinitgenerator\ClassInitGenerator.csproj add reference to ..\..\build\debug\Microsoft.Scripting.dll add reference to ..\..\build\debug\Ruby.dll fix the reference path for Microsoft.Scripting.csproj fix the reference path for Ruby.csproj src\ironruby\Ruby.csproj fix the reference path for Microsoft.Scripting.csproj src\ironruby\Builtins\GenerateInitializers.cmd fix the path to ClassInitGenerator.exe After making these changes, I ran GenerateInitializers.cmd and rebuilt IronRuby using the Rakefile. Your change then worked: F:\IronRuby>build\release\rbx.exe IronRuby Pre-Alpha (1.0.0.0) on .NET 2.0.50727.312 Copyright (c) Microsoft Corporation. All rights reserved. >>> 1.2 + 1.2 => 2.4 >>> 1.2 * 1.2 => 1.44 -- Curt Hagenlocher curt at hagenlocher.org -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071007/4c5863e0/attachment.html From m.david at xmlhacker.com Sun Oct 7 12:45:23 2007 From: m.david at xmlhacker.com (M. David Peterson) Date: Sun, 07 Oct 2007 10:45:23 -0600 Subject: [Ironruby-core] IronRuby on Mono In-Reply-To: <5b0248170710070644j7ed5108fq47d14e915307bcd8@mail.gmail.com> References: <5b0248170710070644j7ed5108fq47d14e915307bcd8@mail.gmail.com> Message-ID: On Sun, 07 Oct 2007 07:44:52 -0600, Sanghyeon Seo wrote: > You will see excessive debugging messages for the parser, and "Code > supposed to be unreachable" exception. These are caused by the same > bug. Thanks for tracking this one down, Seo! For the life of me I couldn't figure out why this was happening. -- /M:D M. David Peterson http://mdavid.name | http://www.oreillynet.com/pub/au/2354 | http://dev.aol.com/blog/3155 From kitti.k at gmail.com Sun Oct 7 15:00:24 2007 From: kitti.k at gmail.com (Krishna Krishnamaneni) Date: Sun, 7 Oct 2007 12:00:24 -0700 Subject: [Ironruby-core] How to extend builtin classes? In-Reply-To: References: <763612f90710062301r637a8c47j64131ee2cd184d0b@mail.gmail.com> Message-ID: <763612f90710071200j10653df7m3ce1adebe61085c6@mail.gmail.com> Curt, Thank you for the reply. Looks like this is something that should be commited. Can you commit your changes to the SVN repository so that every one can get the changes? Thanks a lot. On 10/7/07, Curt Hagenlocher wrote: > On 10/6/07, Krishna Krishnamaneni wrote: > > > > How do we extend inbuilt classes. For example Float doesn't have * > > method implemented. I tried adding this method: > > > It's not sufficient to add the method to the class definition. You also > have to force the method information to be initialized by updating the file > Initializer.Generated.cs. As its name suggests, this file is automatically > generated from the source code by running the "ClassInitGenerator" program > -- a batch file that does this is at > Builtins\GenerateInitializers.cmd. > > Unfortunately, the version of the source that's checked into RubyForge has a > bunch of broken paths for this purpose -- at least when not using Visual > Studio. I tried to use msbuild directly to build ClassInitGenerator.exe , > and found that I had to make the following edits for things to work > correctly: > > utils\ironruby.classinitgenerator\ClassInitGenerator.csproj > add reference to > ..\..\build\debug\Microsoft.Scripting.dll > add reference to ..\..\build\debug\Ruby.dll > fix the reference path for Microsoft.Scripting.csproj > fix the reference path for Ruby.csproj > src\ironruby\Ruby.csproj > fix the reference path for Microsoft.Scripting.csproj > src\ironruby\Builtins\GenerateInitializers.cmd > fix the path to ClassInitGenerator.exe > > After making these changes, I ran GenerateInitializers.cmd and rebuilt > IronRuby using the Rakefile. Your change then worked: > > F:\IronRuby>build\release\rbx.exe > IronRuby Pre-Alpha (1.0.0.0) on .NET 2.0.50727.312 > Copyright (c) Microsoft Corporation. All rights reserved. > >>> 1.2 + 1.2 > => 2.4 > >>> 1.2 * 1.2 > => 1.44 > > -- > Curt Hagenlocher > curt at hagenlocher.org > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > > -- Regards, krishna krishnamaneni. From curt at hagenlocher.org Sun Oct 7 15:24:34 2007 From: curt at hagenlocher.org (Curt Hagenlocher) Date: Sun, 7 Oct 2007 12:24:34 -0700 Subject: [Ironruby-core] How to extend builtin classes? In-Reply-To: <763612f90710071200j10653df7m3ce1adebe61085c6@mail.gmail.com> References: <763612f90710062301r637a8c47j64131ee2cd184d0b@mail.gmail.com> <763612f90710071200j10653df7m3ce1adebe61085c6@mail.gmail.com> Message-ID: On 10/7/07, Krishna Krishnamaneni wrote: > > > Thank you for the reply. Looks like this is something that should be > commited. Can you commit your changes to the SVN repository so that > every one can get the changes? Thanks a lot. I'm not sure what's required to be able to do that; a patchfile with the changes can be downloaded from http://hagenlocher.org/software/classinitgen.patch.txt -- Curt Hagenlocher curt at hagenlocher.org -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071007/ff0f93f7/attachment.html From jflam at microsoft.com Sun Oct 7 19:10:35 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Sun, 7 Oct 2007 16:10:35 -0700 Subject: [Ironruby-core] How to extend builtin classes? In-Reply-To: References: <763612f90710062301r637a8c47j64131ee2cd184d0b@mail.gmail.com> <763612f90710071200j10653df7m3ce1adebe61085c6@mail.gmail.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D2AB3F89@NA-EXMSG-C115.redmond.corp.microsoft.com> Thanks for making the patch, Curt! For folks on the outside, please use Curt's patch until I get around to fixing the Rakefile. I need to add some code to transform paths within the .csproj files so that they recognize the difference in layouts between our internal environment and the external subversion layout. Thanks, -John I'm not sure what's required to be able to do that; a patchfile with the changes can be downloaded from http://hagenlocher.org/software/classinitgen.patch.txt -- Curt Hagenlocher curt at hagenlocher.org -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071007/3fde7a34/attachment.html From kitti.k at gmail.com Sun Oct 7 19:17:24 2007 From: kitti.k at gmail.com (Krishna Krishnamaneni) Date: Sun, 7 Oct 2007 16:17:24 -0700 Subject: [Ironruby-core] How to extend builtin classes? In-Reply-To: References: <763612f90710062301r637a8c47j64131ee2cd184d0b@mail.gmail.com> <763612f90710071200j10653df7m3ce1adebe61085c6@mail.gmail.com> Message-ID: <763612f90710071617p549a4a1an3112169192ed06b5@mail.gmail.com> Thanks for the patch. On 10/7/07, Curt Hagenlocher wrote: > On 10/7/07, Krishna Krishnamaneni wrote: > > > > Thank you for the reply. Looks like this is something that should be > > commited. Can you commit your changes to the SVN repository so that > > every one can get the changes? Thanks a lot. > > > I'm not sure what's required to be able to do that; a patchfile with the > changes can be downloaded from > http://hagenlocher.org/software/classinitgen.patch.txt > > -- > Curt Hagenlocher > curt at hagenlocher.org > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > > -- Regards, krishna krishnamaneni. From florian at kruesch.de Mon Oct 8 07:42:13 2007 From: florian at kruesch.de (=?ISO-8859-1?Q?Florian_Kr=FCsch?=) Date: Mon, 08 Oct 2007 13:42:13 +0200 Subject: [Ironruby-core] "Common Language Runtime detected an invalid program" exception In-Reply-To: <763612f90710071617p549a4a1an3112169192ed06b5@mail.gmail.com> References: <763612f90710062301r637a8c47j64131ee2cd184d0b@mail.gmail.com> <763612f90710071200j10653df7m3ce1adebe61085c6@mail.gmail.com> <763612f90710071617p549a4a1an3112169192ed06b5@mail.gmail.com> Message-ID: <470A1795.6030601@kruesch.de> Hi, I'm playing with IronRuby and love it. Playing around I obviously did something that's not yet implemented and got the exception "Common Language Runtime detected an invalid program" The code is: result = (Proc.new { |value| value.to_s*2 }).call value I understand that IronRuby still has a way to go and that not everything's fully implemented. However, I would expect another kind of exception... something along "Ruby syntax error" or the like... btw - it would be awesome to get a few pointers on the differences between the various methods/modes of execution (Exectue, ExecuteCommand etc) cheers Florian -- Florian Kr?sch http://www.planet-xaml.net From curt at hagenlocher.org Mon Oct 8 08:31:32 2007 From: curt at hagenlocher.org (Curt Hagenlocher) Date: Mon, 8 Oct 2007 05:31:32 -0700 Subject: [Ironruby-core] "Common Language Runtime detected an invalid program" exception In-Reply-To: <470A1795.6030601@kruesch.de> References: <763612f90710062301r637a8c47j64131ee2cd184d0b@mail.gmail.com> <763612f90710071200j10653df7m3ce1adebe61085c6@mail.gmail.com> <763612f90710071617p549a4a1an3112169192ed06b5@mail.gmail.com> <470A1795.6030601@kruesch.de> Message-ID: On 10/8/07, Florian Kr?sch wrote: > > > I'm playing with IronRuby and love it. > Playing around I obviously did something that's not yet implemented and > got the exception "Common Language Runtime detected an invalid program" > The code is: > result = (Proc.new { |value| value.to_s*2 }).call value This looks very much like a bug and not an unimplemented feature. The error message suggests that there's some invalid IL being emitted. If you split the code into two lines p = Proc.new{ |value| value.to_s*2} result = p.call value it works correctly. You can submit this as a bug here: http://rubyforge.org/tracker/?atid=16798&group_id=4359&func=browse -- Curt Hagenlocher curt at hagenlocher.org -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071008/ee906a90/attachment.html From lists at ruby-forum.com Mon Oct 8 08:43:31 2007 From: lists at ruby-forum.com (Dermot Hogan) Date: Mon, 8 Oct 2007 14:43:31 +0200 Subject: [Ironruby-core] trouble with super and .NET classes Message-ID: <9f5c5d98491e4853c831bb5b3921d0ed@ruby-forum.com> I?m trying to derive a class from a .NET class like this: class X < System::Windows::Forms::Form and I get this error message: System.InvalidOperationException: superclass must be a Class (NestedTypeTracker given) Am I missing anything? I?m running the latest IronRuby release. Dermot www.sapphiresteel.com -- Posted via http://www.ruby-forum.com/. From florian at kruesch.de Mon Oct 8 07:22:34 2007 From: florian at kruesch.de (=?ISO-8859-1?Q?Florian_Kr=FCsch?=) Date: Mon, 08 Oct 2007 13:22:34 +0200 Subject: [Ironruby-core] "Common Language Runtime detected an invalid program" exception In-Reply-To: <763612f90710071617p549a4a1an3112169192ed06b5@mail.gmail.com> References: <763612f90710062301r637a8c47j64131ee2cd184d0b@mail.gmail.com> <763612f90710071200j10653df7m3ce1adebe61085c6@mail.gmail.com> <763612f90710071617p549a4a1an3112169192ed06b5@mail.gmail.com> Message-ID: <470A12FA.6070706@kruesch.de> Hi, I'm playing with IronRuby and love it. Playing around I obviously did something that's not yet implemented and got the exception "Common Language Runtime detected an invalid program" The code is: result = (Proc.new { |value| value.to_s*2 }).call value I understand that IronRuby still has a way to go and that not everything's fully implemented. However, I would expect another kind of exception... something along "Ruby syntax error" or the like... btw - it would be awesome to get a few pointers on the differences between the various methods/modes of execution (Exectue, ExecuteCommand etc) cheers Florian -- Florian Kr?sch http://www.planet-xaml.net From Tomas.Matousek at microsoft.com Mon Oct 8 12:03:39 2007 From: Tomas.Matousek at microsoft.com (Tomas Matousek) Date: Mon, 8 Oct 2007 09:03:39 -0700 Subject: [Ironruby-core] "Common Language Runtime detected an invalid program" exception In-Reply-To: <470A1795.6030601@kruesch.de> References: <763612f90710062301r637a8c47j64131ee2cd184d0b@mail.gmail.com> <763612f90710071200j10653df7m3ce1adebe61085c6@mail.gmail.com> <763612f90710071617p549a4a1an3112169192ed06b5@mail.gmail.com> <470A1795.6030601@kruesch.de> Message-ID: This is a known bug (IL stack needs to be empty when entering try-catch). All "invalid programs" exception are due to this bug. The bug will take some time to fix. Until then, store values to locals if you combine calls with a block with other calls. Tomas -----Original Message----- From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Florian Kr?sch Sent: Monday, October 08, 2007 4:42 AM To: ironruby-core at rubyforge.org Subject: [Ironruby-core] "Common Language Runtime detected an invalid program" exception Hi, I'm playing with IronRuby and love it. Playing around I obviously did something that's not yet implemented and got the exception "Common Language Runtime detected an invalid program" The code is: result = (Proc.new { |value| value.to_s*2 }).call value I understand that IronRuby still has a way to go and that not everything's fully implemented. However, I would expect another kind of exception... something along "Ruby syntax error" or the like... btw - it would be awesome to get a few pointers on the differences between the various methods/modes of execution (Exectue, ExecuteCommand etc) cheers Florian -- Florian Kr?sch http://www.planet-xaml.net _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core From Tomas.Matousek at microsoft.com Mon Oct 8 12:04:04 2007 From: Tomas.Matousek at microsoft.com (Tomas Matousek) Date: Mon, 8 Oct 2007 09:04:04 -0700 Subject: [Ironruby-core] trouble with super and .NET classes In-Reply-To: <9f5c5d98491e4853c831bb5b3921d0ed@ruby-forum.com> References: <9f5c5d98491e4853c831bb5b3921d0ed@ruby-forum.com> Message-ID: Deriving from CLR class is not supported yet. Tomas -----Original Message----- From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Dermot Hogan Sent: Monday, October 08, 2007 5:44 AM To: ironruby-core at rubyforge.org Subject: [Ironruby-core] trouble with super and .NET classes I?m trying to derive a class from a .NET class like this: class X < System::Windows::Forms::Form and I get this error message: System.InvalidOperationException: superclass must be a Class (NestedTypeTracker given) Am I missing anything? I?m running the latest IronRuby release. Dermot www.sapphiresteel.com -- Posted via http://www.ruby-forum.com/. _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core From lists at ruby-forum.com Mon Oct 8 13:21:51 2007 From: lists at ruby-forum.com (Dermot Hogan) Date: Mon, 8 Oct 2007 19:21:51 +0200 Subject: [Ironruby-core] trouble with super and .NET classes In-Reply-To: References: <9f5c5d98491e4853c831bb5b3921d0ed@ruby-forum.com> Message-ID: <2b01f8088226cecbedef4a32da73263b@ruby-forum.com> OK, thanks. When (approximately) do you expect to support this? Dermot -- Posted via http://www.ruby-forum.com/. From jflam at microsoft.com Mon Oct 8 15:59:08 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Mon, 8 Oct 2007 12:59:08 -0700 Subject: [Ironruby-core] trouble with super and .NET classes In-Reply-To: <2b01f8088226cecbedef4a32da73263b@ruby-forum.com> References: <9f5c5d98491e4853c831bb5b3921d0ed@ruby-forum.com> <2b01f8088226cecbedef4a32da73263b@ruby-forum.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D2AB431D@NA-EXMSG-C115.redmond.corp.microsoft.com> John Messerly from our team is looking into this issue now. Shouldn't be long ... :) -John > -----Original Message----- > From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core- > bounces at rubyforge.org] On Behalf Of Dermot Hogan > Sent: Monday, October 08, 2007 10:22 AM > To: ironruby-core at rubyforge.org > Subject: Re: [Ironruby-core] trouble with super and .NET classes > > OK, thanks. > > When (approximately) do you expect to support this? > > Dermot > -- > Posted via http://www.ruby-forum.com/. > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core From lists at ruby-forum.com Mon Oct 8 16:10:56 2007 From: lists at ruby-forum.com (Dermot Hogan) Date: Mon, 8 Oct 2007 22:10:56 +0200 Subject: [Ironruby-core] trouble with super and .NET classes In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D2AB431D@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <9f5c5d98491e4853c831bb5b3921d0ed@ruby-forum.com> <2b01f8088226cecbedef4a32da73263b@ruby-forum.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB431D@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <2971d46ee243a7ce553230678e82d55f@ruby-forum.com> Great! I'm a bit stuck with the Form designer until that works. Do delegates work yet? Dermot -- Posted via http://www.ruby-forum.com/. From jflam at microsoft.com Mon Oct 8 16:12:48 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Mon, 8 Oct 2007 13:12:48 -0700 Subject: [Ironruby-core] trouble with super and .NET classes In-Reply-To: <2971d46ee243a7ce553230678e82d55f@ruby-forum.com> References: <9f5c5d98491e4853c831bb5b3921d0ed@ruby-forum.com> <2b01f8088226cecbedef4a32da73263b@ruby-forum.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB431D@NA-EXMSG-C115.redmond.corp.microsoft.com> <2971d46ee243a7ce553230678e82d55f@ruby-forum.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D2AB4330@NA-EXMSG-C115.redmond.corp.microsoft.com> Yes - delegates work. Have you gotten success in integrating IronRuby into the VS editor yet? Thanks, -John > -----Original Message----- > From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core- > bounces at rubyforge.org] On Behalf Of Dermot Hogan > Sent: Monday, October 08, 2007 1:11 PM > To: ironruby-core at rubyforge.org > Subject: Re: [Ironruby-core] trouble with super and .NET classes > > Great! > > I'm a bit stuck with the Form designer until that works. > > Do delegates work yet? > > Dermot > -- > Posted via http://www.ruby-forum.com/. > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core From lists at ruby-forum.com Mon Oct 8 16:54:32 2007 From: lists at ruby-forum.com (Dermot Hogan) Date: Mon, 8 Oct 2007 22:54:32 +0200 Subject: [Ironruby-core] trouble with super and .NET classes In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D2AB4330@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <9f5c5d98491e4853c831bb5b3921d0ed@ruby-forum.com> <2b01f8088226cecbedef4a32da73263b@ruby-forum.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB431D@NA-EXMSG-C115.redmond.corp.microsoft.com> <2971d46ee243a7ce553230678e82d55f@ruby-forum.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB4330@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: The VS editor supports Ruby - it doesn't care which flavor it is. I can edit and launch IronRuby from the editor just like I can with JRuby or classic Ruby. I can also generate IronRuby code from the Form Designer and generate a Form layout back from the Ruby code. What I can't do is run the generated IronRuby like you would VB or C# ... that's why I need the Windows inheritance in IronRuby. The VS Form Designer is very picky and works in a very specific way. You really have to do exactly what it expects you to do. I've also got to code the Form Designer merge logic. I haven't tried the debugger yet. The basics should be reasonably easy, but I suspect the difficult bit will be getting the inspectors to work. I spent a lot of time with Matz's Ruby getting VS debug expressions (the watch windows and debug data tips) to work correctly. The main problem is that there is no defined syntax for the string returned by inspect - you can return what you like - and there are at least 7 or 8 different formats. The bulk of the work is really stitching the whole thing together - there's no show stopper in there (but the Form Designer can be a real pita). My problem is that I'm doing this in my spare time - of which I don't have a lot :( Dermot -- Posted via http://www.ruby-forum.com/. From jflam at microsoft.com Mon Oct 8 16:59:45 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Mon, 8 Oct 2007 13:59:45 -0700 Subject: [Ironruby-core] trouble with super and .NET classes In-Reply-To: References: <9f5c5d98491e4853c831bb5b3921d0ed@ruby-forum.com> <2b01f8088226cecbedef4a32da73263b@ruby-forum.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB431D@NA-EXMSG-C115.redmond.corp.microsoft.com> <2971d46ee243a7ce553230678e82d55f@ruby-forum.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB4330@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D2AB4399@NA-EXMSG-C115.redmond.corp.microsoft.com> > Dermot Hogan: > > I can also generate IronRuby code from the Form Designer and generate a > Form layout back from the Ruby code. What I can't do is run the > generated IronRuby like you would VB or C# ... that's why I need the > Windows inheritance in IronRuby. The VS Form Designer is very picky and > works in a very specific way. You really have to do exactly what it > expects you to do. I've also got to code the Form Designer merge logic. Understood. We'll need to get this to work. > I haven't tried the debugger yet. The basics should be reasonably easy, > but I suspect the difficult bit will be getting the inspectors to work. > I spent a lot of time with Matz's Ruby getting VS debug expressions > (the > watch windows and debug data tips) to work correctly. The main problem > is that there is no defined syntax for the string returned by inspect - > you can return what you like - and there are at least 7 or 8 different > formats. I wouldn't recommend looking at this until we've had a chance to rewrite the scanner in IronRuby. Right now the one that we're using doesn't report line / column positions correctly. Once that works, we'll be able to emit the correct PDBs, which should enable the VS debugger to "just work". Thanks for working on this! -John From jomes at microsoft.com Mon Oct 8 17:01:29 2007 From: jomes at microsoft.com (John Messerly) Date: Mon, 8 Oct 2007 14:01:29 -0700 Subject: [Ironruby-core] trouble with super and .NET classes In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D2AB4399@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <9f5c5d98491e4853c831bb5b3921d0ed@ruby-forum.com> <2b01f8088226cecbedef4a32da73263b@ruby-forum.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB431D@NA-EXMSG-C115.redmond.corp.microsoft.com> <2971d46ee243a7ce553230678e82d55f@ruby-forum.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB4330@NA-EXMSG-C115.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB4399@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <918705E903F4714CB713D89AB5F1857D712FF5A43A@NA-EXMSG-C116.redmond.corp.microsoft.com> Hi Dermot, Do you have any sample Ruby code generated by the Windows Forms designer? I'd like to try it out so I can see what the issues are to get it working. Thanks! John -----Original Message----- From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of John Lam (DLR) Sent: Monday, October 08, 2007 2:00 PM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] trouble with super and .NET classes > Dermot Hogan: > > I can also generate IronRuby code from the Form Designer and generate a > Form layout back from the Ruby code. What I can't do is run the > generated IronRuby like you would VB or C# ... that's why I need the > Windows inheritance in IronRuby. The VS Form Designer is very picky and > works in a very specific way. You really have to do exactly what it > expects you to do. I've also got to code the Form Designer merge logic. Understood. We'll need to get this to work. > I haven't tried the debugger yet. The basics should be reasonably easy, > but I suspect the difficult bit will be getting the inspectors to work. > I spent a lot of time with Matz's Ruby getting VS debug expressions > (the > watch windows and debug data tips) to work correctly. The main problem > is that there is no defined syntax for the string returned by inspect - > you can return what you like - and there are at least 7 or 8 different > formats. I wouldn't recommend looking at this until we've had a chance to rewrite the scanner in IronRuby. Right now the one that we're using doesn't report line / column positions correctly. Once that works, we'll be able to emit the correct PDBs, which should enable the VS debugger to "just work". Thanks for working on this! -John _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core From lists at ruby-forum.com Mon Oct 8 17:56:24 2007 From: lists at ruby-forum.com (Dermot Hogan) Date: Mon, 8 Oct 2007 23:56:24 +0200 Subject: [Ironruby-core] trouble with super and .NET classes In-Reply-To: <918705E903F4714CB713D89AB5F1857D712FF5A43A@NA-EXMSG-C116.redmond.corp.microsoft.com> References: <9f5c5d98491e4853c831bb5b3921d0ed@ruby-forum.com> <2b01f8088226cecbedef4a32da73263b@ruby-forum.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB431D@NA-EXMSG-C115.redmond.corp.microsoft.com> <2971d46ee243a7ce553230678e82d55f@ruby-forum.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB4330@NA-EXMSG-C115.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB4399@NA-EXMSG-C115.redmond.corp.microsoft.com> <918705E903F4714CB713D89AB5F1857D712FF5A43A@NA-EXMSG-C116.redmond.corp.microsoft.com> Message-ID: <5fc63b36319e08438a516c1dec46032d@ruby-forum.com> Hi John, Here's some very simple text: a form, a checkbox and a button with a couple of attributes. I haven't been able run this in IR at all so I've no idea if it will work or not. However, it looks like the sort of thing that the Form Designer produces in C# or VB. Tt does 'round trip' between the designer and persistant store, so it's internally consistent - I think :) require 'mscorlib' require 'System' require 'System.Windows.Forms' require 'System.Drawing' class Form1123 < System::Windows::Forms::Form attr_accessor :checkBox1 attr_accessor :button2 def InitializeComponent self.button2 = System::Windows::Forms::Button.new() self.checkBox1 = System::Windows::Forms::CheckBox.new() self.SuspendLayout() # # button2 # self.button2.Location = System::Drawing::Point.new(79, 113) self.button2.Name = "button2" self.button2.Size = System::Drawing::Size.new(75, 23) self.button2.TabIndex = 0 self.button2.Text = "button2" self.button2.TextAlign = System::Drawing::ContentAlignment.TopCenter self.button2.UseVisualStyleBackColor = true # # checkBox1 # self.checkBox1.Anchor = System::Windows::Forms::AnchorStyles.Top | System::Windows::Forms::AnchorStyles.Bottom | System::Windows::Forms::AnchorStyles.Left self.checkBox1.AutoSize = true self.checkBox1.Location = System::Drawing::Point.new(79, 61) self.checkBox1.Name = "checkBox1" self.checkBox1.Size = System::Drawing::Size.new(90, 17) self.checkBox1.TabIndex = 1 self.checkBox1.Text = "checkBox1" self.checkBox1.TextAlign = System::Drawing::ContentAlignment.TopLeft self.checkBox1.UseVisualStyleBackColor = true # # Form1123 # self.ClientSize = System::Drawing::Size.new(284, 264) self.Controls.Add(self.checkBox1) self.Controls.Add(self.button2) self.Name = "Form1123" self.ResumeLayout(false) self.PerformLayout() end end good luck! Dermot -- Posted via http://www.ruby-forum.com/. From jflam at microsoft.com Mon Oct 8 18:07:33 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Mon, 8 Oct 2007 15:07:33 -0700 Subject: [Ironruby-core] trouble with super and .NET classes In-Reply-To: <5fc63b36319e08438a516c1dec46032d@ruby-forum.com> References: <9f5c5d98491e4853c831bb5b3921d0ed@ruby-forum.com> <2b01f8088226cecbedef4a32da73263b@ruby-forum.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB431D@NA-EXMSG-C115.redmond.corp.microsoft.com> <2971d46ee243a7ce553230678e82d55f@ruby-forum.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB4330@NA-EXMSG-C115.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB4399@NA-EXMSG-C115.redmond.corp.microsoft.com> <918705E903F4714CB713D89AB5F1857D712FF5A43A@NA-EXMSG-C116.redmond.corp.microsoft.com> <5fc63b36319e08438a516c1dec46032d@ruby-forum.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D2AB440E@NA-EXMSG-C115.redmond.corp.microsoft.com> A quick look at the code: Enums are broken today, so that won't work without some helper library that just returns the enum value. This is on our short list of bugs to fix already. Jomes has already fixed inheritance and will be posting a patch for that soon to unblock you (we're still going to code review it internally and run it through our testing infrastructure before it gets out). Thanks, -John > -----Original Message----- > From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core- > bounces at rubyforge.org] On Behalf Of Dermot Hogan > Sent: Monday, October 08, 2007 2:56 PM > To: ironruby-core at rubyforge.org > Subject: Re: [Ironruby-core] trouble with super and .NET classes > > Hi John, > > Here's some very simple text: a form, a checkbox and a button with a > couple of attributes. I haven't been able run this in IR at all so I've > no idea if it will work or not. However, it looks like the sort of > thing > that the Form Designer produces in C# or VB. Tt does 'round trip' > between the designer and persistant store, so it's internally > consistent > - I think :) > > require 'mscorlib' > require 'System' > require 'System.Windows.Forms' > require 'System.Drawing' > > class Form1123 < System::Windows::Forms::Form > > attr_accessor :checkBox1 > attr_accessor :button2 > > def InitializeComponent > > self.button2 = System::Windows::Forms::Button.new() > self.checkBox1 = System::Windows::Forms::CheckBox.new() > self.SuspendLayout() > # > # button2 > # > self.button2.Location = System::Drawing::Point.new(79, 113) > self.button2.Name = "button2" > self.button2.Size = System::Drawing::Size.new(75, 23) > self.button2.TabIndex = 0 > self.button2.Text = "button2" > self.button2.TextAlign = > System::Drawing::ContentAlignment.TopCenter > self.button2.UseVisualStyleBackColor = true > # > # checkBox1 > # > self.checkBox1.Anchor = System::Windows::Forms::AnchorStyles.Top | > System::Windows::Forms::AnchorStyles.Bottom | > System::Windows::Forms::AnchorStyles.Left > self.checkBox1.AutoSize = true > self.checkBox1.Location = System::Drawing::Point.new(79, 61) > self.checkBox1.Name = "checkBox1" > self.checkBox1.Size = System::Drawing::Size.new(90, 17) > self.checkBox1.TabIndex = 1 > self.checkBox1.Text = "checkBox1" > self.checkBox1.TextAlign = > System::Drawing::ContentAlignment.TopLeft > self.checkBox1.UseVisualStyleBackColor = true > # > # Form1123 > # > self.ClientSize = System::Drawing::Size.new(284, 264) > self.Controls.Add(self.checkBox1) > self.Controls.Add(self.button2) > self.Name = "Form1123" > self.ResumeLayout(false) > self.PerformLayout() > end > end > > > good luck! > > Dermot > -- > Posted via http://www.ruby-forum.com/. > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core From jomes at microsoft.com Mon Oct 8 18:40:44 2007 From: jomes at microsoft.com (John Messerly) Date: Mon, 8 Oct 2007 15:40:44 -0700 Subject: [Ironruby-core] trouble with super and .NET classes In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D2AB440E@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <9f5c5d98491e4853c831bb5b3921d0ed@ruby-forum.com> <2b01f8088226cecbedef4a32da73263b@ruby-forum.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB431D@NA-EXMSG-C115.redmond.corp.microsoft.com> <2971d46ee243a7ce553230678e82d55f@ruby-forum.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB4330@NA-EXMSG-C115.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB4399@NA-EXMSG-C115.redmond.corp.microsoft.com> <918705E903F4714CB713D89AB5F1857D712FF5A43A@NA-EXMSG-C116.redmond.corp.microsoft.com> <5fc63b36319e08438a516c1dec46032d@ruby-forum.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB440E@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <918705E903F4714CB713D89AB5F1857D713005B0BD@NA-EXMSG-C116.redmond.corp.microsoft.com> I attached a patch that fixes inheriting from a CLR base class. Of course, there's still a lot more work to do, but it lets you do the basic things like inherit from a CLR type and add methods in Ruby. - John M -----Original Message----- From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of John Lam (DLR) Sent: Monday, October 08, 2007 3:08 PM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] trouble with super and .NET classes A quick look at the code: Enums are broken today, so that won't work without some helper library that just returns the enum value. This is on our short list of bugs to fix already. Jomes has already fixed inheritance and will be posting a patch for that soon to unblock you (we're still going to code review it internally and run it through our testing infrastructure before it gets out). Thanks, -John > -----Original Message----- > From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core- > bounces at rubyforge.org] On Behalf Of Dermot Hogan > Sent: Monday, October 08, 2007 2:56 PM > To: ironruby-core at rubyforge.org > Subject: Re: [Ironruby-core] trouble with super and .NET classes > > Hi John, > > Here's some very simple text: a form, a checkbox and a button with a > couple of attributes. I haven't been able run this in IR at all so I've > no idea if it will work or not. However, it looks like the sort of > thing > that the Form Designer produces in C# or VB. Tt does 'round trip' > between the designer and persistant store, so it's internally > consistent > - I think :) > > require 'mscorlib' > require 'System' > require 'System.Windows.Forms' > require 'System.Drawing' > > class Form1123 < System::Windows::Forms::Form > > attr_accessor :checkBox1 > attr_accessor :button2 > > def InitializeComponent > > self.button2 = System::Windows::Forms::Button.new() > self.checkBox1 = System::Windows::Forms::CheckBox.new() > self.SuspendLayout() > # > # button2 > # > self.button2.Location = System::Drawing::Point.new(79, 113) > self.button2.Name = "button2" > self.button2.Size = System::Drawing::Size.new(75, 23) > self.button2.TabIndex = 0 > self.button2.Text = "button2" > self.button2.TextAlign = > System::Drawing::ContentAlignment.TopCenter > self.button2.UseVisualStyleBackColor = true > # > # checkBox1 > # > self.checkBox1.Anchor = System::Windows::Forms::AnchorStyles.Top | > System::Windows::Forms::AnchorStyles.Bottom | > System::Windows::Forms::AnchorStyles.Left > self.checkBox1.AutoSize = true > self.checkBox1.Location = System::Drawing::Point.new(79, 61) > self.checkBox1.Name = "checkBox1" > self.checkBox1.Size = System::Drawing::Size.new(90, 17) > self.checkBox1.TabIndex = 1 > self.checkBox1.Text = "checkBox1" > self.checkBox1.TextAlign = > System::Drawing::ContentAlignment.TopLeft > self.checkBox1.UseVisualStyleBackColor = true > # > # Form1123 > # > self.ClientSize = System::Drawing::Size.new(284, 264) > self.Controls.Add(self.checkBox1) > self.Controls.Add(self.button2) > self.Name = "Form1123" > self.ResumeLayout(false) > self.PerformLayout() > end > end > > > good luck! > > Dermot > -- > Posted via http://www.ruby-forum.com/. > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core -------------- next part -------------- A non-text attachment was scrubbed... Name: clrBaseType.patch Type: application/octet-stream Size: 2320 bytes Desc: clrBaseType.patch Url : http://rubyforge.org/pipermail/ironruby-core/attachments/20071008/9a35340d/attachment.obj From charles.nutter at sun.com Mon Oct 8 18:55:45 2007 From: charles.nutter at sun.com (Charles Oliver Nutter) Date: Mon, 08 Oct 2007 17:55:45 -0500 Subject: [Ironruby-core] trouble with super and .NET classes In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D2AB4399@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <9f5c5d98491e4853c831bb5b3921d0ed@ruby-forum.com> <2b01f8088226cecbedef4a32da73263b@ruby-forum.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB431D@NA-EXMSG-C115.redmond.corp.microsoft.com> <2971d46ee243a7ce553230678e82d55f@ruby-forum.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB4330@NA-EXMSG-C115.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB4399@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <470AB571.2020100@sun.com> John Lam (DLR) wrote: >> Dermot Hogan: >> I haven't tried the debugger yet. The basics should be reasonably easy, >> but I suspect the difficult bit will be getting the inspectors to work. >> I spent a lot of time with Matz's Ruby getting VS debug expressions >> (the >> watch windows and debug data tips) to work correctly. The main problem >> is that there is no defined syntax for the string returned by inspect - >> you can return what you like - and there are at least 7 or 8 different >> formats. > > I wouldn't recommend looking at this until we've had a chance to rewrite the scanner in IronRuby. Right now the one that we're using doesn't report line / column positions correctly. Once that works, we'll be able to emit the correct PDBs, which should enable the VS debugger to "just work". Will there be any effort put into making existing Ruby debugging tools work, like debug.rb included in the Ruby stdlib and ruby-debug, the C-based extension that allows fast debugging through a similar interface? Most of the Java-based tools have based their debugging capabilities on debug.rb and ruby-debug, and soon will have a jruby-debug fast debugger to use. The JRuby compiler also enables the possibility of using a normal Java debugger, but being mixed-mode (both interpreted and compiled) complicates that somewhat. Is the current effort to only support PDB-style debugging? (FYI, you may want to look at the debug-commons project on RubyForge, it's a community effort between some Eclipse guys and some NetBeans guys to build a common framework for debugging Ruby in those tools). - Charlie From jflam at microsoft.com Tue Oct 9 00:36:30 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Mon, 8 Oct 2007 21:36:30 -0700 Subject: [Ironruby-core] trouble with super and .NET classes In-Reply-To: <470AB571.2020100@sun.com> References: <9f5c5d98491e4853c831bb5b3921d0ed@ruby-forum.com> <2b01f8088226cecbedef4a32da73263b@ruby-forum.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB431D@NA-EXMSG-C115.redmond.corp.microsoft.com> <2971d46ee243a7ce553230678e82d55f@ruby-forum.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB4330@NA-EXMSG-C115.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB4399@NA-EXMSG-C115.redmond.corp.microsoft.com> <470AB571.2020100@sun.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D2AB4599@NA-EXMSG-C115.redmond.corp.microsoft.com> Charlie Nutter wrote: > > Is the current effort to only support PDB-style debugging? Yes. We will look into adding additional debugging support once we understand the problem domain a bit better. If you take a look at debugging support in IronPython, you'll get a feel for what's possible here. > (FYI, you may want to look at the debug-commons project on RubyForge, > it's a community effort between some Eclipse guys and some NetBeans > guys > to build a common framework for debugging Ruby in those tools). Thanks for the pointers. -John From lists at ruby-forum.com Tue Oct 9 16:46:07 2007 From: lists at ruby-forum.com (Dermot Hogan) Date: Tue, 9 Oct 2007 22:46:07 +0200 Subject: [Ironruby-core] trouble with super and .NET classes In-Reply-To: <918705E903F4714CB713D89AB5F1857D713005B0BD@NA-EXMSG-C116.redmond.corp.microsoft.com> References: <9f5c5d98491e4853c831bb5b3921d0ed@ruby-forum.com> <2b01f8088226cecbedef4a32da73263b@ruby-forum.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB431D@NA-EXMSG-C115.redmond.corp.microsoft.com> <2971d46ee243a7ce553230678e82d55f@ruby-forum.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB4330@NA-EXMSG-C115.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB4399@NA-EXMSG-C115.redmond.corp.microsoft.com> <918705E903F4714CB713D89AB5F1857D712FF5A43A@NA-EXMSG-C116.redmond.corp.microsoft.com> <5fc63b36319e08438a516c1dec46032d@ruby-forum.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB440E@NA-EXMSG-C115.redmond.corp.microsoft.com> <918705E903F4714CB713D89AB5F1857D713005B0BD@NA-EXMSG-C116.redmond.corp.microsoft.com> Message-ID: thanks - that seems fine! Dermot -- Posted via http://www.ruby-forum.com/. From sanxiyn at gmail.com Wed Oct 10 03:33:37 2007 From: sanxiyn at gmail.com (Sanghyeon Seo) Date: Wed, 10 Oct 2007 16:33:37 +0900 Subject: [Ironruby-core] Generated codes Message-ID: <5b0248170710100033g4815196cp80101cb04c18af99@mail.gmail.com> There are some generated codes in IronRuby SVN. Are scripts to generate them available? FYI: For generated files under microsoft.sciprting, files under Src/Scripts in IronPython 2.0 Alpha 4 release can be used. But not for this file, which is not present in IronPython release. src/microsoft.scripting/Utils/ReflectedCaller.Generated.cs -- Seo Sanghyeon From enicholson at gmail.com Thu Oct 11 15:31:13 2007 From: enicholson at gmail.com (Eric Nicholson) Date: Thu, 11 Oct 2007 15:31:13 -0400 Subject: [Ironruby-core] Referencing a CLR List in IronRuby Message-ID: I can't figure out how to get items out of any of the CLR List types in IronRuby. Here's a contrived example: >>> require 'mscorlib' => true >>> foo = System::Collections::ArrayList.new() => # >>> foo.Item(0) System.MissingMethodException: undefined local variable or method `Item' for #:ArrayList Here's the only thing I could think of that does work: >>> foo.ToArray.GetValue(0) => "Hello" Does anyone know why that is? Or maybe a better work-around? Thanks! -Eric -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071011/517c213d/attachment.html From jgbailey at gmail.com Thu Oct 11 15:49:39 2007 From: jgbailey at gmail.com (Justin Bailey) Date: Thu, 11 Oct 2007 12:49:39 -0700 Subject: [Ironruby-core] Referencing a CLR List in IronRuby In-Reply-To: References: Message-ID: On 10/11/07, Eric Nicholson wrote: > > I can't figure out how to get items out of any of the CLR List types in > IronRuby. Here's a contrived example: > > >>> require 'mscorlib' > => true > >>> foo = System::Collections:: ArrayList.new() > => # > >>> foo.Item(0) > System.MissingMethodException: undefined local variable or method `Item' > for #:ArrayList The actualy method name will be get_Item(), I think. But did you try >>> foo[0] Might work! Justin -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071011/750908ab/attachment.html From enicholson at gmail.com Thu Oct 11 15:59:32 2007 From: enicholson at gmail.com (Eric Nicholson) Date: Thu, 11 Oct 2007 15:59:32 -0400 Subject: [Ironruby-core] Referencing a CLR List in IronRuby In-Reply-To: References: Message-ID: Good Call. foo.get_Item() works great. foo[0] throws an exception. Thanks Justin! That's much better than ToArray.GetValue... -Eric On 10/11/07, Justin Bailey wrote: > > On 10/11/07, Eric Nicholson wrote: > > > > I can't figure out how to get items out of any of the CLR List types in > > IronRuby. Here's a contrived example: > > > > >>> require 'mscorlib' > > => true > > >>> foo = System::Collections:: ArrayList.new() > > => # > > >>> foo.Item(0) > > System.MissingMethodException: undefined local variable or method `Item' > > for #:ArrayList > > > The actualy method name will be get_Item(), I think. But did you try > > >>> foo[0] > > Might work! > > Justin > > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071011/02974de6/attachment.html From Cory.Foy at microsoft.com Thu Oct 11 16:09:00 2007 From: Cory.Foy at microsoft.com (Cory Foy) Date: Thu, 11 Oct 2007 13:09:00 -0700 Subject: [Ironruby-core] Referencing a CLR List in IronRuby In-Reply-To: References: Message-ID: <1AC17FAF2165B641AC2AF42BBEED58CF3BB8597031@NA-EXMSG-C110.redmond.corp.microsoft.com> And if anyone is wondering, the set would be: foo.set_Item(0, "World") Cory From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Eric Nicholson Sent: Thursday, October 11, 2007 4:00 PM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Referencing a CLR List in IronRuby Good Call. foo.get_Item() works great. foo[0] throws an exception. Thanks Justin! That's much better than ToArray.GetValue... -Eric On 10/11/07, Justin Bailey > wrote: On 10/11/07, Eric Nicholson > wrote: I can't figure out how to get items out of any of the CLR List types in IronRuby. Here's a contrived example: >>> require 'mscorlib' => true >>> foo = System::Collections:: ArrayList.new() => # >>> foo.Item(0) System.MissingMethodException: undefined local variable or method `Item' for #:ArrayList The actualy method name will be get_Item(), I think. But did you try >>> foo[0] Might work! Justin _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071011/2061389c/attachment.html From jflam at microsoft.com Thu Oct 11 16:33:22 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Thu, 11 Oct 2007 13:33:22 -0700 Subject: [Ironruby-core] Referencing a CLR List in IronRuby In-Reply-To: <1AC17FAF2165B641AC2AF42BBEED58CF3BB8597031@NA-EXMSG-C110.redmond.corp.microsoft.com> References: <1AC17FAF2165B641AC2AF42BBEED58CF3BB8597031@NA-EXMSG-C110.redmond.corp.microsoft.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D2B605E8@NA-EXMSG-C115.redmond.corp.microsoft.com> We'll have foo[0] working sometime later today. John Messerly just checked in support for injecting each() into IEnumerable things (among other nice interop pieces). He just missed out on the IList case. Thanks, -John From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Cory Foy Sent: Thursday, October 11, 2007 1:09 PM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Referencing a CLR List in IronRuby And if anyone is wondering, the set would be: foo.set_Item(0, "World") Cory From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Eric Nicholson Sent: Thursday, October 11, 2007 4:00 PM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Referencing a CLR List in IronRuby Good Call. foo.get_Item() works great. foo[0] throws an exception. Thanks Justin! That's much better than ToArray.GetValue... -Eric On 10/11/07, Justin Bailey > wrote: On 10/11/07, Eric Nicholson > wrote: I can't figure out how to get items out of any of the CLR List types in IronRuby. Here's a contrived example: >>> require 'mscorlib' => true >>> foo = System::Collections:: ArrayList.new() => # >>> foo.Item(0) System.MissingMethodException: undefined local variable or method `Item' for #:ArrayList The actualy method name will be get_Item(), I think. But did you try >>> foo[0] Might work! Justin _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071011/02af55f3/attachment-0001.html From enicholson at gmail.com Thu Oct 11 18:00:49 2007 From: enicholson at gmail.com (Eric Nicholson) Date: Thu, 11 Oct 2007 18:00:49 -0400 Subject: [Ironruby-core] Referencing a CLR List in IronRuby In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D2B605E8@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <1AC17FAF2165B641AC2AF42BBEED58CF3BB8597031@NA-EXMSG-C110.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D2B605E8@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: Sweet! Thanks Guys! On 10/11/07, John Lam (DLR) wrote: > > We'll have foo[0] working sometime later today. John Messerly just > checked in support for injecting each() into IEnumerable things (among other > nice interop pieces). He just missed out on the IList case. > > > > Thanks, > > -John > > > > > > *From:* ironruby-core-bounces at rubyforge.org [mailto: > ironruby-core-bounces at rubyforge.org] *On Behalf Of *Cory Foy > *Sent:* Thursday, October 11, 2007 1:09 PM > *To:* ironruby-core at rubyforge.org > *Subject:* Re: [Ironruby-core] Referencing a CLR List in IronRuby > > > > And if anyone is wondering, the set would be: > > > > foo.set_Item(0, "World") > > > > Cory > > > > *From:* ironruby-core-bounces at rubyforge.org [mailto: > ironruby-core-bounces at rubyforge.org] *On Behalf Of *Eric Nicholson > *Sent:* Thursday, October 11, 2007 4:00 PM > *To:* ironruby-core at rubyforge.org > *Subject:* Re: [Ironruby-core] Referencing a CLR List in IronRuby > > > > Good Call. foo.get_Item() works great. foo[0] throws an exception. > > Thanks Justin! That's much better than ToArray.GetValue... > > -Eric > > On 10/11/07, *Justin Bailey* wrote: > > On 10/11/07, *Eric Nicholson* wrote: > > I can't figure out how to get items out of any of the CLR List types in > IronRuby. Here's a contrived example: > > >>> require 'mscorlib' > => true > >>> foo = System::Collections:: ArrayList.new() > => # > >>> foo.Item(0) > System.MissingMethodException: undefined local variable or method `Item' > for #:ArrayList > > > The actualy method name will be get_Item(), I think. But did you try > > >>> foo[0] > > Might work! > > Justin > > > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > > > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071011/40ecaf62/attachment.html From jflam at microsoft.com Fri Oct 12 13:18:26 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Fri, 12 Oct 2007 10:18:26 -0700 Subject: [Ironruby-core] Volunteers to fix Rake for non-Windows systems? Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D2B609AA@NA-EXMSG-C115.redmond.corp.microsoft.com> Overheard last night on IRC: > IronRuby SVN has a build system implemented in rake, > which is wholly broken on non-Windows systems. Can someone who uses a non-Windows system volunteer to fix the Rakefile? Thanks, -John From olivier.duff at gmail.com Fri Oct 12 13:46:49 2007 From: olivier.duff at gmail.com (olivier dufour) Date: Fri, 12 Oct 2007 19:46:49 +0200 Subject: [Ironruby-core] Volunteers to fix Rake for non-Windows systems? In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D2B609AA@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2B609AA@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: I am on it I have ever done a big step yesterday. Will send patch when I have time ;) My patch will be for linux env 2007/10/12, John Lam (DLR) : > > Overheard last night on IRC: > > > IronRuby SVN has a build system implemented in rake, > > which is wholly broken on non-Windows systems. > > Can someone who uses a non-Windows system volunteer to fix the Rakefile? > > Thanks, > -John > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071012/32d8373c/attachment.html From jflam at microsoft.com Fri Oct 12 14:10:04 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Fri, 12 Oct 2007 11:10:04 -0700 Subject: [Ironruby-core] Volunteers to fix Rake for non-Windows systems? In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D2B609AA@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D2B60A25@NA-EXMSG-C115.redmond.corp.microsoft.com> Thanks! -John From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of olivier dufour Sent: Friday, October 12, 2007 10:47 AM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Volunteers to fix Rake for non-Windows systems? I am on it I have ever done a big step yesterday. Will send patch when I have time ;) My patch will be for linux env 2007/10/12, John Lam (DLR) < jflam at microsoft.com>: Overheard last night on IRC: > IronRuby SVN has a build system implemented in rake, > which is wholly broken on non-Windows systems. Can someone who uses a non-Windows system volunteer to fix the Rakefile? Thanks, -John _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071012/2bc9848a/attachment.html From olivier.duff at gmail.com Fri Oct 12 17:08:07 2007 From: olivier.duff at gmail.com (olivier dufour) Date: Fri, 12 Oct 2007 23:08:07 +0200 Subject: [Ironruby-core] Volunteers to fix Rake for non-Windows systems? In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D2B60A25@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2B609AA@NA-EXMSG-C115.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D2B60A25@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: I am a bit stuck with Environment.build variable if someone know why it return /release in rake file ... I have fix all '/' issue and replace some path with linux path. Someone know a variable to say Environment.pathSeparator or something like that to have the good path with the system. The idea is to have one rake file for all ;) thanks, olivier dufour 2007/10/12, John Lam (DLR) : > > Thanks! > > > > -John > > > > > > *From:* ironruby-core-bounces at rubyforge.org [mailto: > ironruby-core-bounces at rubyforge.org] *On Behalf Of *olivier dufour > *Sent:* Friday, October 12, 2007 10:47 AM > *To:* ironruby-core at rubyforge.org > *Subject:* Re: [Ironruby-core] Volunteers to fix Rake for non-Windows > systems? > > > > I am on it > I have ever done a big step yesterday. > Will send patch when I have time ;) > My patch will be for linux env > > 2007/10/12, John Lam (DLR) < jflam at microsoft.com>: > > Overheard last night on IRC: > > > IronRuby SVN has a build system implemented in rake, > > which is wholly broken on non-Windows systems. > > Can someone who uses a non-Windows system volunteer to fix the Rakefile? > > Thanks, > -John > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > > > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071012/db7264da/attachment-0001.html From enicholson at gmail.com Fri Oct 12 17:28:31 2007 From: enicholson at gmail.com (Eric Nicholson) Date: Fri, 12 Oct 2007 17:28:31 -0400 Subject: [Ironruby-core] Volunteers to fix Rake for non-Windows systems? In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D2B609AA@NA-EXMSG-C115.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D2B60A25@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: You can use File.Join I think. Interestingly, that still uses "/" on Windows systems in MRI/CRuby. But either slash should work on Windows. -Eric On 10/12/07, olivier dufour wrote: > > I am a bit stuck with Environment.build variable if someone know why it > return /release in rake file ... > > I have fix all '/' issue and replace some path with linux path. > Someone know a variable to say Environment.pathSeparator or something like > that to have the good path with the system. > > The idea is to have one rake file for all ;) > > thanks, > olivier dufour > > 2007/10/12, John Lam (DLR) < jflam at microsoft.com>: > > > > Thanks! > > > > > > > > -John > > > > > > > > > > > > *From:* ironruby-core-bounces at rubyforge.org [mailto: > > ironruby-core-bounces at rubyforge.org] *On Behalf Of *olivier dufour > > *Sent:* Friday, October 12, 2007 10:47 AM > > *To:* ironruby-core at rubyforge.org > > *Subject:* Re: [Ironruby-core] Volunteers to fix Rake for non-Windows > > systems? > > > > > > > > I am on it > > I have ever done a big step yesterday. > > Will send patch when I have time ;) > > My patch will be for linux env > > > > 2007/10/12, John Lam (DLR) < jflam at microsoft.com>: > > > > Overheard last night on IRC: > > > > > IronRuby SVN has a build system implemented in rake, > > > which is wholly broken on non-Windows systems. > > > > Can someone who uses a non-Windows system volunteer to fix the Rakefile? > > > > Thanks, > > -John > > > > _______________________________________________ > > Ironruby-core mailing list > > Ironruby-core at rubyforge.org > > http://rubyforge.org/mailman/listinfo/ironruby-core > > > > > > > > _______________________________________________ > > Ironruby-core mailing list > > Ironruby-core at rubyforge.org > > http://rubyforge.org/mailman/listinfo/ironruby-core > > > > > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071012/f0d6963e/attachment.html From jflam at microsoft.com Fri Oct 12 17:31:25 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Fri, 12 Oct 2007 14:31:25 -0700 Subject: [Ironruby-core] Volunteers to fix Rake for non-Windows systems? In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D2B609AA@NA-EXMSG-C115.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D2B60A25@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D2B60BC2@NA-EXMSG-C115.redmond.corp.microsoft.com> > I am a bit stuck with Environment.build variable if someone know why > it return /release in rake file ... We build into different directories for debug vs. release builds - this lets us potentially rename this in the future. -John From Cory.Foy at microsoft.com Fri Oct 12 19:35:51 2007 From: Cory.Foy at microsoft.com (Cory Foy) Date: Fri, 12 Oct 2007 16:35:51 -0700 Subject: [Ironruby-core] Volunteers to fix Rake for non-Windows systems? In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D2B609AA@NA-EXMSG-C115.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D2B60A25@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <1AC17FAF2165B641AC2AF42BBEED58CF3BB8634CB1@NA-EXMSG-C110.redmond.corp.microsoft.com> System.IO.Path.DirectorySeparatorChar: http://ablog.apress.com/?p=967 I had to do the same thing when I was managing the NUnit release on Linux. Although the NewLine separators were by far the worst violators. Cory From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of olivier dufour Sent: Friday, October 12, 2007 5:08 PM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Volunteers to fix Rake for non-Windows systems? I am a bit stuck with Environment.build variable if someone know why it return /release in rake file ... I have fix all '/' issue and replace some path with linux path. Someone know a variable to say Environment.pathSeparator or something like that to have the good path with the system. The idea is to have one rake file for all ;) thanks, olivier dufour 2007/10/12, John Lam (DLR) < jflam at microsoft.com>: Thanks! -John From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of olivier dufour Sent: Friday, October 12, 2007 10:47 AM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Volunteers to fix Rake for non-Windows systems? I am on it I have ever done a big step yesterday. Will send patch when I have time ;) My patch will be for linux env 2007/10/12, John Lam (DLR) < jflam at microsoft.com>: Overheard last night on IRC: > IronRuby SVN has a build system implemented in rake, > which is wholly broken on non-Windows systems. Can someone who uses a non-Windows system volunteer to fix the Rakefile? Thanks, -John _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071012/fc02af35/attachment.html From sanxiyn at gmail.com Fri Oct 12 22:05:11 2007 From: sanxiyn at gmail.com (Sanghyeon Seo) Date: Sat, 13 Oct 2007 11:05:11 +0900 Subject: [Ironruby-core] Volunteers to fix Rake for non-Windows systems? In-Reply-To: <1AC17FAF2165B641AC2AF42BBEED58CF3BB8634CB1@NA-EXMSG-C110.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2B609AA@NA-EXMSG-C115.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D2B60A25@NA-EXMSG-C115.redmond.corp.microsoft.com> <1AC17FAF2165B641AC2AF42BBEED58CF3BB8634CB1@NA-EXMSG-C110.redmond.corp.microsoft.com> Message-ID: <5b0248170710121905x36f19befob1d69b6e7f01194d@mail.gmail.com> 2007/10/13, Cory Foy : > System.IO.Path.DirectorySeparatorChar: > http://ablog.apress.com/?p=967 This is a good advice for .NET, but Rakefile is written in Ruby, so unrelated to the topic of this thread. -- Seo Sanghyeon From sanxiyn at gmail.com Fri Oct 12 22:10:21 2007 From: sanxiyn at gmail.com (Sanghyeon Seo) Date: Sat, 13 Oct 2007 11:10:21 +0900 Subject: [Ironruby-core] IronRuby on Mono HOWTO Message-ID: <5b0248170710121910t20972fach77c1a5af37433eca@mail.gmail.com> Thanks to nudging by Charles, I've put together a HOWTO for IronRuby on Mono, describing my setup. I'm using NAnt for now until Rakefile is fixed. All relevant files are on the following address (and will be as I update them). http://sparcs.kaist.ac.kr/~tinuviel/download/IronRuby/ I would appreciate any success or failure reports. -- Seo Sanghyeon From sanxiyn at gmail.com Fri Oct 12 22:13:22 2007 From: sanxiyn at gmail.com (Sanghyeon Seo) Date: Sat, 13 Oct 2007 11:13:22 +0900 Subject: [Ironruby-core] Generated codes In-Reply-To: <5b0248170710100033g4815196cp80101cb04c18af99@mail.gmail.com> References: <5b0248170710100033g4815196cp80101cb04c18af99@mail.gmail.com> Message-ID: <5b0248170710121913l25c721belea49fe9a70a4699a@mail.gmail.com> 2007/10/10, Sanghyeon Seo : > There are some generated codes in IronRuby SVN. Are scripts to > generate them available? > > FYI: For generated files under microsoft.sciprting, files under > Src/Scripts in IronPython 2.0 Alpha 4 release can be used. > > But not for this file, which is not present in IronPython release. > src/microsoft.scripting/Utils/ReflectedCaller.Generated.cs A script to generate this file is included in IronPython 2.0 Alpha 5 release, so that problem is fixed. However I would have appreciated an answer other than "wait for next IronPython release and discover yourself". -- Seo Sanghyeon From Cory.Foy at microsoft.com Fri Oct 12 22:35:55 2007 From: Cory.Foy at microsoft.com (Cory Foy) Date: Fri, 12 Oct 2007 19:35:55 -0700 Subject: [Ironruby-core] Volunteers to fix Rake for non-Windows systems? In-Reply-To: <5b0248170710121905x36f19befob1d69b6e7f01194d@mail.gmail.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2B609AA@NA-EXMSG-C115.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D2B60A25@NA-EXMSG-C115.redmond.corp.microsoft.com> <1AC17FAF2165B641AC2AF42BBEED58CF3BB8634CB1@NA-EXMSG-C110.redmond.corp.microsoft.com> <5b0248170710121905x36f19befob1d69b6e7f01194d@mail.gmail.com> Message-ID: <1AC17FAF2165B641AC2AF42BBEED58CF3BB8634D07@NA-EXMSG-C110.redmond.corp.microsoft.com> Ah, my mistake. I saw Oliver's Environment thing and thought of .NET. Sorry! Cory -----Original Message----- From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Sanghyeon Seo Sent: Friday, October 12, 2007 10:05 PM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Volunteers to fix Rake for non-Windows systems? 2007/10/13, Cory Foy : > System.IO.Path.DirectorySeparatorChar: > http://ablog.apress.com/?p=967 This is a good advice for .NET, but Rakefile is written in Ruby, so unrelated to the topic of this thread. -- Seo Sanghyeon _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core From Cory.Foy at microsoft.com Fri Oct 12 22:54:13 2007 From: Cory.Foy at microsoft.com (Cory Foy) Date: Fri, 12 Oct 2007 19:54:13 -0700 Subject: [Ironruby-core] Volunteers to fix Rake for non-Windows systems? In-Reply-To: <5b0248170710121905x36f19befob1d69b6e7f01194d@mail.gmail.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2B609AA@NA-EXMSG-C115.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D2B60A25@NA-EXMSG-C115.redmond.corp.microsoft.com> <1AC17FAF2165B641AC2AF42BBEED58CF3BB8634CB1@NA-EXMSG-C110.redmond.corp.microsoft.com> <5b0248170710121905x36f19befob1d69b6e7f01194d@mail.gmail.com> Message-ID: <1AC17FAF2165B641AC2AF42BBEED58CF3BB8634D0C@NA-EXMSG-C110.redmond.corp.microsoft.com> Here's what I was looking for: http://www.rubycentral.com/pickaxe/ref_c_file.html foyc at dilbert ~ $ irb irb(main):001:0> puts File::SEPARATOR / => nil Cory -----Original Message----- From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Sanghyeon Seo Sent: Friday, October 12, 2007 10:05 PM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Volunteers to fix Rake for non-Windows systems? 2007/10/13, Cory Foy : > System.IO.Path.DirectorySeparatorChar: > http://ablog.apress.com/?p=967 This is a good advice for .NET, but Rakefile is written in Ruby, so unrelated to the topic of this thread. -- Seo Sanghyeon _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core From sanxiyn at gmail.com Sat Oct 13 06:54:51 2007 From: sanxiyn at gmail.com (Sanghyeon Seo) Date: Sat, 13 Oct 2007 19:54:51 +0900 Subject: [Ironruby-core] IronRuby on Mono In-Reply-To: <5b0248170710070644j7ed5108fq47d14e915307bcd8@mail.gmail.com> References: <5b0248170710070644j7ed5108fq47d14e915307bcd8@mail.gmail.com> Message-ID: <5b0248170710130354h5bfabb25tc5fd67aea432132@mail.gmail.com> 2007/10/7, Sanghyeon Seo : > If you want to compile or to run IronRuby on Mono, the following > information should be useful. See also https://bugzilla.novell.com/show_bug.cgi?id=333647 This is .NET 1.1/2.0 incompatibility where Mono followed .NET 1.1 and didn't update to 2.0 behaviour. I expect this to be fixed very soon. -- Seo Sanghyeon From olivier.duff at gmail.com Sat Oct 13 07:04:32 2007 From: olivier.duff at gmail.com (olivier dufour) Date: Sat, 13 Oct 2007 13:04:32 +0200 Subject: [Ironruby-core] Volunteers to fix Rake for non-Windows systems? In-Reply-To: <1AC17FAF2165B641AC2AF42BBEED58CF3BB8634D0C@NA-EXMSG-C110.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2B609AA@NA-EXMSG-C115.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D2B60A25@NA-EXMSG-C115.redmond.corp.microsoft.com> <1AC17FAF2165B641AC2AF42BBEED58CF3BB8634CB1@NA-EXMSG-C110.redmond.corp.microsoft.com> <5b0248170710121905x36f19befob1d69b6e7f01194d@mail.gmail.com> <1AC17FAF2165B641AC2AF42BBEED58CF3BB8634D0C@NA-EXMSG-C110.redmond.corp.microsoft.com> Message-ID: Ok, It compile. In fact, Environment is a class of rakefile. I look for something in rake api ;(. I have join an environment variable name mono to say if it is for mono or regular .NET. so to compile you have to do "rake compile mono=yes" for example For moment, it report an error but I am not sure if I must use gmcs or smcs... Any help and feedback needed to build a good rakefile compatible with mono ;) thanks, 2007/10/13, Cory Foy : > > Here's what I was looking for: > > http://www.rubycentral.com/pickaxe/ref_c_file.html > > foyc at dilbert ~ $ irb > irb(main):001:0> puts File::SEPARATOR > / > => nil > > Cory > > -----Original Message----- > From: ironruby-core-bounces at rubyforge.org [mailto: > ironruby-core-bounces at rubyforge.org] On Behalf Of Sanghyeon Seo > Sent: Friday, October 12, 2007 10:05 PM > To: ironruby-core at rubyforge.org > Subject: Re: [Ironruby-core] Volunteers to fix Rake for non-Windows > systems? > > 2007/10/13, Cory Foy : > > System.IO.Path.DirectorySeparatorChar: > > http://ablog.apress.com/?p=967 > > This is a good advice for .NET, but Rakefile is written in Ruby, so > unrelated to the topic of this thread. > > -- > Seo Sanghyeon > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071013/07f024c4/attachment-0001.html -------------- next part -------------- A non-text attachment was scrubbed... Name: Rakefile Type: application/octet-stream Size: 19286 bytes Desc: not available Url : http://rubyforge.org/pipermail/ironruby-core/attachments/20071013/07f024c4/attachment-0001.obj From jb at nurv.fr Sat Oct 13 08:42:52 2007 From: jb at nurv.fr (Jb Evain) Date: Sat, 13 Oct 2007 14:42:52 +0200 Subject: [Ironruby-core] Volunteers to fix Rake for non-Windows systems? In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D2B609AA@NA-EXMSG-C115.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D2B60A25@NA-EXMSG-C115.redmond.corp.microsoft.com> <1AC17FAF2165B641AC2AF42BBEED58CF3BB8634CB1@NA-EXMSG-C110.redmond.corp.microsoft.com> <5b0248170710121905x36f19befob1d69b6e7f01194d@mail.gmail.com> <1AC17FAF2165B641AC2AF42BBEED58CF3BB8634D0C@NA-EXMSG-C110.redmond.corp.microsoft.com> Message-ID: <69f7d8470710130542l70d7a633n8e3bd65fbcecf1c1@mail.gmail.com> On 10/13/07, olivier dufour wrote: > For moment, it report an error but I am not sure if I must use gmcs or > smcs... You have to use gmcs to compile the desktop version of IronRuby and smcs to compile the Silverlight version (and define the SILVERLIGHT compilation constant). -- Jb Evain From olivier.duff at gmail.com Sat Oct 13 11:39:23 2007 From: olivier.duff at gmail.com (olivier dufour) Date: Sat, 13 Oct 2007 17:39:23 +0200 Subject: [Ironruby-core] Volunteers to fix Rake for non-Windows systems? In-Reply-To: <69f7d8470710130542l70d7a633n8e3bd65fbcecf1c1@mail.gmail.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2B609AA@NA-EXMSG-C115.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D2B60A25@NA-EXMSG-C115.redmond.corp.microsoft.com> <1AC17FAF2165B641AC2AF42BBEED58CF3BB8634CB1@NA-EXMSG-C110.redmond.corp.microsoft.com> <5b0248170710121905x36f19befob1d69b6e7f01194d@mail.gmail.com> <1AC17FAF2165B641AC2AF42BBEED58CF3BB8634D0C@NA-EXMSG-C110.redmond.corp.microsoft.com> <69f7d8470710130542l70d7a633n8e3bd65fbcecf1c1@mail.gmail.com> Message-ID: oki, thanks JB. 2007/10/13, Jb Evain : > > On 10/13/07, olivier dufour wrote: > > For moment, it report an error but I am not sure if I must use gmcs or > > smcs... > > You have to use gmcs to compile the desktop version of IronRuby and > smcs to compile the Silverlight version (and define the SILVERLIGHT > compilation constant). > > -- > Jb Evain > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071013/e737f385/attachment.html From curt at hagenlocher.org Sat Oct 13 23:15:46 2007 From: curt at hagenlocher.org (Curt Hagenlocher) Date: Sat, 13 Oct 2007 20:15:46 -0700 Subject: [Ironruby-core] Experimentation Message-ID: I thought I'd implement some missing members on the String class in order to get my feet wet and start to understand the software. I chose String.scanon the grounds that it was a fairly common function (between 20 and 30 references in the standard library) with straightforward semantics, but one which requires dealing with overloads and blocks. There are basically four variations of this function: String.scan String.scan String.scan , String.scan , I've attempted to implement each of these, and believe that all but the last are correct. The variations are implemented in two different flavors for both CLR strings and mutable strings. A patch can be found at http://hagenlocher.org/software/MutableString.scan.patch.txt The two issues I ran into are as follows: 1) The overload mechanism is picking the wrong method at runtime. Here are two of the function prototypes: [RubyMethodAttribute("scan", RubyMethodAttributes.PublicInstance)] public static List Scan(MutableString/*!*/ self, MutableString/*!*/ searchStr) [RubyMethodAttribute("scan", RubyMethodAttributes.PublicInstance)] public static object Scan(CodeContext/*!*/ context, MutableString/*!*/ self, MutableString searchStr, BlockParam block) When I run from rbx.exe, I get the following: >>> "hello world".scan("l") => ["l", "l", "l"] >>> "hello world".scan("l") {|x| print x} => ["l", "l", "l"] In contrast, CRuby gives this: irb(main):001:0> "hello world".scan("l") => ["l", "l", "l"] irb(main):002:0> "hello world".scan("l") {|x| print x} lll=> "hello world" Am I doing something wrong, or is this a bug? (I have obviously updated Initializer.Generated.cs, or neither scan would have been found :). 2) My implementation of String.scan , is incomplete. This function is defined to behave as follows: a.scan(/\w+/) {|w| print "<<#{w}>> " } a.scan(/(.)(.)/) {|x,y| print y, x } In other words, the number of parameters being passed to the block is equal to the number of groups defined in the regular expression -- or 1 if there are no groups defined. I haven't been able to find way to pass parameters or define a call site or that would support this. Finally, it's a bit annoying to rebuild Initializer.Generated.cs. Whenever you change a method signature, you have to manually delete the appropriate part of the old file in order to regenerate it, or you'll get an error. I've made an empty version of that source file and a batch file that copies it on top of the previous version before rebuilding ClassInitGenerator. Assuming that the architecture is going to be here for a while, it would be nice if there were a target in the Rakefile that performed these steps. After a few more hours of this, I may have to figure out how to do that myself. :) -- Curt Hagenlocher curt at hagenlocher.org -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071013/07b3b822/attachment.html From Tomas.Matousek at microsoft.com Sun Oct 14 01:54:19 2007 From: Tomas.Matousek at microsoft.com (Tomas Matousek) Date: Sat, 13 Oct 2007 22:54:19 -0700 Subject: [Ironruby-core] Experimentation In-Reply-To: References: Message-ID: 1) Change the signatures to: [RubyMethodAttribute("scan", RubyMethodAttributes.PublicInstance)] public static List/*!*/ Scan(MutableString/*!*/ self, [NotNull]MutableString/*!*/ searchStr) [RubyMethodAttribute("scan", RubyMethodAttributes.PublicInstance)] public static object Scan(CodeContext/*!*/ context, MutableString/*!*/ self, [NotNull]BlockParam/*!*/ block, [NotNull]MutableString/*!*/ searchStr) a) Block is a special parameter and it must follow self parameter. The order of parameters is: * context * self * block * mandatory parameters * optional parameters * params array (rest parameters) b) Specify [NotNull] for parameters that cannot be null in order to select the overload. You can assume that parameters doesn't have null value when called from a DLR language. It's not a CLR attribute though so it doesn't prevent a non-dynamic languages to pass null. Since the library methods are not supposed to be called directly (only Ruby runtime should invoke the method), you don't need to check for non-nullity at runtime. Context parameter is always non-null (no need to check for null at run-time). Self parameter is also non-null unless the method is a module method or an instance method of NilClass. c) Annotate types by /*!*/ annotation if you assume them to be non-null. Although the annotation doesn't affect run-time behavior at all (being a comment, it's ignored by C#) it is useful for static analysis and expresses your assumptions. d) Note also that unless marked by NotNull attribute, BlockParam is nullable. Hence the overload might be eligible for invocation even though no block has been passed. A null reference is used if the block is not specified in a call site and there is no overload that matches better. So a single overload with BlockParam parameter also works. It depends on the semantics of the method which variant to chose. If presence of the block significantly changes the behavior of the method then it's probably better to have two overloads. Code like [RubyMethod("foo")]public static Foo(... block ...) { if (block != null) { 1st overload implementation } else { 2nd overload implementation} } should be avoided if possible; two overloads should be defined instead. On the other hand, if the implementation almost doesn't depend on whether the block is present or not (it only affects a small part of the implementation) then it's probably better to have a single overload. 2) Check out dynamic site in Thread.CreateThread. It should do what you need. The magic is in ArgumentKind.List (splat). 3) Feel free to patch the Rakefile. Note however, that we are going to change the shape of libraries a little bit (in particular move Builtins to IronRuby.Libraries.dll), so it might be necessary to adjust the script again afterwards. Note that MutableString has an instance method IndexOf, so you don't need to convert to a CLR string (the method internally makes the conversion but that's only provisional implementation). Tomas From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Curt Hagenlocher Sent: Saturday, October 13, 2007 8:16 PM To: ironruby-core at rubyforge.org Subject: [Ironruby-core] Experimentation I thought I'd implement some missing members on the String class in order to get my feet wet and start to understand the software. I chose String.scan on the grounds that it was a fairly common function (between 20 and 30 references in the standard library) with straightforward semantics, but one which requires dealing with overloads and blocks. There are basically four variations of this function: String.scan String.scan String.scan , String.scan , I've attempted to implement each of these, and believe that all but the last are correct. The variations are implemented in two different flavors for both CLR strings and mutable strings. A patch can be found at http://hagenlocher.org/software/MutableString.scan.patch.txt The two issues I ran into are as follows: 1) The overload mechanism is picking the wrong method at runtime. Here are two of the function prototypes: [RubyMethodAttribute("scan", RubyMethodAttributes.PublicInstance)] public static List Scan(MutableString/*!*/ self, MutableString/*!*/ searchStr) [RubyMethodAttribute("scan", RubyMethodAttributes.PublicInstance)] public static object Scan(CodeContext/*!*/ context, MutableString/*!*/ self, MutableString searchStr, BlockParam block) When I run from rbx.exe, I get the following: >>> "hello world".scan("l") => ["l", "l", "l"] >>> "hello world".scan("l") {|x| print x} => ["l", "l", "l"] In contrast, CRuby gives this: irb(main):001:0> "hello world".scan("l") => ["l", "l", "l"] irb(main):002:0> "hello world".scan("l") {|x| print x} lll=> "hello world" Am I doing something wrong, or is this a bug? (I have obviously updated Initializer.Generated.cs, or neither scan would have been found :). 2) My implementation of String.scan , is incomplete. This function is defined to behave as follows: a.scan(/\w+/) {|w| print "<<#{w}>> " } a.scan(/(.)(.)/) {|x,y| print y, x } In other words, the number of parameters being passed to the block is equal to the number of groups defined in the regular expression -- or 1 if there are no groups defined. I haven't been able to find way to pass parameters or define a call site or that would support this. Finally, it's a bit annoying to rebuild Initializer.Generated.cs. Whenever you change a method signature, you have to manually delete the appropriate part of the old file in order to regenerate it, or you'll get an error. I've made an empty version of that source file and a batch file that copies it on top of the previous version before rebuilding ClassInitGenerator. Assuming that the architecture is going to be here for a while, it would be nice if there were a target in the Rakefile that performed these steps. After a few more hours of this, I may have to figure out how to do that myself. :) -- Curt Hagenlocher curt at hagenlocher.org -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071013/d69149b6/attachment-0001.html From jomes at microsoft.com Sun Oct 14 02:13:34 2007 From: jomes at microsoft.com (John Messerly) Date: Sat, 13 Oct 2007 23:13:34 -0700 Subject: [Ironruby-core] Experimentation In-Reply-To: References: Message-ID: <918705E903F4714CB713D89AB5F1857D7130115B27@NA-EXMSG-C116.redmond.corp.microsoft.com> Hi Curt, Sounds like a method binder bug. The workaround is to merge the two methods into one: [RubyMethod("scan", RubyMethodAttributes.PublicInstance)] public static object Scan(CodeContext/*!*/ context, MutableString/*!*/ self, MutableString searchStr, BlockParam block) { if (block == null) { // block wasn't supplied } else { // ... } } Even though a "BlockParam" argument is present, you can still call the method w/o a block. (Essentially, all "BlockParams" are [Optional]) In the meantime, I'll see if I can figure out why the binder is picking the wrong overload. - John From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Curt Hagenlocher Sent: Saturday, October 13, 2007 8:16 PM To: ironruby-core at rubyforge.org Subject: [Ironruby-core] Experimentation I thought I'd implement some missing members on the String class in order to get my feet wet and start to understand the software. I chose String.scan on the grounds that it was a fairly common function (between 20 and 30 references in the standard library) with straightforward semantics, but one which requires dealing with overloads and blocks. There are basically four variations of this function: String.scan String.scan String.scan , String.scan , I've attempted to implement each of these, and believe that all but the last are correct. The variations are implemented in two different flavors for both CLR strings and mutable strings. A patch can be found at http://hagenlocher.org/software/MutableString.scan.patch.txt The two issues I ran into are as follows: 1) The overload mechanism is picking the wrong method at runtime. Here are two of the function prototypes: [RubyMethodAttribute("scan", RubyMethodAttributes.PublicInstance)] public static List Scan(MutableString/*!*/ self, MutableString/*!*/ searchStr) [RubyMethodAttribute("scan", RubyMethodAttributes.PublicInstance)] public static object Scan(CodeContext/*!*/ context, MutableString/*!*/ self, MutableString searchStr, BlockParam block) When I run from rbx.exe, I get the following: >>> "hello world".scan("l") => ["l", "l", "l"] >>> "hello world".scan("l") {|x| print x} => ["l", "l", "l"] In contrast, CRuby gives this: irb(main):001:0> "hello world".scan("l") => ["l", "l", "l"] irb(main):002:0> "hello world".scan("l") {|x| print x} lll=> "hello world" Am I doing something wrong, or is this a bug? (I have obviously updated Initializer.Generated.cs, or neither scan would have been found :). 2) My implementation of String.scan , is incomplete. This function is defined to behave as follows: a.scan(/\w+/) {|w| print "<<#{w}>> " } a.scan(/(.)(.)/) {|x,y| print y, x } In other words, the number of parameters being passed to the block is equal to the number of groups defined in the regular expression -- or 1 if there are no groups defined. I haven't been able to find way to pass parameters or define a call site or that would support this. Finally, it's a bit annoying to rebuild Initializer.Generated.cs. Whenever you change a method signature, you have to manually delete the appropriate part of the old file in order to regenerate it, or you'll get an error. I've made an empty version of that source file and a batch file that copies it on top of the previous version before rebuilding ClassInitGenerator. Assuming that the architecture is going to be here for a while, it would be nice if there were a target in the Rakefile that performed these steps. After a few more hours of this, I may have to figure out how to do that myself. :) -- Curt Hagenlocher curt at hagenlocher.org -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071013/e14829f7/attachment.html From jomes at microsoft.com Sun Oct 14 02:21:12 2007 From: jomes at microsoft.com (John Messerly) Date: Sat, 13 Oct 2007 23:21:12 -0700 Subject: [Ironruby-core] Experimentation References: Message-ID: <918705E903F4714CB713D89AB5F1857D7130115B28@NA-EXMSG-C116.redmond.corp.microsoft.com> Whoops, looks like emails crossed. I think Tomas is right-- we're not picking the block overload because the block parameter needs to be after self, not at the end like you might expect. Well, it's worth trying to see if that fixes the problem :) Cheers, John From: John Messerly Sent: Saturday, October 13, 2007 11:14 PM To: ironruby-core at rubyforge.org Subject: RE: [Ironruby-core] Experimentation Hi Curt, Sounds like a method binder bug. The workaround is to merge the two methods into one: [RubyMethod("scan", RubyMethodAttributes.PublicInstance)] public static object Scan(CodeContext/*!*/ context, MutableString/*!*/ self, MutableString searchStr, BlockParam block) { if (block == null) { // block wasn't supplied } else { // ... } } Even though a "BlockParam" argument is present, you can still call the method w/o a block. (Essentially, all "BlockParams" are [Optional]) In the meantime, I'll see if I can figure out why the binder is picking the wrong overload. - John From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Curt Hagenlocher Sent: Saturday, October 13, 2007 8:16 PM To: ironruby-core at rubyforge.org Subject: [Ironruby-core] Experimentation I thought I'd implement some missing members on the String class in order to get my feet wet and start to understand the software. I chose String.scan on the grounds that it was a fairly common function (between 20 and 30 references in the standard library) with straightforward semantics, but one which requires dealing with overloads and blocks. There are basically four variations of this function: String.scan String.scan String.scan , String.scan , I've attempted to implement each of these, and believe that all but the last are correct. The variations are implemented in two different flavors for both CLR strings and mutable strings. A patch can be found at http://hagenlocher.org/software/MutableString.scan.patch.txt The two issues I ran into are as follows: 1) The overload mechanism is picking the wrong method at runtime. Here are two of the function prototypes: [RubyMethodAttribute("scan", RubyMethodAttributes.PublicInstance)] public static List Scan(MutableString/*!*/ self, MutableString/*!*/ searchStr) [RubyMethodAttribute("scan", RubyMethodAttributes.PublicInstance)] public static object Scan(CodeContext/*!*/ context, MutableString/*!*/ self, MutableString searchStr, BlockParam block) When I run from rbx.exe, I get the following: >>> "hello world".scan("l") => ["l", "l", "l"] >>> "hello world".scan("l") {|x| print x} => ["l", "l", "l"] In contrast, CRuby gives this: irb(main):001:0> "hello world".scan("l") => ["l", "l", "l"] irb(main):002:0> "hello world".scan("l") {|x| print x} lll=> "hello world" Am I doing something wrong, or is this a bug? (I have obviously updated Initializer.Generated.cs, or neither scan would have been found :). 2) My implementation of String.scan , is incomplete. This function is defined to behave as follows: a.scan(/\w+/) {|w| print "<<#{w}>> " } a.scan(/(.)(.)/) {|x,y| print y, x } In other words, the number of parameters being passed to the block is equal to the number of groups defined in the regular expression -- or 1 if there are no groups defined. I haven't been able to find way to pass parameters or define a call site or that would support this. Finally, it's a bit annoying to rebuild Initializer.Generated.cs. Whenever you change a method signature, you have to manually delete the appropriate part of the old file in order to regenerate it, or you'll get an error. I've made an empty version of that source file and a batch file that copies it on top of the previous version before rebuilding ClassInitGenerator. Assuming that the architecture is going to be here for a while, it would be nice if there were a target in the Rakefile that performed these steps. After a few more hours of this, I may have to figure out how to do that myself. :) -- Curt Hagenlocher curt at hagenlocher.org -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071013/2ea60967/attachment-0001.html From sanxiyn at gmail.com Sun Oct 14 08:24:25 2007 From: sanxiyn at gmail.com (Sanghyeon Seo) Date: Sun, 14 Oct 2007 21:24:25 +0900 Subject: [Ironruby-core] Match operator Message-ID: <5b0248170710140524h52f55cf8o28d4114f88026bc7@mail.gmail.com> It seems that match operators (=~ and !~) aren't currently implemented. e.g. '' =~ // crashes while parsing. Where should one look to implement this? -- Seo Sanghyeon From curt at hagenlocher.org Sun Oct 14 09:52:02 2007 From: curt at hagenlocher.org (Curt Hagenlocher) Date: Sun, 14 Oct 2007 06:52:02 -0700 Subject: [Ironruby-core] Experimentation In-Reply-To: References: Message-ID: Thanks for all of the excellent advice; everything is now working. I had guessed there might be an issue on the overload with the specific signature of the function, but I wasn't able to find any examples of existing code that contradicted what I had done. Now that I know what to look for, of course... :). I wonder if it wouldn't be a good idea for the ClassInitGenerator to emit a warning when there's a signature containing a BlockParam that doesn't follow the correct pattern. The /*!*/ annotation seems a bit redundant with [NotNull], doesn't it? I think I'm just resentful that it's a bunch of characters that totally interrupt the flow of my typing. :P I considered merging the block form of the scan function with the blockless form, but it seemed that the result would be considerably harder to read and understand than keeping them seperate. Is this the sort of change you'd like to see submitted to the project? If so, I'll write some tests (I know; should have done it the other way around) and generate another patch file. On 10/13/07, Tomas Matousek wrote: > > 1) Change the signatures to: > > [RubyMethodAttribute("scan", RubyMethodAttributes.PublicInstance)] > > public static List/*!*/ Scan(MutableString/*!*/ self, [ > NotNull]MutableString/*!*/ searchStr) > > > > [RubyMethodAttribute("scan", RubyMethodAttributes.PublicInstance)] > > public static object Scan(CodeContext/*!*/ context, MutableString > /*!*/ self, [NotNull]BlockParam/*!*/ block, [NotNull]MutableString/*!*/searchStr) > > > > a) Block is a special parameter and it must follow self parameter. > The order of parameters is: > > ? context > > ? self > > ? block > > ? mandatory parameters > > ? optional parameters > > ? params array (rest parameters) > > b) Specify [NotNull] for parameters that cannot be null in order to > select the overload. You can assume that parameters doesn't have null value > when called from a DLR language. It's not a CLR attribute though so it > doesn't prevent a non-dynamic languages to pass null. Since the library > methods are not supposed to be called directly (only Ruby runtime should > invoke the method), you don't need to check for non-nullity at runtime. > Context parameter is always non-null (no need to check for null at > run-time). Self parameter is also non-null unless the method is a module > method or an instance method of NilClass. > > c) Annotate types by /*!*/ annotation if you assume them to be > non-null. Although the annotation doesn't affect run-time behavior at all > (being a comment, it's ignored by C#) it is useful for static analysis and > expresses your assumptions. > > d) Note also that unless marked by NotNull attribute, BlockParam is > nullable. Hence the overload might be eligible for invocation even though no > block has been passed. A null reference is used if the block is not > specified in a call site and there is no overload that matches better. So a > single overload with BlockParam parameter also works. It depends on the > semantics of the method which variant to chose. If presence of the block > significantly changes the behavior of the method then it's probably better > to have two overloads. Code like [RubyMethod("foo")]public static Foo(? > block ?) { if (block != null) { 1st overload implementation } else { 2ndoverload implementation} } should be avoided if possible; two overloads > should be defined instead. On the other hand, if the implementation almost > doesn't depend on whether the block is present or not (it only affects a > small part of the implementation) then it's probably better to have a single > overload. > > > > 2) Check out dynamic site in Thread.CreateThread. It should do what > you need. The magic is in ArgumentKind.List (splat). > > 3) Feel free to patch the Rakefile. Note however, that we are going > to change the shape of libraries a little bit (in particular move Builtins > to IronRuby.Libraries.dll), so it might be necessary to adjust the script > again afterwards. > > > > Note that MutableString has an instance method IndexOf, so you don't need > to convert to a CLR string (the method internally makes the conversion but > that's only provisional implementation). > > > > Tomas > > > > *From:* ironruby-core-bounces at rubyforge.org [mailto: > ironruby-core-bounces at rubyforge.org] *On Behalf Of *Curt Hagenlocher > *Sent:* Saturday, October 13, 2007 8:16 PM > *To:* ironruby-core at rubyforge.org > *Subject:* [Ironruby-core] Experimentation > > > > I thought I'd implement some missing members on the String class in order > to get my feet wet and start to understand the software. I chose > String.scan on the grounds that it was a fairly common function (between > 20 and 30 references in the standard library) with straightforward > semantics, but one which requires dealing with overloads and blocks. > > There are basically four variations of this function: > String.scan > String.scan > String.scan , > String.scan , > > I've attempted to implement each of these, and believe that all but the > last are correct. The variations are implemented in two different > flavors for both CLR strings and mutable strings. A patch can be found at > http://hagenlocher.org/software/MutableString.scan.patch.txt > > The two issues I ran into are as follows: > 1) The overload mechanism is picking the wrong method at runtime. Here > are two of the function prototypes: > > [RubyMethodAttribute("scan", RubyMethodAttributes.PublicInstance)] > public static List Scan(MutableString/*!*/ self, > MutableString/*!*/ searchStr) > > [RubyMethodAttribute("scan", RubyMethodAttributes.PublicInstance)] > public static object Scan(CodeContext/*!*/ context, MutableString/*!*/ > self, MutableString searchStr, BlockParam block) > > > > > > > > > > When I run from rbx.exe, I get the following: > > >>> "hello world".scan("l") > => ["l", "l", "l"] > > >>> "hello world".scan("l") {|x| print x} > => ["l", "l", "l"] > > > > In contrast, CRuby gives this: > > irb(main):001:0> "hello world".scan("l") > => ["l", "l", "l"] > irb(main):002:0> "hello world".scan("l") {|x| print x} > lll=> "hello world" > > > > Am I doing something wrong, or is this a bug? (I have obviously updated > Initializer.Generated.cs, or neither scan would have been found :). > > > > 2) My implementation of String.scan , is incomplete. This > function is defined to behave as follows: > > a.scan(/\w+/) {|w| print "<<#{w}>> " } > a.scan(/(.)(.)/) {|x,y| print y, x } > > > > In other words, the number of parameters being passed to the block is > equal to the number of groups defined in the regular expression -- or 1 if > there are no groups defined. I haven't been able to find way to pass > parameters or define a call site or that would support this. > > > > > > Finally, it's a bit annoying to rebuild Initializer.Generated.cs. > Whenever you change a method signature, you have to manually delete the > appropriate part of the old file in order to regenerate it, or you'll get an > error. I've made an empty version of that source file and a batch file that > copies it on top of the previous version before rebuilding > ClassInitGenerator. Assuming that the architecture is going to be here for > a while, it would be nice if there were a target in the Rakefile that > performed these steps. > > > > After a few more hours of this, I may have to figure out how to do that > myself. :) > > > > -- > > Curt Hagenlocher > > curt at hagenlocher.org > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071014/29b798bd/attachment.html From Tomas.Matousek at microsoft.com Sun Oct 14 12:22:40 2007 From: Tomas.Matousek at microsoft.com (Tomas Matousek) Date: Sun, 14 Oct 2007 09:22:40 -0700 Subject: [Ironruby-core] Experimentation In-Reply-To: References: Message-ID: Inline. From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Curt Hagenlocher Sent: Sunday, October 14, 2007 6:52 AM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Experimentation Thanks for all of the excellent advice; everything is now working. I had guessed there might be an issue on the overload with the specific signature of the function, but I wasn't able to find any examples of existing code that contradicted what I had done. Now that I know what to look for, of course... :). I wonder if it wouldn't be a good idea for the ClassInitGenerator to emit a warning when there's a signature containing a BlockParam that doesn't follow the correct pattern. Yes, that's the plan - CIG will check for other errors as well. The /*!*/ annotation seems a bit redundant with [NotNull], doesn't it? I think I'm just resentful that it's a bunch of characters that totally interrupt the flow of my typing. :P Yes, you're right it seems redundant but unfortunately it's not. The problem is that our (i.e. DLR's) NotNull attribute is currently not understood by Spec# (static verifier). It's only influencing the overload resolution, nothing else. So Spec# would complain that you're e.g. "dotting thru" a variable that might be null. If you can define a macro in your favorite text editor, this is the right use of that feature. I considered merging the block form of the scan function with the blockless form, but it seemed that the result would be considerably harder to read and understand than keeping them seperate. Is this the sort of change you'd like to see submitted to the project? If so, I'll write some tests (I know; should have done it the other way around) and generate another patch file. Yes, we accept contributions to libraries, i.e. to IronRuby.Libraries.dll. Although MutableString class will stay where it is, Ruby method implementations for MutableString will soon get factored out to the Libraries assembly. Hence we could take your contribution then if it will be correct and efficient. Tomas On 10/13/07, Tomas Matousek > wrote: 1) Change the signatures to: [RubyMethodAttribute("scan", RubyMethodAttributes.PublicInstance)] public static List /*!*/ Scan(MutableString/*!*/ self, [NotNull]MutableString /*!*/ searchStr) [RubyMethodAttribute("scan", RubyMethodAttributes.PublicInstance)] public static object Scan(CodeContext /*!*/ context, MutableString/*!*/ self, [NotNull]BlockParam /*!*/ block, [NotNull]MutableString/*!*/ searchStr) a) Block is a special parameter and it must follow self parameter. The order of parameters is: * context * self * block * mandatory parameters * optional parameters * params array (rest parameters) b) Specify [NotNull] for parameters that cannot be null in order to select the overload. You can assume that parameters doesn't have null value when called from a DLR language. It's not a CLR attribute though so it doesn't prevent a non-dynamic languages to pass null. Since the library methods are not supposed to be called directly (only Ruby runtime should invoke the method), you don't need to check for non-nullity at runtime. Context parameter is always non-null (no need to check for null at run-time). Self parameter is also non-null unless the method is a module method or an instance method of NilClass. c) Annotate types by /*!*/ annotation if you assume them to be non-null. Although the annotation doesn't affect run-time behavior at all (being a comment, it's ignored by C#) it is useful for static analysis and expresses your assumptions. d) Note also that unless marked by NotNull attribute, BlockParam is nullable. Hence the overload might be eligible for invocation even though no block has been passed. A null reference is used if the block is not specified in a call site and there is no overload that matches better. So a single overload with BlockParam parameter also works. It depends on the semantics of the method which variant to chose. If presence of the block significantly changes the behavior of the method then it's probably better to have two overloads. Code like [RubyMethod("foo")]public static Foo(... block ...) { if (block != null) { 1 st overload implementation } else { 2nd overload implementation} } should be avoided if possible; two overloads should be defined instead. On the other hand, if the implementation almost doesn't depend on whether the block is present or not (it only affects a small part of the implementation) then it's probably better to have a single overload. 2) Check out dynamic site in Thread.CreateThread. It should do what you need. The magic is in ArgumentKind.List (splat). 3) Feel free to patch the Rakefile. Note however, that we are going to change the shape of libraries a little bit (in particular move Builtins to IronRuby.Libraries.dll), so it might be necessary to adjust the script again afterwards. Note that MutableString has an instance method IndexOf, so you don't need to convert to a CLR string (the method internally makes the conversion but that's only provisional implementation). Tomas From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Curt Hagenlocher Sent: Saturday, October 13, 2007 8:16 PM To: ironruby-core at rubyforge.org Subject: [Ironruby-core] Experimentation I thought I'd implement some missing members on the String class in order to get my feet wet and start to understand the software. I chose String.scan on the grounds that it was a fairly common function (between 20 and 30 references in the standard library) with straightforward semantics, but one which requires dealing with overloads and blocks. There are basically four variations of this function: String.scan String.scan String.scan , String.scan , I've attempted to implement each of these, and believe that all but the last are correct. The variations are implemented in two different flavors for both CLR strings and mutable strings. A patch can be found at http://hagenlocher.org/software/MutableString.scan.patch.txt The two issues I ran into are as follows: 1) The overload mechanism is picking the wrong method at runtime. Here are two of the function prototypes: [RubyMethodAttribute("scan", RubyMethodAttributes.PublicInstance)] public static List Scan(MutableString/*!*/ self, MutableString/*!*/ searchStr) [RubyMethodAttribute("scan", RubyMethodAttributes.PublicInstance)] public static object Scan(CodeContext/*!*/ context, MutableString/*!*/ self, MutableString searchStr, BlockParam block) When I run from rbx.exe, I get the following: >>> "hello world".scan("l") => ["l", "l", "l"] >>> "hello world".scan("l") {|x| print x} => ["l", "l", "l"] In contrast, CRuby gives this: irb(main):001:0> "hello world".scan("l") => ["l", "l", "l"] irb(main):002:0> "hello world".scan("l") {|x| print x} lll=> "hello world" Am I doing something wrong, or is this a bug? (I have obviously updated Initializer.Generated.cs, or neither scan would have been found :). 2) My implementation of String.scan , is incomplete. This function is defined to behave as follows: a.scan(/\w+/) {|w| print "<<#{w}>> " } a.scan(/(.)(.)/) {|x,y| print y, x } In other words, the number of parameters being passed to the block is equal to the number of groups defined in the regular expression -- or 1 if there are no groups defined. I haven't been able to find way to pass parameters or define a call site or that would support this. Finally, it's a bit annoying to rebuild Initializer.Generated.cs. Whenever you change a method signature, you have to manually delete the appropriate part of the old file in order to regenerate it, or you'll get an error. I've made an empty version of that source file and a batch file that copies it on top of the previous version before rebuilding ClassInitGenerator. Assuming that the architecture is going to be here for a while, it would be nice if there were a target in the Rakefile that performed these steps. After a few more hours of this, I may have to figure out how to do that myself. :) -- Curt Hagenlocher curt at hagenlocher.org _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071014/0fe7e0a8/attachment-0001.html From curt at hagenlocher.org Sun Oct 14 16:10:27 2007 From: curt at hagenlocher.org (Curt Hagenlocher) Date: Sun, 14 Oct 2007 13:10:27 -0700 Subject: [Ironruby-core] Experimentation In-Reply-To: References: Message-ID: On 10/14/07, Tomas Matousek wrote: > Yes, you're right it seems redundant but unfortunately it's not. The > problem is that our (i.e. DLR's) NotNull attribute is currently not > understood by Spec# (static verifier). It's only influencing the overload > resolution, nothing else. So Spec# would complain that you're e.g. > "dotting thru" a variable that might be null. > Ah, I didn't realize there was a program looking directly at the source code. > If you can define a macro in your favorite text editor, this is the > right use of that feature. > :) > Yes, we accept contributions to libraries, i.e. to > IronRuby.Libraries.dll. Although MutableString class will stay where it > is, Ruby method implementations for MutableString will soon get factored out > to the Libraries assembly. Hence we could take your contribution then if it > will be correct and efficient. > I see that the operations have now been factored out into MutableStringOps.cs, presumably in preparation for this migration. If it's not premature, there's an updated patch file (is that the preferred format?) at http://hagenlocher.org/software/MutableStringOps.scan.patch.txt which incorporates implementations for scan, upto, swapcase and swapcase!, as well as tests for all of these changes in test.string.rb. These days, i18n is at the top of my brain as my company works on internationalizing its product. It's charmingly quaint to see that IronRuby (and presumably Ruby) have explicit tests against the ranges 'A'-'Z' and 'a'-'z' for purposes of checking and changing the case of individual letters :). -- Curt Hagenlocher curt at hagenlocher.org -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071014/ba693b94/attachment.html From jomes at microsoft.com Sun Oct 14 17:06:16 2007 From: jomes at microsoft.com (John Messerly) Date: Sun, 14 Oct 2007 14:06:16 -0700 Subject: [Ironruby-core] Match operator In-Reply-To: <5b0248170710140524h52f55cf8o28d4114f88026bc7@mail.gmail.com> References: <5b0248170710140524h52f55cf8o28d4114f88026bc7@mail.gmail.com> Message-ID: <918705E903F4714CB713D89AB5F1857D712EF2FE65@NA-EXMSG-C116.redmond.corp.microsoft.com> On 10/14/07, Sanghyeon Seo wrote: > It seems that match operators (=~ and !~) aren't currently > implemented. e.g. '' =~ // crashes while parsing. > > Where should one look to implement this? > It's in RegexpOps.cs. There's actually an interesting design issue around Regexp. On one hand, it would be really nice if we could somehow use System.Text.RegularExpressions to implement Ruby's Regexp. On the other hand, there might be too much of an impedance mismatch between the two. I haven't compared them yet... I wonder how different they are? - John From curt at hagenlocher.org Sun Oct 14 17:55:33 2007 From: curt at hagenlocher.org (Curt Hagenlocher) Date: Sun, 14 Oct 2007 14:55:33 -0700 Subject: [Ironruby-core] Experimentation In-Reply-To: References: Message-ID: On 10/14/07, Curt Hagenlocher wrote: > If it's not premature, there's an updated patch file (is that the > preferred format?) at > http://hagenlocher.org/software/MutableStringOps.scan.patch.txt which > incorporates implementations for scan, upto, swapcase and swapcase!, as well > as tests for all of these changes in test.string.rb. > Proving that "you can't eat just one", I've amended this to include center, chomp, chomp!, chop and chop!. And they say that watching television isn't productive... -- Curt Hagenlocher curt at hagenlocher.org -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071014/38732aac/attachment.html From sanxiyn at gmail.com Sun Oct 14 18:42:02 2007 From: sanxiyn at gmail.com (Sanghyeon Seo) Date: Mon, 15 Oct 2007 07:42:02 +0900 Subject: [Ironruby-core] Match operator In-Reply-To: <918705E903F4714CB713D89AB5F1857D712EF2FE65@NA-EXMSG-C116.redmond.corp.microsoft.com> References: <5b0248170710140524h52f55cf8o28d4114f88026bc7@mail.gmail.com> <918705E903F4714CB713D89AB5F1857D712EF2FE65@NA-EXMSG-C116.redmond.corp.microsoft.com> Message-ID: <5b0248170710141542k76aca2a0v1f48f11cc725c9f0@mail.gmail.com> 2007/10/15, John Messerly : > On 10/14/07, Sanghyeon Seo wrote: > > It seems that match operators (=~ and !~) aren't currently > > implemented. e.g. '' =~ // crashes while parsing. > > > > Where should one look to implement this? > > It's in RegexpOps.cs. No, it isn't. I'm not talking about missing methods, I'm talking about *parsing*. -- Seo Sanghyeon From curt at hagenlocher.org Sun Oct 14 18:51:50 2007 From: curt at hagenlocher.org (Curt Hagenlocher) Date: Sun, 14 Oct 2007 15:51:50 -0700 Subject: [Ironruby-core] Match operator In-Reply-To: <5b0248170710141542k76aca2a0v1f48f11cc725c9f0@mail.gmail.com> References: <5b0248170710140524h52f55cf8o28d4114f88026bc7@mail.gmail.com> <918705E903F4714CB713D89AB5F1857D712EF2FE65@NA-EXMSG-C116.redmond.corp.microsoft.com> <5b0248170710141542k76aca2a0v1f48f11cc725c9f0@mail.gmail.com> Message-ID: On 10/14/07, Sanghyeon Seo wrote: > > 2007/10/15, John Messerly : > > On 10/14/07, Sanghyeon Seo wrote: > > > It seems that match operators (=~ and !~) aren't currently > > > implemented. e.g. '' =~ // crashes while parsing. > > > > > > Where should one look to implement this? > > > > It's in RegexpOps.cs. > > No, it isn't. I'm not talking about missing methods, I'm talking about > *parsing*. I don't see any evidence in src\IronRuby\Compiler\Parser\Parser.y that these symbol combinations are recognized as distinct tokens. -- Curt Hagenlocher curt at hagenlocher.org -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071014/3b8633e4/attachment.html From sanxiyn at gmail.com Sun Oct 14 18:54:58 2007 From: sanxiyn at gmail.com (Sanghyeon Seo) Date: Mon, 15 Oct 2007 07:54:58 +0900 Subject: [Ironruby-core] Match operator In-Reply-To: References: <5b0248170710140524h52f55cf8o28d4114f88026bc7@mail.gmail.com> <918705E903F4714CB713D89AB5F1857D712EF2FE65@NA-EXMSG-C116.redmond.corp.microsoft.com> <5b0248170710141542k76aca2a0v1f48f11cc725c9f0@mail.gmail.com> Message-ID: <5b0248170710141554u6c776b77s1bbb7d30f2038c4c@mail.gmail.com> 2007/10/15, Curt Hagenlocher : > I don't see any evidence in > src\IronRuby\Compiler\Parser\Parser.y that these symbol > combinations are recognized as distinct tokens. But the stacktrace shows Ruby.Compiler.Parser.Parse, so I assumed it's crashing while parsing. Am I wrong? $ cat t.rb '' =~ // $ mono rbx.exe t.rb System.NullReferenceException: Object reference not set to an instance of an object at Ruby.Compiler.Ast.ExpressionStatement..ctor (Ruby.Compiler.Ast.Expression expression) [0x00000] at Ruby.Compiler.Parser.DoAction (Int32 action) [0x00000] at Ruby.Compiler.ShiftReduceParser`2[Ruby.Compiler.TokenValue,Microsoft.Scripting.SourceSpan].Reduce (Int32 ) [0x00000] at Ruby.Compiler.ShiftReduceParser`2[Ruby.Compiler.TokenValue,Microsoft.Scripting.SourceSpan].Parse () [0x00000] at Ruby.Compiler.Parser.Parse (Microsoft.Scripting.CompilerContext cc) [0x00000] at Ruby.Runtime.RubyContext.ParseSourceCode (Microsoft.Scripting.CompilerContext context) [0x00000] at Microsoft.Scripting.LanguageContext.CompileSourceCode (Microsoft.Scripting.Hosting.SourceUnit sourceUnit, Microsoft.Scripting.CompilerOptions options, Microsoft.Scripting.Hosting.ErrorSink errorSink) [0x00000] at Microsoft.Scripting.ScriptDomainManager.CompileModule (System.String name, ScriptModuleKind kind, Microsoft.Scripting.Scope scope, Microsoft.Scripting.CompilerOptions options, Microsoft.Scripting.Hosting.ErrorSink errorSink, Microsoft.Scripting.Hosting.SourceUnit[] sourceUnits) [0x00000] at Microsoft.Scripting.ScriptDomainManager.CompileModule (System.String name, Microsoft.Scripting.Hosting.SourceUnit sourceUnit) [0x00000] at Ruby.Hosting.RubyCommandLine.RunFile (System.String path) [0x00000] -- Seo Sanghyeon From curt at hagenlocher.org Sun Oct 14 19:28:50 2007 From: curt at hagenlocher.org (Curt Hagenlocher) Date: Sun, 14 Oct 2007 16:28:50 -0700 Subject: [Ironruby-core] Match operator In-Reply-To: <5b0248170710141554u6c776b77s1bbb7d30f2038c4c@mail.gmail.com> References: <5b0248170710140524h52f55cf8o28d4114f88026bc7@mail.gmail.com> <918705E903F4714CB713D89AB5F1857D712EF2FE65@NA-EXMSG-C116.redmond.corp.microsoft.com> <5b0248170710141542k76aca2a0v1f48f11cc725c9f0@mail.gmail.com> <5b0248170710141554u6c776b77s1bbb7d30f2038c4c@mail.gmail.com> Message-ID: On 10/14/07, Sanghyeon Seo wrote: > > 2007/10/15, Curt Hagenlocher : > > I don't see any evidence in > > src\IronRuby\Compiler\Parser\Parser.y that these symbol > > combinations are recognized as distinct tokens. > > But the stacktrace shows Ruby.Compiler.Parser.Parse, so I assumed it's > crashing while parsing. Am I wrong? Hmm.. I had assumed that the parser was recognizing this as . I was wrong, and these symbols are actually defined as MATCH and NMATCH in the grammar. Their implementation, however, is commented out: | arg MATCH arg { //$$ = new MatchExpression($1, $3, @$); } | arg NMATCH arg { //$$ = new NotExpression(new MatchExpression($1, $3, @$), @$); } There does not actually appear to be any implementation of the MatchExpression class. -- Curt Hagenlocher curt at hagenlocher.org -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071014/021b37a1/attachment.html From Cory.Foy at microsoft.com Sun Oct 14 21:27:45 2007 From: Cory.Foy at microsoft.com (Cory Foy) Date: Sun, 14 Oct 2007 18:27:45 -0700 Subject: [Ironruby-core] Build broken? Message-ID: <1AC17FAF2165B641AC2AF42BBEED58CF3BB8634DBC@NA-EXMSG-C110.redmond.corp.microsoft.com> Just got the latest updates, and when I try to run Ruby.Console, it goes Initializer.cs, and then calls LoadModules() which throws a NotImplementedException. -- Cory Foy Premier Field Engineer - .NET/Dev US East Premier Field Engineering Microsoft Services Tel (cell): 813-352-0233 Email: Cory.Foy at microsoft.com Blog: http://www.cornetdesign.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071014/da01beaa/attachment-0001.html From Cory.Foy at microsoft.com Sun Oct 14 21:45:47 2007 From: Cory.Foy at microsoft.com (Cory Foy) Date: Sun, 14 Oct 2007 18:45:47 -0700 Subject: [Ironruby-core] FIXED: RE: Build broken? In-Reply-To: <1AC17FAF2165B641AC2AF42BBEED58CF3BB8634DBC@NA-EXMSG-C110.redmond.corp.microsoft.com> References: <1AC17FAF2165B641AC2AF42BBEED58CF3BB8634DBC@NA-EXMSG-C110.redmond.corp.microsoft.com> Message-ID: <1AC17FAF2165B641AC2AF42BBEED58CF3BB8634DC1@NA-EXMSG-C110.redmond.corp.microsoft.com> Disregard. I deleted everything in the directory and checked out a clean copy and it's happy again. Sorry. Cory From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Cory Foy Sent: Sunday, October 14, 2007 9:28 PM To: ironruby-core at rubyforge.org Subject: [Ironruby-core] Build broken? Just got the latest updates, and when I try to run Ruby.Console, it goes Initializer.cs, and then calls LoadModules() which throws a NotImplementedException. -- Cory Foy Premier Field Engineer - .NET/Dev US East Premier Field Engineering Microsoft Services Tel (cell): 813-352-0233 Email: Cory.Foy at microsoft.com Blog: http://www.cornetdesign.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071014/08aa4064/attachment.html From jdlewis at xactware.com Fri Oct 12 17:19:47 2007 From: jdlewis at xactware.com (Jeff Lewis) Date: Fri, 12 Oct 2007 15:19:47 -0600 Subject: [Ironruby-core] Volunteers to fix Rake for non-Windows systems? In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D2B609AA@NA-EXMSG-C115.redmond.corp.microsoft.com><372109E149E8084D8E6C7D9CFD82E06329D2B60A25@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <10149100A9B32A45A934362B602ABE5B021FD54F@POSTMASTER.xactware.com> /release is not actually a path, it is the msbuild target: /release for production builds And /debug for debug builds From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of olivier dufour Sent: Friday, October 12, 2007 3:08 PM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Volunteers to fix Rake for non-Windows systems? I am a bit stuck with Environment.build variable if someone know why it return /release in rake file ... I have fix all '/' issue and replace some path with linux path. Someone know a variable to say Environment.pathSeparator or something like that to have the good path with the system. The idea is to have one rake file for all ;) thanks, olivier dufour 2007/10/12, John Lam (DLR) < jflam at microsoft.com >: Thanks! -John From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of olivier dufour Sent: Friday, October 12, 2007 10:47 AM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Volunteers to fix Rake for non-Windows systems? I am on it I have ever done a big step yesterday. Will send patch when I have time ;) My patch will be for linux env 2007/10/12, John Lam (DLR) < jflam at microsoft.com >: Overheard last night on IRC: > IronRuby SVN has a build system implemented in rake, > which is wholly broken on non-Windows systems. Can someone who uses a non-Windows system volunteer to fix the Rakefile? Thanks, -John _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core This email is intended solely for the recipient. It may contain privileged, proprietary or confidential information or material. If you are not the intended recipient, please delete this email and any attachments and notify the sender of the error. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071012/8658cb26/attachment.html From Derek at GordonKnight.co.uk Mon Oct 15 00:01:46 2007 From: Derek at GordonKnight.co.uk (Derek Knight) Date: Mon, 15 Oct 2007 17:01:46 +1300 Subject: [Ironruby-core] A couple of issues building in Visual Studio Message-ID: <586C5413B75C49179963F33276AF516D@Prejudice> I posted this in the open-discussion forum. Maybe that's not used much these days. I've found a few problems building IronRuby on Windows (using the IronRuby.sln file). It's possible my set-up might be bad, although all I did was download the SVN files and build them. A number of the projects have bad references (these look to be caused by the projects not being in the location the csproj files expect). I found that I had to change the following CSPROJ files (Ruby, IronRuby.Libraries, ClassInitGenerator, Ruby.Console, RubyTestHost). Also, I was doing a Release build and that does not compile. The Microsoft.Scripting library has #if DEBUG round definitions of 2 Utils.ReflectionUtils functions (FormatTypeName and FormatTypeArgs), which are referred to in Program.cs of ClassInitGenerator. I'm guessing others don't build from the Visual Studio solution (or I've set my environment up stupidly). Derek -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071015/0ed18ffa/attachment.html From enicholson at gmail.com Mon Oct 15 09:22:53 2007 From: enicholson at gmail.com (Eric Nicholson) Date: Mon, 15 Oct 2007 09:22:53 -0400 Subject: [Ironruby-core] A couple of issues building in Visual Studio In-Reply-To: <586C5413B75C49179963F33276AF516D@Prejudice> References: <586C5413B75C49179963F33276AF516D@Prejudice> Message-ID: I am able to build the source with VS.NET 2005. I don't remember if there were any tricks that I had to do to make it work... Have you tried building with rake? -Eric On 10/15/07, Derek Knight wrote: > > I posted this in the open-discussion forum. Maybe that's not used much > these days. > > I've found a few problems building IronRuby on Windows (using the > IronRuby.sln file). It's possible my set-up might be bad, although all I > did was download the SVN files and build them. > > A number of the projects have bad references (these look to be caused by > the projects not being in the location the csproj files expect). > I found that I had to change the following CSPROJ files (Ruby, > IronRuby.Libraries, ClassInitGenerator, Ruby.Console, RubyTestHost). > > Also, I was doing a Release build and that does not compile. The > Microsoft.Scripting library has #if DEBUG round definitions of 2 > Utils.ReflectionUtils functions (FormatTypeName and FormatTypeArgs), which > are referred to in Program.cs of ClassInitGenerator. > > I'm guessing others don't build from the Visual Studio solution (or I've > set my environment up stupidly). > > Derek > > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071015/5dbc1e51/attachment-0001.html From Cory.Foy at microsoft.com Mon Oct 15 09:49:42 2007 From: Cory.Foy at microsoft.com (Cory Foy) Date: Mon, 15 Oct 2007 06:49:42 -0700 Subject: [Ironruby-core] A couple of issues building in Visual Studio In-Reply-To: References: <586C5413B75C49179963F33276AF516D@Prejudice> Message-ID: <1AC17FAF2165B641AC2AF42BBEED58CF3BB8634E16@NA-EXMSG-C110.redmond.corp.microsoft.com> Same here. I didn't try the rake build - I just open the solution in VS2005 and build away - both debug and release mode. Derek - are you sure it's the 2005 version? I saw the references problem last time I opened the 2008 solution, but didn't have a chance to see what was going on. Cory From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Eric Nicholson Sent: Monday, October 15, 2007 9:23 AM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] A couple of issues building in Visual Studio I am able to build the source with VS.NET 2005. I don't remember if there were any tricks that I had to do to make it work... Have you tried building with rake? -Eric On 10/15/07, Derek Knight > wrote: I posted this in the open-discussion forum. Maybe that's not used much these days. I've found a few problems building IronRuby on Windows (using the IronRuby.sln file). It's possible my set-up might be bad, although all I did was download the SVN files and build them. A number of the projects have bad references (these look to be caused by the projects not being in the location the csproj files expect). I found that I had to change the following CSPROJ files (Ruby, IronRuby.Libraries, ClassInitGenerator, Ruby.Console, RubyTestHost). Also, I was doing a Release build and that does not compile. The Microsoft.Scripting library has #if DEBUG round definitions of 2 Utils.ReflectionUtils functions (FormatTypeName and FormatTypeArgs), which are referred to in Program.cs of ClassInitGenerator. I'm guessing others don't build from the Visual Studio solution (or I've set my environment up stupidly). Derek _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071015/bb119a6a/attachment.html From Tomas.Matousek at microsoft.com Mon Oct 15 12:01:58 2007 From: Tomas.Matousek at microsoft.com (Tomas Matousek) Date: Mon, 15 Oct 2007 09:01:58 -0700 Subject: [Ironruby-core] Match operator In-Reply-To: References: <5b0248170710140524h52f55cf8o28d4114f88026bc7@mail.gmail.com> <918705E903F4714CB713D89AB5F1857D712EF2FE65@NA-EXMSG-C116.redmond.corp.microsoft.com> <5b0248170710141542k76aca2a0v1f48f11cc725c9f0@mail.gmail.com> <5b0248170710141554u6c776b77s1bbb7d30f2038c4c@mail.gmail.com> Message-ID: We don't support regular expressions yet. Coming soon. Please, be patient. Tomas From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Curt Hagenlocher Sent: Sunday, October 14, 2007 4:29 PM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Match operator On 10/14/07, Sanghyeon Seo > wrote: 2007/10/15, Curt Hagenlocher >: > I don't see any evidence in > src\IronRuby\Compiler\Parser\Parser.y that these symbol > combinations are recognized as distinct tokens. But the stacktrace shows Ruby.Compiler.Parser.Parse, so I assumed it's crashing while parsing. Am I wrong? Hmm.. I had assumed that the parser was recognizing this as . I was wrong, and these symbols are actually defined as MATCH and NMATCH in the grammar. Their implementation, however, is commented out: | arg MATCH arg { //$$ = new MatchExpression($1, $3, @$); } | arg NMATCH arg { //$$ = new NotExpression(new MatchExpression($1, $3, @$), @$); } There does not actually appear to be any implementation of the MatchExpression class. -- Curt Hagenlocher curt at hagenlocher.org -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071015/d5bea2f1/attachment.html From Cory.Foy at microsoft.com Mon Oct 15 12:25:26 2007 From: Cory.Foy at microsoft.com (Cory Foy) Date: Mon, 15 Oct 2007 09:25:26 -0700 Subject: [Ironruby-core] Match operator In-Reply-To: References: <5b0248170710140524h52f55cf8o28d4114f88026bc7@mail.gmail.com> <918705E903F4714CB713D89AB5F1857D712EF2FE65@NA-EXMSG-C116.redmond.corp.microsoft.com> <5b0248170710141542k76aca2a0v1f48f11cc725c9f0@mail.gmail.com> <5b0248170710141554u6c776b77s1bbb7d30f2038c4c@mail.gmail.com> Message-ID: <1AC17FAF2165B641AC2AF42BBEED58CF3BB8634EFC@NA-EXMSG-C110.redmond.corp.microsoft.com> Hi Tomas, I took a stab at seeing if I could get something working with that. But I couldn't seem to get things to get recognized. The steps I took were: Add a new MatchExpression class which derives from Expression in Ruby\Compiler\AST\Expressions. Define a constructor which takes three parameters, and have it call the base constructor passing in location. Override TransformRead in my MatchExpression class. I then modified Parser.y to uncomment out the line listed below. I tried a pass and it didn't call it, so I tried running the ClassInitGenerator, but it didn't seem to change anything. On a whim, I modified Parser.Generated.cs where that line from Parser.y was, and had it call yyval.Expression = new MatchExpresssion. This worked (i.e.it called my method), but then I got that the method wasn't implemented. So I tried adding a method to MutableStringOps for Match, but it didn't seem to find it. I'm really trying to understand how one goes from end-to-end here, so can anyone offer some insights? Cory From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Tomas Matousek Sent: Monday, October 15, 2007 12:02 PM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Match operator We don't support regular expressions yet. Coming soon. Please, be patient. Tomas From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Curt Hagenlocher Sent: Sunday, October 14, 2007 4:29 PM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Match operator On 10/14/07, Sanghyeon Seo > wrote: 2007/10/15, Curt Hagenlocher >: > I don't see any evidence in > src\IronRuby\Compiler\Parser\Parser.y that these symbol > combinations are recognized as distinct tokens. But the stacktrace shows Ruby.Compiler.Parser.Parse, so I assumed it's crashing while parsing. Am I wrong? Hmm.. I had assumed that the parser was recognizing this as . I was wrong, and these symbols are actually defined as MATCH and NMATCH in the grammar. Their implementation, however, is commented out: | arg MATCH arg { //$$ = new MatchExpression($1, $3, @$); } | arg NMATCH arg { //$$ = new NotExpression(new MatchExpression($1, $3, @$), @$); } There does not actually appear to be any implementation of the MatchExpression class. -- Curt Hagenlocher curt at hagenlocher.org -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071015/cb025d51/attachment-0001.html From jflam at microsoft.com Mon Oct 15 12:26:14 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Mon, 15 Oct 2007 09:26:14 -0700 Subject: [Ironruby-core] Match operator In-Reply-To: References: <5b0248170710140524h52f55cf8o28d4114f88026bc7@mail.gmail.com> <918705E903F4714CB713D89AB5F1857D712EF2FE65@NA-EXMSG-C116.redmond.corp.microsoft.com> <5b0248170710141542k76aca2a0v1f48f11cc725c9f0@mail.gmail.com> <5b0248170710141554u6c776b77s1bbb7d30f2038c4c@mail.gmail.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D2B60F05@NA-EXMSG-C115.redmond.corp.microsoft.com> Tomas Matousek: > > We don't support regular expressions yet. Coming soon. Please, be > patient. I would say that we *barely* support regex today. There is a transformation implemented to allow regexp = /some .net regex expression/ Curt Hagenlocher: > > Hmm.. I had assumed that the parser was recognizing this as > . I was wrong, and these > symbols are actually defined as MATCH and NMATCH in the grammar. > Their implementation, however, is commented out: > > | arg MATCH arg > { > //$$ = new MatchExpression($1, $3, @$); } > | arg NMATCH arg > { > //$$ = new NotExpression(new MatchExpression($1, $3, @$), @$); } > > There does not actually appear to be any implementation of the > MatchExpression class. This is where you would need to look to start work on implementing (at the very least) a .NET implementation of regex. Another thing that you could consider doing is defining a regex .NET interface so that we can swap out the interim .NET regex implementation for a Ruby-compatible regex implementation down the road. Thanks, -John From jflam at microsoft.com Mon Oct 15 12:47:02 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Mon, 15 Oct 2007 09:47:02 -0700 Subject: [Ironruby-core] Volunteers to fix Rake for non-Windows systems? In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D2B609AA@NA-EXMSG-C115.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D2B60A25@NA-EXMSG-C115.redmond.corp.microsoft.com> <1AC17FAF2165B641AC2AF42BBEED58CF3BB8634CB1@NA-EXMSG-C110.redmond.corp.microsoft.com> <5b0248170710121905x36f19befob1d69b6e7f01194d@mail.gmail.com> <1AC17FAF2165B641AC2AF42BBEED58CF3BB8634D0C@NA-EXMSG-C110.redmond.corp.microsoft.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D2B60F40@NA-EXMSG-C115.redmond.corp.microsoft.com> olivier dufour: > Subject: Re: [Ironruby-core] Volunteers to fix Rake for non-Windows > systems? > > Ok, It compile. > In fact, Environment is a class of rakefile. I look for something in > rake api ;(. > I have join an environment variable name mono to say if it is for mono > or regular .NET. > so to compile you have to do "rake compile mono=yes" for example For > moment, it report an error but I am not sure if I must use gmcs or > smcs... > Any help and feedback needed to build a good rakefile compatible with > mono ;) Thanks for doing this Olivier! I'll review and merge your changes in with some others that John Messerly came up with this weekend and check it in. -John From jflam at microsoft.com Mon Oct 15 14:24:13 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Mon, 15 Oct 2007 11:24:13 -0700 Subject: [Ironruby-core] Volunteers to fix Rake for non-Windows systems? In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D2B60F40@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2B609AA@NA-EXMSG-C115.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D2B60A25@NA-EXMSG-C115.redmond.corp.microsoft.com> <1AC17FAF2165B641AC2AF42BBEED58CF3BB8634CB1@NA-EXMSG-C110.redmond.corp.microsoft.com> <5b0248170710121905x36f19befob1d69b6e7f01194d@mail.gmail.com> <1AC17FAF2165B641AC2AF42BBEED58CF3BB8634D0C@NA-EXMSG-C110.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D2B60F40@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D2C109FA@NA-EXMSG-C115.redmond.corp.microsoft.com> Olivier: after looking at your changes to the Rakefile, most of them fall in the bucket of using File.join() to concatenate pathname elements rather than using a canonical delimiter '\'. I was under the impression that the pathname2 library would do the correct thing under Linux and convert the '\' to '/'. If that's not the case perhaps we could fix it in pathname2 rather than drop File.join everywhere in the file? I'm cc'ing Dan Berger on this mail since he wrote the pathname2 library. Dan: I'm attaching Olivier's Rakefile and the original Rakefile so that you can get better context on this problem. A quick diff should show you exactly what Olivier has done. Thanks! -John -------------- next part -------------- A non-text attachment was scrubbed... Name: Rakefile Type: application/octet-stream Size: 19287 bytes Desc: Rakefile Url : http://rubyforge.org/pipermail/ironruby-core/attachments/20071015/b133dcb4/attachment-0002.obj -------------- next part -------------- A non-text attachment was scrubbed... Name: original_Rakefile Type: application/octet-stream Size: 18165 bytes Desc: original_Rakefile Url : http://rubyforge.org/pipermail/ironruby-core/attachments/20071015/b133dcb4/attachment-0003.obj From jflam at microsoft.com Mon Oct 15 20:33:44 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Mon, 15 Oct 2007 17:33:44 -0700 Subject: [Ironruby-core] How our libraries stack up against the specs ... Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D2C10CCE@NA-EXMSG-C115.redmond.corp.microsoft.com> I re-implemented parts of the Rubinius test suite harness to use features that *are* implemented in IronRuby. The good news is that we're using the specs as written without any changes at all. The spec suite driver currently looks at Array, Hash and String only. If I run the driver under MRI, I see 17 failures out of 743 specs; only one failure is expected. The other 16 failures are due the fact that I couldn't implement that part of the test suite harness without using features that IronRuby doesn't have today. So that's not a bad baseline start. If I run the same spec suite under IronRuby, we see 457 failures out of 743, for a pass rate of 38%. If we omit String, which is the least implemented of these types, our pass rate for Array and Hash rises to 58% (149 fail out of 353). Some of the failures are obviously due to features that aren't implemented at all (mostly in String). Some of them are due to a class of language features that aren't implemented (e.g. taint). Some are due to known DLR bugs like the one that Martin is currently consumed with fixing. The remainder are real bugs in our implementation. The spec harness is a fairly sophisticated Ruby program. The team should be proud of getting the language to this state so quickly! I'm attaching the test dump to this mail for the curious. The shelveset that contains this stuff should be ready to review tomorrow and will be pushed out to SVN right after that. Thanks, -John -------------- next part -------------- A non-text attachment was scrubbed... Name: out.zip Type: application/x-zip-compressed Size: 20032 bytes Desc: out.zip Url : http://rubyforge.org/pipermail/ironruby-core/attachments/20071015/7e0b8d84/attachment-0001.bin From Derek at GordonKnight.co.uk Tue Oct 16 00:54:54 2007 From: Derek at GordonKnight.co.uk (Derek Knight) Date: Tue, 16 Oct 2007 17:54:54 +1300 Subject: [Ironruby-core] A couple of issues building in Visual Studio (resolved) Message-ID: <4936671DEAA642FEBA567B5F922DA115@Inspired> John M uploaded some new project files on Sunday. This was just after I took my snapshot. IronRuby now builds for me. Thanks Derek -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071016/dd16b3d9/attachment.html From lists at ruby-forum.com Wed Oct 17 01:11:03 2007 From: lists at ruby-forum.com (Piyush Gajjariya) Date: Wed, 17 Oct 2007 07:11:03 +0200 Subject: [Ironruby-core] how to connect to Intranet Server through Ruby Message-ID: Hi , I have my application on two different servers 1) text drive server 2 intranet server located at some place. Right now i am using VPN to access my application that is on intranet server. Now using ruby code i need to establish remote connection to intranet server from my text drive server and want to access my application on intranet server and make file transfer. Could anyone tell me how could i do this ? Thanks, Piyush. -- Posted via http://www.ruby-forum.com/. From paulo.koch at gmail.com Wed Oct 17 06:26:21 2007 From: paulo.koch at gmail.com (=?UTF-8?Q?Paulo_K=C3=B6ch?=) Date: Wed, 17 Oct 2007 11:26:21 +0100 Subject: [Ironruby-core] how to connect to Intranet Server through Ruby In-Reply-To: References: Message-ID: <18b477210710170326m4b43b2e9t761f0af408f90017@mail.gmail.com> I don't see how this relates to ironRuby itself. However, it's a perfect question to ask on ruby-talk. No? On 10/17/07, Piyush Gajjariya wrote: > Hi , > > I have my application on two different servers > > 1) text drive server > > 2 intranet server located at some place. > > > Right now i am using VPN to access my application that is on intranet > server. > > Now using ruby code i need to establish remote connection to intranet > server from my text drive server and want to access my application on > intranet server and make file transfer. > > Could anyone tell me how could i do this ? > > > Thanks, > > Piyush. > -- > Posted via http://www.ruby-forum.com/. > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > From enicholson at gmail.com Wed Oct 17 13:52:07 2007 From: enicholson at gmail.com (Eric Nicholson) Date: Wed, 17 Oct 2007 13:52:07 -0400 Subject: [Ironruby-core] trouble with super and .NET classes In-Reply-To: <918705E903F4714CB713D89AB5F1857D713005B0BD@NA-EXMSG-C116.redmond.corp.microsoft.com> References: <9f5c5d98491e4853c831bb5b3921d0ed@ruby-forum.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB431D@NA-EXMSG-C115.redmond.corp.microsoft.com> <2971d46ee243a7ce553230678e82d55f@ruby-forum.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB4330@NA-EXMSG-C115.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB4399@NA-EXMSG-C115.redmond.corp.microsoft.com> <918705E903F4714CB713D89AB5F1857D712FF5A43A@NA-EXMSG-C116.redmond.corp.microsoft.com> <5fc63b36319e08438a516c1dec46032d@ruby-forum.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB440E@NA-EXMSG-C115.redmond.corp.microsoft.com> <918705E903F4714CB713D89AB5F1857D713005B0BD@NA-EXMSG-C116.redmond.corp.microsoft.com> Message-ID: Is this going to be included in SVN anytime soon? -Eric On 10/8/07, John Messerly wrote: > > I attached a patch that fixes inheriting from a CLR base class. Of course, > there's still a lot more work to do, but it lets you do the basic things > like inherit from a CLR type and add methods in Ruby. > > - John M > > -----Original Message----- > From: ironruby-core-bounces at rubyforge.org [mailto: > ironruby-core-bounces at rubyforge.org] On Behalf Of John Lam (DLR) > Sent: Monday, October 08, 2007 3:08 PM > To: ironruby-core at rubyforge.org > Subject: Re: [Ironruby-core] trouble with super and .NET classes > > A quick look at the code: > > Enums are broken today, so that won't work without some helper library > that just returns the enum value. This is on our short list of bugs to fix > already. > > Jomes has already fixed inheritance and will be posting a patch for that > soon to unblock you (we're still going to code review it internally and run > it through our testing infrastructure before it gets out). > > Thanks, > -John > > > > -----Original Message----- > > From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core- > > bounces at rubyforge.org] On Behalf Of Dermot Hogan > > Sent: Monday, October 08, 2007 2:56 PM > > To: ironruby-core at rubyforge.org > > Subject: Re: [Ironruby-core] trouble with super and .NET classes > > > > Hi John, > > > > Here's some very simple text: a form, a checkbox and a button with a > > couple of attributes. I haven't been able run this in IR at all so I've > > no idea if it will work or not. However, it looks like the sort of > > thing > > that the Form Designer produces in C# or VB. Tt does 'round trip' > > between the designer and persistant store, so it's internally > > consistent > > - I think :) > > > > require 'mscorlib' > > require 'System' > > require 'System.Windows.Forms' > > require 'System.Drawing' > > > > class Form1123 < System::Windows::Forms::Form > > > > attr_accessor :checkBox1 > > attr_accessor :button2 > > > > def InitializeComponent > > > > self.button2 = System::Windows::Forms::Button.new() > > self.checkBox1 = System::Windows::Forms::CheckBox.new() > > self.SuspendLayout() > > # > > # button2 > > # > > self.button2.Location = System::Drawing::Point.new(79, 113) > > self.button2.Name = "button2" > > self.button2.Size = System::Drawing::Size.new(75, 23) > > self.button2.TabIndex = 0 > > self.button2.Text = "button2" > > self.button2.TextAlign = > > System::Drawing::ContentAlignment.TopCenter > > self.button2.UseVisualStyleBackColor = true > > # > > # checkBox1 > > # > > self.checkBox1.Anchor = System::Windows::Forms::AnchorStyles.Top | > > System::Windows::Forms::AnchorStyles.Bottom | > > System::Windows::Forms::AnchorStyles.Left > > self.checkBox1.AutoSize = true > > self.checkBox1.Location = System::Drawing::Point.new(79, 61) > > self.checkBox1.Name = "checkBox1" > > self.checkBox1.Size = System::Drawing::Size.new(90, 17) > > self.checkBox1.TabIndex = 1 > > self.checkBox1.Text = "checkBox1" > > self.checkBox1.TextAlign = > > System::Drawing::ContentAlignment.TopLeft > > self.checkBox1.UseVisualStyleBackColor = true > > # > > # Form1123 > > # > > self.ClientSize = System::Drawing::Size.new(284, 264) > > self.Controls.Add(self.checkBox1) > > self.Controls.Add(self.button2) > > self.Name = "Form1123" > > self.ResumeLayout(false) > > self.PerformLayout() > > end > > end > > > > > > good luck! > > > > Dermot > > -- > > Posted via http://www.ruby-forum.com/. > > _______________________________________________ > > Ironruby-core mailing list > > Ironruby-core at rubyforge.org > > http://rubyforge.org/mailman/listinfo/ironruby-core > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071017/5e5f6828/attachment.html From jflam at microsoft.com Wed Oct 17 16:25:34 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Wed, 17 Oct 2007 13:25:34 -0700 Subject: [Ironruby-core] trouble with super and .NET classes In-Reply-To: References: <9f5c5d98491e4853c831bb5b3921d0ed@ruby-forum.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB431D@NA-EXMSG-C115.redmond.corp.microsoft.com> <2971d46ee243a7ce553230678e82d55f@ruby-forum.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB4330@NA-EXMSG-C115.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB4399@NA-EXMSG-C115.redmond.corp.microsoft.com> <918705E903F4714CB713D89AB5F1857D712FF5A43A@NA-EXMSG-C116.redmond.corp.microsoft.com> <5fc63b36319e08438a516c1dec46032d@ruby-forum.com> <372109E149E8084D8E6C7D9CFD82E06329D2AB440E@NA-EXMSG-C115.redmond.corp.microsoft.com> <918705E903F4714CB713D89AB5F1857D713005B0BD@NA-EXMSG-C116.redmond.corp.microsoft.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D3F5719C@NA-EXMSG-C115.redmond.corp.microsoft.com> Eric Nicholson: > > Is this going to be included in SVN anytime soon? Yes - we have a few additional changes queued up today, but it should be in soon! Thanks, -John From charles.nutter at Sun.COM Fri Oct 19 12:26:19 2007 From: charles.nutter at Sun.COM (Charles Oliver Nutter) Date: Fri, 19 Oct 2007 11:26:19 -0500 Subject: [Ironruby-core] State of IronRuby 10/5/07 In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D2A2E9C2@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2A2E9C2@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <4718DAAB.6050709@sun.com> John Lam (DLR) wrote: > These are the IronRuby related check-ins that have happened the week of 10/5/07. Note that most of the work done this week is in DLR, since the team is heavily engaged in a refactoring pass across that codebase. Will there continue to be updates? It's been a couple weeks. - Charlie From jflam at microsoft.com Fri Oct 19 12:54:33 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Fri, 19 Oct 2007 09:54:33 -0700 Subject: [Ironruby-core] State of IronRuby 10/5/07 In-Reply-To: <4718DAAB.6050709@sun.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2A2E9C2@NA-EXMSG-C115.redmond.corp.microsoft.com> <4718DAAB.6050709@sun.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D3F579D2@NA-EXMSG-C115.redmond.corp.microsoft.com> Going out today. > -----Original Message----- > From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core- > bounces at rubyforge.org] On Behalf Of Charles Oliver Nutter > Sent: Friday, October 19, 2007 9:26 AM > To: ironruby-core at rubyforge.org > Subject: Re: [Ironruby-core] State of IronRuby 10/5/07 > > John Lam (DLR) wrote: > > These are the IronRuby related check-ins that have happened the week > of 10/5/07. Note that most of the work done this week is in DLR, since > the team is heavily engaged in a refactoring pass across that codebase. > > Will there continue to be updates? It's been a couple weeks. > > - Charlie > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core From adam at esterlines.com Fri Oct 19 13:03:56 2007 From: adam at esterlines.com (Adam Esterline) Date: Fri, 19 Oct 2007 12:03:56 -0500 Subject: [Ironruby-core] Yaml Parser Message-ID: Has anyone else started working on a Yaml parser? If so, how can I contribute? -- Adam Esterline http://adamesterline.com/ From jflam at microsoft.com Fri Oct 19 20:28:45 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Fri, 19 Oct 2007 17:28:45 -0700 Subject: [Ironruby-core] State of IronRuby 10/19/07 Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D3F57CBB@NA-EXMSG-C115.redmond.corp.microsoft.com> NOTE: The SVN repository isn't up to date with these changes. It will be sometime over the weekend. Thanks & happy reading, -John 286238: (dinov) Currently ngen will try and produce an image that?s probably around 1gig in size (or larger) for Microsoft.Scripting.dll due to the reflected caller additions. This cuts back the number of FastCreate?s we?ll do and gets this back to a reasonable level. It also adds a cache for non-dynamicmethod?s so that we only create one per method. This should help w/ both the throughput regressions as well as the fact that I broke ngen. Also included is the fix for the out param reported on the mailing list yesterday. 286963: (tomat) Ruby bug fixes Fixes the following Ruby bugs (no major change in design needed). ID Assigned To Title 304051 Tomas Matousek ruby: explicitly set $! in the ensure clause should not be preserved 303812 Tomas Matousek ruby: $! is not preserved in the ensure clause when the exception is thrown in the else clause 303774 Tomas Matousek ruby: redo should not re-evaluate the loop condition 303703 Tomas Matousek ruby: "break" does not break out from the lambda call 298222 Tomas Matousek ruby: explicitly setting $! in the rescue exception parameter does not preserve $! 297959 Tomas Matousek ruby: $! in the ensure clause should not be nil when an exception is raised, but no matched rescue clause is found 293040: (dinov) Preparation to fix infinite recursion issue These are the final set of small fixes which are necessary before we can fix the infinite recursion issue. 1. Switch from using Type.Missing to our own MissingParameter type. We can't pass Type.Missing through Reflection.Invoke calls. 2. Fix Python's DoOperationBinderHelper to avoid casts which box/unbox values (this is just due to an identity of integer test in test_copy) 3. Add a missing conversion in Ruby 4. Check IsInstanceOfType in Cast to catch COM objects interface tests correctly 5. Makes evaluation of addresses work the same as emitting - we can end up evaluating an expression before getting the address and that expression can throw. 6. Fix an issue w/ return types on properties not going through the binder's converter 7. Add support for strongly typed delegates in the eval case 8. Fixed an issue w/ rethrowing exceptions in evaluate mode 9. Added support for returning from a VoidExpression 10. Fix an issue w/ arrays in evaluate mode where we try and cast to object[] when we have an array of byte[] Also fixing this bug: 304475 dir(System.Reflection.Emit.AssemblyBuilder) throw TypeError Where we just need to check for null in DynamicMixin. 293085: (tomat) Fixes RubyForge bug #14425. Ruby allows jump statements (return, redo, retry, break and next) to appear in Boolean expressions as right operands. Examples: def foo x x and return ?true? x or return ?false? ?Unreachable? end foo true # ?true? foo false # ?false? This shelveset changes the grammar to support this feature and adds AST node ConditionalJumpExpression that represents and/or expression. Also adds a unit test of the node. 293153: (jomes) generics: implements support for constructing generic types Pretty simple, implements support for creating generic .NET types like List, Dictionary, etc. The syntax in Ruby is something like this: require "mscorlib" IntList = System::Collections::Generic::List.of(System::Int32) a = IntList.new a.add 1 a.add 2 a.add 3 assert_equal(a.count, 3) I also added support for the [] syntax that IronPython uses: System::Collections::Generic::Dictionary[String, String] 293329: (mmaly) Bye bye, WeakCondition This change gets rid of the WeakCondition and updates all former calls to that to generate proper casts. Ruby has factory it wanted which generates the casts and up-casts to object. The cast to bool must be dynamic so that the helper gets called. Alternative would be calling the helper explicitly or doing something yet smarter. There is one temporary change in the ReferenceArgBuilder.cs The builder generates code: ElementType tmp; arg is StrongBox ? tmp = RuntimeHelpers.GetBox((StrongBox)parameter), tmp : RuntimeHelpers.IncorrectBoxType(StrongBox); Notice the comma in the first expression. If we cast the whole thing to object, the currently not quite complete implementation of calling methods with by ref arguments will do the wrong thing. Temporarily we cast the 2nd expression to ElementType as it will throw inside the helper anyway and the cast will never execute. The ideal solution is for the binder to generate a better tree all around, which will play better with the upcoming ?emit as? implementation overhaul. 293941: (tomat) Ruby libraries Prepares built-ins for a split: the types and functionality that the compiler directly depends on will be kept in Ruby.dll while all Ruby visible methods will be factored out to Ruby.Libraries.dll. Also adds Ruby.Libraries and ClassInitGenerator projects to the Rowan solution ? they depend on Ruby.dll and M.S.dll, so they should be rebuilt each time the dependencies are rebuilt. 293960: (jomes) fixes inheriting from a .NET type Very simple change, fixes inheriting from a .NET type in Ruby 1. We weren?t handling TypeTrackers 2. We weren?t exposing CLS members on the derived type 294389: (mmaly) Switch statement upgrade I managed to rewrite the switch statement yesterday. While this change doesn?t yet add the missing interpreted mode, it removes all Jscript-isms. The switch statement is true switch. Takes an int and routes to given label. The labels are marked with _constant_ values. Switch will choose dynamically whether to emit as jump table or ?if? statements. If the labels are integer-like constants, it will generate the DLR switch. If not, it will also generate the DLR switch (cool, huh?) except preceded with an if statement which ?encodes? the switch labels into a constant integer and then proceeds to the direct switch with that constant. This eliminates the need for goto to do the fall through. In the second (via encoding) case, you?ll see the if ? elseif ? elseif pattern first, in which the bodies are only (.bound #2) = ? and then switch over the #2 temp. DLR switch now checks for unique label values, and does it in 3 ways: ? If there are small number of cases (< 10), it uses dumb O(N^2) algorithm ? If there are cases values of which are in reasonable range (max ? min < 1024), it uses BitArray to track the unique values ? Else, it falls back to dictionary Only the generation into the pure switch is affected. When generating the if ..elif ..elif prefix, the generated label numbers are unique by definition so that path remains the same. However, for the switch table code path, the code merges bodies of the case clauses. Essentially each case clause whose label is not unique is merged with the previous clause?s body. The bodies must stay in place because of the fall-through, but no one can ever jump to the label of the non-unique statement so it is safe to merge them with the previous bodies. 294586: (jomes) ruby extension methods on interfaces Implements extension methods on interfaces for Ruby. What this means it that .NET types will get Ruby methods injected onto them if they implement certain interfaces. For example, types that implement IEnumerable will behave just like a Ruby classes that mix in Enumerable. I implemented this by treating interfaces as if they were mixed in modules. These interfaces have extension methods now: ? IEnumerable ? IComparable ? IList ? IDictionary IList and IDictionary were factored out of Array and Hash, respectively. Some investigation remains to see if these can be made to support all generic types or if they could use IList and IDictionary instead, but I didn?t attempt that yet. Detailed change description: ? Added a new attribute RubyExtensionInterfaceAttribute, updated ClassInitGenerator & Initializer to understand it ? Added the MixinInterfaces property to RubyClassAttribute, which tells ClassInitGenerator to inject all valid interface methods it finds onto the type (useful if you?re extending a CLR type and you want everything). o StringOps uses this feature to get Enumerable & Comparable support. ? RubyExecutionContext keeps track of interface mappings & mixes in the interface?s RubyModule onto new .NET types ? IEnumerableOps implements each & includes Enumerable ? IComparableOps implements <=> & includes Comparable ? IDictionaryOps takes methods from HashOps (which were already written to operate on IDictionary) ? IListOps takes methods from ArrayOps o Helpers are needed for AddRange, GetRange, InsertRange, and RemoveRange, which IList doesn?t support. Also, several methods are different between ArrayOps and IListOps 294789: (dinov) Infinite recursion fix This changes rule creation so it only runs the test once and evaluates the target to avoid the test changing and getting infinite recursion. This is done by pushing the update & invoke out of DynamicSite.UpdateBindingAndInvoke and all the way down into the internal portions of ActionBinder and the rule caching mechanism. We now pass in the site, the site's target (by-ref), and the site's rule list (by-ref) and let the action binder update these for us. This reduces a bunch of the duplicated code in DynamicSite.Generated.cs. Part of the reason to push this in is that the site HAS to have its target delegate set before executing the target of the rule. If not the site could recurse on its self, not have the target set, and therefore we limit the amount of stack that can be used - as well as increase the # of calls which don't use the optimized target. 294962: (dinov) Updates ExtensionTypeAttribute This updates ExtensionTypeAttribute to no longer have any DynamicType dependencies. It also removes some Python specific pieces to it (support for deriving from int, etc?) and removes ?using M.S.T;? from everyone using it just for ExtensionTypeAttribute (this is most of the files changed). 294999: (dinov) This change implements the helper methods on PropertyTracker and switches GetMemberBinderHelper over to using these helper methods. This change ultimately removes dependencies on ReflectedProperty and ReflectedIndexer. Mostly this is moving the logic in GetMemberBinderHelper over into PropertyTracker. Add new ErrorInfo class which is used for reporting information about how an error should be reported to the user. The error can either be reported as an exception which gets thrown or a value that gets returned. Added new methods to ActionBinder which enable languages to produce errors. Eventually all of the error production will move into this format. Small tweaks: Move MakeCallExpression from BinderHelper onto Binder. The only reason it was on BinderHelper was because it needed to access the Binder to provide conversions. Fixed the iteration in MethodBinder over the dictionary (which is bogus, we have a CodePlex bug on this reported by a user) Implemented Call on MethodTracker ? this is used when PropertyTracker falls back for private binding. Exposed IsStatic directly off of PropertyTracker. 295337: (mmaly) Redesigning the DLR AST Walkers (Walker6 passed SNAP already, Walker7 contains few cosmetic updates such as missing comments, removing few redundant argument checks, adding few extra ones etc. I hope it also passes) To fix the ?non-empty stack upon entry to try? bug, I am going to need a better walker than what is easy to implement in our system (one that I can use to re-generate the AST along the way). The current walker design doesn?t lend itself easily to that purpose (the Walk methods on the nodes do just that ? walk, but I?d have to write a type-based switch to implement my walker, rather than an enum-based switch). Second motivation is LINQ which doesn?t have walker on its nodes so to get closer to that model, our walkers must live completely outside of the AST. This checkin achieves these two goals in a following ways: 1) Each node is given an enum (this enum started with LINQ?s values, some are commented out as we don?t use them (yet ? CheckedAdd for example), some are added (statements). The UnaryOperator and BinaryOperator enums got swallowed by the big enum which nicely plays that role. 2) The walker is combination of generated and hand-written code and the Walk methods from the AST nodes are gone. The individual walkers haven?t changed except to call WalkNode(node) instead of node.Walk(this) to perform the node walk. The WalkNode will switch based on the node type (enum), direct cast and perform walk identical to that of the original node?s walk. What I like about having the walker completely outside of the tree is that the AST nodes don?t dictate the order of walking or don?t specify one way as ?primary?. This way any walker (and we?ll eventually need a reverse walker) plays by the same rules on the same playing field. Next steps in this direction: ? Make all leaf AST nodes sealed ? Remove codegen from the AST nodes ? Merge AST node that can be merged (say, after we remove the codegen out, there is no need to have break and continue as separate AST nodes because they?ll hold identical information, same for CodeContextExpression and EnvironmentExpression for example). So we?ll end up with fewer nodes as a result, which is a goodness. 295459: (dinov) This change is just re-organizing DynamicHelpers and RuntimeHelpers in preparation for the removal of DynamicType. Previously these two classes had no real strong distinction. Why does something go into DynamicHelpers? Why does it go into RuntimeHelpers? Who knows. There is now one distinction: Things in DynamicHelpers are going away, things in RuntimeHelpers are staying. DynamicHelpers its self moves into M.S.Types indicating that it will be removed real soon now (I don?t actually move the file, it?ll be gone in a day or two). What this is ultimately going to accomplish is that all of the IronPython type system will be able to come up in one chunk w/ hopefully no code changes. From there it?ll be a few renames away from being integrated into the IronPython code base. Because there are a whole lot more references to DynamicHelpers.GetDynamicType* then there are to the other functionality in DynamicHelpers it seems natural to keep DynamicHelpers as the home of GetDynamicType and friends. So most of this change is just moving things from DH to RH and adding ?using M.S.Types;? to IronPython. There?s one additional tweak in that I remove LanguageContext.DeleteMember. JS was using DynamicType for its implementation and the only real caller was IronPython. This gets replaced by a PythonOps.DeleteAttr which closely mimics the TryGetAttr method we already have. Also some code only used by Python (CheckTypeVersion) gets pulled up into PythonOps and a couple of places where we stop getting type names from DynamicType. 295467: (jomes) inject onto IList vs. IList Pretty simple, just changes the IList member injectors to inject onto IList instead, because a lot more things implement IList (especially notable are ArrayList and List for any type T). I needed a couple of minor bug fixes?the interface injection was injecting things onto non-concrete generic types. I also changed the generator back to using a sorted dictionary so Initializer.Generated.cs doesn?t change so much each time (which you can see if you look at the diff, some stuff changed that shouldn?t have). 295500: (dinov) This starts exposing MethodGroup?s instead of BuiltinFunction?s. First off one ?big? change is FastCallable is getting moved into M.S.Types (which will get pulled up). This also causes a bunch of files to get using M.S.Types for references to FastCallable. CallType remains in Microsoft.Scripting as it?s a component of the MethodBinder. This change alters some MemberTracker setup. I?ve made MemberGroup?s no longer a MemberTracker. Instead MemberGroup?s are just ways that we talk about groups of members. I?ve added a MethodGroup which is a collection of methods. MethodGroup?s are also unique per actual .NET method (and generic instantiation for generic methods). That allows us to use a simple comparison on them to check for identity (this is enforced by the ReflectionCache). From here it?s basically pretty straight-forward: The DLR gets MemberGroup?s, for method binding it creates MethodGroup?s (once we?re resolved to just a bunch of methods). All languages except for Python currently expose MethodGroup?s directly to the user. Python transforms these into BuiltinFunction?s. There?s still more work to be done: This change doesn?t remove CallBinderHelper?s recognition of BuiltinFunction/BuiltinMethodDescriptor?s. We should also more strictly base Python?s identity of BuiltinFunction?s on MethodGroup?s and then we can also use simple object identity for tests against BuiltinFunction?s ? currently Python is sharing the hash-key w/ ReflectionCache which isn?t necessary. Finally we don?t have perfect one-to-one mappings between methods and MethodTracker?s. This is because we use the MethodInfo as the key which can be duplicated based upon from what type you got the MethodInfo. But this change is already big enough that it seemed prudent to wait on those next steps. 296822: (jomes) Ruby Class Variables Implements support for Ruby class variables (aka static fields) Mostly, this is straightforward. We add a dictionary to RubyModule for storing the values, and add methods for getting and setting the variables. The class variable AST node turns into get/set calls. Ruby resolves class variables in method resolution order, so it searches all base classes & mixins. Setting variables is interesting?the MRO is searched, and if the variable is found it?s modified, otherwise, it?s added to the current Module/Class. A few AST changes are needed?unlike instance variables (which are resolved on the current ?self?), class variables are lexically bound to the enclosing module/class. So we need scoping for modules, and methods need the ability to be closures. We close over the module?s ?self?, but because the DLR merges variables by name, we need to generate a new name for each module. Also, DLR closures don?t work unless you flow in the correct CodeContext, so RubyMethodInfo?s need to hold on to their CodeContext, and flow in the right one. 297031: (jomes) ruby monkey patching of .NET types A few minor fixes to allow Ruby to add methods to .NET types, aka ?monkey patch?. The reason this wasn?t working is that Ruby exposes .NET namespaces as NamespaceTrackers & .NET types as TypeTrackers. We were already converting TypeTrackers to RubyClass under certain circumstances; now we also convert NamespaceTrackers to RubyModules. For this to work, a RubyModule can have a NamespaceTracker backing it. When we go to lookup a constant on the module, we check the module?s constants, and then fall back to the namespace. This design is not optimal... we need to come up with a better way for language?s type objects to interoperate. But it?s intended to unblock some of our .NET interop scenarios in the short term. 297060: (jomes) fix scoping of constant variables Ruby constants are supposed to bind lexically to the enclosing class/module, but this wasn?t working. Pretty simple change, ConstantVariable now binds to the lexically enclosing module, or Object if an enclosing module isn?t present. There was already a test for this, but it wasn?t running against IronRuby, so I enabled it & added a few more test cases. 297066: (jomes) Ruby instance_eval/class_eval/module_eval support (for the non-string overloads) Implements basic support for the instance_eval, class_eval, module_eval overloads that take a block (not the ones that take strings, that requires full ?eval? support). This is pretty easy to do, because we just create a new Proc with a different ?self? and call the block. instance_eval on a Module/Class seems to work a bit differently, so I?m throwing NotImplemented until we can make the necessary infrastructure changes to handle it correctly. 297179: (dinov) Next change in the line of changes to remove DynamicType. This one removes ReflectedEvent/BoundEvent from the parlance of the DLR: ReflectionCache.GetReflectedEvent moves to DynamicTypeOps and callers are updated. Python gets a PythonSetMemberBinderHelper for dealing w/ the assignment logic back to a ReflectedEvent. We now pass the type we?re doing the lookup from for ReturnMemberTracker (this is our version of the .NET ReflectedType property which shows where each member came from) The DLR currently generates calls to static helper methods for doing the addition/subtraction to the event object. Fixed an issue where getting a TypeGroup?s DeclaringType/Name could throw And finally manifest the in-place add/subtract methods onto EventTracker?s and BoundEventTrackers (these aren?t directly defined to deal w/ typing issues where we need the delegate to be strongly typed). 2975790: (jflam) Enables support for Rubinius spec suite Adds Rubinius spec suite for Array, Hash and String. Dir is also added, but tests are not enabled for this yet. Adds a modified version of the Rubinius spec runner that uses only features implemented by IronRuby. These are the mini_mock, mini_rspec, mspec, mspec_helper, rspec_helper, simple_mock, and spec_helper files in \Tests. Adds/fixes features to IronRuby to support running the test suite: - Fixes require behavior in loader.cs to allow files to be loaded more than once - Fixes __FILE__ - Adds File.dirname() method - Adds RubyExtensionModuleAttribute and marks IListOps, IComparableOps, IDictionaryOps, IEnumerableOps using this attribute. - Adds implementation of const_defined?, alias_method and remove_method Adds a new utility (IronRuby.Libraries.Scanner) that generates a YAML file that contains a list of all implemented singleton and instance methods (note that this is written in C# 3.0). 297638: (mmaly) Removing callwiththis I?ve had CallWithThisExpression in my sight for a while now and as Nandan and Jitu made progress on the binder, it is no longer used so it can go now. Additionally, MSAst.Arg was used only as a temporary information storage and was never actually part of the AST (CallSignature would throw it away) so I got rid of it too. In Python it meant even cleaner code. 297654: (jomes) splat and send This change enables splatting of argument lists when calling Ruby library methods that are implemented in C#. Before this change, splatting only worked if you?re calling methods defined in Ruby. Fixing this is pretty straightforward: I just flatten out any splatted lists before passing them to the MethodBinder. (The method binder expects things flattened down to Types?it doesn?t use ArgumentKinds). I also implement Ruby?s send and __send__ methods, which are used by a lot of tests that John Lam wants to enable. The implementations are very simple & slow: they just create a new site with the correct InvokeMemberAction and Invoke it. Not optimal, but it should be okay until we integrate send directly into the method binder (Tomas is already planning on refactoring the method binder). 297839: (tomat) Ruby Singletons and Method Lookup Adds support for singleton classes and fixes method lookup. A singleton class is a class that adds additional members to object instances. In the following example, ?class << x? defines a singleton class for instance x. x = Object.new class << x def foo end end x.foo Object.new.foo # error Singleton class is a first class object, you can store it to a variable and even create another singleton class for it. The class itself is also defining some methods. Those are implemented as extension methods in SingletonOps. There are many peculiarities involved. I?ve also found at least 2 bugs in MRI during my investigation. I?ll write a spec and present the internals of singletons and method lookup (as I understand them) on Friday?s IronRuby meeting. The shelveset also implementation rescue expression, rescue statement and symbol constructors, which are handy for testing. 297943: (dinov) Remove references to built-in functions This change removes the remaining references to BuiltinFunction?s (and friends). Instead these objects now implement IDynamicObject and use the CallBinderHelper to produce a call rule. Supporting changes: 1. Needed to split RuntimeHelpers into 2 parts (RuntimeHelpers and BinderOps). This is due to a FxCop error where RuntimeHelpers is getting too complex and including things from too many classes. BinderOps are just the methods that are called from generated code to do binding (calls, create instance, get member, etc?) 2. Moved StrongBox helper functions to CompilerHelpers as these need to be accessed outside the binder. 3. Added support for passing isBinaryOperator/isReversedOperator on CallBinderHelper as well as ability to set Instance. The hope here is that these flags go away from the MethodBinder (they?re awfully Python specific) and that we have a more consumable way to do call binding in the future but this is a reasonable intermediate step. The CallBinderHelper also no longer stores the instance type instead getting it from the _instance expression. 297991: (dinov) This moves the Microsoft.Scripting.Types namespace to IronPython. No namespaces are renamed during this remove (that touches over 100 files, so it?s next). Appropriate resource strings also get moved to IronPython, and much of the DynamicType machinery is marked as internal. This reduces a release build of MS.Scripting to 868,352 bytes from 958,464 saving 90,112 bytes or 9.4%. This reduces a debug build of MS.Scripting to 995,328 bytes from 1,118,208 saving 122,880 bytes or 10.9%. 298014: (jomes) Case Expressions in Ruby This change implements case expressions in Ruby. Case expressions look like this: case x when a0, ? aN, *splat0: when b0, ? bN, *splat1: ? else: end It translates roughly into: if (a0 === x || ? || aN === x || ) { body0 } else if ( ? ) { body1 } else { bodyN } Where is: result = false; foreach (object obj in splat0) { if (obj === x) { result = true; break; } } And of course, === is Ruby?s case equality method ? It?s pretty straightforward?the only tricky part is cracking open the splatted array, if present. From jflam at microsoft.com Sat Oct 20 02:58:13 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Fri, 19 Oct 2007 23:58:13 -0700 Subject: [Ironruby-core] Yaml Parser In-Reply-To: References: Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D3F57D17@NA-EXMSG-C115.redmond.corp.microsoft.com> Adam Esterline: > > Has anyone else started working on a Yaml parser? If so, how can I > contribute? I don't think anyone has started work on a yaml parser. As for contributing, check out the somewhat videos on http://www.ironruby.net to get started, sign a contributor agreement (see the archives for instructions) and start coding! There are numerous YAML parsers out there (including some .NET ones that have incompatible licenses). Thanks, -John From adam at esterlines.com Sat Oct 20 09:01:43 2007 From: adam at esterlines.com (Adam Esterline) Date: Sat, 20 Oct 2007 08:01:43 -0500 Subject: [Ironruby-core] Contributor Request Failed Message-ID: I sent a request to ssiadmin at microsoft.com to become a IronRuby Contributor. I got the following error. Any ides? Delivery to the following recipient failed permanently: ssiadmin at microsoft.com Technical details of permanent failure: PERM_FAILURE: SMTP Error (state 16): 550 5.7.1 -- Adam Esterline http://adamesterline.com/ From blowmage at gmail.com Sat Oct 20 12:41:30 2007 From: blowmage at gmail.com (Mike Moore) Date: Sat, 20 Oct 2007 10:41:30 -0600 Subject: [Ironruby-core] Yaml Parser In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D3F57D17@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D3F57D17@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: I started work on porting Ola Bini's JvYAML library to C#, but I've had very little time lately. I'll try to get my code on a public SVN repo sometime this weekend or early next week. On 10/20/07, John Lam (DLR) wrote: > > Adam Esterline: > > > > Has anyone else started working on a Yaml parser? If so, how can I > > contribute? > > I don't think anyone has started work on a yaml parser. As for > contributing, check out the somewhat videos on http://www.ironruby.net to > get started, sign a contributor agreement (see the archives for > instructions) and start coding! > > There are numerous YAML parsers out there (including some .NET ones that > have incompatible licenses). > > Thanks, > -John > > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071020/4bab9270/attachment.html From adam at esterlines.com Sat Oct 20 14:41:09 2007 From: adam at esterlines.com (Adam Esterline) Date: Sat, 20 Oct 2007 13:41:09 -0500 Subject: [Ironruby-core] Yaml Parser In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D3F57D17@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: How are you converting? Did you use JLCA to do the grunt work? On 10/20/07, Mike Moore wrote: > I started work on porting Ola Bini's JvYAML library to C#, but I've had very > little time lately. I'll try to get my code on a public SVN repo sometime > this weekend or early next week. > > > On 10/20/07, John Lam (DLR) wrote: > > Adam Esterline: > > > > > > Has anyone else started working on a Yaml parser? If so, how can I > > > contribute? > > > > I don't think anyone has started work on a yaml parser. As for > contributing, check out the somewhat videos on http://www.ironruby.net to > get started, sign a contributor agreement (see the archives for > instructions) and start coding! > > > > There are numerous YAML parsers out there (including some .NET ones that > have incompatible licenses). > > > > Thanks, > > -John > > > > > > _______________________________________________ > > Ironruby-core mailing list > > Ironruby-core at rubyforge.org > > http://rubyforge.org/mailman/listinfo/ironruby-core > > > > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > > -- Adam Esterline http://adamesterline.com/ From blowmage at gmail.com Sat Oct 20 15:03:51 2007 From: blowmage at gmail.com (Mike Moore) Date: Sat, 20 Oct 2007 13:03:51 -0600 Subject: [Ironruby-core] Yaml Parser In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D3F57D17@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: I did use JLCA to start, but have made many changes since. JLCA didn't migrate everything and there are still some calls that don't exist on the CLR. I made a bunch of changes to try to get the code compiling but I don't think it is compiling at the moment. I also made some changes to get the code to be more idiomatic C#, like moving some methods to properties, using generics when possible, etc... Right now I think the biggest issue (besides getting it to compile) is that the code is written for JRuby's String class which is a list of bytes, where IronRuby is using the MutableString class which is a StringBuffer. I remember John saying that IronRuby will move to a byte list for String eventually, but I haven't had much time to work on the YAML port and haven't coordinated when that change will happen, if at all. Hopefully I'll get some time to work on it soon. On 10/20/07, Adam Esterline wrote: > > How are you converting? Did you use JLCA to do the grunt work? > > > On 10/20/07, Mike Moore wrote: > > I started work on porting Ola Bini's JvYAML library to C#, but I've had > very > > little time lately. I'll try to get my code on a public SVN repo > sometime > > this weekend or early next week. > > > > > > On 10/20/07, John Lam (DLR) wrote: > > > Adam Esterline: > > > > > > > > Has anyone else started working on a Yaml parser? If so, how can I > > > > contribute? > > > > > > I don't think anyone has started work on a yaml parser. As for > > contributing, check out the somewhat videos on http://www.ironruby.netto > > get started, sign a contributor agreement (see the archives for > > instructions) and start coding! > > > > > > There are numerous YAML parsers out there (including some .NET ones > that > > have incompatible licenses). > > > > > > Thanks, > > > -John > > > > > > > > > _______________________________________________ > > > Ironruby-core mailing list > > > Ironruby-core at rubyforge.org > > > http://rubyforge.org/mailman/listinfo/ironruby-core > > > > > > > > > _______________________________________________ > > Ironruby-core mailing list > > Ironruby-core at rubyforge.org > > http://rubyforge.org/mailman/listinfo/ironruby-core > > > > > > > -- > Adam Esterline > http://adamesterline.com/ > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071020/04722d32/attachment.html From adam at esterlines.com Sat Oct 20 15:25:19 2007 From: adam at esterlines.com (Adam Esterline) Date: Sat, 20 Oct 2007 14:25:19 -0500 Subject: [Ironruby-core] Yaml Parser In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D3F57D17@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: Let me know when you check it in and I will try to make some more progress. Did you port the tests as well? On 10/20/07, Mike Moore wrote: > I did use JLCA to start, but have made many changes since. JLCA didn't > migrate everything and there are still some calls that don't exist on the > CLR. I made a bunch of changes to try to get the code compiling but I don't > think it is compiling at the moment. I also made some changes to get the > code to be more idiomatic C#, like moving some methods to properties, using > generics when possible, etc... > > Right now I think the biggest issue (besides getting it to compile) is that > the code is written for JRuby's String class which is a list of bytes, where > IronRuby is using the MutableString class which is a StringBuffer. I > remember John saying that IronRuby will move to a byte list for String > eventually, but I haven't had much time to work on the YAML port and haven't > coordinated when that change will happen, if at all. > > Hopefully I'll get some time to work on it soon. > > > On 10/20/07, Adam Esterline < adam at esterlines.com> wrote: > > > > How are you converting? Did you use JLCA to do the grunt work? > > > > > > On 10/20/07, Mike Moore wrote: > > > I started work on porting Ola Bini's JvYAML library to C#, but I've had > very > > > little time lately. I'll try to get my code on a public SVN repo > sometime > > > this weekend or early next week. > > > > > > > > > On 10/20/07, John Lam (DLR) wrote: > > > > Adam Esterline: > > > > > > > > > > Has anyone else started working on a Yaml parser? If so, how can I > > > > > contribute? > > > > > > > > I don't think anyone has started work on a yaml parser. As for > > > contributing, check out the somewhat videos on http://www.ironruby.net > to > > > get started, sign a contributor agreement (see the archives for > > > instructions) and start coding! > > > > > > > > There are numerous YAML parsers out there (including some .NET ones > that > > > have incompatible licenses). > > > > > > > > Thanks, > > > > -John > > > > > > > > > > > > _______________________________________________ > > > > Ironruby-core mailing list > > > > Ironruby-core at rubyforge.org > > > > http://rubyforge.org/mailman/listinfo/ironruby-core > > > > > > > > > > > > > _______________________________________________ > > > Ironruby-core mailing list > > > Ironruby-core at rubyforge.org > > > http://rubyforge.org/mailman/listinfo/ironruby-core > > > > > > > > > > > > -- > > Adam Esterline > > http://adamesterline.com/ > > _______________________________________________ > > Ironruby-core mailing list > > Ironruby-core at rubyforge.org > > http://rubyforge.org/mailman/listinfo/ironruby-core > > > > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > > -- Adam Esterline http://adamesterline.com/ From blowmage at gmail.com Sat Oct 20 15:30:09 2007 From: blowmage at gmail.com (Mike Moore) Date: Sat, 20 Oct 2007 13:30:09 -0600 Subject: [Ironruby-core] Yaml Parser In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D3F57D17@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: I did not port the tests yet. :( On 10/20/07, Adam Esterline wrote: > > Let me know when you check it in and I will try to make some more > progress. Did you port the tests as well? > > On 10/20/07, Mike Moore wrote: > > I did use JLCA to start, but have made many changes since. JLCA didn't > > migrate everything and there are still some calls that don't exist on > the > > CLR. I made a bunch of changes to try to get the code compiling but I > don't > > think it is compiling at the moment. I also made some changes to get > the > > code to be more idiomatic C#, like moving some methods to properties, > using > > generics when possible, etc... > > > > Right now I think the biggest issue (besides getting it to compile) is > that > > the code is written for JRuby's String class which is a list of bytes, > where > > IronRuby is using the MutableString class which is a StringBuffer. I > > remember John saying that IronRuby will move to a byte list for String > > eventually, but I haven't had much time to work on the YAML port and > haven't > > coordinated when that change will happen, if at all. > > > > Hopefully I'll get some time to work on it soon. > > > > > > On 10/20/07, Adam Esterline < adam at esterlines.com> wrote: > > > > > > How are you converting? Did you use JLCA to do the grunt work? > > > > > > > > > On 10/20/07, Mike Moore wrote: > > > > I started work on porting Ola Bini's JvYAML library to C#, but I've > had > > very > > > > little time lately. I'll try to get my code on a public SVN repo > > sometime > > > > this weekend or early next week. > > > > > > > > > > > > On 10/20/07, John Lam (DLR) wrote: > > > > > Adam Esterline: > > > > > > > > > > > > Has anyone else started working on a Yaml parser? If so, how > can I > > > > > > contribute? > > > > > > > > > > I don't think anyone has started work on a yaml parser. As for > > > > contributing, check out the somewhat videos on > http://www.ironruby.net > > to > > > > get started, sign a contributor agreement (see the archives for > > > > instructions) and start coding! > > > > > > > > > > There are numerous YAML parsers out there (including some .NET > ones > > that > > > > have incompatible licenses). > > > > > > > > > > Thanks, > > > > > -John > > > > > > > > > > > > > > > _______________________________________________ > > > > > Ironruby-core mailing list > > > > > Ironruby-core at rubyforge.org > > > > > http://rubyforge.org/mailman/listinfo/ironruby-core > > > > > > > > > > > > > > > > > _______________________________________________ > > > > Ironruby-core mailing list > > > > Ironruby-core at rubyforge.org > > > > http://rubyforge.org/mailman/listinfo/ironruby-core > > > > > > > > > > > > > > > > > -- > > > Adam Esterline > > > http://adamesterline.com/ > > > _______________________________________________ > > > Ironruby-core mailing list > > > Ironruby-core at rubyforge.org > > > http://rubyforge.org/mailman/listinfo/ironruby-core > > > > > > > > > _______________________________________________ > > Ironruby-core mailing list > > Ironruby-core at rubyforge.org > > http://rubyforge.org/mailman/listinfo/ironruby-core > > > > > > > -- > Adam Esterline > http://adamesterline.com/ > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071020/92014b58/attachment-0001.html From adam at esterlines.com Sat Oct 20 20:31:51 2007 From: adam at esterlines.com (Adam Esterline) Date: Sat, 20 Oct 2007 19:31:51 -0500 Subject: [Ironruby-core] Yaml Parser In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D3F57D17@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: Making changes (getters/setters to properties; generics...) seems risky until the port is compiling and all tests are passing. Is there a reason for taking on the extra risk? AE On 10/20/07, Mike Moore wrote: > I did not port the tests yet. :( > > > On 10/20/07, Adam Esterline wrote: > > > > Let me know when you check it in and I will try to make some more > > progress. Did you port the tests as well? > > > > On 10/20/07, Mike Moore wrote: > > > I did use JLCA to start, but have made many changes since. JLCA didn't > > > migrate everything and there are still some calls that don't exist on > the > > > CLR. I made a bunch of changes to try to get the code compiling but I > don't > > > think it is compiling at the moment. I also made some changes to get > the > > > code to be more idiomatic C#, like moving some methods to properties, > using > > > generics when possible, etc... > > > > > > Right now I think the biggest issue (besides getting it to compile) is > that > > > the code is written for JRuby's String class which is a list of bytes, > where > > > IronRuby is using the MutableString class which is a StringBuffer. I > > > remember John saying that IronRuby will move to a byte list for String > > > eventually, but I haven't had much time to work on the YAML port and > haven't > > > coordinated when that change will happen, if at all. > > > > > > Hopefully I'll get some time to work on it soon. > > > > > > > > > On 10/20/07, Adam Esterline < adam at esterlines.com> wrote: > > > > > > > > How are you converting? Did you use JLCA to do the grunt work? > > > > > > > > > > > > On 10/20/07, Mike Moore wrote: > > > > > I started work on porting Ola Bini's JvYAML library to C#, but I've > had > > > very > > > > > little time lately. I'll try to get my code on a public SVN repo > > > sometime > > > > > this weekend or early next week. > > > > > > > > > > > > > > > On 10/20/07, John Lam (DLR) < jflam at microsoft.com> wrote: > > > > > > Adam Esterline: > > > > > > > > > > > > > > Has anyone else started working on a Yaml parser? If so, how > can I > > > > > > > contribute? > > > > > > > > > > > > I don't think anyone has started work on a yaml parser. As for > > > > > contributing, check out the somewhat videos on > http://www.ironruby.net > > > to > > > > > get started, sign a contributor agreement (see the archives for > > > > > instructions) and start coding! > > > > > > > > > > > > There are numerous YAML parsers out there (including some .NET > ones > > > that > > > > > have incompatible licenses). > > > > > > > > > > > > Thanks, > > > > > > -John > > > > > > > > > > > > > > > > > > ______________________________ _________________ > > > > > > Ironruby-core mailing list > > > > > > Ironruby-core at rubyforge.org > > > > > > http://rubyforge.org/mailman/listinfo/ironruby-core > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > Ironruby-core mailing list > > > > > Ironruby-core at rubyforge.org > > > > > http://rubyforge.org/mailman/listinfo/ironruby-core > > > > > > > > > > > > > > > > > > > > > > -- > > > > Adam Esterline > > > > http://adamesterline.com/ > > > > _______________________________________________ > > > > Ironruby-core mailing list > > > > Ironruby-core at rubyforge.org > > > > http://rubyforge.org/mailman/listinfo/ironruby-core > > > > > > > > > > > > > _______________________________________________ > > > Ironruby-core mailing list > > > Ironruby-core at rubyforge.org > > > http://rubyforge.org/mailman/listinfo/ironruby-core > > > > > > > > > > > > -- > > Adam Esterline > > http://adamesterline.com/ > > _______________________________________________ > > Ironruby-core mailing list > > Ironruby-core at rubyforge.org > > http://rubyforge.org/mailman/listinfo/ironruby-core > > > > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > > -- Adam Esterline http://adamesterline.com/ From jflam at microsoft.com Tue Oct 23 00:36:38 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Mon, 22 Oct 2007 21:36:38 -0700 Subject: [Ironruby-core] Uh oh - I think I pooched the SVN repository Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D4282DFF@NA-EXMSG-C115.redmond.corp.microsoft.com> The last two commits were pretty complex and I think something got screwed up in the SVN repository. I think we did some transforms that my layout transform script is not getting right. It looks like I need to rollback two versions in the repository. However, I can't do a clean checkout right now to fix it. Does anyone know how to rollback a couple of versions in the SVN repository when you don't have a clean checkout? Thanks, -John -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071022/a1584211/attachment.html From jflam at microsoft.com Tue Oct 23 00:44:23 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Mon, 22 Oct 2007 21:44:23 -0700 Subject: [Ironruby-core] Uh oh - I think I pooched the SVN repository In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D4282DFF@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D4282DFF@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D4282E04@NA-EXMSG-C115.redmond.corp.microsoft.com> >>The last two commits were pretty complex and I think something got screwed up in the SVN >>repository. I think we did some transforms that my layout transform script is not getting right. >>It looks like I need to rollback two versions in the repository. However, I can't do a clean >>checkout right now to fix it. Does anyone know how to rollback a couple of versions in the SVN >>repository when you don't have a clean checkout? Some more information: It looks like what's causing the problem is the fact that the casing of the AST directory name was changed. So SVN has a AST and an Ast directory, but on Windows that resolves to the same directory which causes things to freak out. Now that I know what the problem is I can fix the Rakefile. But I still need to figure out how to roll the SVN server back to revision #44 (last known good). Ideas? Thanks, -John From sanxiyn at gmail.com Tue Oct 23 02:36:16 2007 From: sanxiyn at gmail.com (Sanghyeon Seo) Date: Tue, 23 Oct 2007 15:36:16 +0900 Subject: [Ironruby-core] Uh oh - I think I pooched the SVN repository In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D4282E04@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D4282DFF@NA-EXMSG-C115.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D4282E04@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <5b0248170710222336k41988267k339f14184742746@mail.gmail.com> 2007/10/23, John Lam (DLR) : > Now that I know what the problem is I can fix the Rakefile. But I still need to figure out how to roll the SVN server back to revision #44 (last known good). > > Ideas? svnadmin dump -r 1:44 repository > dump svnadmin create new_repository svnadmin load new_repository < dump -- Seo Sanghyeon From brent.rowland at gmail.com Tue Oct 23 02:53:45 2007 From: brent.rowland at gmail.com (Brent Rowland) Date: Mon, 22 Oct 2007 23:53:45 -0700 Subject: [Ironruby-core] Uh oh - I think I pooched the SVN repository In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D4282E04@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D4282DFF@NA-EXMSG-C115.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D4282E04@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: The usual method ( http://svnbook.red-bean.com/en/1.4/svn.branchmerge.commonuses.html#svn.branchmerge.commonuses.undo) is unlikely to work without a case-sensitive file system, which would be necesary for a clean checkout. The dump/load routine Sanghyeon suggested should work if you have shell access on the server, but if you have shell access on a system with a case-sensitive file system, using the usual system seems less drastic. Brent Rowland On 10/22/07, John Lam (DLR) wrote: > > >>The last two commits were pretty complex and I think something got > screwed up in the SVN >>repository. I think we did some transforms that my > layout transform script is not getting right. > > >>It looks like I need to rollback two versions in the repository. > However, I can't do a clean >>checkout right now to fix it. Does anyone know > how to rollback a couple of versions in the SVN >>repository when you don't > have a clean checkout? > > Some more information: > > It looks like what's causing the problem is the fact that the casing of > the AST directory name was changed. So SVN has a AST and an Ast directory, > but on Windows that resolves to the same directory which causes things to > freak out. > > Now that I know what the problem is I can fix the Rakefile. But I still > need to figure out how to roll the SVN server back to revision #44 (last > known good). > > Ideas? > > Thanks, > -John > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071022/c3136cb9/attachment.html From sanxiyn at gmail.com Tue Oct 23 03:02:05 2007 From: sanxiyn at gmail.com (Sanghyeon Seo) Date: Tue, 23 Oct 2007 16:02:05 +0900 Subject: [Ironruby-core] Uh oh - I think I pooched the SVN repository In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D4282DFF@NA-EXMSG-C115.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D4282E04@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <5b0248170710230002v188ce94dud23b5e2084487b48@mail.gmail.com> 2007/10/23, Brent Rowland : > The dump/load routine Sanghyeon suggested > should work if you have shell access on the server, but if you have shell > access on a system with a case-sensitive file system, using the usual system > seems less drastic. Since the server in this case is RubyForge, and RubyForge doesn't allow shell access, the simplest solution would be to file a support request to RubyForge Support tracker with dump/load commands. http://rubyforge.org/projects/support/ -- Seo Sanghyeon From m.david at xmlhacker.com Tue Oct 23 04:06:43 2007 From: m.david at xmlhacker.com (M. David Peterson) Date: Tue, 23 Oct 2007 02:06:43 -0600 Subject: [Ironruby-core] Uh oh - I think I pooched the SVN repository In-Reply-To: <5b0248170710222336k41988267k339f14184742746@mail.gmail.com> References: <372109E149E8084D8E6C7D9CFD82E06329D4282DFF@NA-EXMSG-C115.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D4282E04@NA-EXMSG-C115.redmond.corp.microsoft.com> <5b0248170710222336k41988267k339f14184742746@mail.gmail.com> Message-ID: On Tue, 23 Oct 2007 00:36:16 -0600, Sanghyeon Seo wrote: > svnadmin dump -r 1:44 repository > dump > svnadmin create new_repository > svnadmin load new_repository < dump Nice! I've been wondering the same. Now I know... As always, thanks, Seo! -- /M:D M. David Peterson http://mdavid.name | http://www.oreillynet.com/pub/au/2354 | http://dev.aol.com/blog/3155 From Cory.Foy at microsoft.com Tue Oct 23 08:11:21 2007 From: Cory.Foy at microsoft.com (Cory Foy) Date: Tue, 23 Oct 2007 05:11:21 -0700 Subject: [Ironruby-core] Uh oh - I think I pooched the SVN repository In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D4282E04@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D4282DFF@NA-EXMSG-C115.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D4282E04@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <1AC17FAF2165B641AC2AF42BBEED58CF3BB9C6C161@NA-EXMSG-C110.redmond.corp.microsoft.com> Couldn't you just get someone (or hop on) with a Linux system or other case-sensitive system to do the checkout, remove the AST directory and check back in? Cory -----Original Message----- From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of John Lam (DLR) Sent: Tuesday, October 23, 2007 12:44 AM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Uh oh - I think I pooched the SVN repository >>The last two commits were pretty complex and I think something got screwed up in the SVN >>repository. I think we did some transforms that my layout transform script is not getting right. >>It looks like I need to rollback two versions in the repository. However, I can't do a clean >>checkout right now to fix it. Does anyone know how to rollback a couple of versions in the SVN >>repository when you don't have a clean checkout? Some more information: It looks like what's causing the problem is the fact that the casing of the AST directory name was changed. So SVN has a AST and an Ast directory, but on Windows that resolves to the same directory which causes things to freak out. Now that I know what the problem is I can fix the Rakefile. But I still need to figure out how to roll the SVN server back to revision #44 (last known good). Ideas? Thanks, -John _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core From Cory.Foy at microsoft.com Tue Oct 23 08:18:15 2007 From: Cory.Foy at microsoft.com (Cory Foy) Date: Tue, 23 Oct 2007 05:18:15 -0700 Subject: [Ironruby-core] Uh oh - I think I pooched the SVN repository In-Reply-To: <1AC17FAF2165B641AC2AF42BBEED58CF3BB9C6C161@NA-EXMSG-C110.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D4282DFF@NA-EXMSG-C115.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D4282E04@NA-EXMSG-C115.redmond.corp.microsoft.com> <1AC17FAF2165B641AC2AF42BBEED58CF3BB9C6C161@NA-EXMSG-C110.redmond.corp.microsoft.com> Message-ID: <1AC17FAF2165B641AC2AF42BBEED58CF3BB9C6C163@NA-EXMSG-C110.redmond.corp.microsoft.com> Another thought is to rename the Ast directory, commit that, delete the AST directory, commit that, and then rename whatever you called Ast back to Ast and commit that. Cory -----Original Message----- From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Cory Foy Sent: Tuesday, October 23, 2007 8:11 AM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Uh oh - I think I pooched the SVN repository Couldn't you just get someone (or hop on) with a Linux system or other case-sensitive system to do the checkout, remove the AST directory and check back in? Cory -----Original Message----- From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of John Lam (DLR) Sent: Tuesday, October 23, 2007 12:44 AM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Uh oh - I think I pooched the SVN repository >>The last two commits were pretty complex and I think something got screwed up in the SVN >>repository. I think we did some transforms that my layout transform script is not getting right. >>It looks like I need to rollback two versions in the repository. However, I can't do a clean >>checkout right now to fix it. Does anyone know how to rollback a couple of versions in the SVN >>repository when you don't have a clean checkout? Some more information: It looks like what's causing the problem is the fact that the casing of the AST directory name was changed. So SVN has a AST and an Ast directory, but on Windows that resolves to the same directory which causes things to freak out. Now that I know what the problem is I can fix the Rakefile. But I still need to figure out how to roll the SVN server back to revision #44 (last known good). Ideas? Thanks, -John _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core From jdlewis at xactware.com Tue Oct 23 10:26:22 2007 From: jdlewis at xactware.com (Jeff Lewis) Date: Tue, 23 Oct 2007 08:26:22 -0600 Subject: [Ironruby-core] Uh oh - I think I pooched the SVN repository In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D4282DFF@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D4282DFF@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <10149100A9B32A45A934362B602ABE5B021FD849@POSTMASTER.xactware.com> Not for the faint of heart, but wouldn't this do it: ?> svn merge -r LASTEST:DESIRED http://svn.ruby-i -don't-know-the-url/trunk http://svn.ruby-i -don't-know-the-url/trunk From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of John Lam (DLR) Sent: Monday, October 22, 2007 10:37 PM To: ironruby-core at rubyforge.org Subject: [Ironruby-core] Uh oh - I think I pooched the SVN repository The last two commits were pretty complex and I think something got screwed up in the SVN repository. I think we did some transforms that my layout transform script is not getting right. It looks like I need to rollback two versions in the repository. However, I can't do a clean checkout right now to fix it. Does anyone know how to rollback a couple of versions in the SVN repository when you don't have a clean checkout? Thanks, -John This email is intended solely for the recipient. It may contain privileged, proprietary or confidential information or material. If you are not the intended recipient, please delete this email and any attachments and notify the sender of the error. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071023/122eaf43/attachment.html From jflam at microsoft.com Tue Oct 23 11:49:44 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Tue, 23 Oct 2007 08:49:44 -0700 Subject: [Ironruby-core] Uh oh - I think I pooched the SVN repository In-Reply-To: <5b0248170710222336k41988267k339f14184742746@mail.gmail.com> References: <372109E149E8084D8E6C7D9CFD82E06329D4282DFF@NA-EXMSG-C115.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D4282E04@NA-EXMSG-C115.redmond.corp.microsoft.com> <5b0248170710222336k41988267k339f14184742746@mail.gmail.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D4282F38@NA-EXMSG-C115.redmond.corp.microsoft.com> Sanghyeon Seo: > > svnadmin dump -r 1:44 repository > dump > svnadmin create new_repository > svnadmin load new_repository < dump Thanks, Seo! I've forwarded this onto Tom Copeland, the sysadmin for Rubyforge. -John From jflam at microsoft.com Tue Oct 23 16:40:19 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Tue, 23 Oct 2007 13:40:19 -0700 Subject: [Ironruby-core] SVN reverted to revsion 44 Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D4283243@NA-EXMSG-C115.redmond.corp.microsoft.com> Thanks to the timely work of Tom Copeland, the Rubyforge sysadmin, we're back to where we were yesterday. Now, cross your fingers that I don't screw things up again this time :) -John From jflam at microsoft.com Tue Oct 23 20:14:14 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Tue, 23 Oct 2007 17:14:14 -0700 Subject: [Ironruby-core] Revision 45 up on SVN Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D42833EE@NA-EXMSG-C115.redmond.corp.microsoft.com> I fixed the Rakefile and pushed up Revision 45 to Subversion today. This gives you the latest bits as of this morning from my desktop here in Redmond. Of note in this release is the AstRewriter that Martin wrote. This fixes many of the code gen bugs that no doubt folks ran into in testing IronRuby (we sure hit it a lot). This release also integrates some of the latest Rubinius specs into the source tree. You can run the specs via "rake specs". Right now we're at 1032 examples, 565 failures. It's time to start taking a hard look at those failures so that we can improve the quality of the 3 core types (Array, Hash, String) that it is testing. Am now working integrating the community submissions into our source code. My apologies for the delay - there were random procedural issues that we're hoping will be fixed soon. The biggest change is the way that we're splitting out the libraries. Hopefully sometime tomorrow we'll have the libraries checkin done on our end which will refactor most if not all of the libraries code into IronRuby.Libraries.dll. That will make it much easier for folks to work on the libraries. Thanks, -John From lists at ruby-forum.com Tue Oct 23 20:46:29 2007 From: lists at ruby-forum.com (Lloyd Linklater) Date: Wed, 24 Oct 2007 02:46:29 +0200 Subject: [Ironruby-core] Yaml Parser In-Reply-To: References: Message-ID: <54708cd5520658568cef6644917cc2bf@ruby-forum.com> Adam Esterline wrote: > Has anyone else started working on a Yaml parser? If so, how can I > contribute? Why would you need to write a new one? Is there something wrong with http://rbyaml.rubyforge.org/ -- Posted via http://www.ruby-forum.com/. From adam at esterlines.com Tue Oct 23 21:17:39 2007 From: adam at esterlines.com (Adam Esterline) Date: Tue, 23 Oct 2007 20:17:39 -0500 Subject: [Ironruby-core] Yaml Parser In-Reply-To: <54708cd5520658568cef6644917cc2bf@ruby-forum.com> References: <54708cd5520658568cef6644917cc2bf@ruby-forum.com> Message-ID: Is the MIT license, of rbyaml, compatible with IronRuby? AE On 10/23/07, Lloyd Linklater wrote: > Adam Esterline wrote: > > Has anyone else started working on a Yaml parser? If so, how can I > > contribute? > > Why would you need to write a new one? Is there something wrong with > http://rbyaml.rubyforge.org/ > -- > Posted via http://www.ruby-forum.com/. > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > -- Adam Esterline http://adamesterline.com/ From sanxiyn at gmail.com Tue Oct 23 22:16:22 2007 From: sanxiyn at gmail.com (Sanghyeon Seo) Date: Wed, 24 Oct 2007 11:16:22 +0900 Subject: [Ironruby-core] Yaml Parser In-Reply-To: References: <54708cd5520658568cef6644917cc2bf@ruby-forum.com> Message-ID: <5b0248170710231916g6683041bvbdf1d5865414fd86@mail.gmail.com> 2007/10/24, Adam Esterline : > Is the MIT license, of rbyaml, compatible with IronRuby? I can't see why not. And it's not like rbyaml is derivative work of IronRuby or vice versa, so license compatibility doesn't matter. The problem is that rbyaml is a bit too advanced to be run by current IronRuby :) -- Seo Sanghyeon From adam at esterlines.com Tue Oct 23 22:20:35 2007 From: adam at esterlines.com (Adam Esterline) Date: Tue, 23 Oct 2007 21:20:35 -0500 Subject: [Ironruby-core] Yaml Parser In-Reply-To: <5b0248170710231916g6683041bvbdf1d5865414fd86@mail.gmail.com> References: <54708cd5520658568cef6644917cc2bf@ruby-forum.com> <5b0248170710231916g6683041bvbdf1d5865414fd86@mail.gmail.com> Message-ID: I think license does matter. If rbyaml was used, it would be shipped with IronRuby as a standard library. I think that means that their license have to be compatible. Can someone please clarify? AE On 10/23/07, Sanghyeon Seo wrote: > 2007/10/24, Adam Esterline : > > Is the MIT license, of rbyaml, compatible with IronRuby? > > I can't see why not. And it's not like rbyaml is derivative work of > IronRuby or vice versa, so license compatibility doesn't matter. > > The problem is that rbyaml is a bit too advanced to be run by current > IronRuby :) > > -- > Seo Sanghyeon > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > -- Adam Esterline http://adamesterline.com/ From jflam at microsoft.com Tue Oct 23 22:22:55 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Tue, 23 Oct 2007 19:22:55 -0700 Subject: [Ironruby-core] Yaml Parser In-Reply-To: References: <54708cd5520658568cef6644917cc2bf@ruby-forum.com> <5b0248170710231916g6683041bvbdf1d5865414fd86@mail.gmail.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D4283468@NA-EXMSG-C115.redmond.corp.microsoft.com> Adam Esterline: > I think license does matter. If rbyaml was used, it would be > shipped with IronRuby as a standard library. I think that means that > their license have to be compatible. > > Can someone please clarify? This is something that we still have to figure out on our end. AFAIK we have never shipped multiple licensed code before in a single distribution. I've got some inquiries out on this, and I'll report back what we figure out. Worst case we could enlist the help of someone like Seo who has lots of experience redistributing our code to help come up with a standard distribution, but clearly that's a worst case scenario. Thanks, -John From sanxiyn at gmail.com Tue Oct 23 22:41:07 2007 From: sanxiyn at gmail.com (Sanghyeon Seo) Date: Wed, 24 Oct 2007 11:41:07 +0900 Subject: [Ironruby-core] Pathname Message-ID: <5b0248170710231941v543cd7e4n9cd573666c7d93c@mail.gmail.com> John Lam wrote: > after looking at your changes to the Rakefile, most of them fall in the bucket of using File.join() to concatenate pathname elements rather than using a canonical delimiter '\'. I was under the impression that the pathname2 library would do the correct thing under Linux and convert the '\' to '/'. I think the intended way to use the library is not to use delimiter at all. irb(main):001:0> require 'pathname2' => true irb(main):002:0> root = Pathname.new('root') => "root" irb(main):003:0> root + 'subdir' # not '\subdir' => "root/subdir" -- Seo Sanghyeon From curt at hagenlocher.org Tue Oct 23 23:09:31 2007 From: curt at hagenlocher.org (Curt Hagenlocher) Date: Tue, 23 Oct 2007 20:09:31 -0700 Subject: [Ironruby-core] Revision 45 up on SVN In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D42833EE@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D42833EE@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: On 10/23/07, John Lam (DLR) wrote: > > > This release also integrates some of the latest Rubinius specs into the > source tree. You can run the specs via "rake specs". Right now we're at 1032 > examples, 565 failures. It's time to start taking a hard look at those > failures so that we can improve the quality of the 3 core types (Array, > Hash, String) that it is testing. Are there such specs for the entire core library? I've implemented the StringScanner class but wasn't particularly looking forward to working out all the tests. http://hagenlocher.org/software/StringScanner.cs.txt This should be complete -- with the exception of get_byte (which is currently identical to getch) and StringScanner::Error (which I wasn't sure how to define). I'm also not sure how to add this code in such a way that a "require 'strscan'" is needed to make it available. We're going to need a better way of "signing up" for specific libraries; I'd be looking at the IO and File classes if I weren't convinced that there weren't half a dozen other people doing the same :). -- Curt Hagenlocher curt at hagenlocher.org -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071023/b4616aa2/attachment.html From enicholson at gmail.com Wed Oct 24 08:12:30 2007 From: enicholson at gmail.com (Eric Nicholson) Date: Wed, 24 Oct 2007 08:12:30 -0400 Subject: [Ironruby-core] Revision 45 up on SVN In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D42833EE@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: >We're going to need a better way of "signing up" for specific libraries; I'd be looking at the IO and File >classes if I weren't convinced that there weren't half a dozen other people doing the same :). I don't know if there are half a dozen people looking at it, but I've got most of the static methods implemented. :) -Eric On 10/23/07, Curt Hagenlocher wrote: > > On 10/23/07, John Lam (DLR) wrote: > > > > > > This release also integrates some of the latest Rubinius specs into the > > source tree. You can run the specs via "rake specs". Right now we're at 1032 > > examples, 565 failures. It's time to start taking a hard look at those > > failures so that we can improve the quality of the 3 core types (Array, > > Hash, String) that it is testing. > > > Are there such specs for the entire core library? I've implemented the > StringScanner class but wasn't particularly looking forward to working out > all the tests. > > http://hagenlocher.org/software/StringScanner.cs.txt > > This should be complete -- with the exception of get_byte (which is > currently identical to getch) and StringScanner::Error (which I wasn't sure > how to define). I'm also not sure how to add this code in such a way that a > "require 'strscan'" is needed to make it available. > > We're going to need a better way of "signing up" for specific libraries; > I'd be looking at the IO and File classes if I weren't convinced that there > weren't half a dozen other people doing the same :). > > -- > Curt Hagenlocher > curt at hagenlocher.org > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071024/ddd11a1d/attachment.html From enicholson at gmail.com Wed Oct 24 10:32:47 2007 From: enicholson at gmail.com (Eric Nicholson) Date: Wed, 24 Oct 2007 10:32:47 -0400 Subject: [Ironruby-core] How our libraries stack up against the specs ... In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D2C10CCE@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2C10CCE@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: Does anyone know an easier way of getting the Rubinius source than installing cygwin, getting the git source code, compiling git... What a pain! I'm sure git is fantastic, but you can't store your portable RVM on a non-portable source manager! I really want to look at these tests. I grabbed the most recent tarball I could find, but the tests John included aren't in it (presumably because it's too old). The tests seem to have undergone a major re-organization. On 10/15/07, John Lam (DLR) wrote: > > I re-implemented parts of the Rubinius test suite harness to use features > that *are* implemented in IronRuby. The good news is that we're using the > specs as written without any changes at all. > > The spec suite driver currently looks at Array, Hash and String only. > > If I run the driver under MRI, I see 17 failures out of 743 specs; only > one failure is expected. The other 16 failures are due the fact that I > couldn't implement that part of the test suite harness without using > features that IronRuby doesn't have today. So that's not a bad baseline > start. > > If I run the same spec suite under IronRuby, we see 457 failures out of > 743, for a pass rate of 38%. If we omit String, which is the least > implemented of these types, our pass rate for Array and Hash rises to 58% > (149 fail out of 353). > > Some of the failures are obviously due to features that aren't implemented > at all (mostly in String). Some of them are due to a class of language > features that aren't implemented (e.g. taint). Some are due to known DLR > bugs like the one that Martin is currently consumed with fixing. The > remainder are real bugs in our implementation. > > The spec harness is a fairly sophisticated Ruby program. The team should > be proud of getting the language to this state so quickly! > > I'm attaching the test dump to this mail for the curious. The shelveset > that contains this stuff should be ready to review tomorrow and will be > pushed out to SVN right after that. > > Thanks, > -John > > > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071024/8c5793d0/attachment.html From mwatts42 at gmail.com Wed Oct 24 12:07:34 2007 From: mwatts42 at gmail.com (Mark) Date: Wed, 24 Oct 2007 12:07:34 -0400 Subject: [Ironruby-core] How our libraries stack up against the specs ... In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D2C10CCE@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <3c17278b0710240907y9e1bf45m976dbc22207a42a0@mail.gmail.com> Goto http://code.google.com/p/msysgit/downloads/list and download and install http://msysgit.googlecode.com/files/Git-1.5.3-preview20071019.exe This should provide you will just about everything you need to get up and running using Git. -mark On 10/24/07, Eric Nicholson wrote: > > Does anyone know an easier way of getting the Rubinius source than > installing cygwin, getting the git source code, compiling git... > > What a pain! I'm sure git is fantastic, but you can't store your portable > RVM on a non-portable source manager! > > I really want to look at these tests. I grabbed the most recent tarball I > could find, but the tests John included aren't in it (presumably because > it's too old). The tests seem to have undergone a major re-organization. > > On 10/15/07, John Lam (DLR) wrote: > > > I re-implemented parts of the Rubinius test suite harness to use > > features that *are* implemented in IronRuby. The good news is that we're > > using the specs as written without any changes at all. > > > > The spec suite driver currently looks at Array, Hash and String only. > > > > If I run the driver under MRI, I see 17 failures out of 743 specs; only > > one failure is expected. The other 16 failures are due the fact that I > > couldn't implement that part of the test suite harness without using > > features that IronRuby doesn't have today. So that's not a bad baseline > > start. > > > > If I run the same spec suite under IronRuby, we see 457 failures out of > > 743, for a pass rate of 38%. If we omit String, which is the least > > implemented of these types, our pass rate for Array and Hash rises to 58% > > (149 fail out of 353). > > > > Some of the failures are obviously due to features that aren't > > implemented at all (mostly in String). Some of them are due to a class of > > language features that aren't implemented (e.g. taint). Some are due to > > known DLR bugs like the one that Martin is currently consumed with fixing. > > The remainder are real bugs in our implementation. > > > > The spec harness is a fairly sophisticated Ruby program. The team should > > be proud of getting the language to this state so quickly! > > > > I'm attaching the test dump to this mail for the curious. The shelveset > > that contains this stuff should be ready to review tomorrow and will be > > pushed out to SVN right after that. > > > > Thanks, > > -John > > > > > > > > _______________________________________________ > > Ironruby-core mailing list > > Ironruby-core at rubyforge.org > > http://rubyforge.org/mailman/listinfo/ironruby-core > > > > > > > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > > -- -mark -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071024/1ee56085/attachment-0001.html From enicholson at gmail.com Wed Oct 24 13:39:50 2007 From: enicholson at gmail.com (Eric Nicholson) Date: Wed, 24 Oct 2007 13:39:50 -0400 Subject: [Ironruby-core] How our libraries stack up against the specs ... In-Reply-To: <3c17278b0710240907y9e1bf45m976dbc22207a42a0@mail.gmail.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2C10CCE@NA-EXMSG-C115.redmond.corp.microsoft.com> <3c17278b0710240907y9e1bf45m976dbc22207a42a0@mail.gmail.com> Message-ID: That is _exactly_ what I was looking for. If anybody else is interested, after you install git take a look at the commands on this page: http://rubini.us/pages/using-git Thanks Mark! Eric On 10/24/07, Mark wrote: > > Goto http://code.google.com/p/msysgit/downloads/list and download and > install http://msysgit.googlecode.com/files/Git-1.5.3-preview20071019.exe > > This should provide you will just about everything you need to get up and > running using Git. > > -mark > > > > On 10/24/07, Eric Nicholson wrote: > > > > Does anyone know an easier way of getting the Rubinius source than > > installing cygwin, getting the git source code, compiling git... > > > > What a pain! I'm sure git is fantastic, but you can't store your > > portable RVM on a non-portable source manager! > > > > I really want to look at these tests. I grabbed the most recent tarball > > I could find, but the tests John included aren't in it (presumably because > > it's too old). The tests seem to have undergone a major re-organization. > > > > On 10/15/07, John Lam (DLR) < jflam at microsoft.com> wrote: > > > > > I re-implemented parts of the Rubinius test suite harness to use > > > features that *are* implemented in IronRuby. The good news is that we're > > > using the specs as written without any changes at all. > > > > > > The spec suite driver currently looks at Array, Hash and String only. > > > > > > If I run the driver under MRI, I see 17 failures out of 743 specs; > > > only one failure is expected. The other 16 failures are due the fact that I > > > couldn't implement that part of the test suite harness without using > > > features that IronRuby doesn't have today. So that's not a bad baseline > > > start. > > > > > > If I run the same spec suite under IronRuby, we see 457 failures out > > > of 743, for a pass rate of 38%. If we omit String, which is the least > > > implemented of these types, our pass rate for Array and Hash rises to 58% > > > (149 fail out of 353). > > > > > > Some of the failures are obviously due to features that aren't > > > implemented at all (mostly in String). Some of them are due to a class of > > > language features that aren't implemented (e.g. taint). Some are due > > > to known DLR bugs like the one that Martin is currently consumed with > > > fixing. The remainder are real bugs in our implementation. > > > > > > The spec harness is a fairly sophisticated Ruby program. The team > > > should be proud of getting the language to this state so quickly! > > > > > > I'm attaching the test dump to this mail for the curious. The > > > shelveset that contains this stuff should be ready to review tomorrow and > > > will be pushed out to SVN right after that. > > > > > > Thanks, > > > -John > > > > > > > > > > > > _______________________________________________ > > > Ironruby-core mailing list > > > Ironruby-core at rubyforge.org > > > http://rubyforge.org/mailman/listinfo/ironruby-core > > > > > > > > > > > > > _______________________________________________ > > Ironruby-core mailing list > > Ironruby-core at rubyforge.org > > http://rubyforge.org/mailman/listinfo/ironruby-core > > > > > > > -- > -mark > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071024/04c08027/attachment.html From jflam at microsoft.com Wed Oct 24 13:48:40 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Wed, 24 Oct 2007 10:48:40 -0700 Subject: [Ironruby-core] Checked in a Rakefile that should work correctly with Linux filesystem Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D42836A8@NA-EXMSG-C115.redmond.corp.microsoft.com> Can someone with a Linux box please verify that this works correctly? Thanks, -John From jflam at microsoft.com Wed Oct 24 14:44:54 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Wed, 24 Oct 2007 11:44:54 -0700 Subject: [Ironruby-core] How our libraries stack up against the specs ... In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D2C10CCE@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D4283720@NA-EXMSG-C115.redmond.corp.microsoft.com> Eric Nicholson: > I really want to look at these tests. I grabbed the most recent > tarball I could find, but the tests John included aren't in it > (presumably because it's too old). The tests seem to have undergone a > major re-organization. On my list of things to do is refactor where the specs live. Right now they're mixed into our existing \Tests directory. In the future the entire Rubinius \specs directory will be self-contained as a peer to \Tests in IronRuby. This should make it much simpler to have a script that syncs the Rubinius test suite with IronRuby. Thanks, -John From jflam at microsoft.com Wed Oct 24 14:47:14 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Wed, 24 Oct 2007 11:47:14 -0700 Subject: [Ironruby-core] Revision 45 up on SVN In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D42833EE@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D4283728@NA-EXMSG-C115.redmond.corp.microsoft.com> Eric Nicholson: > >We're going to need a better way of "signing up" for specific > libraries; I'd be looking at the IO and File >classes if I weren't > convinced that there weren't half a dozen other people doing the same > :). > > I don't know if there are half a dozen people looking at it, but I've > got most of the static methods implemented. :) I did a quick edit to the wiki. Can folks sign up for the libraries that they're working on here? http://ironruby.rubyforge.org/wiki/wiki.pl?Core Thanks, -John From jflam at microsoft.com Wed Oct 24 14:49:14 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Wed, 24 Oct 2007 11:49:14 -0700 Subject: [Ironruby-core] Revision 45 up on SVN In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D42833EE@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D428372E@NA-EXMSG-C115.redmond.corp.microsoft.com> Curt Hagenlocher: > Are there such specs for the entire core library? I've implemented > the StringScanner class but wasn't particularly looking forward to > working out all the tests. I did a quick look through the Rubinius test suite and I didn't find any tests for StringScanner. > http://hagenlocher.org/software/StringScanner.cs.txt > > This should be complete -- with the exception of get_byte (which is > currently identical to getch) and StringScanner::Error (which I wasn't > sure how to define). I'm also not sure how to add this code in such a > way that a "require 'strscan'" is needed to make it available. I took a quick look - it's looking good! Hopefully sometime this week (it was going to be Monday but various random infrastructure things are delaying the checkin) we'll finish our library refactoring and I'll push out the new layout to SVN. Thanks, -John From jflam at microsoft.com Wed Oct 24 14:51:01 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Wed, 24 Oct 2007 11:51:01 -0700 Subject: [Ironruby-core] Pathname In-Reply-To: <5b0248170710231941v543cd7e4n9cd573666c7d93c@mail.gmail.com> References: <5b0248170710231941v543cd7e4n9cd573666c7d93c@mail.gmail.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D4283735@NA-EXMSG-C115.redmond.corp.microsoft.com> Sanghyeon Seo: > I think the intended way to use the library is not to use delimiter at > all. > > irb(main):001:0> require 'pathname2' > => true > irb(main):002:0> root = Pathname.new('root') => "root" > irb(main):003:0> root + 'subdir' # not '\subdir' > => "root/subdir" That's exactly the insight that I was looking for. Thanks, Seo! The latest Rakefile that I checked in takes advantage of this observation, so it *should* just work on Linux now. I'm trying to spin up the Mono vmware image here to get the ball rolling on my end so that I can do some verification of this stuff before throwing over the wall. Thanks, -John From charles.nutter at sun.com Wed Oct 24 15:27:40 2007 From: charles.nutter at sun.com (Charles Oliver Nutter) Date: Wed, 24 Oct 2007 14:27:40 -0500 Subject: [Ironruby-core] Revision 45 up on SVN In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D428372E@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D42833EE@NA-EXMSG-C115.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D428372E@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <471F9CAC.4020102@sun.com> John Lam (DLR) wrote: > Curt Hagenlocher: > >> Are there such specs for the entire core library? I've implemented >> the StringScanner class but wasn't particularly looking forward to >> working out all the tests. > > I did a quick look through the Rubinius test suite and I didn't find any tests for StringScanner. We have one: http://svn.codehaus.org/jruby/trunk/jruby/test/testStringScan.rb JRuby source is licensed under the MIT-like CPL, so that shouldn't be a problem. JRuby's test suite is probably the largest one available right now, but it's a mix of our own minirunit and test/unit tests, MRI's tests, Daniel Berger's tests, Rubinius's specs, Rubicon, and BFTS. Ideally I'd love to see the various implementations cooperate on the test suites; so if there's tests coming out of the IronRuby project, it would be nice to have them available. Are they in SVN? (I admit, I haven't looked). - Charlie From curt at hagenlocher.org Wed Oct 24 15:37:31 2007 From: curt at hagenlocher.org (Curt Hagenlocher) Date: Wed, 24 Oct 2007 12:37:31 -0700 Subject: [Ironruby-core] Revision 45 up on SVN In-Reply-To: <471F9CAC.4020102@sun.com> References: <372109E149E8084D8E6C7D9CFD82E06329D42833EE@NA-EXMSG-C115.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D428372E@NA-EXMSG-C115.redmond.corp.microsoft.com> <471F9CAC.4020102@sun.com> Message-ID: On 10/24/07, Charles Oliver Nutter wrote: > > > JRuby's test suite is probably the largest one available right now, but > it's a mix of our own minirunit and test/unit tests, MRI's tests, Daniel > Berger's tests, Rubinius's specs, Rubicon, and BFTS. Ideally I'd love to > see the various implementations cooperate on the test suites; so if > there's tests coming out of the IronRuby project, it would be nice to > have them available. Are they in SVN? (I admit, I haven't looked). Yes, the IronRuby tests are in SVN. They all appear to be implemented with rspec. I got test/unit-based tests for strscan emailed to me privately, and your tests use minirunit. I imagine that a single agreed-upon standard format would be a nice place to start such cooperation :). -- Curt Hagenlocher curt at hagenlocher.org -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071024/3b040464/attachment-0001.html From curt at hagenlocher.org Wed Oct 24 15:56:29 2007 From: curt at hagenlocher.org (Curt Hagenlocher) Date: Wed, 24 Oct 2007 12:56:29 -0700 Subject: [Ironruby-core] Revision 45 up on SVN In-Reply-To: <471F9CAC.4020102@sun.com> References: <372109E149E8084D8E6C7D9CFD82E06329D42833EE@NA-EXMSG-C115.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D428372E@NA-EXMSG-C115.redmond.corp.microsoft.com> <471F9CAC.4020102@sun.com> Message-ID: On 10/24/07, Charles Oliver Nutter wrote: > > John Lam (DLR) wrote: > > I did a quick look through the Rubinius test suite and I didn't find any > tests for StringScanner. > > We have one: > > http://svn.codehaus.org/jruby/trunk/jruby/test/testStringScan.rb IronRuby will need a little work before it can handle minirunit, apparently :). The first issue I ran into was "undefined local variable or method `caller' for main:Object". On the plus side, I've already found a bunch of things that needed fixing in my code. Or should that be "the minus side"... -- Curt Hagenlocher curt at hagenlocher.org -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071024/fae762da/attachment.html From charles.nutter at sun.com Wed Oct 24 16:02:40 2007 From: charles.nutter at sun.com (Charles Oliver Nutter) Date: Wed, 24 Oct 2007 15:02:40 -0500 Subject: [Ironruby-core] Revision 45 up on SVN In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D42833EE@NA-EXMSG-C115.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D428372E@NA-EXMSG-C115.redmond.corp.microsoft.com> <471F9CAC.4020102@sun.com> Message-ID: <471FA4E0.4030807@sun.com> Curt Hagenlocher wrote: > On 10/24/07, *Charles Oliver Nutter* > wrote: > > John Lam (DLR) wrote: > > I did a quick look through the Rubinius test suite and I didn't > find any tests for StringScanner. > > We have one: > > http://svn.codehaus.org/jruby/trunk/jruby/test/testStringScan.rb > > > IronRuby will need a little work before it can handle minirunit, > apparently :). The first issue I ran into was "undefined local variable > or method `caller' for main:Object". > > On the plus side, I've already found a bunch of things that needed > fixing in my code. Or should that be "the minus side"... Feel free to port the test to rspec/mspec and contribute it back...we'd prefer *not* to have any minirunit tests anymore. - Charlie From jflam at microsoft.com Wed Oct 24 16:35:39 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Wed, 24 Oct 2007 13:35:39 -0700 Subject: [Ironruby-core] Revision 45 up on SVN In-Reply-To: <471F9CAC.4020102@sun.com> References: <372109E149E8084D8E6C7D9CFD82E06329D42833EE@NA-EXMSG-C115.redmond.corp.microsoft.com> <372109E149E8084D8E6C7D9CFD82E06329D428372E@NA-EXMSG-C115.redmond.corp.microsoft.com> <471F9CAC.4020102@sun.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D431A227@NA-EXMSG-C115.redmond.corp.microsoft.com> Charles Oliver Nutter: > see the various implementations cooperate on the test suites; so if > there's tests coming out of the IronRuby project, it would be nice to > have them available. Are they in SVN? (I admit, I haven't looked). Yes - they're under the tests\ironruby directory. Today the Rubinius specs are mixed in with our own tests but I'm going to pull them out into their own directory to make it easier to sync with Rubinius. You can see some of the control flow tests that Haibo wrote by looking under tests\ironruby\compat. Thanks, -John From lists at ruby-forum.com Wed Oct 24 17:24:12 2007 From: lists at ruby-forum.com (Dermot Hogan) Date: Wed, 24 Oct 2007 23:24:12 +0200 Subject: [Ironruby-core] Form Designer adding delegates Message-ID: I've got most of the form designer working ok now, so I'm going to start working on the MSBuild, project & item integration. However, I've got a couple of problems/questions. 1) IronRuby doesn't like the delegate op assign so I can't click on a button 2) I really need 'attr_accessor' to define a 'field' (it's commented out below and I've worked round it, but it's a pain to do). Does it exist yet? 3) the references use the full qualified reference name. I can live with this no problem, but it really should use the short form. Is this on the road map? Here's the code for a simple form: require 'System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL' require 'System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=x86' require 'System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' require 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL' class Form1123 < System::Windows::Forms::Form #attr_accessor :button1 def button1=(v) @button1 = v end def button1 @button1 end def InitializeComponent self.button1 = System::Windows::Forms::Button.new() self.SuspendLayout() # # button1 # self.button1.Location = System::Drawing::Point.new(220, 91) self.button1.Name = "button1" self.button1.Size = System::Drawing::Size.new(198, 42) self.button1.TabIndex = 0 self.button1.Text = "button1" self.button1.Click += System::EventHandler.new(self.button1_Click) # # Form1123 # self.ClientSize = System::Drawing::Size.new(600, 400) self.Controls.Add(self.button1) self.Name = "Form1123" self.ResumeLayout(false) end end Apart from the 'Click' everything else works fine. Thanks, Dermot -- Posted via http://www.ruby-forum.com/. From jflam at microsoft.com Wed Oct 24 17:28:17 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Wed, 24 Oct 2007 14:28:17 -0700 Subject: [Ironruby-core] Form Designer adding delegates In-Reply-To: References: Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D431A2B9@NA-EXMSG-C115.redmond.corp.microsoft.com> Dermot Hogan: > I've got most of the form designer working ok now, so I'm going to > start > working on the MSBuild, project & item integration. However, I've got a > couple of problems/questions. Excellent! > 1) IronRuby doesn't like the delegate op assign so I can't click on a > button We only support: self.button1.click do |sender, args| # code end today. > 2) I really need 'attr_accessor' to define a 'field' (it's commented > out > below and I've worked round it, but it's a pain to do). Does it exist > yet? We're working on this - it should be almost doable today. > 3) the references use the full qualified reference name. I can live > with > this no problem, but it really should use the short form. Is this on > the > road map? What I've been doing is assembling these references into a .rb file that I require - eg require 'winforms'. Thanks & great job! -John From lists at ruby-forum.com Wed Oct 24 17:46:44 2007 From: lists at ruby-forum.com (Dermot Hogan) Date: Wed, 24 Oct 2007 23:46:44 +0200 Subject: [Ironruby-core] Form Designer adding delegates In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D431A2B9@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D431A2B9@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <71f193aed734f04befd7d958139fcf22@ruby-forum.com> > >> 1) IronRuby doesn't like the delegate op assign so I can't click on a >> button > > We only support: > > self.button1.click do |sender, args| > # code > end > > today. > OK. The Form Designer requires that you add a delegate (at least I think it does. I haven't found a simple way supporting the above syntax). Everything else C#, VB, IronPython, etc use the += syntax. >> 2) I really need 'attr_accessor' to define a 'field' (it's commented >> out >> below and I've worked round it, but it's a pain to do). Does it exist >> yet? > > We're working on this - it should be almost doable today. > OK. That's good. >> 3) the references use the full qualified reference name. I can live >> with >> this no problem, but it really should use the short form. Is this on >> the >> road map? > > What I've been doing is assembling these references into a .rb file that > I require - eg require 'winforms'. > I can actually get the fully qualified name from the VS Add References system, so it's not a problem. It's not urgent by any means - it just looks odd. Another minor problem is that I have to use syntax like this: System::Windows::Forms::Application.EnableVisualStyles() System::Windows::Forms::Application.SetCompatibleTextRenderingDefault(false); even with the require 'System::Windows::Forms' Any way of shortening this? Also (a more general question) - will IR compile to a PE? I'm assuming that it runs similarly to MRuby right now (i.e as an interpreter), but I need to build certain assumptions into the things MSBuild knows about. If it's going to compile, then I'll make sure MSBuild knows about it. Don't bend your development plans to accomodate me, btw. I can see that there's plenty to work on before getting the finer points of the Form Designer. Still, I can see impressive progress! Dermot -- Posted via http://www.ruby-forum.com/. From jflam at microsoft.com Wed Oct 24 19:44:59 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Wed, 24 Oct 2007 16:44:59 -0700 Subject: [Ironruby-core] Libraries split is now complete Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D431A3C6@NA-EXMSG-C115.redmond.corp.microsoft.com> Revision 48 in SVN now contains the refactored library code. All library code should now go into src\ironruby.libraries. You'll also notice that the generateinitializers.cmd script lives there now, along with the Initializer.Generated.cs file. Please update any library work in progress to live under the new source code layout. Thanks, -John From charles.nutter at sun.com Wed Oct 24 19:56:41 2007 From: charles.nutter at sun.com (Charles Oliver Nutter) Date: Wed, 24 Oct 2007 18:56:41 -0500 Subject: [Ironruby-core] How our libraries stack up against the specs ... In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D2C10CCE@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <471FDBB9.7080900@sun.com> Eric Nicholson wrote: > Does anyone know an easier way of getting the Rubinius source than > installing cygwin, getting the git source code, compiling git... > > What a pain! I'm sure git is fantastic, but you can't store your > portable RVM on a non-portable source manager! > > I really want to look at these tests. I grabbed the most recent tarball > I could find, but the tests John included aren't in it (presumably > because it's too old). The tests seem to have undergone a major > re-organization. There's an SVN mirror somewhere...I forget the location. Ask Evan. - Charlie From w.kelly at qut.edu.au Wed Oct 24 21:14:58 2007 From: w.kelly at qut.edu.au (Wayne Kelly) Date: Thu, 25 Oct 2007 11:14:58 +1000 Subject: [Ironruby-core] How our libraries stack up against the specs ... In-Reply-To: <471FDBB9.7080900@sun.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2C10CCE@NA-EXMSG-C115.redmond.corp.microsoft.com> <471FDBB9.7080900@sun.com> Message-ID: <6821FE23D98BAC41AC2A91E7970F31AF0A4999CD3A@QUTEXMBX02.qut.edu.au> I used the following: http://code.fallingsnow.net/svn/rubinius/trunk Cheers, Wayne. > -----Original Message----- > From: ironruby-core-bounces at rubyforge.org > [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of > Charles Oliver Nutter > Sent: Thursday, 25 October 2007 9:57 AM > To: ironruby-core at rubyforge.org > Subject: Re: [Ironruby-core] How our libraries stack up > against the specs ... > > Eric Nicholson wrote: > > Does anyone know an easier way of getting the Rubinius source than > > installing cygwin, getting the git source code, compiling git... > > > > What a pain! I'm sure git is fantastic, but you can't store your > > portable RVM on a non-portable source manager! > > > > I really want to look at these tests. I grabbed the most recent > > tarball I could find, but the tests John included aren't in it > > (presumably because it's too old). The tests seem to have > undergone a > > major re-organization. > > There's an SVN mirror somewhere...I forget the location. Ask Evan. > > - Charlie > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > From w.kelly at qut.edu.au Wed Oct 24 21:29:58 2007 From: w.kelly at qut.edu.au (Wayne Kelly) Date: Thu, 25 Oct 2007 11:29:58 +1000 Subject: [Ironruby-core] Form Designer adding delegates In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D431A2B9@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D431A2B9@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <6821FE23D98BAC41AC2A91E7970F31AF0A4999CD4F@QUTEXMBX02.qut.edu.au> I battled many of these issues in developing the VS package (including forms designer) for Ruby.NET. You can check out a complete version from http://rubydotnetcompiler.googlecode.com/svn/trunk/src/VisualStudioPackage/ There may be still be some bugs, but it basically works. Some of the code in our InitializeComponent is a little un Ruby like but it was done to achieve perfect round-trip-ability. Perhaps we could collaborate more closely on the VS integration challenges for Ruby? I'm certainly happy to have one-on-one conversations with anyone working on this part of the project. Cheers, Wayne. FYI, the code that we would generate in that scenario is as follows: require 'mscorlib.dll' require 'System.dll' require 'System.Drawing.dll' require 'System.Windows.Forms.dll' class Form1 < System::Windows::Forms::Form def initialize self.InitializeComponent end attr_accessor :button1 def InitializeComponent() @button1 = System::Windows::Forms::Button.new() self.SuspendLayout() # # button1 # @button1.set_Location(System::Drawing::Point.new(47, 54)) @button1.set_Name('button1') @button1.set_Size(System::Drawing::Size.new(75, 23)) @button1.set_TabIndex(0) @button1.set_Text('button1') @button1.set_UseVisualStyleBackColor(true) @button1.add_Click(System::EventHandler.new { |*args| self.button1_Click(*args)}) # # Form1 # self.set_ClientSize(System::Drawing::Size.new(292, 266)) self.get_Controls().Add(@button1) self.set_Name('Form1') self.ResumeLayout(false) end def button1_Click(sender,e) end end From Tomas.Matousek at microsoft.com Wed Oct 24 22:46:44 2007 From: Tomas.Matousek at microsoft.com (Tomas Matousek) Date: Wed, 24 Oct 2007 19:46:44 -0700 Subject: [Ironruby-core] Form Designer adding delegates In-Reply-To: <71f193aed734f04befd7d958139fcf22@ruby-forum.com> References: <372109E149E8084D8E6C7D9CFD82E06329D431A2B9@NA-EXMSG-C115.redmond.corp.microsoft.com> <71f193aed734f04befd7d958139fcf22@ruby-forum.com> Message-ID: 1) I think we could support += for events - seems to be quite easy to plug into our infrastructure. This is a model how I think it could work: class Form def initialize @click = Event.new end def click puts "TRACE: Click" @click end def click=(x) puts "TRACE: Click=#{x.inspect}" if x.instance_of? MethodHolder then @click.add(x.method) else @click.set(x) end end end class MethodHolder attr :method def initialize(m) @method = m end end class Event def initialize @methods = [] end def +(m) puts "TRACE: +(#{m.inspect}" MethodHolder.new(m) end def call @methods.each { |m| m.call } end def add(m) @methods << m end def set(m) @methods = [m] end end def bar puts 'hello' end def baz puts 'world' end form = Form.new form.click += method(:bar) form.click += method(:baz) form.click.call So if you guys don't have objections, I would add it to my TODO list. Tomas -----Original Message----- From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Dermot Hogan Sent: Wednesday, October 24, 2007 2:47 PM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Form Designer adding delegates > >> 1) IronRuby doesn't like the delegate op assign so I can't click on a >> button > > We only support: > > self.button1.click do |sender, args| > # code > end > > today. > OK. The Form Designer requires that you add a delegate (at least I think it does. I haven't found a simple way supporting the above syntax). Everything else C#, VB, IronPython, etc use the += syntax. >> 2) I really need 'attr_accessor' to define a 'field' (it's commented >> out >> below and I've worked round it, but it's a pain to do). Does it exist >> yet? > > We're working on this - it should be almost doable today. > OK. That's good. >> 3) the references use the full qualified reference name. I can live >> with >> this no problem, but it really should use the short form. Is this on >> the >> road map? > > What I've been doing is assembling these references into a .rb file that > I require - eg require 'winforms'. > I can actually get the fully qualified name from the VS Add References system, so it's not a problem. It's not urgent by any means - it just looks odd. Another minor problem is that I have to use syntax like this: System::Windows::Forms::Application.EnableVisualStyles() System::Windows::Forms::Application.SetCompatibleTextRenderingDefault(false); even with the require 'System::Windows::Forms' Any way of shortening this? Also (a more general question) - will IR compile to a PE? I'm assuming that it runs similarly to MRuby right now (i.e as an interpreter), but I need to build certain assumptions into the things MSBuild knows about. If it's going to compile, then I'll make sure MSBuild knows about it. Don't bend your development plans to accomodate me, btw. I can see that there's plenty to work on before getting the finer points of the Form Designer. Still, I can see impressive progress! Dermot -- Posted via http://www.ruby-forum.com/. _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core From Tomas.Matousek at microsoft.com Wed Oct 24 23:01:22 2007 From: Tomas.Matousek at microsoft.com (Tomas Matousek) Date: Wed, 24 Oct 2007 20:01:22 -0700 Subject: [Ironruby-core] Form Designer adding delegates In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D431A2B9@NA-EXMSG-C115.redmond.corp.microsoft.com> <71f193aed734f04befd7d958139fcf22@ruby-forum.com> Message-ID: Actually, Ruby already has an in-place addition operator for arrays: <<. So another way of hooking could be: form.click << method(:bar) We can alias/rename :add to :push and :remove to :delete for better consistency with Ruby Array class method names. Of course, we can provide all three ways and let the user choose whatever she likes. Tomas -----Original Message----- From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Tomas Matousek Sent: Wednesday, October 24, 2007 7:47 PM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Form Designer adding delegates 1) I think we could support += for events - seems to be quite easy to plug into our infrastructure. This is a model how I think it could work: class Form def initialize @click = Event.new end def click puts "TRACE: Click" @click end def click=(x) puts "TRACE: Click=#{x.inspect}" if x.instance_of? MethodHolder then @click.add(x.method) else @click.set(x) end end end class MethodHolder attr :method def initialize(m) @method = m end end class Event def initialize @methods = [] end def +(m) puts "TRACE: +(#{m.inspect}" MethodHolder.new(m) end def call @methods.each { |m| m.call } end def add(m) @methods << m end def set(m) @methods = [m] end end def bar puts 'hello' end def baz puts 'world' end form = Form.new form.click += method(:bar) form.click += method(:baz) form.click.call So if you guys don't have objections, I would add it to my TODO list. Tomas -----Original Message----- From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Dermot Hogan Sent: Wednesday, October 24, 2007 2:47 PM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Form Designer adding delegates > >> 1) IronRuby doesn't like the delegate op assign so I can't click on a >> button > > We only support: > > self.button1.click do |sender, args| > # code > end > > today. > OK. The Form Designer requires that you add a delegate (at least I think it does. I haven't found a simple way supporting the above syntax). Everything else C#, VB, IronPython, etc use the += syntax. >> 2) I really need 'attr_accessor' to define a 'field' (it's commented >> out >> below and I've worked round it, but it's a pain to do). Does it exist >> yet? > > We're working on this - it should be almost doable today. > OK. That's good. >> 3) the references use the full qualified reference name. I can live >> with >> this no problem, but it really should use the short form. Is this on >> the >> road map? > > What I've been doing is assembling these references into a .rb file that > I require - eg require 'winforms'. > I can actually get the fully qualified name from the VS Add References system, so it's not a problem. It's not urgent by any means - it just looks odd. Another minor problem is that I have to use syntax like this: System::Windows::Forms::Application.EnableVisualStyles() System::Windows::Forms::Application.SetCompatibleTextRenderingDefault(false); even with the require 'System::Windows::Forms' Any way of shortening this? Also (a more general question) - will IR compile to a PE? I'm assuming that it runs similarly to MRuby right now (i.e as an interpreter), but I need to build certain assumptions into the things MSBuild knows about. If it's going to compile, then I'll make sure MSBuild knows about it. Don't bend your development plans to accomodate me, btw. I can see that there's plenty to work on before getting the finer points of the Form Designer. Still, I can see impressive progress! Dermot -- Posted via http://www.ruby-forum.com/. _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core From jflam at microsoft.com Wed Oct 24 23:49:23 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Wed, 24 Oct 2007 20:49:23 -0700 Subject: [Ironruby-core] How our libraries stack up against the specs ... In-Reply-To: <6821FE23D98BAC41AC2A91E7970F31AF0A4999CD3A@QUTEXMBX02.qut.edu.au> References: <372109E149E8084D8E6C7D9CFD82E06329D2C10CCE@NA-EXMSG-C115.redmond.corp.microsoft.com> <471FDBB9.7080900@sun.com> <6821FE23D98BAC41AC2A91E7970F31AF0A4999CD3A@QUTEXMBX02.qut.edu.au> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D431A46A@NA-EXMSG-C115.redmond.corp.microsoft.com> Wayne Kelly: > I used the following: > > http://code.fallingsnow.net/svn/rubinius/trunk This is a really old snapshot of their repository. I believe this was the state prior to the migration to GIT. -John From jflam at microsoft.com Wed Oct 24 23:53:13 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Wed, 24 Oct 2007 20:53:13 -0700 Subject: [Ironruby-core] Form Designer adding delegates In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D431A2B9@NA-EXMSG-C115.redmond.corp.microsoft.com> <71f193aed734f04befd7d958139fcf22@ruby-forum.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D431A46D@NA-EXMSG-C115.redmond.corp.microsoft.com> Tomas Matousek: > Actually, Ruby already has an in-place addition operator for arrays: > <<. > > So another way of hooking could be: > > form.click << method(:bar) > > We can alias/rename :add to :push and :remove to :delete for better > consistency with Ruby Array class method names. > > Of course, we can provide all three ways and let the user choose > whatever she likes. For consistency, we should also let the user remove delegates as well via -=. But other than that, it looks good and feels rather Rubyish. -John From jflam at microsoft.com Wed Oct 24 23:56:58 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Wed, 24 Oct 2007 20:56:58 -0700 Subject: [Ironruby-core] Form Designer adding delegates In-Reply-To: <6821FE23D98BAC41AC2A91E7970F31AF0A4999CD4F@QUTEXMBX02.qut.edu.au> References: <372109E149E8084D8E6C7D9CFD82E06329D431A2B9@NA-EXMSG-C115.redmond.corp.microsoft.com> <6821FE23D98BAC41AC2A91E7970F31AF0A4999CD4F@QUTEXMBX02.qut.edu.au> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D431A472@NA-EXMSG-C115.redmond.corp.microsoft.com> Wayne Kelly: > require 'mscorlib.dll' > require 'System.dll' > require 'System.Drawing.dll' > require 'System.Windows.Forms.dll' I'm a bit surprised at the use of assembly filenames vs. assembly names here - what's the resolution order for these assemblies? Do they need to be on the path? > @button1.set_Location(System::Drawing::Point.new(47, 54)) Is there a reason why you're calling the property setter method explicitly rather than using the property name? Or is this not supported in the Ruby.Net method binder? Thanks, -John From w.kelly at qut.edu.au Thu Oct 25 00:29:32 2007 From: w.kelly at qut.edu.au (Wayne Kelly) Date: Thu, 25 Oct 2007 14:29:32 +1000 Subject: [Ironruby-core] Form Designer adding delegates In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D431A472@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D431A2B9@NA-EXMSG-C115.redmond.corp.microsoft.com> <6821FE23D98BAC41AC2A91E7970F31AF0A4999CD4F@QUTEXMBX02.qut.edu.au> <372109E149E8084D8E6C7D9CFD82E06329D431A472@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <6821FE23D98BAC41AC2A91E7970F31AF0A4999CEA2@QUTEXMBX02.qut.edu.au> > -----Original Message----- > From: ironruby-core-bounces at rubyforge.org > [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of > John Lam (DLR) > Sent: Thursday, 25 October 2007 1:57 PM > To: ironruby-core at rubyforge.org > Subject: Re: [Ironruby-core] Form Designer adding delegates > > Wayne Kelly: > > > require 'mscorlib.dll' > > require 'System.dll' > > require 'System.Drawing.dll' > > require 'System.Windows.Forms.dll' > > I'm a bit surprised at the use of assembly filenames vs. > assembly names here Don't all ruby requires expect a file name? We haven't changed the lookup mechanism for loading - we just allowed .NET dlls to also be loaded. > Do they need to be on the path? They need to be on Ruby's path, but we automatically add the Microsoft.NET framework directory to that Path. > > @button1.set_Location(System::Drawing::Point.new(47, 54)) > > Is there a reason why you're calling the property setter > method explicitly rather than using the property name? Or is > this not supported in the Ruby.Net method binder? Our compiler would be happy with it as a property assignment, but we did it that way inside InitializeComponent in order to ensure round tripping. When parsing InitializeComponent and generating the codeDOM representation we need to distinguish between a field, a property and a method call. Statically typed languages are expected to use type information to distinguish. As we have no type information we use syntactic conventions to distinguish between them. Note - these syntactic conventions only apply within the InitializeComponent method which is typically auto-generated. Ruby programmers are free to use the more Rubyish syntax elsewhere in their code. Another issue is statically distinguishing between variables such as Foo and type references such as System::Drawing::Point - we use wrapper/helper methods to distinguish type references (except when invoking a new method where we implicitly assume that the constant is a type reference). Again, this is only necessary inside IntializeComponent. And now a question for your VS integration experts: when adding a new event handler - how do you arrange for the cursor to be automatically placed inside the body of the new method? Cheers, Wayne. From sanxiyn at gmail.com Thu Oct 25 00:44:12 2007 From: sanxiyn at gmail.com (Sanghyeon Seo) Date: Thu, 25 Oct 2007 13:44:12 +0900 Subject: [Ironruby-core] Checked in a Rakefile that should work correctly with Linux filesystem In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D42836A8@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D42836A8@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <5b0248170710242144l2d2b94d6qa0818c05394fd2cc@mail.gmail.com> 2007/10/25, John Lam (DLR) : > Can someone with a Linux box please verify that this works correctly? :compile task depends on :happy task, which cannot find .exe commands. The following patch should correct that. Index: Rakefile =================================================================== --- Rakefile (revision 48) +++ Rakefile (working copy) @@ -597,10 +597,10 @@ puts "***** run the script from within a MERLIN command prompt." end - commands = ['resgen.exe', 'csc.exe'] + commands = ENV['mono'].nil? ? ['resgen.exe', 'csc.exe'] : ['resgen', 'gmcs'] commands += ['tf.exe', 'svn.exe'] if MERLIN_ROOT - paths = ENV['PATH'].split(';').collect { |path| Pathname.new path } + paths = ENV['PATH'].split(File::PATH_SEPARATOR).collect { |path| Pathname.new path } failure = false commands.each do |command| -- Seo Sanghyeon From jflam at microsoft.com Thu Oct 25 00:57:37 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Wed, 24 Oct 2007 21:57:37 -0700 Subject: [Ironruby-core] Checked in a Rakefile that should work correctly with Linux filesystem In-Reply-To: <5b0248170710242144l2d2b94d6qa0818c05394fd2cc@mail.gmail.com> References: <372109E149E8084D8E6C7D9CFD82E06329D42836A8@NA-EXMSG-C115.redmond.corp.microsoft.com> <5b0248170710242144l2d2b94d6qa0818c05394fd2cc@mail.gmail.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D431A48B@NA-EXMSG-C115.redmond.corp.microsoft.com> Sanghyeon Seo: > :compile task depends on :happy task, which cannot find .exe commands. Excellent! I just applied this patch to my local copy. I'll push it out tomorrow along with some other fixes that I'm working on tonight. Other than that, does it compile and run OK on Mono? Thanks, -John From sanxiyn at gmail.com Thu Oct 25 01:18:42 2007 From: sanxiyn at gmail.com (Sanghyeon Seo) Date: Thu, 25 Oct 2007 14:18:42 +0900 Subject: [Ironruby-core] Checked in a Rakefile that should work correctly with Linux filesystem In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D431A48B@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D42836A8@NA-EXMSG-C115.redmond.corp.microsoft.com> <5b0248170710242144l2d2b94d6qa0818c05394fd2cc@mail.gmail.com> <372109E149E8084D8E6C7D9CFD82E06329D431A48B@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <5b0248170710242218g33d10a35g96291cf29146be32@mail.gmail.com> 2007/10/25, John Lam (DLR) : > Excellent! I just applied this patch to my local copy. I'll push it out tomorrow along with some other fixes that I'm working on tonight. > > Other than that, does it compile and run OK on Mono? COMMON_DEBUG_SWITCHES has define:DEBUG;TRACE, but the semicolon is a statement separator in *nix shell. I think you need to quote it. Other than that, Mono 1.2.5 (the latest stable release) will suffer from: https://bugzilla.novell.com/show_bug.cgi?id=325110 https://bugzilla.novell.com/show_bug.cgi?id=325319 https://bugzilla.novell.com/show_bug.cgi?id=333647 Thankfully, all of them are fixed in current SVN. IronRuby compiles and runs OK where OK is defined as evaluating 1+1. I haven't tried tests yet. -- Seo Sanghyeon From charles.nutter at sun.com Thu Oct 25 01:28:58 2007 From: charles.nutter at sun.com (Charles Oliver Nutter) Date: Thu, 25 Oct 2007 00:28:58 -0500 Subject: [Ironruby-core] How our libraries stack up against the specs ... In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D431A46A@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2C10CCE@NA-EXMSG-C115.redmond.corp.microsoft.com> <471FDBB9.7080900@sun.com> <6821FE23D98BAC41AC2A91E7970F31AF0A4999CD3A@QUTEXMBX02.qut.edu.au> <372109E149E8084D8E6C7D9CFD82E06329D431A46A@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <4720299A.5070908@sun.com> John Lam (DLR) wrote: > Wayne Kelly: > >> I used the following: >> >> http://code.fallingsnow.net/svn/rubinius/trunk > > This is a really old snapshot of their repository. I believe this was the state prior to the migration to GIT. I found the current address: http://rubini.us/svn/rubinius/trunk/spec/ This should remain up-to-date with git master. - Charlie From curt at hagenlocher.org Thu Oct 25 02:06:17 2007 From: curt at hagenlocher.org (Curt Hagenlocher) Date: Wed, 24 Oct 2007 23:06:17 -0700 Subject: [Ironruby-core] "Taint" and (internal) copy constructors Message-ID: Currently, the copy constructors for the MutableString class will "lose" the taint flag on the string being copied. One practical consequence of this is that any builtins that store local copies of the MutableString would have to manually fix the taint flag. Wouldn't it be better if the default behavior were to preserve this information? Under CRuby, a = "123" => "123" a.taint => "123" a.clone.tainted? => true a[1,1].tainted? => true Under IronRuby, a = "123" => "123" a.taint => "123" a.clone.tainted? => true a[1,1].tainted? => *false* It appears that RubyUtils.TryCopyObject is the only place where this flag is preserved, and this function is called by both Object.clone and Object.dup. -- Curt Hagenlocher curt at hagenlocher.org -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071024/5842f3f8/attachment.html From Tomas.Matousek at microsoft.com Thu Oct 25 02:15:00 2007 From: Tomas.Matousek at microsoft.com (Tomas Matousek) Date: Wed, 24 Oct 2007 23:15:00 -0700 Subject: [Ironruby-core] "Taint" and (internal) copy constructors In-Reply-To: References: Message-ID: Freezing and tainting are not supported yet. We have only "stubs" for them today. Tomas From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Curt Hagenlocher Sent: Wednesday, October 24, 2007 11:06 PM To: ironruby-core at rubyforge.org Subject: [Ironruby-core] "Taint" and (internal) copy constructors Currently, the copy constructors for the MutableString class will "lose" the taint flag on the string being copied. One practical consequence of this is that any builtins that store local copies of the MutableString would have to manually fix the taint flag. Wouldn't it be better if the default behavior were to preserve this information? Under CRuby, a = "123" => "123" a.taint => "123" a.clone.tainted? => true a[1,1].tainted? => true Under IronRuby, a = "123" => "123" a.taint => "123" a.clone.tainted? => true a[1,1].tainted? => false It appears that RubyUtils.TryCopyObject is the only place where this flag is preserved, and this function is called by both Object.clone and Object.dup. -- Curt Hagenlocher curt at hagenlocher.org -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071024/ddc1ac96/attachment.html From charles.nutter at sun.com Thu Oct 25 05:32:27 2007 From: charles.nutter at sun.com (Charles Oliver Nutter) Date: Thu, 25 Oct 2007 04:32:27 -0500 Subject: [Ironruby-core] "Taint" and (internal) copy constructors In-Reply-To: References: Message-ID: <472062AB.5010803@sun.com> Curt Hagenlocher wrote: > Currently, the copy constructors for the MutableString class will "lose" > the taint flag on the string being copied. One practical consequence of > this is that any builtins that store local copies of the MutableString > would have to manually fix the taint flag. Wouldn't it be better if the > default behavior were to preserve this information? JRuby mimics this behavior, but we've debated just kicking taint and SAFE out the window. They're not provably safe (even in MRI), so they're almost certainly unsafe...and woah, the overhead. Most folks using JRuby now just assume neither work. - Charlie From charles.nutter at sun.com Thu Oct 25 05:45:40 2007 From: charles.nutter at sun.com (Charles Oliver Nutter) Date: Thu, 25 Oct 2007 04:45:40 -0500 Subject: [Ironruby-core] How our libraries stack up against the specs ... In-Reply-To: <4720299A.5070908@sun.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2C10CCE@NA-EXMSG-C115.redmond.corp.microsoft.com> <471FDBB9.7080900@sun.com> <6821FE23D98BAC41AC2A91E7970F31AF0A4999CD3A@QUTEXMBX02.qut.edu.au> <372109E149E8084D8E6C7D9CFD82E06329D431A46A@NA-EXMSG-C115.redmond.corp.microsoft.com> <4720299A.5070908@sun.com> Message-ID: <472065C4.5020807@sun.com> Charles Oliver Nutter wrote: > John Lam (DLR) wrote: >> Wayne Kelly: >> >>> I used the following: >>> >>> http://code.fallingsnow.net/svn/rubinius/trunk >> This is a really old snapshot of their repository. I believe this was the state prior to the migration to GIT. > > I found the current address: > > http://rubini.us/svn/rubinius/trunk/spec/ > > This should remain up-to-date with git master. Blast it all, nevermind. The mirroring process died some time ago and it's never been re-wired. Annoying. - Charlie From bcardiff at gmail.com Thu Oct 25 09:06:31 2007 From: bcardiff at gmail.com (Brian J. Cardiff) Date: Thu, 25 Oct 2007 10:06:31 -0300 Subject: [Ironruby-core] At Revision 46, Microsoft.Scripting.csproj imports SpecSharp.targets Message-ID: <190204680710250606n50d5055eo5256567a92e1a438@mail.gmail.com> Since the SpecSharp.targets its not in trunk VS is unable to load the project. BTW: Hi all! I am trying to keep up to date with this great project and I expect to have some time to collaborate in the following weeks. Cheers, -- Brian J. Cardiff bcardiff(?)gmail.com . -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071025/35a70820/attachment.html From curt at hagenlocher.org Thu Oct 25 11:25:37 2007 From: curt at hagenlocher.org (Curt Hagenlocher) Date: Thu, 25 Oct 2007 08:25:37 -0700 Subject: [Ironruby-core] "Taint" and (internal) copy constructors In-Reply-To: <472062AB.5010803@sun.com> References: <472062AB.5010803@sun.com> Message-ID: On 10/25/07, Charles Oliver Nutter wrote: > > > JRuby mimics this behavior, but we've debated just kicking taint and > SAFE out the window. They're not provably safe (even in MRI), so they're > almost certainly unsafe...and woah, the overhead. > > Most folks using JRuby now just assume neither work. Both taint and frozen have a very 90s Perl feel to them :). Being new to Ruby, I have absolutely no feel for how often they're used (with CRuby). -- Curt Hagenlocher curt at hagenlocher.org -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071025/713e518e/attachment-0001.html From charles.nutter at sun.com Thu Oct 25 11:53:34 2007 From: charles.nutter at sun.com (Charles Oliver Nutter) Date: Thu, 25 Oct 2007 10:53:34 -0500 Subject: [Ironruby-core] "Taint" and (internal) copy constructors In-Reply-To: References: <472062AB.5010803@sun.com> Message-ID: <4720BBFE.50009@sun.com> Curt Hagenlocher wrote: > On 10/25/07, *Charles Oliver Nutter* > wrote: > > > JRuby mimics this behavior, but we've debated just kicking taint and > SAFE out the window. They're not provably safe (even in MRI), so > they're > almost certainly unsafe...and woah, the overhead. > > Most folks using JRuby now just assume neither work. > > > Both taint and frozen have a very 90s Perl feel to them :). Being new > to Ruby, I have absolutely no feel for how often they're used (with CRuby). frozen is another thing entirely, and it has good uses (locking down strings and arrays so they can't be modified, for example). But taint/SAFE are (IMHO) ugly, dated mechanisms for handling security, by sprinkling security checks all over high-level method calls and hoping you don't miss any. Not to mention extensions can ignore tainting completely. Yucko. - Charlie From lists at ruby-forum.com Thu Oct 25 12:07:38 2007 From: lists at ruby-forum.com (Dermot Hogan) Date: Thu, 25 Oct 2007 18:07:38 +0200 Subject: [Ironruby-core] Form Designer adding delegates In-Reply-To: References: <372109E149E8084D8E6C7D9CFD82E06329D431A2B9@NA-EXMSG-C115.redmond.corp.microsoft.com> <71f193aed734f04befd7d958139fcf22@ruby-forum.com> Message-ID: <53e38c6be43e3f102d17f05ef64d6049@ruby-forum.com> Tomas Matousek wrote: > Actually, Ruby already has an in-place addition operator for arrays: <<. > > So another way of hooking could be: > > form.click << method(:bar) > > We can alias/rename :add to :push and :remove to :delete for better > consistency with Ruby Array class method names. > > Of course, we can provide all three ways and let the user choose > whatever she likes. > > Tomas This looks reasonably promising in the short term. I'll try implementing this in Ruby. All I need is some syntax that won't be rejected by IronRuby and that hooks up a delegate type thing to the object. The FormDesigner doesn't care if it's '+=' or '<<' Dermot -- Posted via http://www.ruby-forum.com/. From lists at ruby-forum.com Thu Oct 25 12:11:05 2007 From: lists at ruby-forum.com (Dermot Hogan) Date: Thu, 25 Oct 2007 18:11:05 +0200 Subject: [Ironruby-core] Form Designer adding delegates In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D431A46D@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D431A2B9@NA-EXMSG-C115.redmond.corp.microsoft.com> <71f193aed734f04befd7d958139fcf22@ruby-forum.com> <372109E149E8084D8E6C7D9CFD82E06329D431A46D@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <26df5a1b32a9621d1b1179835f16ddc0@ruby-forum.com> John Lam (DLR) wrote: > > For consistency, we should also let the user remove delegates as well > via -=. But other than that, it looks good and feels rather Rubyish. Thta's actually quite important (though not for the FormDesigner). I do add and remove delegates, fo example, when loading assemblies. Not often, I admit, but I do use them. Dermot -- Posted via http://www.ruby-forum.com/. From curt at hagenlocher.org Thu Oct 25 12:25:21 2007 From: curt at hagenlocher.org (Curt Hagenlocher) Date: Thu, 25 Oct 2007 09:25:21 -0700 Subject: [Ironruby-core] "Taint" and (internal) copy constructors In-Reply-To: <4720BBFE.50009@sun.com> References: <472062AB.5010803@sun.com> <4720BBFE.50009@sun.com> Message-ID: On 10/25/07, Charles Oliver Nutter wrote: > > > frozen is another thing entirely, and it has good uses (locking down > strings and arrays so they can't be modified, for example). Are extensions not able to ignore "frozen", then? Other than strings and arrays, it's hard for me to see a compelling reason for this feature. But then, my thinking is undoubtedly influenced by Python, where strings are immutable and "frozen arrays" are called tuples. :) More to the point of this list, though, how can you decide which features of CRuby to ignore? It can't just be a matter of overhead, because the overhead for "taint" seems to be almost exactly the same as that for "frozen" -- both features require you to keep external bookkeeping information for objects defined outside of Ruby when the feature is used. -- Curt Hagenlocher curt at hagenlocher.org -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071025/77e05962/attachment.html From jflam at microsoft.com Thu Oct 25 12:47:38 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Thu, 25 Oct 2007 09:47:38 -0700 Subject: [Ironruby-core] At Revision 46, Microsoft.Scripting.csproj imports SpecSharp.targets In-Reply-To: <190204680710250606n50d5055eo5256567a92e1a438@mail.gmail.com> References: <190204680710250606n50d5055eo5256567a92e1a438@mail.gmail.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D431A64A@NA-EXMSG-C115.redmond.corp.microsoft.com> Brian J. Cardiff: > Since the SpecSharp.targets its not in trunk VS is unable to load the > project. Ouch. Thanks for the catch. I'll get it into today's update. > BTW: Hi all! I am trying to keep up to date with this great project > and I expect to have some time to collaborate in the following weeks. Looking forward to it! If you feel like contributing, make sure that you sign a contributor agreement: http://ironruby.rubyforge.org/wiki/wiki.pl?ContributingToIronRuby Thanks! -John From lists at ruby-forum.com Thu Oct 25 12:48:44 2007 From: lists at ruby-forum.com (Dermot Hogan) Date: Thu, 25 Oct 2007 18:48:44 +0200 Subject: [Ironruby-core] Form Designer adding delegates In-Reply-To: <6821FE23D98BAC41AC2A91E7970F31AF0A4999CEA2@QUTEXMBX02.qut.edu.au> References: <372109E149E8084D8E6C7D9CFD82E06329D431A2B9@NA-EXMSG-C115.redmond.corp.microsoft.com> <6821FE23D98BAC41AC2A91E7970F31AF0A4999CD4F@QUTEXMBX02.qut.edu.au> <372109E149E8084D8E6C7D9CFD82E06329D431A472@NA-EXMSG-C115.redmond.corp.microsoft.com> <6821FE23D98BAC41AC2A91E7970F31AF0A4999CEA2@QUTEXMBX02.qut.edu.au> Message-ID: Wayne Kelly wrote: >> > @button1.set_Location(System::Drawing::Point.new(47, 54)) >> >> Is there a reason why you're calling the property setter >> method explicitly rather than using the property name? Or is >> this not supported in the Ruby.Net method binder? > > Our compiler would be happy with it as a property assignment, but we did > it that way inside InitializeComponent in order to ensure round > tripping. When parsing InitializeComponent and generating the codeDOM > representation we need to distinguish between a field, a property and a > method call. Statically typed languages are expected to use type > information to distinguish. As we have no type information we use > syntactic conventions to distinguish between them. Note - these > syntactic conventions only apply within the InitializeComponent method > which is typically auto-generated. Ruby programmers are free to use the > more Rubyish syntax elsewhere in their code. > You don't need to do this, I think. You can work out from the context what is a field, a property and a call. I did have some initial trouble distinguishing between a Property (System.Windows.Form.BackColor.Red) and an enum (System.Windows.Form.BorderStyle.Sizable) - but it worked out ok. > Another issue is statically distinguishing between variables such as Foo > and type references such as System::Drawing::Point - we use > wrapper/helper methods to distinguish type references (except when > invoking a new method where we implicitly assume that the constant is a > type reference). Again, this is only necessary inside > IntializeComponent. > I didn't have that problem. But what I did have a problem with was something like this (from a TreeNode control): treeNode3 = System::Windows::Forms::TreeNode.new('Node0', [treeNode1, treeNode2]) Here, the FormDesigner needs to know the type of the array - which Ruby of course doesn't give you. That took a bit of time to get right. > > And now a question for your VS integration experts: when adding a new > event handler - how do you arrange for the cursor to be automatically > placed inside the body of the new method? > I'm sure there are several ways to do this, but this is what I did: 1) I have two files - the form code file and the designer file (as in C#). In the CodeDomProvider, I override the Parse method and *before* I parse the designer file to generate the CodeDom, I scan the form file looking for event handlers. I use regexps to do this - I don't bother Ruby parsing the form file at all. I then build a list containing the names and positions of any event handlers. 2) I then Ruby parse (using Antlr) the designer file and generate the CodeDom from that. When a delegate is required I do something like this: CodeMemberMethod cmm = new CodeMemberMethod(); cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(object), "sender")); cmm.Parameters.Add(new CodeParameterDeclarationExpression(typeof(System.EventArgs), "e")); cmm.Name = eventHandlerName; // let the provider process adding the event handler int line = _provider.AddEventHandler(eventHandlerName); cmm.UserData.Add(typeof(Point), new Point(0, line + 1)); The AddEventHandler method does the business of finding any event handler in the form code, generating it if required (again in the form code - not the designer code) and returning its position. The last bit is the code that lets the FormDesigner know where the event handler is when you double click on the control in the form. Something similar happems when you drop a new control on the form. Splitting the form code from the designer makes life a whole lot simpler and the coding is then clear and unambiguous. And most importantly from my point of view, it's easily maintainable. Dermot -- Posted via http://www.ruby-forum.com/. From jflam at microsoft.com Thu Oct 25 13:07:32 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Thu, 25 Oct 2007 10:07:32 -0700 Subject: [Ironruby-core] Checked in a Rakefile that should work correctly with Linux filesystem In-Reply-To: <5b0248170710242218g33d10a35g96291cf29146be32@mail.gmail.com> References: <372109E149E8084D8E6C7D9CFD82E06329D42836A8@NA-EXMSG-C115.redmond.corp.microsoft.com> <5b0248170710242144l2d2b94d6qa0818c05394fd2cc@mail.gmail.com> <372109E149E8084D8E6C7D9CFD82E06329D431A48B@NA-EXMSG-C115.redmond.corp.microsoft.com> <5b0248170710242218g33d10a35g96291cf29146be32@mail.gmail.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D431A686@NA-EXMSG-C115.redmond.corp.microsoft.com> Sanghyeon Seo: > COMMON_DEBUG_SWITCHES has define:DEBUG;TRACE, but the semicolon is a > statement separator in *nix shell. I think you need to quote it. I'm trying to build IronRuby on my Mac now. Quoting does fix the problem above. > Other than that, Mono 1.2.5 (the latest stable release) will suffer > from: > https://bugzilla.novell.com/show_bug.cgi?id=325110 > https://bugzilla.novell.com/show_bug.cgi?id=325319 > https://bugzilla.novell.com/show_bug.cgi?id=333647 I tried building using a binary redist of Mono for the Mac, and ran into these bugs. I then switched over to the Mono SVN repository and saw a regression - it fails to compile at all with a new compiler error (see below). I just sent an email to Miguel to see if he could look into this for us rather than us trying to figure out what's causing gmcs to fail. > Thankfully, all of them are fixed in current SVN. IronRuby compiles and > runs OK where OK is defined as evaluating 1+1. I haven't tried tests > yet. Interesting that this worked for you though ... Thanks, -John /Users/jflam/dev/ironruby/src/microsoft.scripting/RuntimeHelpers.cs(266,50): error CS0111: A member `Microsoft.Scripting.RuntimeHelpers.CreateSimpleCallSite(Microsoft.Scripting.CodeContext)' is already defined. Rename this member or use different parameter types /Users/jflam/dev/ironruby/src/microsoft.scripting/RuntimeHelpers.cs(262,46): (Location of the symbol related to previous error) /Users/jflam/dev/ironruby/src/microsoft.scripting/RuntimeHelpers.cs(270,54): error CS0111: A member `Microsoft.Scripting.RuntimeHelpers.CreateSimpleCallSite(Microsoft.Scripting.CodeContext)' is already defined. Rename this member or use different parameter types /Users/jflam/dev/ironruby/src/microsoft.scripting/RuntimeHelpers.cs(262,46): (Location of the symbol related to previous error) /Users/jflam/dev/ironruby/src/microsoft.scripting/RuntimeHelpers.cs(274,58): error CS0111: A member `Microsoft.Scripting.RuntimeHelpers.CreateSimpleCallSite(Microsoft.Scripting.CodeContext)' is already defined. Rename this member or use different parameter types /Users/jflam/dev/ironruby/src/microsoft.scripting/RuntimeHelpers.cs(262,46): (Location of the symbol related to previous error) /Users/jflam/dev/ironruby/src/microsoft.scripting/RuntimeHelpers.cs(278,62): error CS0111: A member `Microsoft.Scripting.RuntimeHelpers.CreateSimpleCallSite(Microsoft.Scripting.CodeContext)' is already defined. Rename this member or use different parameter types /Users/jflam/dev/ironruby/src/microsoft.scripting/RuntimeHelpers.cs(262,46): (Location of the symbol related to previous error) Compilation failed: 4 error(s), 0 warnings From m.david at xmlhacker.com Thu Oct 25 13:07:46 2007 From: m.david at xmlhacker.com (M. David Peterson) Date: Thu, 25 Oct 2007 11:07:46 -0600 Subject: [Ironruby-core] How our libraries stack up against the specs ... In-Reply-To: <471FDBB9.7080900@sun.com> References: <372109E149E8084D8E6C7D9CFD82E06329D2C10CCE@NA-EXMSG-C115.redmond.corp.microsoft.com> <471FDBB9.7080900@sun.com> Message-ID: On Wed, 24 Oct 2007 17:56:41 -0600, Charles Oliver Nutter wrote: > There's an SVN mirror somewhere...I forget the location. Ask Evan. http://mdavid.googlecode.com/svn/vendor/ -- /M:D M. David Peterson http://mdavid.name | http://www.oreillynet.com/pub/au/2354 | http://dev.aol.com/blog/3155 From charles.nutter at sun.com Thu Oct 25 13:23:35 2007 From: charles.nutter at sun.com (Charles Oliver Nutter) Date: Thu, 25 Oct 2007 12:23:35 -0500 Subject: [Ironruby-core] "Taint" and (internal) copy constructors In-Reply-To: References: <472062AB.5010803@sun.com> <4720BBFE.50009@sun.com> Message-ID: <4720D117.6010200@sun.com> Curt Hagenlocher wrote: > On 10/25/07, *Charles Oliver Nutter* > wrote: > > > frozen is another thing entirely, and it has good uses (locking down > strings and arrays so they can't be modified, for example). > > > Are extensions not able to ignore "frozen", then? No, extensions can pretty much do anything they want, which is why they suck and why it's nearly impossible for any non-C-based implementation to ever support them. > Other than strings and arrays, it's hard for me to see a compelling > reason for this feature. But then, my thinking is undoubtedly > influenced by Python, where strings are immutable and "frozen arrays" > are called tuples. :) Even .NET and Java collection libraries provide ways to get immutable collections; it's similar to this. But regardless of whether you think it's useful, the important point is below... > More to the point of this list, though, how can you decide which > features of CRuby to ignore? It can't just be a matter of overhead, > because the overhead for "taint" seems to be almost exactly the same as > that for "frozen" -- both features require you to keep external > bookkeeping information for objects defined outside of Ruby when the > feature is used. You can decide what features to ignore once you know what features are needed for existing apps to run. For example...JRuby can run Rails and just about anything else that's pure Ruby, so we've been able to determine that certain optimizations are safe and certain features can be safely "unsupported". It's really, really hard to make that determination before you can run nontrivial apps, but you can learn from others. I'd say the only feature we gave up on early was continuations, and I actually made a serious effort to support them until we discovered how infrequently they were used in the real world. I shall miss my stackless interpreter, slow though it was. - Charlie From lists at ruby-forum.com Thu Oct 25 16:38:56 2007 From: lists at ruby-forum.com (Dermot Hogan) Date: Thu, 25 Oct 2007 22:38:56 +0200 Subject: [Ironruby-core] Delegates (agian) Message-ID: <0218863dffe8a6aff1ee53e57ad01a38@ruby-forum.com> I've been thinking about delegates and IronRuby. After playing around with trying to work with a delegate in Ruby (procs, lambdas and god-knows-what) I've come to the conclusion that delegates have to be supported in a more fundamental way than trying to make a block work as a delegate. First off, I think IR has to support adding and removing delegates via '+=' and '-='. That's how every other .NET language does it (IronPython included). It doesn't seem right to use '<<' because there isn't an equivalent '>>' (though I suppose you could define one). Anyway, you have to be able to remove a delegate as well as add one. Secondly, if you look at the way C# and VB address delegates, they use syntactic kludges to get round the fact that delegates are function pointers and are not to be invoked directly. C# uses the method name with no parentheses and VB uses AddressOf. There isn't really an equivalent of a function pointer in Ruby. The most natural way of doing this, I guess is to use a symbol: x += EventHandler.new (:y) However, this doesn't seem right because a) it won't run and b) a symbol isn't a function pointer. So possibly a better way might be to create a new class 'RubyDelegate' (deriving from Delegate/MulticastDelegate) which takes the object and method name (or symbol) and returns a real .NET CLR delegate: x += EventHandler(RubyDelegate.new (self, "y")) or x += RubyDelegate.new (self, "y") Third: I notice that all the other languages (C# and VB at any rate, I can't speak for things like F#) futz around with special delegate keywords to help as well as fooling around with the invokation syntax. Fourth: Delegates are plumbed into .NET at a pretty deep level. Most people, most of the time, don't see them. But they are there - and I've used them quite a bit in communication systems. It seems to me that you have to recogize them in IronRuby at a similarly primitive level and not try to pretend that a delegate is equivalent to a block. A delegate is a function pointer. A block isn't. Dermot -- Posted via http://www.ruby-forum.com/. From charles.nutter at sun.com Thu Oct 25 17:13:37 2007 From: charles.nutter at sun.com (Charles Oliver Nutter) Date: Thu, 25 Oct 2007 16:13:37 -0500 Subject: [Ironruby-core] Delegates (agian) In-Reply-To: <0218863dffe8a6aff1ee53e57ad01a38@ruby-forum.com> References: <0218863dffe8a6aff1ee53e57ad01a38@ruby-forum.com> Message-ID: <47210701.8080908@sun.com> Dermot Hogan wrote: > I've been thinking about delegates and IronRuby. > > After playing around with trying to work with a delegate in Ruby (procs, > lambdas and god-knows-what) I've come to the conclusion that delegates > have to be supported in a more fundamental way than trying to make a > block work as a delegate. > > First off, I think IR has to support adding and removing delegates via > '+=' and '-='. That's how every other .NET language does it (IronPython > included). It doesn't seem right to use '<<' because there isn't an > equivalent '>>' (though I suppose you could define one). Anyway, you > have to be able to remove a delegate as well as add one. A problem you've missed here is that x += y and x -= y are (always) equivalent in Ruby to x = x + y and x = x - y. Unless + or - mutate the original object, now mutation will occur. Even in the case where they may be attributes: class Foo attr_accessor :a end f = Foo.new f.a = 1 f.a += 2 # equivalent to f.a = f.a + 2 The only way this might be able to work is if you defined + against a delegate to return the full collection of delegates, and then assignment updates the original list... class DelegateList def initialize(*delegates) @delegates = delegates end def +(other) DelegateList.new(other, *@delegates) end end f = Foo.new f.a = DelegateList.new(some_delegate) f.a += some_other_delegate Thoughts? We've had similar questions about how to handle event listener registration in JRuby, though there's no legacy operator syntax to support in our case. - Charlie From curt at hagenlocher.org Thu Oct 25 17:18:44 2007 From: curt at hagenlocher.org (Curt Hagenlocher) Date: Thu, 25 Oct 2007 14:18:44 -0700 Subject: [Ironruby-core] Delegates (agian) In-Reply-To: <47210701.8080908@sun.com> References: <0218863dffe8a6aff1ee53e57ad01a38@ruby-forum.com> <47210701.8080908@sun.com> Message-ID: On 10/25/07, Charles Oliver Nutter wrote: > > > The only way this might be able to work is if you defined + against a > delegate to return the full collection of delegates, and then assignment > updates the original list... This doesn't work for CLR events in the general case because events are opaque that way -- you can't get a list of delegates that have been added to the event. -- Curt Hagenlocher curt at hagenlocher.org -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071025/7558f087/attachment.html From Tomas.Matousek at microsoft.com Thu Oct 25 17:31:12 2007 From: Tomas.Matousek at microsoft.com (Tomas Matousek) Date: Thu, 25 Oct 2007 14:31:12 -0700 Subject: [Ironruby-core] Delegates (agian) In-Reply-To: <0218863dffe8a6aff1ee53e57ad01a38@ruby-forum.com> References: <0218863dffe8a6aff1ee53e57ad01a38@ruby-forum.com> Message-ID: In general, any object that is somehow callable is a "function pointer" in DLR (this includes CLR delegates, CLR events, Ruby proc/lambda/Method, Python functions, JScript functions, etc.). All of them should just work in IronRuby. The main methods that would IronRuby see on a CLR are add, remove and call. Others are just syntactic sugar and aliases (<< is alias for add). << is as right for events as it is for Ruby Array IMO (there is also no method >> on array, it's Array#delete). += -= are a little bit hacky from Ruby's point of view IMO. They are more discoverable for a CLR guys though. So it might be good to support them as well. I don't think we need RubyDelegate, you can write x << method(:y) x << C.instance_method(:y).bind(obj) or x += method(:y) x += C.instance_method(:y).bind(obj) x -= method(:y) if you will. Blocks/procs should also work: x { puts 'on click' } x << lambda { puts 'on click' } Tomas -----Original Message----- From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Dermot Hogan Sent: Thursday, October 25, 2007 1:39 PM To: ironruby-core at rubyforge.org Subject: [Ironruby-core] Delegates (agian) I've been thinking about delegates and IronRuby. After playing around with trying to work with a delegate in Ruby (procs, lambdas and god-knows-what) I've come to the conclusion that delegates have to be supported in a more fundamental way than trying to make a block work as a delegate. First off, I think IR has to support adding and removing delegates via '+=' and '-='. That's how every other .NET language does it (IronPython included). It doesn't seem right to use '<<' because there isn't an equivalent '>>' (though I suppose you could define one). Anyway, you have to be able to remove a delegate as well as add one. Secondly, if you look at the way C# and VB address delegates, they use syntactic kludges to get round the fact that delegates are function pointers and are not to be invoked directly. C# uses the method name with no parentheses and VB uses AddressOf. There isn't really an equivalent of a function pointer in Ruby. The most natural way of doing this, I guess is to use a symbol: x += EventHandler.new (:y) However, this doesn't seem right because a) it won't run and b) a symbol isn't a function pointer. So possibly a better way might be to create a new class 'RubyDelegate' (deriving from Delegate/MulticastDelegate) which takes the object and method name (or symbol) and returns a real .NET CLR delegate: x += EventHandler(RubyDelegate.new (self, "y")) or x += RubyDelegate.new (self, "y") Third: I notice that all the other languages (C# and VB at any rate, I can't speak for things like F#) futz around with special delegate keywords to help as well as fooling around with the invokation syntax. Fourth: Delegates are plumbed into .NET at a pretty deep level. Most people, most of the time, don't see them. But they are there - and I've used them quite a bit in communication systems. It seems to me that you have to recogize them in IronRuby at a similarly primitive level and not try to pretend that a delegate is equivalent to a block. A delegate is a function pointer. A block isn't. Dermot -- Posted via http://www.ruby-forum.com/. _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core From lists at ruby-forum.com Thu Oct 25 17:51:06 2007 From: lists at ruby-forum.com (Dermot Hogan) Date: Thu, 25 Oct 2007 23:51:06 +0200 Subject: [Ironruby-core] Delegates (agian) In-Reply-To: References: <0218863dffe8a6aff1ee53e57ad01a38@ruby-forum.com> Message-ID: <804f3cfb1339697e37957bfa32001ee5@ruby-forum.com> > I don't think we need RubyDelegate, you can write > > x << method(:y) > x << C.instance_method(:y).bind(obj) > > or > > x += method(:y) > x += C.instance_method(:y).bind(obj) > x -= method(:y) > > if you will. > > Blocks/procs should also work: > > x { puts 'on click' } > x << lambda { puts 'on click' } > > Tomas This isn't really what I mean. You need to be able to provide *syntactically* a delegate reference. So in C#, we have x += new EventHandler(mymethod) and in VB (I'm a bit rusty but something like this): x += new EventHandler(AddressOf mymethod) it's not the same as adding a method to an object. The object already *has* the method. What you need to to do is add the *delegate* (a typesafe function pointer) into the delegate chain. I'm not an expert in any way in what you are doing in the DLR, but it doesn't seem to me that this does it. A delegate is a different thing from a method object. 'method' returns a method object which isn't the same as a delegate (an instance of the Delegate class) - at least, I can't add it into the delegate chain with the current version of IR. Are you saying that 'method' will return a delegate? I'm not clear on this at all. Dermot -- Posted via http://www.ruby-forum.com/. From paulo.koch at gmail.com Thu Oct 25 18:09:11 2007 From: paulo.koch at gmail.com (=?UTF-8?Q?Paulo_K=C3=B6ch?=) Date: Thu, 25 Oct 2007 23:09:11 +0100 Subject: [Ironruby-core] Delegates (agian) In-Reply-To: <804f3cfb1339697e37957bfa32001ee5@ruby-forum.com> References: <0218863dffe8a6aff1ee53e57ad01a38@ruby-forum.com> <804f3cfb1339697e37957bfa32001ee5@ruby-forum.com> Message-ID: <18b477210710251509m24553c26q7ef7f5e8f167de2@mail.gmail.com> x << C.instance_method(:y).bind(obj) this piece of code does not add any method to anyone. It just passes C's implementation of method "y" bound to object "obj" as an argument to object "x"'s "<<" method. No method adding, just indirection. On 10/25/07, Dermot Hogan wrote: > > I don't think we need RubyDelegate, you can write > > > > x << method(:y) > > x << C.instance_method(:y).bind(obj) > > > > or > > > > x += method(:y) > > x += C.instance_method(:y).bind(obj) > > x -= method(:y) > > > > if you will. > > > > Blocks/procs should also work: > > > > x { puts 'on click' } > > x << lambda { puts 'on click' } > > > > Tomas > > This isn't really what I mean. You need to be able to provide > *syntactically* a delegate reference. > > So in C#, we have x += new EventHandler(mymethod) > > and in VB (I'm a bit rusty but something like this): > > x += new EventHandler(AddressOf mymethod) > > it's not the same as adding a method to an object. The object already > *has* the method. What you need to to do is add the *delegate* (a > typesafe function pointer) into the delegate chain. > > I'm not an expert in any way in what you are doing in the DLR, but it > doesn't seem to me that this does it. A delegate is a different thing > from a method object. 'method' returns a method object which isn't the > same as a delegate (an instance of the Delegate class) - at least, I > can't add it into the delegate chain with the current version of IR. > > > Are you saying that 'method' will return a delegate? I'm not clear on > this at all. > > > > Dermot > -- > Posted via http://www.ruby-forum.com/. > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > From dinov at exchange.microsoft.com Thu Oct 25 18:11:28 2007 From: dinov at exchange.microsoft.com (Dino Viehland) Date: Thu, 25 Oct 2007 15:11:28 -0700 Subject: [Ironruby-core] Delegates (agian) In-Reply-To: <804f3cfb1339697e37957bfa32001ee5@ruby-forum.com> References: <0218863dffe8a6aff1ee53e57ad01a38@ruby-forum.com> <804f3cfb1339697e37957bfa32001ee5@ruby-forum.com> Message-ID: <7AD436E4270DD54A94238001769C2227D88F6B1D34@DF-GRTDANE-MSG.exchange.corp.microsoft.com> At the DLR level we can basically convert any callable object into a delegate. This is done by creating a dynamic method (that matches the delegates signature) that contains an embedded DynamicSite which performs a CallAction. That call action works through our IDynamicObject implementations (for complex language defined types), through language specific binders (Python wants to make newable-things callable), or through the base binder which provides the implementation for known type-systems (CLR types, COM types in the future, maybe IReflect/IExpando in the future?). So anything can be a delegate (it just might throw at call time)! (you might see 2 of these, I don't think rubyforge liked my e-mail address before) -----Original Message----- From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Dermot Hogan Sent: Thursday, October 25, 2007 2:51 PM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Delegates (agian) > I don't think we need RubyDelegate, you can write > > x << method(:y) > x << C.instance_method(:y).bind(obj) > > or > > x += method(:y) > x += C.instance_method(:y).bind(obj) > x -= method(:y) > > if you will. > > Blocks/procs should also work: > > x { puts 'on click' } > x << lambda { puts 'on click' } > > Tomas This isn't really what I mean. You need to be able to provide *syntactically* a delegate reference. So in C#, we have x += new EventHandler(mymethod) and in VB (I'm a bit rusty but something like this): x += new EventHandler(AddressOf mymethod) it's not the same as adding a method to an object. The object already *has* the method. What you need to to do is add the *delegate* (a typesafe function pointer) into the delegate chain. I'm not an expert in any way in what you are doing in the DLR, but it doesn't seem to me that this does it. A delegate is a different thing from a method object. 'method' returns a method object which isn't the same as a delegate (an instance of the Delegate class) - at least, I can't add it into the delegate chain with the current version of IR. Are you saying that 'method' will return a delegate? I'm not clear on this at all. Dermot -- Posted via http://www.ruby-forum.com/. _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core From lists at ruby-forum.com Thu Oct 25 18:16:21 2007 From: lists at ruby-forum.com (Dermot Hogan) Date: Fri, 26 Oct 2007 00:16:21 +0200 Subject: [Ironruby-core] Delegates (agian) In-Reply-To: <47210701.8080908@sun.com> References: <0218863dffe8a6aff1ee53e57ad01a38@ruby-forum.com> <47210701.8080908@sun.com> Message-ID: <5f36ecb9e512f74c2bc27cf6474aa540@ruby-forum.com> Charles Oliver Nutter wrote: > Dermot Hogan wrote: >> equivalent '>>' (though I suppose you could define one). Anyway, you >> have to be able to remove a delegate as well as add one. > > A problem you've missed here is that x += y and x -= y are (always) > equivalent in Ruby to x = x + y and x = x - y. Unless + or - mutate the > original object, now mutation will occur. > In .NET C# etc, the += and -= for delegates don't really mean the same as they do in other contexts. They means 'add/remove' a delegate into/from the delegate queue. You can't say x = new EventHandler(mymethod) all you can do is add/remove. It's another example of syntactic kluging IMO. It does work well in practise, though. > > Thoughts? We've had similar questions about how to handle event listener > registration in JRuby, though there's no legacy operator syntax to > support in our case. Yes - I suppose so. You still have to add the address of the listener into the system in some way. Similar problem, but I think delegates are a bit trickier - they aren't just function pointers; they carry other information as well. All .NET languages seem to treat them specially. Dermot -- Posted via http://www.ruby-forum.com/. From curt at hagenlocher.org Thu Oct 25 18:22:54 2007 From: curt at hagenlocher.org (Curt Hagenlocher) Date: Thu, 25 Oct 2007 15:22:54 -0700 Subject: [Ironruby-core] Delegates (agian) In-Reply-To: <5f36ecb9e512f74c2bc27cf6474aa540@ruby-forum.com> References: <0218863dffe8a6aff1ee53e57ad01a38@ruby-forum.com> <47210701.8080908@sun.com> <5f36ecb9e512f74c2bc27cf6474aa540@ruby-forum.com> Message-ID: On 10/25/07, Dermot Hogan wrote: > > In .NET C# etc, the += and -= for delegates don't really mean the same > as they do in other contexts. They means 'add/remove' a delegate > into/from the delegate queue. You can't say > > x = new EventHandler(mymethod) > > all you can do is add/remove. It's another example of syntactic kluging > IMO. It does work well in practise, though. This is actually a fundamental property of events on a CLR / IL level. Events are exposed as a pair of functions to add a handler and remove a handler. The reason for this is efficiency; if every Control in a Windows Forms application defined a slot for each of its events, you'd have an immense number of slots defined -- even though most of them would effectively have a value of null. -- Curt Hagenlocher curt at hagenlocher.org -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071025/97fa8bb7/attachment.html From curt at hagenlocher.org Thu Oct 25 18:31:22 2007 From: curt at hagenlocher.org (Curt Hagenlocher) Date: Thu, 25 Oct 2007 15:31:22 -0700 Subject: [Ironruby-core] Delegates (agian) In-Reply-To: <5f36ecb9e512f74c2bc27cf6474aa540@ruby-forum.com> References: <0218863dffe8a6aff1ee53e57ad01a38@ruby-forum.com> <47210701.8080908@sun.com> <5f36ecb9e512f74c2bc27cf6474aa540@ruby-forum.com> Message-ID: On 10/25/07, Dermot Hogan wrote: > > You can't say > > x = new EventHandler(mymethod) I was trying to avoid writing this, but my inner pedant simply won't let go. There's a difference between delegates and events. A delegate is simply a bound function pointer, and it's perfectly legal to do a straightforward assignment as above. An event is basically a published endpoint to which you subscribe and unsubscribe by adding and removing your delegate. The two are obviously related but not the same, and what we seem to be talking about here specifically involves events. I feel much better now. :) -- Curt Hagenlocher curt at hagenlocher.org -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071025/37b292fc/attachment.html From sanxiyn at gmail.com Thu Oct 25 20:36:24 2007 From: sanxiyn at gmail.com (Sanghyeon Seo) Date: Fri, 26 Oct 2007 09:36:24 +0900 Subject: [Ironruby-core] Checked in a Rakefile that should work correctly with Linux filesystem In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D431A686@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D42836A8@NA-EXMSG-C115.redmond.corp.microsoft.com> <5b0248170710242144l2d2b94d6qa0818c05394fd2cc@mail.gmail.com> <372109E149E8084D8E6C7D9CFD82E06329D431A48B@NA-EXMSG-C115.redmond.corp.microsoft.com> <5b0248170710242218g33d10a35g96291cf29146be32@mail.gmail.com> <372109E149E8084D8E6C7D9CFD82E06329D431A686@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <5b0248170710251736r7bed999awdec779d511c7ffdc@mail.gmail.com> 2007/10/26, John Lam (DLR) : > I tried building using a binary redist of Mono for the Mac, and ran into these bugs. I then switched over to the Mono SVN repository and saw a regression - it fails to compile at all with a new compiler error (see below). I just sent an email to Miguel to see if he could look into this for us rather than us trying to figure out what's causing gmcs to fail. > Interesting that this worked for you though ... Yes, it was a very recent regression, and it is now fixed. It did work sometime between 1.2.5 and SVN of yesterday... I updated to SVN r88240 and it's all fine now. -- Seo Sanghyeon From sanxiyn at gmail.com Thu Oct 25 20:40:10 2007 From: sanxiyn at gmail.com (Sanghyeon Seo) Date: Fri, 26 Oct 2007 09:40:10 +0900 Subject: [Ironruby-core] IronRuby on Mono update Message-ID: <5b0248170710251740i1bcc94e5xe7aeb2dd9a3c9634@mail.gmail.com> I updated instructions and patches here: http://sparcs.kaist.ac.kr/~tinuviel/download/IronRuby/ So, the current summary is: 1. Build Mono from SVN (tested r88240) 2. Checkout IronRuby from SVN (tested r50) 3. Apply patch-mono (which fixes Rakefile and includes DLR changes shared with FePy) 4. rake compile mono=1 You don't need NAnt anymore. -- Seo Sanghyeon From jflam at microsoft.com Thu Oct 25 21:15:38 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Thu, 25 Oct 2007 18:15:38 -0700 Subject: [Ironruby-core] Checked in a Rakefile that should work correctly with Linux filesystem In-Reply-To: <5b0248170710251736r7bed999awdec779d511c7ffdc@mail.gmail.com> References: <372109E149E8084D8E6C7D9CFD82E06329D42836A8@NA-EXMSG-C115.redmond.corp.microsoft.com> <5b0248170710242144l2d2b94d6qa0818c05394fd2cc@mail.gmail.com> <372109E149E8084D8E6C7D9CFD82E06329D431A48B@NA-EXMSG-C115.redmond.corp.microsoft.com> <5b0248170710242218g33d10a35g96291cf29146be32@mail.gmail.com> <372109E149E8084D8E6C7D9CFD82E06329D431A686@NA-EXMSG-C115.redmond.corp.microsoft.com> <5b0248170710251736r7bed999awdec779d511c7ffdc@mail.gmail.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D431AA39@NA-EXMSG-C115.redmond.corp.microsoft.com> Sanghyeon Seo: > > Interesting that this worked for you though ... > > Yes, it was a very recent regression, and it is now fixed. It did work > sometime between 1.2.5 and SVN of yesterday... > > I updated to SVN r88240 and it's all fine now. That's great news! I'll update via SVN when I get home (I can't hit svn:// from inside of MSFT on my Mac since we don't have a proxy client for Mac handy). BTW, have you tried running the tests yet? You could try the simpler ones via rake test, or the more adventurous ones via rake specs. -John From olivier.duff at gmail.com Fri Oct 26 02:11:19 2007 From: olivier.duff at gmail.com (olivier dufour) Date: Fri, 26 Oct 2007 08:11:19 +0200 Subject: [Ironruby-core] MS.Scripting Message-ID: Hi, I have a little question about MS.Scripting. I am making the JScript compiler for moonlight and I have used MS.Scripting.dll of silverlight all the time(v2.1). But thanks to the fact that you said that there is version 2.1 for embedding in browser and 2.0. I want to try 2.0 to make a console compiler. I have used the ironruby MS.Scripting as reference to build MS.JScript.Compiler/Runtime dll and I see that the ironruby MS.Scripting is far from the one of Silverlight even in namespace( MS.Scripting.Internal.Astbecome MS.Scripting.Ast for example). What is the plan for it? Is the current version of ironruby is custom or out dated or is it a development version? thanks for any feedback. regards, Olivier Dufour -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071026/85e90e7d/attachment.html From sanxiyn at gmail.com Fri Oct 26 02:24:28 2007 From: sanxiyn at gmail.com (Sanghyeon Seo) Date: Fri, 26 Oct 2007 15:24:28 +0900 Subject: [Ironruby-core] MS.Scripting In-Reply-To: References: Message-ID: <5b0248170710252324g6c518fb3j969321206b2be9ec@mail.gmail.com> 2007/10/26, olivier dufour : > I have used the ironruby MS.Scripting as reference to build > MS.JScript.Compiler/Runtime dll and I see that the ironruby MS.Scripting is > far from the one of Silverlight even in namespace( MS.Scripting.Internal.Ast > become MS.Scripting.Ast for example). What is the plan for it? Is the > current version of ironruby is custom or out dated or is it a development > version? It is the latest development version. -- Seo Sanghyeon From jflam at microsoft.com Fri Oct 26 03:31:50 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Fri, 26 Oct 2007 00:31:50 -0700 Subject: [Ironruby-core] MS.Scripting In-Reply-To: References: Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D431AA8B@NA-EXMSG-C115.redmond.corp.microsoft.com> olivier dufour: > I have a little question about MS.Scripting. > I am making the JScript compiler for moonlight and I have used > MS.Scripting.dll of silverlight all the time(v2.1). > But thanks to the fact that you said that there is version 2.1 for > embedding in browser and 2.0. I want to try 2.0 to make a console > compiler. Glad to see that you're using the DLR! > I have used the ironruby MS.Scripting as reference to build > MS.JScript.Compiler/Runtime dll and I see that the ironruby > MS.Scripting is far from the one of Silverlight even in namespace( > MS.Scripting.Internal.Ast become MS.Scripting.Ast for example). What > is the plan for it? Is the current version of ironruby is custom or > out dated or is it a development version? > thanks for any feedback. The DLR sources are the current development version. The way that our internal (Merlin) repository works is that all of the languages within Microsoft (Python, Ruby, JS and VB) all live in the same repository. This way when we refactor the DLR, we can make changes immediately in the affected languages without forcing them to break. When I sync IronRuby to SVN, I pull the latest sources from the Merlin tree and I extract a subset of those sources (DLR + IronRuby + some tests) into the public IronRuby SVN tree. Hope that helps, -John From jflam at microsoft.com Fri Oct 26 05:05:35 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Fri, 26 Oct 2007 02:05:35 -0700 Subject: [Ironruby-core] FYI Code Review: MutableStringOps and StringScanner Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D431AA91@NA-EXMSG-C115.redmond.corp.microsoft.com> A big thanks to Curt Hagenlocher who submitted some patches for both MutableStringOps and StringScanner! Curt's patch was our first external contribution, and it took a while because our process isn't quite streamlined for this process quite yet. I spent a bunch of time debugging the sync code in my Rakefile since this is the first time that we've pushed changes into our Merlin repository from the outside. Future patches should be much easier. Here's some general comments about the changeset which is going through our SNAP queue tonight. 1) Our current naming convention for tests that will be run automatically via rake test is test_zzz.rb. I'm not happy with this (I'd rather prefer zzz_test.rb) but our existing test infrastructure uses this convention now. 2) If you're submitting a patch, it will be useful to run "rake specs" as well. We currently don't 'count' these specs as official tests since we're failing a high % of them now. However, I suspect it won't be long before we'll make them official (aka your checkin will be rejected if it doesn't pass all specs), so it's a good idea to start running the specs against your code today. 3) Please do a quick pass (CTRL-A, CTRL-K, CTRL-F) over your code before submitting. We use 4 spaces instead of tabs for indentation, and we have open curlies on the same line. VS 2005+ will automatically reformat your code using those conventions. Some specific comments: 1) Curt uncovered a bug in our implementation of Range#each. He correctly delegated his implementation of String#upto to Range#each, but Ruby has bizarre behavior with respect to this range "9".."A". If you iterate over this, it will only return "9", not an in infinite loop like you might expect. 2) If you're implementing any methods in MutableString, I wouldn't spend much time worrying about efficiency. We're going to be rewriting much of the code down the road when we migrate that String type over to a byte array from its current char array implementation today. Emphasize correctness and clarity so that we can make sure that the behavior is correct and compatible with MRI for when we do the rewrite. 3) For non-builtin types like StringScanner, we still need to implement class attributes, and change the behavior of require to 'load' these types on the fly. For the time being, however, it's OK to just pretend these are built-in types until we add this functionality to the language. 4) I think we'll need to beef up the tests for StringScanner in the future to look for more corner cases. We do have code coverage test passes that we do from time to time - perhaps Haibo can fill in here about what our plans are in this area. 5) Once Tomas' latest singleton checkin makes it into the sources (this fixes def obj.method()) definitions, we'll take a harder look at the spec failures in the specs for the String. 6) Ruby does a lot of 'protocol' stuff for things like implicit conversions. It's a good idea to use the Protocol.* methods rather than implementing them each time. The specs do a good job of documenting observable protocols in the libraries, so if you don't follow the protocol, the specs will generally catch and flag it as a failure. Also, make sure that you throw the correct exceptions for things like missing blocks (cf String#upto). Again, the specs will generally catch omissions as well. Other than that, looks good! Thanks again for your contribution! -John From jflam at microsoft.com Fri Oct 26 05:10:32 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Fri, 26 Oct 2007 02:10:32 -0700 Subject: [Ironruby-core] IronRuby on Mono update In-Reply-To: <5b0248170710251740i1bcc94e5xe7aeb2dd9a3c9634@mail.gmail.com> References: <5b0248170710251740i1bcc94e5xe7aeb2dd9a3c9634@mail.gmail.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D431AA92@NA-EXMSG-C115.redmond.corp.microsoft.com> Sanghyeon Seo: > I updated instructions and patches here: > http://sparcs.kaist.ac.kr/~tinuviel/download/IronRuby/ > > So, the current summary is: > 1. Build Mono from SVN (tested r88240) > 2. Checkout IronRuby from SVN (tested r50) > 3. Apply patch-mono (which fixes Rakefile and includes DLR changes > shared with FePy) > 4. rake compile mono=1 > > You don't need NAnt anymore. Thanks for testing this out! I've updated the Rakefile to contain some of your patches. I'm not sure about changing the default settings for the console, though - we may need to conditionally compile that stuff or provide a config switch. I successfully compiled under Mono, and basic things do work. However, we don't run the tests or the specs at all and we run into failure scenarios virtually right away. I'll build a small repro and send over to the Mono folks so that they can investigate the failures in more detail. -John From enicholson at gmail.com Fri Oct 26 11:45:28 2007 From: enicholson at gmail.com (Eric Nicholson) Date: Fri, 26 Oct 2007 11:45:28 -0400 Subject: [Ironruby-core] Implementing the Time class Message-ID: So I was working on File, but that had a few routines which returned Time objects, so I started a sidetrack on that which took a little longer than I expected. I have most of it complete (except for strformat) implemented as an extension to the .net Date/DateTime class. I've also integrated the Rubinius Time specs into the test project with some hiccups. Almost half of the tests are passing, with the bulk of the failures due to the specs use of the "ENV" object to set the time zone before testing out the Time class. Personally I think that monkeying with the system clock isn't a great test idea anyway, and I don't know of a good cross platform way to handle it. So what do you suppose I should do here? * Implement new tests that are more portable (I doubt I have time to work out Rubinius' commit/patch requirements) * Just disable the tests that use ENV * Implement new tests just for IR Thanks! Eric -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071026/34caead9/attachment.html From charles.nutter at sun.com Fri Oct 26 12:54:47 2007 From: charles.nutter at sun.com (Charles Oliver Nutter) Date: Fri, 26 Oct 2007 11:54:47 -0500 Subject: [Ironruby-core] Implementing the Time class In-Reply-To: References: Message-ID: <47221BD7.9030906@sun.com> Eric Nicholson wrote: > So I was working on File, but that had a few routines which returned > Time objects, so I started a sidetrack on that which took a little > longer than I expected. I have most of it complete (except for > strformat) implemented as an extension to the .net Date/DateTime class. > > I've also integrated the Rubinius Time specs into the test project with > some hiccups. Almost half of the tests are passing, with the bulk of > the failures due to the specs use of the "ENV" object to set the time > zone before testing out the Time class. Personally I think that > monkeying with the system clock isn't a great test idea anyway, and I > don't know of a good cross platform way to handle it. > > So what do you suppose I should do here? > * Implement new tests that are more portable (I doubt I have time to > work out Rubinius' commit/patch requirements) > * Just disable the tests that use ENV > * Implement new tests just for IR Please don't implement tests that target a specific implementation, especially for core classes. Spend the time to make the tests work everywhere. For what it's worth, though, ENV is required by *lots* of apps and script in Ruby. You're going to need to have it working anyway. As for time-zone tweakage...anything that's a side effect of setting ENV should probably be modified. You should also talk to the rubinius guys about how to run the specs such that they filter out things IR might never support. - Charlie From lists at ruby-forum.com Fri Oct 26 13:02:20 2007 From: lists at ruby-forum.com (Joe Chung) Date: Fri, 26 Oct 2007 19:02:20 +0200 Subject: [Ironruby-core] Delegates (agian) In-Reply-To: <804f3cfb1339697e37957bfa32001ee5@ruby-forum.com> References: <0218863dffe8a6aff1ee53e57ad01a38@ruby-forum.com> <804f3cfb1339697e37957bfa32001ee5@ruby-forum.com> Message-ID: <141ca179bd83a53a203e457a3c8a3b17@ruby-forum.com> Dermot Hogan wrote: > So in C#, we have x += new EventHandler(mymethod) > > and in VB (I'm a bit rusty but something like this): > > x += new EventHandler(AddressOf mymethod) > The syntax for VB event handlers is AddHandler x.myevent, AddressOf mymethod assuming that the event being handled here is myevent. -- Posted via http://www.ruby-forum.com/. From lists at ruby-forum.com Fri Oct 26 13:18:07 2007 From: lists at ruby-forum.com (Dermot Hogan) Date: Fri, 26 Oct 2007 19:18:07 +0200 Subject: [Ironruby-core] Delegates (agian) In-Reply-To: <141ca179bd83a53a203e457a3c8a3b17@ruby-forum.com> References: <0218863dffe8a6aff1ee53e57ad01a38@ruby-forum.com> <804f3cfb1339697e37957bfa32001ee5@ruby-forum.com> <141ca179bd83a53a203e457a3c8a3b17@ruby-forum.com> Message-ID: <6e46e39474aea895e68faa192b62a3d3@ruby-forum.com> Joe Chung wrote: > The syntax for VB event handlers is > > AddHandler x.myevent, AddressOf mymethod > > assuming that the event being handled here is myevent. Thanks! My VB is rustier than I'd assumed :) Dermot -- Posted via http://www.ruby-forum.com/. From enicholson at gmail.com Fri Oct 26 13:32:14 2007 From: enicholson at gmail.com (Eric Nicholson) Date: Fri, 26 Oct 2007 13:32:14 -0400 Subject: [Ironruby-core] Delegates (agian) In-Reply-To: <141ca179bd83a53a203e457a3c8a3b17@ruby-forum.com> References: <0218863dffe8a6aff1ee53e57ad01a38@ruby-forum.com> <804f3cfb1339697e37957bfa32001ee5@ruby-forum.com> <141ca179bd83a53a203e457a3c8a3b17@ruby-forum.com> Message-ID: I don't know if it's relevant or not, but the VB Windows Forms designer doesn't generate anything like this anyway. It looks like: Private Sub x_myevent() Handles x.myevent End Sub The compiler wires up the delegates. On 10/26/07, Joe Chung wrote: > > Dermot Hogan wrote: > > So in C#, we have x += new EventHandler(mymethod) > > > > and in VB (I'm a bit rusty but something like this): > > > > x += new EventHandler(AddressOf mymethod) > > > The syntax for VB event handlers is > > AddHandler x.myevent, AddressOf mymethod > > assuming that the event being handled here is myevent. > -- > Posted via http://www.ruby-forum.com/. > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071026/58a3eac6/attachment.html From lists at ruby-forum.com Fri Oct 26 13:38:39 2007 From: lists at ruby-forum.com (Dermot Hogan) Date: Fri, 26 Oct 2007 19:38:39 +0200 Subject: [Ironruby-core] Delegates (agian) In-Reply-To: References: <0218863dffe8a6aff1ee53e57ad01a38@ruby-forum.com> <47210701.8080908@sun.com> <5f36ecb9e512f74c2bc27cf6474aa540@ruby-forum.com> Message-ID: Curt Hagenlocher wrote: > On 10/25/07, Dermot Hogan wrote: > > > I was trying to avoid writing this, but my inner pedant simply won't let > go. There's a difference between delegates and events. A delegate is > simply a bound function pointer, and it's perfectly legal to do a > straightforward assignment as above. An event is basically a published > endpoint to which you subscribe and unsubscribe by adding and removing > your > delegate. The two are obviously related but not the same, and what we > seem > to be talking about here specifically involves events. > > I feel much better now. :) Yes. I've lumped them together ... there are two parts to this. First, the add-assignment (which isn't an assignment or an addition, but we'll let that pass). I don't really care whether this is a traditional += or a Ruby like << (which is more logical, I now think) so long as we have a delegate removal operator as well. The second part is the delegate constructor syntax, that is how you pass the name of the event handler itself to the System::EventHandler constructor. All I want is a reasonable way to doing this without involving blocks. I'd be quite happy to settle for this: x << System::EventHandler(self, :y) whatever it is, the arguments have to be acceptable to the .NET System::EventHandler API. What I've been trying to point out is that different languages (VB, C#, IronPython, ...) do this in slightly different ways, but whatever they do, they don't use anything convoluted. However they do it, it's clear what's going on. Dermot -- Posted via http://www.ruby-forum.com/. From enicholson at gmail.com Fri Oct 26 13:59:55 2007 From: enicholson at gmail.com (Eric Nicholson) Date: Fri, 26 Oct 2007 13:59:55 -0400 Subject: [Ironruby-core] Implementing the Time class In-Reply-To: <47221BD7.9030906@sun.com> References: <47221BD7.9030906@sun.com> Message-ID: 23 of the tests fail with MRI/CRuby as well due to the ENV[:TZ] thing, although that number may be higher or lower if you are in a different time zone... I suppose the tests could be rewritten with a lookup table of timezones and test values. The JRuby tests are significantly better with just 2 of 49 tests failing on MRI/CRuby (missing strftime features), but time zones aren't really tested at all. That seems like the most reasonable approach to me: test with gmt for specific dates and localtime for generic "today" type tests. But you will have to trust that the localtime logic is implemented correctly on your system. JRuby tests depend on minirunit right now which doesn't run under IR. It needs at least the IO class implemented, and unfortunately I put my name beside that one on the wiki. Doh! -Eric On 10/26/07, Charles Oliver Nutter < charles.nutter at sun.com> wrote: > > Eric Nicholson wrote: > > So I was working on File, but that had a few routines which returned > > Time objects, so I started a sidetrack on that which took a little > > longer than I expected. I have most of it complete (except for > > strformat) implemented as an extension to the .net Date/DateTime class. > > > > I've also integrated the Rubinius Time specs into the test project with > > some hiccups. Almost half of the tests are passing, with the bulk of > > the failures due to the specs use of the "ENV" object to set the time > > zone before testing out the Time class. Personally I think that > > monkeying with the system clock isn't a great test idea anyway, and I > > don't know of a good cross platform way to handle it. > > > > So what do you suppose I should do here? > > * Implement new tests that are more portable (I doubt I have time to > > work out Rubinius' commit/patch requirements) > > * Just disable the tests that use ENV > > * Implement new tests just for IR > > Please don't implement tests that target a specific implementation, > especially for core classes. Spend the time to make the tests work > everywhere. > > For what it's worth, though, ENV is required by *lots* of apps and > script in Ruby. You're going to need to have it working anyway. As for > time-zone tweakage...anything that's a side effect of setting ENV should > probably be modified. > > You should also talk to the rubinius guys about how to run the specs > such that they filter out things IR might never support. > > - Charlie > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071026/48207389/attachment-0001.html From curt at hagenlocher.org Fri Oct 26 14:15:59 2007 From: curt at hagenlocher.org (Curt Hagenlocher) Date: Fri, 26 Oct 2007 11:15:59 -0700 Subject: [Ironruby-core] Implementing the Time class In-Reply-To: References: <47221BD7.9030906@sun.com> Message-ID: On 10/26/07, Eric Nicholson wrote: > > 23 of the tests fail with MRI/CRuby as well due to the ENV[:TZ] thing, > although that number may be higher or lower if you are in a different time > zone... I suppose the tests could be rewritten with a lookup table of > timezones and test values. Echoing what Charlie said, if ENV["TZ"] is a common-enough convention in Ruby then IronRuby should implement this value. Having said that, the TZ environmental variable is a UNIXism; do these tests pass for CRuby under Windows at all? -- Curt Hagenlocher curt at hagenlocher.org -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071026/8def0be3/attachment.html From enicholson at gmail.com Fri Oct 26 14:20:03 2007 From: enicholson at gmail.com (Eric Nicholson) Date: Fri, 26 Oct 2007 14:20:03 -0400 Subject: [Ironruby-core] Implementing the Time class In-Reply-To: References: <47221BD7.9030906@sun.com> Message-ID: On 10/26/07, Curt Hagenlocher wrote: > > > Having said that, the TZ environmental variable is a UNIXism; do these > tests pass for CRuby under Windows at all? > No. They run without throwing an error, but there is no effect on date processing due to setting ENV[:TZ] on a windows system so the tests that use it all fail unless you are coincidentally in the correct time zone. -Eric -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071026/df47284b/attachment.html From jomes at microsoft.com Fri Oct 26 16:01:38 2007 From: jomes at microsoft.com (John Messerly) Date: Fri, 26 Oct 2007 13:01:38 -0700 Subject: [Ironruby-core] MS.Scripting In-Reply-To: References: Message-ID: <918705E903F4714CB713D89AB5F1857D7130D5117E@NA-EXMSG-C116.redmond.corp.microsoft.com> olivier dufour: > I have a little question about MS.Scripting. > I am making the JScript compiler for moonlight and I have used > MS.Scripting.dll of silverlight all the time(v2.1). > But thanks to the fact that you said that there is version 2.1 for > embedding in browser and 2.0. I want to try 2.0 to make a console > compiler. > I have used the ironruby MS.Scripting as reference to build > MS.JScript.Compiler/Runtime dll and I see that the ironruby > MS.Scripting is far from the one of Silverlight even in namespace( > MS.Scripting.Internal.Ast become MS.Scripting.Ast for example). What is > the plan for it? Is the current version of ironruby is custom or out > dated or is it a development version? > thanks for any feedback. > The version of Microsoft.Scripting.dll in the Silverlight 1.1 alpha is several months old. Since the DLR is under active development, there's been a lot of changes to the API surface area. You probably want to target the current DLR APIs, rather than the older APIs in the Silverlight 1.1 alpha. - John From curt at hagenlocher.org Fri Oct 26 19:12:55 2007 From: curt at hagenlocher.org (Curt Hagenlocher) Date: Fri, 26 Oct 2007 16:12:55 -0700 Subject: [Ironruby-core] Implementing the Time class In-Reply-To: References: <47221BD7.9030906@sun.com> Message-ID: On 10/26/07, Eric Nicholson wrote: > > > No. They run without throwing an error, but there is no effect on date > processing due to setting ENV[:TZ] on a windows system so the tests that use > it all fail unless you are coincidentally in the correct time zone. > Sorry... I just realized you said this in your previous post. I've done enough Googling to see that there are at least some people who expect that setting ENV["TZ"] from within Ruby will affect the values returned by certain of Time's methods -- despite this not working under the standard (?) build for Windows. -- Curt Hagenlocher curt at hagenlocher.org -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071026/cbeec7f2/attachment.html From lists at ruby-forum.com Fri Oct 26 20:43:22 2007 From: lists at ruby-forum.com (Joe Chung) Date: Sat, 27 Oct 2007 02:43:22 +0200 Subject: [Ironruby-core] Delegates (agian) In-Reply-To: References: <0218863dffe8a6aff1ee53e57ad01a38@ruby-forum.com> <804f3cfb1339697e37957bfa32001ee5@ruby-forum.com> <141ca179bd83a53a203e457a3c8a3b17@ruby-forum.com> Message-ID: <9c548dc104efa572b82dd3fc86e5139a@ruby-forum.com> Eric Nicholson wrote: > I don't know if it's relevant or not, but the VB Windows Forms designer > doesn't generate anything like this anyway. It looks like: > > Private Sub x_myevent() Handles x.myevent > End Sub > > The compiler wires up the delegates. Your code is syntactic sugar that generates AddHandler Me.myevent, New EventHandler(AddressOf Me.x_myevent) You can check this out for yourself with Reflector. It is relevant, because here are two examples (within the same language even) of language-specific syntax for event handling delegates. I think it would be okay if IronRuby had Ruby-like syntax for delegates as well. -- Posted via http://www.ruby-forum.com/. From olivier.duff at gmail.com Sat Oct 27 01:11:06 2007 From: olivier.duff at gmail.com (olivier dufour) Date: Sat, 27 Oct 2007 07:11:06 +0200 Subject: [Ironruby-core] MS.Scripting In-Reply-To: <918705E903F4714CB713D89AB5F1857D7130D5117E@NA-EXMSG-C116.redmond.corp.microsoft.com> References: <918705E903F4714CB713D89AB5F1857D7130D5117E@NA-EXMSG-C116.redmond.corp.microsoft.com> Message-ID: OK, many thanks for your answer. I will use the ironruby or ironpython library! 2007/10/26, John Messerly : > > olivier dufour: > > > I have a little question about MS.Scripting. > > I am making the JScript compiler for moonlight and I have used > > MS.Scripting.dll of silverlight all the time(v2.1). > > But thanks to the fact that you said that there is version 2.1 for > > embedding in browser and 2.0. I want to try 2.0 to make a console > > compiler. > > I have used the ironruby MS.Scripting as reference to build > > MS.JScript.Compiler/Runtime dll and I see that the ironruby > > MS.Scripting is far from the one of Silverlight even in namespace( > > MS.Scripting.Internal.Ast become MS.Scripting.Ast for example). What is > > the plan for it? Is the current version of ironruby is custom or out > > dated or is it a development version? > > thanks for any feedback. > > > > The version of Microsoft.Scripting.dll in the Silverlight 1.1 alpha is > several months old. Since the DLR is under active development, there's been > a lot of changes to the API surface area. You probably want to target the > current DLR APIs, rather than the older APIs in the Silverlight 1.1 alpha. > > - John > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071027/a081ad53/attachment.html From charles.nutter at sun.com Sat Oct 27 01:40:55 2007 From: charles.nutter at sun.com (Charles Oliver Nutter) Date: Sat, 27 Oct 2007 00:40:55 -0500 Subject: [Ironruby-core] Implementing the Time class In-Reply-To: References: <47221BD7.9030906@sun.com> Message-ID: <4722CF67.4040206@sun.com> Eric Nicholson wrote: > > On 10/26/07, *Curt Hagenlocher* > wrote: > > > Having said that, the TZ environmental variable is a UNIXism; do > these tests pass for CRuby under Windows at all? > > > No. They run without throwing an error, but there is no effect on date > processing due to setting ENV[:TZ] on a windows system so the tests that > use it all fail unless you are coincidentally in the correct time zone. That's one issue with the Rubinius specs; nobody's developing Rubinius on Windows, so those tests are probably *never* being run there. On JRuby, I know we have at least one core dev on Windows, but we're not a whole lot better. The community helps though, at least for reporting lots of Windows bugs none of us want to fix. - Charlie From lists at ruby-forum.com Sat Oct 27 17:18:59 2007 From: lists at ruby-forum.com (Frank Aurich) Date: Sat, 27 Oct 2007 23:18:59 +0200 Subject: [Ironruby-core] Hiccup with WPF/Button events Message-ID: <458436cb6deda5c198ca722c2cfe1494@ruby-forum.com> Hi there, I finally found the time to play around with IronRuby today, so I compiled the latest build and tried some of the example code out there. When extending some WPF examples though, I ran into a problem with Buttons and their assigned events, which looks like a bug to me. I basically created a simple WPF Window and added several items to it, including 2 buttons. Each button has its own event block. Unfortunately, only one of the event blocks gets triggered, no matter which button I press. I put together some example code here: http://pastebin.ca/751924 I've looked over the my code several times and can't make out any problem with it. What am I doing wrong? Am I even doing anything wrong at all? Thanks for taking a look! -- Posted via http://www.ruby-forum.com/. From curt at hagenlocher.org Sat Oct 27 17:40:47 2007 From: curt at hagenlocher.org (Curt Hagenlocher) Date: Sat, 27 Oct 2007 14:40:47 -0700 Subject: [Ironruby-core] Hiccup with WPF/Button events In-Reply-To: <458436cb6deda5c198ca722c2cfe1494@ruby-forum.com> References: <458436cb6deda5c198ca722c2cfe1494@ruby-forum.com> Message-ID: On 10/27/07, Frank Aurich wrote: > > I basically created a simple WPF Window and added several items to it, > including 2 buttons. Each button has its own event block. > Unfortunately, only one of the event blocks gets triggered, no matter > which button I press. Interesting. I can reproduce this when I run from a file but not when I interactively type the text. -- Curt Hagenlocher curt at hagenlocher.org -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071027/c60cd508/attachment-0001.html From curt at hagenlocher.org Sat Oct 27 19:28:05 2007 From: curt at hagenlocher.org (Curt Hagenlocher) Date: Sat, 27 Oct 2007 16:28:05 -0700 Subject: [Ironruby-core] Hiccup with WPF/Button events In-Reply-To: <458436cb6deda5c198ca722c2cfe1494@ruby-forum.com> References: <458436cb6deda5c198ca722c2cfe1494@ruby-forum.com> Message-ID: On 10/27/07, Frank Aurich wrote: > > > I basically created a simple WPF Window and added several items to it, > including 2 buttons. Each button has its own event block. > Unfortunately, only one of the event blocks gets triggered, no matter > which button I press. In RubyActionBinder.HookEvent is the following code: rule.SetTarget(rule.MakeReturn(wiringContext.LanguageContext.Binder, Ast.SimpleCallHelper(rule.Parameters[0], addMethod, Ast.CodeBlockReference(handler, eventInfo.EventHandlerType)))); The rule is subsequently cached so that all handlers added to System.Windows.Controls.Button.Click will get the same rule. The rule is only parameterized by target event -- not by code block -- which means that subsequent code generation results in the same code block getting attached to the event. -- Curt Hagenlocher curt at hagenlocher.org -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071027/b9b32e6f/attachment.html From curt at hagenlocher.org Sun Oct 28 00:03:04 2007 From: curt at hagenlocher.org (Curt Hagenlocher) Date: Sat, 27 Oct 2007 21:03:04 -0700 Subject: [Ironruby-core] Range Message-ID: http://hagenlocher.org/software/Range.diff.txt This patch fixes Range.to_s to correctly show ... instead of .. for exclusive ranges. It adds the functions "step" and "hash". It adds the aliases "eql?" for "==" and "include?" and "member?" for "===". It merges the implementation of "first" and "begin" and of "last" and "end". All the changes incorporate tests. -- Curt Hagenlocher curt at hagenlocher.org -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071027/2018c5e2/attachment.html From lists at ruby-forum.com Sun Oct 28 06:12:26 2007 From: lists at ruby-forum.com (Erez Tal) Date: Sun, 28 Oct 2007 11:12:26 +0100 Subject: [Ironruby-core] At Revision 46, Microsoft.Scripting.csproj imports SpecS In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D431A64A@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <190204680710250606n50d5055eo5256567a92e1a438@mail.gmail.com> <372109E149E8084D8E6C7D9CFD82E06329D431A64A@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: John Lam (DLR) wrote: > Brian J. Cardiff: > >> Since the SpecSharp.targets its not in trunk VS is unable to load the >> project. > Is this resolved yet? I'm using revision 53 and having the same problem. -- Posted via http://www.ruby-forum.com/. From lists at ruby-forum.com Sun Oct 28 12:37:07 2007 From: lists at ruby-forum.com (Joe Chung) Date: Sun, 28 Oct 2007 17:37:07 +0100 Subject: [Ironruby-core] At Revision 46, Microsoft.Scripting.csproj imports SpecS In-Reply-To: References: <190204680710250606n50d5055eo5256567a92e1a438@mail.gmail.com> <372109E149E8084D8E6C7D9CFD82E06329D431A64A@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: <79ebf23e0edc32108b3f9fd3b85c21e4@ruby-forum.com> Erez Tal wrote: > John Lam (DLR) wrote: >> Brian J. Cardiff: >> >>> Since the SpecSharp.targets its not in trunk VS is unable to load the >>> project. >> > > Is this resolved yet? > > I'm using revision 53 and having the same problem. Until they resolve this, you can work around this by removing the following lines (the Spec# references) from the Microsoft.Scripting C# project. -- Posted via http://www.ruby-forum.com/. From sanxiyn at gmail.com Sun Oct 28 22:30:02 2007 From: sanxiyn at gmail.com (Sanghyeon Seo) Date: Mon, 29 Oct 2007 11:30:02 +0900 Subject: [Ironruby-core] Detecting Mono path Message-ID: <5b0248170710281930m919755dx94d5d04aff36ab3c@mail.gmail.com> The official way to detect path to Mono runtime is to run pkg-config. The following patch should resolve TODO. Index: Rakefile =================================================================== --- Rakefile (revision 53) +++ Rakefile (working copy) @@ -32,7 +32,8 @@ if ENV['mono'].nil? FRAMEWORK_DIR = Pathname.new(ENV['windir'].dup) + 'Microsoft.NET' + 'Framework' + 'v2.0.50727' else - FRAMEWORK_DIR = Pathname.new('/usr/local/lib/mono/2.0') # TODO: get mono path from ENV + libdir = IO.popen('pkg-config --variable=libdir mono').read.strip + FRAMEWORK_DIR = Pathname.new(libdir) + 'mono' + '2.0' end CS_COMPILER = ENV['mono'].nil? ? 'csc' : 'gmcs' -- Seo Sanghyeon From lists at ruby-forum.com Mon Oct 29 02:12:00 2007 From: lists at ruby-forum.com (Erez Tal) Date: Mon, 29 Oct 2007 07:12:00 +0100 Subject: [Ironruby-core] At Revision 46, Microsoft.Scripting.csproj imports SpecS In-Reply-To: <79ebf23e0edc32108b3f9fd3b85c21e4@ruby-forum.com> References: <190204680710250606n50d5055eo5256567a92e1a438@mail.gmail.com> <372109E149E8084D8E6C7D9CFD82E06329D431A64A@NA-EXMSG-C115.redmond.corp.microsoft.com> <79ebf23e0edc32108b3f9fd3b85c21e4@ruby-forum.com> Message-ID: <980190e8ba2ae87c97cc7157326aab7a@ruby-forum.com> Joe Chung wrote: > Erez Tal wrote: >> John Lam (DLR) wrote: >>> Brian J. Cardiff: >>> >>>> Since the SpecSharp.targets its not in trunk VS is unable to load the >>>> project. >>> >> >> Is this resolved yet? >> >> I'm using revision 53 and having the same problem. > > Until they resolve this, you can work around this by removing the > following lines (the Spec# references) from the Microsoft.Scripting C# > project. > > > Condition="'$(SpecSharpVerify)' == 'true'" /> Thanks, Worked like a charm. -- Posted via http://www.ruby-forum.com/. From lists at ruby-forum.com Mon Oct 29 09:02:54 2007 From: lists at ruby-forum.com (Frank Aurich) Date: Mon, 29 Oct 2007 14:02:54 +0100 Subject: [Ironruby-core] Hiccup with WPF/Button events In-Reply-To: References: <458436cb6deda5c198ca722c2cfe1494@ruby-forum.com> Message-ID: <84a93e16dad9dc8e409afd42df117260@ruby-forum.com> Curt Hagenlocher wrote: > > In RubyActionBinder.HookEvent is the following code: > > rule.SetTarget(rule.MakeReturn(wiringContext.LanguageContext.Binder, > Ast.SimpleCallHelper(rule.Parameters[0], addMethod, > Ast.CodeBlockReference(handler, eventInfo.EventHandlerType)))); > > The rule is subsequently cached so that all handlers added to > System.Windows.Controls.Button.Click will get the same rule. The rule > is > only parameterized by target event -- not by code block -- which means > that > subsequent code generation results in the same code block getting > attached > to the event. But how come it works in the interactive console but not when executed from a file? -- Posted via http://www.ruby-forum.com/. From enicholson at gmail.com Mon Oct 29 09:12:57 2007 From: enicholson at gmail.com (Eric Nicholson) Date: Mon, 29 Oct 2007 09:12:57 -0400 Subject: [Ironruby-core] Anyone going to RubyConf Message-ID: So who's going to RubyConf in Charlotte, NC on Friday? I'd love to meet some of the people on the list if you are going to be around, and hear about what projects you are getting into. Want to meet up for a beer/soda one evening? Cheers! -Eric -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071029/2a06ad4d/attachment.html From blowmage at gmail.com Mon Oct 29 16:45:37 2007 From: blowmage at gmail.com (Mike Moore) Date: Mon, 29 Oct 2007 14:45:37 -0600 Subject: [Ironruby-core] Anyone going to RubyConf In-Reply-To: References: Message-ID: I'll be there. On 10/29/07, Eric Nicholson wrote: > > So who's going to RubyConf in Charlotte, NC on Friday? I'd love to meet > some of the people on the list if you are going to be around, and hear about > what projects you are getting into. > > Want to meet up for a beer/soda one evening? > > Cheers! > -Eric > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071029/43d0ac12/attachment.html From jflam at microsoft.com Mon Oct 29 18:20:11 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Mon, 29 Oct 2007 15:20:11 -0700 Subject: [Ironruby-core] Anyone going to RubyConf In-Reply-To: References: Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D43DCF9B@NA-EXMSG-C115.redmond.corp.microsoft.com> Mike Moore: > I'll be there. > > > On 10/29/07, Eric Nicholson wrote: > > So who's going to RubyConf in Charlotte, NC on Friday? I'd love to > meet some of the people on the list if you are going to be around, and > hear about what projects you are getting into. > > Want to meet up for a beer/soda one evening? > > Cheers! > -Eric Would be great to get together with folks. I'll be there along with Tomas and John Messerly. Right now Friday or Saturday would work. My Thursday night dance card is already full :( -John From jflam at microsoft.com Mon Oct 29 18:24:03 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Mon, 29 Oct 2007 15:24:03 -0700 Subject: [Ironruby-core] Hiccup with WPF/Button events In-Reply-To: <84a93e16dad9dc8e409afd42df117260@ruby-forum.com> References: <458436cb6deda5c198ca722c2cfe1494@ruby-forum.com> <84a93e16dad9dc8e409afd42df117260@ruby-forum.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D43DCFA1@NA-EXMSG-C115.redmond.corp.microsoft.com> Frank Aurich: > But how come it works in the interactive console but not when executed > from a file? We're trying to track down the cause of this, but we know that we're not building the correct rules for all cases in our ActionBinder. It's likely related to this, but we're not sure right now. Thanks, -John From jflam at microsoft.com Mon Oct 29 18:26:15 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Mon, 29 Oct 2007 15:26:15 -0700 Subject: [Ironruby-core] At Revision 46, Microsoft.Scripting.csproj imports SpecS In-Reply-To: <79ebf23e0edc32108b3f9fd3b85c21e4@ruby-forum.com> References: <190204680710250606n50d5055eo5256567a92e1a438@mail.gmail.com> <372109E149E8084D8E6C7D9CFD82E06329D431A64A@NA-EXMSG-C115.redmond.corp.microsoft.com> <79ebf23e0edc32108b3f9fd3b85c21e4@ruby-forum.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D43DCFA7@NA-EXMSG-C115.redmond.corp.microsoft.com> Joe Chung: > Until they resolve this, you can work around this by removing the > following lines (the Spec# references) from the Microsoft.Scripting C# > project. > > > Condition="'$(SpecSharpVerify)' == 'true'" /> Thanks for posting this, Joe. Resolving this properly requires adding a new feature to the Rakefile and I'm running around getting things together for RubyConf right now. -John From sanxiyn at gmail.com Mon Oct 29 23:38:42 2007 From: sanxiyn at gmail.com (Sanghyeon Seo) Date: Tue, 30 Oct 2007 12:38:42 +0900 Subject: [Ironruby-core] Case sensitivity Message-ID: <5b0248170710292038s779ad9fch686aa1168be6b818@mail.gmail.com> There are still some places in IronRuby that depends on case insensitive file system. 1. :compile_testhost task generates IronRubyTestHost.exe, but :test_compiler task runs ironrubytesthost.exe. 2. test_*.rb requires util/simple_test.rb, but SVN has Util directory instead. 3. mspec.rb requires builtin/string, etc, but SVN has Builtin/String directory instead. test_dir.rb tries to chdir to C:/... I can comment it out for the time being. -- Seo Sanghyeon From jflam at microsoft.com Tue Oct 30 01:01:21 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Mon, 29 Oct 2007 22:01:21 -0700 Subject: [Ironruby-core] Range In-Reply-To: References: Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D43DD122@NA-EXMSG-C115.redmond.corp.microsoft.com> Curt Hagenlocher: > http://hagenlocher.org/software/Range.diff.txt > > This patch fixes Range.to_s to correctly show ... instead of .. for > exclusive ranges. > It adds the functions "step" and "hash". > It adds the aliases "eql?" for "==" and "include?" and "member?" for > "===". > It merges the implementation of "first" and "begin" and of "last" and > "end". > > All the changes incorporate tests. Great! Thanks for sending this in! Will review and send feedback before we take off for RubyConf in a couple of days. Thanks! -John From jflam at microsoft.com Tue Oct 30 01:04:44 2007 From: jflam at microsoft.com (John Lam (DLR)) Date: Mon, 29 Oct 2007 22:04:44 -0700 Subject: [Ironruby-core] Case sensitivity In-Reply-To: <5b0248170710292038s779ad9fch686aa1168be6b818@mail.gmail.com> References: <5b0248170710292038s779ad9fch686aa1168be6b818@mail.gmail.com> Message-ID: <372109E149E8084D8E6C7D9CFD82E06329D43DD123@NA-EXMSG-C115.redmond.corp.microsoft.com> Sanghyeon Seo: > There are still some places in IronRuby that depends on case > insensitive file system. > > 1. :compile_testhost task generates IronRubyTestHost.exe, but > :test_compiler task runs ironrubytesthost.exe. > 2. test_*.rb requires util/simple_test.rb, but SVN has Util directory > instead. > 3. mspec.rb requires builtin/string, etc, but SVN has Builtin/String > directory instead. > > test_dir.rb tries to chdir to C:/... I can comment it out for the time > being. Thanks for ferreting out these bugs and sending in the Mono patch, Seo! I need to fix the Rakefile yet again, to deal with the missing specs.targets file but I'm running low on cycles getting ready for RubyConf in a few days. We really wanted to build IronRuby on Mono but Miguel's recommending that we punt on the build side of things and just run our assemblies directly on Mono for the time being. It looks like the compiler's in not so great shape regression wise as they add LINQ support. So there might be a bit of delay getting these changes into SVN, but they will get in. Thanks! -John From enicholson at gmail.com Wed Oct 31 09:04:03 2007 From: enicholson at gmail.com (Eric Nicholson) Date: Wed, 31 Oct 2007 09:04:03 -0400 Subject: [Ironruby-core] Anyone going to RubyConf In-Reply-To: <372109E149E8084D8E6C7D9CFD82E06329D43DCF9B@NA-EXMSG-C115.redmond.corp.microsoft.com> References: <372109E149E8084D8E6C7D9CFD82E06329D43DCF9B@NA-EXMSG-C115.redmond.corp.microsoft.com> Message-ID: So maybe Saturday night? That way John gets the big presentation out of the way ahead of time. I'll try to find a good spot close to the hotel. See you guys in a couple days! Eric On 10/29/07, John Lam (DLR) wrote: > > Mike Moore: > > > I'll be there. > > > > > > On 10/29/07, Eric Nicholson wrote: > > > > So who's going to RubyConf in Charlotte, NC on Friday? I'd love > to > > meet some of the people on the list if you are going to be around, and > > hear about what projects you are getting into. > > > > Want to meet up for a beer/soda one evening? > > > > Cheers! > > -Eric > > Would be great to get together with folks. I'll be there along with Tomas > and John Messerly. Right now Friday or Saturday would work. My Thursday > night dance card is already full :( > > -John > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20071031/1b325df4/attachment.html From lists at ruby-forum.com Wed Oct 31 14:13:07 2007 From: lists at ruby-forum.com (Huw Collingbourne) Date: Wed, 31 Oct 2007 19:13:07 +0100 Subject: [Ironruby-core] IronRuby Visual Form Designer (preview) Message-ID: I've just put online a short walkthrough demo of our form designer for IronRuby. I thought people might be interested to take a look... http://www.sapphiresteel.com/IronRuby-Visual-Form-Designer best wishes Huw -- Posted via http://www.ruby-forum.com/.