update tutorial, cleanup

This commit is contained in:
Anton-4 2022-11-28 20:13:39 +01:00
parent 963eb9f2c1
commit f91523baa9
No known key found for this signature in database
GPG key ID: A13F4A6E21141925
3 changed files with 8 additions and 7 deletions

View file

@ -150,6 +150,8 @@ fn write_archive<W: Write>(path: &Path, writer: W) -> io::Result<()> {
if [
// surgical linker format
Some("rh1"),
// metadata file
Some("rm1"),
// legacy linker formats
Some("o"),
Some("obj"),

1
examples/.gitignore vendored
View file

@ -2,7 +2,6 @@
libhost.a
libapp.so
dynhost
preprocessedhost
*.rm1
*.rh1

View file

@ -175,7 +175,7 @@ to use them for more than that.</p>
<p>Let's move out of the REPL and create our first Roc application!</p>
<p>Make a file named <code>main.roc</code> and put this in it:</p>
<samp><span class="kw">app</span> <span class="str">"hello"</span>
<span class="kw">packages</span> <span class="brace">{</span> pf: <span class="str">"https://github.com/roc-lang/basic-cli/releases/download/0.1.0/_V6HO2Dwez0xsSstgK8qC6wBLXSfNlVFyUTMg0cYiQQ.tar.br"</span> <span class="brace">}</span>
<span class="kw">packages</span> <span class="brace">{</span> pf: <span class="str">"https://github.com/roc-lang/basic-cli/releases/download/0.1.1/zAoiC9xtQPHywYk350_b7ust04BmWLW00sjb9ZPtSQk.tar.br"</span> <span class="brace">}</span>
<span class="kw">imports</span> <span class="brace">[</span>pf.Stdout<span class="brace">]</span>
<span class="kw">provides</span> <span class="brace">[</span>main<span class="brace">]</span> <span class="kw">to</span> pf
@ -1237,7 +1237,7 @@ Roc compiler. That's why they're called "builtins!"</p>
<h2 id="the-app-module-header"><a href="#the-app-module-header">The app module header</a></h2>
<p>Let's take a closer look at the part of <code>main.roc</code> above the <code>main</code> def:</p>
<samp><span class="hljs-selector-tag">app</span> "<span class="hljs-selector-tag">hello</span>"
<span class="kw">packages</span> <span class="brace">{</span> pf: <span class="str">"https://github.com/roc-lang/basic-cli/releases/download/0.1.0/_V6HO2Dwez0xsSstgK8qC6wBLXSfNlVFyUTMg0cYiQQ.tar.br"</span> <span class="brace">}</span>
<span class="kw">packages</span> <span class="brace">{</span> pf: <span class="str">"https://github.com/roc-lang/basic-cli/releases/download/0.1.1/zAoiC9xtQPHywYk350_b7ust04BmWLW00sjb9ZPtSQk.tar.br"</span> <span class="brace">}</span>
<span class="hljs-selector-tag">imports</span> <span class="hljs-selector-attr">[pf.Stdout]</span>
<span class="hljs-selector-tag">provides</span> <span class="hljs-selector-tag">main</span> <span class="hljs-selector-tag">to</span> <span class="hljs-selector-tag">pf</span>
</samp>
@ -1250,7 +1250,7 @@ means when you run <code>roc dev</code>, the Roc compiler will build an executab
named <code>hello</code> (or <code>hello.exe</code> on Windows) and run it. You can also build the executable
without running it by running <code>roc build</code>.</p>
<p>The remaining lines all involve the <em>platform</em> this application is built on:</p>
<samp><span class="kw">packages</span> <span class="brace">{</span> pf: <span class="str">"https://github.com/roc-lang/basic-cli/releases/download/0.1.0/_V6HO2Dwez0xsSstgK8qC6wBLXSfNlVFyUTMg0cYiQQ.tar.br"</span> <span class="brace">}</span>
<samp><span class="kw">packages</span> <span class="brace">{</span> pf: <span class="str">"https://github.com/roc-lang/basic-cli/releases/download/0.1.1/zAoiC9xtQPHywYk350_b7ust04BmWLW00sjb9ZPtSQk.tar.br"</span> <span class="brace">}</span>
<span class="kw">imports</span> <span class="brace">[</span>pf.Stdout<span class="brace">]</span>
<span class="kw">provides</span> <span class="brace">[</span>main<span class="brace">]</span> <span class="kw">to</span> pf
</samp>
@ -1295,7 +1295,7 @@ we've been using up to this point as an example!</p>
<p>We'll use these four operations to learn about tasks.</p>
<p>Let's start with a basic "Hello World" program.</p>
<samp><span class="kw">app</span> <span class="str">"cli-tutorial"</span>
<span class="kw">packages</span> <span class="brace">{</span> pf: <span class="str">"https://github.com/roc-lang/basic-cli/releases/download/0.1.0/_V6HO2Dwez0xsSstgK8qC6wBLXSfNlVFyUTMg0cYiQQ.tar.br"</span> <span class="brace">}</span>
<span class="kw">packages</span> <span class="brace">{</span> pf: <span class="str">"https://github.com/roc-lang/basic-cli/releases/download/0.1.1/zAoiC9xtQPHywYk350_b7ust04BmWLW00sjb9ZPtSQk.tar.br"</span> <span class="brace">}</span>
imports [pf.Stdout]
provides [main] to pf
@ -1320,7 +1320,7 @@ when it runs (hence the <code>*</code>).</p>
</samp>
<p>Let's change <code>main</code> to read a line from <code>stdin</code>, and then print it back out again:</p>
<samp>app <span class="str">"cli-tutorial"</span>
<span class="kw">packages</span> <span class="brace">{</span> pf: <span class="str">"https://github.com/roc-lang/basic-cli/releases/download/0.1.0/_V6HO2Dwez0xsSstgK8qC6wBLXSfNlVFyUTMg0cYiQQ.tar.br"</span> <span class="brace">}</span>
<span class="kw">packages</span> <span class="brace">{</span> pf: <span class="str">"https://github.com/roc-lang/basic-cli/releases/download/0.1.1/zAoiC9xtQPHywYk350_b7ust04BmWLW00sjb9ZPtSQk.tar.br"</span> <span class="brace">}</span>
imports [pf.Stdout, pf.Stdin, pf.Task]
provides [main] to pf
@ -1355,7 +1355,7 @@ the program isn't doing anything when we start it up:</p>
</samp>
<p>This works, but we can make it a little nicer to read. Let's change it to the following:</p>
<samp>app <span class="str">"cli-tutorial"</span>
<span class="kw">packages</span> <span class="brace">{</span> pf: <span class="str">"https://github.com/roc-lang/basic-cli/releases/download/0.1.0/_V6HO2Dwez0xsSstgK8qC6wBLXSfNlVFyUTMg0cYiQQ.tar.br"</span> <span class="brace">}</span>
<span class="kw">packages</span> <span class="brace">{</span> pf: <span class="str">"https://github.com/roc-lang/basic-cli/releases/download/0.1.1/zAoiC9xtQPHywYk350_b7ust04BmWLW00sjb9ZPtSQk.tar.br"</span> <span class="brace">}</span>
imports [pf.Stdout, pf.Stdin, pf.Task.{ await }]
provides [main] to pf