Slide

Slide is an esoteric programming language created by Tanner Swett in 2014.

A Slide program consists of a two-dimensional array of spaces, hash symbols ('#'), and lowercase English letters. A space denotes an empty space, a hash denotes an immovable barrier, and a letter denotes part of a movable object. If two of the same letter are orthogonally adjacent, then the two letters are connected; an object is a connected component of letters.

The initial state of a program is a two-dimensional array infinite in all directions, with the program itself somewhere in the array. Execution proceeds by selecting an arbitrary object and an arbitrary orthogonal direction. The object is moved as far as possible in that direction without it overlapping a barrier or another object. If this would result in the object moving infinitely far, the object instead is not moved. (Separate objects remain separate, even if two objects using the same letter come into contact.)

If an object whose letter is "h" ever moves, the program halts immediately after its motion completes.