From Esolang
Jump to navigation Jump to search

If anyone has the Python script, could you re-upload it / post it? Thanks

--Orange 03:40, 11 August 2008 (UTC)

Turing completeness

You could propably implement bitwise Cycling tag in Random to prove its turing completeness 10:41, 16 June 2010 (UTC)

I have a hunch something like compiling Boolfuck (minus I/O) into Random might be easier, actually. It has a very Boolfuck/Brainfuck like loop, and if you have a layout something like
half of data - currently running code - other half of data
then it looks easier to me for the running code to use the data as a tape (i.e. two stacks) than as a queue, since it seems hard to pass through the code part. Hm also you cannot delete stuff without printing it, although that is not actually important for TC-ness, I think. --Ørjan 13:02, 16 June 2010 (UTC)
Actually, I think the @ command would be hard to implement. I don't think that Random has the ability to change things. --User:A 19:15, 16 July 2018

I think the solution is to treat this as a BF-like language with insertion and deletion. (You can then implement something like Boolfuck's @ command via a deletion and insertion.) If you don't care about output-completeness, you could just output things to delete them, but assuming that the language is "fixed" so that output outputs a copy of the last entry (rather than popping it) and thus has the same semantics as ><, I suggest the following scheme:

  • 0000 represents 0
  • 0011 represents 1
  • 01010101 represents a deleted element

(There's probably a terser scheme that works but this is clearest.) The idea is that you can easily make > and < skip deleted elements using something like >>>[>>>>]>; the rest of the time, the "pointer" (i.e. the split between the front and back of the program) would point to the middle of an element, so a zero-test will have the expected semantics. It shouldn't be too hard to delete an element (which has known value) by inserting 0s and 1s into appropriate locations in it. --ais523 16:32, 16 July 2018 (UTC)