mirror of
https://github.com/roc-lang/roc.git
synced 2025-08-04 12:18:19 +00:00
update tutorial, cleanup
This commit is contained in:
parent
963eb9f2c1
commit
f91523baa9
3 changed files with 8 additions and 7 deletions
|
@ -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
1
examples/.gitignore
vendored
|
@ -2,7 +2,6 @@
|
|||
libhost.a
|
||||
libapp.so
|
||||
dynhost
|
||||
preprocessedhost
|
||||
*.rm1
|
||||
*.rh1
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue