DPM

From Esolang
Jump to navigation Jump to search

DPM

DPM (DotPlusMinus) is a minimalistic esoteric programming language created by Digitpink. Its primary goal is to offer an interpreter smaller by weight than most Brainfuck implementations. It uses only three commands—+, -, and .—hence the name.

Specification

The language operates on a single integer accumulator, initialized to zero:

+
Increment the accumulator by 1.
-
Decrement the accumulator by 1.
.
Output the current accumulator value (e.g. as decimal, followed by a newline).

All other characters are ignored. Implementations may optionally choose to treat unknown symbols as no-ops.

Example

The following DPM program produces the output:

3
2
5

Source code:

+++.  
-.  
++.

Reference Interpreter

A reference interpreter in Python (UTF-8, 65 bytes):

n=0
for h in input():
 n+=h=="+"  
 n-=h=="-"  
 if h==".":print(n)

Interpreter weight: 65 bytes (UTF-8), smaller than many Brainfuck interpreters.

Design Philosophy

DPM emphasizes minimal footprint over computational completeness. It deliberately omits loops, tape storage, or conditional branching to keep both the language syntax and interpreter implementation extremely compact.

Key characteristics

  • Three commands only: +, -, .
  • Single integer accumulator
  • Zero-overhead—ignores non-command characters
  • Non-Turing-complete by design

Turing Completeness

DPM is not Turing-complete. It lacks any form of looping or branching, making it a finite-state, linear-execution language intended purely for demonstration of extreme minimalism.

See also

  • Brainfuck – classic minimalistic Turing-complete esolang
  • HQ9+ – small-syntax esolang with limited built-in behaviors
  • BittyLang – an esolang similar to this one
  • Minimalistic languages – overview of languages designed for minimal interpreter size

External links