I can imagine that this
def addCandidate(A ~Int, B ~Int) do
means that addCandidate has two arguments of type Int, but what does the ~ mean? I'll have to read the docs.However I have really no idea of the meaning of
def bar(arithFn ~Function(Int -> Int -> Int)) do
It's a function bar taking arithFn as argument, which is a function with... what arguments?From the demo program it looks like a function with two int arguments returning an int, but why the -> signs and why isn't addCandidate defined as (Int -> Int -> Int) too? Where is it's return type. Maybe inferred?
It's quite puzzling and there are no explanations about that in the README.
Is the ~ necessary? Could it be removed and save one character that's not even on some keyboards around the world?
Apart from that lack of explanations, it could a perfectly nice language and it's a great project for sure.