Metadata-Version: 2.0
Name: tone-deaf
Version: 0.1.1
Summary: An interpreter for the tone-deaf programming language.
Home-page: https://github.com/kade-robertson/tone-deaf
Author: Kade Robertson
Author-email: kade@kaderobertson.pw
License: MIT
Keywords: tone deaf esoteric programming language interpreter
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Requires-Python: >=3.4, <4

# tone-deaf

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.


