We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.

Non-Random

From Esolang
Jump to navigation Jump to search

Non-Random is an esolang created by User:ChuckEsoteric08 as a variation of Smallfuck, accidentslly becoming similar to Ash but being deterministically Turing complete, hence the name.

Commands

Command Function
* Set cell to a random value, 0 or 1
> Move cell pointer right
< Move cell pointer left
[ If current cell is 0 jump past matching ]
] Jump to matching [
( If current cell is 1 jump past matching )
) Jump to matching (

Computational class

Since setting cell to 0 and setting cell to 1 are trivially translated as [*] and (*) respectively you can easily translate 1BNWL into it, thus proving it Turing complete. In fact removing either of the loop's ability to nesting while keeping another's also dosen't change it's computational class:

  • Nesting depth of while loop [...] could be limited to 2, as proven on Brainfuck minus -
  • Nesting depth of while nonzero loops could be limited to 5, while Brainfuck with while 0 loops proves that 3 is enough but for it to be TC it also needs ability to flip bits, which means nesting depth is increased:
    • Flipping bit would be ((*)>(*)<)>(<[*]>(*))(*) with temporsry zero cell to the right, thus incrasing nesting depth by 2
    • To compensate for this, > becomes >> and < becomes <<