All information concerning an ALE state is encoded in the current Prolog state. Thus, any options presented by your version of Prolog to save states should be able to save ALE states. Saving run-time stacks is only necessary to preserve a currently executing parse or other top-level ALE query, not compiled code.