Ruby 3x3: Matz, Koichi, and Tenderlove on the Future of Ruby Performance
I could be reading the tone of the interview wrong, but it seems like there's a weird sort of anti-intellectualism bent to the Ruby community.In the middle, there's this exchange:  Jonan: So you would just use pointers to point to those immutable objects?
  Koichi: Yes. Also, I want to note that immutable doesn't mean frozen object.
  Frozen objects can contain mutable objects. So I mean those immutable objects which only contain children
  that point to immutable objects.
  Jonan: So if we had a nested hash, some large data structure, we would need to
  freeze every object in that in order to reference it this way. Is there a facility in Ruby right now to do that?
  I think I would have to iterate over that structure freezing objects manually today.
  Matz: Not yet.
  Jonan: So there might be?
  Matz: We need to provide something to freeze these objects.
  Aaron: A deep freeze.
  Matz: Yes, deep freeze.
  Jonan: Deep Freeze is the name of this feature maybe? I think that would be an excellent name for it.

So yes, they all agree that Ruby's current 'frozen' feature doesn't grant real immutability guarantees.But then at the end...  Jonan: OK. So then, a friend asked me when I described guilds, he writes a lot of Haskell,
  he asked me when we are we going to have "real immutable objects", and I don't quite know what he means.
  Is there some distinction between an immutable object in Ruby and an
  immutable object in a different language that’s important?
  Matz: For example in Haskell, everything is immutable, it’s that kind of language, everything is immutable from day one.
  Jonan: Yes.
  Matz: But in Ruby we have mutable objects, so under that kind of situation we need a whole new construct.
  Aaron: Frozen objects should really be immutable. It's really immutable.
  Jonan: OK.
  Aaron: I don't...
  Jonan: You don't know what this person who air-quoted me "real immutable" was saying?
  Aaron: Yeah I don't know why they would say "real immutable".
  Jonan: Should I unfriend him on Facebook? I think I'm going to after this.
  Matz: At least tell him if you want "real immutable" go ahead and use Haskell.
  Jonan: I think that's an excellent option, yeah.
  Aaron: You just to need to say to them quit "Haskelling" me.
  Jonan: I should, I’ll just tell them to quit "Haskelling" me about immutable objects. 

I get that they are joking a bit, but do they really not understand that the Haskeller is referring to the lack of deeply immutable objects? The hostility seems a bit weird to me, given that languages like Haskell push forward our understanding of the usefulness of things like immutability, which then get absorbed into other languages (like Ruby, clearly).