Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Re-find: discover functions with spec

Re-find: discover functions with spec

Re-find is an app and a library that lets you interactively discover Clojure functions based on example in- and output values or predicates. In this talk we will see how it works and how it is implemented, using clojure.spec as the driving force.

About the speaker: Michiel Borkent is a software developer and Clojurian. He can be found as @borkdude in various places on the web.

This presentation was given at Dutch Clojure Days 2019:


Michiel Borkent

April 06, 2019

More Decks by Michiel Borkent

Other Decks in Programming


  1. ?

  2. ?

  3. rationale for re-find • You are learning Clojure and don't

    know the names or even the existence of functions • You know a function exists, but forgot the order of arguments it takes
  4. How does it work? • re-find searches within spec’ed functions

    • so it needs a collection of specs (speculative, but could be other specs for core or self-defined functions)
  5. Stack • Self-hosted CLJS • Low operational cost (just static

    HTML + JS) • No security risks (evaluation on server) • CodeMirror + parinfer layer • automatic paren matching, closing, highlighting • CLJC: re-find lib works in Clojure and (self-hosted) CLJS