Skip to main content

An interpreter for the tone-deaf programming language.

Project description


tone-deaf is an esoteric programming language which manipulates a stack based on chords. This repository contains a reference interpreter for the language as well as the wiki describing each function.

Running from a file

Programs can be run from a file in one of two modes: normal or ‘lyric’ mode. Lyric mode allows you to leave comments on every other line, like so:

The above takes 3 integers.
A7 A7
This will calculate (a ** (b ** c)).

which the intepreter reads as:

E E E A7 A7

Normal mode assumes there are no comments. To load a file in normal mode, use the -f switch, i.e. tone-deaf -f program.deaf. To load a file in lyric mode, use the -l switch, i.e. tone-deaf -l program.deaf.

Using the REPL

If no file is provided via the switches above, you will be provided with a REPL. This will work the same was as the paring for normal files would, except the stack is persistent throughout the entire execution. Example:

td> E E E
[1 2 3]
td> Em7
[1 2 3 3]
td> E7#9
[3 3 2 1]
td> A7 A7 A7
td> quit

The stack will be printed out after each line entered.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for tone-deaf, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size tone_deaf-0.1.0-py3-none-any.whl (7.9 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size tone-deaf-0.1.0.tar.gz (5.2 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page