babashka

https://github.com/babashka/babashka. Also see #sci, #nbb and #babashka-circleci-builds .
2020-09-26T12:57:23.033300Z

Babashka becomes incredbly useful.

2020-09-26T12:57:29.033700Z

with the web server.

2020-09-26T12:58:01.034500Z

I was using clojurescript for cheap memoy servers, but with babashka, I guess we have a new contender.

2020-09-26T12:58:26.034800Z

Is reitit also compatible with babashka?

borkdude 2020-09-26T12:59:00.035100Z

Not yet. This repo has done some work on that: https://github.com/kloimhardt/bb-web

borkdude 2020-09-26T12:59:28.035600Z

I haven't tried running reitit from source with bb, but I expect there will be some issue

borkdude 2020-09-26T13:02:23.036300Z

I think if we include reitit, also ring-defaults has to be included since it depends on that I think?

ikitommi 2020-09-26T13:03:49.037300Z

reitit.core depends only on meta-merge, reitit-ring depends reitit-core and ring.

ikitommi 2020-09-26T13:04:35.038Z

… but then there is reitit-swagger, reitit-spec, reitit.middleware … modules which depend on half the planet 🙂

borkdude 2020-09-26T13:05:34.038600Z

Ah I see, good to know

borkdude 2020-09-26T13:06:31.039300Z

Writing an ad-hoc router for a specific small ring app isn't that hard though. Can get a lot of leverage just from case and re-matches probably :)

borkdude 2020-09-26T13:07:09.039800Z

But feel free to open an issue @neo2551 about reitit and we'll see what the rest of the community thinks

borkdude 2020-09-26T13:07:31.040300Z

Also please leave some notes at https://github.com/borkdude/babashka/issues/556 how you are using the server, if you are going to.

ikitommi 2020-09-26T13:08:02.041100Z

If I would like to have the full-reitit with bb, can I do a pod out of those (if they compile with GraalVM)?

borkdude 2020-09-26T13:08:58.041800Z

yeah, pod can work for now I think, since routing is just data in data out right?

borkdude 2020-09-26T13:10:10.042400Z

eventually a built-in router would be better, but I'm awaiting more feedback for proceeding into the web apps path with bb

ikitommi 2020-09-26T13:13:09.044200Z

just data when defining things, translated into optimized java on the JVM. There are few optional optimizations that do code generation, which won’t work, but mainly just for beating the benchmarks and not enabled by default.

borkdude 2020-09-26T13:13:53.044900Z

a pod would be nice meanwhile. I'm pretty sure reitit compiles with GraalVM, given https://github.com/kloimhardt/bb-web

ikitommi 2020-09-26T13:14:32.045100Z

also: https://github.com/yogthos/graal-web-app-example

ikitommi 2020-09-26T13:15:52.045700Z

oh, that’s the same thing, my bad.

borkdude 2020-09-26T13:21:07.046100Z

no it's not. bb-web is using a fork of babashka with reitit and ring-defaults included, yogthos' repo is only using GraalVM, no interpreter

👌 2
borkdude 2020-09-26T16:13:37.046700Z

Sophisticated CI script using babashka and clj-kondo in Gitlab: https://gist.github.com/hansbugge/4be701d771057e8ef6bbbb0912656355

🚀 3
borkdude 2020-09-26T21:41:38.047600Z

Pondering about an idea to leverage clojure git libs for (GraalVM or other) binaries: https://github.com/babashka/babashka.pods/issues/19