brainless

From Esolang
Jump to navigation Jump to search
brainless
Designed by User:SpaceByte
Appeared in 2023
Memory system none
Dimensions one-dimensional
Computational class Total
Reference implementation Interpreters
File extension(s) none

brainless is a joke language by User:SpaceByte, it uses all brainfuck commands, and is output only, each command prints a joke string, and any code inside loops are considered comments. Any brainfuck program is a valid brainless program. It was made as basically an insult to your brainfuck program, rather than a language that is very limited, and only prints specific strings. It is output only.

Commands

Command Description
+ Prints "Increment the accumulator in your mind. Not like I would do it for you."
- Prints "Accumulator? Cringe, I'd decrement it but I don't have that capability."
< or > Print "Pointer? What are you pointing at?".
[ Prints "Loops are the one command that might make sense in this esolang, but I'm not adding the functionality because im lazy and cpp is hard. Y'know, since there are no variables, technically they default to 0 so I'm just going to not execute any code inside of a loop. Congratulations, loops are basically comments in this language." and begin a loop.
] End a loop, and print "Imaginary loop ended."
. Print "What am I supposed to print? Like, theres no variables, and I guess with the loop I implied variables are by default 0, but I don't feel like printing a random ascii character with no function."
, Print "Ok fine, I'll call the function that prompts for an input line, not like it'll do anything lol.", and prompt for input that does nothing for the program.

All other characters print "I don't know that command. Regardless, I wouldn't execute it for you, LOL". If you're looking for comments, put them inside of brackets.

Interpreters

The first interpreter was made in C++ by User:SpaceByte:

// Example program
#include <iostream>
#include <string>

int main()
{
  bool isInLoop = false;
  std::string code;
  std::cout << "Enter code.\n";
  std::cin >> code;
  
  for (char c : code) {
    switch (c) {
     case '+':
        if (!isInLoop) {
            std::cout << "Increment the accumulator in your mind. Not like I would do it for you.\n";
        }
        break;
    case '-':
        if (!isInLoop) {
            std::cout << "Accumulator? Cringe, I'd decrement it but I don't have that capability.\n";
        }
        break;
    case '>':
        if (!isInLoop) {
            std::cout << "Pointer? What are you pointing at?\n";
        }
        break;
    case '<':
        if (!isInLoop) {
            std::cout << "Pointer? What are you pointing at?\n";
        }
        break;
    case '[':
        isInLoop = true;
        std::cout << "Loops are the one command that might make sense in this esolang, but I'm not adding the functionality because im lazy and cpp is hard. Y'know, since there are no variables, technically they default to 0 so I'm just going to not execute any code inside of a loop. Congratulations, loops are basically comments in this language.\n";
        break;
    case ']':
        isInLoop = false;
        std::cout << "Imaginary loop ended.\n";
        break;
    case '.':
        if (!isInLoop) {
            std::cout << "What am I supposed to print? Like, theres no variables, and I guess with the loop I implied variables are by default 0, but I don't feel like printing a random ascii character with no function.\n";
        }
        break;
    case ',':
        if (!isInLoop) {
            std::cout << "Ok fine, I'll call the function that prompts for an input line, not like it'll do anything lol.\n";
            std::cin;
        }
        break;
     default:
        if (!isInLoop) {
            std::cout << "I don't know that command. Regardless, I wouldn't execute it for you, LOL\n";
        }
        break;
    }
  }
}

Example

Hello World

This program is a brainfuck program that would move the pointer right, increment a value, and print it. >+. However, in brainless, it prints:

Pointer? What are you pointing at?
Increment the accumulator in your mind. Not like I would do it for you.
What am I supposed to print? Like, theres no variables, and I guess with the loop I implied variables are by default 0, but I don't feel like printing a random ascii character with no function.