jarotsim is a playground for the discovery, exploration and livecoding of turing machines.
its objective is to promote experimentation and visualization of these foundational computational machines in a playful and joyful way.
=> ./img/screenshot_jarotsim_banner.png four rows of tiles, each one with a different pattern of tiles and with a bird with a hat in a different pose and position
# download
coming soon
# the basics
=> ./img/screenshot_jarotsim_detail.png a bird with a hat standing on a row of tiles with different designs
the bird with a hat stands over a long, possibly infinite, row of tiles.
the bird with a hat stands in a pose, one out of four possible poses.
the bird with a hat stands over one tile in the row, which has one out of four possible designs.
the bird with a hat has a table of rules that tells what to do next.
the table of rules is read as follows: given a specific pose of the bird with a hat, and a specific tile in the row where the bird with a hat is standing:
* which other tile should the given tile be replaced for?
* which should be the new pose of the bird with a hat?
* in which direction should the bird with a hat move, in order to stand in a different tile?
* the tile design that will be used to replace the current tile: you can click on it to rotate between the four possible designs.
* the pose of the bird in the next step: you can click on the bird to rotate between the four possible poses, and a fifth one that indicates that the bird will halt.
* where in the row the bird should move, right or left of the current tile. you can click on the empty space at the left or right of the tile to have the bird move there.
the table of rules highlights the rule that would currently apply, given the pose of the bird and the tile design where they are standing.
the halt pose will hide the new tile design, and additionally it will never be highlighted.
=> ./img/screenshot_jarotsim-rule-halt.png an halt rule as described above
## timeline mode
=> ./img/screenshot_jarotsim_timeline.png screenshot of the timeline mode as described below
note that the bird will pause when it arrives at a rule with a halt pose. you won't be able to step or press play until you change the rule, the current pose, and/or the current tile design.
jarotsim is inspired by {turingsim} as a simulator of turing-machine-based performances like {d-turing} or {mub}.
the objective is to have a graphical user interface where one can edit / livecode the rules of the machine and its tape, and explore their effects.
for the moment the idea is to have a maximum of 4 states and 4 symbols. according to Wolfram, they should be more than enough to explore complex behaviors.
=> https://www.wolframscience.com/nks/p78--turing-machines/ Turing Machines: A New Kind of Science | Online by Stephen Wolfram
as of now, all of the machines described in {máquinas de turing} can be simulated in jarotsim.