-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathquickstart.html
More file actions
61 lines (59 loc) · 3.68 KB
/
quickstart.html
File metadata and controls
61 lines (59 loc) · 3.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Telomare QuickStart</title>
<link rel="stylesheet" type="text/css" href="./css/default.css" />
<link rel="stylesheet" type="text/css" href="./css/syntax.css" />
</head>
<body>
<div id="header">
<div id="logo">
<a href="./">Telomare</a>
</div>
<div id="navigation">
<a href="./quickstart.html">QuickStart</a>
<a href="./documentation.html">Documentation</a>
<a href="./archive.html">Archive</a>
</div>
</div>
<div id="content">
<h1>QuickStart</h1>
<ol type="1">
<li><p>Clone the compiler’s repository and change directory to it:</p>
<div class="sourceCode" id="cb1"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="ex">$</span> git clone https://github.com/Stand-In-Language/stand-in-language.git</span>
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a><span class="ex">$</span> cd stand-in-language</span></code></pre></div></li>
<li><p><a href="https://nixos.org/nix/download.html">Install Nix</a>:</p>
<div class="sourceCode" id="cb2"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="ex">$</span> curl https://nixos.org/nix/install <span class="kw">|</span> <span class="fu">sh</span></span></code></pre></div></li>
<li><p>Optional (reduces build time by using telomare’s cache):</p>
<pre><code># Install cachix with nix-env or adding `cachix` to your `/etc/nixos/configuration.nix`'s' `environment.systemPackages` if in NixOS.
$ nix-env -iA cachix -f https://cachix.org/api/v1/install
$ cachix use telomare</code></pre></li>
<li><p>Enter a Nix shell. This will setup an environment where all external dependencies will be available (such as <code>cabal</code> for building):</p>
<pre><code>$ nix-shell shell.nix</code></pre></li>
<li><p>Build the project:</p>
<pre><code>$ cabal new-build</code></pre></li>
<li><p>Run the tictactoe example and start playing with a friend (or run your own telomare file):</p>
<pre><code>$ cabal new-run telomare -- tictactoe.tel</code></pre></li>
<li><p>Profit!</p></li>
</ol>
<h2 id="running-cabal-new-repl">Running <code>cabal new-repl</code></h2>
<p>There is a known issue (#7) for getting a repl.</p>
<p>To get around it, you should copy <code>libgc.so.1</code> (provided by the <code>bohem</code> garbage collector) into your repository (telomare/lib is a good choice) and rename it to <code>libgc.so</code>. You will also need to reference it on <code>telomare.cabal</code> under the <code>library</code> stanza. Be sure to use the complete path for <code>libgc.so</code> on <code>telomare.cabal</code> (a commented version on <code>telomare.cabal</code> is provided as an example).</p>
<h2 id="telomare-repl">Telomare REPL</h2>
<ol type="1">
<li><p>Run:</p>
<pre><code>$ cd <your/local/clone/location>/stand-in-language
$ nix-shell shell.nix
$ cabal new-build
$ cabal new-run telomare-mini-repl -- --haskell</code></pre></li>
<li><p>Profit!</p></li>
</ol>
</div>
<div id="footer">
Got changes to contribute to the site?
<a href="https://github.com/Stand-In-Language/stand-in-language.github.io">Fork or comment on Github</a>
</div>
</body>
</html>