Not to pick on anybody but Common Lisp is not scheme!
((slot-value list 'push) new-element) is not Common Lisp. If anything it should be (funcall (slot-value list 'push) new-element)
I'm not sure that (slot-value ...) is even a good idea, because JavaScript's objects can have new slots added willy nilly.
How about two new forms? One for the current use of slot-value, and one for method calls?
How about (object-path a b c d) for a.b.c.d?
Of course, don't call it object-path but something really short, like 'o'. Then we wouldn't need a reader macro :-)
Someone suggested using @ for method calls. Is that available already?
[...]
I've been tasked with re-adding the shorthand syntax to parenscript [0] in the symbol-syntax if you need these features. Right now it only does (.method ...) syntax, but sometime today or tomorrow I'll have (foo.bar.baz) expanding to ((slot-value foo 'bar) 'baz). I'm not sure whether it is worthwhile keeping foo[bar] syntax; (aref foo bar) is not particularly less convenient.
foo.bar.baz expanding to (slot-value (slot-value foo 'bar) 'baz) is a bit weird. These are not really slots, as the aref example suggests . . . maybe gethash?
On the other hand, slot-value is a good idiomatic conversion, so perhaps it's better to let this sleeping dog lie
[...]