Bring to another
- This article is not detailed enough and needs more information to be expanded. If you think that Bring to another has something that wasn't been talked and answered yet, you can talk about it in the Bring to another's "Discussion" tab!
Bring to another is a esolang made by User:Yayimhere that she forgot about. There is both hello world, rule 110(triangle), a Truth-machine and more.
Examples
Rule 110
/from 1 to 7 after pushing:
#1V #2V (#V:)
/colors:
#^~~(#V=DEC)^V~:[/=/]
/memory:
&[23][34][77]
/show
(77,a,77)
{[01] >>> 0 1 0 1 7 5 2 4 2 3 1 2
[==] <<< 6 4 5 3 2 %%%%%%%%%%%%%%
<<5 >>> 2 3 4 5 1 2 4}
Read STDIN until EOF
[&&]
Fizzbuzz
($)/([3][5][0]) 0 000 =
This repedeatly checks if some sort of counter is divisible by 3 or 5, in an infinite loop.
An alternate and more likely interpretation of the original description is that the program independently checks for the above conditions(in a fizz buzz fashion), and give two independent outputs for them.
(Incorrect) Hello world
104 101 108 108 111 44 32 119 111 114 108 100 33 ;;;;;;;;;;;;;
It is theorized this is incorrect, as the bytes are in reverse order compared to other programs.
Check if 3 is divisible by 3
(3)/([][][])
this is believed to be incorrect/nonfunctional
Truth machine
[&&]||WSA-aø-------------------------------------------------------------
---------------------æpå<å<++-------------<.+----------------------------
---------------------------------øa[ø]------!<>^^---[^]!!!!$|---|´´´
...≠<!><!>!<>+·+·+·*#@(@):[ø]~<>!´<!||+++<>!{"%}
left with the note:
- this code should be a truth machine if i used
øand!right way.
i hate myself for creating the data pointer and indexable memory, since now the code looks like this bullshit!!!
Tape setup
>[#∩∅]<#V∩1(#∩V)∅:∅[∅]
Sets up a tape for a turing machine. Noted to use sub stacks and (sub)set's
Null
[∅∩[0∩0]]
this program creates some sort of "null"/empty object
Check if input is odd
[&&]-()/(2){101 117 114 84 4(;) 68 000 =} 97 101 115 108 97 70 5(;)±
K combinator(named P)
(λ)/(x)?[Aₙ.x](P)
which later had another version found, which did not have a name assigned to it:
(x)/[[ₙ](λ)A*[x](?)]?
Optimized truth machine
[&&]-(){"%}%
Fully optimized truth machine
&&{"%}%
1
>[#∩∅]<#V∩1(#∩V)∅:∅[∅][!][1]**{(|)[(λ)/(x)?[x x](P)P<>!<>]} 000 21 =
Computes the BCT program 11. Note the use of both a modified K combinator, and the tape setup program.
Artifacts
A number of other items were left behind from the language. First a list of notes about the language:
- the memory where in hex.
- In bring to another time matterd. A lot.
- &'s very used for a lot of things.
- Numbers has other meaning's than just numbers.
As well as a todo-list:
- since the color section is only the push form 1 to 7 then ill just delete dat comment
- see if any brackets have been done wrong
a notes.txt stated:
- information:
- the language is called "bring to another"
- lambda calculus!!!
- goto? yes! maybe ill use 000
- loops are just brainfuck loops idk
- try to describe it. i swear i need to do this before i forget it
A weird_features.txt says:
- it has substacks now. yaay
- substacks can hold instructions
Basic observations
Below are some basic observations about the programs:
- There are 14
%'s in 110.
- Propably the width of the field.
- & +are propably not arithmetic related.< & >do not cancel- ordering of commands and operators seems quite inconsistent
- There are so many symbols, that some of them propably arent commands
(Nearly) known facts
Here are some facts, that are very probable:
- stack, and function based.
/marks comments.- Brainfuck style loops.
With some instructions that are also known:
<number>: push decimal number onto the stack;: pop[n]and output as ASCII%: pop[n]and output as a numbern(E): where n is a number causes E to be repeated n times
Assumptions and likely facts
- The
/colourssections isnt an actual "section" [...]creates some sort of substack
as well as the likely instructions:
{E}: some sort of loop (likely brainfuck-style)$: push the number of times this has been encountereda b =: set address b to value a within indexable memory": duplicate top of stack(E): appears to be related to function application and to binding variables
As well as the single address 0000 or 000, holds the instruction pointer.
external resources
A md document with all data that has been compiled: Markdown doc