The API of the HL Custom Runtime allows to target rich amount of Clojure backends via conditional readers. Backend is a platform/library, that provides execution environment, and invokes user code in AWS Lambda
context. In the documentation we use word backend/runtime interchangeably.
Therefore:
Babashka backend
- means the collection ofbb
command +bootstrap
script that executes user code and bundledAWS Lambda
event loop.Clojure backend
- means aDocker Image
of OpenJDK (or any other JDK variant) + user code and bundledAWS Lambda
event loop.Native backend
- means GraalVM Substrate VM +bootstrap
script + user code and bundledAWS Lambda
event loop.
ℹ️ Some of the backends are complex and require understanding some sophisticated concepts. Backends that should be explained in detail will be linked here.