fork download
  1. (define (conway n)
  2. (let loop ((result (list 3))
  3. (index n))
  4. (if (= 1 index)
  5. result
  6. (loop (reverse (exchenge result)) (- index 1)))))
  7.  
  8. (define (exchenge lis)
  9. (let loop ((ls lis)
  10. (result '()))
  11. (if (pair? ls)
  12. (let ((num (car ls)))
  13. (receive (cn restlis) (cunt = num ls)
  14. (set! result (cons cn result))
  15. (set! result (cons num result))
  16. (loop restlis result)))
  17. result)))
  18.  
  19. (define (cunt pred el lis)
  20. (let1 result 0
  21. (let loop ((ls lis))
  22. (if (and (pair? ls) (pred el (car ls)))
  23. (begin
  24. (inc! result)
  25. (loop (cdr ls)))
  26. (values result ls)))))
Runtime error #stdin #stdout #stderr 0.07s 9904KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Backtrace:
In ice-9/boot-9.scm:
 157: 13 [catch #t #<catch-closure 9a69bd0> ...]
In unknown file:
   ?: 12 [apply-smob/1 #<catch-closure 9a69bd0>]
In ice-9/boot-9.scm:
  63: 11 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
 432: 10 [eval # #]
In ice-9/boot-9.scm:
2401: 9 [save-module-excursion #<procedure 9a78cc0 at ice-9/boot-9.scm:4045:3 ()>]
4052: 8 [#<procedure 9a78cc0 at ice-9/boot-9.scm:4045:3 ()>]
1724: 7 [%start-stack load-stack ...]
1729: 6 [#<procedure 9a7e738 ()>]
In unknown file:
   ?: 5 [primitive-load "/home/nIyxyl/prog.scm"]
In ice-9/eval.scm:
 387: 4 [eval # #]
 387: 3 [eval # #]
 386: 2 [eval # #]
 393: 1 [eval #<memoized receive> (3 () (3) ...)]
In unknown file:
   ?: 0 [memoize-variable-access! #<memoized receive> #<directory # 99f5630>]

ERROR: In procedure memoize-variable-access!:
ERROR: Unbound variable: receive