# Prepended underscore in Base functions

**URL:** <https://discourse.julialang.org/t/prepended-underscore-in-base-functions/19645>\
**Category:** New to Julia\
**Created:** [January 15, 2019, 2:53am UTC](https://discourse.julialang.org/t/prepended-underscore-in-base-functions/19645 "2019-01-15T02:53:50Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![stevengj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stevengj/32/71_2.png) [@stevengj](https://discourse.julialang.org/u/stevengj)\
**Post date:** [January 15, 2019, 4:49pm UTC](https://discourse.julialang.org/t/prepended-underscore-in-base-functions/19645/3 "2019-01-15T16:49:02Z")

</div>

> [@aortizb](#):
>
> Is this prepended underscore a convention in Julia to indicate that a function is local to a module/method/function and thus not intended to be exported?

Yes, by convention a single leading underscore refers to functions for internal use only, [similar to Python](https://www.python.org/dev/peps/pep-0008/).

> [@Nosferican](#):
>
> The convention is for these functions to be called as part of a pipeline dispatch, for example,

This is one example, but there are lots of other internal functions, e.g. `Base._unsetenv` that are not used in this way.

In general, an prepended underscore is typically used to indicate some kind of internal implementation detail, especially functions that make special assumptions about the arguments and so aren’t safe for external use.

---

_[View the full topic](https://discourse.julialang.org/t/prepended-underscore-in-base-functions/19645)._
