Menn

From Esolang
Jump to navigation Jump to search
Menn
Paradigm(s) imperative, hardware descriptor
Designed by User:Las-r
Appeared in 2026
Computational class Bounded-storage machine
Major implementations GitHub
Influenced by Enn
File extension(s) .mnn

Menn (Minimal Executable NAND Network) is a minimalist logic-oriented esolang forked from Enn by Nayif Ehan in 2026. It removes all high-level abstractions to focus entirely on raw NAND logic.

Due to every Menn command also being in its predecessor, all Menn programs are compatible with Enn.

An interpreter can be found on GitHub.

How Menn works

Every instruction in Menn does 1 of 2 things:

  • Set a variable (Initialization or NAND operation)
  • Output a variable (Binary digit or newline)

The only computation available is the NAND gate. Unlike its predecessor, Menn lacks dedicated toggle commands, ASCII support, or user input.

IMPORTANT NOTE: Every program loops by default. To end a program, you must force-quit the interpreter.

Syntax

Basic Guidelines

  • Line breaks, indentation, and trailing spaces are ignored.
  • Every instruction must end with ;.
  • Comments are padded with /.
  • Variable names cannot include spaces or use the following characters: =, ;, <, >.
  • Variable names cannot be 0 or 1 (these are reserved as constant bit values).

Commands

Set a variable

Variables represent single bits.

To initialize a variable to 0:

q=;

To perform a NAND operation: q is set to w NAND e.

q=w,e;

To perform a NOT operation (since there is no toggle command), you must NAND a variable with itself or the constant 1:

not_w = w,w;

Output a value

The value of q (0 or 1) is outputted to the console. Outputs are inline.

>q;

An output symbol with no variable produces a newline.

>;

Computational Class

Menn is a Bounded Storage Machine (BSM), as it's computationally equivalent to Enn, though it lacks input functionality.

See Enn for proof of class.