[#14696] Inconsistency in rescuability of "return" — Charles Oliver Nutter <charles.nutter@...>

Why can you not rescue return, break, etc when they are within

21 messages 2008/01/02
[#14699] Re: Inconsistency in rescuability of "return" — Gary Wright <gwtmp01@...> 2008/01/02

[#14738] Enumerable#zip Needs Love — James Gray <james@...>

The community has been building a Ruby 1.9 compatibility tip list on

15 messages 2008/01/03
[#14755] Re: Enumerable#zip Needs Love — Martin Duerst <duerst@...> 2008/01/04

Hello James,

[#14772] Manual Memory Management — Pramukta Kumar <prak@...>

I was thinking it would be nice to be able to free large objects at

36 messages 2008/01/04
[#14788] Re: Manual Memory Management — Marcin Raczkowski <mailing.mr@...> 2008/01/05

I would only like to add that RMgick for example provides free method to

[#14824] Re: Manual Memory Management — MenTaLguY <mental@...> 2008/01/07

On Sat, 5 Jan 2008 15:49:30 +0900, Marcin Raczkowski <mailing.mr@gmail.com> wrote:

[#14825] Re: Manual Memory Management — "Evan Weaver" <evan@...> 2008/01/07

Python supports 'del reference', which decrements the reference

[#14838] Re: Manual Memory Management — Marcin Raczkowski <mailing.mr@...> 2008/01/08

Evan Weaver wrote:

[#14911] Draft of some pages about encoding in Ruby 1.9 — Dave Thomas <dave@...>

Folks:

24 messages 2008/01/10

[#14976] nil encoding as synonym for binary encoding — David Flanagan <david@...>

The following just appeared in the ChangeLog

37 messages 2008/01/11
[#14977] Re: nil encoding as synonym for binary encoding — Yukihiro Matsumoto <matz@...> 2008/01/11

Hi,

[#14978] Re: nil encoding as synonym for binary encoding — Dave Thomas <dave@...> 2008/01/11

[#14979] Re: nil encoding as synonym for binary encoding — David Flanagan <david@...> 2008/01/11

Dave Thomas wrote:

[#14993] Re: nil encoding as synonym for binary encoding — Dave Thomas <dave@...> 2008/01/11

[#14980] Re: nil encoding as synonym for binary encoding — Gary Wright <gwtmp01@...> 2008/01/11

[#14981] Re: nil encoding as synonym for binary encoding — Yukihiro Matsumoto <matz@...> 2008/01/11

Hi,

[#14995] Re: nil encoding as synonym for binary encoding — David Flanagan <david@...> 2008/01/11

Yukihiro Matsumoto writes:

[#15050] how to "borrow" the RDoc::RubyParser and HTMLGenerator — Phlip <phlip2005@...>

Core Rubies:

17 messages 2008/01/13
[#15060] Re: how to "borrow" the RDoc::RubyParser and HTMLGenerator — Eric Hodel <drbrain@...7.net> 2008/01/14

On Jan 13, 2008, at 08:54 AM, Phlip wrote:

[#15062] Re: how to "borrow" the RDoc::RubyParser and HTMLGenerator — Phlip <phlip2005@...> 2008/01/14

Eric Hodel wrote:

[#15073] Re: how to "borrow" the RDoc::RubyParser and HTMLGenerator — Eric Hodel <drbrain@...7.net> 2008/01/14

On Jan 13, 2008, at 20:35 PM, Phlip wrote:

[#15185] Friendlier methods to compare two Time objects — "Jim Cropcho" <jim.cropcho@...>

Hello,

10 messages 2008/01/22

[#15194] Can large scale projects be successful implemented around a dynamic programming language? — Jordi <mumismo@...>

A good article I have found (may have been linked by slashdot, don't know)

8 messages 2008/01/24

[#15248] Symbol#empty? ? — "David A. Black" <dblack@...>

Hi --

24 messages 2008/01/28
[#15250] Re: Symbol#empty? ? — Yukihiro Matsumoto <matz@...> 2008/01/28

Hi,

Re: Symbol#empty? ?

From: Gary Wright <gwtmp01@...>
Date: 2008-01-28 05:40:03 UTC
List: ruby-core #15258
On Jan 27, 2008, at 10:50 PM, Dave Thomas wrote:
> So, if there's still room for debate, I'd personally be on the side  
> of returning to the old
> Symbols are symbols implementation and losing empty?


I think that any sequence of bytes, including the empty sequence  
should be mappable to a symbol.  To me, the the Symbol class is a  
guaranteed one-to-one mapping from a string instance to object.
The symbol literal notation and String#to_sym make the mapping easily  
accessible. Making an exception for the empty string seems to be  
unnecessary.

Regarding Symbol#empty?, let me throw out a related idea, the idea of  
a 'zero' object(s) of a class. Of course the numeric classes already  
supports this:

    0.zero?      #true
    1.zero?      #false
    (0.0).zero?  #true
    3.nonzero?   #true

I think incorporating the more expansive idea of 'zero' as found in  
abstract algebra and category theory might be useful in Ruby.  There  
are zeroish elements in other classes:

    "" from String
    [] from Array
    {} from Hash
    nil from NilClass

One way to view an object as the 'zero object' is the way it behaves  
with respect to addition:

     3 + 0      # 3
     0 + 3      # 3

     "" + str   # str2 where str2 == str
     str + ""   # str3 where str3 == str

     [] + ary   # ary2 where ary2 == ary
     ary + []   # ary3 where ary3 == ary

It would be nice if this worked for Hash also:

     def m(options={})
        options = Defaults + options
        #...
     end

Rail uses the predicate blank? to get at this idea of 'zero-ness'.   
Why not just use zero?

This pattern is also a nice way to incorporate the null object  
pattern into user defined classes.   The null object returns true for  
zero? while any other objects return false. This allows test for  
zero? to automatically be true for nil also:

     def m(arg)
        if arg.zero?
           #
        end
     end

So back to Symbols.  Symbols don't really support any operations but  
it seems like the idea of identifying the symbol with an empty name  
as the 'zero' symbol has a nice symmetry to it:

             Zero Object(s)
NilClass    nil
Symbol      :""
String      ""
FalseClass  false
TrueClass   (no zero object)
Array       []

So I guess I'm saying that Symbol#empty? might not make sense while  
Symbol#zero? might be a nice way identify the 'zeroish' symbol.

Gary Wright



In This Thread