From d2e23081fde21d93ef49e12f87f0c02bfe4e31a8 Mon Sep 17 00:00:00 2001 From: mrb Date: Mon, 20 May 2013 08:15:35 -0400 Subject: [PATCH] Updates! Thanks @swannodette --- README.md | 6 +++++- examples/examples.clj | 14 ++++++++++++++ project.clj | 2 -- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 9f08f28..210b2f8 100644 --- a/README.md +++ b/README.md @@ -115,8 +115,12 @@ end> * Associate original jruby-parser node information as metadata to node map object, for altering and rehydrating source as ast +## Credits + +* @swannodette for the amazing guidance and work on `nodeattro`, `mapo`, `filtero`, `rembero`, etc. + ## License -Copyright © 2013 Michael R. Bernstein +Copyright © 2013 Michael R. Bernstein and contributors Distributed under the Eclipse Public License, the same as Clojure. diff --git a/examples/examples.clj b/examples/examples.clj index 7b03c32..539669d 100644 --- a/examples/examples.clj +++ b/examples/examples.clj @@ -98,8 +98,22 @@ (filtero nodes (fn [node] (l/fresh [value] + (nodeattro node :type "DEFNNODE") (nodeattro node :name value) (l/!= value nil))) nodes') (mapo nodes' #(nodeattro %1 :name %2) q))) +;; dupeo names +(l/run* [q] + (l/fresh [nodes nodes' dupes] + (l/== nodes (parse-ruby-code ruby-code)) + (filtero nodes + (fn [node] + (l/fresh [value] + (nodeattro node :type "DEFNNODE") + (nodeattro node :name value) + (l/!= value nil))) + nodes') + (mapo nodes' #(nodeattro %1 :name %2) dupes) + (dupeo dupes q))) diff --git a/project.clj b/project.clj index 4699ee2..e3a9320 100644 --- a/project.clj +++ b/project.clj @@ -4,7 +4,5 @@ :license {:name "Eclipse Public License" :url "http://www.eclipse.org/legal/epl-v10.html"} :dependencies [[org.clojure/clojure "1.5.0"] - [org.clojure/algo.monads "0.1.4"] [org.jruby/jrubyparser "0.4.1"] - [org.clojure/core.logic "0.8.3"] [rhizome "0.1.3"]])