shen-ruby 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1056,3 +1056,7 @@ For an explication of this license see http://www.lambdassociates.org/News/june1
1056
1056
  (concat V1078 V1080))
1057
1057
  (true V1080)))
1058
1058
 
1059
+ (defun read-from-string (V466)
1060
+ (let Ns (map (lambda V465 (string->n V465)) (explode V466))
1061
+ (compile shen-<st_input> Ns shen-read-error)))
1062
+
@@ -134,257 +134,159 @@ For an explication of this license see http://www.lambdassociates.org/News/june1
134
134
  false))
135
135
  Case)))
136
136
 
137
- (defun shen-th* (V786 V787 V788 V789 V790)
137
+ (defun shen-th* (V1507 V1508 V1509 V1510 V1511)
138
138
  (let Throwcontrol (shen-catchpoint)
139
139
  (shen-cutpoint Throwcontrol
140
140
  (let Case
141
141
  (do (shen-incinfs)
142
- (shen-show (cons V786 (cons : (cons V787 ()))) V788 V789
143
- (freeze (fwhen false V789 V790))))
142
+ (shen-show (cons V1507 (cons : (cons V1508 ()))) V1509 V1510
143
+ (freeze (fwhen false V1510 V1511))))
144
144
  (if (= Case false)
145
145
  (let Case
146
- (let F (shen-newpv V789)
146
+ (let F (shen-newpv V1510)
147
147
  (do (shen-incinfs)
148
- (fwhen (shen-typedf? (shen-lazyderef V786 V789)) V789
148
+ (fwhen (shen-typedf? (shen-lazyderef V1507 V1510)) V1510
149
149
  (freeze
150
- (bind F (shen-sigf (shen-lazyderef V786 V789)) V789
151
- (freeze (call (cons F (cons V787 ())) V789 V790)))))))
150
+ (bind F (shen-sigf (shen-lazyderef V1507 V1510)) V1510
151
+ (freeze (call (cons F (cons V1508 ())) V1510 V1511)))))))
152
152
  (if (= Case false)
153
- (let Case (do (shen-incinfs) (shen-base V786 V787 V789 V790))
153
+ (let Case (do (shen-incinfs) (shen-base V1507 V1508 V1510 V1511))
154
154
  (if (= Case false)
155
155
  (let Case
156
- (do (shen-incinfs) (shen-by_hypothesis V786 V787 V788 V789 V790))
156
+ (do (shen-incinfs)
157
+ (shen-by_hypothesis V1507 V1508 V1509 V1510 V1511))
157
158
  (if (= Case false)
158
159
  (let Case
159
- (let V678 (shen-lazyderef V786 V789)
160
- (if (cons? V678)
161
- (let F (hd V678)
162
- (let V679 (shen-lazyderef (tl V678) V789)
163
- (if (cons? V679)
164
- (let X (hd V679)
165
- (let V680 (shen-lazyderef (tl V679) V789)
166
- (if (= () V680)
167
- (let B (shen-newpv V789)
168
- (do (shen-incinfs)
169
- (shen-th* F (cons B (cons --> (cons V787 ()))) V788 V789
170
- (freeze (shen-th* X B V788 V789 V790)))))
171
- false)))
160
+ (let V1397 (shen-lazyderef V1507 V1510)
161
+ (if (cons? V1397)
162
+ (let F (hd V1397)
163
+ (let V1398 (shen-lazyderef (tl V1397) V1510)
164
+ (if (= () V1398)
165
+ (do (shen-incinfs)
166
+ (shen-th* F (cons --> (cons V1508 ())) V1509 V1510 V1511))
172
167
  false)))
173
168
  false))
174
169
  (if (= Case false)
175
170
  (let Case
176
- (let V681 (shen-lazyderef V786 V789)
177
- (if (cons? V681)
178
- (let V682 (shen-lazyderef (hd V681) V789)
179
- (if (= cons V682)
180
- (let V683 (shen-lazyderef (tl V681) V789)
181
- (if (cons? V683)
182
- (let X (hd V683)
183
- (let V684 (shen-lazyderef (tl V683) V789)
184
- (if (cons? V684)
185
- (let Y (hd V684)
186
- (let V685 (shen-lazyderef (tl V684) V789)
187
- (if (= () V685)
188
- (let V686 (shen-lazyderef V787 V789)
189
- (if (cons? V686)
190
- (let V687 (shen-lazyderef (hd V686) V789)
191
- (if (= list V687)
192
- (let V688 (shen-lazyderef (tl V686) V789)
193
- (if (cons? V688)
194
- (let A (hd V688)
195
- (let V689 (shen-lazyderef (tl V688) V789)
196
- (if (= () V689)
197
- (do (shen-incinfs)
198
- (shen-th* X A V788 V789
199
- (freeze
200
- (shen-th* Y (cons list (cons A ())) V788
201
- V789 V790))))
202
- (if (shen-pvar? V689)
203
- (do (shen-bindv V689 () V789)
171
+ (let V1399 (shen-lazyderef V1507 V1510)
172
+ (if (cons? V1399)
173
+ (let F (hd V1399)
174
+ (let V1400 (shen-lazyderef (tl V1399) V1510)
175
+ (if (cons? V1400)
176
+ (let X (hd V1400)
177
+ (let V1401 (shen-lazyderef (tl V1400) V1510)
178
+ (if (= () V1401)
179
+ (let B (shen-newpv V1510)
180
+ (do (shen-incinfs)
181
+ (shen-th* F (cons B (cons --> (cons V1508 ()))) V1509
182
+ V1510 (freeze (shen-th* X B V1509 V1510 V1511)))))
183
+ false)))
184
+ false)))
185
+ false))
186
+ (if (= Case false)
187
+ (let Case
188
+ (let V1402 (shen-lazyderef V1507 V1510)
189
+ (if (cons? V1402)
190
+ (let V1403 (shen-lazyderef (hd V1402) V1510)
191
+ (if (= cons V1403)
192
+ (let V1404 (shen-lazyderef (tl V1402) V1510)
193
+ (if (cons? V1404)
194
+ (let X (hd V1404)
195
+ (let V1405 (shen-lazyderef (tl V1404) V1510)
196
+ (if (cons? V1405)
197
+ (let Y (hd V1405)
198
+ (let V1406 (shen-lazyderef (tl V1405) V1510)
199
+ (if (= () V1406)
200
+ (let V1407 (shen-lazyderef V1508 V1510)
201
+ (if (cons? V1407)
202
+ (let V1408 (shen-lazyderef (hd V1407) V1510)
203
+ (if (= list V1408)
204
+ (let V1409 (shen-lazyderef (tl V1407) V1510)
205
+ (if (cons? V1409)
206
+ (let A (hd V1409)
207
+ (let V1410 (shen-lazyderef (tl V1409) V1510)
208
+ (if (= () V1410)
209
+ (do (shen-incinfs)
210
+ (shen-th* X A V1509 V1510
211
+ (freeze
212
+ (shen-th* Y (cons list (cons A ()))
213
+ V1509 V1510 V1511))))
214
+ (if (shen-pvar? V1410)
215
+ (do (shen-bindv V1410 () V1510)
216
+ (let Result
217
+ (do (shen-incinfs)
218
+ (shen-th* X A V1509 V1510
219
+ (freeze
220
+ (shen-th* Y (cons list (cons A ()))
221
+ V1509 V1510 V1511))))
222
+ (do (shen-unbindv V1410 V1510)
223
+ Result)))
224
+ false))))
225
+ (if (shen-pvar? V1409)
226
+ (let A (shen-newpv V1510)
227
+ (do (shen-bindv V1409 (cons A ()) V1510)
204
228
  (let Result
205
229
  (do (shen-incinfs)
206
- (shen-th* X A V788 V789
230
+ (shen-th* X A V1509 V1510
207
231
  (freeze
208
232
  (shen-th* Y (cons list (cons A ()))
209
- V788 V789 V790))))
210
- (do (shen-unbindv V689 V789) Result)))
211
- false))))
212
- (if (shen-pvar? V688)
213
- (let A (shen-newpv V789)
214
- (do (shen-bindv V688 (cons A ()) V789)
215
- (let Result
216
- (do (shen-incinfs)
217
- (shen-th* X A V788 V789
218
- (freeze
219
- (shen-th* Y (cons list (cons A ()))
220
- V788 V789 V790))))
221
- (do (shen-unbindv V688 V789) Result))))
222
- false)))
223
- (if (shen-pvar? V687)
224
- (do (shen-bindv V687 list V789)
225
- (let Result
226
- (let V690 (shen-lazyderef (tl V686) V789)
227
- (if (cons? V690)
228
- (let A (hd V690)
229
- (let V691 (shen-lazyderef (tl V690) V789)
230
- (if (= () V691)
231
- (do (shen-incinfs)
232
- (shen-th* X A V788 V789
233
- (freeze
234
- (shen-th* Y (cons list (cons A ()))
235
- V788 V789 V790))))
236
- (if (shen-pvar? V691)
237
- (do (shen-bindv V691 () V789)
238
- (let Result
239
- (do (shen-incinfs)
240
- (shen-th* X A V788 V789
241
- (freeze
242
- (shen-th* Y
243
- (cons list (cons A ())) V788 V789
244
- V790))))
245
- (do (shen-unbindv V691 V789) Result)))
246
- false))))
247
- (if (shen-pvar? V690)
248
- (let A (shen-newpv V789)
249
- (do (shen-bindv V690 (cons A ()) V789)
250
- (let Result
251
- (do (shen-incinfs)
252
- (shen-th* X A V788 V789
253
- (freeze
254
- (shen-th* Y (cons list (cons A ()))
255
- V788 V789 V790))))
256
- (do (shen-unbindv V690 V789) Result))))
257
- false)))
258
- (do (shen-unbindv V687 V789) Result)))
259
- false)))
260
- (if (shen-pvar? V686)
261
- (let A (shen-newpv V789)
262
- (do
263
- (shen-bindv V686 (cons list (cons A ())) V789)
264
- (let Result
265
- (do (shen-incinfs)
266
- (shen-th* X A V788 V789
267
- (freeze
268
- (shen-th* Y (cons list (cons A ())) V788
269
- V789 V790))))
270
- (do (shen-unbindv V686 V789) Result))))
271
- false)))
272
- false)))
273
- false)))
274
- false))
275
- false))
276
- false))
277
- (if (= Case false)
278
- (let Case
279
- (let V692 (shen-lazyderef V786 V789)
280
- (if (cons? V692)
281
- (let V693 (shen-lazyderef (hd V692) V789)
282
- (if (= @p V693)
283
- (let V694 (shen-lazyderef (tl V692) V789)
284
- (if (cons? V694)
285
- (let X (hd V694)
286
- (let V695 (shen-lazyderef (tl V694) V789)
287
- (if (cons? V695)
288
- (let Y (hd V695)
289
- (let V696 (shen-lazyderef (tl V695) V789)
290
- (if (= () V696)
291
- (let V697 (shen-lazyderef V787 V789)
292
- (if (cons? V697)
293
- (let A (hd V697)
294
- (let V698 (shen-lazyderef (tl V697) V789)
295
- (if (cons? V698)
296
- (let V699 (shen-lazyderef (hd V698) V789)
297
- (if (= * V699)
298
- (let V700 (shen-lazyderef (tl V698) V789)
299
- (if (cons? V700)
300
- (let B (hd V700)
301
- (let V701 (shen-lazyderef (tl V700) V789)
302
- (if (= () V701)
233
+ V1509 V1510 V1511))))
234
+ (do (shen-unbindv V1409 V1510) Result))))
235
+ false)))
236
+ (if (shen-pvar? V1408)
237
+ (do (shen-bindv V1408 list V1510)
238
+ (let Result
239
+ (let V1411 (shen-lazyderef (tl V1407) V1510)
240
+ (if (cons? V1411)
241
+ (let A (hd V1411)
242
+ (let V1412
243
+ (shen-lazyderef (tl V1411) V1510)
244
+ (if (= () V1412)
303
245
  (do (shen-incinfs)
304
- (shen-th* X A V788 V789
246
+ (shen-th* X A V1509 V1510
305
247
  (freeze
306
- (shen-th* Y B V788 V789 V790))))
307
- (if (shen-pvar? V701)
308
- (do (shen-bindv V701 () V789)
248
+ (shen-th* Y (cons list (cons A ()))
249
+ V1509 V1510 V1511))))
250
+ (if (shen-pvar? V1412)
251
+ (do (shen-bindv V1412 () V1510)
309
252
  (let Result
310
253
  (do (shen-incinfs)
311
- (shen-th* X A V788 V789
254
+ (shen-th* X A V1509 V1510
312
255
  (freeze
313
- (shen-th* Y B V788 V789 V790))))
314
- (do (shen-unbindv V701 V789)
256
+ (shen-th* Y
257
+ (cons list (cons A ())) V1509
258
+ V1510 V1511))))
259
+ (do (shen-unbindv V1412 V1510)
315
260
  Result)))
316
261
  false))))
317
- (if (shen-pvar? V700)
318
- (let B (shen-newpv V789)
319
- (do (shen-bindv V700 (cons B ()) V789)
262
+ (if (shen-pvar? V1411)
263
+ (let A (shen-newpv V1510)
264
+ (do
265
+ (shen-bindv V1411 (cons A ()) V1510)
320
266
  (let Result
321
267
  (do (shen-incinfs)
322
- (shen-th* X A V788 V789
268
+ (shen-th* X A V1509 V1510
323
269
  (freeze
324
- (shen-th* Y B V788 V789 V790))))
325
- (do (shen-unbindv V700 V789)
270
+ (shen-th* Y
271
+ (cons list (cons A ())) V1509
272
+ V1510 V1511))))
273
+ (do (shen-unbindv V1411 V1510)
326
274
  Result))))
327
275
  false)))
328
- (if (shen-pvar? V699)
329
- (do (shen-bindv V699 * V789)
330
- (let Result
331
- (let V702 (shen-lazyderef (tl V698) V789)
332
- (if (cons? V702)
333
- (let B (hd V702)
334
- (let V703
335
- (shen-lazyderef (tl V702) V789)
336
- (if (= () V703)
337
- (do (shen-incinfs)
338
- (shen-th* X A V788 V789
339
- (freeze
340
- (shen-th* Y B V788 V789 V790))))
341
- (if (shen-pvar? V703)
342
- (do (shen-bindv V703 () V789)
343
- (let Result
344
- (do (shen-incinfs)
345
- (shen-th* X A V788 V789
346
- (freeze
347
- (shen-th* Y B V788 V789
348
- V790))))
349
- (do (shen-unbindv V703 V789)
350
- Result)))
351
- false))))
352
- (if (shen-pvar? V702)
353
- (let B (shen-newpv V789)
354
- (do
355
- (shen-bindv V702 (cons B ()) V789)
356
- (let Result
357
- (do (shen-incinfs)
358
- (shen-th* X A V788 V789
359
- (freeze
360
- (shen-th* Y B V788 V789 V790))))
361
- (do (shen-unbindv V702 V789)
362
- Result))))
363
- false)))
364
- (do (shen-unbindv V699 V789) Result)))
365
- false)))
366
- (if (shen-pvar? V698)
367
- (let B (shen-newpv V789)
368
- (do
369
- (shen-bindv V698 (cons * (cons B ()))
370
- V789)
371
- (let Result
372
- (do (shen-incinfs)
373
- (shen-th* X A V788 V789
374
- (freeze (shen-th* Y B V788 V789 V790))))
375
- (do (shen-unbindv V698 V789) Result))))
376
- false))))
377
- (if (shen-pvar? V697)
378
- (let A (shen-newpv V789)
379
- (let B (shen-newpv V789)
380
- (do
381
- (shen-bindv V697
382
- (cons A (cons * (cons B ()))) V789)
383
- (let Result
384
- (do (shen-incinfs)
385
- (shen-th* X A V788 V789
386
- (freeze (shen-th* Y B V788 V789 V790))))
387
- (do (shen-unbindv V697 V789) Result)))))
276
+ (do (shen-unbindv V1408 V1510) Result)))
277
+ false)))
278
+ (if (shen-pvar? V1407)
279
+ (let A (shen-newpv V1510)
280
+ (do
281
+ (shen-bindv V1407 (cons list (cons A ()))
282
+ V1510)
283
+ (let Result
284
+ (do (shen-incinfs)
285
+ (shen-th* X A V1509 V1510
286
+ (freeze
287
+ (shen-th* Y (cons list (cons A ())) V1509
288
+ V1510 V1511))))
289
+ (do (shen-unbindv V1407 V1510) Result))))
388
290
  false)))
389
291
  false)))
390
292
  false)))
@@ -393,112 +295,129 @@ For an explication of this license see http://www.lambdassociates.org/News/june1
393
295
  false))
394
296
  (if (= Case false)
395
297
  (let Case
396
- (let V704 (shen-lazyderef V786 V789)
397
- (if (cons? V704)
398
- (let V705 (shen-lazyderef (hd V704) V789)
399
- (if (= @v V705)
400
- (let V706 (shen-lazyderef (tl V704) V789)
401
- (if (cons? V706)
402
- (let X (hd V706)
403
- (let V707 (shen-lazyderef (tl V706) V789)
404
- (if (cons? V707)
405
- (let Y (hd V707)
406
- (let V708 (shen-lazyderef (tl V707) V789)
407
- (if (= () V708)
408
- (let V709 (shen-lazyderef V787 V789)
409
- (if (cons? V709)
410
- (let V710 (shen-lazyderef (hd V709) V789)
411
- (if (= vector V710)
412
- (let V711 (shen-lazyderef (tl V709) V789)
413
- (if (cons? V711)
414
- (let A (hd V711)
415
- (let V712 (shen-lazyderef (tl V711) V789)
416
- (if (= () V712)
417
- (do (shen-incinfs)
418
- (shen-th* X A V788 V789
419
- (freeze
420
- (shen-th* Y
421
- (cons vector (cons A ())) V788 V789
422
- V790))))
423
- (if (shen-pvar? V712)
424
- (do (shen-bindv V712 () V789)
425
- (let Result
426
- (do (shen-incinfs)
427
- (shen-th* X A V788 V789
428
- (freeze
429
- (shen-th* Y
430
- (cons vector (cons A ())) V788
431
- V789 V790))))
432
- (do (shen-unbindv V712 V789)
433
- Result)))
434
- false))))
435
- (if (shen-pvar? V711)
436
- (let A (shen-newpv V789)
437
- (do (shen-bindv V711 (cons A ()) V789)
438
- (let Result
439
- (do (shen-incinfs)
440
- (shen-th* X A V788 V789
441
- (freeze
442
- (shen-th* Y
443
- (cons vector (cons A ())) V788
444
- V789 V790))))
445
- (do (shen-unbindv V711 V789) Result))))
446
- false)))
447
- (if (shen-pvar? V710)
448
- (do (shen-bindv V710 vector V789)
449
- (let Result
450
- (let V713 (shen-lazyderef (tl V709) V789)
451
- (if (cons? V713)
452
- (let A (hd V713)
453
- (let V714
454
- (shen-lazyderef (tl V713) V789)
455
- (if (= () V714)
298
+ (let V1413 (shen-lazyderef V1507 V1510)
299
+ (if (cons? V1413)
300
+ (let V1414 (shen-lazyderef (hd V1413) V1510)
301
+ (if (= @p V1414)
302
+ (let V1415 (shen-lazyderef (tl V1413) V1510)
303
+ (if (cons? V1415)
304
+ (let X (hd V1415)
305
+ (let V1416 (shen-lazyderef (tl V1415) V1510)
306
+ (if (cons? V1416)
307
+ (let Y (hd V1416)
308
+ (let V1417 (shen-lazyderef (tl V1416) V1510)
309
+ (if (= () V1417)
310
+ (let V1418 (shen-lazyderef V1508 V1510)
311
+ (if (cons? V1418)
312
+ (let A (hd V1418)
313
+ (let V1419 (shen-lazyderef (tl V1418) V1510)
314
+ (if (cons? V1419)
315
+ (let V1420 (shen-lazyderef (hd V1419) V1510)
316
+ (if (= * V1420)
317
+ (let V1421
318
+ (shen-lazyderef (tl V1419) V1510)
319
+ (if (cons? V1421)
320
+ (let B (hd V1421)
321
+ (let V1422
322
+ (shen-lazyderef (tl V1421) V1510)
323
+ (if (= () V1422)
456
324
  (do (shen-incinfs)
457
- (shen-th* X A V788 V789
325
+ (shen-th* X A V1509 V1510
458
326
  (freeze
459
- (shen-th* Y
460
- (cons vector (cons A ())) V788
461
- V789 V790))))
462
- (if (shen-pvar? V714)
463
- (do (shen-bindv V714 () V789)
327
+ (shen-th* Y B V1509 V1510
328
+ V1511))))
329
+ (if (shen-pvar? V1422)
330
+ (do (shen-bindv V1422 () V1510)
464
331
  (let Result
465
332
  (do (shen-incinfs)
466
- (shen-th* X A V788 V789
333
+ (shen-th* X A V1509 V1510
467
334
  (freeze
468
- (shen-th* Y
469
- (cons vector (cons A ()))
470
- V788 V789 V790))))
471
- (do (shen-unbindv V714 V789)
335
+ (shen-th* Y B V1509 V1510
336
+ V1511))))
337
+ (do (shen-unbindv V1422 V1510)
472
338
  Result)))
473
339
  false))))
474
- (if (shen-pvar? V713)
475
- (let A (shen-newpv V789)
340
+ (if (shen-pvar? V1421)
341
+ (let B (shen-newpv V1510)
476
342
  (do
477
- (shen-bindv V713 (cons A ()) V789)
343
+ (shen-bindv V1421 (cons B ()) V1510)
478
344
  (let Result
479
345
  (do (shen-incinfs)
480
- (shen-th* X A V788 V789
346
+ (shen-th* X A V1509 V1510
481
347
  (freeze
482
- (shen-th* Y
483
- (cons vector (cons A ())) V788
484
- V789 V790))))
485
- (do (shen-unbindv V713 V789)
348
+ (shen-th* Y B V1509 V1510
349
+ V1511))))
350
+ (do (shen-unbindv V1421 V1510)
486
351
  Result))))
487
352
  false)))
488
- (do (shen-unbindv V710 V789) Result)))
489
- false)))
490
- (if (shen-pvar? V709)
491
- (let A (shen-newpv V789)
492
- (do
493
- (shen-bindv V709 (cons vector (cons A ()))
494
- V789)
495
- (let Result
496
- (do (shen-incinfs)
497
- (shen-th* X A V788 V789
498
- (freeze
499
- (shen-th* Y (cons vector (cons A ()))
500
- V788 V789 V790))))
501
- (do (shen-unbindv V709 V789) Result))))
353
+ (if (shen-pvar? V1420)
354
+ (do (shen-bindv V1420 * V1510)
355
+ (let Result
356
+ (let V1423
357
+ (shen-lazyderef (tl V1419) V1510)
358
+ (if (cons? V1423)
359
+ (let B (hd V1423)
360
+ (let V1424
361
+ (shen-lazyderef (tl V1423) V1510)
362
+ (if (= () V1424)
363
+ (do (shen-incinfs)
364
+ (shen-th* X A V1509 V1510
365
+ (freeze
366
+ (shen-th* Y B V1509 V1510
367
+ V1511))))
368
+ (if (shen-pvar? V1424)
369
+ (do (shen-bindv V1424 () V1510)
370
+ (let Result
371
+ (do (shen-incinfs)
372
+ (shen-th* X A V1509 V1510
373
+ (freeze
374
+ (shen-th* Y B V1509 V1510
375
+ V1511))))
376
+ (do (shen-unbindv V1424 V1510)
377
+ Result)))
378
+ false))))
379
+ (if (shen-pvar? V1423)
380
+ (let B (shen-newpv V1510)
381
+ (do
382
+ (shen-bindv V1423 (cons B ())
383
+ V1510)
384
+ (let Result
385
+ (do (shen-incinfs)
386
+ (shen-th* X A V1509 V1510
387
+ (freeze
388
+ (shen-th* Y B V1509 V1510
389
+ V1511))))
390
+ (do (shen-unbindv V1423 V1510)
391
+ Result))))
392
+ false)))
393
+ (do (shen-unbindv V1420 V1510)
394
+ Result)))
395
+ false)))
396
+ (if (shen-pvar? V1419)
397
+ (let B (shen-newpv V1510)
398
+ (do
399
+ (shen-bindv V1419 (cons * (cons B ()))
400
+ V1510)
401
+ (let Result
402
+ (do (shen-incinfs)
403
+ (shen-th* X A V1509 V1510
404
+ (freeze
405
+ (shen-th* Y B V1509 V1510 V1511))))
406
+ (do (shen-unbindv V1419 V1510)
407
+ Result))))
408
+ false))))
409
+ (if (shen-pvar? V1418)
410
+ (let A (shen-newpv V1510)
411
+ (let B (shen-newpv V1510)
412
+ (do
413
+ (shen-bindv V1418
414
+ (cons A (cons * (cons B ()))) V1510)
415
+ (let Result
416
+ (do (shen-incinfs)
417
+ (shen-th* X A V1509 V1510
418
+ (freeze
419
+ (shen-th* Y B V1509 V1510 V1511))))
420
+ (do (shen-unbindv V1418 V1510) Result)))))
502
421
  false)))
503
422
  false)))
504
423
  false)))
@@ -507,32 +426,118 @@ For an explication of this license see http://www.lambdassociates.org/News/june1
507
426
  false))
508
427
  (if (= Case false)
509
428
  (let Case
510
- (let V715 (shen-lazyderef V786 V789)
511
- (if (cons? V715)
512
- (let V716 (shen-lazyderef (hd V715) V789)
513
- (if (= @s V716)
514
- (let V717 (shen-lazyderef (tl V715) V789)
515
- (if (cons? V717)
516
- (let X (hd V717)
517
- (let V718 (shen-lazyderef (tl V717) V789)
518
- (if (cons? V718)
519
- (let Y (hd V718)
520
- (let V719 (shen-lazyderef (tl V718) V789)
521
- (if (= () V719)
522
- (let V720 (shen-lazyderef V787 V789)
523
- (if (= string V720)
524
- (do (shen-incinfs)
525
- (shen-th* X string V788 V789
526
- (freeze
527
- (shen-th* Y string V788 V789 V790))))
528
- (if (shen-pvar? V720)
529
- (do (shen-bindv V720 string V789)
530
- (let Result
531
- (do (shen-incinfs)
532
- (shen-th* X string V788 V789
533
- (freeze
534
- (shen-th* Y string V788 V789 V790))))
535
- (do (shen-unbindv V720 V789) Result)))
429
+ (let V1425 (shen-lazyderef V1507 V1510)
430
+ (if (cons? V1425)
431
+ (let V1426 (shen-lazyderef (hd V1425) V1510)
432
+ (if (= @v V1426)
433
+ (let V1427 (shen-lazyderef (tl V1425) V1510)
434
+ (if (cons? V1427)
435
+ (let X (hd V1427)
436
+ (let V1428 (shen-lazyderef (tl V1427) V1510)
437
+ (if (cons? V1428)
438
+ (let Y (hd V1428)
439
+ (let V1429 (shen-lazyderef (tl V1428) V1510)
440
+ (if (= () V1429)
441
+ (let V1430 (shen-lazyderef V1508 V1510)
442
+ (if (cons? V1430)
443
+ (let V1431 (shen-lazyderef (hd V1430) V1510)
444
+ (if (= vector V1431)
445
+ (let V1432
446
+ (shen-lazyderef (tl V1430) V1510)
447
+ (if (cons? V1432)
448
+ (let A (hd V1432)
449
+ (let V1433
450
+ (shen-lazyderef (tl V1432) V1510)
451
+ (if (= () V1433)
452
+ (do (shen-incinfs)
453
+ (shen-th* X A V1509 V1510
454
+ (freeze
455
+ (shen-th* Y
456
+ (cons vector (cons A ())) V1509
457
+ V1510 V1511))))
458
+ (if (shen-pvar? V1433)
459
+ (do (shen-bindv V1433 () V1510)
460
+ (let Result
461
+ (do (shen-incinfs)
462
+ (shen-th* X A V1509 V1510
463
+ (freeze
464
+ (shen-th* Y
465
+ (cons vector (cons A ()))
466
+ V1509 V1510 V1511))))
467
+ (do (shen-unbindv V1433 V1510)
468
+ Result)))
469
+ false))))
470
+ (if (shen-pvar? V1432)
471
+ (let A (shen-newpv V1510)
472
+ (do
473
+ (shen-bindv V1432 (cons A ()) V1510)
474
+ (let Result
475
+ (do (shen-incinfs)
476
+ (shen-th* X A V1509 V1510
477
+ (freeze
478
+ (shen-th* Y
479
+ (cons vector (cons A ())) V1509
480
+ V1510 V1511))))
481
+ (do (shen-unbindv V1432 V1510)
482
+ Result))))
483
+ false)))
484
+ (if (shen-pvar? V1431)
485
+ (do (shen-bindv V1431 vector V1510)
486
+ (let Result
487
+ (let V1434
488
+ (shen-lazyderef (tl V1430) V1510)
489
+ (if (cons? V1434)
490
+ (let A (hd V1434)
491
+ (let V1435
492
+ (shen-lazyderef (tl V1434) V1510)
493
+ (if (= () V1435)
494
+ (do (shen-incinfs)
495
+ (shen-th* X A V1509 V1510
496
+ (freeze
497
+ (shen-th* Y
498
+ (cons vector (cons A ()))
499
+ V1509 V1510 V1511))))
500
+ (if (shen-pvar? V1435)
501
+ (do (shen-bindv V1435 () V1510)
502
+ (let Result
503
+ (do (shen-incinfs)
504
+ (shen-th* X A V1509 V1510
505
+ (freeze
506
+ (shen-th* Y
507
+ (cons vector (cons A ()))
508
+ V1509 V1510 V1511))))
509
+ (do (shen-unbindv V1435 V1510)
510
+ Result)))
511
+ false))))
512
+ (if (shen-pvar? V1434)
513
+ (let A (shen-newpv V1510)
514
+ (do
515
+ (shen-bindv V1434 (cons A ())
516
+ V1510)
517
+ (let Result
518
+ (do (shen-incinfs)
519
+ (shen-th* X A V1509 V1510
520
+ (freeze
521
+ (shen-th* Y
522
+ (cons vector (cons A ()))
523
+ V1509 V1510 V1511))))
524
+ (do (shen-unbindv V1434 V1510)
525
+ Result))))
526
+ false)))
527
+ (do (shen-unbindv V1431 V1510) Result)))
528
+ false)))
529
+ (if (shen-pvar? V1430)
530
+ (let A (shen-newpv V1510)
531
+ (do
532
+ (shen-bindv V1430
533
+ (cons vector (cons A ())) V1510)
534
+ (let Result
535
+ (do (shen-incinfs)
536
+ (shen-th* X A V1509 V1510
537
+ (freeze
538
+ (shen-th* Y (cons vector (cons A ()))
539
+ V1509 V1510 V1511))))
540
+ (do (shen-unbindv V1430 V1510) Result))))
536
541
  false)))
537
542
  false)))
538
543
  false)))
@@ -541,333 +546,348 @@ For an explication of this license see http://www.lambdassociates.org/News/june1
541
546
  false))
542
547
  (if (= Case false)
543
548
  (let Case
544
- (let V721 (shen-lazyderef V786 V789)
545
- (if (cons? V721)
546
- (let V722 (shen-lazyderef (hd V721) V789)
547
- (if (= lambda V722)
548
- (let V723 (shen-lazyderef (tl V721) V789)
549
- (if (cons? V723)
550
- (let X (hd V723)
551
- (let V724 (shen-lazyderef (tl V723) V789)
552
- (if (cons? V724)
553
- (let Y (hd V724)
554
- (let V725 (shen-lazyderef (tl V724) V789)
555
- (if (= () V725)
556
- (let V726 (shen-lazyderef V787 V789)
557
- (if (cons? V726)
558
- (let A (hd V726)
559
- (let V727 (shen-lazyderef (tl V726) V789)
560
- (if (cons? V727)
561
- (let V728
562
- (shen-lazyderef (hd V727) V789)
563
- (if (= --> V728)
564
- (let V729
565
- (shen-lazyderef (tl V727) V789)
566
- (if (cons? V729)
567
- (let B (hd V729)
568
- (let V730
569
- (shen-lazyderef (tl V729) V789)
570
- (if (= () V730)
571
- (let Z (shen-newpv V789)
572
- (let X&& (shen-newpv V789)
573
- (do (shen-incinfs)
574
- (cut Throwcontrol V789
575
- (freeze
576
- (bind X&& (shen-placeholder)
577
- V789
549
+ (let V1436 (shen-lazyderef V1507 V1510)
550
+ (if (cons? V1436)
551
+ (let V1437 (shen-lazyderef (hd V1436) V1510)
552
+ (if (= @s V1437)
553
+ (let V1438 (shen-lazyderef (tl V1436) V1510)
554
+ (if (cons? V1438)
555
+ (let X (hd V1438)
556
+ (let V1439 (shen-lazyderef (tl V1438) V1510)
557
+ (if (cons? V1439)
558
+ (let Y (hd V1439)
559
+ (let V1440 (shen-lazyderef (tl V1439) V1510)
560
+ (if (= () V1440)
561
+ (let V1441 (shen-lazyderef V1508 V1510)
562
+ (if (= string V1441)
563
+ (do (shen-incinfs)
564
+ (shen-th* X string V1509 V1510
565
+ (freeze
566
+ (shen-th* Y string V1509 V1510 V1511))))
567
+ (if (shen-pvar? V1441)
568
+ (do (shen-bindv V1441 string V1510)
569
+ (let Result
570
+ (do (shen-incinfs)
571
+ (shen-th* X string V1509 V1510
572
+ (freeze
573
+ (shen-th* Y string V1509 V1510
574
+ V1511))))
575
+ (do (shen-unbindv V1441 V1510) Result)))
576
+ false)))
577
+ false)))
578
+ false)))
579
+ false))
580
+ false))
581
+ false))
582
+ (if (= Case false)
583
+ (let Case
584
+ (let V1442 (shen-lazyderef V1507 V1510)
585
+ (if (cons? V1442)
586
+ (let V1443 (shen-lazyderef (hd V1442) V1510)
587
+ (if (= lambda V1443)
588
+ (let V1444 (shen-lazyderef (tl V1442) V1510)
589
+ (if (cons? V1444)
590
+ (let X (hd V1444)
591
+ (let V1445 (shen-lazyderef (tl V1444) V1510)
592
+ (if (cons? V1445)
593
+ (let Y (hd V1445)
594
+ (let V1446 (shen-lazyderef (tl V1445) V1510)
595
+ (if (= () V1446)
596
+ (let V1447 (shen-lazyderef V1508 V1510)
597
+ (if (cons? V1447)
598
+ (let A (hd V1447)
599
+ (let V1448
600
+ (shen-lazyderef (tl V1447) V1510)
601
+ (if (cons? V1448)
602
+ (let V1449
603
+ (shen-lazyderef (hd V1448) V1510)
604
+ (if (= --> V1449)
605
+ (let V1450
606
+ (shen-lazyderef (tl V1448) V1510)
607
+ (if (cons? V1450)
608
+ (let B (hd V1450)
609
+ (let V1451
610
+ (shen-lazyderef (tl V1450)
611
+ V1510)
612
+ (if (= () V1451)
613
+ (let Z (shen-newpv V1510)
614
+ (let X&& (shen-newpv V1510)
615
+ (do (shen-incinfs)
616
+ (cut Throwcontrol V1510
578
617
  (freeze
579
- (bind Z
580
- (shen-ebr
581
- (shen-lazyderef X&&
582
- V789)
583
- (shen-lazyderef X V789)
584
- (shen-lazyderef Y V789))
585
- V789
618
+ (bind X&&
619
+ (shen-placeholder) V1510
586
620
  (freeze
587
- (shen-th* Z B
588
- (cons
589
- (cons X&&
590
- (cons :
591
- (cons A ())))
592
- V788)
593
- V789 V790))))))))))
594
- (if (shen-pvar? V730)
595
- (do (shen-bindv V730 () V789)
621
+ (bind Z
622
+ (shen-ebr
623
+ (shen-lazyderef X&&
624
+ V1510)
625
+ (shen-lazyderef X
626
+ V1510)
627
+ (shen-lazyderef Y
628
+ V1510))
629
+ V1510
630
+ (freeze
631
+ (shen-th* Z B
632
+ (cons
633
+ (cons X&&
634
+ (cons :
635
+ (cons A ())))
636
+ V1509)
637
+ V1510 V1511))))))))))
638
+ (if (shen-pvar? V1451)
639
+ (do
640
+ (shen-bindv V1451 () V1510)
641
+ (let Result
642
+ (let Z (shen-newpv V1510)
643
+ (let X&& (shen-newpv V1510)
644
+ (do (shen-incinfs)
645
+ (cut Throwcontrol V1510
646
+ (freeze
647
+ (bind X&&
648
+ (shen-placeholder)
649
+ V1510
650
+ (freeze
651
+ (bind Z
652
+ (shen-ebr
653
+ (shen-lazyderef X&&
654
+ V1510)
655
+ (shen-lazyderef X
656
+ V1510)
657
+ (shen-lazyderef Y
658
+ V1510))
659
+ V1510
660
+ (freeze
661
+ (shen-th* Z B
662
+ (cons
663
+ (cons X&&
664
+ (cons :
665
+ (cons A ())))
666
+ V1509)
667
+ V1510
668
+ V1511))))))))))
669
+ (do
670
+ (shen-unbindv V1451 V1510)
671
+ Result)))
672
+ false))))
673
+ (if (shen-pvar? V1450)
674
+ (let B (shen-newpv V1510)
675
+ (do
676
+ (shen-bindv V1450 (cons B ())
677
+ V1510)
596
678
  (let Result
597
- (let Z (shen-newpv V789)
598
- (let X&& (shen-newpv V789)
679
+ (let Z (shen-newpv V1510)
680
+ (let X&& (shen-newpv V1510)
599
681
  (do (shen-incinfs)
600
- (cut Throwcontrol V789
682
+ (cut Throwcontrol V1510
601
683
  (freeze
602
684
  (bind X&&
603
- (shen-placeholder) V789
685
+ (shen-placeholder) V1510
604
686
  (freeze
605
687
  (bind Z
606
688
  (shen-ebr
607
689
  (shen-lazyderef X&&
608
- V789)
690
+ V1510)
609
691
  (shen-lazyderef X
610
- V789)
692
+ V1510)
611
693
  (shen-lazyderef Y
612
- V789))
613
- V789
694
+ V1510))
695
+ V1510
614
696
  (freeze
615
697
  (shen-th* Z B
616
698
  (cons
617
699
  (cons X&&
618
700
  (cons :
619
701
  (cons A ())))
620
- V788)
621
- V789 V790))))))))))
622
- (do (shen-unbindv V730 V789)
623
- Result)))
624
- false))))
625
- (if (shen-pvar? V729)
626
- (let B (shen-newpv V789)
627
- (do
628
- (shen-bindv V729 (cons B ())
629
- V789)
630
- (let Result
631
- (let Z (shen-newpv V789)
632
- (let X&& (shen-newpv V789)
633
- (do (shen-incinfs)
634
- (cut Throwcontrol V789
635
- (freeze
636
- (bind X&&
637
- (shen-placeholder) V789
638
- (freeze
639
- (bind Z
640
- (shen-ebr
641
- (shen-lazyderef X&&
642
- V789)
643
- (shen-lazyderef X V789)
644
- (shen-lazyderef Y
645
- V789))
646
- V789
647
- (freeze
648
- (shen-th* Z B
649
- (cons
650
- (cons X&&
651
- (cons :
652
- (cons A ())))
653
- V788)
654
- V789 V790))))))))))
655
- (do (shen-unbindv V729 V789)
656
- Result))))
657
- false)))
658
- (if (shen-pvar? V728)
659
- (do (shen-bindv V728 --> V789)
660
- (let Result
661
- (let V731
662
- (shen-lazyderef (tl V727) V789)
663
- (if (cons? V731)
664
- (let B (hd V731)
665
- (let V732
666
- (shen-lazyderef (tl V731) V789)
667
- (if (= () V732)
668
- (let Z (shen-newpv V789)
669
- (let X&& (shen-newpv V789)
670
- (do (shen-incinfs)
671
- (cut Throwcontrol V789
672
- (freeze
673
- (bind X&&
674
- (shen-placeholder) V789
702
+ V1509)
703
+ V1510
704
+ V1511))))))))))
705
+ (do (shen-unbindv V1450 V1510)
706
+ Result))))
707
+ false)))
708
+ (if (shen-pvar? V1449)
709
+ (do (shen-bindv V1449 --> V1510)
710
+ (let Result
711
+ (let V1452
712
+ (shen-lazyderef (tl V1448)
713
+ V1510)
714
+ (if (cons? V1452)
715
+ (let B (hd V1452)
716
+ (let V1453
717
+ (shen-lazyderef (tl V1452)
718
+ V1510)
719
+ (if (= () V1453)
720
+ (let Z (shen-newpv V1510)
721
+ (let X&& (shen-newpv V1510)
722
+ (do (shen-incinfs)
723
+ (cut Throwcontrol V1510
675
724
  (freeze
676
- (bind Z
677
- (shen-ebr
678
- (shen-lazyderef X&&
679
- V789)
680
- (shen-lazyderef X
681
- V789)
682
- (shen-lazyderef Y
683
- V789))
684
- V789
725
+ (bind X&&
726
+ (shen-placeholder)
727
+ V1510
685
728
  (freeze
686
- (shen-th* Z B
687
- (cons
688
- (cons X&&
689
- (cons :
690
- (cons A ())))
691
- V788)
692
- V789 V790))))))))))
693
- (if (shen-pvar? V732)
729
+ (bind Z
730
+ (shen-ebr
731
+ (shen-lazyderef X&&
732
+ V1510)
733
+ (shen-lazyderef X
734
+ V1510)
735
+ (shen-lazyderef Y
736
+ V1510))
737
+ V1510
738
+ (freeze
739
+ (shen-th* Z B
740
+ (cons
741
+ (cons X&&
742
+ (cons :
743
+ (cons A ())))
744
+ V1509)
745
+ V1510
746
+ V1511))))))))))
747
+ (if (shen-pvar? V1453)
748
+ (do
749
+ (shen-bindv V1453 ()
750
+ V1510)
751
+ (let Result
752
+ (let Z (shen-newpv V1510)
753
+ (let X&&
754
+ (shen-newpv V1510)
755
+ (do (shen-incinfs)
756
+ (cut Throwcontrol
757
+ V1510
758
+ (freeze
759
+ (bind X&&
760
+ (shen-placeholder)
761
+ V1510
762
+ (freeze
763
+ (bind Z
764
+ (shen-ebr
765
+ (shen-lazyderef
766
+ X&& V1510)
767
+ (shen-lazyderef
768
+ X V1510)
769
+ (shen-lazyderef
770
+ Y V1510))
771
+ V1510
772
+ (freeze
773
+ (shen-th* Z B
774
+ (cons
775
+ (cons X&&
776
+ (cons :
777
+ (cons A
778
+ ())))
779
+ V1509)
780
+ V1510
781
+ V1511))))))))))
782
+ (do
783
+ (shen-unbindv V1453
784
+ V1510)
785
+ Result)))
786
+ false))))
787
+ (if (shen-pvar? V1452)
788
+ (let B (shen-newpv V1510)
694
789
  (do
695
- (shen-bindv V732 () V789)
790
+ (shen-bindv V1452
791
+ (cons B ()) V1510)
696
792
  (let Result
697
- (let Z (shen-newpv V789)
698
- (let X&& (shen-newpv V789)
793
+ (let Z (shen-newpv V1510)
794
+ (let X&&
795
+ (shen-newpv V1510)
699
796
  (do (shen-incinfs)
700
- (cut Throwcontrol V789
797
+ (cut Throwcontrol V1510
701
798
  (freeze
702
799
  (bind X&&
703
800
  (shen-placeholder)
704
- V789
801
+ V1510
705
802
  (freeze
706
803
  (bind Z
707
804
  (shen-ebr
708
805
  (shen-lazyderef
709
- X&& V789)
806
+ X&& V1510)
710
807
  (shen-lazyderef X
711
- V789)
808
+ V1510)
712
809
  (shen-lazyderef Y
713
- V789))
714
- V789
810
+ V1510))
811
+ V1510
715
812
  (freeze
716
813
  (shen-th* Z B
717
814
  (cons
718
815
  (cons X&&
719
816
  (cons :
720
817
  (cons A ())))
721
- V788)
722
- V789
723
- V790))))))))))
818
+ V1509)
819
+ V1510
820
+ V1511))))))))))
724
821
  (do
725
- (shen-unbindv V732 V789)
726
- Result)))
727
- false))))
728
- (if (shen-pvar? V731)
729
- (let B (shen-newpv V789)
730
- (do
731
- (shen-bindv V731 (cons B ())
732
- V789)
733
- (let Result
734
- (let Z (shen-newpv V789)
735
- (let X&& (shen-newpv V789)
736
- (do (shen-incinfs)
737
- (cut Throwcontrol V789
738
- (freeze
739
- (bind X&&
740
- (shen-placeholder) V789
741
- (freeze
742
- (bind Z
743
- (shen-ebr
744
- (shen-lazyderef X&&
745
- V789)
746
- (shen-lazyderef X
747
- V789)
748
- (shen-lazyderef Y
749
- V789))
750
- V789
751
- (freeze
752
- (shen-th* Z B
753
- (cons
754
- (cons X&&
755
- (cons :
756
- (cons A ())))
757
- V788)
758
- V789 V790))))))))))
759
- (do (shen-unbindv V731 V789)
760
- Result))))
761
- false)))
762
- (do (shen-unbindv V728 V789)
763
- Result)))
764
- false)))
765
- (if (shen-pvar? V727)
766
- (let B (shen-newpv V789)
822
+ (shen-unbindv V1452 V1510)
823
+ Result))))
824
+ false)))
825
+ (do (shen-unbindv V1449 V1510)
826
+ Result)))
827
+ false)))
828
+ (if (shen-pvar? V1448)
829
+ (let B (shen-newpv V1510)
830
+ (do
831
+ (shen-bindv V1448
832
+ (cons --> (cons B ())) V1510)
833
+ (let Result
834
+ (let Z (shen-newpv V1510)
835
+ (let X&& (shen-newpv V1510)
836
+ (do (shen-incinfs)
837
+ (cut Throwcontrol V1510
838
+ (freeze
839
+ (bind X&& (shen-placeholder)
840
+ V1510
841
+ (freeze
842
+ (bind Z
843
+ (shen-ebr
844
+ (shen-lazyderef X&&
845
+ V1510)
846
+ (shen-lazyderef X V1510)
847
+ (shen-lazyderef Y V1510))
848
+ V1510
849
+ (freeze
850
+ (shen-th* Z B
851
+ (cons
852
+ (cons X&&
853
+ (cons :
854
+ (cons A ())))
855
+ V1509)
856
+ V1510 V1511))))))))))
857
+ (do (shen-unbindv V1448 V1510)
858
+ Result))))
859
+ false))))
860
+ (if (shen-pvar? V1447)
861
+ (let A (shen-newpv V1510)
862
+ (let B (shen-newpv V1510)
767
863
  (do
768
- (shen-bindv V727
769
- (cons --> (cons B ())) V789)
864
+ (shen-bindv V1447
865
+ (cons A (cons --> (cons B ())))
866
+ V1510)
770
867
  (let Result
771
- (let Z (shen-newpv V789)
772
- (let X&& (shen-newpv V789)
868
+ (let Z (shen-newpv V1510)
869
+ (let X&& (shen-newpv V1510)
773
870
  (do (shen-incinfs)
774
- (cut Throwcontrol V789
871
+ (cut Throwcontrol V1510
775
872
  (freeze
776
873
  (bind X&& (shen-placeholder)
777
- V789
874
+ V1510
778
875
  (freeze
779
876
  (bind Z
780
877
  (shen-ebr
781
- (shen-lazyderef X&& V789)
782
- (shen-lazyderef X V789)
783
- (shen-lazyderef Y V789))
784
- V789
878
+ (shen-lazyderef X&& V1510)
879
+ (shen-lazyderef X V1510)
880
+ (shen-lazyderef Y V1510))
881
+ V1510
785
882
  (freeze
786
883
  (shen-th* Z B
787
884
  (cons
788
885
  (cons X&&
789
886
  (cons : (cons A ())))
790
- V788)
791
- V789 V790))))))))))
792
- (do (shen-unbindv V727 V789)
793
- Result))))
794
- false))))
795
- (if (shen-pvar? V726)
796
- (let A (shen-newpv V789)
797
- (let B (shen-newpv V789)
798
- (do
799
- (shen-bindv V726
800
- (cons A (cons --> (cons B ()))) V789)
801
- (let Result
802
- (let Z (shen-newpv V789)
803
- (let X&& (shen-newpv V789)
804
- (do (shen-incinfs)
805
- (cut Throwcontrol V789
806
- (freeze
807
- (bind X&& (shen-placeholder) V789
808
- (freeze
809
- (bind Z
810
- (shen-ebr
811
- (shen-lazyderef X&& V789)
812
- (shen-lazyderef X V789)
813
- (shen-lazyderef Y V789))
814
- V789
815
- (freeze
816
- (shen-th* Z B
817
- (cons
818
- (cons X&&
819
- (cons : (cons A ())))
820
- V788)
821
- V789 V790))))))))))
822
- (do (shen-unbindv V726 V789)
823
- Result)))))
824
- false)))
825
- false)))
826
- false)))
827
- false))
828
- false))
829
- false))
830
- (if (= Case false)
831
- (let Case
832
- (let V733 (shen-lazyderef V786 V789)
833
- (if (cons? V733)
834
- (let V734 (shen-lazyderef (hd V733) V789)
835
- (if (= let V734)
836
- (let V735 (shen-lazyderef (tl V733) V789)
837
- (if (cons? V735)
838
- (let X (hd V735)
839
- (let V736 (shen-lazyderef (tl V735) V789)
840
- (if (cons? V736)
841
- (let Y (hd V736)
842
- (let V737 (shen-lazyderef (tl V736) V789)
843
- (if (cons? V737)
844
- (let Z (hd V737)
845
- (let V738 (shen-lazyderef (tl V737) V789)
846
- (if (= () V738)
847
- (let W (shen-newpv V789)
848
- (let X&& (shen-newpv V789)
849
- (let B (shen-newpv V789)
850
- (do (shen-incinfs)
851
- (cut Throwcontrol V789
852
- (freeze
853
- (shen-th* Y B V788 V789
854
- (freeze
855
- (bind X&& (shen-placeholder)
856
- V789
857
- (freeze
858
- (bind W
859
- (shen-ebr
860
- (shen-lazyderef X&& V789)
861
- (shen-lazyderef X V789)
862
- (shen-lazyderef Z V789))
863
- V789
864
- (freeze
865
- (shen-th* W V787
866
- (cons
867
- (cons X&&
868
- (cons : (cons B ())))
869
- V788)
870
- V789 V790)))))))))))))
887
+ V1509)
888
+ V1510 V1511))))))))))
889
+ (do (shen-unbindv V1447 V1510)
890
+ Result)))))
871
891
  false)))
872
892
  false)))
873
893
  false)))
@@ -876,292 +896,342 @@ For an explication of this license see http://www.lambdassociates.org/News/june1
876
896
  false))
877
897
  (if (= Case false)
878
898
  (let Case
879
- (let V739 (shen-lazyderef V786 V789)
880
- (if (cons? V739)
881
- (let V740 (shen-lazyderef (hd V739) V789)
882
- (if (= open V740)
883
- (let V741 (shen-lazyderef (tl V739) V789)
884
- (if (cons? V741)
885
- (let V742 (shen-lazyderef (hd V741) V789)
886
- (if (= file V742)
887
- (let V743 (shen-lazyderef (tl V741) V789)
888
- (if (cons? V743)
889
- (let FileName (hd V743)
890
- (let V744 (shen-lazyderef (tl V743) V789)
891
- (if (cons? V744)
892
- (let Direction674 (hd V744)
893
- (let V745
894
- (shen-lazyderef (tl V744) V789)
895
- (if (= () V745)
896
- (let V746 (shen-lazyderef V787 V789)
897
- (if (cons? V746)
898
- (let V747
899
- (shen-lazyderef (hd V746) V789)
900
- (if (= stream V747)
901
- (let V748
902
- (shen-lazyderef (tl V746) V789)
903
- (if (cons? V748)
904
- (let Direction (hd V748)
905
- (let V749
906
- (shen-lazyderef (tl V748)
907
- V789)
908
- (if (= () V749)
909
- (do (shen-incinfs)
910
- (unify! Direction
911
- Direction674 V789
912
- (freeze
913
- (cut Throwcontrol V789
899
+ (let V1454 (shen-lazyderef V1507 V1510)
900
+ (if (cons? V1454)
901
+ (let V1455 (shen-lazyderef (hd V1454) V1510)
902
+ (if (= let V1455)
903
+ (let V1456 (shen-lazyderef (tl V1454) V1510)
904
+ (if (cons? V1456)
905
+ (let X (hd V1456)
906
+ (let V1457 (shen-lazyderef (tl V1456) V1510)
907
+ (if (cons? V1457)
908
+ (let Y (hd V1457)
909
+ (let V1458
910
+ (shen-lazyderef (tl V1457) V1510)
911
+ (if (cons? V1458)
912
+ (let Z (hd V1458)
913
+ (let V1459
914
+ (shen-lazyderef (tl V1458) V1510)
915
+ (if (= () V1459)
916
+ (let W (shen-newpv V1510)
917
+ (let X&& (shen-newpv V1510)
918
+ (let B (shen-newpv V1510)
919
+ (do (shen-incinfs)
920
+ (cut Throwcontrol V1510
921
+ (freeze
922
+ (shen-th* Y B V1509 V1510
923
+ (freeze
924
+ (bind X&& (shen-placeholder)
925
+ V1510
926
+ (freeze
927
+ (bind W
928
+ (shen-ebr
929
+ (shen-lazyderef X&& V1510)
930
+ (shen-lazyderef X V1510)
931
+ (shen-lazyderef Z V1510))
932
+ V1510
933
+ (freeze
934
+ (shen-th* W V1508
935
+ (cons
936
+ (cons X&&
937
+ (cons :
938
+ (cons B ())))
939
+ V1509)
940
+ V1510 V1511)))))))))))))
941
+ false)))
942
+ false)))
943
+ false)))
944
+ false))
945
+ false))
946
+ false))
947
+ (if (= Case false)
948
+ (let Case
949
+ (let V1460 (shen-lazyderef V1507 V1510)
950
+ (if (cons? V1460)
951
+ (let V1461 (shen-lazyderef (hd V1460) V1510)
952
+ (if (= open V1461)
953
+ (let V1462 (shen-lazyderef (tl V1460) V1510)
954
+ (if (cons? V1462)
955
+ (let V1463 (shen-lazyderef (hd V1462) V1510)
956
+ (if (= file V1463)
957
+ (let V1464
958
+ (shen-lazyderef (tl V1462) V1510)
959
+ (if (cons? V1464)
960
+ (let FileName (hd V1464)
961
+ (let V1465
962
+ (shen-lazyderef (tl V1464) V1510)
963
+ (if (cons? V1465)
964
+ (let Direction1393 (hd V1465)
965
+ (let V1466
966
+ (shen-lazyderef (tl V1465) V1510)
967
+ (if (= () V1466)
968
+ (let V1467
969
+ (shen-lazyderef V1508 V1510)
970
+ (if (cons? V1467)
971
+ (let V1468
972
+ (shen-lazyderef (hd V1467)
973
+ V1510)
974
+ (if (= stream V1468)
975
+ (let V1469
976
+ (shen-lazyderef (tl V1467)
977
+ V1510)
978
+ (if (cons? V1469)
979
+ (let Direction (hd V1469)
980
+ (let V1470
981
+ (shen-lazyderef (tl V1469)
982
+ V1510)
983
+ (if (= () V1470)
984
+ (do (shen-incinfs)
985
+ (unify! Direction
986
+ Direction1393 V1510
914
987
  (freeze
915
- (shen-th* FileName
916
- string V788 V789
917
- V790))))))
918
- (if (shen-pvar? V749)
988
+ (cut Throwcontrol V1510
989
+ (freeze
990
+ (shen-th* FileName
991
+ string V1509 V1510
992
+ V1511))))))
993
+ (if (shen-pvar? V1470)
994
+ (do
995
+ (shen-bindv V1470 ()
996
+ V1510)
997
+ (let Result
998
+ (do (shen-incinfs)
999
+ (unify! Direction
1000
+ Direction1393 V1510
1001
+ (freeze
1002
+ (cut Throwcontrol
1003
+ V1510
1004
+ (freeze
1005
+ (shen-th* FileName
1006
+ string V1509
1007
+ V1510 V1511))))))
1008
+ (do
1009
+ (shen-unbindv V1470
1010
+ V1510)
1011
+ Result)))
1012
+ false))))
1013
+ (if (shen-pvar? V1469)
1014
+ (let Direction
1015
+ (shen-newpv V1510)
919
1016
  (do
920
- (shen-bindv V749 () V789)
1017
+ (shen-bindv V1469
1018
+ (cons Direction ())
1019
+ V1510)
921
1020
  (let Result
922
1021
  (do (shen-incinfs)
923
1022
  (unify! Direction
924
- Direction674 V789
1023
+ Direction1393 V1510
925
1024
  (freeze
926
- (cut Throwcontrol V789
1025
+ (cut Throwcontrol
1026
+ V1510
927
1027
  (freeze
928
1028
  (shen-th* FileName
929
- string V788 V789
930
- V790))))))
1029
+ string V1509 V1510
1030
+ V1511))))))
931
1031
  (do
932
- (shen-unbindv V749 V789)
933
- Result)))
934
- false))))
935
- (if (shen-pvar? V748)
936
- (let Direction
937
- (shen-newpv V789)
938
- (do
939
- (shen-bindv V748
940
- (cons Direction ()) V789)
941
- (let Result
942
- (do (shen-incinfs)
943
- (unify! Direction
944
- Direction674 V789
945
- (freeze
946
- (cut Throwcontrol V789
947
- (freeze
948
- (shen-th* FileName
949
- string V788 V789
950
- V790))))))
951
- (do
952
- (shen-unbindv V748 V789)
953
- Result))))
954
- false)))
955
- (if (shen-pvar? V747)
956
- (do
957
- (shen-bindv V747 stream V789)
958
- (let Result
959
- (let V750
960
- (shen-lazyderef (tl V746)
961
- V789)
962
- (if (cons? V750)
963
- (let Direction (hd V750)
964
- (let V751
965
- (shen-lazyderef (tl V750)
966
- V789)
967
- (if (= () V751)
968
- (do (shen-incinfs)
969
- (unify! Direction
970
- Direction674 V789
971
- (freeze
972
- (cut Throwcontrol V789
1032
+ (shen-unbindv V1469
1033
+ V1510)
1034
+ Result))))
1035
+ false)))
1036
+ (if (shen-pvar? V1468)
1037
+ (do
1038
+ (shen-bindv V1468 stream
1039
+ V1510)
1040
+ (let Result
1041
+ (let V1471
1042
+ (shen-lazyderef (tl V1467)
1043
+ V1510)
1044
+ (if (cons? V1471)
1045
+ (let Direction (hd V1471)
1046
+ (let V1472
1047
+ (shen-lazyderef
1048
+ (tl V1471) V1510)
1049
+ (if (= () V1472)
1050
+ (do (shen-incinfs)
1051
+ (unify! Direction
1052
+ Direction1393 V1510
973
1053
  (freeze
974
- (shen-th* FileName
975
- string V788 V789
976
- V790))))))
977
- (if (shen-pvar? V751)
1054
+ (cut Throwcontrol
1055
+ V1510
1056
+ (freeze
1057
+ (shen-th* FileName
1058
+ string V1509
1059
+ V1510 V1511))))))
1060
+ (if (shen-pvar? V1472)
1061
+ (do
1062
+ (shen-bindv V1472 ()
1063
+ V1510)
1064
+ (let Result
1065
+ (do (shen-incinfs)
1066
+ (unify! Direction
1067
+ Direction1393
1068
+ V1510
1069
+ (freeze
1070
+ (cut Throwcontrol
1071
+ V1510
1072
+ (freeze
1073
+ (shen-th*
1074
+ FileName
1075
+ string V1509
1076
+ V1510
1077
+ V1511))))))
1078
+ (do
1079
+ (shen-unbindv V1472
1080
+ V1510)
1081
+ Result)))
1082
+ false))))
1083
+ (if (shen-pvar? V1471)
1084
+ (let Direction
1085
+ (shen-newpv V1510)
978
1086
  (do
979
- (shen-bindv V751 ()
980
- V789)
1087
+ (shen-bindv V1471
1088
+ (cons Direction ())
1089
+ V1510)
981
1090
  (let Result
982
1091
  (do (shen-incinfs)
983
1092
  (unify! Direction
984
- Direction674 V789
1093
+ Direction1393 V1510
985
1094
  (freeze
986
1095
  (cut Throwcontrol
987
- V789
1096
+ V1510
988
1097
  (freeze
989
1098
  (shen-th*
990
1099
  FileName string
991
- V788 V789
992
- V790))))))
1100
+ V1509 V1510
1101
+ V1511))))))
993
1102
  (do
994
- (shen-unbindv V751
995
- V789)
996
- Result)))
997
- false))))
998
- (if (shen-pvar? V750)
999
- (let Direction
1000
- (shen-newpv V789)
1001
- (do
1002
- (shen-bindv V750
1003
- (cons Direction ())
1004
- V789)
1005
- (let Result
1006
- (do (shen-incinfs)
1007
- (unify! Direction
1008
- Direction674 V789
1009
- (freeze
1010
- (cut Throwcontrol
1011
- V789
1012
- (freeze
1013
- (shen-th* FileName
1014
- string V788 V789
1015
- V790))))))
1016
- (do
1017
- (shen-unbindv V750
1018
- V789)
1019
- Result))))
1020
- false)))
1021
- (do (shen-unbindv V747 V789)
1022
- Result)))
1023
- false)))
1024
- (if (shen-pvar? V746)
1025
- (let Direction (shen-newpv V789)
1026
- (do
1027
- (shen-bindv V746
1028
- (cons stream
1029
- (cons Direction ()))
1030
- V789)
1031
- (let Result
1032
- (do (shen-incinfs)
1033
- (unify! Direction Direction674
1034
- V789
1035
- (freeze
1036
- (cut Throwcontrol V789
1103
+ (shen-unbindv V1471
1104
+ V1510)
1105
+ Result))))
1106
+ false)))
1107
+ (do
1108
+ (shen-unbindv V1468 V1510)
1109
+ Result)))
1110
+ false)))
1111
+ (if (shen-pvar? V1467)
1112
+ (let Direction
1113
+ (shen-newpv V1510)
1114
+ (do
1115
+ (shen-bindv V1467
1116
+ (cons stream
1117
+ (cons Direction ()))
1118
+ V1510)
1119
+ (let Result
1120
+ (do (shen-incinfs)
1121
+ (unify! Direction
1122
+ Direction1393 V1510
1037
1123
  (freeze
1038
- (shen-th* FileName string
1039
- V788 V789 V790))))))
1040
- (do (shen-unbindv V746 V789)
1041
- Result))))
1042
- false)))
1043
- false)))
1044
- false)))
1124
+ (cut Throwcontrol V1510
1125
+ (freeze
1126
+ (shen-th* FileName
1127
+ string V1509 V1510
1128
+ V1511))))))
1129
+ (do
1130
+ (shen-unbindv V1467 V1510)
1131
+ Result))))
1132
+ false)))
1133
+ false)))
1134
+ false)))
1135
+ false))
1045
1136
  false))
1046
1137
  false))
1047
1138
  false))
1048
1139
  false))
1049
- false))
1050
- (if (= Case false)
1051
- (let Case
1052
- (let V752 (shen-lazyderef V786 V789)
1053
- (if (cons? V752)
1054
- (let V753 (shen-lazyderef (hd V752) V789)
1055
- (if (= type V753)
1056
- (let V754 (shen-lazyderef (tl V752) V789)
1057
- (if (cons? V754)
1058
- (let X (hd V754)
1059
- (let V755 (shen-lazyderef (tl V754) V789)
1060
- (if (cons? V755)
1061
- (let A (hd V755)
1062
- (let V756 (shen-lazyderef (tl V755) V789)
1063
- (if (= () V756)
1064
- (do (shen-incinfs)
1065
- (cut Throwcontrol V789
1066
- (freeze
1067
- (unify A V787 V789
1068
- (freeze
1069
- (shen-th* X A V788 V789 V790))))))
1070
- false)))
1071
- false)))
1072
- false))
1073
- false))
1074
- false))
1075
1140
  (if (= Case false)
1076
1141
  (let Case
1077
- (let V757 (shen-lazyderef V786 V789)
1078
- (if (cons? V757)
1079
- (let V758 (shen-lazyderef (hd V757) V789)
1080
- (if (= input+ V758)
1081
- (let V759 (shen-lazyderef (tl V757) V789)
1082
- (if (cons? V759)
1083
- (let V760 (shen-lazyderef (hd V759) V789)
1084
- (if (= : V760)
1085
- (let V761 (shen-lazyderef (tl V759) V789)
1086
- (if (cons? V761)
1087
- (let A (hd V761)
1088
- (let V762
1089
- (shen-lazyderef (tl V761) V789)
1090
- (if (= () V762)
1091
- (let C (shen-newpv V789)
1092
- (do (shen-incinfs)
1093
- (bind C
1094
- (shen-normalise-type
1095
- (shen-lazyderef A V789))
1096
- V789
1142
+ (let V1473 (shen-lazyderef V1507 V1510)
1143
+ (if (cons? V1473)
1144
+ (let V1474 (shen-lazyderef (hd V1473) V1510)
1145
+ (if (= type V1474)
1146
+ (let V1475 (shen-lazyderef (tl V1473) V1510)
1147
+ (if (cons? V1475)
1148
+ (let X (hd V1475)
1149
+ (let V1476
1150
+ (shen-lazyderef (tl V1475) V1510)
1151
+ (if (cons? V1476)
1152
+ (let A (hd V1476)
1153
+ (let V1477
1154
+ (shen-lazyderef (tl V1476) V1510)
1155
+ (if (= () V1477)
1156
+ (do (shen-incinfs)
1157
+ (cut Throwcontrol V1510
1158
+ (freeze
1159
+ (unify A V1508 V1510
1097
1160
  (freeze
1098
- (unify V787 C V789 V790)))))
1099
- false)))
1100
- false))
1101
- false))
1161
+ (shen-th* X A V1509 V1510
1162
+ V1511))))))
1163
+ false)))
1164
+ false)))
1102
1165
  false))
1103
1166
  false))
1104
1167
  false))
1105
1168
  (if (= Case false)
1106
1169
  (let Case
1107
- (let V763 (shen-lazyderef V786 V789)
1108
- (if (cons? V763)
1109
- (let V764 (shen-lazyderef (hd V763) V789)
1110
- (if (= where V764)
1111
- (let V765 (shen-lazyderef (tl V763) V789)
1112
- (if (cons? V765)
1113
- (let P (hd V765)
1114
- (let V766
1115
- (shen-lazyderef (tl V765) V789)
1116
- (if (cons? V766)
1117
- (let X (hd V766)
1118
- (let V767
1119
- (shen-lazyderef (tl V766) V789)
1120
- (if (= () V767)
1121
- (do (shen-incinfs)
1122
- (cut Throwcontrol V789
1123
- (freeze
1124
- (shen-th* P boolean V788 V789
1170
+ (let V1478 (shen-lazyderef V1507 V1510)
1171
+ (if (cons? V1478)
1172
+ (let V1479 (shen-lazyderef (hd V1478) V1510)
1173
+ (if (= input+ V1479)
1174
+ (let V1480
1175
+ (shen-lazyderef (tl V1478) V1510)
1176
+ (if (cons? V1480)
1177
+ (let V1481
1178
+ (shen-lazyderef (hd V1480) V1510)
1179
+ (if (= : V1481)
1180
+ (let V1482
1181
+ (shen-lazyderef (tl V1480) V1510)
1182
+ (if (cons? V1482)
1183
+ (let A (hd V1482)
1184
+ (let V1483
1185
+ (shen-lazyderef (tl V1482) V1510)
1186
+ (if (= () V1483)
1187
+ (let C (shen-newpv V1510)
1188
+ (do (shen-incinfs)
1189
+ (bind C
1190
+ (shen-normalise-type
1191
+ (shen-lazyderef A V1510))
1192
+ V1510
1125
1193
  (freeze
1126
- (cut Throwcontrol V789
1127
- (freeze
1128
- (shen-th* X V787
1129
- (cons
1130
- (cons P
1131
- (cons :
1132
- (cons verified ())))
1133
- V788)
1134
- V789 V790))))))))
1135
- false)))
1136
- false)))
1194
+ (unify V1508 C V1510
1195
+ V1511)))))
1196
+ false)))
1197
+ false))
1198
+ false))
1137
1199
  false))
1138
1200
  false))
1139
1201
  false))
1140
1202
  (if (= Case false)
1141
1203
  (let Case
1142
- (let V768 (shen-lazyderef V786 V789)
1143
- (if (cons? V768)
1144
- (let V769 (shen-lazyderef (hd V768) V789)
1145
- (if (= set V769)
1146
- (let V770 (shen-lazyderef (tl V768) V789)
1147
- (if (cons? V770)
1148
- (let Var (hd V770)
1149
- (let V771
1150
- (shen-lazyderef (tl V770) V789)
1151
- (if (cons? V771)
1152
- (let Val (hd V771)
1153
- (let V772
1154
- (shen-lazyderef (tl V771) V789)
1155
- (if (= () V772)
1204
+ (let V1484 (shen-lazyderef V1507 V1510)
1205
+ (if (cons? V1484)
1206
+ (let V1485
1207
+ (shen-lazyderef (hd V1484) V1510)
1208
+ (if (= where V1485)
1209
+ (let V1486
1210
+ (shen-lazyderef (tl V1484) V1510)
1211
+ (if (cons? V1486)
1212
+ (let P (hd V1486)
1213
+ (let V1487
1214
+ (shen-lazyderef (tl V1486) V1510)
1215
+ (if (cons? V1487)
1216
+ (let X (hd V1487)
1217
+ (let V1488
1218
+ (shen-lazyderef (tl V1487) V1510)
1219
+ (if (= () V1488)
1156
1220
  (do (shen-incinfs)
1157
- (cut Throwcontrol V789
1221
+ (cut Throwcontrol V1510
1158
1222
  (freeze
1159
- (shen-th*
1160
- (cons value (cons Var ()))
1161
- V787 V788 V789
1223
+ (shen-th* P boolean V1509
1224
+ V1510
1162
1225
  (freeze
1163
- (shen-th* Val V787 V788 V789
1164
- V790))))))
1226
+ (cut Throwcontrol V1510
1227
+ (freeze
1228
+ (shen-th* X V1508
1229
+ (cons
1230
+ (cons P
1231
+ (cons :
1232
+ (cons verified ())))
1233
+ V1509)
1234
+ V1510 V1511))))))))
1165
1235
  false)))
1166
1236
  false)))
1167
1237
  false))
@@ -1169,113 +1239,168 @@ For an explication of this license see http://www.lambdassociates.org/News/june1
1169
1239
  false))
1170
1240
  (if (= Case false)
1171
1241
  (let Case
1172
- (let V773 (shen-lazyderef V786 V789)
1173
- (if (cons? V773)
1174
- (let V774 (shen-lazyderef (hd V773) V789)
1175
- (if (= fail V774)
1176
- (let V775
1177
- (shen-lazyderef (tl V773) V789)
1178
- (if (= () V775)
1179
- (let V776 (shen-lazyderef V787 V789)
1180
- (if (= symbol V776)
1181
- (do (shen-incinfs) (thaw V790))
1182
- (if (shen-pvar? V776)
1183
- (do (shen-bindv V776 symbol V789)
1184
- (let Result
1185
- (do (shen-incinfs) (thaw V790))
1186
- (do (shen-unbindv V776 V789)
1187
- Result)))
1242
+ (let V1489 (shen-lazyderef V1507 V1510)
1243
+ (if (cons? V1489)
1244
+ (let V1490
1245
+ (shen-lazyderef (hd V1489) V1510)
1246
+ (if (= set V1490)
1247
+ (let V1491
1248
+ (shen-lazyderef (tl V1489) V1510)
1249
+ (if (cons? V1491)
1250
+ (let Var (hd V1491)
1251
+ (let V1492
1252
+ (shen-lazyderef (tl V1491) V1510)
1253
+ (if (cons? V1492)
1254
+ (let Val (hd V1492)
1255
+ (let V1493
1256
+ (shen-lazyderef (tl V1492)
1257
+ V1510)
1258
+ (if (= () V1493)
1259
+ (do (shen-incinfs)
1260
+ (cut Throwcontrol V1510
1261
+ (freeze
1262
+ (shen-th*
1263
+ (cons value (cons Var ()))
1264
+ V1508 V1509 V1510
1265
+ (freeze
1266
+ (shen-th* Val V1508 V1509
1267
+ V1510 V1511))))))
1268
+ false)))
1188
1269
  false)))
1189
1270
  false))
1190
1271
  false))
1191
1272
  false))
1192
1273
  (if (= Case false)
1193
1274
  (let Case
1194
- (let NewHyp (shen-newpv V789)
1195
- (do (shen-incinfs)
1196
- (shen-t*-hyps V788 NewHyp V789
1197
- (freeze
1198
- (shen-th* V786 V787 NewHyp V789
1199
- V790)))))
1200
- (if (= Case false)
1201
- (let Case
1202
- (let V777 (shen-lazyderef V786 V789)
1203
- (if (cons? V777)
1204
- (let V778
1205
- (shen-lazyderef (hd V777) V789)
1206
- (if (= define V778)
1207
- (let V779
1208
- (shen-lazyderef (tl V777) V789)
1209
- (if (cons? V779)
1210
- (let F (hd V779)
1211
- (let X (tl V779)
1212
- (do (shen-incinfs)
1213
- (cut Throwcontrol V789
1214
- (freeze
1215
- (shen-t*-def
1216
- (cons define (cons F X))
1217
- V787 V788 V789 V790))))))
1218
- false))
1275
+ (let V1494 (shen-lazyderef V1507 V1510)
1276
+ (if (cons? V1494)
1277
+ (let V1495
1278
+ (shen-lazyderef (hd V1494) V1510)
1279
+ (if (= fail V1495)
1280
+ (let V1496
1281
+ (shen-lazyderef (tl V1494) V1510)
1282
+ (if (= () V1496)
1283
+ (let V1497
1284
+ (shen-lazyderef V1508 V1510)
1285
+ (if (= symbol V1497)
1286
+ (do (shen-incinfs) (thaw V1511))
1287
+ (if (shen-pvar? V1497)
1288
+ (do
1289
+ (shen-bindv V1497 symbol V1510)
1290
+ (let Result
1291
+ (do (shen-incinfs)
1292
+ (thaw V1511))
1293
+ (do (shen-unbindv V1497 V1510)
1294
+ Result)))
1295
+ false)))
1219
1296
  false))
1220
1297
  false))
1298
+ false))
1299
+ (if (= Case false)
1300
+ (let Case
1301
+ (let NewHyp (shen-newpv V1510)
1302
+ (do (shen-incinfs)
1303
+ (shen-t*-hyps V1509 NewHyp V1510
1304
+ (freeze
1305
+ (shen-th* V1507 V1508 NewHyp V1510
1306
+ V1511)))))
1221
1307
  (if (= Case false)
1222
1308
  (let Case
1223
- (let V780 (shen-lazyderef V786 V789)
1224
- (if (cons? V780)
1225
- (let V781
1226
- (shen-lazyderef (hd V780) V789)
1227
- (if (= shen-process-datatype V781)
1228
- (let V782
1229
- (shen-lazyderef V787 V789)
1230
- (if (= symbol V782)
1231
- (do (shen-incinfs) (thaw V790))
1232
- (if (shen-pvar? V782)
1233
- (do
1234
- (shen-bindv V782 symbol V789)
1235
- (let Result
1236
- (do (shen-incinfs)
1237
- (thaw V790))
1238
- (do (shen-unbindv V782 V789)
1239
- Result)))
1240
- false)))
1309
+ (let V1498
1310
+ (shen-lazyderef V1507 V1510)
1311
+ (if (cons? V1498)
1312
+ (let V1499
1313
+ (shen-lazyderef (hd V1498) V1510)
1314
+ (if (= define V1499)
1315
+ (let V1500
1316
+ (shen-lazyderef (tl V1498)
1317
+ V1510)
1318
+ (if (cons? V1500)
1319
+ (let F (hd V1500)
1320
+ (let X (tl V1500)
1321
+ (do (shen-incinfs)
1322
+ (cut Throwcontrol V1510
1323
+ (freeze
1324
+ (shen-t*-def
1325
+ (cons define (cons F X))
1326
+ V1508 V1509 V1510
1327
+ V1511))))))
1328
+ false))
1241
1329
  false))
1242
1330
  false))
1243
1331
  (if (= Case false)
1244
1332
  (let Case
1245
- (let V783
1246
- (shen-lazyderef V786 V789)
1247
- (if (cons? V783)
1248
- (let V784
1249
- (shen-lazyderef (hd V783) V789)
1250
- (if (= shen-synonyms-help V784)
1251
- (let V785
1252
- (shen-lazyderef V787 V789)
1253
- (if (= symbol V785)
1333
+ (let V1501
1334
+ (shen-lazyderef V1507 V1510)
1335
+ (if (cons? V1501)
1336
+ (let V1502
1337
+ (shen-lazyderef (hd V1501)
1338
+ V1510)
1339
+ (if
1340
+ (= shen-process-datatype V1502)
1341
+ (let V1503
1342
+ (shen-lazyderef V1508 V1510)
1343
+ (if (= symbol V1503)
1254
1344
  (do (shen-incinfs)
1255
- (thaw V790))
1256
- (if (shen-pvar? V785)
1345
+ (thaw V1511))
1346
+ (if (shen-pvar? V1503)
1257
1347
  (do
1258
- (shen-bindv V785 symbol
1259
- V789)
1348
+ (shen-bindv V1503 symbol
1349
+ V1510)
1260
1350
  (let Result
1261
1351
  (do (shen-incinfs)
1262
- (thaw V790))
1352
+ (thaw V1511))
1263
1353
  (do
1264
- (shen-unbindv V785 V789)
1354
+ (shen-unbindv V1503
1355
+ V1510)
1265
1356
  Result)))
1266
1357
  false)))
1267
1358
  false))
1268
1359
  false))
1269
1360
  (if (= Case false)
1270
- (let Datatypes (shen-newpv V789)
1271
- (do (shen-incinfs)
1272
- (bind Datatypes
1273
- (value shen-*datatypes*) V789
1274
- (freeze
1275
- (shen-udefs*
1276
- (cons V786
1277
- (cons : (cons V787 ())))
1278
- V788 Datatypes V789 V790)))))
1361
+ (let Case
1362
+ (let V1504
1363
+ (shen-lazyderef V1507 V1510)
1364
+ (if (cons? V1504)
1365
+ (let V1505
1366
+ (shen-lazyderef (hd V1504)
1367
+ V1510)
1368
+ (if
1369
+ (= shen-synonyms-help V1505)
1370
+ (let V1506
1371
+ (shen-lazyderef V1508 V1510)
1372
+ (if (= symbol V1506)
1373
+ (do (shen-incinfs)
1374
+ (thaw V1511))
1375
+ (if (shen-pvar? V1506)
1376
+ (do
1377
+ (shen-bindv V1506 symbol
1378
+ V1510)
1379
+ (let Result
1380
+ (do (shen-incinfs)
1381
+ (thaw V1511))
1382
+ (do
1383
+ (shen-unbindv V1506
1384
+ V1510)
1385
+ Result)))
1386
+ false)))
1387
+ false))
1388
+ false))
1389
+ (if (= Case false)
1390
+ (let Datatypes
1391
+ (shen-newpv V1510)
1392
+ (do (shen-incinfs)
1393
+ (bind Datatypes
1394
+ (value shen-*datatypes*)
1395
+ V1510
1396
+ (freeze
1397
+ (shen-udefs*
1398
+ (cons V1507
1399
+ (cons :
1400
+ (cons V1508 ())))
1401
+ V1509 Datatypes V1510
1402
+ V1511)))))
1403
+ Case))
1279
1404
  Case))
1280
1405
  Case))
1281
1406
  Case))
@@ -3077,32 +3202,117 @@ For an explication of this license see http://www.lambdassociates.org/News/june1
3077
3202
  V889 V890)))
3078
3203
  Case)))
3079
3204
 
3080
- (defun shen-t*-ruleh (V891 V892 V893 V894 V895)
3205
+ (defun shen-t*-ruleh (V1512 V1513 V1514 V1515 V1516)
3081
3206
  (let Throwcontrol (shen-catchpoint)
3082
3207
  (shen-cutpoint Throwcontrol
3083
- (let V503 (shen-lazyderef V891 V894)
3084
- (if (cons? V503)
3085
- (let Patterns (hd V503)
3086
- (let V504 (shen-lazyderef (tl V503) V894)
3087
- (if (cons? V504)
3088
- (let Result (hd V504)
3089
- (let V505 (shen-lazyderef (tl V504) V894)
3090
- (if (= () V505)
3091
- (let NewHyp (shen-newpv V894)
3092
- (let B (shen-newpv V894)
3093
- (let AllHyp (shen-newpv V894)
3094
- (do (shen-incinfs)
3095
- (shen-t*-patterns Patterns V892 NewHyp B V894
3096
- (freeze
3097
- (cut Throwcontrol V894
3208
+ (let Case
3209
+ (let V1380 (shen-lazyderef V1512 V1515)
3210
+ (if (cons? V1380)
3211
+ (let V1381 (shen-lazyderef (hd V1380) V1515)
3212
+ (if (= () V1381)
3213
+ (let V1382 (shen-lazyderef (tl V1380) V1515)
3214
+ (if (cons? V1382)
3215
+ (let Result (hd V1382)
3216
+ (let V1383 (shen-lazyderef (tl V1382) V1515)
3217
+ (if (= () V1383)
3218
+ (let V1384 (shen-lazyderef V1513 V1515)
3219
+ (if (cons? V1384)
3220
+ (let V1385 (shen-lazyderef (hd V1384) V1515)
3221
+ (if (= --> V1385)
3222
+ (let V1386 (shen-lazyderef (tl V1384) V1515)
3223
+ (if (cons? V1386)
3224
+ (let A (hd V1386)
3225
+ (let V1387 (shen-lazyderef (tl V1386) V1515)
3226
+ (if (= () V1387)
3227
+ (do (shen-incinfs)
3228
+ (cut Throwcontrol V1515
3229
+ (freeze (shen-th* Result A V1514 V1515 V1516))))
3230
+ (if (shen-pvar? V1387)
3231
+ (do (shen-bindv V1387 () V1515)
3232
+ (let Result
3233
+ (do (shen-incinfs)
3234
+ (cut Throwcontrol V1515
3235
+ (freeze (shen-th* Result A V1514 V1515 V1516))))
3236
+ (do (shen-unbindv V1387 V1515) Result)))
3237
+ false))))
3238
+ (if (shen-pvar? V1386)
3239
+ (let A (shen-newpv V1515)
3240
+ (do (shen-bindv V1386 (cons A ()) V1515)
3241
+ (let Result
3242
+ (do (shen-incinfs)
3243
+ (cut Throwcontrol V1515
3244
+ (freeze (shen-th* Result A V1514 V1515 V1516))))
3245
+ (do (shen-unbindv V1386 V1515) Result))))
3246
+ false)))
3247
+ (if (shen-pvar? V1385)
3248
+ (do (shen-bindv V1385 --> V1515)
3249
+ (let Result
3250
+ (let V1388 (shen-lazyderef (tl V1384) V1515)
3251
+ (if (cons? V1388)
3252
+ (let A (hd V1388)
3253
+ (let V1389 (shen-lazyderef (tl V1388) V1515)
3254
+ (if (= () V1389)
3255
+ (do (shen-incinfs)
3256
+ (cut Throwcontrol V1515
3257
+ (freeze (shen-th* Result A V1514 V1515 V1516))))
3258
+ (if (shen-pvar? V1389)
3259
+ (do (shen-bindv V1389 () V1515)
3260
+ (let Result
3261
+ (do (shen-incinfs)
3262
+ (cut Throwcontrol V1515
3263
+ (freeze (shen-th* Result A V1514 V1515 V1516))))
3264
+ (do (shen-unbindv V1389 V1515) Result)))
3265
+ false))))
3266
+ (if (shen-pvar? V1388)
3267
+ (let A (shen-newpv V1515)
3268
+ (do (shen-bindv V1388 (cons A ()) V1515)
3269
+ (let Result
3270
+ (do (shen-incinfs)
3271
+ (cut Throwcontrol V1515
3272
+ (freeze (shen-th* Result A V1514 V1515 V1516))))
3273
+ (do (shen-unbindv V1388 V1515) Result))))
3274
+ false)))
3275
+ (do (shen-unbindv V1385 V1515) Result)))
3276
+ false)))
3277
+ (if (shen-pvar? V1384)
3278
+ (let A (shen-newpv V1515)
3279
+ (do (shen-bindv V1384 (cons --> (cons A ())) V1515)
3280
+ (let Result
3281
+ (do (shen-incinfs)
3282
+ (cut Throwcontrol V1515
3283
+ (freeze (shen-th* Result A V1514 V1515 V1516))))
3284
+ (do (shen-unbindv V1384 V1515) Result))))
3285
+ false)))
3286
+ false)))
3287
+ false))
3288
+ false))
3289
+ false))
3290
+ (if (= Case false)
3291
+ (let V1390 (shen-lazyderef V1512 V1515)
3292
+ (if (cons? V1390)
3293
+ (let Patterns (hd V1390)
3294
+ (let V1391 (shen-lazyderef (tl V1390) V1515)
3295
+ (if (cons? V1391)
3296
+ (let Result (hd V1391)
3297
+ (let V1392 (shen-lazyderef (tl V1391) V1515)
3298
+ (if (= () V1392)
3299
+ (let NewHyp (shen-newpv V1515)
3300
+ (let B (shen-newpv V1515)
3301
+ (let AllHyp (shen-newpv V1515)
3302
+ (do (shen-incinfs)
3303
+ (shen-t*-patterns Patterns V1513 NewHyp B V1515
3098
3304
  (freeze
3099
- (shen-conc NewHyp V893 AllHyp V894
3305
+ (cut Throwcontrol V1515
3100
3306
  (freeze
3101
- (cut Throwcontrol V894
3102
- (freeze (shen-th* Result B AllHyp V894 V895)))))))))))))
3103
- false)))
3104
- false)))
3105
- false)))))
3307
+ (shen-conc NewHyp V1514 AllHyp V1515
3308
+ (freeze
3309
+ (cut Throwcontrol V1515
3310
+ (freeze
3311
+ (shen-th* Result B AllHyp V1515 V1516)))))))))))))
3312
+ false)))
3313
+ false)))
3314
+ false))
3315
+ Case)))))
3106
3316
 
3107
3317
  (defun shen-type-insecure-rule-error-message (V896 V897)
3108
3318
  (interror "type error in rule ~A of ~A~%" (@p V896 (@p V897 ()))))