Skip to main content

Reversible BitFuck (RBF) interpretor

Project description

rbf-lang

Reversible BitFuck (RBF) is a reversible Turing tarpit programming language. 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

Project details


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.post1.tar.gz (8.6 kB view hashes)

Uploaded Source

Built Distribution

rbf_lang-0.1.0.post1-py2.py3-none-any.whl (7.7 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page