anchor.diff: +%% @doc Utility functions.
   -module(clj_utils).
   
   -include("clojerl.hrl").
  
positive.code:   Negate = hd(Groups) == "-",
    {Result, case Negate of true -> -1; false -> 1 end}.
  
  -spec parse_float([string()]) -> float().
  parse_float(Groups) ->
    %% When there is no decimal part we add it so we can use
  
negative.code: %% Exported functions
  %%------------------------------------------------------------------------------
  
  %% @doc Parses a binary into an integer or a float.
  %%
  %% Generates an error when it can't parse the input into a either.
  -spec parse_number(binary(), [{number_type(), re:mp()}]) -> number().
  parse_number(Number, Types) ->
    Result = case number_type(Number, Types) of
  