Website

Check-in [4c26e5b198]
Login
Overview
Comment:Changed wording on the landing page. Fixes [818216465d].
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 4c26e5b198bcefcbd95829f762f48c791fd80afbacfdfaf920a9fabad957d0b8
User & Date: robin.hansen on 2021-06-08 12:59:06
Other Links: manifest | tags
Context
2021-06-08
13:04
Replace all occurences of 'Play' with 'Stabel' in the playground. check-in: 97867465fd user: robin.hansen tags: trunk
12:59
Changed wording on the landing page. Fixes [818216465d]. check-in: 4c26e5b198 user: robin.hansen tags: trunk
09:33
Add community page with links to zulip, twitter and compiler repo. check-in: a562f1f447 user: robin.hansen tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Modified src/index.html from [af081d167e] to [ba09699efc].

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
62
63
64
65
..
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
                    <ul>
                        <li><a title="Get caught up on the latest news" href="https://fossils.stabel-lang.org/compiler/timeline?udc=1&ss=m&n=10&y=e&advm=0">News</a></li>
                        <li><a title="Join the discussion" href="/community.html">Community</a></li>
                        <li><a title="Access the source code" href="https://fossils.stabel-lang.org">Source</a></li>
                    </ul>
                </nav>

                <h2>A small, portable language, for making reliable applications</h2>

                <ul>
                    <li>You can learn the syntax and semantics in an afternoon</li>
                    <li>The compiler helps you find mistakes with a strong static type system</li>
                    <li>Tightly controlled side effects gives you a better control over third party code</li>
                    <li>Run your code on a server or in the browser, using web assembly</li>
                </ul>

                <a class="link-button" alt="Try Stabel" href="/playground.html">
                    Try
                </a>
            </div>
        </header>

        <main>
            <h3>Minimal, yet flexible</h3>

            <p>The syntax and semantics of Stabel is heavily inspired by Forth. This means that the syntax is clean and free of many control characters while the semantics consist of few, but powerful, rules.</p>

            <pre class="shell right">
                # Returns 3

                def: main
                : 2 increment

                def: increment
                : 1 +
            </pre>

            <p>Without going into too much detail, code in Stabel consists of whitespace-separated functions which are called in a left-to-right fashion. The return value, or values, of a function call serve as the input arguments for the next function call. Numbers are functions which return themselves. Technically, this entire paragraph is valid Stabel syntax.</p>

            <h3>Easy to reason about</h3>

            <p>Stabel also improves on Forth in several ways. A strong, static type system helps you prevent bugs and to document your code. Errors and IO are represented in the type system, so that forgetting to deal with a certain error condition is caught at compile time. All data structures in Stabel are also immutable, which greatly reduces the number of states your program can be in, which again makes your code easy to reason about.</p>

            <pre class="shell left">
                Compilation failed:

                9 | def: some-word
                10| type: -- Bool
                11| : 1
................................................................................

                The type of 'some-word' is specified to be  -- Bool.
                However, it seems that the actual type is:  -- Int.
            </pre>

            <h3>Portable</h3>

            <p>Your code can run on the command line, on a server or even in the browser. As Stabel is compiled to web assembly, you're sure to enjoy the exact same semantics wherever your code is executed.</p>

            <h3 class="clear">In Alpha</h3>

            <p>Stabel is still in early development. There are currently no strings, arrays or even garbage collection. All of this will come in time. For more information, take a look at the <a alt="Read the roadmap" href="https://fossils.stabel-lang.org/compiler/wiki?name=roadmap">roadmap</a>.</p>
        </main>

        <footer>
            <ul>
                <li>© 2020-2021 Robin Heggelund Hansen</li>
            </ul>
        </footer>
    </body>
</html>







|









|







|


<
<

|





|



|







 







|













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
62
63
..
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
                    <ul>
                        <li><a title="Get caught up on the latest news" href="https://fossils.stabel-lang.org/compiler/timeline?udc=1&ss=m&n=10&y=e&advm=0">News</a></li>
                        <li><a title="Join the discussion" href="/community.html">Community</a></li>
                        <li><a title="Access the source code" href="https://fossils.stabel-lang.org">Source</a></li>
                    </ul>
                </nav>

                <h2>A small, safe and portable language, for making reliable apps</h2>

                <ul>
                    <li>You can learn the syntax and semantics in an afternoon</li>
                    <li>The compiler helps you find mistakes with a strong static type system</li>
                    <li>Tightly controlled side effects gives you a better control over third party code</li>
                    <li>Run your code on a server or in the browser, using web assembly</li>
                </ul>

                <a class="link-button" alt="Try Stabel" href="/playground.html">
                    Playground
                </a>
            </div>
        </header>

        <main>
            <h3>Minimal, yet flexible</h3>

            <p>The syntax and semantics of Stabel uses reverse polish notation, meaning the function name comes <em>after</em> its arguments. This frees the syntax of many control characters while the semantics consist of a few, but powerful, rules.</p>

            <pre class="shell right">


                def: main
                : 2 increment # returns 3

                def: increment
                : 1 +
            </pre>

            <p>Without going into too much detail, code in Stabel consists of whitespace-separated functions which are called in a left-to-right fashion. The return value, or values, of a function call serve as the input arguments for the next function call. Numbers are functions which return themselves.</p>

            <h3>Easy to reason about</h3>

            <p>A strong, static type system helps you prevent bugs and document your code. Errors and IO are represented in the type system, so that forgetting to deal with a certain error condition is caught at compile time. All data structures in Stabel are also immutable, which greatly reduces the number of states your program can be in, which again makes your code easy to reason about.</p>

            <pre class="shell left">
                Compilation failed:

                9 | def: some-word
                10| type: -- Bool
                11| : 1
................................................................................

                The type of 'some-word' is specified to be  -- Bool.
                However, it seems that the actual type is:  -- Int.
            </pre>

            <h3>Portable</h3>

            <p>Your code can run on the command line, on a server or even in the browser. Stabel is compiled to web assembly, so you're sure to enjoy the same semantics wherever your code is executed.</p>

            <h3 class="clear">In Alpha</h3>

            <p>Stabel is still in early development. There are currently no strings, arrays or even garbage collection. All of this will come in time. For more information, take a look at the <a alt="Read the roadmap" href="https://fossils.stabel-lang.org/compiler/wiki?name=roadmap">roadmap</a>.</p>
        </main>

        <footer>
            <ul>
                <li>© 2020-2021 Robin Heggelund Hansen</li>
            </ul>
        </footer>
    </body>
</html>