Merthese

A joke language started on the Cemetech IRC channel and developed on the forums there. Vanilla Merthese has the following 5 operators:
Command	Description
m 	Print "merth"
e 	Print a new line (defined as new line for the environment)
r 	Print a space
t 	Print a random-length string of random letters where letters are [a-z], and the length of the string is in the range [0, 13.4)
h 	Seek to the character after the next "h" character
A Merthese program is composed of a series of ASCII characters stored in a text file or provided as an argument to the interpreter or compiler (according to implementation). Characters other than the recognized operators are ignored. Merthese is case sensitive.
==Extensions==
Several community members have proposed (and often implemented) extensions to Merthese, usually to add an output for their screen name and a few extra capabilities. Where proposed capabilities share a letter with the existing operators, a random selection is made at run-time as to which operator to use (unless otherwise stated by the extension). Generally these are cumulative, however that doesn't need to be the case.
===Merthing @ Kerm===
Adds the following operators to vanilla Merthese:
Command	Description
k 	Print accum. char
e 	accum++
r 	Reset accum
m 	Print accum. num
===Merthing @ Kerm w/ Nikky===
Adds the following operators to the Merthing @ Kerm extension:
Command	Description
n 	Add next character to accumulator.
i 	Input a character -> accum
k 	Print "nikky"
y 	Loops a number of times based on the next character (for instance, \0 would loop 0 times, and A would loop 65 times), executing the character after the next repeatedly.
===Merthing @ Kerm w/ Nikky && tev===
Adds the following operators to the Merthing @ Kerm w/ Nikky extension:
Command	Description
t 	Print incrementing sequence of chars starting from accum. char with random length 0–13.4 (same range as with the base Merthese 't' command). Randomly either leaves accum. unmodified or sets it to final char code + 1
e 	Randomly print one of .,;:-!?'
v 	Print the accum. char ROT13'ed if it's a letter (ASCII 65–90 or 97–122), unmodified otherwise
===Merthing and Ashbad are awesome===
Adds one new operator:
Command	Description
a 	Print "ASHBAD IZ SMRT"
This extension is widely unimplemented.
===IMDB Dialect Directives===
The IMDB dialect adds formal directives to Merthese:
Directive	Description
#extend 	Allows for extending an existing rule module for interpretation
#retract 	Removes an existing, currently loaded rule module from interpretation
#nikky 	Makes interpretation an attention seeker, and chooses the next line of input for the user
#exit 	End program or interpretation
#create 	Create a new module. Implementation defined.
#end 	Ends a create module session.
This dialect allows for creation of new extensions, otherwise known as "Modules", with the #create directive. It is loose in definition, to be mostly defined by the interpreter or compiler implementation.
Extended modules are defined for usage per implementation, with the caveat that the standard set of extensions "Merthing @ Kerm with Nikky && tev" must be executed so that overlapping characters are randomly executed from loaded modules; user-created modules may be chained to the standard set of extensions instead.
==Implementations==
Merthese is relatively well-supported for an esoteric language. Implementations are available in the following languages (chronological):
* C#
* TI-BASIC (z80)
* C
* C++
* TI-BASIC (z80)
* Casio BASIC
* z80 ASM
* Axe
* UserRPL
* Python
* Ruby
* Racket
* Common Lisp
* Haskell
* Bash
* Stack-Oriented BF
* Javascript
* Perl
* Lua
* Java
* SysRPL
* BASIC256
* Rust
* MUMPS
* Scala
Additionally, compilers have been written for the following languages (chronological):
* CIL (compiler written in C#)
* UserRPL (compiler written in UserRPL)
* Java Bytecode (compiler in Bash)
* z80 ASM (compiler written in C#)
* LLVM (compiler written in Rust)
==External resources==
* Originating thread on Cemetech