Dune.Session.eval_string

You're seeing just the function eval_string, go back to Dune.Session module for more information.
Link to this function

eval_string(session, string, opts \\ [])

View Source

Specs

eval_string(t(), String.t(), keyword()) :: t()

Evaluates the provided string in the context of the session and returns a new session.

The result will be available in the last_result key. In case of a success, the variable bindings or created modules will be saved in the session. In case of a failure, the rest of the session state won't be updated, so it is possible to keep executing instructions after a failure

Examples

iex> Dune.Session.new()
...> |> Dune.Session.eval_string("x = 1")
...> |> Dune.Session.eval_string("x + 2")
#Dune.Session<last_result: %Dune.Success{inspected: "3", stdio: "", value: 3}, ...>

iex> Dune.Session.new()
...> |> Dune.Session.eval_string("x = 1")
...> |> Dune.Session.eval_string("x = x / 0")  # will fail, but the previous state is kept
...> |> Dune.Session.eval_string("x + 2")
#Dune.Session<last_result: %Dune.Success{inspected: "3", stdio: "", value: 3}, ...>