【发布时间】:2019-03-15 19:29:22
【问题描述】:
是否可以定义一个过程f,如果它是退出前的最后一件事,则打印Exiting...,否则打印Not done yet...?
例如,
(display "hello, world\n")
(f)
应该给
hello, world
Exiting...
虽然
(f)
(display "bye, world\n")
应该给
Not done yet...
bye, world
我曾想过使用shift/reset等控制运算符,但没有成功。关键的困难似乎是没有办法判断当前的延续是否正在终止。有什么想法吗?
【问题讨论】:
标签: functional-programming scheme continuations delimited-continuations