f() is only available in the Erlang shell/REPL. The reason it has such a short name is that it's intended for use in the shell and not in real code. Its purpose is for forgetting a variable name that you may have defined earlier during interactive testing in the shell. It's not available in compiled code and is not intended for re-assigning variables within a function.