
  -spec eval(Filename) -> ok | {error, Reason}
                when
                    Filename :: name_all(),
                    Reason ::
                        posix() |
                        badarg | terminated | system_limit |
                        {Line :: integer(),
                         Mod :: module(),
                         Term :: term()}.

  Reads and evaluates Erlang expressions, separated by '.' (or ',',
  a sequence of expressions is also an expression) from Filename.
  The result of the evaluation is not returned; any expression
  sequence in the file must be there for its side effect. Returns
  one of the following:

  ok:
    The file was read and evaluated.

  {error, atom()}:
    An error occurred when opening the file or reading it. For a
    list of typical error codes, see open/2.

  {error, {Line, Mod, Term}}:
    An error occurred when interpreting the Erlang expressions in
    the file. To convert the three-element tuple to an English
    description of the error, use format_error/1.

  The encoding of Filename can be set by a comment, as described
  in epp(3).
