Thank you for your answers, they helped me a lot. I don't have a 
Python-like solution yet, but I have a starting point.

On Wednesday, February 24, 2016 at 6:33:51 PM UTC-5, Yichao Yu wrote:
>
> On Wed, Feb 24, 2016 at 6:21 PM, Jeffrey Sarnoff 
> <[email protected] <javascript:>> wrote: 
> > To allow different independent capabilities and have them be read only 
> if 
> > chosen, you should have each capability be written as a separate module 
> with 
> > its own [set of] files. 
> > If you want the user to see them as subordinate to a larger package, let 
> the 
> > larger package import each conditionally. 
> > 
> > Currently, the only way I know to do that is to check for a global 
> symbol. 
>
>
> Conditional modules and seperated sub-modules are currently not 
> supported. Ref https://github.com/JuliaLang/julia/issues/6195 
> https://github.com/JuliaLang/julia/issues/4600 
>
> > 
> > 
> > Module ScikitLearn 
> > 
> >   if isdefined(Main, :skLinearModel) && Main.skLinearModel==true 
> >      include("models/LinearModel.jl")  # or perhaps with @reexport 
> >   end 
> > 
> > end 
> > 
> > Then, before using ScikitLearn, define skLinearModel true. 
> > 
> > julia> skLinearModel=true 
> > julia> using ScikitLearn 
> > 
> > 
> > On Wednesday, February 24, 2016 at 4:28:08 PM UTC-5, Cedric St-Jean 
> wrote: 
> >> 
> >> 
> >> 
> >> On Wednesday, February 24, 2016 at 4:15:49 PM UTC-5, Jeffrey Sarnoff 
> >> wrote: 
> >>> 
> >>> This should not be a problem.  What is your concern? 
> >> 
> >> 
> >> Loading time/RAM usage. I'm trying to wrap/port scikit-learn, and their 
> >> module arrangement makes a lot of sense. In Python, I don't get to load 
> code 
> >> for support vector machines unless I actually need them. 
> >> 
> >> import sklearn.svm 
> >> 
> >> I could define separate modules like "sklearn_svm", "sklearn_cluster", 
> but 
> >> it's awfully ugly. 
> >> 
> >>> 
> >>> On Wednesday, February 24, 2016 at 3:45:50 PM UTC-5, Cedric St-Jean 
> >>> wrote: 
> >>>> 
> >>>> In Python, loading a module (i.e. importing a file) does not load 
> >>>> sub-modules, eg.: 
> >>>> 
> >>>> import sklearn 
> >>>> import sklearn.linear_model 
> >>>> 
> >>>> Is there any way to achieve the same thing in Julia? 
> >>>> 
> >>>> module A 
> >>>> println("loaded A") 
> >>>> 
> >>>> module B 
> >>>> println("loaded B") 
> >>>> end 
> >>>> 
> >>>> end 
> >>>> 
> >>>> Can I have "loaded A" without "loaded B"? 
>

Reply via email to