noprompt / meander

Tools for transparent data transformation
MIT License
921 stars 55 forks source link

Epsilon support for Babashka #154

Closed noprompt closed 2 years ago

noprompt commented 3 years ago

And then try not to break it after this gets merged.

noprompt commented 3 years ago

@borkdude I'm jammed on this

=> bb --classpath src -e "(require 'meander.epsilon)"
----- Error --------------------------------------------------------------------
Type:     clojure.lang.ArityException
Message:  Wrong number of args (3) passed to: sci.impl.namespaces/sci-resolve
Location: /Users/jholdbro/git/noprompt/meander-epsilon/src/meander/match/ir/epsilon.cljc:1643:4
Phase:    macroexpand

----- Context ------------------------------------------------------------------
1639:         (if (r.match.runtime/fail? ~result)
1640:           ~fail
1641:           ~result))))
1642:   ([ir fail kind env]
1643:    (binding [*env* env]
         ^--- Wrong number of args (3) passed to: sci.impl.namespaces/sci-resolve
1644:      (compile ir fail kind))))

----- Locals -------------------------------------------------------------------
ir:   {:op :branch, :arms [# # # # # #]}
fail: nil
kind: :find
env:  {:line 2046, :column 3, :end-line 75, :end-column 10, node nil}

----- Stack trace --------------------------------------------------------------
meander.util.epsilon                         - /Users/jholdbro/git/noprompt/meander-epsilon/src/meander/util/epsilon.cljc:618:14
meander.match.ir.epsilon                     - /Users/jholdbro/git/noprompt/meander-epsilon/src/meander/match/ir/epsilon.cljc:884:45
clojure.core/get                             - <built-in>
meander.match.ir.epsilon/eliminate-preds     - /Users/jholdbro/git/noprompt/meander-epsilon/src/meander/match/ir/epsilon.cljc:884:29
meander.match.ir.epsilon/eliminate-preds#and - /Users/jholdbro/git/noprompt/meander-epsilon/src/meander/match/ir/epsilon.cljc:883:25
...
meander.match.epsilon/compile-find-analysis  - /Users/jholdbro/git/noprompt/meander-epsilon/src/meander/match/epsilon.cljc:1999:1
meander.match.epsilon/find                   - /Users/jholdbro/git/noprompt/meander-epsilon/src/meander/match/epsilon.cljc:2050:7
meander.match.epsilon/find                   - /Users/jholdbro/git/noprompt/meander-epsilon/src/meander/match/epsilon.cljc:2041:1
meander.substitute.syntax.epsilon            - /Users/jholdbro/git/noprompt/meander-epsilon/src/meander/substitute/syntax/epsilon.cljc:22:3
user                                         - <expr>:1:1
jimmyhmiller commented 3 years ago

Once it is all working, I can look at adding bb to our ci setup so we can ensure it won't break in the future.

borkdude commented 3 years ago

@noprompt Yep, TIL that resolve has an extra arg :) I'll fix that in sci: https://github.com/borkdude/sci/issues/444