Skip to content

Instantly share code, notes, and snippets.

@mfikes
Last active July 30, 2020 15:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save mfikes/c45ce81705786a04e617a419941afcab to your computer and use it in GitHub Desktop.
Save mfikes/c45ce81705786a04e617a419941afcab to your computer and use it in GitHub Desktop.

Self-hosted:

$ plk
ClojureScript 1.10.597
cljs.user=> (require '[foo.core :refer [defnmy]])
nil
cljs.user=> (defnmy FOO clojure.string/lower-case [x]
       #_=>   (inc x))
#'cljs.user/foo
cljs.user=> (foo 1)
2

Regular:

$ clj -A:cljs/rel -re node -r
ClojureScript 1.10.753
cljs.user=> (require '[foo.core :refer [defnmy]])
nil
cljs.user=> (defnmy FOO clojure.string/lower-case [x]
  (inc x))
#'cljs.user/foo
cljs.user=> (foo 1)
2
(ns foo.core
#?(:cljs (:require [planck.core :refer [requiring-resolve]])))
(defmacro defnmy [name fn args & body]
(let [n (symbol ((requiring-resolve fn) (str name)))]
`(defn ~n ~args ~@body)))
(ns foo.core
(:require-macros foo.core))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment