I guess if you want to save some key strokes and you use symbols as keys you can use the new syntax.
The other cool/different thing about Hash in 1.9 is that it preserves order.
irb(main):001:0> hash={:"symbol with space" => nil}
=> {:"symbol with space"=>nil}
irb(main):002:0> hash={"symbol with space": nil}
SyntaxError: (irb):2: syntax error, unexpected ':', expecting tASSOC
hash={"symbol with space": nil}
^
from /usr/bin/irb1.9.1:12:in `<main>'
irb(main):003:0> hash={"symbolwithoutspace": nil}
SyntaxError: (irb):3: syntax error, unexpected ':', expecting tASSOC
hash={"symbolwithoutspace": nil}
^
from /usr/bin/irb1.9.1:12:in `<main>'
irb(main):004:0> hash={symbolwithoutspace: nil}
=> {:symbolwithoutspace=>nil}
irb(main):005:0> hash={symbol with space: nil}
SyntaxError: (irb):5: syntax error, unexpected tIDENTIFIER, expecting keyword_do or '{' or '('
hash={symbol with space: nil}The new syntax works only with conventional symbols (no quotes), not with any other key type, so no integers, strings, objects etc. For everything else, you can fall back to the original syntax. You can even mix then if you really feel the need (yech!)
That said, for almost all use cases hashes use symbols as keys, and for these cases the new syntax is much cleaner and I'm glad to see it
#main_page{:"data-role" => 'page'} #main_page{"data-role" => 'page'}
`data-` attributes are also special-cased: #main_page{data: {role: 'page'}} #main_page(data-role='page')
[1] http://haml-lang.com/docs/yardoc/file.HAML_REFERENCE.html#ht...I'd say there are more vanilla symbol hash uses by number, but the most interesting and powerful things you can do with hashes don't involve symbols for keys, imho.