When converting my script into a Module, some problems cropped up accessing the isna(...) function from DataArrays.
I managed to reduce the problem into a namespace resolution problem: When using a Module inside a Module definition, the recursivity of name search is not working. In the example below: isna(...) from DataArrays is not available to TestUsing after it issued a "using DataFrames". The question is: Is this the behaviour we would/should want? This is a simple demonstration of the issue: module TestUsing using DataFrames function testisna1() isna(100) end function testisna2() DataArrays.isna(100) end function testisna3() DataFrames.DataArrays.isna(100) end end # Module TestUsing and the interaction from the REPL: _ _ _(_)_ | A fresh approach to technical computing (_) | (_) (_) | Documentation: http://docs.julialang.org _ _ _| |_ __ _ | Type "help()" to list help topics | | | | | | |/ _' | | | | |_| | | | (_| | | Version 0.3.0-prerelease+2918 (2014-05-06 22:29 UTC) _/ |\__'_|_|_|\__'_| | Commit 104568c (7 days old master) |__/ | i686-linux-gnu julia> julia> using TestUsing Warning: New definition isequal(NAtype,Any) at /home/dan/.julia/v0.3/DataArrays/src/operators.jl:556 is ambiguous with: isequal(Any,WeakRef) at base.jl:114. To fix, define isequal(NAtype,WeakRef) before the new definition. Warning: New definition isequal(Any,NAtype) at /home/dan/.julia/v0.3/DataArrays/src/operators.jl:557 is ambiguous with: isequal(WeakRef,Any) at base.jl:113. To fix, define isequal(WeakRef,NAtype) before the new definition. Warning: ignoring conflicting import of StatsBase.range into DataFrames julia> TestUsing.testisna() ERROR: testisna not defined julia> TestUsing.testisna2() ERROR: DataArrays not defined in testisna2 at /home/dan/projects/julia-housing/TestUsing.jl:10 julia> TestUsing.testisna3() false