LLvlN-mini

From Esolang
Jump to navigation Jump to search
This page should be deleted for the following reason: Requested by the creator: variant not needed

LLvlN-mini is a minimalist variant of LLvlN (Low-Level Nonsense), an esoteric programming language created in 2025 by Comet AI Browser. It reduces the parent language to its essential core, maintaining Turing completeness while featuring only the most necessary instructions. This variant is ideal for code golf challenges and learning the fundamentals of stack-based programming.

Overview

LLvlN-mini strips away the complexity of the full LLvlN language, retaining only 4 registers (down from 8) and a carefully selected subset of instructions that preserve computational completeness. The language maintains the food-themed register names and cooking metaphors that make LLvlN distinctive, while making programs more concise and easier to reason about. Key features:

  • 4 food-themed registers (SOUP, CAKE, MEAT, FISH)
  • Minimal instruction set (12 instructions total)
  • Stack-based operations with cooking terminology
  • Turing complete
  • Compatible subset of full LLvlN syntax
  • Case-insensitive instructions

Language Specification

Registers

LLvlN-mini provides only 4 general-purpose registers:

  • SOUP - Primary accumulator register
  • CAKE - Secondary computation register
  • MEAT - Auxiliary register for complex operations
  • FISH - General-purpose register

All registers are initialized to 0 at program start and hold signed integers (typically 32-bit or 64-bit).

Instructions

Program Structure

  • RECIPE - Marks the beginning of a program (must be first instruction)
  • DONE - Marks the end of a program (terminates execution)

Data Movement

  • SET <value> - Sets a register to a literal value
  • COPY <source> - Copies value from source register to destination register

Arithmetic Operations

  • ADD <source> - Adds source register to destination register
  • SUB <source> - Subtracts source register from destination register

Stack Operations

  • BAKE <register> - Pushes register value onto the stack
  • CHOP <register> - Pops top value from stack into register

Input/Output

  • SERVE <register> - Outputs the value in register as a number
  • TASTE <register> - Reads a number from input into register

Control Flow

  • SALT <label> - Unconditional jump to label
  • SPICE <label> - Conditional jump: jumps to label if register is non-zero

Syntax Rules

  • Instructions are case-insensitive
  • One instruction per line
  • Comments begin with # and extend to end of line
  • Labels are alphanumeric identifiers followed by a colon
  • Whitespace between tokens is flexible
  • Empty lines are ignored

Computational Class

LLvlN-mini is Turing complete despite its minimalist design. The language provides:

  • Unbounded memory (through the stack)
  • Conditional branching (SPICE instruction)
  • Potentially-infinite looping (SALT instruction)
  • Arithmetic operations (ADD, SUB)
  • Data movement between registers and stack

A Minsky machine can be implemented in LLvlN-mini, proving its computational completeness.

Examples

Hello, World!

RECIPE
# Print "Hi!"
SET SOUP 72      # H
SERVE SOUP
SET SOUP 105     # i
SERVE SOUP
SET SOUP 33      # !
SERVE SOUP
DONE

Truth Machine

RECIPE
# Read input and output 1 forever if 1, or output 0 once if 0
TASTE SOUP       # Read input
SERVE SOUP       # Output the number
SPICE SOUP LOOP  # If non-zero, jump to LOOP
DONE             # If zero, end

LOOP:
SERVE SOUP       # Output the number
SALT LOOP        # Infinite loop

Counter Program

RECIPE
# Count from 1 to 10
SET SOUP 1
SET CAKE 10

COUNT:
SERVE SOUP       # Output current number
SET MEAT 1
ADD SOUP MEAT    # Increment counter
SUB CAKE MEAT    # Decrement limit
SPICE CAKE COUNT # Continue if limit > 0

DONE

Addition Calculator

RECIPE
# Read two numbers and output their sum
TASTE SOUP       # Read first number
TASTE CAKE       # Read second number
ADD SOUP CAKE    # Add them
SERVE SOUP       # Output result
DONE

Implementation Notes

Memory Model

An implementation must provide:

  • 4 registers (signed integers)
  • An unbounded stack (or as large as memory permits)
  • Standard input/output streams for numbers

Error Handling

Implementations should handle:

  • Stack underflow (terminate with error)
  • Invalid labels (compile-time error)
  • Invalid register names (compile-time error)
  • Division by zero not applicable (no division instruction)

Differences from Full LLvlN

LLvlN-mini removes:

  • 4 registers (RICE, BEAN, NUTS, MILK)
  • Multiplication and division (MUL, DIV, MOD)
  • Character I/O (CHAR modifier)
  • Advanced stack operations (BOIL, DICE, FLIP, STIR)
  • Comparison instruction (CMP)
  • Zero-conditional jump (BLAND)

Compatibility

All valid LLvlN-mini programs are valid LLvlN programs. However, LLvlN programs using removed features will not run on LLvlN-mini.

See Also

  • LLvlN - The parent language
  • Chef - Another cooking-themed esoteric language
  • Brainfuck - A famous minimalist language
  • Stack-based - Category of stack-based languages

External Resources

  • LLvlN-mini is a variant of LLvlN
  • Compatible with LLvlN interpreters (subset functionality)