|
1064 | 1064 | ?~(a 0 +((add $(a l.a) $(a r.a))))
|
1065 | 1065 | --
|
1066 | 1066 | --
|
| 1067 | +:: layer 11: maps |
| 1068 | +~% %eleven + ~ |
| 1069 | +|% |
| 1070 | +++ need |
| 1071 | + ~/ %need |
| 1072 | + |* a=(unit) |
| 1073 | + ?~ a ~>(%mean.'need' !!) |
| 1074 | + u.a |
| 1075 | +++ some |
| 1076 | + |* a=* |
| 1077 | + [~ u=a] |
| 1078 | +++ fall |
| 1079 | + |* [a=(unit) b=*] |
| 1080 | + ?~(a b u.a) |
| 1081 | +++ by |
| 1082 | + ~/ %by |
| 1083 | + =| a=(tree (pair)) :: (map) |
| 1084 | + =* node ?>(?=(^ a) n.a) |
| 1085 | + |@ |
| 1086 | + ++ all |
| 1087 | + ~/ %all |
| 1088 | + |* b=$-(* ?) |
| 1089 | + |- ^- ? |
| 1090 | + ?~ a |
| 1091 | + & |
| 1092 | + ?&((b q.n.a) $(a l.a) $(a r.a)) |
| 1093 | + ++ any |
| 1094 | + ~/ %any |
| 1095 | + |* b=$-(* ?) |
| 1096 | + |- ^- ? |
| 1097 | + ?~ a |
| 1098 | + | |
| 1099 | + ?|((b q.n.a) $(a l.a) $(a r.a)) |
| 1100 | + ++ apt |
| 1101 | + =< $ |
| 1102 | + ~/ %apt |
| 1103 | + =| [l=(unit) r=(unit)] |
| 1104 | + |. ^- ? |
| 1105 | + ?~ a & |
| 1106 | + ?& ?~(l & &((gor p.n.a u.l) !=(p.n.a u.l))) |
| 1107 | + ?~(r & &((gor u.r p.n.a) !=(u.r p.n.a))) |
| 1108 | + ?~ l.a & |
| 1109 | + &((mor p.n.a p.n.l.a) !=(p.n.a p.n.l.a) $(a l.a, l `p.n.a)) |
| 1110 | + ?~ r.a & |
| 1111 | + &((mor p.n.a p.n.r.a) !=(p.n.a p.n.r.a) $(a r.a, r `p.n.a)) |
| 1112 | + == |
| 1113 | + ++ bif |
| 1114 | + ~/ %bif |
| 1115 | + |* [b=* c=*] |
| 1116 | + ^+ [l=a r=a] |
| 1117 | + =< + |
| 1118 | + |- ^+ a |
| 1119 | + ?~ a |
| 1120 | + [[b c] ~ ~] |
| 1121 | + ?: =(b p.n.a) |
| 1122 | + ?: =(c q.n.a) |
| 1123 | + a |
| 1124 | + a(n [b c]) |
| 1125 | + ?: (gor b p.n.a) |
| 1126 | + =+ d=$(a l.a) |
| 1127 | + ?> ?=(^ d) |
| 1128 | + d(r a(l r.d)) |
| 1129 | + =+ d=$(a r.a) |
| 1130 | + ?> ?=(^ d) |
| 1131 | + d(l a(r l.d)) |
| 1132 | + ++ del |
| 1133 | + ~/ %del |
| 1134 | + |* b=* |
| 1135 | + |- ^+ a |
| 1136 | + ?~ a |
| 1137 | + ~ |
| 1138 | + ?. =(b p.n.a) |
| 1139 | + ?: (gor b p.n.a) |
| 1140 | + a(l $(a l.a)) |
| 1141 | + a(r $(a r.a)) |
| 1142 | + |- ^- [$?(~ _a)] |
| 1143 | + ?~ l.a r.a |
| 1144 | + ?~ r.a l.a |
| 1145 | + ?: (mor p.n.l.a p.n.r.a) |
| 1146 | + l.a(r $(l.a r.l.a)) |
| 1147 | + r.a(l $(r.a l.r.a)) |
| 1148 | + ++ dif |
| 1149 | + ~/ %dif |
| 1150 | + =+ b=a |
| 1151 | + |@ |
| 1152 | + ++ $ |
| 1153 | + |- ^+ a |
| 1154 | + ?~ b |
| 1155 | + a |
| 1156 | + =+ c=(bif p.n.b q.n.b) |
| 1157 | + ?> ?=(^ c) |
| 1158 | + =+ d=$(a l.c, b l.b) |
| 1159 | + =+ e=$(a r.c, b r.b) |
| 1160 | + |- ^- [$?(~ _a)] |
| 1161 | + ?~ d e |
| 1162 | + ?~ e d |
| 1163 | + ?: (mor p.n.d p.n.e) |
| 1164 | + d(r $(d r.d)) |
| 1165 | + e(l $(e l.e)) |
| 1166 | + -- |
| 1167 | + ++ dig |
| 1168 | + |= b=* |
| 1169 | + =+ c=1 |
| 1170 | + |- ^- (unit @) |
| 1171 | + ?~ a ~ |
| 1172 | + ?: =(b p.n.a) [~ u=(peg c 2)] |
| 1173 | + ?: (gor b p.n.a) |
| 1174 | + $(a l.a, c (peg c 6)) |
| 1175 | + $(a r.a, c (peg c 7)) |
| 1176 | + ++ gas |
| 1177 | + ~/ %gas |
| 1178 | + |* b=(list [p=* q=*]) |
| 1179 | + => .(b `(list _?>(?=(^ a) n.a))`b) |
| 1180 | + |- ^+ a |
| 1181 | + ?~ b |
| 1182 | + a |
| 1183 | + $(b t.b, a (put p.i.b q.i.b)) |
| 1184 | + ++ get |
| 1185 | + ~/ %get |
| 1186 | + |* b=* |
| 1187 | + => .(b `_?>(?=(^ a) p.n.a)`b) |
| 1188 | + |- ^- (unit _?>(?=(^ a) q.n.a)) |
| 1189 | + ?~ a |
| 1190 | + ~ |
| 1191 | + ?: =(b p.n.a) |
| 1192 | + (some q.n.a) |
| 1193 | + ?: (gor b p.n.a) |
| 1194 | + $(a l.a) |
| 1195 | + $(a r.a) |
| 1196 | + ++ got |
| 1197 | + |* b=* |
| 1198 | + (need (get b)) |
| 1199 | + ++ gut |
| 1200 | + |* [b=* c=*] |
| 1201 | + (fall (get b) c) |
| 1202 | + ++ has |
| 1203 | + ~/ %has |
| 1204 | + |* b=* |
| 1205 | + !=(~ (get b)) |
| 1206 | + ++ int |
| 1207 | + ~/ %int |
| 1208 | + =+ b=a |
| 1209 | + |@ |
| 1210 | + ++ $ |
| 1211 | + |- ^+ a |
| 1212 | + ?~ b |
| 1213 | + ~ |
| 1214 | + ?~ a |
| 1215 | + ~ |
| 1216 | + ?: (mor p.n.a p.n.b) |
| 1217 | + ?: =(p.n.b p.n.a) |
| 1218 | + b(l $(a l.a, b l.b), r $(a r.a, b r.b)) |
| 1219 | + ?: (gor p.n.b p.n.a) |
| 1220 | + %- uni(a $(a l.a, r.b ~)) $(b r.b) |
| 1221 | + %- uni(a $(a r.a, l.b ~)) $(b l.b) |
| 1222 | + ?: =(p.n.a p.n.b) |
| 1223 | + b(l $(b l.b, a l.a), r $(b r.b, a r.a)) |
| 1224 | + ?: (gor p.n.a p.n.b) |
| 1225 | + %- uni(a $(b l.b, r.a ~)) $(a r.a) |
| 1226 | + %- uni(a $(b r.b, l.a ~)) $(a l.a) |
| 1227 | + -- |
| 1228 | + ++ jab |
| 1229 | + ~/ %jab |
| 1230 | + |* [key=_?>(?=(^ a) p.n.a) fun=$-(_?>(?=(^ a) q.n.a) _?>(?=(^ a) q.n.a))] |
| 1231 | + ^+ a |
| 1232 | + :: |
| 1233 | + ?~ a !! |
| 1234 | + :: |
| 1235 | + ?: =(key p.n.a) |
| 1236 | + a(q.n (fun q.n.a)) |
| 1237 | + :: |
| 1238 | + ?: (gor key p.n.a) |
| 1239 | + a(l $(a l.a)) |
| 1240 | + :: |
| 1241 | + a(r $(a r.a)) |
| 1242 | + ++ key |
| 1243 | + =< $ |
| 1244 | + ~/ %key |
| 1245 | + =+ b=`(set _?>(?=(^ a) p.n.a))`~ |
| 1246 | + |. ^+ b |
| 1247 | + ?~ a b |
| 1248 | + $(a r.a, b $(a l.a, b (~(put in b) p.n.a))) |
| 1249 | + ++ mar |
| 1250 | + |* [b=* c=(unit *)] |
| 1251 | + ?~ c |
| 1252 | + (del b) |
| 1253 | + (put b u.c) |
| 1254 | + ++ put |
| 1255 | + ~/ %put |
| 1256 | + |* [b=* c=*] |
| 1257 | + |- ^+ a |
| 1258 | + ?~ a |
| 1259 | + [[b c] ~ ~] |
| 1260 | + ?: =(b p.n.a) |
| 1261 | + ?: =(c q.n.a) |
| 1262 | + a |
| 1263 | + a(n [b c]) |
| 1264 | + ?: (gor b p.n.a) |
| 1265 | + =+ d=$(a l.a) |
| 1266 | + ?> ?=(^ d) |
| 1267 | + ?: (mor p.n.a p.n.d) |
| 1268 | + a(l d) |
| 1269 | + d(r a(l r.d)) |
| 1270 | + =+ d=$(a r.a) |
| 1271 | + ?> ?=(^ d) |
| 1272 | + ?: (mor p.n.a p.n.d) |
| 1273 | + a(r d) |
| 1274 | + d(l a(r l.d)) |
| 1275 | + ++ rep |
| 1276 | + ~/ %rep |
| 1277 | + |* b=_=>(~ |=([* *] +<+)) |
| 1278 | + |- |
| 1279 | + ?~ a +<+.b |
| 1280 | + $(a r.a, +<+.b $(a l.a, +<+.b (b n.a +<+.b))) |
| 1281 | + ++ rib |
| 1282 | + |* [b=* c=gate] |
| 1283 | + |- ^+ [b a] |
| 1284 | + ?~ a [b ~] |
| 1285 | + =+ d=(c n.a b) |
| 1286 | + =. n.a +.d |
| 1287 | + =+ e=$(a l.a, b -.d) |
| 1288 | + =+ f=$(a r.a, b -.e) |
| 1289 | + [-.f a(l +.e, r +.f)] |
| 1290 | + ++ run |
| 1291 | + ~/ %run |
| 1292 | + |* b=gate |
| 1293 | + |- |
| 1294 | + ?~ a a |
| 1295 | + [n=[p=p.n.a q=(b q.n.a)] l=$(a l.a) r=$(a r.a)] |
| 1296 | + ++ tap |
| 1297 | + =< $ |
| 1298 | + ~/ %tap |
| 1299 | + =+ b=`(list _?>(?=(^ a) n.a))`~ |
| 1300 | + |. ^+ b |
| 1301 | + ?~ a |
| 1302 | + b |
| 1303 | + $(a r.a, b [n.a $(a l.a)]) |
| 1304 | + ++ uni |
| 1305 | + ~/ %uni |
| 1306 | + =+ b=a |
| 1307 | + |@ |
| 1308 | + ++ $ |
| 1309 | + |- ^+ a |
| 1310 | + ?~ b |
| 1311 | + a |
| 1312 | + ?~ a |
| 1313 | + b |
| 1314 | + ?: =(p.n.b p.n.a) |
| 1315 | + b(l $(a l.a, b l.b), r $(a r.a, b r.b)) |
| 1316 | + ?: (mor p.n.a p.n.b) |
| 1317 | + ?: (gor p.n.b p.n.a) |
| 1318 | + $(l.a $(a l.a, r.b ~), b r.b) |
| 1319 | + $(r.a $(a r.a, l.b ~), b l.b) |
| 1320 | + ?: (gor p.n.a p.n.b) |
| 1321 | + $(l.b $(b l.b, r.a ~), a r.a) |
| 1322 | + $(r.b $(b r.b, l.a ~), a l.a) |
| 1323 | + -- |
| 1324 | + ++ uno |
| 1325 | + =+ b=a |
| 1326 | + |@ |
| 1327 | + ++ $ |
| 1328 | + |= meg=$-([_p:node _q:node _q:node] _q:node) |
| 1329 | + |- ^+ a |
| 1330 | + ?~ b |
| 1331 | + a |
| 1332 | + ?~ a |
| 1333 | + b |
| 1334 | + ?: =(p.n.b p.n.a) |
| 1335 | + :+ [p.n.a (meg p.n.a q.n.a q.n.b)] |
| 1336 | + $(b l.b, a l.a) |
| 1337 | + $(b r.b, a r.a) |
| 1338 | + ?: (mor p.n.a p.n.b) |
| 1339 | + ?: (gor p.n.b p.n.a) |
| 1340 | + $(l.a $(a l.a, r.b ~), b r.b) |
| 1341 | + $(r.a $(a r.a, l.b ~), b l.b) |
| 1342 | + ?: (gor p.n.a p.n.b) |
| 1343 | + $(l.b $(b l.b, r.a ~), a r.a) |
| 1344 | + $(r.b $(b r.b, l.a ~), a l.a) |
| 1345 | + -- |
| 1346 | + ++ urn |
| 1347 | + ~/ %urn |
| 1348 | + |* b=$-([* *] *) |
| 1349 | + |- |
| 1350 | + ?~ a ~ |
| 1351 | + a(n n.a(q (b p.n.a q.n.a)), l $(a l.a), r $(a r.a)) |
| 1352 | + ++ wyt |
| 1353 | + =< $ |
| 1354 | + ~% %wyt + ~ |
| 1355 | + |. ^- @ |
| 1356 | + ?~(a 0 +((add $(a l.a) $(a r.a)))) |
| 1357 | + ++ val |
| 1358 | + =+ b=`(list _?>(?=(^ a) q.n.a))`~ |
| 1359 | + |- ^+ b |
| 1360 | + ?~ a b |
| 1361 | + $(a r.a, b [q.n.a $(a l.a)]) |
| 1362 | + -- |
| 1363 | +-- |
1067 | 1364 | ==
|
0 commit comments