Find things.
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


This is a little Leiningen plugin for finding functions/macros that do what you want to do.

lein findfn takes a set of input values and an expected output value and then looks for functions in clojure.core, clojure.set, and clojure.string that, when called with those input values, return the output value you want.

lein findarg is similar, but it looks up a function to pass to a higher order function to get what you want. This is best demonstrated with an example:

$ lein findarg map % [1 2 3] [2 3 4]

In the above examples, % is the mysterious function that you're looking for.

P.S.: This isn't necessarily guarenteed to work properly. ;)


git clone
cd lein-findfn
LEIN_JVM_OPTS="$(pwd)/example.policy" lein findfn 2 3 5

Notice the required security policy. You can also choose to copy the example policy to ~/.java.policy This is because findfn uses

lein findfn 2 3 5
lein findarg map % [1 2 3] [2 3 4]

Keep in mind that you have to respect how your shell parses arguments. For example, this works:

lein findarg map % [\\a \\b \\c] [\"a\" \"b\" \"c\"]

but this doesn't:

lein findarg map % [\a \b \c] ["a" "b" "c"]


Copyright (C) 2011 Anthony Grimes, Alan Malloy, Joshua Cole

Distributed under the Eclipse Public License, the same as Clojure.