all repos — hex @ fa251d0c16a7ab1549b0adff6231daf675396b52

A tiny, minimalist, slightly-esoteric concatenative programming lannguage.

web/templates/index.html

 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
 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
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>hex programming language</title>
    <style>
    html {
      margin: 0;
      padding: 0;
      font-size: 12px;
      line-height: 16px;
    }
    body {
      margin: 1rem;
      padding: 0;
      font-family: Monospace;
      font-size: 1rem;
      background-color: black;
      color: white;
    }
    
    h1, h2, h3 {
      margin: 1rem 0 0.5rem 0;
      font-size: 1rem;
      font-weight: 700;
    } 
    
    header {
      white-space: pre-wrap;
      margin: 0;
    }
    
    header h1 {
      display: inline;
      margin: 0;
    } 
    
    footer {
      font-size: 80%;
      text-align: center;
      margin: auto;
    }
    
    a {
      color: lime;
      text-decoration: underline;
    }
    
    a:visited {
      color: limegreen;
    }
    
    a[href^=http] {
      text-decoration-style: dashed;
    } 
    
    strong {
      font-weight: 600;
    }
    
    em {
      font-style: italic;
    }
    
    li {
      margin: 0.5rem 0;
    } 
    </style>
</head>
<body>
    <header>
     _*_ _
    / \<h1><a href="/">hex</a></h1>\* programming language
   *\_/_/_/
        *
    </header>
    <nav>
      <a href="/get-started">Get Started</a> |
      <a href="/manual">Manual</a> |
      <a href="/play">Play</a> | 
      <a href="/changelog">Changelog</a> | 
      <a href="/about">About</a> 
    </nav>
    <article>
      <h2>Welcome</h2>
      <p>Welcome to the <strong>hex</strong>      programming language.</p>    
      <p><strong>hex</strong> is a tiny minimalist, concatenative, stack-based and slightly-esoteric programming language that can run on many platforms (including <a href="/play">the browser</a>) and can be used as an embedded language, to create shell scripts, or simply to learn more about concatenative programming.</p>
      <p>Its syntax is heavily inspired by the <a href="https://min-lang.org">min</a> programming language, and features space-separated tokens, no  unnecessary punctuation characters, and round brackets to delimit lists.</p>
      <h2>Features</h2>
      <ul>
        <li>Support <strong>32bit integers</strong>, <em>written only in hexadecimal format</em>, both positive and negative (represented via <a href="https://en.wikipedia.org/wiki/Two%27s_complement">two's complement</a>), <strong>strings</strong>, and <strong>quotations</strong> (lists).</li>
        <li><strong>64 native symbols</strong> implementing simple arithmetic, boolean logic, bitwise operations, comparison of integers, read/write from/to stdin/stdout/stderr, read and write files, execute external processes, work with quotations and strings, create and delete user symbols (variables), error handling, and manipulate the stack.</li>
        <li>Fully <strong>homoiconic</strong> (everything is data).</li>
        <li>Includes a simple <strong>REPL</strong>.</li>
        <li>Includes an integrated <strong>help system</strong>.</li>
        <li>Implemented as <strong>a single <a href="https://github.com/h3rald/hex/blob/master/hex.c">.c file</a> and a single <a href="https://github.com/h3rald/hex/blob/master/hex.h">.h file</a></strong>, making it easier to embed in other programs and port to different platforms.</li>
      </ul>
    </article>
    <footer>
     &copy; 2024 Fabio Cevasco
    </footer>
</body>
</html>