README
This commit is contained in:
parent
6d9b2d0042
commit
b55d5c2301
1 changed files with 10 additions and 11 deletions
21
README.md
21
README.md
|
|
@ -35,10 +35,11 @@ As one user described it:
|
||||||
Goals:
|
Goals:
|
||||||
|
|
||||||
* Low latency Clojure scripting alternative to JVM Clojure.
|
* Low latency Clojure scripting alternative to JVM Clojure.
|
||||||
* Easy installation: grab the self-contained binary and run! No JVM needed.
|
* Easy installation: grab the self-contained binary and run. No JVM needed.
|
||||||
* Familiarity and portability:
|
* Familiarity and portability:
|
||||||
- Scripts should be compatible with JVM Clojure as much as possible
|
- Scripts should be compatible with JVM Clojure as much as possible
|
||||||
- Scripts should be platform-independent as much as possible.
|
- Scripts should be platform-independent as much as possible. Babashka offers
|
||||||
|
support for linux, macOS and Windows.
|
||||||
* Allow interop with commonly used classes like `java.io.File` and `System`
|
* Allow interop with commonly used classes like `java.io.File` and `System`
|
||||||
* Multi-threading support (`pmap`, `future`, `core.async`)
|
* Multi-threading support (`pmap`, `future`, `core.async`)
|
||||||
* Batteries included (tools.cli, cheshire, ...)
|
* Batteries included (tools.cli, cheshire, ...)
|
||||||
|
|
@ -46,18 +47,16 @@ Goals:
|
||||||
|
|
||||||
Non-goals:
|
Non-goals:
|
||||||
|
|
||||||
* Performance<sup>1<sup>
|
* Performance. Babashka uses [sci](https://github.com/borkdude/sci) for
|
||||||
|
interpreting Clojure. Sci implements a suffiently large subset of
|
||||||
|
Clojure. Interpreting code is in general not as performant as executing compiled
|
||||||
|
code. If your script takes more than a few seconds to run, Clojure on the JVM
|
||||||
|
may be a better fit, since the startup time penalty of Clojure on the JVM
|
||||||
|
outweighs its performance. Read more about the differences with Clojure
|
||||||
|
[here](#differences-with-clojure).
|
||||||
* Provide a mixed Clojure/Bash DSL (see portability).
|
* Provide a mixed Clojure/Bash DSL (see portability).
|
||||||
* Replace existing shells. Babashka is a tool you can use inside existing shells like bash and it is designed to play well with them. It does not aim to replace them.
|
* Replace existing shells. Babashka is a tool you can use inside existing shells like bash and it is designed to play well with them. It does not aim to replace them.
|
||||||
|
|
||||||
<sup>1<sup> Babashka uses [sci](https://github.com/borkdude/sci) for interpreting
|
|
||||||
Clojure. Sci implements a suffiently large subset of Clojure. Interpreting code
|
|
||||||
is in general not as performant as executing compiled code. If your script takes
|
|
||||||
more than a few seconds to run, Clojure on the JVM may be a better fit, since
|
|
||||||
the startup time penalty of Clojure on the JVM outweighs its performance.
|
|
||||||
|
|
||||||
Read more about the differences with Clojure [here](#differences-with-clojure).
|
|
||||||
|
|
||||||
## Status
|
## Status
|
||||||
|
|
||||||
Experimental. Breaking changes are expected to happen at this phase. Keep an eye
|
Experimental. Breaking changes are expected to happen at this phase. Keep an eye
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue