From: Rick DeNatale Date: 2009-12-21T13:16:15+09:00 Subject: [ruby-core:27258] Re: [Feature #2509] Recursive freezing? On Sun, Dec 20, 2009 at 11:02 PM, Shyouhei Urabe wrote: > Issue #2509 has been updated by Shyouhei Urabe. > > >> It would be very nice if there was an easy way to freeze recursively arrays, hashes, etc... > > The difficult part is those "etc". �Imagine how can you freeze a lambda and its "everything"? > > �irb(main):001:0> a = 0 > �=> 0 > �irb(main):002:0> p = lambda { p a }.freeze > �=> # > �irb(main):003:0> p.frozen? > �=> true > �irb(main):004:0> a = 1 > �=> 1 > �irb(main):005:0> p.call > �1 > �=> nil > �irb(main):006:0> > The other danger to consider is where does 'everything' end. This made me think of Ice Nine from Kurt Vonnegut's Cat's Cradle http://en.wikipedia.org/wiki/Ice-nine -- Rick DeNatale Blog: http://talklikeaduck.denhaven2.com/ Twitter: http://twitter.com/RickDeNatale WWR: http://www.workingwithrails.com/person/9021-rick-denatale LinkedIn: http://www.linkedin.com/in/rickdenatale