Minskyfuck

From Esolang
Jump to navigation Jump to search

Minskyfuck is an esolang made by User:Otesunki (talk) based loosely on Minsky machines. It has two registers called R1 and R2.

Commands

Command Meaning
+ Increment R1.
++ Increment R2.
- If R1 is non-zero, decrement it and try to branch, otherwise, leave R1 unchanged.
-- If R2 is non-zero, decrement it and try to branch, otherwise, leave R2 unchanged.
< Take one ASCII character of input, and put it in R1.
<< Take one ASCII character of input, and put it in R2.
> Output the value in R1 as an ASCII character.
>> Output the value in R2 as an ASCII character.
? If currently branching, jump to matching :
: If not branching, halt.
( Marker for ), does nothing.
) If currently branching, jump to matching (

All other characters are comments.

Code examples

Hello World

+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+-
-+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+-->+--+--+--+--+--+--+-
-+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+-->+--+--+--+-
-+--+--+-->>+--+--+-->-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++
-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-
++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++>-++-++-++-++-
++-++-++-++-++-++-++-++>+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+-
-+--+--+--+--+--+--+--+--+--+-->+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+-
-+--+--+--+--+--+--+--+-->+--+--+-->-++-++-++-++-++-++>-++-++-++-++-++-++-++-++
>-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++
-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-
++-++-++-++-++-++-++-++-++-++-++-++-++-++-++>

Truth Machine

<++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-
++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-++-?--+--+--+
--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+-
-+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+>:--+--+--+--+--+--+--+
--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+-
-+--+--+--+--+--+--+--+--+--+--+--+--+--+--+(+>-)

Interpreters

Javascript (JsFiddle), although it doesn't handle I/O correctly.