User:BrainFuckGirl

From Esolang
Jump to navigation Jump to search

Introduction

Hi, I originally got into EsoLangs by learning BrainFuck and recently started learning ><>. I made this account to correct a mistake on the Fish page, but now I might as well upload some code.

Code

><>

Hello, world!

Some "Hello, world!" programs, getting progressively smaller

<v"Hello, world!"0
 o
 :
 ?
 !
 ;
\          o:?!;!
/"Hello, world!"0
<.09o;!?:"Hello, world!"0
0"!dlroW ,olleH":?!;of0.
"!dlroW ,olleH"l?!;oe0.

Cat Program

A Cat program reading from stdin. When I wrote this, the only cat program that existed on the Fish page required pre-populating the stack with values, which I consider cheating. Having to wrangle the I/O system in an EsoLang is half the fun.

>i:1+v
|>ov#?
^:!?!<
>^_<#~
^r0;!<

I really like how the code avoids itself on Line 3 there. Intertwining the code is so much fun in ><>. It's like optimizing code, but worse. I also filled some spaces with _|# to make it look worse than it actually is.

Only a bit later I figured out this way more efficient way, which also works more like a real cat program, reading only one character at a time before outputting it. The version before read the entire message before going to output every character.

>i:1+v
^o;!?<

I made it even smaller by putting all the instructions on the same line

i:0(?;o

Brainfuck

Dividing Program

An early step in my goal to make a functioning calculator in Brainfuck. For this to work, input 2 ASCII Chars. They will be interpreted as decimal numbers (for convenience -48, I.e. char 5 = num 5). The first input is the number, second the dividend. The output will be decimal+48 in Ascii. Currently neither supports decimals nor numbers larger than 255. While I originally expected the characters 0-47 in Ascii not to work in this program, but they do! They will divide so often, the byte that stores the result overflows to the correct number. So technically negative numbers are supported by this program.

>>>,>>++++++++[-<++++++<------>>]<<<,>>[->+<<<->>]<[<[-<+>>-<]<[->+<]>>>+<]>>[-<+>]<.

I spent way to much time optimizing this program and making it absolutely tiny.

Decimal to Byte

Takes an input of 000 - 255 (needs the leading zeroes) and returns the corresponding Ascii Character. Useful for using the first iteration of the Dividing Program. Future versions will do this step by themselves.

>++++++++[->++++++<]>>,>,>,<<<[-<+>>-<]<[->+>>-<<<]>[-<<+>>>>>-<<<]++++++++++>[<
[-<+>>>+<<]<[->+<]>>-]>[<<[-<+>>>>+<<<]<[->+<]>>>-]>.

Heart in a Heart

Ideal for flirting with people that are also into esolangs

  ++   ++  
 ++++ ++[- 
>++++++>+++
+++<<]>++++
+++++++++.>
 .-------- 
  -.<++++  
   +++++   
    +++    
     .     


More Programs

Coming soon™