diff options
author | Akshay <[email protected]> | 2020-06-18 06:09:57 +0100 |
---|---|---|
committer | Akshay <[email protected]> | 2020-06-18 06:09:57 +0100 |
commit | 3739ce5d1969df71f272d18a3ff8b5e13cd27f4f (patch) | |
tree | a78ba875dbc37b23e5211e9aa6fa7293704110c3 /docs/posts/turing_complete_type_systems/index.html | |
parent | 43032d7952c9dafce3ba8590db928cfd7edf5519 (diff) |
new post: turing complete type systems
Diffstat (limited to 'docs/posts/turing_complete_type_systems/index.html')
-rw-r--r-- | docs/posts/turing_complete_type_systems/index.html | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/docs/posts/turing_complete_type_systems/index.html b/docs/posts/turing_complete_type_systems/index.html new file mode 100644 index 0000000..4a7e2b1 --- /dev/null +++ b/docs/posts/turing_complete_type_systems/index.html | |||
@@ -0,0 +1,73 @@ | |||
1 | <!DOCTYPE html> | ||
2 | <html lang="en"> | ||
3 | <head> | ||
4 | <link rel="stylesheet" href="/style.css"> | ||
5 | <link rel="stylesheet" href="/syntax.css"> | ||
6 | <meta charset="UTF-8"> | ||
7 | <meta name="viewport" content="initial-scale=1"> | ||
8 | <meta content="#ffffff" name="theme-color"> | ||
9 | <meta name="HandheldFriendly" content="true"> | ||
10 | <meta property="og:title" content="Turing Complete Type Systems"> | ||
11 | <meta property="og:type" content="website"> | ||
12 | <meta property="og:description" content="a static site {for, by, about} me "> | ||
13 | <meta property="og:url" content="https://peppe.rs"> | ||
14 | <link rel="icon" type="image/x-icon" href="/favicon.png"> | ||
15 | <title>Turing Complete Type Systems · peppe.rs</title> | ||
16 | <body> | ||
17 | <div class="posts"> | ||
18 | <div class="post"> | ||
19 | <a href="/" class="post-end-link">⟵ Back</a> | ||
20 | <a class="stats post-end-link" href="https://raw.githubusercontent.com/nerdypepper/site/master/posts/turing_complete_type_systems.md | ||
21 | ">View Raw</a> | ||
22 | <div class="separator"></div> | ||
23 | <div class="date"> | ||
24 | 18/06 — 2020 | ||
25 | <div class="stats"> | ||
26 | <span class="stats-number"> | ||
27 | 8.78 | ||
28 | </span> | ||
29 | <span class="stats-unit">cm</span> | ||
30 |   | ||
31 | <span class="stats-number"> | ||
32 | 0.8 | ||
33 | </span> | ||
34 | <span class="stats-unit">min</span> | ||
35 | </div> | ||
36 | </div> | ||
37 | <h1> | ||
38 | Turing Complete Type Systems | ||
39 | </h1> | ||
40 | <div class="post-text"> | ||
41 | <p>Rust’s type system is Turing complete:</p> | ||
42 | <ul> | ||
43 | <li><a href="https://github.com/doctorn/trait-eval/">FizzBuzz with Rust Traits</a></li> | ||
44 | <li><a href="https://github.com/Ashymad/fortraith">A Forth implementation with Rust Traits</a></li> | ||
45 | </ul> | ||
46 | <p>It is impossible to determine if a program written in a generally Turing complete system will ever stop. That is, it is impossible to write a program <code>f</code> that determines if a program <code>g</code>, where <code>g</code> is written in a Turing complete programming language, will ever halt. The <a href="https://en.wikipedia.org/wiki/Halting_problem">Halting Problem</a> is in fact, an <a href="https://en.wikipedia.org/wiki/Undecidable_problem">undecidable problem</a>.</p> | ||
47 | <p><em>How is any of this relevant?</em></p> | ||
48 | <p>Rust performs compile-time type inference. The type checker, in turn, compiles and infers types, I would describe it as a compiler inside a compiler. It is possible that <code>rustc</code> may never finish compiling your Rust program!</p> | ||
49 | <p>I understand that this post lacks content.</p> | ||
50 | |||
51 | </div> | ||
52 | |||
53 | <div class=intro> | ||
54 | Hi. | ||
55 | <div class=hot-links> | ||
56 | <a href=https://peppe.rs/index.xml class=feed-button>Subscribe</a> | ||
57 | <a href=https://liberapay.com/nerdypepper/donate class=donate-button>Donate</a> | ||
58 | </div> | ||
59 | <p>I'm Akshay, I go by nerd or nerdypepper on the internet.</p> | ||
60 | <p> | ||
61 | I am a compsci undergrad, Rust programmer and an enthusiastic Vimmer. | ||
62 | I write open-source stuff to pass time. I also design fonts: scientifica, curie. | ||
63 | </p> | ||
64 | <p>Send me a mail at [email protected] or a message at [email protected].</p> | ||
65 | </div> | ||
66 | |||
67 | <a href="/" class="post-end-link">⟵ Back</a> | ||
68 | <a class="stats post-end-link" href="https://raw.githubusercontent.com/nerdypepper/site/master/posts/turing_complete_type_systems.md | ||
69 | ">View Raw</a> | ||
70 | </div> | ||
71 | </div> | ||
72 | </body> | ||
73 | </html> | ||