Hacker News new | ask | show | jobs
by LightMachine 3906 days ago
There is no protection against non-termination. For example, an user could give you this function:

    f = (function (x){ return x(x); })
Now, if you call `f(function(f){return function(x){ return f(f(x)) }})`, it'll not halt. But there are good principled ways to work around that, such as adding a type system like System F. That would discard 100% of the programs that halt, at the cost of also losing some programs that do halt.