Skip to content

Instantly share code, notes, and snippets.

@b4284
Created November 30, 2015 17:09
Show Gist options
  • Select an option

  • Save b4284/042decfd6223e39c8488 to your computer and use it in GitHub Desktop.

Select an option

Save b4284/042decfd6223e39c8488 to your computer and use it in GitHub Desktop.
(use-modules (ice-9 match))
(define f
(let A ((stack '()))
(lambda (. y)
(match y
(('put i)
(A (cons i stack)))
(('get)
(let ((s2 (if (> (length stack) 0)
(reverse stack)
'(()))))
(cons (car s2) (A (reverse (cdr s2))))))))))
(let B ((f# f) (a 'put))
(if (eq? a 'put)
(let A ((f#2 f#) (i 0))
(if (< i 10000)
(A (f#2 'put i) (1+ i))
(B f#2 'get)))
(let C ((f#3 f#) (i 0))
(let ((f#3r (f# 'get)))
(if (< i 10000)
(C (cdr f#3r) (1+ i)))))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment