[erlang-questions] tail recursion question

Richard O'Keefe <>
Thu Apr 29 00:12:37 CEST 2010

On Apr 28, 2010, at 8:01 PM, Valentin Micic wrote:

> On 2010/04/28 3:58 AM, "Richard O'Keefe" <> wrote:
>> However, it would be far
>> more useful for the compiler to report a "dead code" warning:
> As far as I can recollect -- this is what Erlang compiler does, right?

Wrong.  Try typing in this little module.


f(N) ->

g(N) ->

This is an example of the kind of code we're talking about,
where the g(N) call is in fact dead because the f(N+1) call
cannot return.  In order to report the g(N) call as dead,
the compiler would have to *notice* that f/1 never returns.
It doesn't.  The compiler is completely silent about this.

That's not a complaint.

More information about the erlang-questions mailing list