I was just trying to share some of my own experience with Julia from having used it for the last two years, not be dismissive or condescending. That this hasn't been a show-stopper for some 300+ packages now, IMO, *is* a valid point against making a somewhat disruptive change to the type system.
By stating that I come from a *non*-technical background, I was also trying to qualify that you may feel free to dismiss my argument because I may well be talking nonsense :). -Jacob On Wed, Apr 30, 2014 at 11:30 AM, Oliver Woodford <[email protected] > wrote: > On Wednesday, April 30, 2014 3:46:54 PM UTC+1, Jacob Quinn wrote: >> >> function frob(x::Array) >> isleaftype(eltype(x)) || error("Homogeneous array required')? >> >> Though, IMO, this is all a non-issue in my experience. Just specifying >> frob{T<:Real}(x::Vector{T}) gets you exactly what you want--the ability to >> have JIT generate fast, efficient code for a range of types that the user >> can specify. The fact that this has never come up before or in any package >> implementations, to me, indicates that this issue if more of getting used >> to idiomatic Julia and spending some time playing with parametric types and >> the interactions with the type hierarchy. >> > I come from a non-technical background and at first, the idea of >> parametric functions/types was a little wild and hard to wrap my head >> around, but after reading through the manual several times (which has a lot >> of great stuff!) and developing my own non-trivial codebase (Datetime.jl), >> I feel I'm comfortable with use cases and how they work in general. I think >> if you spend some more time developing code, poking around popular packages >> and Base, you'll come to find that there isn't really anything broken here >> (though quite possibly some things that need cleaned up a little). >> > >> Cheers, >> >> -Jacob >> >> > > I have started developing my own non-trivial code base, which is what > prompted me to start this thread. I also have a technical background. > > You don't care whether someone uses homogeneous or heterogeneous arrays. > Maybe you think it's their problem if they make things slow. I want to make > them aware of it. On that we differ. > > What I find absurd is that, rather than accept that different position, > based on the explanation I have given (to make things fast), or make a > point which invalidates my argument, you attempt to explain away this need > by the fact that I am new to the language and that I'm simply not used to > it. > > You have taken a very concrete point that I make, and attempted to dismiss > it with the suggestion that I simply don't know what I'm talking about. Not > at all constructive. > >
