SMETANA is a pathological little self-modifying language with only two possible operations: Go to step n, and Swap steps n and m. It has inspired a few variants and developments, notably a proof that despite its minimalism, it is finite-automata-complete; it is also the (great-?)grandfather of SMITH.
Sample Configuration
Step 1. Swap step 1 with step 2.
Step 2. Go to step 2.
Step 3. Go to step 1.
Computational Class
Paradigms
Try it Online
- yoob (Applet) (Java applet)
Documentation
Implementations
-
smetana.pl, an interpreter in Perl
To run this implementation, you need:
- an implementation of Perl (we suggest perl 5.8.8)
Download
Development
Github: catseye/SMETANA
Bitbucket: catseye/smetana
Issue tracker: on github
Influenced
Other Implementations
- SMETANA (Visual Basic), an interpreter in Visual Basic
- tc.catseye.yoob.smetana, an interpreter in Java