Brussels / 4 & 5 February 2023


I have an idea: build a language that can run backwards

(please tell me if it's stupid)

In an ongoing search for new programming metaphors I have devised a tiny language called Zarkov. Its proof-of-concept has been implemented in Javascript and allows for basic maths to be performed in either direction, i.e. forward and reverse. So, should you get a error, you can simply invoke the .back() method on the program object and the steps revert allowing you to see how/why it reached that state.

The PoC is essential a way of handling UNDO and REDO in terms that represent a programming language, rather than an application.

But is it useful? Has it been done? How does LISP already do this? (Because LISP can do anything, right!? :)

After a (mercifully!) short presentation, the floor is opened to see if the idea has merit or prior art, and whether it's worth pursuing.


Photo of Steven Goodwin Steven Goodwin