proc dosave(filename) { var res; res = oadl::save(filename); switch (res) { case true : "Save succeeded!\n"; case false : "Error saving to ", filename, '\n'; case nil : "Restore succeeded!\n"; } return res; } proc dorestore(filename) { oadl::restore(filename); "Error restoring from ", filename, '\n'; } proc main() { var i = 3; const saveName = "oadlsav.oax"; "At start, i is ", i, '\n'; while (dosave(saveName)) { i = 4; "Before restore, i is ", i, '\n'; dorestore(saveName); } "At end, i is ", i, '\n'; }