If you want to reap the benefits of the UnitRange, such as a constant sized representation regardless of collection size, then you can define your own type that satisfies the iterator interface. This is the most flexible option and an explanation can be found in http://docs.julialang.org/en/release-0.4/manual/interfaces/.
If you are thinking of UnitRange as a lazy list, then you might be interested in https://github.com/MikeInnes/Lazy.jl. Lazy.jl is more than you asked for but might have other functions that you want.
