On Monday, 8 September 2014 14:54:50 UTC+1, Tony Fong wrote:
>
> @snotskie looped me into this discussion in the context of Lint
>
> I have updated Lint.jl (v0.1.1) to give warnings over
> * for-loop when the iterable is just a literal number
> * nested vcat, i.e.[[1,2],[3,4]]. Other array formats are unaffected since 
> their ASTs are distinct.
>
> Tony
>

That's a definite help. Would it be worth (or feasible) generalising to 
integer variables too? It wouldn't help in the sample function I gave, but 
you could catch cases like:

julia> function sumto(n :: Int)
           total = 0
           for i in n
               total = total + i
           end
           return total
       end

I'd be really interested in seeing an example where this behaviour makes 
code nicer. If an integer value can be seen as an array of length zero, is 
there something special about numeric arrays? Given an array of arbitrary 
type T, should a user always expect that values of type T are iterable?

If there's any interest, I'd be interested in writing a PR to change this 
behaviour, as an excuse to familiarise myself with Julia's internals.

Wilfred

Reply via email to