2.10.14. ПЕРЕХВАТЫ АВАРИЙ

Хвост

$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"