Small poll
Bengt Kleberg
Bengt.Kleberg@REDACTED
Thu Dec 18 10:29:06 CET 2003
Chris Pressey wrote:
...deleted
> In this style, you write code very aggressively. You might have a
> function like (this is just an example, not meant to do anything
> useful:)
>
> foo(Bar) ->
> ok = file:setcwd(moo(Bar)),
> {ok, File} = file:open(zoo(Bar)),
> {ok, Records} = read_records(File),
> ok = file:close(File),
> Records.
in this case i think the compiler will complain about read_records/1
beeing unknown :-)
seriously, if i have a module which _only_ contains (exported) functions
that will always fail at runtime i do think the compiler should refuse
to compile it.
(btw: i think the compiler should refuse to compile a module without any
exported functions, too)
if some of the (exported) functions might work at runtime, then the
compiler should compile, but warn about the always failing functions.
...deleted
> But even if you don't use it, you have to recognize that many
> programmers do, and for the "let it crash" style to work, code has to be
> allowed to crash at runtime, even when it "can't be right".
yes, i am all for letting code crash. i just do not think it is usefull
to let the compiler produce code for a module that will always crash
because potentially correct code is written in such a way as to produce
a runtime error.
use
erlang:throw/1
or
erlang:exit/1
if an runtime error is what you want.
bengt
More information about the erlang-questions
mailing list