LiveData.Tracked.FlatAst.Expr.Scope (live_data v0.1.0-alpha0)

In many ways similar to Expr.Block, but with different semantics in codegen. Whereas Expr.Block corresponds 1:1 to :__block__ in the native Elixir AST, this has different behaviour.

Each expression in an Expr.Scope is treated as an implicit assignment. Within each expression in an Expr.Scope, any referenced other expressions are treated as variable accesses to those implicit assignments.

As with normal blocks, the last value in the scope is the result.

Link to this section Summary

Link to this section Functions

Link to this function

new(exprs, location \\ nil)