Unsmiley
Jump to navigation
Jump to search
Unsmiley is an esoteric programming language by User:Rdococ. Its conceit is that there are instructions capable of modifying this page, altering the language specification and creating a self-modifying language in the truest sense of the term.
Semantics
In order to enable an automated implementation of this language, the language's semantics will be specified in a basic string-rewriting language, defined as follows:
- Each line is a substitution rule, with the
:
character delimiting the initial string from the substitution. - The
~
symbol in replacement strings will add the rest of the line as text to a buffer. If it's the last character in the line, the contents of the buffer are committed as a new line in the specification. *
is a wildcard, accepting any single character on the left side and reproducing it on the right side.\
works as an escape for any character, reproducing it as-is.- Invalid rules should be ignored.
Implementations should include new rules as they are added to the specification during execution.
Ruleset
\:(|:~ \:(*:\:(~*
Computational class
Unsmiley's Turing-completeness depends on its current ruleset. The initial ruleset is Turing-complete by insanity -- you can achieve arbitrary string replacements by adding them to the language specification directly.