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> © 2024 Fabio Cevasco </footer> </body> </html> |