Skip to content

Compatibility

SharpMUSH does away with some of the more unique aspects of PennMUSH parser curiosities.

Unbalanced Parenthesis

In PennMUSH, the following is legal, while is not in SharpMUSH:

PennMUSH
think add(1,2
> 3

Instead, complete the parenthesis.

SharpMUSH
think add(1,2)
> 3

Full Recursion Parsing

In PennMUSH, TinyMUX, etc, you can do the following:

PennMUSH
&fn me=ucstr; think [v(fn)](foo)
> FOO

Instead, use callfn() to call the intended function.

SharpMUSH
&fn me=ucstr; think callfn(v(fn),foo)
> FOO

This is an awesome feature of MUSH-likes, but we explicitly do not support this, as it makes the parser non-deterministic, ambiguous and harder to maintain. Most existing Softcode does not rely on this behavior however.