summary refs log tree commit diff
path: root/doc/functions/debug.xml
blob: 272bdf55513f53ccb3dd8d906f83e4e4cc729758 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<section xmlns="http://docbook.org/ns/docbook"
         xmlns:xlink="http://www.w3.org/1999/xlink"
         xmlns:xi="http://www.w3.org/2001/XInclude"
         xml:id="sec-debug">
  <title>Debugging Nix Expressions</title>

  <para>
   Nix is a unityped, dynamic language, this means every value can potentially
   appear anywhere. Since it is also non-strict, evaluation order and what
   ultimately is evaluated might surprise you. Therefore it is important to be
   able to debug nix expressions.
  </para>

  <para>
   In the <literal>lib/debug.nix</literal> file you will find a number of
   functions that help (pretty-)printing values while evaluation is runnnig.
   You can even specify how deep these values should be printed recursively,
   and transform them on the fly. Please consult the docstrings in
   <literal>lib/debug.nix</literal> for usage information.
  </para>
 </section>