Skip to content

Commit

Permalink
Update gh-pages
Browse files Browse the repository at this point in the history
Store path: /nix/store/951y20wpibbwyxryhf1s8msyq079skxh-lambda-buffers-book
  • Loading branch information
hercules-ci[bot] committed Feb 26, 2024
1 parent 7a35d19 commit 1cd1f4a
Show file tree
Hide file tree
Showing 8 changed files with 61 additions and 49 deletions.
30 changes: 17 additions & 13 deletions catalyst09-reports/milestone-3.html
Original file line number Diff line number Diff line change
Expand Up @@ -176,8 +176,9 @@ <h1 class="menu-title">Lambda Buffers documentation</h1>
<h1 id="catalyst-milestone-3-testing-and-documentation"><a class="header" href="#catalyst-milestone-3-testing-and-documentation">Catalyst milestone 3: Testing and documentation</a></h1>
<h2 id="outputs"><a class="header" href="#outputs">Outputs</a></h2>
<ul>
<li><input disabled="" type="checkbox" checked=""/>
<p>A test suite checking for correct mapping from schema data types to PlutusData encodings against a known-good corpus of such mappings (golden tests).</p>
<li>
<p><input disabled="" type="checkbox" checked=""/>
A test suite checking for correct mapping from schema data types to PlutusData encodings against a known-good corpus of such mappings (golden tests).</p>
<ul>
<li>A dedicated <a href="https://github.com/mlabs-haskell/lambda-buffers/tree/e7813017bd1575fa9346ac4264deb68b50128b7c/testsuites/lbt-plutus">lbt-plutus</a> test suite was implemented for both <a href="https://github.com/mlabs-haskell/lambda-buffers/tree/e7813017bd1575fa9346ac4264deb68b50128b7c/testsuites/lbt-plutus/lbt-plutus-haskell">Haskell</a> and <a href="https://github.com/mlabs-haskell/lambda-buffers/tree/e7813017bd1575fa9346ac4264deb68b50128b7c/testsuites/lbt-plutus/lbt-plutus-purescript">Purescript</a> backends. They leverage both golden unit testing approach and randomized property based testing to assert the essential properties of the LambdaBuffers Plutus package:
<ul>
Expand All @@ -196,16 +197,18 @@ <h2 id="outputs"><a class="header" href="#outputs">Outputs</a></h2>
</li>
</ul>
</li>
<li><input disabled="" type="checkbox" checked=""/>
<p>A test suite checking for roundtrip compatibility between codegened target environments.</p>
<li>
<p><input disabled="" type="checkbox" checked=""/>
A test suite checking for roundtrip compatibility between codegened target environments.</p>
<ul>
<li>A dedicated <a href="https://github.com/mlabs-haskell/lambda-buffers/tree/e7813017bd1575fa9346ac4264deb68b50128b7c/testsuites/lbt-plutus">lbt-plutus</a> test suite was implemented for both <a href="https://github.com/mlabs-haskell/lambda-buffers/tree/e7813017bd1575fa9346ac4264deb68b50128b7c/testsuites/lbt-plutus/lbt-plutus-haskell">Haskell</a> and <a href="https://github.com/mlabs-haskell/lambda-buffers/tree/e7813017bd1575fa9346ac4264deb68b50128b7c/testsuites/lbt-plutus/lbt-plutus-purescript">Purescript</a> backends.</li>
<li>A dedicated <a href="https://github.com/mlabs-haskell/lambda-buffers/tree/e7813017bd1575fa9346ac4264deb68b50128b7c/testsuites/lbt-prelude">lbt-prelude</a> test suite was implemented for both <a href="https://github.com/mlabs-haskell/lambda-buffers/tree/e7813017bd1575fa9346ac4264deb68b50128b7c/testsuites/lbt-prelude/lbt-prelude-haskell">Haskell</a> and <a href="https://github.com/mlabs-haskell/lambda-buffers/tree/e7813017bd1575fa9346ac4264deb68b50128b7c/testsuites/lbt-prelude/lbt-prelude-purescript">Purescript</a> backends.</li>
<li>Both include golden unit tests that provide assurances that these backends implement the LambdaBuffers packages in a mutually compatible manner.</li>
</ul>
</li>
<li><input disabled="" type="checkbox" checked=""/>
<p>A modular and contract-based test suite architecture streamlining codegen testing compliance for any of the supported typeclasses.</p>
<li>
<p><input disabled="" type="checkbox" checked=""/>
A modular and contract-based test suite architecture streamlining codegen testing compliance for any of the supported typeclasses.</p>
<ul>
<li>A testing strategy was devised and <a href="https://github.com/mlabs-haskell/lambda-buffers/tree/e7813017bd1575fa9346ac4264deb68b50128b7c/testsuites">implemented</a> where each supported backend must implement the <code>lbt</code> (ie. a LambdaBuffers test suite) for the corresponding LambdaBuffers package. A package is a collection of LambdaBuffers schemas and their associated runtime libraries.</li>
<li>LambdaBuffers Prelude
Expand All @@ -231,8 +234,9 @@ <h2 id="outputs"><a class="header" href="#outputs">Outputs</a></h2>
</li>
</ul>
</li>
<li><input disabled="" type="checkbox" checked=""/>
<p>A document mapping the schema data types and typeclasses to their corresponding code-generated variants in the target environments.</p>
<li>
<p><input disabled="" type="checkbox" checked=""/>
A document mapping the schema data types and typeclasses to their corresponding code-generated variants in the target environments.</p>
<ul>
<li><a href="https://mlabs-haskell.github.io/lambda-buffers/haskell.html">LambdaBuffers to Haskell</a> documentation.</li>
<li><a href="https://mlabs-haskell.github.io/lambda-buffers/purescript.html">LambdaBuffers to Purescript</a> documentation.</li>
Expand All @@ -246,8 +250,8 @@ <h2 id="acceptance-criteria"><a class="header" href="#acceptance-criteria">Accep
<ul>
<li>CI targets:
<ul>
<li>checks.x86_64-linux.&quot;check-lbt-prelude-haskell:test:tests&quot;</li>
<li>checks.x86_64-linux.&quot;check-lbt-plutus-haskell:test:tests&quot;</li>
<li>checks.x86_64-linux."check-lbt-prelude-haskell:test:tests"</li>
<li>checks.x86_64-linux."check-lbt-plutus-haskell:test:tests"</li>
</ul>
</li>
</ul>
Expand All @@ -257,8 +261,8 @@ <h2 id="acceptance-criteria"><a class="header" href="#acceptance-criteria">Accep
<ul>
<li>CI targets:
<ul>
<li>checks.x86_64-linux.&quot;purescript:lbt-plutus:check&quot;</li>
<li>checks.x86_64-linux.&quot;purescript:lbt-prelude:check&quot;</li>
<li>checks.x86_64-linux."purescript:lbt-plutus:check"</li>
<li>checks.x86_64-linux."purescript:lbt-prelude:check"</li>
</ul>
</li>
</ul>
Expand Down Expand Up @@ -346,7 +350,7 @@ <h2 id="testing-strategy"><a class="header" href="#testing-strategy">Testing str

