This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-05-18
Channels
- # announcements (9)
- # atom-editor (29)
- # aws (17)
- # babashka (72)
- # beginners (83)
- # braveandtrue (3)
- # calva (7)
- # cider (16)
- # clj-kondo (15)
- # cljs-dev (146)
- # cljsjs (1)
- # cljsrn (8)
- # clojars (1)
- # clojure (96)
- # clojure-dev (19)
- # clojure-europe (53)
- # clojure-losangeles (1)
- # clojure-nl (3)
- # clojure-spec (7)
- # clojure-uk (235)
- # clojuredesign-podcast (5)
- # clojurescript (81)
- # conjure (73)
- # cursive (7)
- # data-science (1)
- # datomic (5)
- # defnpodcast (8)
- # emacs (3)
- # figwheel-main (34)
- # fulcro (83)
- # graalvm (10)
- # graphql (6)
- # helix (49)
- # jackdaw (3)
- # jobs (1)
- # joker (1)
- # kaocha (1)
- # mid-cities-meetup (10)
- # off-topic (17)
- # pathom (16)
- # re-frame (11)
- # reagent (18)
- # reitit (18)
- # remote-jobs (4)
- # shadow-cljs (63)
- # spacemacs (18)
- # specter (20)
- # sql (17)
- # uncomplicate (1)
- # vim (28)
- # xtdb (32)
One thing you can perhaps do is that you can read the BABASHKA_CLASSPATH
like so (System/getenv "BABASHKA_CLASSPATH")
if the classpath is already set prior to running the REPL.
bb
also has a ns basbashka.classpath
which you can use add to the current ns
https://github.com/borkdude/babashka#babashkaclasspath
Thanks, and I looked at those, and tried to add a jar both using the env and add-classpath but I still can't import the library. Just trying to get rebel-readline working for a better repl experience. I was hoping to look at the classpath babashka sees so I could compare it to what I was expecting.
[Mon May 18][08:57:35][mwhitford@esmerelda][~/.m2/repository/com/bhauman/rebel-readline/0.1.4] $ BABASHKA_CLASSPATH=/home/mwhitford/.m2/repository/com/bhauman/rebel-readline/0.1.4/rebel-readline-0.1.4.jar bb
user=> (require 'rebel-readline) clojure.lang.ExceptionInfo: Could not require rebel-readline. [at line 1, column 1]
user=> (require 'rebel-readline.core)
clojure.lang.ExceptionInfo: Unable to resolve classname: org.jline.reader.UserInterruptException [at rebel_readline/core.clj, line , column ]
but you can always use --nrepl-server
and connect from your favorite editor. much better than typing in a REPL
@dennisa I think @borkdude wrote it down here https://gist.github.com/borkdude/6449c9a44b35e24560091dccf051cf6e
@dennisa It's a play on words with bash. Bash is old. Babushka means granny in Russian but also the scarve a granny wears. Babushka is also used as a synonym for matryoshka which is a nested doll, which hints at a Clojure interpreter built in Clojure itself.
Thanks : ) I can't help noticing that these two statements are not really true : ) "Babushka means granny in Russian but also the scarve a granny wears. Babushka is also used as a synonym for matryoshka which is a nested doll,"
The scarf is schal (like sjal in dutch) or platok. Matrёshka is a dimunitive for a younger girl and one would not call a old woman like that normally
I didn't say people use matryoshka for old woman, but mistakingly for the nested doll.
So you are confusing these two. Babushka -> old woman, headscarve. Babushka -> mistake synonym for matryoshka = nested doll = Clojure in Clojure.
"also known as Babushka dolls" -- this is weird, perhaps a a western marketing term, but never used in Russian.
Yeah, that might be. Babushka has become a fashion word for headscarves in the west, associated with old women, but now also worn by fashionable girls
If you really want to get to the bottom of it: babashka itself also means a bar used in typography to mark connection between words. In Russian. It's true, look it up 😉
"Babushka has become a fashion word for headscarves" I guess you are close here, it's another marketing term but more correct would be 'babushka's head scarf' (platók)
cool, the word actually exists! I learned smth today 🙂 thanks!
Babaska.
white space with a length of 48 points with a size of 24 , 36 and 58 points . Babashki used during manufacturing of typesetting of printed forms way high print for educational non-printing areas are relatively small space in the table
Yeah. I had trouble finding good dictionary entries though. If you have Russian dictionaries, more details are welcome.
https://www.polislov.ru/babashka/ https://polygraphy.academic.ru/28/%D0%B1%D0%B0%D0%B1%D0%B0%D1%88%D0%BA%D0%B0
The synonym is a mistake that people often make, it's not the correct synonym, I'm aware of that. What's not true about the first statement?
How can compare current time > 15:00 in bb using eg (def now (java.time.ZonedDateTime/now))
or similar?
I have a question, I was trying to build the v0.0.96
tag (need a custom build for a target environment, the pre-built binaries will not work there) and receiving the following build error:
~> script/uberjar
...
Compiling babashka.impl.csv
Compiling babashka.impl.curl
Syntax error macroexpanding at (curl.clj:1:1).
Execution error (FileNotFoundException) at babashka.impl.curl/loading (curl.clj:1).
Could not locate babashka/curl__init.class, babashka/curl.clj or babashka/curl.cljc on classpath.
Full report at:
/tmp/clojure-6330374768462098454.edn
Compilation failed: Subprocess failed
Uberjar aborting because jar failed: Compilation failed: Subprocess failed
Error encountered performing task 'do' with profile(s): 'base,system,user,provided,dev,uberjar,xml,yaml,core-async,csv,transit'
Uberjar aborting because jar failed: Compilation failed: Subprocess failed
I was able to build previous versions without issues. Did something in the build process change?@mbjarland Did you pull babashka's submodules?
hmm..now that you mention it it is empty, there is only a src dir. I am sitting on the v0.0.96 tag, i.e. not on a branch etc. Is there something else I should be doing?
╭─mbjarland@suntory ~/projects/clojure/babashka ‹(v0.0.96)›
╰─➤ git st
HEAD detached at v0.0.96
nothing to commit, working tree clean
╭─mbjarland@suntory ~/projects/clojure/babashka ‹(v0.0.96)›
╰─➤ git submodule update --recursive
╭─mbjarland@suntory ~/projects/clojure/babashka ‹(v0.0.96)›
╰─➤ ls -al babashka.curl/src
total 0
drwxrwxr-x 2 mbjarland mbjarland 6 May 18 13:44 .
drwxrwxr-x 3 mbjarland mbjarland 17 May 18 13:44 ..
╭─mbjarland@suntory ~/projects/clojure/babashka ‹(v0.0.96)›
╰─➤
fwiw, I did this in a tmp dir:
$ git clone [email protected]:borkdude/babashka.git --recursive
$ cd babashka
$ git checkout v0.0.96
$ ls babashka.curl
CHANGES.md LICENSE README.md deps.edn src test
ok git submodule weirdness, did this:
╭─mbjarland@suntory ~/projects/clojure/babashka ‹(v0.0.96)›
╰─➤ rm -rf babashka.curl 1 ↵
╭─mbjarland@suntory ~/projects/clojure/babashka ‹(v0.0.96)*›
╰─➤ git submodule update --init babashka.curl
Cloning into '/home/mbjarland/projects/clojure/babashka/babashka.curl'...
Submodule path 'babashka.curl': checked out '82a6571d51abee402e0b40be984420000fe1c08b'
╭─mbjarland@suntory ~/projects/clojure/babashka ‹(v0.0.96)›
╰─➤ ls -al babashka.curl/src
total 0
drwxrwxr-x 3 mbjarland mbjarland 22 May 18 14:46 .
drwxrwxr-x 5 mbjarland mbjarland 140 May 18 14:46 ..
drwxrwxr-x 2 mbjarland mbjarland 22 May 18 14:46 babashka
╭─mbjarland@suntory ~/projects/clojure/babashka ‹(v0.0.96)›
╰─➤
maybe eventually we'll get rid of the submodules, but for now it's convenient since sci and the other submodules are still in flux
thanks for the help, should have figured this one out myself. While I'm at it, the tag v0.0.96
builds the following jar file:
Created .../babashka/target/babashka-0.0.97-SNAPSHOT.jar
should I be building something different to get the 96 binary?I think I mistagged it by accident. there were already two new commits on master when I pushed the release button
as a side note, I did eventually get the oracle driver working as a bb feature, but it behaved really strangely with jdbc.next/graal (not allowed to close connections etc) so I've abandoned that track at least for now.
I think i’m missing something, but how should I use https://github.com/babashka/babashka.nrepl? I was thinking of building a bb
script within a repl session
@borkdude one last qustion, I'm often sitting and developing my bb scripts in a jvm clojure repl (intellij/cursive etc) and I would like to conditionally run some forms if the code is run in a jvm repl vs executed using bb. Currently I'm doing things like:
(if (resolve `*input*) in-bb in-jvm-repl)
this makes me feel slightly dirty and I figured you might have a more supported way of doing this?@mbjarland that would be the way I think. another way is looking at a system property that is babashka specific. or just don't use *input*
in anything other than a one-liner.
might be worth binding an explicit var just for this purpose? Something like *launched-with-babashka*
@mbjarland I'm favoring system properties instead of custom vars, since that works better with linters like clj-kondo as well and doesn't make the script Clojure-incompatible
I saw that one, tried to use it but it seemed to be nil in my test:
─➤ bb
Babashka v0.0.96 REPL.
Use :repl/quit or :repl/exit to quit the REPL.
Clojure rocks, Bash reaches.
user=> (System/getProperty "babashka.main")
nil
ah, ok so it's conditionally set. I figured it might be useful to have a property which you always know is set if you are in a babashka context
@mbjarland yes and my proposal was a system property instead of a custom var