diff options
author | Alyssa Ross <hi@alyssa.is> | 2022-05-31 09:59:33 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2022-05-31 09:59:57 +0000 |
commit | 9ff36293d1e428cd7bf03e8d4b03611b6d361c28 (patch) | |
tree | 1ab51a42b868c55b83f6ccdb80371b9888739dd9 /doc/functions/library/asserts.xml | |
parent | 1c4fcd0d4b0541e674ee56ace1053e23e562cc80 (diff) | |
parent | ddc3c396a51918043bb0faa6f676abd9562be62c (diff) | |
download | nixpkgs-9ff36293d1e428cd7bf03e8d4b03611b6d361c28.tar nixpkgs-9ff36293d1e428cd7bf03e8d4b03611b6d361c28.tar.gz nixpkgs-9ff36293d1e428cd7bf03e8d4b03611b6d361c28.tar.bz2 nixpkgs-9ff36293d1e428cd7bf03e8d4b03611b6d361c28.tar.lz nixpkgs-9ff36293d1e428cd7bf03e8d4b03611b6d361c28.tar.xz nixpkgs-9ff36293d1e428cd7bf03e8d4b03611b6d361c28.tar.zst nixpkgs-9ff36293d1e428cd7bf03e8d4b03611b6d361c28.zip |
Last good Nixpkgs for Weston+nouveau? archive
I came this commit hash to terwiz[m] on IRC, who is trying to figure out what the last version of Spectrum that worked on their NUC with Nvidia graphics is.
Diffstat (limited to 'doc/functions/library/asserts.xml')
-rw-r--r-- | doc/functions/library/asserts.xml | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/doc/functions/library/asserts.xml b/doc/functions/library/asserts.xml new file mode 100644 index 00000000000..7c94222ef13 --- /dev/null +++ b/doc/functions/library/asserts.xml @@ -0,0 +1,112 @@ +<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-functions-library-asserts"> + <title>Assert functions</title> + + <section xml:id="function-library-lib.asserts.assertMsg"> + <title><function>lib.asserts.assertMsg</function></title> + + <subtitle><literal>assertMsg :: Bool -> String -> Bool</literal> + </subtitle> + + <xi:include href="./locations.xml" xpointer="lib.asserts.assertMsg" /> + + <para> + Print a trace message if <literal>pred</literal> is false. + </para> + + <para> + Intended to be used to augment asserts with helpful error messages. + </para> + + <variablelist> + <varlistentry> + <term> + <varname>pred</varname> + </term> + <listitem> + <para> + Condition under which the <varname>msg</varname> should <emphasis>not</emphasis> be printed. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term> + <varname>msg</varname> + </term> + <listitem> + <para> + Message to print. + </para> + </listitem> + </varlistentry> + </variablelist> + + <example xml:id="function-library-lib.asserts.assertMsg-example-false"> + <title>Printing when the predicate is false</title> +<programlisting><![CDATA[ +assert lib.asserts.assertMsg ("foo" == "bar") "foo is not bar, silly" +stderr> trace: foo is not bar, silly +stderr> assert failed +]]></programlisting> + </example> + </section> + + <section xml:id="function-library-lib.asserts.assertOneOf"> + <title><function>lib.asserts.assertOneOf</function></title> + + <subtitle><literal>assertOneOf :: String -> String -> + StringList -> Bool</literal> + </subtitle> + + <xi:include href="./locations.xml" xpointer="lib.asserts.assertOneOf" /> + + <para> + Specialized <function>asserts.assertMsg</function> for checking if <varname>val</varname> is one of the elements of <varname>xs</varname>. Useful for checking enums. + </para> + + <variablelist> + <varlistentry> + <term> + <varname>name</varname> + </term> + <listitem> + <para> + The name of the variable the user entered <varname>val</varname> into, for inclusion in the error message. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term> + <varname>val</varname> + </term> + <listitem> + <para> + The value of what the user provided, to be compared against the values in <varname>xs</varname>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term> + <varname>xs</varname> + </term> + <listitem> + <para> + The list of valid values. + </para> + </listitem> + </varlistentry> + </variablelist> + + <example xml:id="function-library-lib.asserts.assertOneOf-example"> + <title>Ensuring a user provided a possible value</title> +<programlisting><![CDATA[ +let sslLibrary = "bearssl"; +in lib.asserts.assertOneOf "sslLibrary" sslLibrary [ "openssl" "libressl" ]; +=> false +stderr> trace: sslLibrary must be one of "openssl", "libressl", but is: "bearssl" + ]]></programlisting> + </example> + </section> +</section> |