<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Make (libabsolute.Libabsolute__.Product.Make)</title><link rel="stylesheet" href="../../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 1.5.1"/><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">libabsolute</a> &#x00BB; <a href="../../index.html">Libabsolute__</a> &#x00BB; <a href="../index.html">Product</a> &#x00BB; Make</nav><h1>Module <code>Product.Make</code></h1></header><h3 class="heading">Parameters</h3><ul><li><code><a href="argument-1-A/index.html">A</a> : <a href="../../../Libabsolute/Signature/index.html#module-type-Domain">Libabsolute.Signature.Domain</a></code></li><li><code><a href="argument-2-B/index.html">B</a> : <a href="../../../Libabsolute/Signature/index.html#module-type-Domain">Libabsolute.Signature.Domain</a></code></li></ul><h3 class="heading">Signature</h3><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code><code> = <a href="argument-1-A/index.html#type-t">A.t</a> * <a href="argument-2-B/index.html#type-t">B.t</a></code></dt><dt class="spec type" id="type-internal_constr"><a href="#type-internal_constr" class="anchor"></a><code><span class="keyword">type</span> internal_constr</code><code> = <a href="argument-1-A/index.html#type-internal_constr">A.internal_constr</a> * <a href="argument-2-B/index.html#type-internal_constr">B.internal_constr</a></code></dt></dl><dl><dt class="spec value" id="val-internalize"><a href="#val-internalize" class="anchor"></a><code><span class="keyword">val</span> internalize : <span>?&#8288;elem:<span>(<a href="argument-1-A/index.html#type-t">A.t</a> * <a href="argument-2-B/index.html#type-t">B.t</a>)</span></span> <span>&#45;&gt;</span> <a href="../../../Libabsolute/Constraint/index.html#type-t">Libabsolute.Constraint.t</a> <span>&#45;&gt;</span> <a href="argument-1-A/index.html#type-internal_constr">A.internal_constr</a> * <a href="argument-2-B/index.html#type-internal_constr">B.internal_constr</a></code></dt><dt class="spec value" id="val-externalize"><a href="#val-externalize" class="anchor"></a><code><span class="keyword">val</span> externalize : <span>(<a href="argument-1-A/index.html#type-internal_constr">A.internal_constr</a> * <span class="type-var">'a</span>)</span> <span>&#45;&gt;</span> <a href="../../../Libabsolute/Constraint/index.html#type-t">Libabsolute.Constraint.t</a></code></dt><dt class="spec value" id="val-is_representable"><a href="#val-is_representable" class="anchor"></a><code><span class="keyword">val</span> is_representable : <span>(<a href="argument-1-A/index.html#type-internal_constr">A.internal_constr</a> * <a href="argument-2-B/index.html#type-internal_constr">B.internal_constr</a>)</span> <span>&#45;&gt;</span> <a href="../../../Libabsolute/Kleene/index.html#type-t">Libabsolute.Kleene.t</a></code></dt><dt class="spec value" id="val-to_constraint"><a href="#val-to_constraint" class="anchor"></a><code><span class="keyword">val</span> to_constraint : <span>(<a href="argument-1-A/index.html#type-t">A.t</a> * <a href="argument-2-B/index.html#type-t">B.t</a>)</span> <span>&#45;&gt;</span> <span><a href="../../../Libabsolute/Constraint/index.html#type-comparison">Libabsolute.Constraint.comparison</a> <a href="../../../Libabsolute/Constraint/index.html#type-boolean">Libabsolute.Constraint.boolean</a></span></code></dt><dt class="spec value" id="val-a_meet_b"><a href="#val-a_meet_b" class="anchor"></a><code><span class="keyword">val</span> a_meet_b : <a href="argument-1-A/index.html#type-t">A.t</a> <span>&#45;&gt;</span> <a href="argument-2-B/index.html#type-t">B.t</a> <span>&#45;&gt;</span> <span><a href="argument-2-B/index.html#type-t">B.t</a> <a href="../../../Libabsolute/Consistency/index.html#type-t">Libabsolute.Consistency.t</a></span></code></dt><dt class="spec value" id="val-b_meet_a"><a href="#val-b_meet_a" class="anchor"></a><code><span class="keyword">val</span> b_meet_a : <a href="argument-1-A/index.html#type-t">A.t</a> <span>&#45;&gt;</span> <a href="argument-2-B/index.html#type-t">B.t</a> <span>&#45;&gt;</span> <span><a href="argument-1-A/index.html#type-t">A.t</a> <a href="../../../Libabsolute/Consistency/index.html#type-t">Libabsolute.Consistency.t</a></span></code></dt><dt class="spec value" id="val-reduced_product"><a href="#val-reduced_product" class="anchor"></a><code><span class="keyword">val</span> reduced_product : <a href="argument-1-A/index.html#type-t">A.t</a> <span>&#45;&gt;</span> <a href="argument-2-B/index.html#type-t">B.t</a> <span>&#45;&gt;</span> <span><span>(<a href="argument-1-A/index.html#type-t">A.t</a> * <a href="argument-2-B/index.html#type-t">B.t</a>)</span> <a href="../../../Libabsolute/Consistency/index.html#type-t">Libabsolute.Consistency.t</a></span></code></dt><dt class="spec value" id="val-empty"><a href="#val-empty" class="anchor"></a><code><span class="keyword">val</span> empty : <a href="argument-1-A/index.html#type-t">A.t</a> * <a href="argument-2-B/index.html#type-t">B.t</a></code></dt><dt class="spec value" id="val-add_var"><a href="#val-add_var" class="anchor"></a><code><span class="keyword">val</span> add_var : <span>(<a href="argument-1-A/index.html#type-t">A.t</a> * <a href="argument-2-B/index.html#type-t">B.t</a>)</span> <span>&#45;&gt;</span> <a href="../../../Libabsolute/Csp/index.html#type-decl">Libabsolute.Csp.decl</a> <span>&#45;&gt;</span> <a href="argument-1-A/index.html#type-t">A.t</a> * <a href="argument-2-B/index.html#type-t">B.t</a></code></dt><dt class="spec value" id="val-rm_var"><a href="#val-rm_var" class="anchor"></a><code><span class="keyword">val</span> rm_var : <span>(<a href="argument-1-A/index.html#type-t">A.t</a> * <a href="argument-2-B/index.html#type-t">B.t</a>)</span> <span>&#45;&gt;</span> string <span>&#45;&gt;</span> <a href="argument-1-A/index.html#type-t">A.t</a> * <a href="argument-2-B/index.html#type-t">B.t</a></code></dt><dt class="spec value" id="val-vars"><a href="#val-vars" class="anchor"></a><code><span class="keyword">val</span> vars : <span>(<a href="argument-1-A/index.html#type-t">A.t</a> * <a href="argument-2-B/index.html#type-t">B.t</a>)</span> <span>&#45;&gt;</span> <span><span>(<a href="../../../Libabsolute/Csp/index.html#type-typ">Libabsolute.Csp.typ</a> * string)</span> list</span></code></dt><dt class="spec value" id="val-diff"><a href="#val-diff" class="anchor"></a><code><span class="keyword">val</span> diff : <span><span>(<a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span><a href="index.html#type-t">t</a> list</span>)</span> option</span></code></dt><dt class="spec value" id="val-split"><a href="#val-split" class="anchor"></a><code><span class="keyword">val</span> split : float <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span><span>(<a href="argument-1-A/index.html#type-t">A.t</a> * <a href="argument-2-B/index.html#type-t">B.t</a>)</span> list</span></code></dt><dt class="spec value" id="val-join"><a href="#val-join" class="anchor"></a><code><span class="keyword">val</span> join : <span>(<a href="argument-1-A/index.html#type-t">A.t</a> * <a href="argument-2-B/index.html#type-t">B.t</a>)</span> <span>&#45;&gt;</span> <span>(<a href="argument-1-A/index.html#type-t">A.t</a> * <a href="argument-2-B/index.html#type-t">B.t</a>)</span> <span>&#45;&gt;</span> <span>(<a href="argument-1-A/index.html#type-t">A.t</a> * <a href="argument-2-B/index.html#type-t">B.t</a>)</span> * bool</code></dt><dt class="spec value" id="val-join_list"><a href="#val-join_list" class="anchor"></a><code><span class="keyword">val</span> join_list : <span><a href="index.html#type-t">t</a> list</span> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> * bool</code></dt><dt class="spec value" id="val-meet"><a href="#val-meet" class="anchor"></a><code><span class="keyword">val</span> meet : <span>(<a href="argument-1-A/index.html#type-t">A.t</a> * <a href="argument-2-B/index.html#type-t">B.t</a>)</span> <span>&#45;&gt;</span> <span>(<a href="argument-1-A/index.html#type-t">A.t</a> * <a href="argument-2-B/index.html#type-t">B.t</a>)</span> <span>&#45;&gt;</span> <span><span>(<a href="argument-1-A/index.html#type-t">A.t</a> * <a href="argument-2-B/index.html#type-t">B.t</a>)</span> option</span></code></dt><dt class="spec value" id="val-filter"><a href="#val-filter" class="anchor"></a><code><span class="keyword">val</span> filter : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span>(<a href="argument-1-A/index.html#type-internal_constr">A.internal_constr</a> * <a href="argument-2-B/index.html#type-internal_constr">B.internal_constr</a>)</span> <span>&#45;&gt;</span> <span><span>(<a href="index.html#type-t">t</a> * <a href="index.html#type-internal_constr">internal_constr</a>)</span> <a href="../../../Libabsolute/Consistency/index.html#type-t">Libabsolute.Consistency.t</a></span></code></dt><dt class="spec value" id="val-forward_eval"><a href="#val-forward_eval" class="anchor"></a><code><span class="keyword">val</span> forward_eval : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="../../../Libabsolute/Expr/index.html#type-t">Libabsolute.Expr.t</a> <span>&#45;&gt;</span> <a href="../../../Libabsolute/Q/index.html#type-t">Libabsolute.Q.t</a> * <a href="../../../Libabsolute/Q/index.html#type-t">Libabsolute.Q.t</a></code></dt><dt class="spec value" id="val-print"><a href="#val-print" class="anchor"></a><code><span class="keyword">val</span> print : Stdlib.Format.formatter <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> unit</code></dt><dt class="spec value" id="val-volume"><a href="#val-volume" class="anchor"></a><code><span class="keyword">val</span> volume : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> float</code></dt><dt class="spec value" id="val-spawn"><a href="#val-spawn" class="anchor"></a><code><span class="keyword">val</span> spawn : <span>(<a href="argument-1-A/index.html#type-t">A.t</a> * <a href="argument-2-B/index.html#type-t">B.t</a>)</span> <span>&#45;&gt;</span> <a href="../../../Libabsolute/Csp/index.html#type-instance">Libabsolute.Csp.instance</a></code></dt><dt class="spec value" id="val-is_abstraction"><a href="#val-is_abstraction" class="anchor"></a><code><span class="keyword">val</span> is_abstraction : <span>(<a href="argument-1-A/index.html#type-t">A.t</a> * <a href="argument-2-B/index.html#type-t">B.t</a>)</span> <span>&#45;&gt;</span> <a href="../../../Libabsolute/Csp/index.html#type-instance">Libabsolute.Csp.instance</a> <span>&#45;&gt;</span> bool</code></dt><dt class="spec value" id="val-render"><a href="#val-render" class="anchor"></a><code><span class="keyword">val</span> render : <span>(<a href="argument-1-A/index.html#type-t">A.t</a> * <a href="argument-2-B/index.html#type-t">B.t</a>)</span> <span>&#45;&gt;</span> Picasso.Drawable.t</code></dt></dl></div></body></html>