[Openmcl-devel] inverse function

Robert Goldman rpgoldman at sift.info
Sat Feb 13 13:21:48 PST 2010


You might want to look at the Screamer package for non-deterministic lisp.  To support backtracking it does something related,  although undo is simpler than inverse. 

Taoufik Dachraoui <taoufik at mazeboard.com> wrote:

>Hi Raffael,
>
>I am having a second thought about side-effects
>
>If you record all side-effects it would be possible to revert back the
>side-effects.
>
>I am looking at a sequential program as a sequence of actions;
>
>Any sequence of revertable actions is revertable.
>
>P1 = a1 a2 ... an
>
>(inverse P1) = (inverse an) (inverse an-1) ... (inverse a1)
>
>If for each action you record the context in which it is executed
>then you can deterministically revert the whole program.
>
>But it is not realistic to record the context of all actions, thus
>I just expect that the (inverse P1) will return all possibilities (as
>in the square/sqrt example).
>
>Kind regards
>Taoufik
>_______________________________________________
>Openmcl-devel mailing list
>Openmcl-devel at clozure.com
>http://clozure.com/mailman/listinfo/openmcl-devel


More information about the Openmcl-devel mailing list