Talk:The Insane Esolang

Invalid submissions
This section seems to fit better on the talk page, so I'm moving it. --Ørjan (talk) 00:45, 16 May 2018 (UTC)

Truth Machine
ຯæææææθÁÁÁÁÀ

This assumes that if θ causes a jump beyond the end of the program, it will immediately halt.

Submitted by Plokmijnuhby.

I see that you set up the RNG so that the next cell will be greater than 128 (181)

Though you could of used only two æ instructions and you would of gotten 222 in the next cell

You allow them to enter something other than 1 and 0 which isn't correct but if we ignore that

One is index 14, divided by 3, plus 1, is 5, and Zero is index 27, divided 3, plus 1, is 10.

''Now if you jump 5 ahead you're fine but over 6? You've jumped out of program and it halts.''

But 1 and 0 are over 5 so either input just halts, and since you accept all input the characters that actually loop are: NUWYLSOEM IBD

Edit: It turns out 1 is 14, therefore it loops, but it still does not output.

 Any even if you didn't have this issue of looping and it was all perfect, you don't even touch output so it doesn't even output a 0 and halt or loop outputting 1

''This is not an acceptable answer valid solution. Galaxtone (talk) 08:42, 15 May 2018 (UTC)''

Edited: Galaxtone (talk) 22:52, 15 May 2018 (UTC)

Prove Turing-Completeness
Given that there is no equivalent of brainfuck's < (although ʑ can serve as >), there is no way to store an arbitrary amount of data, restricting the language to finite state machines.

Submitted by Plokmijnuhby.

''There was a mistake in the instruction, ʑ was missing an "else" in it's description, it now can go both left and right. Galaxtone (talk) 07:58, 15 May 2018 (UTC)''

I'm not quite sure about how ə works. Say I execute ʑə. Does this execute ʑ as normal, and then execute its inverse? Or does it just execute the inverse? What happens if I jump onto an ə? Does Áə jump forwards, backwards, or neither? Wouldn't it make more sense to have ə execute the inverse of the next instruction instead?

--Plokmijnuhby (talk) 17:59, 16 May 2018 (UTC)

I just re-read the article, and I think I understand it now. ʑə counts as one instruction, so you can't jump onto an ə.

I think the language is Turing complete now, because you should be able to program a Wang machine using unmarked as 130 and marked as 0. Why these numbers? Well, I was going to use 128 and 0, but it turns out some parts of the code are easier with multiples of 5.

M would be. E could be.

L and R are slightly more complicated, as you need to ensure that moving left leaves a value between 149 and 214 behind you; ùđəĬ would work, as ʑ involves an additional Ĭ, so this would produce 195 for marked and 170 for unmarked. To undo the Ĭą, we must change 3 to 0 and 9 to 130, so this will require. A marked gap will be needed for jumps, so L would be. R will be required to convert from 15 to 0 and 11 to 130 (195 and 170 have had ą applied to them by this point) using. R is therefore. Some edge cases: when you are moving left into the furthest left boundary, use, and conversely when moving into the right boundary, use. When moving away from a boundary, use ♣ or ♣ə to change the next cell to a usable value. If the current instruction's index is not suitable for this, use əə to wait around until it is.

Performing a jump is more fiddly. We must move right with, then set the cell beneath us to the correct distance we want to jump (you'll have to write this part of the code yourself) then execute θə (or θ, if you so desire, but Wang machines are Turing complete without forward jumps). If the jump is too far, jump to a jump instruction nearer to the target instruction. If there is no code possible for the number you want - I have yet to encounter a number like this, but they may be out there - simply add əə's in between to change the required distance. After the θə, place the code  to return to 0, then. Immediately before the space you are jumping to, place  as if you are about to make a jump, but do not place a θə. Immediately after the space, place  as before. The net result should be that if you are passing through the label normally, no effect will occur, but if you jump to the label it will move you to the location required, correcting your value as you go.

And there you have it - full Turing completeness. That was harder than I expected.

--Plokmijnuhby (talk) 17:02, 18 May 2018 (UTC)