Hades has no package manager release — the interpreter lives entirely in a single cloned repository and is invoked directly with Python. This page walks you through every step from checking prerequisites to getting syntax highlighting in your editor.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/ToberlerOhn/hades/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Hades is implemented in Python and relies on language features that require a modern Python version:- Python 3.12 or later is required.
- The
typealias statement (type Vector = list) was introduced in Python 3.12. - The
matchstatement andX | Yunion syntax in type hints require Python 3.10+.
- The
3.12, install a newer release from python.org or via your system package manager before continuing.
Getting the Source
Hades has no published PyPI package or binary distribution. Clone the repository directly from GitHub:There is no
pip install hades step. All you need is the cloned directory and a compatible Python interpreter.Running a Hades File
Basic usage
Pass a.hds source file as the first argument to main.py:
File extension handling
The runner understands both.hds (primary) and .hd (alternate) extensions. If you supply a path with no extension, it automatically appends .hds and looks for that file:
Append extension if missing
If the supplied path does not end in
.hds or .hd, the runner appends .hds to form the candidate path.Check for the candidate file
If the
.hds candidate does not exist on disk, the runner tries the same stem with .hd.Verbose mode
Pass-v or --verbose as the second argument to print the token list and AST produced by the Lexer and Parser before execution begins:
Error Messages
Hades produces two categories of errors at runtime, each printed with the offending line highlighted in the source:| Error type | When it occurs |
|---|---|
Syntax Error | The source cannot be parsed — e.g. a missing semicolon, unmatched bracket, or unrecognised token. |
Runtime error | The AST is valid but execution fails — e.g. a type mismatch, undefined variable, or division by zero. |
1.
VS Code Extension
The repository ships a VS Code extension in thehades-language/ subdirectory that provides syntax highlighting for .hds and .hd files.
Extension metadata
| Field | Value |
|---|---|
| Publisher | tobyp |
| Name | hades-language |
| Display name | Hades Language Support |
| Supported extensions | .hds, .hd |
Installing as a local extension
Open the hades-language directory in VS Code
In VS Code, go to File → Open Folder and select the
hades-language/ directory inside your cloned repository.Install the VSCE packaging tool (optional — for VSIX install)
If you want to build a This produces a
.vsix package, install the VS Code Extension CLI:hades-language-0.0.1.vsix file in the directory.Install from VSIX
In VS Code open the Extensions panel (
Ctrl+Shift+X / Cmd+Shift+X), click the … menu in the top-right of the panel, choose Install from VSIX…, and select the .vsix file you just built.Alternatively — install directly via the command line
You can install the packaged extension without opening the UI:
If you do not want to install
vsce, you can also press F5 inside VS Code with the hades-language/ folder open to launch an Extension Development Host — a temporary VS Code window with the extension loaded for testing, without any permanent installation.Quick Reference
| Task | Command |
|---|---|
| Run a file | python3 main.py program.hds |
| Run without extension | python3 main.py program |
| Run in verbose mode | python3 main.py program.hds -v |
| Check Python version | python3 --version |
| Clone the repo | git clone https://github.com/ToberlerOhn/hades.git |