Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/itsnickbarry/ackermann-piet
A visual journey through stack-based superexponential recursion π¨
https://github.com/itsnickbarry/ackermann-piet
art-history de-stijl esoteric piet-mondrian wow
Last synced: about 2 months ago
JSON representation
A visual journey through stack-based superexponential recursion π¨
- Host: GitHub
- URL: https://github.com/itsnickbarry/ackermann-piet
- Owner: ItsNickBarry
- License: mit
- Created: 2015-04-15T03:31:22.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2015-05-24T03:24:50.000Z (over 9 years ago)
- Last Synced: 2023-02-28T11:35:48.942Z (almost 2 years ago)
- Topics: art-history, de-stijl, esoteric, piet-mondrian, wow
- Homepage:
- Size: 195 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# The Ackermann function, in Piet
This repository contains an implementation of the Ackermann function in the Piet language.The code is a [visual experience][code].
[code]: ./lib/ackermann-piet.png
## The Ackermann Function
The Ackermann function, named for Wilhelm Ackermann, is an example of a total computable function which is not primitive recursive. As the value of its arguments increases linearly, the time required to compute it increases superexponentially.### Links
* The [Ackermann function][wiki] on Wikipedia.
* The [Ackermann function][youtube] on the Computerphile YouTube channel.[wiki]: https://en.wikipedia.org/wiki/Ackermann_function
[youtube]: https://www.youtube.com/watch?v=i7sm9dzFtEI## Piet
Piet is a stack-based programming language which consists of images rather than text. It was written by David Morgan-Mar, prolific author of esoteric programming languages, and named after Dutch painter Piet Mondrian. The interpreter provides a formalistic analysis of a program's content. Iconographic elements are analogous to code comments.### Links
* [Piet Mondrian][mondrian] on Wikipedia.
* [Piet][dangermouse] on David Morgan-Mar's website.
* [PietDev][pietdev], a Piet IDE and debugger by Oscar RodrΓguez used in the creation of this program.
* The [Piet Assembler][assembler], a program by Sergei Lewis which reads text commands and generates Piet code, such as the text output portion of this program.[mondrian]: https://en.wikipedia.org/wiki/Piet_Mondrian
[dangermouse]: http://www.dangermouse.net/esoteric/piet.html
[pietdev]: http://www.rapapaing.com/blog/?page_id=6
[assembler]: http://www.toothycat.net/wiki/wiki.pl?MoonShadow/Piet## Known Issues
* Program contains black pixels, which seems like cheating.
* Program is kind of ugly overall.
* Does not seem to work with npiet. Only successfully tested in PietDev.