Add further conversions between data-directed and code-directed programming idioms Marc Nieper-WiÃkirchen 06 Jun 2020 17:25 UTC
* Add a procedure (either <thunk>) that calls thunk and returns its values wrapped into a Right except for when <thunk> raises an exception. In that case, wrap the error object in a Left and return it. The "inverse" of this procedure is `either-ref'. The name "either" is probably not the best one. Implementation: (define (either thunk) (guard (c (else (left c))) (call-with-values thunk right))) * Add maybe-let* that works like and-let* but can handle multiple values and can accept #f values. I would be willing to contribute an implementation in case Wolfgang doesn't want to.