Website

Check-in [8501f88f4e]
Login
Overview
Comment:Finished re-styling frontpage.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 8501f88f4e3529d768ed597da346bfe383b582294477f4c6bd2f59f6099de1fd
User & Date: robin.hansen on 2020-11-20 14:15:11
Other Links: manifest | tags
Context
2020-11-20
14:25
Remove wasm logo. check-in: 4b933ee4dc user: robin.hansen tags: trunk
14:15
Finished re-styling frontpage. check-in: 8501f88f4e user: robin.hansen tags: trunk
05:55
Re-worked hook text in header. Added footer with lead-developer name and link to twitter profile. Si... check-in: 108084d650 user: robin.hansen tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Modified src/index.css from [8013f75bba] to [6b4832c6ae].

49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
..
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109

110
111
112
113
114
115
116
117
118
119
120
121
122
123


124
125
126
127


128
129
130


131



132
133




























}

#header-content nav h1 .big {
    font-size: 1.25em;
}

#header-content nav h1 .small {
    font-size: .6em;
}


#header-content nav ul {
    display: flex;
    align-items: flex-end;

................................................................................
    font-size: 3.5rem;
}

#header-content ul {
    margin-bottom: 40px;
}

#selling-points {
    width: 800px;
    margin: 0 auto;
    padding-top: 50px;
    padding-bottom: 200px;
}

#selling-points article {
    margin-bottom: 50px;
}

#selling-points .content {
    display: flex;
    justify-content: space-between;
}

.shell {
    margin: 0;
    padding: 8px;

    background-color: rgb(0, 0, 0);
    color: rgb(255, 255, 255);
    white-space: pre-line;
    font-family: monospace;
}

#selling-points .content p {
    width: 50%;
    margin: 0;
    padding-right: 25px;
}

#selling-points .content .shell {
    width: 50%;


}

#selling-points .content img {
    width: 50%;


}

#selling-points a {


    color: #36af6d;



}




































|







 







|



|


|
|


<
<
<
<
<
|

|
>






|
|
|
|


|
|
>
>


<
<
>
>


<
>
>
|
>
>
>


>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
..
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101





102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123


124
125
126
127

128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
}

#header-content nav h1 .big {
    font-size: 1.25em;
}

#header-content nav h1 .small {
    font-size: .5em;
}


#header-content nav ul {
    display: flex;
    align-items: flex-end;

................................................................................
    font-size: 3.5rem;
}

#header-content ul {
    margin-bottom: 40px;
}

main {
    width: 800px;
    margin: 0 auto;
    padding-top: 50px;
    padding-bottom: 50px;
}

main a {
    color: #36af6d;
}






main .shell {
    margin: 0;
    padding: 1em;
    width: 400px;
    background-color: rgb(0, 0, 0);
    color: rgb(255, 255, 255);
    white-space: pre-line;
    font-family: monospace;
}

main .left {
    float: left;
    margin-right: 1em;
    margin-bottom: 1em;
}

main .right {
    float: right;
    margin-left: 1em;
    margin-bottom: 1em;
}



main .clear {
    clear: both;
}


footer {
    color: rgba(255, 255, 255, .85);
    background: #36af6d;
    padding: 1em;
    font-size: 0.95rem;
    font-weight: 300;
}

footer a {
    color: rgba(255, 255, 255, .85);
    padding: 0 3px;
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, .85);
}

footer a:hover {
    color: rgba(255, 255, 255, 1);
    border-bottom: 1px solid rgba(255, 255, 255, 1);
}

footer ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
    text-align: center;
}

footer ul li {
    display: inline;
    border-right: 1px solid white;
    padding: 0 0.5em;
}

footer ul li:last-child {
    border-right: none;
}

Modified src/index.html from [1a33a62c94] to [4c16b7e314].

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
                <a class="link-button" alt="Try the Play language" href="/playground.html">
                    Try
                </a>
            </div>
        </header>

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

            <p>The syntax of Play is based on Forth, resulting in a syntax which could fit on a postcard while still being flexible enough for anything you need. All functions (what we call 'words') are implicitly composable, and so Play programs are a concatination of words just like books.</p>

            <pre class="shell">
                # Returns 3

                def: main
                : 2 increment

                def: increment
                : 1 +
            </pre>



            <h3>Easy to reason about</h3>

            <p>Play uses a static type system with type inference, which lets you rule out bugs while it staying out of your way. In addition, all data structures are immutable, greatly reducing the number of states your program can be in and which you must account for when writing code.</p>


            <pre class="shell">
                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>Play is compiled to web assembly. This allows Play programs to execute in a browser in addition to on the command line, and to work the same no matter where it is executed. The alternative to web assembly would be to compile to javascript, but then we'd have to live with a legacy which includes 53-bit integers and six different falsy values.</p>

            <img alt="Web assembly logo" src="wasm_logo.svg" />

            <h3>In Alpha</h3>

            <p>Play 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.play-lang.dev/compiler/wiki?name=roadmap">roadmap</a>.</p>
        </main>

        <footer>
            <ul>
                <li>Created by: Robin Heggelund Hansen</li>
                <li>Twitter: <a href="https://twitter.com/robheghan" alt="Robin's twitter profile">@robheghan</a></li>
            </ul>
        </footer>
    </body>
</html>







|

|

|

>







>
>


<
>

|












|

<
<
|






|





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
87
                <a class="link-button" alt="Try the Play language" href="/playground.html">
                    Try
                </a>
            </div>
        </header>

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

            <p>The syntax and semantics of Play 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 Play 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 Play syntax.</p>

            <h3>Easy to reason about</h3>


            <p>Play 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 forgettng to deal with a certain error condition is caught at compile time. All data structures in Play 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>As Play is compiled to web assembly, your code can run on the command line, on a server or even in the browser. As Play 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>Play 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.play-lang.dev/compiler/wiki?name=roadmap">roadmap</a>.</p>
        </main>

        <footer>
            <ul>
                <li>Robin Heggelund Hansen</li>
                <li>Twitter: <a href="https://twitter.com/robheghan" alt="Robin's twitter profile">@robheghan</a></li>
            </ul>
        </footer>
    </body>
</html>