Fork me on GitHub
#specter
<
2016-06-13
>
nathanmarz19:06:09

@mfikes: do you think it's possible to redo your macroexpand' implementation in terms of cljs.analyzer/macroexpand-1?

mfikes19:06:30

Sure… I think one just calls the other recursively or somesuch

nathanmarz19:06:08

does it still need to do the eval stuff?

nathanmarz19:06:20

basically I need a macroexpand-all implementation for non-bootstrap clojurescript that's distinct from the clojure version of macroexpand-all, and I want to see if the bootstrap and non-bootstrap impls can be the same

mfikes19:06:46

Hmm… I think the need to eval was simply to cope with not having the form being directly passed to macroexpand. (looking at my post http://blog.fikesfarm.com/posts/2015-09-05-runtime-macroexpand.html)

mfikes19:06:56

If there is a use case that you’d like it to work for, I wouldn’t mind taking a look perhaps later on tonight to see if it can be made to work in bootstrap.

nathanmarz19:06:02

i'll get it working for non-boostrap cljs, and then I'll ping you to see if the new impl works for bootstrap

nathanmarz19:06:21

otherwise specter will just use a different macroexpand-all for each of the 3 cases

mfikes19:06:57

OK… yeah, and I just saw the thread in #C03S1L9DN 🙂

mfikes19:06:06

By the way, Specter is the only major lib I’m aware of that is straddling all 3 targets. It feels like it ain’t easy to do, but it can be done. 🙂

nathanmarz19:06:06

sometimes I yell out the occasional profanity, but it's doable

mfikes19:06:39

Hah. As you said, profanity leads to code these days.

nathanmarz21:06:43

let me know if it's still bootstrap-compatible

mfikes22:06:49

@nathanmarz: Gotta run but was at least able to see a problem with riddley.walk:

$ planck -c target/specter-0.12.0-SNAPSHOT.jar:/Users/mfikes/.m2/repository/riddley/riddley/0.1.12/riddley-0.1.12.jar
Planck 1.14
ClojureScript 1.9.14
    Docs: (doc function-name-here)
          (find-doc "part-of-name-here")
  Source: (source function-name-here)
    Exit: Control+D or :cljs/quit or exit or quit
 Results: Stored in vars *1, *2, *3, an exception in *e

cljs.user=> (require-macros '[com.rpl.specter.macros :refer [transform]])
No such namespace: riddley.walk, could not locate riddley/walk.cljs, riddley/walk.cljc, or Closure namespace "riddley.walk"
nil

nathanmarz23:06:13

@mfikes: ok, changed master so that shouldn't happen anymore with bootstrap