[plt-scheme] passing multiple "values" between functions

From: Martin DeMello (martindemello at gmail.com)
Date: Mon Apr 6 02:53:23 EDT 2009

If I have a function returning two values, how do I write a function
that consumes them? Two failed tries below, to explain what I'm

#lang scheme

(define (foo)
  (values 1 2))

(define (bar inp)
  (let-values ([(x y) inp])
    (list x y)))

(define (baz x y)
  (list x y))

;(bar (foo))
;(baz (foo))

Posted on the users mailing list.