# Re-use Base function name in a module?

**URL:** <https://discourse.julialang.org/t/re-use-base-function-name-in-a-module/7575>\
**Category:** General Usage\
**Created:** [December 6, 2017, 5:43pm UTC](https://discourse.julialang.org/t/re-use-base-function-name-in-a-module/7575 "2017-12-06T17:43:10Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![ggggggggg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ggggggggg/32/265_2.png) [@ggggggggg](https://discourse.julialang.org/u/ggggggggg)\
**Post date:** [December 6, 2017, 5:43pm UTC](https://discourse.julialang.org/t/re-use-base-function-name-in-a-module/7575/1 "2017-12-06T17:43:10Z")

</div>

Consider creating a module `A` with a function called `split` inside of it. Then I can call the function as `A.split` without clobbering or extending `Base.split`, so it could have a different meaning. Within `A` I would have to qualify any use of `Base.split`, but otherwise it seems pretty reasonable to me.

```julia
module A
    split(x,y) = "A split"
end
A.split("abc","cdef")

```

The following gives me pause, every module has `Base.split` available at all times

```julia
julia> module B
       end
B

julia> B.split("abc","b")
2-element Array{SubString{String},1}:
 "a"
 "c"

```

Anybody have any thoughts on re-using base function names inside a module? I was trying to avoid something like this, where I essentially repeat the module name:

```julia
module C
    csplit(x,y) = "c split"
end

```

---

<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:** [December 6, 2017, 6:16pm UTC](https://discourse.julialang.org/t/re-use-base-function-name-in-a-module/7575/2 "2017-12-06T18:16:40Z")

</div>

```julia
baremodule A
    split(x,y) = "A split"
end

```
