clojure 中是否有一个函数可以检查数据是否包含一些惰性部分?
背景:
我正在用clojure构建一个小型服务器。每个连接都有一个状态、一个输入流和一个输出流
服务器从输入流中读取一个字节,并根据该值调用几个函数之一(以状态以及输入和输出流作为参数)。这些函数可以决定从输入流中读取更多内容,向输出流写入回复,并返回一个状态。这部分循环。
只要状态不包含任何惰性部分,这一切都会正常工作。如果状态中有一些惰性部分,那么当它被评估时(稍后,在另一个函数期间),可能会开始从输入流读取并写入输出流。
所以基本上我想为所有这些函数添加一个后置条件,说明返回状态的任何部分都不能是惰性的。有没有检查惰性序列的函数。我认为检查状态本身是否是惰性序列很容易,但我想检查例如状态是否具有包含哈希映射的向量,其中一个值是惰性的。