Say that I got a package
Foo and want my package to include some methods especially for handling DataFrames, and plots from Plots and Gadfly.
To do this, I could define something like
module Foo import DataFrames import Gadfly import Plots foo(x::DataFrames.DataFrame) = DataFrames.first(x, 5) foo(x::Gadfly.Plot) = x foo(x::Plots.Plot) = x end # module
However, if an user now want to use
Foo, the user has to install and precompile DataFrames, Plots and Gadfly even if the user has no intention of using any of these.
Is is possible to define the methods in Foo without importing the packages? (Or am I completely wrong, and would these imports not really affect the user?)