Почему стиль передачи продолжения

В The Scheme Programming Language by Kent Dybvig (4th edition) section 3.4, он очень четко описывает что такое continuation passing style. Для почему он приводит две причины:

  1. передавать более одного результата своему продолжению, потому что процедура, реализующая продолжение, может принимать любое количество аргументов.
  2. CPS также позволяет процедуре принимать отдельные продолжения ..., которые могут принимать разное количество аргументов.

Поскольку первая причина также может быть выполнена с помощью процедуры values, а вторая с помощью case-lambda, мне не ясны преимущества использования стиля передачи продолжений. Не мог бы кто-нибудь показать мне примеры, где стиль передачи продолжения уместен, где он делает код лучше, понятнее и т.д.?

23
задан Joshua Taylor 15 October 2013 в 16:26
поделиться