Я видел квазифункциональные символы $effmask_all
и $effmask_ref
много раз в коде библиотеки ATS. В чем смысл этих символов? Когда их следует называть?
1
A
ответ
0
ATS может отслеживать некоторые эффекты (например, non-term (ntm), reference (ref), write (wrt)). Иногда вам может потребоваться, чтобы typechecker игнорировал эффекты, которые потенциально могут быть получены при оценке выражения. Для этого вы можете использовать $effmask_all
для маскировки всех эффектов и $effmask_ref
для маскировки только эталонного эффекта. Существует также $effmask_wrt
для маскировки эффекта записи.