Piet is an esoteric progrmming language invented by David Morgen-Mar where the code looks like abstract art. For more language specific information please refer to the original language specification or take a look at my documentaion in the
docs
folder.
This project provides an impelmentaion of a piet interpreter in combination with a simple browser based IDE written in C# using .NET and Blazor. Blazor provides a build as WebAssembly, so you can run this project witout any additional infrastructure setup, or simply check out the deployed version here.
The current version is a minimal working prototype with a small feature set, only the essential components for creating and executing a Piet program are available.
Feature | Description | Status |
---|---|---|
Improve error handling | Catch interpreter exceptions and enable a rerun. Exceptions should be displayed via a modal | in progress |
Command history | Display the command history of an exexuted program | in progress |
Show program stack and states | Display the internal program stack and the status of CodelChooser and DirectionPointer | ready for work |
Add debugging capabilities #1 | Enable a stepwise execution of the program | ready for work |
Add debugging capabilities #2 | Enable backward steps during debugging | blocked by Add debugging capabilities #1 |
Add debugging capabilities #3 | Add breakpoints to the Piet program and adapt debugger | blocked by Add debugging capabilities #1 |
Save and load Piet programs | Add the functionality to save and load programs created with the UI. | ready for work |
Import random images | Import random images (png, jpg, ...) and convert them into a Piet program | blocked by Save and load Piet programs |
Create programs automatically | Automate the creation of valid piet programs by using math, brain and a lots of fancy buzzwords | ready for work |