Skip to content

Latest commit

 

History

History
35 lines (26 loc) · 1.82 KB

README.md

File metadata and controls

35 lines (26 loc) · 1.82 KB

The Ackermann function, in Piet

This repository contains an implementation of the Ackermann function in the Piet language.

The code is a visual experience.

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

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 on Wikipedia.
  • Piet on David Morgan-Mar's website.
  • PietDev, a Piet IDE and debugger by Oscar Rodríguez used in the creation of this program.
  • The Piet Assembler, a program by Sergei Lewis which reads text commands and generates Piet code, such as the text output portion of this program.

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.