I've just merged to ClojureScript master the new property lookup
syntax as outlined in the ticket
http://dev.clojure.org/jira/browse/CLJS-89
and the design page at
http://dev.clojure.org/display/design/Unified+ClojureScript+and+Clojure+field+access+syntax.
This is a potentially *breaking* change to existing ClojureScript
apps. To help mitigate moving to the new syntax, the ClojureScript
compiler will print a warning any time it encounters a dot call in the
form of (.foo obj) or (. obj foo). This is a temporary warning and
due for removal sometime before ClojureScript comes out of alpha. For
those curious, the change is summarized as follows:
(.p o) ;=> a method call
(.m o <args>) ;=> a method call
(. o p) ;=> a method call
(. o p <args>) ;=> a method call
(. o (m)) ;=> a method call
(. o (m <args>)) ;=> a method call
(. o -p) ;=> a property access
(.-p o) ;=> a property access
ClojureScript will now stick strictly to these semantics. As an added
bonus the latest Clojure alpha release (1.4.0-alpha4) contains a *non-
breaking* addition to Clojure to allow the same kind of property-
specific access syntax. Nothing else regarding Clojure's dot interop
form has changed.
I will take it on myself to update the ClojureScript One source code
to see if there are any further complications to migration that I
might have missed. I will report my findings in this thread.
Thanks