[#89] use :namespaces option for clojure.core rather than :bindings

This commit is contained in:
Michiel Borkent 2019-10-29 12:49:18 +01:00 committed by GitHub
parent 2ca0e676cc
commit 9729c6ff5d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 21 deletions

2
sci

@ -1 +1 @@
Subproject commit 52ed6f4f9885d3a28b007ccf2e116d8270f35f4b Subproject commit 4faa54908377fbcabe6bb093eda6c66f8a637e3a

View file

@ -6,39 +6,26 @@
[_ _ & body] [_ _ & body]
`(~'future-call (fn [] ~@body))) `(~'future-call (fn [] ~@body)))
(def core-bindings (def core-extras
{'atom atom {'future-call future-call
'swap! swap!
'swap-vals! swap-vals!
'reset! reset!
'add-watch add-watch
'future-call future-call
'future (with-meta future {:sci/macro true}) 'future (with-meta future {:sci/macro true})
'future-cancel future-cancel 'future-cancel future-cancel
'future-cancelled? future-cancelled? 'future-cancelled? future-cancelled?
'future-done? future-done? 'future-done? future-done?
'future? future? 'future? future?
'deref deref
'agent agent 'agent agent
'send send 'send send
'send-off send-off 'send-off send-off
'promise promise 'promise promise
'deliver deliver 'deliver deliver
'shutdown-agents shutdown-agents 'shutdown-agents shutdown-agents
'run! run!
'slurp slurp 'slurp slurp
'spit spit 'spit spit
'pmap pmap 'pmap pmap
'pr pr 'pr pr
'pr-str pr-str
'prn prn 'prn prn
'prn-str prn-str
'print-str print-str
'print print 'print print
'println println 'println println
'println-str println-str 'println-str println-str
'flush flush 'flush flush
'ex-info ex-info 'read-line read-line})
'ex-data ex-data
'read-line read-line
'namespace namespace})

View file

@ -6,7 +6,7 @@
[babashka.impl.System :refer [system-bindings]] [babashka.impl.System :refer [system-bindings]]
[babashka.impl.Thread :refer [thread-bindings]] [babashka.impl.Thread :refer [thread-bindings]]
[babashka.impl.async :refer [async-namespace]] [babashka.impl.async :refer [async-namespace]]
[babashka.impl.clojure.core :refer [core-bindings]] [babashka.impl.clojure.core :refer [core-extras]]
[babashka.impl.clojure.java.io :refer [io-namespace]] [babashka.impl.clojure.java.io :refer [io-namespace]]
[babashka.impl.clojure.stacktrace :refer [print-stack-trace]] [babashka.impl.clojure.stacktrace :refer [print-stack-trace]]
[babashka.impl.conch :refer [conch-namespace]] [babashka.impl.conch :refer [conch-namespace]]
@ -143,8 +143,7 @@ Everything after that is bound to *command-line-args*."))
(throw (Exception. (str "File does not exist: " file)))))) (throw (Exception. (str "File does not exist: " file))))))
(def bindings (def bindings
(merge core-bindings (merge system-bindings
system-bindings
file-bindings file-bindings
thread-bindings thread-bindings
integer-bindings integer-bindings
@ -198,7 +197,8 @@ Everything after that is bound to *command-line-args*."))
io clojure.java.io io clojure.java.io
conch me.raynes.conch.low-level conch me.raynes.conch.low-level
async clojure.core.async} async clojure.core.async}
:namespaces {'clojure.tools.cli tools-cli-namespace :namespaces {'clojure.core core-extras
'clojure.tools.cli tools-cli-namespace
'clojure.edn {'read-string edn/read-string} 'clojure.edn {'read-string edn/read-string}
'clojure.java.shell {'sh shell/sh} 'clojure.java.shell {'sh shell/sh}
'babashka.wait {'wait-for-port wait/wait-for-port 'babashka.wait {'wait-for-port wait/wait-for-port