Skip to content

Instantly share code, notes, and snippets.

@Idorobots
Created July 27, 2015 16:10
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 Idorobots/4d83c7b47bd2c8a5cbe3 to your computer and use it in GitHub Desktop.
Save Idorobots/4d83c7b47bd2c8a5cbe3 to your computer and use it in GitHub Desktop.
;; Code:
'(* 2 (handle (raise (raise 3)) (lambda (e restart) (restart (* 2 e)))))
;; Compiled code:
'(let ((__handler96 (&uproc-error-handler))
(__cont95
(lambda (__value97)
(__MULT 2 __value97 (lambda (__value94) __value94)))))
(do (&set-uproc-error-handler!
(lambda (__error99 __restart98)
(do (&set-uproc-error-handler! __handler96)
((lambda (__e __restart __cont100)
(__MULT
2
__e
(lambda (__value102)
(__restart
__value102
(lambda (__value101)
(&yield-cont __cont100 __value101))))))
__error99
__restart98
__cont95))))
(let
((__handler105 (&uproc-error-handler)))
(let ((__handler108 (&uproc-error-handler)))
(__handler108
3
(lambda (__value106 __ignored107)
(do (&set-uproc-error-handler! __handler108)
(__handler105
__value106
(lambda (__value103 __ignored104)
(do (&set-uproc-error-handler! __handler105)
(do
(&set-uproc-error-handler! __handler96)
(&yield-cont __cont95 __value103))))))))))))
;; Result:
24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment