Skip to content

Commit

Permalink
deploy documentation for 649eec8
Browse files Browse the repository at this point in the history
  • Loading branch information
the-blarney-fairy committed May 20, 2024
0 parents commit 0b076b9
Show file tree
Hide file tree
Showing 111 changed files with 1,576 additions and 0 deletions.
28 changes: 28 additions & 0 deletions Blarney-Backend-SMT-BasicDefinitions.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1" /><title>Blarney.Backend.SMT.BasicDefinitions</title><link href="linuwial.css" rel="stylesheet" type="text/css" title="Linuwial" /><link rel="stylesheet" type="text/css" href="quick-jump.css" /><link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=PT+Sans:400,400i,700" /><script src="haddock-bundle.min.js" async="async" type="text/javascript"></script><script type="text/x-mathjax-config">MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script></head><body><div id="package-header"><span class="caption">blarney</span><ul class="links" id="page-menu"><li><a href="https://github.com/blarney-lang/blarney/tree/649eec8971a7690aaa190c2954abbdeb2341f9a8/Haskell/Blarney/Backend/SMT/BasicDefinitions.hs">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>(c) Alexandre Joannou 2020-2021</td></tr><tr><th>License</th><td>MIT</td></tr><tr><th>Stability</th><td>experimental</td></tr><tr><th>Safe Haskell</th><td>Safe-Inferred</td></tr></table><p class="caption">Blarney.Backend.SMT.BasicDefinitions</p></div><div id="table-of-contents"><div id="contents-list"><p class="caption" onclick="window.scrollTo(0,0)">Contents</p><ul><li><a href="#g:1">datatypes declaration</a></li><li><a href="#g:2">list creation</a></li><li><a href="#g:3">list reduction</a></li><li><a href="#g:4">miscellaneous</a></li></ul></div></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module provides basic SMT types and functions to assist in blarney Netlist
code generation</p></div></div><div id="synopsis"><details id="syn"><summary>Synopsis</summary><ul class="details-toggle" data-details-id="syn"><li class="src short"><a href="#v:declareTupleTypes">declareTupleTypes</a> :: [<a href="Blarney.html#t:Int" title="Blarney">Int</a>] -&gt; Doc</li><li class="src short"><a href="#v:declareListXType">declareListXType</a> :: Doc</li><li class="src short"><a href="#v:mkListX">mkListX</a> :: [<a href="Blarney.html#t:String" title="Blarney">String</a>] -&gt; <a href="Blarney.html#t:String" title="Blarney">String</a> -&gt; Doc</li><li class="src short"><a href="#v:defineAndReduce">defineAndReduce</a> :: Doc</li><li class="src short"><a href="#v:defineImpliesReduce">defineImpliesReduce</a> :: Doc</li><li class="src short"><a href="#v:defineDistinctListX">defineDistinctListX</a> :: <a href="Blarney.html#t:String" title="Blarney">String</a> -&gt; Doc</li><li class="src short"><a href="#v:defineChain">defineChain</a> :: <a href="Blarney.html#t:String" title="Blarney">String</a> -&gt; (<a href="Blarney.html#t:String" title="Blarney">String</a>, (<a href="Blarney.html#t:String" title="Blarney">String</a>, <a href="Blarney.html#t:String" title="Blarney">String</a>), <a href="Blarney.html#t:String" title="Blarney">String</a>) -&gt; Doc</li><li class="src short"><a href="#v:inlineChain">inlineChain</a> :: <a href="Blarney.html#t:Int" title="Blarney">Int</a> -&gt; (<a href="Blarney.html#t:String" title="Blarney">String</a>, (<a href="Blarney.html#t:String" title="Blarney">String</a>, <a href="Blarney.html#t:String" title="Blarney">String</a>), <a href="Blarney.html#t:String" title="Blarney">String</a>) -&gt; Doc</li></ul></details></div><div id="interface"><a href="#g:1" id="g:1"><h1>datatypes declaration</h1></a><div class="top"><p class="src"><a id="v:declareTupleTypes" class="def">declareTupleTypes</a> :: [<a href="Blarney.html#t:Int" title="Blarney">Int</a>] -&gt; Doc <a href="https://github.com/blarney-lang/blarney/tree/649eec8971a7690aaa190c2954abbdeb2341f9a8/Haskell/Blarney/Backend/SMT/BasicDefinitions.hs#L39" class="link">Source</a> <a href="#v:declareTupleTypes" class="selflink">#</a></p><div class="doc"><p>Declare an SMT tuple sort per entry in the argument list. Each sort is
defined as a function of the <code><a href="Blarney.html#t:Int" title="Blarney">Int</a></code> <a href="N.html">N</a>, as the parametric sort <a href="TupleN.html">TupleN</a>
parameterised on <a href="X.html">X</a>, and a constructor &quot;mkTupleN&quot; with N fields named
&quot;tplN_i&quot; for i ranging from 1 to N</p></div></div><div class="top"><p class="src"><a id="v:declareListXType" class="def">declareListXType</a> :: Doc <a href="https://github.com/blarney-lang/blarney/tree/649eec8971a7690aaa190c2954abbdeb2341f9a8/Haskell/Blarney/Backend/SMT/BasicDefinitions.hs#L51" class="link">Source</a> <a href="#v:declareListXType" class="selflink">#</a></p><div class="doc"><p>Declare a <a href="ListX.html">ListX</a> parametric Sort parameterised on <a href="X.html">X</a> with 2 constructors:
* a &quot;nil&quot; constructor
* a &quot;cons&quot; constructor with 2 fields:
+ &quot;head&quot; of sort <a href="X.html">X</a>
+ &quot;tail&quot; of sort &quot;(ListX X)&quot;</p></div></div><a href="#g:2" id="g:2"><h1>list creation</h1></a><div class="top"><p class="src"><a id="v:mkListX" class="def">mkListX</a> :: [<a href="Blarney.html#t:String" title="Blarney">String</a>] -&gt; <a href="Blarney.html#t:String" title="Blarney">String</a> -&gt; Doc <a href="https://github.com/blarney-lang/blarney/tree/649eec8971a7690aaa190c2954abbdeb2341f9a8/Haskell/Blarney/Backend/SMT/BasicDefinitions.hs#L59" class="link">Source</a> <a href="#v:mkListX" class="selflink">#</a></p><div class="doc"><p>Construct a ListX from a '[Sting]' by chaining the appropriate sequence of
&quot;cons&quot; and a &quot;nil&quot; adequately qualified</p></div></div><a href="#g:3" id="g:3"><h1>list reduction</h1></a><div class="top"><p class="src"><a id="v:defineAndReduce" class="def">defineAndReduce</a> :: Doc <a href="https://github.com/blarney-lang/blarney/tree/649eec8971a7690aaa190c2954abbdeb2341f9a8/Haskell/Blarney/Backend/SMT/BasicDefinitions.hs#L65" class="link">Source</a> <a href="#v:defineAndReduce" class="selflink">#</a></p><div class="doc"><p>Define the &quot;andReduce&quot; SMT function operating on a &quot;(ListX Bool)&quot;,
reducing it using &quot;and&quot;</p></div></div><div class="top"><p class="src"><a id="v:defineImpliesReduce" class="def">defineImpliesReduce</a> :: Doc <a href="https://github.com/blarney-lang/blarney/tree/649eec8971a7690aaa190c2954abbdeb2341f9a8/Haskell/Blarney/Backend/SMT/BasicDefinitions.hs#L80" class="link">Source</a> <a href="#v:defineImpliesReduce" class="selflink">#</a></p><div class="doc"><p>Define the &quot;impliesReduce&quot; SMT function operating on a &quot;(ListX Bool)&quot;,
reducing it using &quot;=&gt;&quot; (implication)</p></div></div><div class="top"><p class="src"><a id="v:defineDistinctListX" class="def">defineDistinctListX</a> :: <a href="Blarney.html#t:String" title="Blarney">String</a> -&gt; Doc <a href="https://github.com/blarney-lang/blarney/tree/649eec8971a7690aaa190c2954abbdeb2341f9a8/Haskell/Blarney/Backend/SMT/BasicDefinitions.hs#L103" class="link">Source</a> <a href="#v:defineDistinctListX" class="selflink">#</a></p><div class="doc"><p>Define the &quot;init&quot;, &quot;allDifferent&quot; and &quot;distinctFrom&quot; family of functions on
ListX parameterised on the provided sort. For a given sort S, the defined
functions are:
* &quot;init_ListX_S&quot; - return all but the last element of the list or nil for
an empty list
* &quot;allDifferent_ListX_S&quot; - return true if all elements of the list are
distinct
* &quot;distinctFrom_ListX_S&quot; - return true if the first argument is distinct
from all the elements in the second argument</p></div></div><a href="#g:4" id="g:4"><h1>miscellaneous</h1></a><div class="top"><p class="src"><a id="v:defineChain" class="def">defineChain</a> :: <a href="Blarney.html#t:String" title="Blarney">String</a> -&gt; (<a href="Blarney.html#t:String" title="Blarney">String</a>, (<a href="Blarney.html#t:String" title="Blarney">String</a>, <a href="Blarney.html#t:String" title="Blarney">String</a>), <a href="Blarney.html#t:String" title="Blarney">String</a>) -&gt; Doc <a href="https://github.com/blarney-lang/blarney/tree/649eec8971a7690aaa190c2954abbdeb2341f9a8/Haskell/Blarney/Backend/SMT/BasicDefinitions.hs#L146" class="link">Source</a> <a href="#v:defineChain" class="selflink">#</a></p><div class="doc"><p>Define the repeated application of a function f of 2 arguments returning a
pair where
* the first argument of f is taken from an overall argument list
* the second argument of f is an explicit argument of first invocation, and
is the second member of the pair returned by the previous invocation on
subsequent calls
* the call depth is defined by the length of the explicit argument list
* the overall return is a pair of reversed lists of individual returned
values</p></div></div><div class="top"><p class="src"><a id="v:inlineChain" class="def">inlineChain</a> :: <a href="Blarney.html#t:Int" title="Blarney">Int</a> -&gt; (<a href="Blarney.html#t:String" title="Blarney">String</a>, (<a href="Blarney.html#t:String" title="Blarney">String</a>, <a href="Blarney.html#t:String" title="Blarney">String</a>), <a href="Blarney.html#t:String" title="Blarney">String</a>) -&gt; Doc <a href="https://github.com/blarney-lang/blarney/tree/649eec8971a7690aaa190c2954abbdeb2341f9a8/Haskell/Blarney/Backend/SMT/BasicDefinitions.hs#L173" class="link">Source</a> <a href="#v:inlineChain" class="selflink">#</a></p><div class="doc"><p>Inlined chaining (avoiding recursion in SMT output)</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.26.0</p></div></body></html>
Loading

0 comments on commit 0b076b9

Please sign in to comment.