This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-12-11
Channels
- # adventofcode (108)
- # announcements (4)
- # aws (11)
- # babashka (39)
- # beginners (199)
- # calva (12)
- # clj-kondo (17)
- # cljs-dev (1)
- # clojure (115)
- # clojure-dev (9)
- # clojure-europe (98)
- # clojure-italy (17)
- # clojure-nl (4)
- # clojure-norway (3)
- # clojure-seattle (7)
- # clojure-sweden (6)
- # clojure-switzerland (5)
- # clojure-uk (15)
- # clojurescript (41)
- # code-reviews (36)
- # conjure (7)
- # datomic (1)
- # emacs (1)
- # events (1)
- # fulcro (26)
- # graalvm (2)
- # helix (35)
- # jackdaw (2)
- # jobs (9)
- # jobs-discuss (5)
- # lambdaisland (2)
- # meander (24)
- # off-topic (80)
- # pathom (22)
- # pedestal (1)
- # portal (20)
- # re-frame (3)
- # releases (1)
- # reveal (13)
- # rewrite-clj (1)
- # shadow-cljs (8)
- # specter (5)
- # sql (4)
I'm currently thinking more about invoking clojure
from babashka. This will satisfy the use case when your deps.edn map needs some dynamism, e.g. merging multiple maps together from multiple places, which currently isn't supported with the official clojure
.
The main question I'm asking right now is: should invoking (babashka.deps/clojure ...)
return something or should that function just hand over control to the java
process and exit accordingly to its return code.
https://github.com/borkdude/babashka/issues/678
Maybe it's useful to return something and not exit in the case of -Spath
, -Stree
etc.
So maybe returning a babashka.process
kind of thing and having its API available on the return value could work.
(babashka.deps/clojure ...)
could hand back the babashka.process
handle, so you can call check
on it or do something else according to your use case...
The iffy part is that clojure
sometimes does create a process (e.g. a REPL, or executing a file) but for some parts it doesn't, e.g. when invoking -Sdescribe
or -Spath
. So maybe it should only return a process when invoking main or exec.
it always starts a process (either bash+java or just bash), so it feels like its ok to always return a babashka.process process
that's not how it works in babashka because it's going to use borkdude/deps.clj. the bash is just in-process code.
feels like there should be multiple functions in the namespace then, one for each major mode in the bash cli: 1. run a main 2. execute a function 3. ...