[0] http://www.vangoghmuseum.nl/en/whats-on/exhibitions/past-exh...
And how can Dali be more surreal than using a language designed to animate monkeys on webpages for writing full-blown applications?
http://mamememo.blogspot.hu/2009/10/piet-quine.html
For me the image doesn't load, it's archived on stackexchange fortunately:
https://codegolf.stackexchange.com/questions/23193/output-an...
$ ../npiet-1.1/npiet quine.gif > quine2.gif
$ diff quine.gif quine2.gif
It's freakin' impressive.* Execution moves between blocks of colour. Flood fill algorithms are a valid compiler optimisation!
* Execution can move left/right/up/down. You can't necessarily tell what will be executed without doing it. The 'codel chooser' stuff means you can exit a colour block in two different ways depending on program state (plus left/right/up/down, so 8 ways total...).
* Instructions are encoded in the difference between colour blocks.
* Piet is otherwise a fairly straightforward stack machine.
When the explanatory line in the fibonacci example first hits the left hand side of the program, the Direction Pointer appears to be being rotated anti-clockwise.
Were it rotated clockwise, as-per the spec, it would go up, hit the black block above, and eventually end up in an infinite loop.
The command executed on entry to that block is PUSH (pale to normal yellow), so it shouldn't have any effect on DP.
Are programming languages about to hit the same problem as musicians, thinking up that cool but unused band name?
> Richard Mitton supplies this amazing program which calculates an approximation of pi... literally by dividing a circular area by the radius twice. Richard says:
The output is printed without the decimal
point after the 3.
Naturally, a more accurate value can be
obtained by using a bigger program.