# How to list all the functions and types in Base?

**URL:** <https://discourse.julialang.org/t/how-to-list-all-the-functions-and-types-in-base/108756>\
**Category:** General Usage\
**Tags:** question\
**Created:** [January 13, 2024, 3:39am UTC](https://discourse.julialang.org/t/how-to-list-all-the-functions-and-types-in-base/108756 "2024-01-13T03:39:09Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![jiang\_ming\_zhang](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jiang_ming_zhang/32/204063_2.png) [@jiang\_ming\_zhang](https://discourse.julialang.org/u/jiang_ming_zhang)\
**Post date:** [January 13, 2024, 3:39am UTC](https://discourse.julialang.org/t/how-to-list-all-the-functions-and-types-in-base/108756/1 "2024-01-13T03:39:09Z")

</div>

I want a complete list of functions in the Base module. What should I do?

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [January 13, 2024, 7:07am UTC](https://discourse.julialang.org/t/how-to-list-all-the-functions-and-types-in-base/108756/2 "2024-01-13T07:07:06Z")

</div>

```julia
names(Base)

```

or

```julia
function list_functions()
    fncs = filter( x -> isa(getfield(Base, x), Function), names(Base))
    for (i, fn) in pairs(fncs)
        println(fn)
        if (mod(i, 10)) == 0
            println("Press enter to continue...")
            readline()
        end
    end
end

```

see: [How do I get a list of functions defined in a module?](https://discourse.julialang.org/t/how-do-i-get-a-list-of-functions-defined-in-a-module/22266)

---

<div class="post-metadata">

**Author:** ![GHTaarn](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ghtaarn/32/216007_2.png) [@GHTaarn](https://discourse.julialang.org/u/GHTaarn)\
**Post date:** [January 13, 2024, 9:39am UTC](https://discourse.julialang.org/t/how-to-list-all-the-functions-and-types-in-base/108756/3 "2024-01-13T09:39:59Z")

</div>

If you are in the REPL, then typing `Base.` and hitting the “Tab” key will also display them.

(But this and `names(Base)` will give you other variables and constants as well)

---

<div class="post-metadata">

**Author:** ![goerz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/goerz/32/3269_2.png) [@goerz](https://discourse.julialang.org/u/goerz)\
**Post date:** [January 13, 2024, 12:11pm UTC](https://discourse.julialang.org/t/how-to-list-all-the-functions-and-types-in-base/108756/4 "2024-01-13T12:11:21Z")

</div>

If you’re only interested in functions and types that appear in the [documentation](https://docs.julialang.org/en/v1/), there’s a file [“Julia.toml.zip”](https://github.com/JuliaDocs/DocumenterInterLinks.jl/files/13852527/Julia.toml.zip) at [Inventory File Repository · JuliaDocs/DocumenterInterLinks.jl Wiki · GitHub](https://github.com/JuliaDocs/DocumenterInterLinks.jl/wiki/Inventory-File-Repository) which (after you unzip it) you can inspect with your text editor, [the standard-library `TOML` module](https://docs.julialang.org/en/v1/stdlib/TOML/), or the [`DocInventories` package](https://github.com/JuliaDocs/DocInventories.jl)

---

<div class="post-metadata">

**Author:** ![jiang\_ming\_zhang](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jiang_ming_zhang/32/204063_2.png) [@jiang\_ming\_zhang](https://discourse.julialang.org/u/jiang_ming_zhang)\
**Post date:** [January 18, 2024, 11:04pm UTC](https://discourse.julialang.org/t/how-to-list-all-the-functions-and-types-in-base/108756/5 "2024-01-18T23:04:28Z")

</div>

> [@ufechner7](#):
>
> ```julia
> names(Base)
> 
> ```

```julia
julia> names(Base)
967-element Vector{Symbol}:
 :!
 :!=
 :!==
 :%
 ⋮
 :⊻
 :⊼
 :⊽

```

How to show the list completely?

---

<div class="post-metadata">

**Author:** ![bertschi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bertschi/32/33462_2.png) [@bertschi](https://discourse.julialang.org/u/bertschi)\
**Post date:** [January 18, 2024, 11:19pm UTC](https://discourse.julialang.org/t/how-to-list-all-the-functions-and-types-in-base/108756/6 "2024-01-18T23:19:18Z")

</div>

```julia
println.(names(Base));

```

---

<div class="post-metadata">

**Author:** ![rafael.guerra](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rafael.guerra/32/216610_2.png) [@rafael.guerra](https://discourse.julialang.org/u/rafael.guerra)\
**Post date:** [January 18, 2024, 11:37pm UTC](https://discourse.julialang.org/t/how-to-list-all-the-functions-and-types-in-base/108756/7 "2024-01-18T23:37:58Z")

</div>

And with the items numbered to help while scrolling:

```julia
foreach(println, pairs(names(Base)))

```

---

<div class="post-metadata">

**Author:** ![GHTaarn](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ghtaarn/32/216007_2.png) [@GHTaarn](https://discourse.julialang.org/u/GHTaarn)\
**Post date:** [January 19, 2024, 2:18am UTC](https://discourse.julialang.org/t/how-to-list-all-the-functions-and-types-in-base/108756/8 "2024-01-19T02:18:56Z")

</div>

The [TerminalPager](https://github.com/ronisbr/TerminalPager.jl) package is also good at handling multi-page results. I particularly like the less known commandline mode that can be activated by typing `| ` as the first character on a line, whereafter you can scroll with the usual arrow, PageDown etc keys and quit with `q`.
