{
  "path": "/projects/selenium",
  "site": "at://did:plc:ofrbh253gwicbkc5nktqepol/site.standard.publication/3mfyq5mpohw25",
  "tags": [
    "c",
    "compiler",
    "python"
  ],
  "$type": "site.standard.document",
  "title": "Selenium Compiler",
  "description": "An esoteric language with lunar/poetic syntax that compiles to C, featuring strong typing and imperative programming constructs.",
  "publishedAt": "2026-04-06T00:00:00.000Z",
  "textContent": "Selenium is an esoteric language with a lunar/poetic surface and a strict, C-like core. Strongly typed, semicolon-terminated, compiles to C.\n\nFeatures\n\n- Strongly typed with explicit wax (mutable) and seal (immutable) variables\n- Functions with typed parameters and return values\n- eclipse / shadow for if / else\n- tide for while loops\n- orbit for for loops\n- switch / case / default statements\n- break and continue for loops\n- Prefix ++ and -- operators\n- Ternary conditional ?:\n- Bitwise operators << >> & | ^\n- whisper for printing\n- read_int, read_float, read_bool, read_char for input\n- Explicit cast(type, expr) conversions\n\nSyntax example\n\nInstallation\n\nUsage\n\nKeywords\n\n| Keyword | Meaning |\n|---------|---------|\n| wax | Mutable variable declaration |\n| seal | Immutable constant declaration |\n| ritual | Function definition |\n| eclipse | If statement |\n| shadow | Else clause |\n| tide | While loop |\n| orbit | For loop |\n| whisper | Print statement |\n| cast | Type conversion |\n\nTypes\n\n- int — 64-bit signed integer\n- float — 64-bit IEEE 754 double\n- bool — boolean (true / false)\n- char — ASCII character\n- string — string literal\n\nKnown limitations\n\n- No forward declarations — mutual recursion requires careful function ordering\n- No arrays or slices\n\nProject layout\n\nLicence\n\nAGPL 3.0",
  "canonicalUrl": "https://docs.ewancroft.uk/projects/selenium"
}