Equivalent of Clojure's “assoc-in” and “get-in” in Common lisp
问题 In Clojure you can update a map (dict) with assoc-in and create key path automatically if it don't exist. (assoc-in {:a 1 :b 3} [:c :d] 33) ; {:a 1, :c {:d 33}, :b 3} Same for get-in: you can specify a path of keys (or list indices) and it will return the value specified by the path, nil if it does not exist. (get-in {:a 1, :c {:d 33}, :b 3} [:c :d]) ; 33 (get-in {:a 1, :c {:d 33}, :b 3} [:c :e]) ; nil I like to have the sugar in Common lisp,so I monkeyed a 'assoc-in' and I tested it on a