anchor.diff:        end;
       [Ch | _] ->
         {{ok, Ch}, State}
  -  end.
  -
  -input_file_is_char_ready({Buf, _}) ->
  -  case Buf of
  -    [] -> {ok, false}; % alas, file: doesn't support non-blocking peeks
  -    [_|_] -> {ok, true}
     end.
   
   %% Standard input port
  
positive.code: 	  {R, State1} = (Fns#input_port_fns.peek_char)(State0),
  	  Pid ! {self(), R},
  	  handle_input_port(State1, Fns);
  	'is_char_ready' ->
  	  R = (Fns#input_port_fns.is_char_ready)(State0),
  	  Pid ! {self(), R},
  	  handle_input_port(State0, Fns);
  	'close' ->
  	  R = (Fns#input_port_fns.close)(State0),
  	  Pid ! {self(), R};
  
negative.code:   Fns = #input_port_fns
      {close = fun ktrue/1,
       read_char = fun stdin_read_char/1,
       peek_char = fun stdin_peek_char/1},
    open_input_port(State, Fns).
  
  stdin_read_char(State) ->
  