tote
A rewriting playground
Riffing on Le Guin's Carrier Bag Theory of Fiction, this presents a primordial vision of computation in which programs are written as a list of changes in the content of a bag, and programming can be done entirely without the need for textual representations.
Try ToteTo learn more, see the examples from Pocket Rewriting, and Fractran.
Introduction
Programming is done by dragging things from the Panel(left) into the Rules(middle) or Bag(right). Step through the evaluation by pressing the button with the squiggly symbol(bottom right) to rewrite the symbols in the Bag.
Subtract Program | |
---|---|
:: x y sub > sub :: x sub > sub pos :: y sub > sub neg :: sub > |
Once the rules have been created, add things to the Bag by dragging them from the Panel. To get the resule of 8-3, add 8 times the first symbol(triangle), 3 times the second(lozenge), and the subtract symbol(empty dot). Step through the evaluation by pressing the squiggly symbol until no transformation is possible.
Content of Bag | |
---|---|
x=8 y=3 sub | pos=5 |
Editing Symbols
Click on the symbols in the Panel(left) to open the Symbol Editor with which you can draw new symbols, save/load the ICN graphics, lock/unlock the dragging of the symbol in the bag, activate continuous/step mode for when the symbol is clicked on.
- Clear sprite
- Export sprite
- Import sprite
- Set Spawn direction
- Toggle Visibility
- Toggle Lock
Setting Anchors
Clicking inside the bag during symbol editing gives that symbol an anchor position, when that symbol will be created as the result of a rule, it will spawn at that location.
Click on a rule's arrow to toggle between one of four triggers that can trigger the rule:
- --> On step
- >-- On clicking on a symbol
- -<> On dragging a symbol onto another
- ..> On a timer
- watch examples, playlist by CapitalEx
- view source
- download rom
license
The license applies to all the documented projects, the projects themselves and their assets. The source code of this website and our apps are under the MIT License, but the assets and text content of this website and of our apps are under the BY-NC-SA4.0 License. We are happy to pass knowledge, and that others can learn from our projects, improve on them, or make them into something else that is useful.
DO NOT resell or mint our work, doing so is very lazy, and disrespectful to us.
You can find our more recent projects on Sourcehut.