# How do I find out about all the (very) specific functions in julia?

**URL:** https://discourse.julialang.org/t/how-do-i-find-out-about-all-the-very-specific-functions-in-julia/74010
**Category:** New to Julia
**Tags:** question
**Created:** [January 4, 2022, 12:32am UTC](https://discourse.julialang.org/t/how-do-i-find-out-about-all-the-very-specific-functions-in-julia/74010 "2022-01-04T00:32:50Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![jonoke](https://avatars.discourse-cdn.com/v4/letter/j/a8b319/32.png) [@jonoke](https://discourse.julialang.org/u/jonoke)
#### Post date: [January 4, 2022, 12:32am UTC](https://discourse.julialang.org/t/how-do-i-find-out-about-all-the-very-specific-functions-in-julia/74010/1 "2022-01-04T00:32:50Z")

</div>

Hi,

I’m working my way through exercism, and looking at community solutions I’m seeing all these very specific functions that I’m coding myself, eg findall

Where should I look to see all the functions julia is providing?

Thanks  
Jonathan.

---

<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 4, 2022, 2:42am UTC](https://discourse.julialang.org/t/how-do-i-find-out-about-all-the-very-specific-functions-in-julia/74010/2 "2022-01-04T02:42:42Z")

</div>

Just read the documentation, for example: [https://raw.githubusercontent.com/JuliaLang/docs.julialang.org/assets/julia-1.7.1.pdf](https://raw.githubusercontent.com/JuliaLang/docs.julialang.org/assets/julia-1.7.1.pdf)

---

<div class="post-metadata">

### Author: ![jzr](https://avatars.discourse-cdn.com/v4/letter/j/eb9ed0/32.png) [@jzr](https://discourse.julialang.org/u/jzr)
#### Post date: [January 4, 2022, 3:14am UTC](https://discourse.julialang.org/t/how-do-i-find-out-about-all-the-very-specific-functions-in-julia/74010/3 "2022-01-04T03:14:34Z")

</div>

The docs are available in html [Julia Documentation · The Julia Language](https://docs.julialang.org/en/v1/).

`findall` is in Base: [Arrays · The Julia Language](https://docs.julialang.org/en/v1/base/arrays/#Base.findall-Tuple%7BAny%7D)

---

<div class="post-metadata">

### Author: ![Bardo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bardo/32/21601_2.png) [@Bardo](https://discourse.julialang.org/u/Bardo)
#### Post date: [January 4, 2022, 5:37pm UTC](https://discourse.julialang.org/t/how-do-i-find-out-about-all-the-very-specific-functions-in-julia/74010/4 "2022-01-04T17:37:30Z")

</div>

Documentation, packages and code is also searchable on JuliaHub:  
[Documentation · arrays · JuliaHub](https://juliahub.com/ui/Search?q=arrays&type=docs)

---

<div class="post-metadata">

### Author: ![non-Jedi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/non-jedi/32/3645_2.png) [@non-Jedi](https://discourse.julialang.org/u/non-Jedi)
#### Post date: [January 4, 2022, 8:35pm UTC](https://discourse.julialang.org/t/how-do-i-find-out-about-all-the-very-specific-functions-in-julia/74010/5 "2022-01-04T20:35:12Z")

</div>

One thing I like to do from the REPL is using `apropos` which can also be accessed by putting quotation marks around a query in help mode. For example, if I was trying to find a function that looks for matches through a collection (`findall`) I might look at all the functions whose docstring contains the word “search”.

```julia
help?> apropos
search: apropos hasproperty

  apropos([io::IO=stdout], pattern::Union{AbstractString,Regex})

  Search available docstrings for entries containing pattern.

  When pattern is a string, case is ignored. Results are printed to io.

help?> "search"
Base.reverse
Base.include
Base.match
Base.MainInclude.include
Base.LOAD_PATH
Base.replace
Base.findall
Base.require
Base.eachmatch
Base.findfirst
Base.Sys.which
Base.DL_LOAD_PATH
Base.Libc.Libdl.find_library
Base.Libc.Libdl.dlopen
Base.BinaryPlatforms.detect_libstdcxx_version
Base.Sort.searchsortedfirst
Base.Sort.searchsorted
Base.Sort.searchsortedlast
Base.Docs.getdoc
Artifacts.@artifact_str
Artifacts.with_artifacts_directory
NetworkOptions.ca_roots
NetworkOptions.ssh_known_hosts_files
LinearAlgebra.eigvals!
LinearAlgebra.eigen
LinearAlgebra.LAPACK.gels!
Tar.create
InteractiveUtils.methodswith
LibGit2.GitDescribeResult
LibGit2.CheckoutOptions
LibGit2.isbinary
LibGit2.Consts.GIT_CONFIG
LibGit2.Consts.GIT_REPOSITORY_OPEN
REPL.stripmd
Base.Docs.apropos

```

---

<div class="post-metadata">

### Author: ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)
#### Post date: [January 4, 2022, 8:57pm UTC](https://discourse.julialang.org/t/how-do-i-find-out-about-all-the-very-specific-functions-in-julia/74010/6 "2022-01-04T20:57:29Z")

</div>

See also [https://github.com/tkf/InteractiveCodeSearch.jl](https://github.com/tkf/InteractiveCodeSearch.jl)

---

<div class="post-metadata">

### Author: ![rikh](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rikh/32/204104_2.png) [@rikh](https://discourse.julialang.org/u/rikh)
#### Post date: [January 5, 2022, 7:25am UTC](https://discourse.julialang.org/t/how-do-i-find-out-about-all-the-very-specific-functions-in-julia/74010/7 "2022-01-05T07:25:42Z")

</div>

`methodswith` can be very useful if you have an object and want to know what methods you can call on it. For example, for a `Date`:

```julia
julia> using Dates

julia> day = today()
2022-01-05

julia> typeof(day)
Date

julia> methodswith(typeof(day); supertypes=true)
[1] datetime2rata(dt::TimeType) in Dates at /nix/store/h53x3whi685kck84889h2cbaagjbmay8-julia-bin-1.6.5/share/julia/stdlib/v1.6/Dates/src/conversions.jl:99
[2] day(dt::TimeType) in Dates at /nix/store/h53x3whi685kck84889h2cbaagjbmay8-julia-bin-1.6.5/share/julia/stdlib/v1.6/Dates/src/accessors.jl:59
[3] dayabbr(dt::TimeType; locale) in Dates at /nix/store/h53x3whi685kck84889h2cbaagjbmay8-julia-bin-1.6.5/share/julia/stdlib/v1.6/Dates/src/query.jl:189
[4] dayname(dt::TimeType; locale) in Dates at /nix/store/h53x3whi685kck84889h2cbaagjbmay8-julia-bin-1.6.5/share/julia/stdlib/v1.6/Dates/src/query.jl:169
[5] dayofmonth(dt::TimeType) in Dates at /nix/store/h53x3whi685kck84889h2cbaagjbmay8-julia-bin-1.6.5/share/julia/stdlib/v1.6/Dates/src/accessors.jl:71
[6] dayofquarter(dt::TimeType) in Dates at /nix/store/h53x3whi685kck84889h2cbaagjbmay8-julia-bin-1.6.5/share/julia/stdlib/v1.6/Dates/src/query.jl:662
[7] dayofweek(dt::TimeType) in Dates at /nix/store/h53x3whi685kck84889h2cbaagjbmay8-julia-bin-1.6.5/share/julia/stdlib/v1.6/Dates/src/query.jl:121
[8] dayofweekofmonth(dt::TimeType) in Dates at /nix/store/h53x3whi685kck84889h2cbaagjbmay8-julia-bin-1.6.5/share/julia/stdlib/v1.6/Dates/src/query.jl:222
[9] dayofyear(dt::TimeType) in Dates at /nix/store/h53x3whi685kck84889h2cbaagjbmay8-julia-bin-1.6.5/share/julia/stdlib/v1.6/Dates/src/query.jl:643
[10] daysinmonth(dt::TimeType) in Dates at /nix/store/h53x3whi685kck84889h2cbaagjbmay8-julia-bin-1.6.5/share/julia/stdlib/v1.6/Dates/src/query.jl:619
[11] daysinyear(dt::TimeType) in Dates at /nix/store/h53x3whi685kck84889h2cbaagjbmay8-julia-bin-1.6.5/share/julia/stdlib/v1.6/Dates/src/query.jl:645
[...]

```

---

<div class="post-metadata">

### Author: ![trilobit](https://avatars.discourse-cdn.com/v4/letter/t/a8b319/32.png) [@trilobit](https://discourse.julialang.org/u/trilobit)
#### Post date: [January 5, 2022, 10:29am UTC](https://discourse.julialang.org/t/how-do-i-find-out-about-all-the-very-specific-functions-in-julia/74010/8 "2022-01-05T10:29:59Z")

</div>

You can do this:

using packagename

In the REPL you enter:

packagename. [press tab-key twice]

The dot (.) behind the packagename is necessary. Then you can enter

?packagename.function [return]

i.e.

 ![Untitled 1](https://global.discourse-cdn.com/julialang/original/3X/3/4/343e00b218aa8fbaa1ad29c6be8c164d2f4bbca4.png)
