Disadvantage of Malbolge Unshackled
It is impossible to generate numbers the first trit of which is 2 without reading EOL or EOF from stdin. The reason is as follows. The rotate operator cannot be used to change the first trit, because only the right-most trits are modified. The crazy operator cannot generate any 2-trit from 0-trits and 1-trits.
In consequence, EOL cannot be printed out until EOL or EOF has been read, so \10 must be printed instead. Further, memory cells at ...22, ...21, and so on cannot be accessed (at least, until EOL or EOF has been read). However, the second fact doesn't seem to decrease the power of Malbolge Unshackled.
A fix could be to define the rotation command as follows.
- Let w be the rotation width.
- Let ...xn...x2x1x0 denote the number to be rotated, where xn is repeated indefinitely to the left and n≥w.
- The result of a rotation is defined as ...x0xw-1xw-2...x1, where x0 is repeated indefinitely to the left.