@borkdude how much do you think would it cost you to build bigger binaries?
(I am referring to your study on the survey).
Depends. What do you have in mind?
Well, I was curious how much it would cost you if you had to leave the free tier of CI.
I think somewhere between 150-300 dollars a month based on current usage on CircleCI. But maybe it would be possible to setup some AWS/other cloud stuff as well. Not sure.
Any tips on emacs integration with babashka?
Do you mean like interacting with a REPL? Or doing fun things from emacs with babashka?
Yeah, repl for one, also the linter i have doesn't like some of the implicitely included libs
@cgboal521 For the linter, read this: https://book.babashka.org/#style For running a REPL, read this: https://book.babashka.org/#repl
Ah okay nice one, so just include the stuff you want to use to shut up the linter
Tips on fixing this one?
(ns babashka-test
(:refer-clojure :exclude [list]))
(defn list [& args])
(defn void [& args])
(defmacro * [& args]
`(void (list ~@args)))
(prn (macroexpand '(* 1 2 3)))
;; =>
(babashka-test/void (clojure.core/list 1 2 3))
list
is resolving to the wrong thing.
hmm, that seems like a bug
let me check
I can work around it for now.
If you file a ticket can you tag me on it?
yes please.
OK I’ll file the ticket. 🙂
I misread it, but then I correctly read it ;)
OH LOL I just filed it. 😂
I closed mine 🙂
I know where to fix it, it's not hard. If you think it's fun to fix, I can point you to it, but else I'll fix it soon
Looks like its a general problem with exclusion
I tried with vector
and noticed the same
yes
Point me to the source
it's a problem in syntax quote resolving syms. it doesn't look at exclusions
@noprompt here it should be fixable: https://github.com/borkdude/sci/blob/master/src/sci/impl/parser.cljc#L23
Am I able to REPL this project?
Asked another way, can I solve this from the REPL and then run the tests in the shell?
Yes. you clone the sci project. and then:
$ clj
Clojure 1.10.1
user=> (require '[sci.core :as sci] :reload-all)
nil
user=> (sci/eval-string "(ns foo (:refer-clojure :exclude [inc])) (defn inc []) `inc")
clojure.core/inc
user=>
@noprompt if you stick this in fully-qualify:
_ (prn the-current-ns)
you will see:
user=> (sci/eval-string "(ns foo (:refer-clojure :exclude [inc])) (defn inc []) `inc")
{:obj #object[sci.impl.vars.SciNamespace 0x699e81db "foo"], :refer {clojure.core {:exclude #{inc}}}, inc #'foo/inc}
clojure.core/inc
that should be a good hint how to fix it
Thanks!
In the analyzer.cljc I have this:
(when-not (contains?
(get-in the-current-ns [:refer 'clojure.core :exclude]) sym-name)
...
(we could probably avoid the contains call if there is no :exclude)