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.

Minus

From Esolang
Jump to navigation Jump to search
This article is not detailed enough and needs to be expanded. Please help us by adding some more information.

Overview

Minus is a language created by Darren Smith. At its core there is only one instruction, similar to -= in C. This gives it a passing similarity to OISC (using Subleq). However, branching and I/O in Minus are implemented using some additional special variables.

Has two levels of specifications: basics (aka minimalist version) and extensions.

Basics

Program is represented as follows:

Program := Statement*
Statement := LeftHand RightHand
LeftHand:= Letter
RightHand := Letter | Integer
Letter := one of 'A' ... 'Z' and 'a' ... 'z'
Integer := Digit+
Digit := one of '0' ... '9'

Every other letter is comment or the end of Integer token.

Every statement represents subtraction of RightHand value from LeftHand giving to memory place of LeftHand represents.

Extensions

Program is represented as follows

Program := BasicsProgram Input?
Input := "!" Byte*
Letter := BasicsLetter | "_"

External resources

A more complete description, interpreters, a compiler and sample programs, plus a minimal self-interpreter can be found here