Is it intentional that the builting linreg is so picky about its inputs? It 
seems to me that the code is a one liner:
linreg{T<:Number}(X::AbstractVector{T}, y::AbstractVector{T}) = [ones(T, 
size(X,1)) X] \ y

but forcing the types to be the same for both seems strange to me as it 
throws errors for using unitranges, linranges etc..

Even the tests seem to do contortions to get around this, using x = 
[float(1:10);] calls

would there be any downside to just having

linreg(X::AbstractVector, y::AbstractVector) = [ones(size(X,1)) X] \ y

which would cause an error if x or y weren't compatible as the `\` operator 
would give an error.

Or is there a way to say that the are both abstract arrays of numbers but 
not the same type?

I could try to figure out how to implement this one line change if it is 
not the desired behavior and learn how to do a pull request. 

If it is a design choice can someone explain why it isn't just a pain in 
the ass?

Thanks so much.

Reply via email to