$trap Q $with Palt
означает, что следует попытаться вычислить Q. Если результатом этого вычисления является $error(Oe), то дальше вычисляется выборOe : Palt
и то, что получится, считается результатом всей конструкции.Считается, что тропа
Q находится на нулевом уровне.
Env,0,St |- Q => Oe,St'
----------------------------------------
Env,m,St |- $trap Q $with Palt => Oe,St'
Env,0,St |- Q => $fail(k),St'
Env,m,St' |- Fname "Unexpected fail" : Palt => X,St"
----------------------------------------------------
Env,m,St |- $trap Q $with Palt => X,St"
Fname -
имя функции, в которой находится конструкция.
Env,0,St |- Q => $error(Oe),St'
Env,m,St' |- Oe : Palt => X,St"
---------------------------------------
Env,m,St |- $trap Q $with Palt => X,St"