View Source ElixirST.SessionTypechecking (ElixirST v0.8.3)

Elixir code is typechecked against a pre-define session type.

Summary

Functions

Link to this function

session_typecheck_by_function(function, env)

View Source
@spec session_typecheck_by_function(ElixirST.ST.Function.t(), map()) :: map()
Link to this function

session_typecheck_module(all_functions, function_session_type, module_name, options \\ [])

View Source
@spec session_typecheck_module(
  %{required(ElixirST.ST.name_arity()) => ElixirST.ST.Function.t()},
  %{required(ElixirST.ST.name_arity()) => ElixirST.ST.session_type()},
  atom(),
  list()
) :: list()
@spec typecheck(ElixirST.ST.ast(), map()) :: {ElixirST.ST.ast(), map()}