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
goed...@mac.com





Reply via email to