Skip to content
This repository was archived by the owner on Nov 25, 2019. It is now read-only.

Commit 9551c3f

Browse files
committed
Added details about BF/??? differences
1 parent cb1acce commit 9551c3f

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

README.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,14 @@ Well now you can.
66

77
### Overview
88

9-
??? is a trivial [Brainfuck](https://en.wikipedia.org/wiki/Brainfuck) substitution, meaning that a trivial replacement of operators will result in an equivalent BF program. Unsurprisingly, this means that ??? works the same way as BF: it operates on an array of memory cells (also called the tape), each initially set to 0, and has a pointer initially pointing to the first memory cell. It also means that it's a Turing complete language.
9+
??? is a trivial [Brainfuck](https://en.wikipedia.org/wiki/Brainfuck) substitution, meaning that a trivial replacement of operators will result in an equivalent BF program.
10+
Unsurprisingly, this means that ??? works the same way as BF: It operates on an array of memory cells (also called the tape), each initially set to 0, and has a pointer initially pointing to the first memory cell.
11+
It also means that it's a Turing complete language.
12+
13+
There are only three distinctions between how BF and ??? work in practice:
14+
* In ???, traveling left of the starting cell is a no-op.
15+
* In BF, loops are constructed using `[` and `]`. ??? uses a single character for loop boundaries, namely `"`, with `'` as a toggle between open and closed.
16+
* When printing to STDOUT, ??? prints unprintable characters using their hex representations. Printable characters appear normally.
1017

1118
### Commands
1219

0 commit comments

Comments
 (0)