Actually, it does occur in the wild ;):
http://www.cs.ox.ac.uk/jeremy.gibbons/publications/origami.p...
Thanks!
How would multiple sheets of paper really differ from cuts?
My first experience with functional programming was being quizzed to solve certain maths problems with Haskell, and not being allowed to save intermediate results in a variable like an integer was really frustrating due to existing habits. Yes, yes, accumulators and recursion - point is our instructor gave us zero hints about how to think differently, and just kept saying "no, Haskell has no variables."
It might say more about how poorly guided my first encounter with functional programming was, but still, I'd say that is a lot like what you just described.
Er... what? What does "glue and cuts" mean in functional programming?
And functional programming has state, like most other programming paradigms (see the ST and State monads).
So, my friend Torsten (who is really into papercraft and origami) explained to me the purity hierarchy within the papercraft community.
At the bottom is having to cut the paper and use glue in your creations. One level above that is if the form requires only cutting or tearing. Getting more and more pure is the form known as kirigami, which involves cuts but is made from a single sheet of paper as the base. At the top is origami - no glue, no cuts, only folds (although I'm not sure if there is such a thing as higher order origami), and ideally only one sheet of paper.
The comparison with functional programming ("no glue and cuts" and "no state") is so obvious I'm surprised I've never seen it in the wild - maybe because programming has more in common with algebra, whereas origami is geometric?
Although mostly unrelated to this library, we can conclude that some of the effects in OriDomi should be in a section called KiruDomi. ;)
Actually, from a usability perspective, I see a problem with using those effects, like "twist" and "fracture": once scrambled, it is not obvious from the shape in which way to drag to unfold again, unlike with an effect like "stairs"