|
|
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Call (InferIR.InferIR__ProcnameDispatcher.Call)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc %%VERSION%%"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> – <a href="../../index.html">InferIR</a> » <a href="../index.html">InferIR__ProcnameDispatcher</a> » Call</nav><h1>Module <code>InferIR__ProcnameDispatcher.Call</code></h1></header><dl><dt class="spec module" id="module-FuncArg"><a href="#module-FuncArg" class="anchor"></a><code><span class="keyword">module</span> <a href="FuncArg/index.html">FuncArg</a> : <span class="keyword">sig</span> ... <span class="keyword">end</span></code></dt><dd><p>Little abstraction over arguments: currently actual args, we'll want formal args later</p></dd></dl><div><div class="spec include"><div class="doc"><details open="open"><summary><span class="def"><code><span class="keyword">include</span> <a href="../index.html#module-type-Common">Common</a> <span class="keyword">with</span> <span class="keyword">type</span> <span>('context, 'f) <a href="../module-type-Common/index.html#type-dispatcher">dispatcher</a></span> = <span class="type-var">'context</span> <span>-></span> <a href="../../InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a> <span>-></span> <span><a href="FuncArg/index.html#type-t">FuncArg.t</a> list</span> <span>-></span> <span><span class="type-var">'f</span> option</span></code></span></summary><dl><dt class="spec type" id="type-matcher"><a href="#type-matcher" class="anchor"></a><code><span class="keyword">type</span> <span>('context, 'f) matcher</span></code></dt><dt class="spec type" id="type-dispatcher"><a href="#type-dispatcher" class="anchor"></a><code><span class="keyword">type</span> <span>('context, 'f) dispatcher</span></code><code> = <span class="type-var">'context</span> <span>-></span> <a href="../../InferIR/Typ/Procname/index.html#type-t">InferIR.Typ.Procname.t</a> <span>-></span> <span><a href="FuncArg/index.html#type-t">FuncArg.t</a> list</span> <span>-></span> <span><span class="type-var">'f</span> option</span></code></dt></dl><dl><dt class="spec value" id="val-make_dispatcher"><a href="#val-make_dispatcher" class="anchor"></a><code><span class="keyword">val</span> make_dispatcher : <span><span><span>(<span class="type-var">'context</span>, <span class="type-var">'f</span>)</span> <a href="index.html#type-matcher">matcher</a></span> list</span> <span>-></span> <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f</span>)</span> <a href="index.html#type-dispatcher">dispatcher</a></span></code></dt><dd><p>Combines matchers to create a dispatcher</p></dd></dl><dl><dt class="spec value" id="val-any_typ"><a href="#val-any_typ" class="anchor"></a><code><span class="keyword">val</span> any_typ : <span><span>(<span class="type-var">'f</span>, <span class="type-var">'f</span>, <span class="type-var">'captured_types</span>, <span class="type-var">'captured_types</span>, <span class="type-var">'markers</span>, <span class="type-var">'markers</span>, <a href="../index.html#type-accept_more">accept_more</a>)</span> <a href="../index.html#type-template_arg">template_arg</a></span></code></dt><dd><p>Eats a type</p></dd></dl><dl><dt class="spec value" id="val-capt_typ"><a href="#val-capt_typ" class="anchor"></a><code><span class="keyword">val</span> capt_typ : <span class="type-var">'marker</span> <span>-></span> <span><span>(<span><span class="type-var">'marker</span> <a href="../index.html#type-mtyp">mtyp</a></span> <span>-></span> <span class="type-var">'f</span>, <span class="type-var">'f</span>, <span class="type-var">'captured_types</span>, <span><span class="type-var">'marker</span> <a href="../index.html#type-mtyp">mtyp</a></span> * <span class="type-var">'captured_types</span>, <span class="type-var">'markers</span>, <span class="type-var">'marker</span> * <span class="type-var">'markers</span>, <a href="../index.html#type-accept_more">accept_more</a>)</span> <a href="../index.html#type-template_arg">template_arg</a></span></code></dt><dd><p>Captures a type than can be back-referenced</p></dd></dl><dl><dt class="spec value" id="val-capt_int"><a href="#val-capt_int" class="anchor"></a><code><span class="keyword">val</span> capt_int : <span><span>(<a href="../../../InferStdlib/InferStdlib/index.html#module-IStd">InferStdlib.IStd</a>.Int64.t <span>-></span> <span class="type-var">'f</span>, <span class="type-var">'f</span>, <span class="type-var">'captured_types</span>, <span class="type-var">'captured_types</span>, <span class="type-var">'markers</span>, <span class="type-var">'markers</span>, <a href="../index.html#type-accept_more">accept_more</a>)</span> <a href="../index.html#type-template_arg">template_arg</a></span></code></dt><dd><p>Captures an int</p></dd></dl><dl><dt class="spec value" id="val-capt_all"><a href="#val-capt_all" class="anchor"></a><code><span class="keyword">val</span> capt_all : <span><span>(<span><a href="../../InferIR/Typ/index.html#type-template_arg">InferIR.Typ.template_arg</a> list</span> <span>-></span> <span class="type-var">'f</span>, <span class="type-var">'f</span>, <span class="type-var">'captured_types</span>, <span class="type-var">'captured_types</span>, <span class="type-var">'markers</span>, <span class="type-var">'markers</span>, <a href="../index.html#type-end_of_list">end_of_list</a>)</span> <a href="../index.html#type-template_arg">template_arg</a></span></code></dt><dd><p>Captures all template args</p></dd></dl><dl><dt class="spec value" id="val-(~-)"><a href="#val-(~-)" class="anchor"></a><code><span class="keyword">val</span> (~-) : string <span>-></span> <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f</span>, <span class="type-var">'f</span>, unit, <span class="type-var">'markers</span>, <span class="type-var">'markers</span>)</span> <a href="../index.html#type-name_matcher">name_matcher</a></span></code></dt><dd><p>Starts a path with a name</p></dd></dl><dl><dt class="spec value" id="val-(~+)"><a href="#val-(~+)" class="anchor"></a><code><span class="keyword">val</span> (~+) : <span>(<span class="type-var">'context</span> <span>-></span> string <span>-></span> bool)</span> <span>-></span> <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f</span>, <span class="type-var">'f</span>, unit, <span class="type-var">'markers</span>, <span class="type-var">'markers</span>)</span> <a href="../index.html#type-name_matcher">name_matcher</a></span></code></dt><dd><p>Starts a path with a matching name that satisfies the given function</p></dd></dl><dl><dt class="spec value" id="val-(&+)"><a href="#val-(&+)" class="anchor"></a><code><span class="keyword">val</span> (&+) : <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">'f_interm</span>, <span class="type-var">'captured_types_in</span>, <span class="type-var">'markers_interm</span>, <span class="type-var">'markers_out</span>, <a href="../index.html#type-accept_more">accept_more</a>)</span> <a href="../index.html#type-templ_matcher">templ_matcher</a></span> <span>-></span> <span><span>(<span class="type-var">'f_interm</span>, <span class="type-var">'f_out</span>, <span class="type-var">'captured_types_in</span>, <span class="type-var">'captured_types_out</span>, <span class="type-var">'markers_in</span>, <span class="type-var">'markers_interm</span>, <span class="type-var">'lc</span>)</span> <a href="../index.html#type-template_arg">template_arg</a></span> <span>-></span> <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">'f_out</span>, <span class="type-var">'captured_types_out</span>, <span class="type-var">'markers_in</span>, <span class="type-var">'markers_out</span>, <span class="type-var">'lc</span>)</span> <a href="../index.html#type-templ_matcher">templ_matcher</a></span></code></dt><dd><p>Separate template arguments</p></dd></dl><dl><dt class="spec value" id="val-(<)"><a href="#val-(<)" class="anchor"></a><code><span class="keyword">val</span> (<) : <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">'f_interm</span>, <span class="type-var">'captured_types_in</span>, <span class="type-var">'markers_interm</span>, <span class="type-var">'markers_out</span>)</span> <a href="../index.html#type-name_matcher">name_matcher</a></span> <span>-></span> <span><span>(<span class="type-var">'f_interm</span>, <span class="type-var">'f_out</span>, <span class="type-var">'captured_types_in</span>, <span class="type-var">'captured_types_out</span>, <span class="type-var">'markers_in</span>, <span class="type-var">'markers_interm</span>, <span class="type-var">'lc</span>)</span> <a href="../index.html#type-template_arg">template_arg</a></span> <span>-></span> <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">'f_out</span>, <span class="type-var">'captured_types_out</span>, <span class="type-var">'markers_in</span>, <span class="type-var">'markers_out</span>, <span class="type-var">'lc</span>)</span> <a href="../index.html#type-templ_matcher">templ_matcher</a></span></code></dt><dd><p>Starts template arguments after a name</p></dd></dl><dl><dt class="spec value" id="val-(>::)"><a href="#val-(>::)" class="anchor"></a><code><span class="keyword">val</span> (>::) : <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">'f_out</span>, <span class="type-var">'captured_types</span>, <span class="type-var">'markers_in</span>, <span class="type-var">'markers_out</span>, <span class="type-var">_</span>)</span> <a href="../index.html#type-templ_matcher">templ_matcher</a></span> <span>-></span> string <span>-></span> <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">'f_out</span>, <span class="type-var">'captured_types</span>, <span class="type-var">'markers_in</span>, <span class="type-var">'markers_out</span>)</span> <a href="../index.html#type-name_matcher">name_matcher</a></span></code></dt><dd><p>Ends template arguments and starts a name</p></dd></dl><dl><dt class="spec value" id="val-(&+...>::)"><a href="#val-(&+...>::)" class="anchor"></a><code><span class="keyword">val</span> (&+...>::) : <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">'f_out</span>, <span class="type-var">'captured_types</span>, <span class="type-var">'markers_in</span>, <span class="type-var">'markers_out</span>, <a href="../index.html#type-accept_more">accept_more</a>)</span> <a href="../index.html#type-templ_matcher">templ_matcher</a></span> <span>-></span> string <span>-></span> <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">'f_out</span>, <span class="type-var">'captured_types</span>, <span class="type-var">'markers_in</span>, <span class="type-var">'markers_out</span>)</span> <a href="../index.html#type-name_matcher">name_matcher</a></span></code></dt><dd><p>Ends template arguments with eats-ALL and starts a name</p></dd></dl><dl><dt class="spec value" id="val-(&::)"><a href="#val-(&::)" class="anchor"></a><code><span class="keyword">val</span> (&::) : <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">'f_out</span>, <span class="type-var">'captured_types</span>, <span class="type-var">'markers_in</span>, <span class="type-var">'markers_out</span>)</span> <a href="../index.html#type-name_matcher">name_matcher</a></span> <span>-></span> string <span>-></span> <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">'f_out</span>, <span class="type-var">'captured_types</span>, <span class="type-var">'markers_in</span>, <span class="type-var">'markers_out</span>)</span> <a href="../index.html#type-name_matcher">name_matcher</a></span></code></dt><dd><p>Separates names (accepts ALL template arguments on the left one)</p></dd></dl><dl><dt class="spec value" id="val-(&::+)"><a href="#val-(&::+)" class="anchor"></a><code><span class="keyword">val</span> (&::+) : <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">'f_out</span>, <span class="type-var">'captured_types</span>, <span class="type-var">'markers_in</span>, <span class="type-var">'markers_out</span>)</span> <a href="../index.html#type-name_matcher">name_matcher</a></span> <span>-></span> <span>(<span class="type-var">'context</span> <span>-></span> string <span>-></span> bool)</span> <span>-></span> <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">'f_out</span>, <span class="type-var">'captured_types</span>, <span class="type-var">'markers_in</span>, <span class="type-var">'markers_out</span>)</span> <a href="../index.html#type-name_matcher">name_matcher</a></span></code></dt><dd><p>Separates names that satisfies the given function (accepts ALL template arguments on the left one)</p></dd></dl><dl><dt class="spec value" id="val-(<>::)"><a href="#val-(<>::)" class="anchor"></a><code><span class="keyword">val</span> (<>::) : <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">'f_out</span>, <span class="type-var">'captured_types</span>, <span class="type-var">'markers_in</span>, <span class="type-var">'markers_out</span>)</span> <a href="../index.html#type-name_matcher">name_matcher</a></span> <span>-></span> string <span>-></span> <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">'f_out</span>, <span class="type-var">'captured_types</span>, <span class="type-var">'markers_in</span>, <span class="type-var">'markers_out</span>)</span> <a href="../index.html#type-name_matcher">name_matcher</a></span></code></dt><dd><p>Separates names (accepts NO template arguments on the left one)</p></dd></dl></details></div></div></div><dl><dt class="spec type" id="type-args_matcher"><a href="#type-args_matcher" class="anchor"></a><code><span class="keyword">type</span> <span>('context, 'f_in, 'f_proc_out, 'f_out, 'captured_types, 'markers) args_matcher</span></code></dt><dt class="spec type" id="type-one_arg"><a href="#type-one_arg" class="anchor"></a><code><span class="keyword">type</span> <span>('context, 'arg_in, 'arg_out, 'f_in, 'f_out, 'captured_types, 'markers) one_arg</span></code></dt></dl><dl><dt class="spec value" id="val-any_arg"><a href="#val-any_arg" class="anchor"></a><code><span class="keyword">val</span> any_arg : <span><span>(<span class="type-var">'context</span>, unit, <span class="type-var">_</span>, <span class="type-var">'f</span>, <span class="type-var">'f</span>, <span class="type-var">_</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-one_arg">one_arg</a></span></code></dt><dd><p>Eats one arg</p></dd></dl><dl><dt class="spec value" id="val-capt_arg"><a href="#val-capt_arg" class="anchor"></a><code><span class="keyword">val</span> capt_arg : <span><span>(<span class="type-var">'context</span>, <a href="FuncArg/index.html#type-t">FuncArg.t</a>, <span class="type-var">'wrapped_arg</span>, <span class="type-var">'wrapped_arg</span> <span>-></span> <span class="type-var">'f</span>, <span class="type-var">'f</span>, <span class="type-var">_</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-one_arg">one_arg</a></span></code></dt><dd><p>Captures one arg</p></dd></dl><dl><dt class="spec value" id="val-capt_exp"><a href="#val-capt_exp" class="anchor"></a><code><span class="keyword">val</span> capt_exp : <span><span>(<span class="type-var">'context</span>, <a href="../../InferIR/Exp/index.html#type-t">InferIR.Exp.t</a>, <span class="type-var">'wrapped_arg</span>, <span class="type-var">'wrapped_arg</span> <span>-></span> <span class="type-var">'f</span>, <span class="type-var">'f</span>, <span class="type-var">_</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-one_arg">one_arg</a></span></code></dt><dd><p>Captures one arg expression</p></dd></dl><dl><dt class="spec value" id="val-any_arg_of_typ"><a href="#val-any_arg_of_typ" class="anchor"></a><code><span class="keyword">val</span> any_arg_of_typ : <span><span>(<span class="type-var">'context</span>, unit, <span class="type-var">_</span>, unit, unit, unit)</span> <a href="../index.html#type-name_matcher">name_matcher</a></span> <span>-></span> <span><span>(<span class="type-var">'context</span>, unit, <span class="type-var">_</span>, <span class="type-var">'f</span>, <span class="type-var">'f</span>, <span class="type-var">_</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-one_arg">one_arg</a></span></code></dt><dd><p>Eats one arg of the given type</p></dd></dl><dl><dt class="spec value" id="val-capt_arg_of_typ"><a href="#val-capt_arg_of_typ" class="anchor"></a><code><span class="keyword">val</span> capt_arg_of_typ : <span><span>(<span class="type-var">'context</span>, unit, <span class="type-var">_</span>, unit, unit, unit)</span> <a href="../index.html#type-name_matcher">name_matcher</a></span> <span>-></span> <span><span>(<span class="type-var">'context</span>, <a href="FuncArg/index.html#type-t">FuncArg.t</a>, <span class="type-var">'wrapped_arg</span>, <span class="type-var">'wrapped_arg</span> <span>-></span> <span class="type-var">'f</span>, <span class="type-var">'f</span>, <span class="type-var">_</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-one_arg">one_arg</a></span></code></dt><dd><p>Captures one arg of the given type</p></dd></dl><dl><dt class="spec value" id="val-capt_exp_of_typ"><a href="#val-capt_exp_of_typ" class="anchor"></a><code><span class="keyword">val</span> capt_exp_of_typ : <span><span>(<span class="type-var">'context</span>, unit, <span class="type-var">_</span>, unit, unit, unit)</span> <a href="../index.html#type-name_matcher">name_matcher</a></span> <span>-></span> <span><span>(<span class="type-var">'context</span>, <a href="../../InferIR/Exp/index.html#type-t">InferIR.Exp.t</a>, <span class="type-var">'wrapped_arg</span>, <span class="type-var">'wrapped_arg</span> <span>-></span> <span class="type-var">'f</span>, <span class="type-var">'f</span>, <span class="type-var">_</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-one_arg">one_arg</a></span></code></dt><dd><p>Captures one arg expression of the given type</p></dd></dl><dl><dt class="spec value" id="val-any_arg_of_prim_typ"><a href="#val-any_arg_of_prim_typ" class="anchor"></a><code><span class="keyword">val</span> any_arg_of_prim_typ : <a href="../../InferIR/Typ/index.html#type-t">InferIR.Typ.t</a> <span>-></span> <span><span>(<span class="type-var">'context</span>, unit, <span class="type-var">_</span>, <span class="type-var">'f</span>, <span class="type-var">'f</span>, <span class="type-var">_</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-one_arg">one_arg</a></span></code></dt><dd><p>Eats one arg of the given primitive type</p></dd></dl><dl><dt class="spec value" id="val-capt_exp_of_prim_typ"><a href="#val-capt_exp_of_prim_typ" class="anchor"></a><code><span class="keyword">val</span> capt_exp_of_prim_typ : <a href="../../InferIR/Typ/index.html#type-t">InferIR.Typ.t</a> <span>-></span> <span><span>(<span class="type-var">'context</span>, <a href="../../InferIR/Exp/index.html#type-t">InferIR.Exp.t</a>, <span class="type-var">'wrapped_arg</span>, <span class="type-var">'wrapped_arg</span> <span>-></span> <span class="type-var">'f</span>, <span class="type-var">'f</span>, <span class="type-var">_</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-one_arg">one_arg</a></span></code></dt><dd><p>Captures one arg expression of the given primitive type</p></dd></dl><dl><dt class="spec value" id="val-capt_var_exn"><a href="#val-capt_var_exn" class="anchor"></a><code><span class="keyword">val</span> capt_var_exn : <span><span>(<span class="type-var">'context</span>, <a href="../../InferIR/Ident/index.html#type-t">InferIR.Ident.t</a>, <span class="type-var">'wrapped_arg</span>, <span class="type-var">'wrapped_arg</span> <span>-></span> <span class="type-var">'f</span>, <span class="type-var">'f</span>, <span class="type-var">_</span>, <span class="type-var">_</span>)</span> <a href="index.html#type-one_arg">one_arg</a></span></code></dt><dd><p>Captures one arg Var. Fails with an internal error if the expression is not a Var</p></dd></dl><dl><dt class="spec value" id="val-typ1"><a href="#val-typ1" class="anchor"></a><code><span class="keyword">val</span> typ1 : <span class="type-var">'marker</span> <span>-></span> <span><span>(<span class="type-var">'context</span>, unit, <span class="type-var">_</span>, <span class="type-var">'f</span>, <span class="type-var">'f</span>, <span><span class="type-var">'marker</span> <a href="../index.html#type-mtyp">mtyp</a></span> * <span class="type-var">_</span>, <span class="type-var">'marker</span> * <span class="type-var">_</span>)</span> <a href="index.html#type-one_arg">one_arg</a></span></code></dt><dd><p>Matches first captured type</p></dd></dl><dl><dt class="spec value" id="val-typ2"><a href="#val-typ2" class="anchor"></a><code><span class="keyword">val</span> typ2 : <span class="type-var">'marker</span> <span>-></span> <span><span>(<span class="type-var">'context</span>, unit, <span class="type-var">_</span>, <span class="type-var">'f</span>, <span class="type-var">'f</span>, <span class="type-var">_</span> * <span>(<span><span class="type-var">'marker</span> <a href="../index.html#type-mtyp">mtyp</a></span> * <span class="type-var">_</span>)</span>, <span class="type-var">_</span> * <span>(<span class="type-var">'marker</span> * <span class="type-var">_</span>)</span>)</span> <a href="index.html#type-one_arg">one_arg</a></span></code></dt><dd><p>Matches second captured type</p></dd></dl><dl><dt class="spec value" id="val-typ3"><a href="#val-typ3" class="anchor"></a><code><span class="keyword">val</span> typ3 : <span class="type-var">'marker</span> <span>-></span> <span><span>(<span class="type-var">'context</span>, unit, <span class="type-var">_</span>, <span class="type-var">'f</span>, <span class="type-var">'f</span>, <span class="type-var">_</span> * <span>(<span class="type-var">_</span> * <span>(<span><span class="type-var">'marker</span> <a href="../index.html#type-mtyp">mtyp</a></span> * <span class="type-var">_</span>)</span>)</span>, <span class="type-var">_</span> * <span>(<span class="type-var">_</span> * <span>(<span class="type-var">'marker</span> * <span class="type-var">_</span>)</span>)</span>)</span> <a href="index.html#type-one_arg">one_arg</a></span></code></dt><dd><p>Matches third captured type</p></dd></dl><dl><dt class="spec value" id="val-($+)"><a href="#val-($+)" class="anchor"></a><code><span class="keyword">val</span> ($+) : <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">'f_proc_out</span>, <span class="type-var">'f_interm</span>, <span class="type-var">'captured_types</span>, <span class="type-var">'markers</span>)</span> <a href="index.html#type-args_matcher">args_matcher</a></span> <span>-></span> <span><span>(<span class="type-var">'context</span>, <span class="type-var">'arg</span>, <span class="type-var">'arg</span>, <span class="type-var">'f_interm</span>, <span class="type-var">'f_out</span>, <span class="type-var">'captured_types</span>, <span class="type-var">'markers</span>)</span> <a href="index.html#type-one_arg">one_arg</a></span> <span>-></span> <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">'f_proc_out</span>, <span class="type-var">'f_out</span>, <span class="type-var">'captured_types</span>, <span class="type-var">'markers</span>)</span> <a href="index.html#type-args_matcher">args_matcher</a></span></code></dt><dd><p>Separate function arguments</p></dd></dl><dl><dt class="spec value" id="val-($+?)"><a href="#val-($+?)" class="anchor"></a><code><span class="keyword">val</span> ($+?) : <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">'f_proc_out</span>, <span class="type-var">'f_interm</span>, <span class="type-var">'captured_types</span>, <span class="type-var">'markers</span>)</span> <a href="index.html#type-args_matcher">args_matcher</a></span> <span>-></span> <span><span>(<span class="type-var">'context</span>, <span class="type-var">'arg</span>, <span><span class="type-var">'arg</span> option</span>, <span class="type-var">'f_interm</span>, <span class="type-var">'f_out</span>, <span class="type-var">'captured_types</span>, <span class="type-var">'markers</span>)</span> <a href="index.html#type-one_arg">one_arg</a></span> <span>-></span> <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">'f_proc_out</span>, <span class="type-var">'f_out</span>, <span class="type-var">'captured_types</span>, <span class="type-var">'markers</span>)</span> <a href="index.html#type-args_matcher">args_matcher</a></span></code></dt><dd><p>Add an optional argument</p></dd></dl><dl><dt class="spec value" id="val-(>$)"><a href="#val-(>$)" class="anchor"></a><code><span class="keyword">val</span> (>$) : <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">'f_proc_out</span>, <span class="type-var">'ct</span>, unit, <span class="type-var">'cm</span>, <span class="type-var">_</span>)</span> <a href="../index.html#type-templ_matcher">templ_matcher</a></span> <span>-></span> <span><span>(<span class="type-var">'context</span>, <span class="type-var">'arg</span>, <span class="type-var">'arg</span>, <span class="type-var">'f_proc_out</span>, <span class="type-var">'f_out</span>, <span class="type-var">'ct</span>, <span class="type-var">'cm</span>)</span> <a href="index.html#type-one_arg">one_arg</a></span> <span>-></span> <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">'f_proc_out</span>, <span class="type-var">'f_out</span>, <span class="type-var">'ct</span>, <span class="type-var">'cm</span>)</span> <a href="index.html#type-args_matcher">args_matcher</a></span></code></dt><dd><p>Ends template arguments and starts function arguments</p></dd></dl><dl><dt class="spec value" id="val-($-->)"><a href="#val-($-->)" class="anchor"></a><code><span class="keyword">val</span> ($-->) : <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">_</span>, <span class="type-var">'f_out</span>, <span class="type-var">'captured_types</span>, <span class="type-var">'markers</span>)</span> <a href="index.html#type-args_matcher">args_matcher</a></span> <span>-></span> <span class="type-var">'f_in</span> <span>-></span> <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_out</span>)</span> <a href="index.html#type-matcher">matcher</a></span></code></dt><dd><p>Ends function arguments, binds the function</p></dd></dl><dl><dt class="spec value" id="val-($)"><a href="#val-($)" class="anchor"></a><code><span class="keyword">val</span> ($) : <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">'f_proc_out</span>, <span class="type-var">'captured_types</span>, unit, <span class="type-var">'markers</span>)</span> <a href="../index.html#type-name_matcher">name_matcher</a></span> <span>-></span> <span><span>(<span class="type-var">'context</span>, <span class="type-var">'arg</span>, <span class="type-var">'arg</span>, <span class="type-var">'f_proc_out</span>, <span class="type-var">'f_out</span>, <span class="type-var">'captured_types</span>, <span class="type-var">'markers</span>)</span> <a href="index.html#type-one_arg">one_arg</a></span> <span>-></span> <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">'f_proc_out</span>, <span class="type-var">'f_out</span>, <span class="type-var">'captured_types</span>, <span class="type-var">'markers</span>)</span> <a href="index.html#type-args_matcher">args_matcher</a></span></code></dt><dd><p>Ends a name with accept-ALL template arguments and starts function arguments</p></dd></dl><dl><dt class="spec value" id="val-(<>$)"><a href="#val-(<>$)" class="anchor"></a><code><span class="keyword">val</span> (<>$) : <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">'f_proc_out</span>, <span class="type-var">'captured_types</span>, unit, <span class="type-var">'markers</span>)</span> <a href="../index.html#type-name_matcher">name_matcher</a></span> <span>-></span> <span><span>(<span class="type-var">'context</span>, <span class="type-var">'arg</span>, <span class="type-var">'arg</span>, <span class="type-var">'f_proc_out</span>, <span class="type-var">'f_out</span>, <span class="type-var">'captured_types</span>, <span class="type-var">'markers</span>)</span> <a href="index.html#type-one_arg">one_arg</a></span> <span>-></span> <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">'f_proc_out</span>, <span class="type-var">'f_out</span>, <span class="type-var">'captured_types</span>, <span class="type-var">'markers</span>)</span> <a href="index.html#type-args_matcher">args_matcher</a></span></code></dt><dd><p>Ends a name with accept-NO template arguments and starts function arguments</p></dd></dl><dl><dt class="spec value" id="val-(>-->)"><a href="#val-(>-->)" class="anchor"></a><code><span class="keyword">val</span> (>-->) : <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">'f_out</span>, <span class="type-var">'captured_types</span>, unit, <span class="type-var">'markers</span>, <span class="type-var">_</span>)</span> <a href="../index.html#type-templ_matcher">templ_matcher</a></span> <span>-></span> <span class="type-var">'f_in</span> <span>-></span> <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_out</span>)</span> <a href="index.html#type-matcher">matcher</a></span></code></dt><dd><p>Ends template arguments, accepts ALL function arguments, binds the function</p></dd></dl><dl><dt class="spec value" id="val-($+...$-->)"><a href="#val-($+...$-->)" class="anchor"></a><code><span class="keyword">val</span> ($+...$-->) : <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">_</span>, <span class="type-var">'f_out</span>, <span class="type-var">'captured_types</span>, <span class="type-var">'markers</span>)</span> <a href="index.html#type-args_matcher">args_matcher</a></span> <span>-></span> <span class="type-var">'f_in</span> <span>-></span> <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_out</span>)</span> <a href="index.html#type-matcher">matcher</a></span></code></dt><dd><p>Ends function arguments with eats-ALL and binds the function</p></dd></dl><dl><dt class="spec value" id="val-(>$$-->)"><a href="#val-(>$$-->)" class="anchor"></a><code><span class="keyword">val</span> (>$$-->) : <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">'f_out</span>, <span class="type-var">'captured_types</span>, unit, <span class="type-var">'markers</span>, <span class="type-var">_</span>)</span> <a href="../index.html#type-templ_matcher">templ_matcher</a></span> <span>-></span> <span class="type-var">'f_in</span> <span>-></span> <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_out</span>)</span> <a href="index.html#type-matcher">matcher</a></span></code></dt><dd><p>Ends template arguments, accepts NO function arguments, binds the function</p></dd></dl><dl><dt class="spec value" id="val-($$-->)"><a href="#val-($$-->)" class="anchor"></a><code><span class="keyword">val</span> ($$-->) : <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">'f_out</span>, <span class="type-var">'captured_types</span>, unit, <span class="type-var">'markers</span>)</span> <a href="../index.html#type-name_matcher">name_matcher</a></span> <span>-></span> <span class="type-var">'f_in</span> <span>-></span> <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_out</span>)</span> <a href="index.html#type-matcher">matcher</a></span></code></dt><dd><p>After a name, accepts ALL template arguments, accepts NO function arguments, binds the function</p></dd></dl><dl><dt class="spec value" id="val-(<>$$-->)"><a href="#val-(<>$$-->)" class="anchor"></a><code><span class="keyword">val</span> (<>$$-->) : <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">'f_out</span>, <span class="type-var">'captured_types</span>, unit, <span class="type-var">'markers</span>)</span> <a href="../index.html#type-name_matcher">name_matcher</a></span> <span>-></span> <span class="type-var">'f_in</span> <span>-></span> <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_out</span>)</span> <a href="index.html#type-matcher">matcher</a></span></code></dt><dd><p>After a name, accepts NO template arguments, accepts NO function arguments, binds the function</p></dd></dl><dl><dt class="spec value" id="val-(&-->)"><a href="#val-(&-->)" class="anchor"></a><code><span class="keyword">val</span> (&-->) : <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">'f_out</span>, <span class="type-var">'captured_types</span>, unit, <span class="type-var">'markers</span>)</span> <a href="../index.html#type-name_matcher">name_matcher</a></span> <span>-></span> <span class="type-var">'f_in</span> <span>-></span> <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_out</span>)</span> <a href="index.html#type-matcher">matcher</a></span></code></dt><dd><p>After a name, accepts ALL template arguments, accepts ALL function arguments, binds the function</p></dd></dl><dl><dt class="spec value" id="val-(<>-->)"><a href="#val-(<>-->)" class="anchor"></a><code><span class="keyword">val</span> (<>-->) : <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">'f_out</span>, <span class="type-var">'captured_types</span>, unit, <span class="type-var">'markers</span>)</span> <a href="../index.html#type-name_matcher">name_matcher</a></span> <span>-></span> <span class="type-var">'f_in</span> <span>-></span> <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_out</span>)</span> <a href="index.html#type-matcher">matcher</a></span></code></dt><dd><p>After a name, accepts NO template arguments, accepts ALL function arguments, binds the function</p></dd></dl><dl><dt class="spec value" id="val-(&::.*-->)"><a href="#val-(&::.*-->)" class="anchor"></a><code><span class="keyword">val</span> (&::.*-->) : <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">'f_out</span>, <span class="type-var">'captured_types</span>, unit, <span class="type-var">'markers</span>)</span> <a href="../index.html#type-name_matcher">name_matcher</a></span> <span>-></span> <span class="type-var">'f_in</span> <span>-></span> <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_out</span>)</span> <a href="index.html#type-matcher">matcher</a></span></code></dt><dd><p>After a name, accepts ALL template arguments, accepts ALL path tails (names, templates), accepts ALL function arguments, binds the function</p></dd></dl><dl><dt class="spec value" id="val-($!-->)"><a href="#val-($!-->)" class="anchor"></a><code><span class="keyword">val</span> ($!-->) : <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_in</span>, <span class="type-var">'f_proc_out</span>, <span class="type-var">'f_out</span>, <span class="type-var">'captured_types</span>, <span class="type-var">'markers</span>)</span> <a href="index.html#type-args_matcher">args_matcher</a></span> <span>-></span> <span class="type-var">'f_in</span> <span>-></span> <span><span>(<span class="type-var">'context</span>, <span class="type-var">'f_out</span>)</span> <a href="index.html#type-matcher">matcher</a></span></code></dt><dd><p>Ends function arguments, accepts NO more function arguments. If the args do not match, raise an internal error.</p></dd></dl></div></body></html> |