2018-10-02 19:07:06 +01:00
|
|
|
<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">
|
2018-10-02 20:59:59 +01:00
|
|
|
<title>Debugging Nix Expressions</title>
|
2018-10-02 19:07:06 +01:00
|
|
|
|
2018-10-02 20:59:59 +01:00
|
|
|
<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>
|
2018-10-02 19:07:06 +01:00
|
|
|
|
2018-10-02 20:59:59 +01:00
|
|
|
<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>
|