# Julep: Taking multiple dispatch,export,import,binary compilation seriously

**URL:** <https://discourse.julialang.org/t/julep-taking-multiple-dispatch-export-import-binary-compilation-seriously/10882>\
**Category:** Internals & Design\
**Tags:** namespaces\
**Created:** [May 14, 2018, 9:58am UTC](https://discourse.julialang.org/t/julep-taking-multiple-dispatch-export-import-binary-compilation-seriously/10882 "2018-05-14T09:58:33Z")\
**Posts on this page:** 1\
**Showing post:** 97

<div class="post-metadata">

**Author:** ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Post date:** [May 16, 2018, 11:04pm UTC](https://discourse.julialang.org/t/julep-taking-multiple-dispatch-export-import-binary-compilation-seriously/10882/97 "2018-05-16T23:04:13Z")

</div>

> [@StefanKarpinski](#):
>
> Conflicting names can be an annoyance, but it’s not the end of the world. In case of conflict, be explicit: import or qualify. There’s no free lunch.

The problem is with large modules which export a lot of things, including one or two which will conflict with another module. I don’t think you can do

```julia
using AModule

```

for everything and then use `import` only for the conflicting name. Once there is a conflict, you have to explicitly import everything. (Am I perhaps misinterpreting the rules here? At least this is what my experiments tell me. There is no error, but there’s always a warning.) That is a hassle, and that is why I longed for `using except`.

```julia
module AModule
export fun, notfun
function fun()
    println("AModule fun")
end
function notfun()
    println("AModule notfun")
end
end

module BModule
export fun, alwaysfun
function fun()
    println("BModule fun")
end
function alwaysfun()
    println("BModule alwaysfun")
end
end

using .AModule
fun()
using .BModule
BModule.fun()
alwaysfun()

```

gives

```julia
julia> include("test/playground.jl")
AModule fun
WARNING: using BModule.fun in module Main conflicts with an existing identifier.
BModule fun
BModule alwaysfun

```

EDIT: THIS IS A NON-ISSUE. SEE BELOW IN STEFAN’S EXPLANATION.

---

_[View the full topic](https://discourse.julialang.org/t/julep-taking-multiple-dispatch-export-import-binary-compilation-seriously/10882)._
