Hi again, I have question related to previous. To find answer I probably have to read compiler source code, but maybe you know answer already. I want some utility function which will do validation of ast, something like:
valid_guard?(ast) :: boolean
which I want to reuse to assume that given expression is pure. This function, or similar equivalent should exist in Erlang/Elixir compiler for sure, because it’s doing this purity validation well.
Writing own custom equivalent is not the best option, because you have to deal with possible things like
import Kernel, except: [{:'-', 1}]
import UnpureOverride, only: [{:'-', 1}]
But compiler is already doing all this smart stuff and can recognise this impurity


















