Hiesenoether
A deterministic programming language where reading a variable can change what it returns next.
PyPI: https://pypi.org/project/hiesenoether/
Install
Hiesenoether requires Python 3.10 or newer.
pip install hiesenoether
Run
Create a file called program.hn:
energy[100]
x <- 10
print x
print x
print x
Run it:
hiesenoether program.hn
Output:
10.0
11.1
12.4
x is assigned once. Each read advances its internal state, so the next read returns a different value.
The language is still deterministic. Running the same program with the same sequence of operations produces the same result.
Start the REPL with:
hiesenoether --repl
How it works
Variables are unstable by default:
x <- 10
Stable variables keep the same value:
stable answer <- 42
An unstable variable can be frozen later:
stabilize x
inspect shows the internal state of a variable and affects what it returns later:
inspect x
Programs also have an energy budget:
energy[100]
Inspection, stable variables, functions, and invariants spend energy. Capabilities can be removed permanently in exchange for energy:
remove[inspection]
remove[invariants]
remove[stable_control]
Features
- Unstable and stable variables
- Arithmetic and comparisons
inspectandstabilize- Standard, pure, and unstable functions
ifstatementswhileloops- Invariants
- Energy queries
- Capability removal
.hnfiles- Interactive REPL
- Static analysis and validation tools
Run from source
git clone https://github.com/da-taki/Hiesenoether.git
cd Hiesenoether
python -m src.main examples/basic_energy.hn
Run the REPL from source:
python -m src.main --repl
Research
The repository includes experiments on inspection count, nonlinear computation, access order, and program length.
The main experiment battery has 22 configurations with 100,000 executions per configuration.
Results and reproduction instructions are available in:
The repository also includes exact-semantics checks, runtime-correspondence tests, theorem validators, and static-analysis experiments.
Tests
Run the interpreter tests:
python run_tests.py
Run the pytest suite:
python -m pytest tests -q
AI use declaration
AI was used for making some experiments for the project.
Limitations
Hiesenoether is an experimental language.
if statements and while loops work. else, for, and range are not implemented yet.
Numbers use floating-point values. Error messages are basic. There is no module system or standard library.
License
Hiesenoether is licensed under the MIT License.
Release files for hiesenoether 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hiesenoether-0.1.1.tar.gz | 11.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hiesenoether-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 26.0 kB
Release files / hiesenoether-0.1.1.tar.gz
| Download URL | hiesenoether-0.1.1.tar.gz |
|---|---|
| Size | 11.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f6cd28bc8bfbfcbdddef6d22ea025c479f70b9f36550fdf54440c0bf0255d8d4
|
|
BLAKE2b-256 checksum How to use checksums |
5d57ac2557b3c480a18daedf9a12e8d62c0ebd9977d30bd8c561f6314e66a4cc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.
Transparency logRelease files / hiesenoether-0.1.1-py3-none-any.whl
| Download URL | hiesenoether-0.1.1-py3-none-any.whl |
|---|---|
| Size | 14.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e26466813456cfa8b5ac143386dc09554cdda7fdceae249e6c25e669cf8aa786
|
|
BLAKE2b-256 checksum How to use checksums |
0b687b6ccc9902c9fff5f662c1643f41e4b253fbb186aecfb4ad58c428dc3e3f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.
Transparency log