Deployed 7b6eba5 to master with MkDocs 1.4.2 and mike 1.1.2

This commit is contained in:
GitHub Action 2023-04-12 11:21:10 +00:00
parent 5130153b91
commit 176ac3b3ed
6 changed files with 50 additions and 10 deletions

View File

@ -1558,6 +1558,14 @@
and this project adheres to <a href="https://semver.org/spec/v2.0.0.html">Semantic Versioning</a>.</p>
<h2 id="unreleased"><a href="https://github.com/aeternity/aesophia/compare/v7.1.0...HEAD">Unreleased</a></h2>
<h3 id="added">Added</h3>
<ul>
<li>Toplevel compile-time constants
<div class="highlight"><pre><span></span><code>namespace N =
let nc = 1
contract C =
let cc = 2
</code></pre></div></li>
</ul>
<h3 id="changed">Changed</h3>
<h3 id="removed">Removed</h3>
<h3 id="fixed">Fixed</h3>

File diff suppressed because one or more lines are too long

View File

@ -2,47 +2,47 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>None</loc>
<lastmod>2023-03-21</lastmod>
<lastmod>2023-04-12</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-03-21</lastmod>
<lastmod>2023-04-12</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-03-21</lastmod>
<lastmod>2023-04-12</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-03-21</lastmod>
<lastmod>2023-04-12</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-03-21</lastmod>
<lastmod>2023-04-12</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-03-21</lastmod>
<lastmod>2023-04-12</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-03-21</lastmod>
<lastmod>2023-04-12</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-03-21</lastmod>
<lastmod>2023-04-12</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>None</loc>
<lastmod>2023-03-21</lastmod>
<lastmod>2023-04-12</lastmod>
<changefreq>daily</changefreq>
</url>
</urlset>

Binary file not shown.

View File

@ -447,6 +447,13 @@
Hole expression
</a>
</li>
<li class="md-nav__item">
<a href="#constants" class="md-nav__link">
Constants
</a>
</li>
<li class="md-nav__item">
@ -855,6 +862,13 @@
Hole expression
</a>
</li>
<li class="md-nav__item">
<a href="#constants" class="md-nav__link">
Constants
</a>
</li>
<li class="md-nav__item">
@ -1706,6 +1720,23 @@ contract C =
List.sum(List.map(???, [1,2,3]))
</code></pre></div>
<p>A hole expression found in the example above will generate the error <code>Found a hole of type `(int) =&gt; int`</code>. This says that the compiler expects a function from <code>int</code> to <code>int</code> in place of the <code>???</code> placeholder.</p>
<h2 id="constants">Constants</h2>
<p>Constants in Sophia are contract-level bindings that can be used in either contracts or namespaces. The value of a constant can be a literal, another constant, or arithmetic operations applied to other constants. Lists, tuples, maps, and records can also be used to define a constant as long as their elements are also constants.</p>
<p>The following visibility rules apply to constants:
* Constants defined inside a contract are private in that contract. Thus, cannot be accessed through instances of their defining contract.
* Constants defined inside a namespace are public. Thus, can be used in other contracts or namespaces.
* Constants cannot be defined inside a contract interface.</p>
<p>When a constant is shadowed, it can be accessed using its qualified name:</p>
<div class="highlight"><pre><span></span><code>contract C =
let c = 1
entrypoint f() =
let c = 2
c + C.c // the result is 3
</code></pre></div>
<p>The name of the constant must be an id; therefore, no pattern matching is allowed when defining a constant:</p>
<div class="highlight"><pre><span></span><code>contract C
let x::y::_ = [1,2,3] // this will result in an error
</code></pre></div>
<h2 id="arithmetic">Arithmetic</h2>
<p>Sophia integers (<code>int</code>) are represented by arbitrary-sized signed words and support the following
arithmetic operations:

View File

@ -720,6 +720,7 @@ element may be indented less than the indentation of the block. For instance</p>
<span class="n">Decl</span><span class="w"> </span><span class="o">::=</span><span class="w"> </span><span class="err">&#39;</span><span class="n">type</span><span class="err">&#39;</span><span class="w"> </span><span class="n">Id</span><span class="w"> </span><span class="p">[</span><span class="sc">&#39;(&#39;</span><span class="w"> </span><span class="n">TVar</span><span class="o">*</span><span class="w"> </span><span class="sc">&#39;)&#39;</span><span class="p">]</span><span class="w"> </span><span class="sc">&#39;=&#39;</span><span class="w"> </span><span class="n">TypeAlias</span>
<span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">&#39;</span><span class="n">record</span><span class="err">&#39;</span><span class="w"> </span><span class="n">Id</span><span class="w"> </span><span class="p">[</span><span class="sc">&#39;(&#39;</span><span class="w"> </span><span class="n">TVar</span><span class="o">*</span><span class="w"> </span><span class="sc">&#39;)&#39;</span><span class="p">]</span><span class="w"> </span><span class="sc">&#39;=&#39;</span><span class="w"> </span><span class="n">RecordType</span>
<span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">&#39;</span><span class="n">datatype</span><span class="err">&#39;</span><span class="w"> </span><span class="n">Id</span><span class="w"> </span><span class="p">[</span><span class="sc">&#39;(&#39;</span><span class="w"> </span><span class="n">TVar</span><span class="o">*</span><span class="w"> </span><span class="sc">&#39;)&#39;</span><span class="p">]</span><span class="w"> </span><span class="sc">&#39;=&#39;</span><span class="w"> </span><span class="n">DataType</span>
<span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">&#39;</span><span class="n">let</span><span class="err">&#39;</span><span class="w"> </span><span class="n">Id</span><span class="w"> </span><span class="p">[</span><span class="sc">&#39;:&#39;</span><span class="w"> </span><span class="n">Type</span><span class="p">]</span><span class="w"> </span><span class="sc">&#39;=&#39;</span><span class="w"> </span><span class="n">Expr</span>
<span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="p">(</span><span class="n">EModifier</span><span class="o">*</span><span class="w"> </span><span class="err">&#39;</span><span class="n">entrypoint</span><span class="err">&#39;</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">FModifier</span><span class="o">*</span><span class="w"> </span><span class="err">&#39;</span><span class="n">function</span><span class="err">&#39;</span><span class="p">)</span><span class="w"> </span><span class="n">Block</span><span class="p">(</span><span class="n">FunDecl</span><span class="p">)</span>
<span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">Using</span>