Module Smyth.Res

val final : Lang.res -> bool

Determines whether or not a result is final, as defined in Figure 11 of the ICFP 2020 paper (Appendix A).

val determinate : Lang.res -> bool

Determines whether or not a result is determinate, as defined in Figure 11 of the ICFP 2020 paper (Appendix A).

val indeterminate : Lang.res -> bool

Determines whether or not a result is indeterminate, as defined in Figure 11 of the ICFP 2020 paper (Appendix A).

val to_value : Lang.res -> Lang.value option

"Downcasts" a result to a simple value, as defined after Figure 11 of the ICFP 2020 paper (Appendix A).

val from_value : Lang.value -> Lang.res

"Upcasts" a simple value to a result.

val consistent : Lang.res -> Lang.res -> Lang.resumption_assertions option

consistent r1 r2 returns the resumption assertions needed to ensure that r1 and r2 are consistent, as defined in Figure 7 of the ICFP 2020 paper.