aboutsummaryrefslogtreecommitdiff
path: root/src/content/chapter2_flow_control/lesson05_recursion/en.html
blob: f1585bbd22129e8965913cb5a632a5cb7ece1384 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<p>
  Gleam doesn't have loops, instead iteration is done through recursion, that is
  through top-level functions calling themselves with different arguments.
</p>
<p>
  A recursive function needs to have at least one <em>base case</em> and at
  least one <em>recursive case</em>. A base case returns a value without calling
  the function again. A recursive case calls the function again with different
  inputs, looping again.
</p>
<p>
  The Gleam standard library has functions for various common looping patterns,
  some of which will be introduced in later lessons, however for more complex
  loops manual recursion is often the clearest way to write it.
</p>
<p>
  Recursion can seem daunting or unclear at first if you are more familiar with
  languages that have special looping features, but stick with it! With time
  it'll become just as familiar and comfortable as any other way of iterating.
</p>