# Where to find internals documentation?

**URL:** https://discourse.julialang.org/t/where-to-find-internals-documentation/6642
**Category:** General Usage
**Tags:** question, documentation
**Created:** [October 23, 2017, 3:06pm UTC](https://discourse.julialang.org/t/where-to-find-internals-documentation/6642 "2017-10-23T15:06:35Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![chakravala](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chakravala/32/6832_2.png) [@chakravala](https://discourse.julialang.org/u/chakravala)
#### Post date: [October 23, 2017, 3:06pm UTC](https://discourse.julialang.org/t/where-to-find-internals-documentation/6642/1 "2017-10-23T15:06:35Z")

</div>

Will the internals of the Julia language be explained in detail somewhere in the future? I’d like to learn more about these features as well.

> **[Trie](https://en.wikipedia.org/wiki/Trie)**
>
> In computer science, a trie (/ˈtriː/, /ˈtraɪ/), also called digital tree or prefix tree, is a type of k-ary search tree, a tree data structure used for locating specific keys from within a set. These keys are most often strings, with links between nodes defined not by the entire key, but by individual characters. In order to access a key (to recover its value, change it, or remove it), the trie is traversed depth-first, following the links between nodes, which represent each character in the k

---

<div class="post-metadata">

### Author: ![ihnorton](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ihnorton/32/26_2.png) [@ihnorton](https://discourse.julialang.org/u/ihnorton)
#### Post date: [October 24, 2017, 2:25am UTC](https://discourse.julialang.org/t/where-to-find-internals-documentation/6642/2 "2017-10-24T02:25:52Z")

</div>

Start here for higher-level theory:

[https://julialang.org/publications/julia-fresh-approach-BEKS.pdf](https://julialang.org/publications/julia-fresh-approach-BEKS.pdf)

and here for an overview of the codebase, runtime, etc.:

[https://docs.julialang.org/en/stable/devdocs/init/](https://docs.julialang.org/en/stable/devdocs/init/)

---

<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: [October 24, 2017, 6:53am UTC](https://discourse.julialang.org/t/where-to-find-internals-documentation/6642/3 "2017-10-24T06:53:55Z")

</div>

In addition to what @ihnorton suggested: sometimes I find that I need more in-depth explanations about various design choices. Then I do the following:

1. I locate the code I want to learn more about, then use the `-L` option for `git` (eg `git log`) to identify commits that touched it (this is very easy in [magit](https://magit.vc/)).
2. From there I track the PR on Github,
3. Then the issues which reference it.

Usually the issues have a lot of discussion that help you trace the evolution of a certain piece of code.
