Skip to content

Instantly share code, notes, and snippets.

@jon-stewart
Created September 27, 2020 15:33
Show Gist options
  • Save jon-stewart/ec1354741d7343dacbb7b170a463366d to your computer and use it in GitHub Desktop.
Save jon-stewart/ec1354741d7343dacbb7b170a463366d to your computer and use it in GitHub Desktop.
main([]) ->
Func = fun(Self, Value) ->
io:format("loop : ~p\n", [Value]),
Bindings = erl_eval:add_binding('Self', Self, erl_eval:add_binding('Value', Value, erl_eval:new_bindings())),
erl_eval:exprs(Self, Bindings)
end,
{env, [{_, _, _, Abs}]} = erlang:fun_info(Func, env),
Expression = {'fun', 1, {clauses, Abs}},
Self = [{match, 1, {var, 1, 'Expr'}, Expression}, {call, 1, {var, 1, 'Expr'}, [{var, 1, 'Self'}, {var, 1, 'Value'}]}],
erl_eval:exprs(Self, erl_eval:add_binding('Self', Self, erl_eval:add_binding('Value', 22, erl_eval:new_bindings()))).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment