What you mean is a non-deterministic programming language?
Similar to SICP 4.3? But different and expanded?
http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-28.html...
Code where expressions has success and failure paths, where the failure simply is reversal?