added prime generation function with Erlang style lazy evaluation
added lazy evaluation, fixed bug when range is [1, 1]