clojure gPath implementation