\doxysection{debug.\+h}
\hypertarget{debug_8h_source}{}\label{debug_8h_source}\index{workspace/post-\/scarcity/src/debug.h@{workspace/post-\/scarcity/src/debug.h}}
\mbox{\hyperlink{debug_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00001}00001\ \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00002}00002\ \textcolor{comment}{\ *\ debug.h}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00003}00003\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00004}00004\ \textcolor{comment}{\ *\ Better\ debug\ log\ messages.}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00005}00005\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00006}00006\ \textcolor{comment}{\ *\ (c)\ 2017\ Simon\ Brooke\ <simon@journeyman.cc>}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00007}00007\ \textcolor{comment}{\ *\ Licensed\ under\ GPL\ version\ 2.0,\ or,\ at\ your\ option,\ any\ later\ version.}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00008}00008\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00009}00009\ }
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00010}00010\ \textcolor{preprocessor}{\#include\ <ctype.h>}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00011}00011\ \textcolor{preprocessor}{\#include\ <stdio.h>}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00012}00012\ }
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00013}00013\ \textcolor{preprocessor}{\#ifndef\ \_\_debug\_print\_h}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00014}00014\ \textcolor{preprocessor}{\#define\ \_\_debug\_print\_h}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00015}00015\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00016}00016\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00017}00017\ \textcolor{comment}{\ *\ @brief\ Print\ messages\ debugging\ memory\ allocation.\ }}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00018}00018\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00019}00019\ \textcolor{comment}{\ *\ Flag\ interpretation\ for\ the\ value\ of\ \`{}verbosity`,\ defined\ in\ \`{}debug.c`,\ q.v.}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00020}00020\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00021}\mbox{\hyperlink{debug_8h_ab99ea81093661d24ffaaa4e85cb2387a}{00021}}\ \textcolor{preprocessor}{\#define\ DEBUG\_ALLOC\ 1}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00022}00022\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00023}00023\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00024}00024\ \textcolor{comment}{\ *\ @brief\ Print\ messages\ debugging\ arithmetic\ operations.}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00025}00025\ \textcolor{comment}{\ *\ }}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00026}00026\ \textcolor{comment}{\ *\ Flag\ interpretation\ for\ the\ value\ of\ \`{}verbosity`,\ defined\ in\ \`{}debug.c`,\ q.v.}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00027}00027\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00028}\mbox{\hyperlink{debug_8h_a31067039d5f8f06bec3f2f94af168ed5}{00028}}\ \textcolor{preprocessor}{\#define\ DEBUG\_ARITH\ 2}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00029}00029\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00030}00030\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00031}00031\ \textcolor{comment}{\ *\ @brief\ Print\ messages\ debugging\ symbol\ binding.}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00032}00032\ \textcolor{comment}{\ *\ }}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00033}00033\ \textcolor{comment}{\ *\ Flag\ interpretation\ for\ the\ value\ of\ \`{}verbosity`,\ defined\ in\ \`{}debug.c`,\ q.v.}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00034}00034\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00035}\mbox{\hyperlink{debug_8h_a3af1a0a61320e3e1e759a25bb0749f53}{00035}}\ \textcolor{preprocessor}{\#define\ DEBUG\_BIND\ 4}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00036}00036\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00037}00037\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00038}00038\ \textcolor{comment}{\ *\ @brief\ Print\ messages\ debugging\ bootstrapping\ and\ teardown.}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00039}00039\ \textcolor{comment}{\ *\ }}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00040}00040\ \textcolor{comment}{\ *\ Flag\ interpretation\ for\ the\ value\ of\ \`{}verbosity`,\ defined\ in\ \`{}debug.c`,\ q.v.}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00041}00041\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00042}\mbox{\hyperlink{debug_8h_ac0ce29ed5d36c52427f526f0b1741cf8}{00042}}\ \textcolor{preprocessor}{\#define\ DEBUG\_BOOTSTRAP\ 8}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00043}00043\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00044}00044\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00045}00045\ \textcolor{comment}{\ *\ @brief\ Print\ messages\ debugging\ evaluation.}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00046}00046\ \textcolor{comment}{\ *\ }}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00047}00047\ \textcolor{comment}{\ *\ Flag\ interpretation\ for\ the\ value\ of\ \`{}verbosity`,\ defined\ in\ \`{}debug.c`,\ q.v.}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00048}00048\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00049}\mbox{\hyperlink{debug_8h_afac31e745564644b8a5c242dc195844c}{00049}}\ \textcolor{preprocessor}{\#define\ DEBUG\_EVAL\ 16}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00050}00050\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00051}00051\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00052}00052\ \textcolor{comment}{\ *\ @brief\ Print\ messages\ debugging\ input/output\ operations.}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00053}00053\ \textcolor{comment}{\ *\ }}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00054}00054\ \textcolor{comment}{\ *\ Flag\ interpretation\ for\ the\ value\ of\ \`{}verbosity`,\ defined\ in\ \`{}debug.c`,\ q.v.}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00055}00055\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00056}\mbox{\hyperlink{debug_8h_aa1b2b9f2886a468441606f89913c0c59}{00056}}\ \textcolor{preprocessor}{\#define\ DEBUG\_IO\ 32}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00057}00057\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00058}00058\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00059}00059\ \textcolor{comment}{\ *\ @brief\ Print\ messages\ debugging\ lambda\ functions\ (interpretation).}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00060}00060\ \textcolor{comment}{\ *\ }}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00061}00061\ \textcolor{comment}{\ *\ Flag\ interpretation\ for\ the\ value\ of\ \`{}verbosity`,\ defined\ in\ \`{}debug.c`,\ q.v.}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00062}00062\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00063}\mbox{\hyperlink{debug_8h_a94213f6fb2a1a53eebc23649303ba404}{00063}}\ \textcolor{preprocessor}{\#define\ DEBUG\_LAMBDA\ 64}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00064}00064\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00065}00065\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00066}00066\ \textcolor{comment}{\ *\ @brief\ Print\ messages\ debugging\ the\ read\ eval\ print\ loop.}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00067}00067\ \textcolor{comment}{\ *\ }}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00068}00068\ \textcolor{comment}{\ *\ Flag\ interpretation\ for\ the\ value\ of\ \`{}verbosity`,\ defined\ in\ \`{}debug.c`,\ q.v.}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00069}00069\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00070}\mbox{\hyperlink{debug_8h_a9d33eefe5658ff19d53df47d625cc01b}{00070}}\ \textcolor{preprocessor}{\#define\ DEBUG\_REPL\ 128}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00071}00071\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00072}00072\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00073}00073\ \textcolor{comment}{\ *\ @brief\ Print\ messages\ debugging\ stack\ operations.}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00074}00074\ \textcolor{comment}{\ *\ }}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00075}00075\ \textcolor{comment}{\ *\ Flag\ interpretation\ for\ the\ value\ of\ \`{}verbosity`,\ defined\ in\ \`{}debug.c`,\ q.v.}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00076}00076\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00077}\mbox{\hyperlink{debug_8h_a7f8cbac7da8fca71eec213ae075aa710}{00077}}\ \textcolor{preprocessor}{\#define\ DEBUG\_STACK\ 256}}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00078}00078\ }
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00079}00079\ \textcolor{keyword}{extern}\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{debug_8h_a1bdcfae3209cbd96db35a2ae356fa15e}{verbosity}};}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00080}00080\ }
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00081}00081\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{debug_8h_ad55e4f61e076944d705d98b5314c5181}{debug\_print}}(\ \textcolor{keywordtype}{wchar\_t}\ *message,\ \textcolor{keywordtype}{int}\ level\ );}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00082}00082\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{debug_8h_a3f7cae7c87ec9a0a47c3eebb37f7d538}{debug\_print\_128bit}}(\ \_\_int128\_t\ n,\ \textcolor{keywordtype}{int}\ level\ );}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00083}00083\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{debug_8h_a9d5aa8671cb579261b2049c09aafa773}{debug\_println}}(\ \textcolor{keywordtype}{int}\ level\ );}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00084}00084\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{debug_8h_aa335b357cde1ba7eb6e8a71955079aab}{debug\_printf}}(\ \textcolor{keywordtype}{int}\ level,\ \textcolor{keywordtype}{wchar\_t}\ *format,\ ...\ );}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00085}00085\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{debug_8h_ada2d4646201b5827137d0bf053fcac59}{debug\_print\_object}}(\ \textcolor{keyword}{struct}\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ pointer,\ \textcolor{keywordtype}{int}\ level\ );}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00086}00086\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{debug_8h_aa0ffa929ddbce890ce4f81264a211233}{debug\_dump\_object}}(\ \textcolor{keyword}{struct}\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ pointer,\ \textcolor{keywordtype}{int}\ level\ );}
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00087}00087\ }
\DoxyCodeLine{\Hypertarget{debug_8h_source_l00088}00088\ \textcolor{preprocessor}{\#endif}}

\end{DoxyCode}
