On Wednesday, November 18, 2015 at 7:56:13 AM UTC-5, NotSoRecentConvert 
wrote:
>
> It works now.
>
> @bernhard, my problem wasn't with joinpath but with the changes to the 
> string types. My code used String so it didn't care if it was ASCIIString 
> or UTF8String and swapping String with AbstractString didn't work 
> initially. I was also using the joinpath code as an example to figure out 
> of the devs do it.
>
> @Milan Bouchet-Valat, there must have been a change in the way parametric 
> variables are parsed. You can see the before and after below. I also had 
> some strange inconsistencies. For a while I was using *reload* to update 
> changes but it wasn't updating the function definitions so I had to keep 
> restarting Julia to properly test everything.
>
>
> *Before*
>
>
>
>
>
> *function dirlist(directory::ASCIIString;args...)function 
> dirlist(directories::Array{ASCIIString,1};recur=typemax(Int64),regex=r"")After*
> function dirlist(directory::AbstractString;args...)
>
> function dirlist{T <: AbstractString}(directories::Array{T,1};recur=
> typemax(Int64),regex=r"")
>

These definitions are more general than the old definitions, so if you call 
them with ASCIIString arguments then it will still call the old definitions.

If you reload a file and change a function while keeping the same argument 
types, it will *replace* the old method.  But if you reload a file with a 
changed function signature (changed types), then it will *supplement* the 
old method. 

Reply via email to