Commit 6bf6856
committed
Generalise OrElseLeft/Right frame
OrElseLeftFrame and OrElseRightFrame represent a control structure that
has a alternative branch that is executed when `retry` is applied. A
`catch` has a similar execution model when a `throw` is applied.
The control frame is generalised to BranchFrame that can hold an
alternative statement. If the execution context is `left` side of the
branch then the BranchFrame contains `right` statement. When we are
executing in the `right` context, the branch frame contains an empty
statement.1 parent e4fd24f commit 6bf6856
File tree
3 files changed
+35
-55
lines changed- io-sim/src/Control/Monad
- IOSimPOR
- IOSim
3 files changed
+35
-55
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
881 | 881 | | |
882 | 882 | | |
883 | 883 | | |
884 | | - | |
885 | | - | |
886 | | - | |
887 | | - | |
888 | | - | |
889 | | - | |
890 | | - | |
891 | | - | |
892 | | - | |
893 | | - | |
894 | | - | |
895 | | - | |
896 | | - | |
897 | | - | |
898 | | - | |
| 884 | + | |
| 885 | + | |
| 886 | + | |
899 | 887 | | |
900 | 888 | | |
901 | 889 | | |
| |||
907 | 895 | | |
908 | 896 | | |
909 | 897 | | |
910 | | - | |
| 898 | + | |
911 | 899 | | |
912 | 900 | | |
913 | 901 | | |
| |||
925 | 913 | | |
926 | 914 | | |
927 | 915 | | |
928 | | - | |
929 | | - | |
930 | | - | |
| 916 | + | |
| 917 | + | |
| 918 | + | |
931 | 919 | | |
932 | 920 | | |
933 | | - | |
| 921 | + | |
934 | 922 | | |
935 | 923 | | |
936 | | - | |
937 | | - | |
938 | | - | |
| 924 | + | |
| 925 | + | |
| 926 | + | |
| 927 | + | |
| 928 | + | |
939 | 929 | | |
940 | 930 | | |
941 | 931 | | |
| |||
944 | 934 | | |
945 | 935 | | |
946 | 936 | | |
947 | | - | |
| 937 | + | |
948 | 938 | | |
949 | 939 | | |
950 | 940 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
| 31 | + | |
31 | 32 | | |
32 | 33 | | |
33 | 34 | | |
| |||
832 | 833 | | |
833 | 834 | | |
834 | 835 | | |
| 836 | + | |
| 837 | + | |
| 838 | + | |
| 839 | + | |
| 840 | + | |
835 | 841 | | |
836 | 842 | | |
837 | 843 | | |
838 | 844 | | |
839 | | - | |
840 | | - | |
| 845 | + | |
| 846 | + | |
| 847 | + | |
841 | 848 | | |
842 | 849 | | |
843 | 850 | | |
844 | 851 | | |
845 | 852 | | |
846 | 853 | | |
847 | 854 | | |
848 | | - | |
849 | | - | |
850 | | - | |
851 | | - | |
852 | | - | |
853 | | - | |
854 | | - | |
855 | 855 | | |
856 | 856 | | |
857 | 857 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1092 | 1092 | | |
1093 | 1093 | | |
1094 | 1094 | | |
1095 | | - | |
1096 | | - | |
1097 | | - | |
1098 | | - | |
1099 | | - | |
1100 | | - | |
1101 | | - | |
1102 | | - | |
1103 | | - | |
1104 | | - | |
1105 | | - | |
1106 | | - | |
1107 | | - | |
1108 | | - | |
1109 | | - | |
| 1095 | + | |
| 1096 | + | |
| 1097 | + | |
1110 | 1098 | | |
1111 | 1099 | | |
1112 | 1100 | | |
| |||
1118 | 1106 | | |
1119 | 1107 | | |
1120 | 1108 | | |
1121 | | - | |
| 1109 | + | |
1122 | 1110 | | |
1123 | 1111 | | |
1124 | 1112 | | |
| |||
1136 | 1124 | | |
1137 | 1125 | | |
1138 | 1126 | | |
1139 | | - | |
1140 | | - | |
| 1127 | + | |
| 1128 | + | |
1141 | 1129 | | |
1142 | 1130 | | |
1143 | 1131 | | |
1144 | | - | |
| 1132 | + | |
1145 | 1133 | | |
1146 | 1134 | | |
1147 | | - | |
1148 | | - | |
| 1135 | + | |
| 1136 | + | |
| 1137 | + | |
| 1138 | + | |
1149 | 1139 | | |
1150 | 1140 | | |
1151 | 1141 | | |
| |||
1155 | 1145 | | |
1156 | 1146 | | |
1157 | 1147 | | |
1158 | | - | |
| 1148 | + | |
1159 | 1149 | | |
1160 | 1150 | | |
1161 | 1151 | | |
| |||
0 commit comments