We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.
Guitar
Guitar is a tape-based esoteric programming language created by User:Pineapple. It uses a memory grid modeled after a guitar neck with 20 frets and 6 strings.
Overview
Memory consists of 20 frets, each containing 6 strings (memory cells), totaling 120 cells. Programs begin execution at string 1 on fret 1. Cells do not wrap around if you try to move past the boundaries of the frets or strings.
By default, strumming adds a value of 1 to the current cell, but this step value can be modified using the tuning command.
All code must be enclosed between the starting and ending program markers.
Commands
| Command | Description |
|---|---|
| Start writing the song | Required at the very beginning of the program. |
| Play the song | Required at the end of the program to execute the code. |
| Next string | Move to the next string (1 through 6). |
| Last string | Move to the previous string. |
| Next frett | Move down to the next fret (1 through 20). |
| Last frett | Move up to the previous fret. |
| Strum string | Add the current tuning value (default 1) to the active string cell. |
| Mute string | Subtract 1 from the active string cell. |
| Tune | Prompt user input and set that value as the new addition amount for Strum string. |
| Write music sheet | Prints the ASCII character values of every string in order (strings 1 to 6 for each fret, moving from fret 1 to fret 20). |
Memory layout
The grid is organized as 20 frets down and 6 strings across:
Fret 1
String 1 | String 2 | String 3 | String 4 | String 5 | String 6
...
Fret 20
String 1 | String 2 | String 3 | String 4 | String 5 | String 6
I/O
- Input: Tune prompts the user for a numeric input to change the strum increment.
- Output: Write music sheet outputs the ASCII values of all 120 cells sequentially.
Example programs
Simple increment and output
This example sets the first string to a value, tunes the strum step, and prints the music sheet:
Start writing the song Strum string Tune Strum string Write music sheet Play the song
Computational class
To be determined.
External resources
- No external resources yet.