# Continuation with multiple values

**URL:** <https://racket.discourse.group/t/continuation-with-multiple-values/3614>\
**Category:** Questions & Answers\
**Created:** [March 9, 2025, 11:37pm UTC](https://racket.discourse.group/t/continuation-with-multiple-values/3614 "2025-03-09T23:37:45Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![damien\_mattei](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/damien_mattei/32/2706_2.png) [@damien\_mattei](https://racket.discourse.group/u/damien_mattei)\
**Post date:** [March 9, 2025, 11:37pm UTC](https://racket.discourse.group/t/continuation-with-multiple-values/3614/1 "2025-03-09T23:37:45Z")

</div>

Hello,

just an (expert) question , is there a way in call/cc to return multiple values?

i mean something like this but working:

```scheme
> (call/cc (lambda (ct) (ct (values 1 2))))
. . result arity mismatch;
 expected number of values not received
  expected: 1
  received: 2

```

---

<div class="post-metadata">

**Author:** ![shawnw](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/shawnw/32/1031_2.png) [@shawnw](https://racket.discourse.group/u/shawnw)\
**Post date:** [March 9, 2025, 11:41pm UTC](https://racket.discourse.group/t/continuation-with-multiple-values/3614/2 "2025-03-09T23:41:25Z")

</div>

> [@damien\_mattei](#):
>
> `(call/cc (lambda (ct) (ct (values 1 2))))`

Leave off the `values`; just call the continuation with multiple arguments:

```scheme
(let-values ([(a b) (call/cc (lambda (ct) (ct 1 2)))])
  (list a b))

```

---

<div class="post-metadata">

**Author:** ![damien\_mattei](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/damien_mattei/32/2706_2.png) [@damien\_mattei](https://racket.discourse.group/u/damien_mattei)\
**Post date:** [March 10, 2025, 5:41am UTC](https://racket.discourse.group/t/continuation-with-multiple-values/3614/3 "2025-03-10T05:41:46Z")

</div>

cool.... 🙂

works also with my `def` without changing the code but i did not knew it:

```scheme
(def (foo) (return 1 2))

(foo)
1
2

```
