Talk:Insomnia

From Esolang
Jump to navigation Jump to search

Tip

When programming, use characters F, G, H, I, J, K, L, M, N, and O. Their ASCII values are 70-79. That means only a NOP and whatever is wanted is executed. --Keymaker 06:32, 11 November 2008 (UTC)

Questions and another flaw

The spec seems vague on some points, so here are some questions:

  • By ASCII characters, do you really mean printable ASCII characters (range 32-126)? Because with the full range 0-127 programming seems trivial.
  • Is a block the same as a group?
  • For output, are groups big- or little-endian? (Least or most significant digit first/leftmost)
  • I assume the while test is just for the current bit, and not the whole group? Although I think the latter would be more awkward to use.
  • When moving between groups, where in the group does the pointer end up?

Also, I don't think 2.0 deserves its own article, shouldn't it be the main language version now anyhow, since the original was flawed? Just make a historical section in the main article.

Especially since you are going to have to change it again: I'm afraid the change to 7 is not enough to make it really hard to program. The problem is that:

  • "x" (120) is equivalent to 2;
  • "xH" (120 72) is then the same as 7;
  • 77 is a NOP;
  • So, 120 72 7 is a NOP, so you can program by prepending "xH" to KeyMaker's suggested characters.

It is going to take some more thought to avoid even more complicated rewriting tricks. After all, the printable ASCII range 32-126 gives you immediate access to any decoded program not containing digits 0-2. --Ørjan 21:19, 12 November 2008 (UTC)


Um, yeh. After what you said, I might scrap this language and toss it away where no one finds it. Guess I didn't think it through, or I'm not just so well-educated when it comes to these things :( --Fr34k 21:57, 12 November 2008 (UTC)

"When moving between groups, where in the group does the pointer end up?" "And when moving the pointer to another group, the pointer will always position itself to the left-most bit." (in the very end of the Hello World section.)
As for the language itself, I really like the main idea, it's quite unique, but I think what breaks it is the "2" command. It simply makes it too easy to aviod problems, like Ørjan pointed out. However, I can't think of anything simple to replace it with, as it'd require some new way of moving the pointer without changing anything. ~ FireFly 17:14, 19 December 2008 (UTC)


120 102 10 is another NOP, and even doesn't contain 7 --Sait2000 (talk) 14:25, 27 September 2015 (UTC)

About command 8

"While pointer is not 0" - Which pointer are you referring to? The bit pointer or the group pointer? --(this comment by 175.156.179.223 at 11:26, 13 June 2014‎ UTC; please sign your comments with ~~~~)