Skound

From Esolang
Jump to navigation Jump to search

Skound is a minimalistic esoteric programming language created by User:TriMill in 2019. It uses 8 instructions, each of which is a single character. It was created to be easy to interpret but hard to program in.

Overview

There are two places to store data in Skound, the accumulator and the stack. The accumulator is initialized to 0, and the stack is initialized empty. The only I/O available is numeric, there is no way to read or print text.

There are 8 instructions:

  • + increments the accumulator
  • - decrements the accumulator
  • 0 sets the accumulator to 0
  • V pushes the accumulator to the stack
  • ^ pops the stack to the accumulator, or halts execution if the stack is empty
  • # skips to the character after the following # character if the accumulator is positive, otherwise execution continues as if it was a NOP
  • I inputs a number to the accumulator
  • O prints the value of the accumulator

All other characters are ignored.

Once the program reaches the end it wraps back to the beginning(i.e. runs inside an infinite loop), and the last # in the program skips back to the first one.

Example programs

Cat

IO

This version runs forever and must be stopped manually.

IO#^#

This version stops once the input is less than or equal to zero.

0#IO0#^#

This version stops after outputting the input.

Looping counter

+O

Infinite loop

Since the program counter loops at the end of a program, this generates an infinite loop.

Truth machine

I+V0
#^-V#
O^^
#^-V#
0+O++V0
#^-V#

Hello World

0#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++O0+++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++O0++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++O0+++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++O0+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++O0+++++++++++++++++++++++++++++++++++++++++
+++O0++++++++++++++++++++++++++++++++O0++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++O0++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++O0+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++O0++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++O0+++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++O0+++++++++++++++++++++++++++++++++O0#^#

Note: Auto-generated by a python program -- prints the ascii value of each char as there is no character output

Implementations

Interpreter in Python

Computational class

The computational class of Skound has not yet been determined.