Reversible BitFuck (RBF) interpretor
Project description
rbf-lang
Reversible BitFuck (RBF) is a reversible Turing tarpit. It is based on a tape of bits and has 5 commands:
*
Toggle the current bit>
Shift the tape head right<
Shift the tape head left(
If the current bit is zero, jump past matching)
)
If the current bit is zero, jump to just after matching(
Here is an example program operating on 3 bits. Bit 0 is the source bit (x
), bit 1 is the target bit (y
) and bit 2 is the temporary bit (f
). Here the value of x
is being moved to y
.
# x=?, y=0, f=0
(>>*<<) # set f if x is set
>>( # if f is set
<(>*<)* # set y
<*(>>*<<) # unset x
>>)
<(>*<) # if y is set, unset f
we can run the above program on an example tape (100
) with rbf cli:
rbf -t 100 "(>>*<<)>>(<(>*<)*<*(>>*<<)>>)<(>*<)" # outputs 010
installation
RBF can be installed from source with
pip install .
or from pypi with
pip install rbf-lang
links
(as of yet uncategorised links to related topics. Will be sorted and expanded in the future)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
rbf_lang-0.1.0.post2.tar.gz
(8.9 kB
view hashes)
Built Distribution
Close
Hashes for rbf_lang-0.1.0.post2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc6ef5cadd7ada013dd9e656c182be05c5e944f81013124a106ebf4c48bc600c |
|
MD5 | d8e2acdc918aa57df0c51501e588538c |
|
BLAKE2b-256 | 7d6dced15d905a473e79cadcdc3242e9a5ee225a60a94d5e712bf360d804f09a |