MarblePunk is a fictional, educational programming language based on the idea of coding with marbles. It is defined by a fictional universe, in which, due to the natural laws of the universe, programs can be “build” with marble runs.
The name is derived from the term steampunk, which describes a genre, in which key technical advancements happen much earlier than in actual history. In the case of steampunk, these are often digital devices like computers powered by steam engines. MarblePunk now does this with magic marbles. It is defined by a fictional world, in which marble have special properties and are therefore used in a mediaeval setting to build special devices. Such a world would naturally result in a setting, in which the digital revolution happens much earlier and with marbles, hence the name: Marblepunk.
The language puts an emphasis on the flow of programs, which are represented by the marble run. Regarding data representation, the complete program state is saved inside the marble and can be therefore be accessed over it, which means that various kinds of data structures and operations are possible.