Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

An interpreter for the tone-deaf programming language.

Project description

tone-deaf

GitHub stars PyPI

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.

tone-deaf can be installed through pip:

pip install tone-deaf

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:

E E E
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 option, i.e. tone-deaf -f program.deaf. To load a file in lyric mode, use the -l switch along with the -f option, i.e. tone-deaf -l -f 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
[1 2 3]
td> Em7
[1 2 3 3]
td> E7#9
[3 3 2 1]
td> A7 A7 A7
[19683]
td> quit
...

The stack will be printed out after each line entered.

Functionality

Please check out the wiki to get an understanding of all capabilities.

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.3.0
Filename, size File type Python version Upload date Hashes
Filename, size tone_deaf-0.3.0-py3-none-any.whl (11.9 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size tone-deaf-0.3.0.tar.gz (5.5 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page