I’ll try to give an example of my problem based on how I’ve seen it occur in Stan.jl and Jags.jl.
Both DataFrames.jl and Mamba.jl export describe(). Stan.jl relies on Mamba, but neither Stan or Mamba need DataFrames. So DataFrames is not imported by default. Recently someone used Stan and wanted to read in a .csv file and added DataFrames to the using clause in the script, i.e. ``` using Gadfly, Stan, Mamba, DataFrames ``` After running a simulation, Mamba’s describe(::Mamba.Chains) could no longer be found. I wonder if someone can point me in the right direction how best to solve these kind of problems (for end users): 1. One way around it is to always qualify describe(), e.g. Mamba.describe(). 2. Use isdefined(Main, :DataFrames) to upfront test for such a collision. 3. Suggest to end users to import DataFrames and qualify e.g. DataFrames.readtable(). 4. ? Thanks and regards, Rob J. Goedman [email protected]
