[#32009] merging nokogiri to ext/ — Aaron Patterson <aaron@...>
I would like to merge nokogiri to ext for the 1.9.3 release. I spoke to
Hello,
Hi,
On Sep 4, 2010, at 3:19 PM, Benoit Daloze wrote:
On Sat, Sep 4, 2010 at 4:30 PM, James Edward Gray II
On Sun, Sep 5, 2010 at 9:19 PM, <brabuhr@gmail.com> wrote:
On Sep 5, 2010, at 12:28 PM, Giuseppe Bilotta wrote:
On Mon, Sep 06, 2010 at 05:02:09AM +0900, Joshua Ballanco wrote:
> Supposedly there are REXML tests that are maintained outside of Ruby,
Hello,
Hi,
2010/9/3 NARUSE, Yui <naruse@airemix.jp>:
On Fri, Sep 03, 2010 at 04:27:07PM +0900, NARUSE, Yui wrote:
Hi,
On Sun, Sep 05, 2010 at 12:17:03AM +0900, Yusuke ENDOH wrote:
Hi,
On Fri, Sep 03, 2010 at 02:34:09PM +0900, NARUSE, Yui wrote:
Hi,
Currently, we're discussing three different topics:
On Thu, Sep 09, 2010 at 01:40:34AM +0900, Yusuke ENDOH wrote:
Hello,
Hi,
On Thu, Sep 09, 2010 at 12:33:07PM +0900, Yusuke ENDOH wrote:
Hi,
On Thu, Sep 09, 2010 at 10:13:31PM +0900, Yusuke ENDOH wrote:
As an alternate approach:
2010/9/10 James Cox <james@imaj.es>:
[#32056] [Ruby 1.8-Bug#3788][Open] URI cannot parse IPv6 addresses propertly — Adam Majer <redmine@...>
Bug #3788: URI cannot parse IPv6 addresses propertly
Issue #3788 has been updated by Adam Majer.
2010/9/8 Adam Majer <redmine@ruby-lang.org>:
[#32110] Ruby 2.0 Wiki/Wish-list? — Joshua Ballanco <jballanc@...>
Hi all,
2010/9/8 Joshua Ballanco <jballanc@gmail.com>:
On Sep 7, 2010, at 5:21 PM, NARUSE, Yui wrote:
Hi,
On Sep 8, 2010, at 12:37 AM, Yukihiro Matsumoto wrote:
Hi,
On Sep 8, 2010, at 2:00 AM, Yukihiro Matsumoto wrote:
Hi,
> -- "def" returns a lambda instead of nil
> So, for example, a few things I've wanted for a long time:
Hi,
On Thu, Sep 9, 2010 at 4:20 AM, "Martin J. Dürst"
I really miss those features:
[#32135] [Ruby-Bug#3802][Open] freeaddrinfo not found in WS2_32.dll — Thomas Volkmar Worm <redmine@...>
Bug #3802: freeaddrinfo not found in WS2_32.dll
Issue #3802 has been updated by Usaku NAKAMURA.
Hi,
Hello,
On Tue, Oct 12, 2010 at 11:44 PM, U.Nakamura <usa@garbagecollect.jp> wrote:
2010/10/13 Luis Lavena <luislavena@gmail.com>:
[#32154] Making custom_lambda() work — Magnus Holm <judofyr@...>
A tiny suggestion for how we could make it possible to call lambdas
On Wed, Sep 8, 2010 at 18:21, Magnus Holm <judofyr@gmail.com> wrote:
On Wed, Sep 8, 2010 at 18:57, Nikolai Weibull <now@bitwi.se> wrote:
[#32156] Can we convert the standard library to gems? — James Edward Gray II <james@...>
Taken from the bundle Nokogiri thread:
On 2010-09-09 01:45:43 +0900, James Edward Gray II wrote:
On Sep 8, 2010, at 12:03 PM, Marcus Rueckert wrote:
On 2010-09-09 02:54:26 +0900, James Edward Gray II wrote:
On Sep 8, 2010, at 3:26 PM, Marcus Rueckert wrote:
On 2010-09-09 06:11:15 +0900, James Edward Gray II wrote:
On Thu, Sep 09, 2010 at 05:26:54AM +0900, Marcus Rueckert wrote:
On 10/09/10 at 02:41 +0900, Aaron Patterson wrote:
On Fri, Sep 10, 2010 at 1:54 AM, Lucas Nussbaum
ok, this is not exactly on topic, but I'm using Debian and Ubuntu a
Hi Elise,
Hi,
On Thu, Sep 09, 2010 at 02:06:50AM +0900, Yusuke ENDOH wrote:
Hi,
I'm off today so sorry if I missed some mails.
Urabe,
(2010/09/10 23:48), James Cox wrote:
I'm at an airport back to my home so in short,
On Sun, Sep 12, 2010 at 6:51 AM, Urabe Shyouhei <shyouhei@ruby-lang.org> wrote:
(2010/09/13 3:54), James Cox wrote:
On Tue, Sep 14, 2010 at 12:37 PM, Urabe Shyouhei <shyouhei@ruby-lang.org> wrote:
How difficult to make myself understood in English.
On Wed, Sep 15, 2010 at 1:43 AM, Urabe Shyouhei <shyouhei@ruby-lang.org> wrote:
Hi,
On Wed, Sep 15, 2010 at 12:07 PM, Yusuke ENDOH <mame@tsg.ne.jp> wrote:
On 2010-09-16 01:42:39 +0900, James Cox wrote:
On Wed, Sep 15, 2010 at 1:35 PM, Marcus Rueckert <darix@opensu.se> wrote:
On 2010-09-16 03:36:56 +0900, James Cox wrote:
On Wednesday, September 15, 2010, Marcus Rueckert <darix@opensu.se> wrote:
On 16/09/10 at 11:02 +0900, James Cox wrote:
On Thu, Sep 16, 2010 at 1:59 AM, Lucas Nussbaum
On Thu, Sep 16, 2010 at 10:41 AM, James Tucker <jftucker@gmail.com> wrote:
On 2010-09-16 03:36:56 +0900, James Cox wrote:
On Thu, Sep 16, 2010 at 11:44 AM, Marcus Rueckert <darix@opensu.se> wrote:
On Wed, Sep 8, 2010 at 10:45 AM, James Edward Gray II
On Thu, Sep 9, 2010 at 1:41 PM, Roger Pack <rogerdpack2@gmail.com> wrote:
[#32165] [Ruby 1.9-Bug#3805][Open] Ruby generated gem specifications for bundled projects are incorrect — Luis Lavena <redmine@...>
Bug #3805: Ruby generated gem specifications for bundled projects are incorrect
[#32200] Ruby 2.0 Wish-list? — Rocky Bernstein <rockyb@...>
Any plans for error messages in languages other than English?
[#32248] Replacing stdlib Date with C version — Jeremy Evans <code@...>
I've recently been working on a replacement for the stdlib Date class,
Hi,
On 09/10 07:23, Nobuyoshi Nakada wrote:
Hi,
[#32351] Cross-compilation bugs and seek for help — Luis Lavena <luislavena@...>
Hello,
It might be off topic though I have to mention this anyway. This is not for
[#32353] [Ruby 1.9-Bug#3825][Open] ENV.delete raise Exception on Windows — Heesob Park <redmine@...>
Bug #3825: ENV.delete raise Exception on Windows
[#32453] Why doesn’t Enumerable define a #last method? — Nikolai Weibull <now@...>
Hi!
On 17 September 2010 12:19, Nikolai Weibull <now@bitwi.se> wrote:
(2010/09/17 19:19), Nikolai Weibull wrote:
On Fri, Sep 17, 2010 at 13:00, Urabe Shyouhei <shyouhei@ruby-lang.org> wrote:
[#32454] [Ruby 1.9-Feature#3845][Open] "in" infix operator — Yusuke Endoh <redmine@...>
Feature #3845: "in" infix operator
On 17 September 2010 12:30, Yusuke Endoh <redmine@ruby-lang.org> wrote:
Hi,
On Wed, Sep 22, 2010 at 1:48 AM, Yusuke ENDOH <mame@tsg.ne.jp> wrote:
Hi,
Hello Yusuke,
[#32465] [Ruby-Feature#3848][Open] Using http basic authentication for FTP with Open URI — Jérémy Lecour <redmine@...>
Feature #3848: Using http basic authentication for FTP with Open URI
On Sep 17, 2010, at 2:02 PM, J駻駑y Lecour wrote:
On Sat, Sep 18, 2010 at 13:19, James Edward Gray II
On Sep 26, 2010, at 8:44 PM, mathew wrote:
On Sun, Sep 26, 2010 at 20:57, James Edward Gray II
[#32469] ruby.lib vs VC++ — Phlip <phlip2005@...>
Here's a nice sample program to illustrate my problem:
[#32478] [Ruby-Feature#3851][Open] Ruby 1.9.2p0 crash on filename with '[' — Jon Lambert <redmine@...>
Feature #3851: Ruby 1.9.2p0 crash on filename with '['
[#32506] [Ruby 1.9-Bug#3863][Open] [BUG] unknown type 0x22 (0xc given) — Jay Borenstein <redmine@...>
Bug #3863: [BUG] unknown type 0x22 (0xc given)
[#32529] [Ruby 1.9-Bug#3869][Open] Logger#log does not handle or escape new-line characters. — Hal Brodigan <redmine@...>
Bug #3869: Logger#log does not handle or escape new-line characters.
[#32565] RUBY_PLATFORM on MinGW64 (was: List of possible casting issues under LLP64) — wanabe <s.wanabe@...>
Hello,
On Sat, Sep 25, 2010 at 7:52 PM, wanabe <s.wanabe@gmail.com> wrote:
[#32585] Proposal for Optional Static Typing for Ruby — Martin Pilkington <pilky@...>
Hi,
Hi
Hi,
Hi Matz
Martin,
Hi,
On Sep 28, 2010, at 12:35 PM, Loren Segal wrote:
On Sep 28, 2010, at 2:47 PM, Loren Segal wrote:
Hi Loren, Joshua
Hi All,
It strikes me that much of the premise behind this thread is misguided as it overlooks the importance of meta-programming in developing any Ruby program of substantive size. Where a Java or C++ programmer might write a factory method to create instances of a class and spend much of their effort enumerating types explicitly, it's not unusual in Ruby to write meta-programs which create a variety of class and method definitions on request to create or repurpose object instances for the task at hand.
Eleanor,
On 29 Sep 2010, at 16:03, Loren Segal wrote:
Hi Ellie,
Hi,
On Sep 29, 2010, at 12:33 AM, Bill Kelly wrote:
[#32614] Long lines in mails sent from Mail.app (Was: Re: Parameter and Return Interface Specification) — Nikolai Weibull <now@...>
On Tue, Sep 28, 2010 at 14:20, Asher <asher@ridiculouspower.com> wrote:
[#32634] [Ruby 1.9-Bug#3889][Open] Incorrectly detected i686-w64-mingw32 as x64-mingw — Luis Lavena <redmine@...>
Bug #3889: Incorrectly detected i686-w64-mingw32 as x64-mingw
Issue #3889 has been updated by Usaku NAKAMURA.
Issue #3889 has been updated by Shyouhei Urabe.
On Tue, Oct 05, 2010 at 02:03:23PM +0900, Shyouhei Urabe wrote:
Issue #3889 has been updated by Luis Lavena.
[ruby-core:32587] Re: Proposal for Optional Static Typing for Ruby
Hi Jim
The type checking also can apply to return types, so if it knows that what is returned from Array.new is an array, then it can tell that x and y are arrays. As for mixins and singletons, these would require some smarts on the parts of any tools. These tools would have to know about various ruby idioms and features, so when it sees "def y.bark" it would know that y now responds to the bark method. As for mixins, this would entirely depend upon the source file for the mixin and the class using the mixin being available so that the bits being added and who is including it are known. Given that Ruby is interpreted this shouldn't be too big an issue. The only real issue comes with the classes that are implemented in straight C in the Ruby core library, but there are various possible solutions to this.
Just to be clear, such tools would be independent of adding the syntax to ruby and so could be developed on their own timescale and may not even be included as part of the default ruby package.
Thanks
Martin
On 27 Sep 2010, at 2:46PM, Jim Freeze wrote:
> Hi
>
> This sounds interesting, but appears to only provide 'type' checking on args. Since Ruby objects can have mixins and singletons, method checking would not work. Consider the case below, where x and y are Arrays, can this type checking help me enforce #bark on Array?
>
> x = Array.new
> y = Array.new
> def y.bark
> "bark"
> end
>
> p y.bark
> p y.class
>
>
> On Mon, Sep 27, 2010 at 6:58 AM, Martin Pilkington <pilky@mcubedsw.com> wrote:
> Hi,
>
> I know this is my first post on this list and that I'm relatively new to the Ruby community, and that this can be a somewhat controversial topic (as I've found by asking about it on the #ruby-lang channel).
>
> First off, I want to explain who I am. I've been an Objective-C developer for the past 6 years on the Mac and iOS and have used various languages such as PHP, Python, Java etc. In the past year I've been trying to get into Ruby. After several false starts where I've simply not had time I've managed to make some pretty good progress. I love Ruby's functionality and how dynamic it is, as it is very close to how I've worked the past 6 years with my Objective-C development. As with any language there are some things that I want to see in other languages (symbols, mixins, almost any character in method names etc) and some things I would like to see brought from other languages.
>
> I give this suggestion, not because I don't want to do things the "ruby" way, but because I genuinely believe that it can help make ruby better, by aiding in the development of tools that in turn aid developers in writing code faster and with fewer mistakes.
>
>
> If any of you have used Objective-C, you will have likely encountered two things. In terms of objects it is duck typed, yet it also offers static typing. Now there are many differing opinions on static typing. Some believe everything should be statically typed and to do otherwise is to allow for errors in your code. Some believe everything should be duck typed and that with careful coding and testing you can have lots of flexibility with few, if any errors. To a very large degree I am in the latter camp. However, I also see the benefits of static typing and how it can help developers explicitly state assumptions and as such help developers test those assumptions.
>
> For those who haven't used Objective-C, I'll give a quick overview of how it handles typing. Due to its C heritage it is largely statically, but weakly typed. If you use any C types then you obviously need to type them as int, float etc. Objective-C adds a few other types to this, but the key one is the id type. The id type essentially means "anything that is an object". The reason this exists is because you can have non-object types, so there needs to be differentiation. In a sense, in Ruby everything is of the data type "object", and so there is no need to explicitly state this.
>
> But Objective-C also has optional static typing for objects. This is used by the compiler and other tools to perform checks and warn you if something may be wrong. It is thrown away afterwards and doesn't exist in the runtime. Much like Ruby, the only way to find out the type of an object at runtime is to ask it for its class. If you don't want to use this you can just write everything as id and treat id almost as a keyword for declaring a variable, sort of like var in javascript.
>
> So why should Ruby get this? Well the best way to answer that is to describe some of things that languages with some degree of static typing have. The first off is pre-runtime checking of code. Have you misspelt a method or a variable? Did you call a method on an object but forget to implement it? These things can be warned of before you run your code, and they can also be run over your entire code. Related to this is general static analysis, where while not only checking for syntax errors, it can also check for common bugs and inform you about code paths that are never run, either because they aren't needed and you haven't yet removed them or because you're not doing something correctly.
>
> Then you have editing tools such as refactoring and autocomplete. Refactoring can be much more reliable if it knows what types it is dealing with. If you wanted to rename a method for example, there may be similarly named methods on multiple classes which are called throughout your code, but you only want to rename the calls on instances of your object. And autocomplete becomes more than filtering a list of method names that have the same prefix as what you have currently typed, if it knows the class of the object you're calling the method on then it can severely narrow that down, and often provide you the correct result first time, meaning less typing.
>
>
> There were some questions that were asked on #ruby-lang and I thought I would answer them here as you may also have the same questions:
>
> 1. What if I don't want typing?
> The idea would be that this is completely optional, like much of Ruby's syntax. In Ruby if you don't want () around your method arguments you don't need them, if you do you can add them in. In this case, if you want to write these types you can do, if not then you don't. You can also use typing up until the point where it gets in the way, at which point you ignore it. Much like with Objective-C, except the general object type is implied by default in Ruby.
>
> 2. Why not just use Diamondback Ruby or Mirah or some other similar system?
> These are interesting projects, but they have downsides. For one, I want to use Ruby and all of the APIs that come with it. Rather than an entirely new language and runtime, I'm talking about adding one thing to the language grammar. I also don't want to add any sort of runtime checking. Code would run exactly the same, as type information would be discarded when the code is compiled, but it would allow for useful information for other tools at development time. Lastly, I'd like to see it as a full language construct rather than comments.
>
> 3. Why not use comments?
> It could be done via comments, but then a standard comment format has to be required and it is putting language data into what should be documentation. By doing this as a language feature it sets a standard way of writing them and keeps code separate from comments.
>
> 4. What is the point given that there is no full compilation before hand?
> If all you do is write code and run it, none. While this is often how people write small scripts, it isn't how people write applications. They also have test suites that they run against it their application and text editors and IDEs that they use to code this. The benefit is that the type information can be used to create tools that run some tests for you and help you write code. To give an example from elsewhere in life, when things are constructed in remote places, such as dams or wind turbines, roads need to be built up to them. They aren't actually part of the construction, but they're needed to help the tools such as diggers, cranes and workers get there quickly and safely.
>
> 5. What help is it if you can choose not to use it when static typing gets in the way?
> Yes, in cases where you don't use the typing then there is limited help from auto complete or refactoring or static analysis. Autocomplete would default to offering a basic filtered list, static analysis could take a guess but may be wrong and refactoring may have to resort to asking you to confirm. However, you find that the times that static analysis really gets in the way are relatively few. Just because 5% of the time something doesn't work doesn't mean that it may not be well worth it for the 95% of the time it can.
>
> 6. How would you implement it in the language?
> This is the trickiest part: what does the syntax look like. As someone pointed out in #ruby-lang, C style typing is out as 'String foo = "bar"' is another way of writing 'String(foo = "bar")'. I have come up with an idea for the syntax, which from what I can tell wouldn't clash with any existing syntax. I demonstrate it below by creating a variable and defining a method (note that you would only have to type a variable once):
>
> <Integer> my_integer = "42".to_i
>
> def <Integer> to_i(<Integer> base = 10)
> end
>
> Now the above would be absolutely no different at runtime to the Ruby today of:
>
> my_integer = "42".to_i
>
> def to_i(base = 10)
> end
>
> If you wanted you could mix and match:
>
> my_integer = "42".to_i
>
> def <Integer> to_i(<Integer> base = 10)
> end
>
> And to give an example of where static typing gets in the way, take returning the first object of an array. The array can hold any objects so you can't know the type but the first method generally takes an integer argument, so could be defined as:
>
> def first(<Integer> n)
> end
>
> So any tool can check the input is in fact an integer, but there is no return type given so it assumes it can be any type. Now in cases like this it can be combined with a variable with a type, so while the tools can't say what you're assigning is the correct type of object, they can work on the assumption that it is the type of object you said and so it can make sure that you aren't doing anything 'wrong' with that object later on. For example:
>
> <Array> my_array = ["foo", "bar", "baz"] #Can check the assignment of myArray
> <String> my_string = my_array.first #Can check that myArray responds to first but not that it returns a string
> my_string.map {|item| item.do_something} #As we are assuming aString is in fact a string, we can tell it may not respond to map (given the nature of message sending we can't be 100% sure, but in the vast majority of occasions it will be the case) and warn the user
>
> Of course, this is just my suggestion for the syntax, there are others out there who have different ideas for a type syntax for ruby and there may be others on this list.
>
>
> A final question some of you may be thinking, but which wasn't asked on #ruby-lang:
>
> 7. Do you have a vested interest?
> Yes. I want to invest time in learning Ruby so that I can write software with it. I've not got masses of experience with it yet, but I know already it is as fun to use as my current staple language, Objective-C. There's also that I want to invest time in becoming part of a community that to some degree has wildly differing opinions on software development to what I'm used to, so hopefully some of those opinions will rub off on me and I can apply what I think makes sense to coding elsewhere. Finally, if I'm going to invest time in a platform then I want to be able to invest in great tools, whether that means buying and/or learning existing ones, or writing new ones myself. It is this last point which is why I'm writing this email as I believe what I've proposed could help me or others create these great tools.
>
>
> Hopefully I've at least given you something to think about. If you do have any questions I'd be happy to answer them. And thanks for spending your time reading this.
>
> Martin Pilkington
>
>
>
> --
> Jim Freeze