Burro is a brainfuck-like programming language whose programs form an algebraical group (modulo the equivalence relation of "computes the same function") under the operation of concatenation. The upshot of this is that, for every Burro program, we can find an antiprogram which, when appended to the program, forms a "no-op" program which has no effect. This is a form of reversible computing, but unlike most reversible languages where it is the execution of the program that is "undone", in Burro, it is the program itself which is annihiliated by its antiprogram. Burro 1.0 was released in fall of 2007, but proved not to form a proper group. This shortcoming was rectified in summer of 2010.
!--(--(--(!>/ >>--(+<<+++++++>/+++>+++++>)< >)/ >>--(+++>+++++>/+++<<<<<+++>)< >)/ >>--(+++>+>/+<<+++>)< >)<
Burro.lhs in the Burro distribution