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.

fuckbeEs

From Esolang
Jump to navigation Jump to search
fuckbeEs
Paradigm(s) imperative
Designed by slackerSnail
Appeared in 2016
Memory system tape-based
Dimensions one-dimensional
Computational class Turing complete
Reference implementation This page
Influenced by brainfuck
File extension(s) .txt.zip.exe

fuckbeEs is exactly the same as Brainfuck except better

Language overview

fuckbeEs operates on an array of memory cells, also referred to as the tape, each initially set to zero. There is a pointer, initially pointing to the first memory cell. The commands are:

Command Description
f Move the pointer to the right
u Move the pointer to the left
c Increment the memory cell under the pointer
k Decrement the memory cell under the pointer
b Output the character signified by the cell at the pointer
e Input a character and store it in the cell at the pointer
E Jump past the matching s if the cell under the pointer is 0
s Jump back to the matching E if the cell under the pointer is nonzero

All characters other than fuckbeEs should be considered comments and ignored. But, see extensions below.

History

fuckbeEs was created to show that there are too many brainfuck clones and that people should stop, please.

Examples

Hello, World!

cEuEfkucEucccuEcccccccccccusEskEfsu
kssccccccccccfsuuuuuukkkkbffcccbfkb
bcccbfkbuuubffbcccbkkkkkkbukbffcbfb

Implementation

#!/usr/bin/ruby
eval 'm=Hash.new(p=0);'+ARGF.read.gsub(
       /./,
       'f' => 'p-=1;',
       'u' => 'p+=1;',
       'c' => 'm[p]+=1;',
       'k' => 'm[p]-=1;',
       'b' => 'putc m[p];',
       'e' => 'm[p]=STDIN.getbyte if !STDIN.eof;',
       'E' => '(',
       's' => ')while((m[p]&=255)!=0);')