anchor.diff:    {ok, Bin} = file:read_file(InFile),
     template_string(binary_to_list(Bin), Options2).
   
  -template_stream(Stream) -> template_stream(Stream, []).
  -
   template_stream(Stream, Options) ->
     Str = io:get_chars(Stream, "", 1024000),
     template_string(Str, Options).
  -
  -template_string(Str) -> template_string(Str, []).
   
   template_string(Str, Options) ->
     Options2 = other_options(Options),
     AST = zml_indent:tokenize_string(Str), % TODO: pass options here
     AST2 = run_specialized_handlers(AST, Options2),
     translate_ast_item(AST2, []).
  -
  -
  -render(Template) -> render(Template, fake).
  -
  -render(Template, Data) -> zml_render:render(Template, Data).
   
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   
  
positive.code: 
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  start() ->
    ets:new(zml_templates, [set, public, named_table]).
  
  
  template_dir(DirName, Options) ->
    Dir = lists:reverse(case lists:reverse(DirName) of
      [$/|_] = T -> T;
      Rid -> [$/|Rid]
    end),
    case file:list_dir(Dir) of
      {ok, Files} ->
        lists:foreach(fun(FName) ->
          case string:right(FName, 5) of
            [_|".zml"] -> template(Dir ++ FName, Options);
            _ -> nothing
          end end, Files);
      Err -> Err
    end.
  
  % @return ZML template
  template(FName, Options) ->
    {ok, FileInfo} = file:read_file_info(FName),
    NewTs = FileInfo#file_info.mtime,
    case ets:lookup(zml_templates, FName) of
      [{_FName, Ts, Templ}] when Ts >= NewTs -> Templ;
      _ -> NewTempl = template_file(FName, Options),
           ets:insert(zml_templates, {FName, NewTs, NewTempl}),
           NewTempl
    end.
  
  
  template_file(InFile) -> template_file(InFile, []).
  
  template_file(InFile, Options) ->
    SourceFName = filename:absname(InFile),
  
negative.code: -module(zml).
  
  % Main function
  -export([ compile_files/0, compile_files/1,
            start/0, template_dir/2, render/3 ]).
  
  -include_lib("kernel/include/file.hrl").
  
  