deriving Json Foo
</code></pre>
<p>In Haskell and Purescript values of <code>Foo</code> would be <code>Bar 1</code> and <code>Baz &quot;baz&quot;</code>, and their respective JSON mappings would be <code>{&quot;constructor&quot; : &quot;Bar&quot;, &quot;product&quot; : [1]}</code> and <code>{&quot;constructor&quot; : &quot;Baz&quot;, &quot;product&quot; : [&quot;baz&quot;]}</code>.</p>
<p>In Haskell and Purescript values of <code>Foo</code> would be <code>Bar 1</code> and <code>Baz "baz"</code>, and their respective JSON mappings would be <code>{"constructor" : "Bar", "product" : [1]}</code> and <code>{"constructor" : "Baz", "product" : ["baz"]}</code>.</p>
<h3 id="testing-encoding-typeclasses-from--to-goldens"><a class="header" href="#testing-encoding-typeclasses-from--to-goldens">Testing encoding typeclasses: <code>from . to</code> goldens</a></h3>
<p>For each typeclass, we maintain a set of <code>golden' files of known good/bad that lift into the target language with</code>from<code>and write it back with</code>to` into a separate file. Then we provide an assertion that these files are semantically 'equal' (for example JSON spaces don't matter and such).</p>
<p>Example test:</p>
Expand Down
2 changes: 1 addition & 1 deletion comparison-matrix.html
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,7 @@ <h3 id="codegen-api"><a class="header" href="#codegen-api">Codegen API</a></h3>
<p>The language codegen component exposes an API to interface with itself in a
language agnostic manner.</p>
<h3 id="language-specification"><a class="header" href="#language-specification">Language Specification</a></h3>
<p>There exists a well defined language specification document. </p>
<p>There exists a well defined language specification document.</p>
<h3 id="backwards-compatibility-strategy"><a class="header" href="#backwards-compatibility-strategy">Backwards Compatibility Strategy</a></h3>
<p>The language makes certain backwards compatibility guarantees between versions of
the same type definition.</p>
Expand Down
2 changes: 1 addition & 1 deletion compiler.html
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ <h2 id="checking-type-definitions"><a class="header" href="#checking-type-defini
</li>
<li>
<p>type function terms of kind <code>Type → Type</code> (such as <code>Maybe</code> or <code>Either</code> -
though note that type functions are not &quot;first class&quot; in the sense that they
though note that type functions are not "first class" in the sense that they
cannot be passed as arguments to other type functions).</p>
</li>
</ol>
Expand Down
2 changes: 1 addition & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ <h1 id="lambda-buffers-introduction"><a class="header" href="#lambda-buffers-int
existing code generation framework to handle those builtins in a manner
intended by the users. There are no <em>special</em> primitive types in
LambdaBuffers; a user-defined primitive type is defined in exactly the same
way (i.e. as an <code>opaque</code> type) as a LambdaBuffers &quot;builtin&quot;.</p>
way (i.e. as an <code>opaque</code> type) as a LambdaBuffers "builtin".</p>
</li>
<li>
<p><em>Typeclass Support</em>: While nearly every schema language supports generating
Expand Down
2 changes: 1 addition & 1 deletion introduction.html
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ <h1 id="lambda-buffers-introduction"><a class="header" href="#lambda-buffers-int
existing code generation framework to handle those builtins in a manner
intended by the users. There are no <em>special</em> primitive types in
LambdaBuffers; a user-defined primitive type is defined in exactly the same
way (i.e. as an <code>opaque</code> type) as a LambdaBuffers &quot;builtin&quot;.</p>
way (i.e. as an <code>opaque</code> type) as a LambdaBuffers "builtin".</p>
</li>
<li>
<p><em>Typeclass Support</em>: While nearly every schema language supports generating
Expand Down
2 changes: 1 addition & 1 deletion plutarch.html
Original file line number Diff line number Diff line change
Expand Up @@ -473,7 +473,7 @@ <h2 id="example"><a class="header" href="#example">Example</a></h2>
</code></pre>
<p>Run the program:</p>
<pre><code class="language-shell">lambda-buffers/docs/plutarch ❯ cabal run
&quot;Friends, peace and love!!!&quot;
"Friends, peace and love!!!"
</code></pre>
<p>Take a look at the <a href="https://github.com/mlabs-haskell/lambda-buffers/tree/main/docs/plutarch/app/Example.hs">Example.hs</a> to see how generated types are used, namely how they are constructed with <code>pcon</code> and deconstructed with <code>pmatch</code> (or <code>pmatchC</code>).</p>

Expand Down
Loading

0 comments on commit 1cd1f4a

Please sign in to comment.