hara.runtime.graal

*lang*

dynamic

*raws*

dynamic

+init+

+options+

add-resource-path

added in 3.0

(add-resource-path raw path)

adds resource path to context

(add-resource-path +js+ “assets”)

add-system-path

added in 3.0

(add-system-path raw path)

adds system path to context

(add-system-path +js+ “.”)

close-raw

added in 3.0

(close-raw ctx)

closes the base graal context

eval-graal

added in 4.0

(eval-graal {:keys [raw]} string)

evals body in the runtime

(str (eval-graal (l/rt :js) “1+1”)) => “2”

eval-raw

added in 3.0

(eval-raw ctx string)

performs an exec expression

(str (eval-raw +js+ “1 + 1”)) => “2”

invoke-graal

added in 4.0

(invoke-graal {:keys [state lang layout], :as rt} ptr args)

invokes a pointer in the runtime

(invoke-graal (l/rt :js) k/sub 1 2) => -1

make-raw

added in 3.0

(make-raw {:keys [lang resource system]})

creates the base graal context

(str (.eval ^Context +js+ “js” “1 + 1”)) => “2”

raw-lang

added in 3.0

(raw-lang ctx)

gets the language context

(raw-lang +js+) => :js

rt-graal

added in 3.0

(rt-graal m)

creates and starts a graal runtime

rt-graal:create

added in 4.0

(rt-graal:create {:keys [id], :or {id (f/sid)}, :as m})

creates a graal runtime

(h/-> (rt-graal:create {:lang :js}) (h/start) (h/stop)) => rt-graal?

rt-graal?

added in 3.0

(rt-graal? obj)

checks that object is a graal runtime

start-graal

added in 3.0

(start-graal {:keys [lang resource system raw], :as graal})

starts the graal runtime

stop-graal

added in 3.0

(stop-graal {:keys [lang raw], :as graal})

stops the graal runtime

unwrap

added in 4.0

(unwrap v)

unwraps a polyglot value