user7039610
user7039610

Reputation:

What is the meaning of $effmask_all in ATS?

I have seen quasi-function symbols $effmask_all and $effmask_ref many times in the ATS library code. What is the meaning of these symbols? When should they be called?

Upvotes: 4

Views: 53

Answers (1)

cs520 bucas
cs520 bucas

Reputation: 31

ATS can track some effects (e.g., non-termination (ntm), reference (ref), write (wrt)). Sometimes, you may want the typechecker to ignore the effects that can potentially be generated from the evaluation of an expression. To do so, you can use $effmask_all to mask out all the effects and $effmask_ref to mask out only the reference-effect. There is also $effmask_wrt for masking out the write-effect.

Upvotes: 3

Related Questions