Подскажите, есть ли для Common Lisp аналог Future и Executor из Java? Или какой-нибудь похожий метод. Нужно запускать асинхронное выполнение функций, и получать их результат в другое время, из другой функции и из другого потока. Обязательно чтобы был таймаут, аналогично Future.get(timeout, unit). Желательно чтобы задачи распределялись на thread pool, то есть не создавать новый thread на каждый новый вызов, потому что это неэффективно. Мне кажется задача должна хорошо уложиться в функциональную парадигму Лиспа. Но ничего готового не нашёл...