aboutsummaryrefslogtreecommitdiffhomepage
path: root/index.html
blob: 51c033e694eb3832add06f9a7f4ed8f344325977 (plain) (blame)
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
<!doctype html>
<html>
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width" />
    <title>Lambda Screen - Fractals in Pure Lambda Calculus</title>
    <link rel="stylesheet" href="style.css" type="text/css" media="all" />
  </head>
  <body>
    <main>
      <canvas height="800" width="800" id="canvas"></canvas>
      <div>
        <div class="inputWrap">
          Reduction mode:
          <select id="reductionMode">
            <option value="auto" selected>Reduce to normal form</option>
            <option value="slider">Reduce by sliding</option>
            <option value="click">Reduce by clicking</option>
          </select>
        </div>
        <input type="range" min="0" max="20" value="0" id="slider" />
      </div>
      <div>
        <div class="inputWrap">
          Load preset:
          <select id="examples">
            <option value="" selected>Empty</option>
            <option value="\0">Identity</option>
            <option
              value="tl = \\0
tr = \\0
bl = \\0
br = \\0
\\((((0 tl) tr) bl) br)"
            >
              Just black
            </option>
            <option
              value="map = \\(0 \\\\\((((0 (6 4)) (6 3)) (6 2)) (6 1)))
invert = \\\((2 0) 1)
(map invert)"
            >
              Invert
            </option>
          </select>
        </div>
        <span id="error"></span>
        <textarea
          type="text"
          rows="5"
          placeholder="e.g. \\(0...) or 00000110... (BLC) or [[0 ...]] (bruijn)"
          name="term"
          id="term"
        ></textarea>
      </div>
      <button id="render">Render!</button>
    </main>
    <script src="script.js"></script>
  </body>
</html>