<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Pariatech's Lisp</title> <style> body { background-color: rgb(0, 0, 0); color: rgb(0, 255, 0); font: 1em monospace; } a { color: rgb(0, 255, 0); text-decoration: none; } a:hover { color: rgba(0, 255, 0, 0.5); } .hidden, #hidden-input { /* position: absolute; */ /* top: -1px; */ /* left: -1px; */ width: 0px; height: 0px; border: 0; padding: 0; white-space: nowrap; } .cursor { background: rgb(255, 0, 0); color: rgb(0, 0, 0); } .second-cursor { background: rgb(0, 255, 0); color: rgb(0, 0, 0); } .cursor.end-of-line::before { content: " "; } canvas { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: black; } #canvas-switch { position: fixed; top: 0; right: 0; background: rgb(0, 255, 0); color: rgb(0, 0, 0); border-radius: 0; border: none; cursor: pointer; padding: 0.5em; width: 8em; } #canvas-switch:hover { background: black; border: 1px rgb(0, 255, 0) solid; color: rgb(0, 255, 0); } </style> </head> <body> <a href="https://www.pariatech.com"><pre> ____ __ __ /\ _`\ __ /\ \__ /\ \ \ \ \L\ \ __ _ __ /\_\ __ \ \ ,_\ __ ___\ \ \___ \ \ ,__/'__`\ /\`'__\/\ \ /'__`\ \ \ \/ /'__`\ /'___\ \ _ `\ \ \ \/\ \L\.\_\ \ \/ \ \ \/\ \L\.\_\ \ \_/\ __//\ \__/\ \ \ \ \ \ \_\ \__/.\_\\ \_\ \ \_\ \__/.\_\\ \__\ \____\ \____\\ \_\ \_\ \/_/\/__/\/_/ \/_/ \/_/\/__/\/_/ \/__/\/____/\/____/ \/_/\/_/ </pre></a> <p>Operations: + - * / def let fn set = not if and or < <= > >= print princ eval cons list car cdr eval quote ' quasiquote ` unquote , unquote-splicing ,@ expand macro defmacro defn read save load load-from-file</p> <p id="input-line"><span id="history"></span> <span id="prefix">USER > </span><span id="text"><span class="cursor"> </span><span class="second-cursor"></span></span></p> <textarea id="hidden-input"></textarea> <canvas id="canvas" width="350" height="350" style="display: none;"></canvas> <button id="canvas-switch">CANVAS</div> <script type="module" src="./main.js"></script> </body> </html>