[Piet](http://www.dangermouse.net/esoteric/piet.html) = **Factoid** Piet is a programming language where the source code consists of images. Program flow starts with the top-left pixel and moves around the image between pixels and pixel groups until it terminates. For legibility, Piet programs are commonly displayed in an enlarged version. In such a case the term `codel` is used to describe a group of same-coloured pixels that correspond to an individual pixel in the source image. For this challenge, since Piet does not use characters, one codel per vote will be used for sample programs. **1 Codel** ![1 Codel][1] This is a valid program, it does nothing and terminates. The control flow starts in the top-left (only) pixel and has no way out, which ends the program. The pixel can in this case be any colour for the exact same effect. **2 Codels** ![2 Codels][2] This will continually read characters from stdin and keep a running total of their unicode values (though nothing is done with this total and it is not displayed). The input is the command moving left-to-right and then the add is right-to-left. On the first "add" command, nothing will happen since there is only one value on the stack, and the specification says that commands without enough values available are ignored. This program is a loop that will never end, as most piet programs will be at extremely small sizes, since it takes at least a few codels to properly "trap" the program flow and end it. **3 Codels** ![3 Codels][3] This is a basic echo-type program, it will read a character at a time from stdin and print it to stdout. Again this is an infinite loop. When travelling back left-to-right it attempts to perform subtract and add commands, but the stack is empty so these become no-ops. **4 Codels** ![4 Codels][4] Prints out 2 to stdout indefinitely. Not a particularly interesting program functionally, but now that we finally have a composite number of codels we can show off slightly more advanced flow than left-to-right. The program goes around clockwise pushing 1 onto the stack twice, adding them together, then outputting the result. [1]: https://i.sstatic.net/eB4XY.png [2]: https://i.sstatic.net/lRG1h.png [3]: https://i.sstatic.net/rFVzV.png [4]: https://i.sstatic.net/m3XR2.png