Skip to content

Instantly share code, notes, and snippets.

@zeptometer
Created March 26, 2014 11:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zeptometer/9781595 to your computer and use it in GitHub Desktop.
Save zeptometer/9781595 to your computer and use it in GitHub Desktop.
(er-macro-transformer@176
(lambda (expr@1459 rename@1460 cmp@1461)
(define (reverse*@1463 l@1462)
((lambda ()
(define loop@1464
(lambda (r@1465 l@1466)
(if (pair?@6 l@1466)
(loop@1464
(cons@7 (car@8 l@1466) r@1465)
(cdr@9 l@1466))
(cons@7 l@1466 r@1465))))
(loop@1464 (car@8 l@1462) (cdr@9 l@1462)))))
((lambda (name/0@1467 var/1@1468 init/1@1469 body/1@1470)
((lambda (result@1471)
(if result@1471
(cons@7
(cons@7
(rename@1460 'lambda)
(cons@7
'()
(cons@7
(cons@7
(rename@1460 'define)
(cons@7
(cons@7
name/0@1467
(append@21
(map@125
(lambda (var/0@1472) var/0@1472)
var/1@1468)
'()))
(append@21
(map@125
(lambda (body/0@1473) body/0@1473)
body/1@1470)
'())))
(cons@7
(cons@7
name/0@1467
(append@21
(map@125
(lambda (init/0@1474) init/0@1474)
init/1@1469)
'()))
'()))))
'())
((lambda (var/1@1475 init/1@1476 body/1@1477)
((lambda (result@1478)
(if result@1478
(cons@7
(cons@7
(rename@1460 'lambda)
(cons@7
(append@21
(map@125
(lambda (var/0@1479) var/0@1479)
var/1@1475)
'())
(append@21
(map@125
(lambda (body/0@1480) body/0@1480)
body/1@1477)
'())))
(append@21
(map@125
(lambda (init/0@1481) init/0@1481)
init/1@1476)
'()))
'(syntax-error no matching pattern)))
(call/cc@141
(lambda (exit@1482)
((lambda (expr@1483)
(begin
(if (pair?@6 expr@1483)
((lambda (expr@1484)
(begin
((lambda (expr@1485)
(begin
((lambda (expr@1486)
(if (not@4 (eqv?@2 '() expr@1486))
(exit@1482 #f)))
(car@8 expr@1485))
((lambda (expr@1487)
((lambda ()
(define loop@1488
(lambda (expr@1489)
(if (not@4 (null?@16 expr@1489))
((lambda (var/0@1490
init/0@1491)
((lambda (expr@1492)
(begin
(if (pair?@6
expr@1492)
((lambda (expr@1493)
(set! var/0@1490
expr@1493))
(car@8 expr@1492))
(exit@1482 #f))
(if (pair?@6
(cdr@9 expr@1492))
(begin
((lambda (expr@1494)
(set! init/0@1491
expr@1494))
(car@8 (cdr@9 expr@1492)))
((lambda (expr@1495)
(if (not@4 (eqv?@2
'()
expr@1495))
(exit@1482
#f)))
(cdr@9 (cdr@9 expr@1492))))
(exit@1482 #f))))
(car@8 expr@1489))
(set! var/1@1475
(cons@7
var/0@1490
var/1@1475))
(set! init/1@1476
(cons@7
init/0@1491
init/1@1476))
(loop@1488
(cdr@9 expr@1489)))
'()
'()))))
(loop@1488 expr@1487))))
(reverse*@1463
(cons@7 '() (cdr@9 expr@1485))))))
(reverse*@1463 expr@1484))))
(car@8 expr@1483))
(exit@1482 #f))
((lambda (expr@1496)
(begin
((lambda (expr@1497)
(if (not@4 (eqv?@2 '() expr@1497))
(exit@1482 #f)))
(car@8 expr@1496))
((lambda (expr@1498)
((lambda ()
(define loop@1499
(lambda (expr@1500)
(if (not@4 (null?@16 expr@1500))
((lambda (body/0@1501)
((lambda (expr@1502)
(set! body/0@1501 expr@1502))
(car@8 expr@1500))
(set! body/1@1477
(cons@7
body/0@1501
body/1@1477))
(loop@1499 (cdr@9 expr@1500)))
'()))))
(loop@1499 expr@1498))))
(reverse*@1463
(cons@7 '() (cdr@9 expr@1496))))))
(reverse*@1463 (cdr@9 expr@1483))))
#t)
(cdr@9 expr@1459))))))
()
()
())))
(call/cc@141
(lambda (exit@1503)
((lambda (expr@1504)
(begin
(if (pair?@6 expr@1504)
((lambda (expr@1505) (set! name/0@1467 expr@1505))
(car@8 expr@1504))
(exit@1503 #f))
(if (pair?@6 (cdr@9 expr@1504))
((lambda (expr@1506)
(begin
((lambda (expr@1507)
(begin
((lambda (expr@1508)
(if (not@4 (eqv?@2 '() expr@1508))
(exit@1503 #f)))
(car@8 expr@1507))
((lambda (expr@1509)
((lambda ()
(define loop@1510
(lambda (expr@1511)
(if (not@4 (null?@16 expr@1511))
((lambda (var/0@1512 init/0@1513)
((lambda (expr@1514)
(begin
(if (pair?@6 expr@1514)
((lambda (expr@1515)
(set! var/0@1512
expr@1515))
(car@8 expr@1514))
(exit@1503 #f))
(if (pair?@6
(cdr@9 expr@1514))
(begin
((lambda (expr@1516)
(set! init/0@1513
expr@1516))
(car@8 (cdr@9 expr@1514)))
((lambda (expr@1517)
(if (not@4 (eqv?@2
'()
expr@1517))
(exit@1503 #f)))
(cdr@9 (cdr@9 expr@1514))))
(exit@1503 #f))))
(car@8 expr@1511))
(set! var/1@1468
(cons@7 var/0@1512 var/1@1468))
(set! init/1@1469
(cons@7 init/0@1513 init/1@1469))
(loop@1510 (cdr@9 expr@1511)))
'()
'()))))
(loop@1510 expr@1509))))
(reverse*@1463 (cons@7 '() (cdr@9 expr@1507))))))
(reverse*@1463 expr@1506))))
(car@8 (cdr@9 expr@1504)))
(exit@1503 #f))
((lambda (expr@1518)
(begin
((lambda (expr@1519)
(if (not@4 (eqv?@2 '() expr@1519))
(exit@1503 #f)))
(car@8 expr@1518))
((lambda (expr@1520)
((lambda ()
(define loop@1521
(lambda (expr@1522)
(if (not@4 (null?@16 expr@1522))
((lambda (body/0@1523)
((lambda (expr@1524)
(set! body/0@1523 expr@1524))
(car@8 expr@1522))
(set! body/1@1470
(cons@7 body/0@1523 body/1@1470))
(loop@1521 (cdr@9 expr@1522)))
'()))))
(loop@1521 expr@1520))))
(reverse*@1463 (cons@7 '() (cdr@9 expr@1518))))))
(reverse*@1463 (cdr@9 (cdr@9 expr@1504)))))
#t)
(cdr@9 expr@1459))))))
()
()
()
())))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment