Also added the ability to call things from other calls, including all the usual currying and such, building on the prior example:
def testering_func8 = testering_func1
def testering_func9(a) = testering_func1 a
def testering_func12(a, b) = testering_func1 a, b
def testering_func20 = testering_func8 1, 2, 3
def testering_func21 = testering_func9 1, 2, 3
def testering_func22 = testering_func12 1, 2, 3
def testering_func23 = testering_func9 1, _
Which can be used as:
assert MLModuleTest_Specific.testering_func20() === {1, 2, 3}
assert MLModuleTest_Specific.testering_func21() === {1, 2, 3}
assert MLModuleTest_Specific.testering_func22() === {1, 2, 3}
assert MLModuleTest_Specific.testering_func23().(2, 3) === {1, 2, 3}
Which the generated Elixir is:
def(testering_func20()) do
testering_func8().(1, 2, 3)
end
def(testering_func21()) do
testering_func9(1).(2, 3)
end
def(testering_func22()) do
testering_func12(1, 2).(3)
end
def(testering_func23()) do
fn ($var_0_22, $var__0_23) when is_integer($var__0_23) and is_integer($var_0_22) -> testering_func9(1).($var_0_22, $var__0_23) end
end