# Module loading \`import Module: foo\`

**URL:** https://discourse.julialang.org/t/module-loading-import-module-foo/40957
**Category:** General Usage
**Created:** [June 7, 2020, 11:01pm UTC](https://discourse.julialang.org/t/module-loading-import-module-foo/40957 "2020-06-07T23:01:10Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![jamblejoe](https://avatars.discourse-cdn.com/v4/letter/j/ee7513/32.png) [@jamblejoe](https://discourse.julialang.org/u/jamblejoe)
#### Post date: [June 7, 2020, 11:01pm UTC](https://discourse.julialang.org/t/module-loading-import-module-foo/40957/1 "2020-06-07T23:01:10Z")

</div>

Hi,  
I have a function e.g. `solve` in one of my modules and will use that module together with `DifferentailEquations`. The function in my module does something similar, that’s why the same name. To not override `solve`, I first do

```julia
import DifferentialEquations: solve

```

and then savely add another method to solve (no clashes, as I am not overriding any functionality of `solve` from `DifferentialEquations`), so I can load it together with `DifferentialEquations`. Now, `DifferentialEquations` has a long compile and load time, so I do want to avoid having my module depend on `DifferentialEquations`. What would be ways around that?

I know that there is `Recipes` to deal with a (similar?) problem when adding plotting functionality but not wanting to depend on specific plotting modules. But I think my use case is a bit different, because I do not call anything from `DifferentialEquations`.

---

<div class="post-metadata">

### Author: ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)
#### Post date: [June 8, 2020, 6:52am UTC](https://discourse.julialang.org/t/module-loading-import-module-foo/40957/2 "2020-06-08T06:52:57Z")

</div>

If you are extending a method, you have to load the particular package — there is no way around that.

To make this faster, well-designed APIs usually group methods and types like this in a lightweight mini-package. This seems to be the case for `solve`: using

> **[GitHub - SciML/DiffEqBase.jl: The lightweight Base library for shared types...](https://github.com/SciML/DiffEqBase.jl)**
>
> The lightweight Base library for shared types and functionality for defining differential equation and scientific machine learning (SciML) problems - GitHub - SciML/DiffEqBase.jl: The lightweight B...

may be enough.

---

<div class="post-metadata">

### Author: ![jamblejoe](https://avatars.discourse-cdn.com/v4/letter/j/ee7513/32.png) [@jamblejoe](https://discourse.julialang.org/u/jamblejoe)
#### Post date: [June 8, 2020, 1:42pm UTC](https://discourse.julialang.org/t/module-loading-import-module-foo/40957/3 "2020-06-08T13:42:53Z")

</div>

Thanks! That works for me!
