From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp6-g21.free.fr (smtp6-g21.free.fr [212.27.42.6]) by sourceware.org (Postfix) with ESMTPS id C049E385840A for ; Sun, 26 Sep 2021 13:37:28 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C049E385840A Received: from smtpclient.apple (unknown [78.196.108.109]) (Authenticated sender: phiroc@free.fr) by smtp6-g21.free.fr (Postfix) with ESMTPSA id 08B637802C5 for ; Sun, 26 Sep 2021 15:37:27 +0200 (CEST) From: Philippe de Rochambeau Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.80.0.2.43\)) Subject: Re: values Date: Sun, 26 Sep 2021 15:37:26 +0200 References: <9C7CF706-65C5-40E5-8949-EB836F398DDD@free.fr> <52C1790E-E668-4FA0-B0B0-F27AB68D6B14@free.fr> To: kawa mailing list In-Reply-To: <52C1790E-E668-4FA0-B0B0-F27AB68D6B14@free.fr> Message-Id: <11BE00BD-0D11-4F6A-9314-A7C4FFEF33D6@free.fr> X-Mailer: Apple Mail (2.3654.80.0.2.43) X-Spam-Status: No, score=-1.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, FREEMAIL_REPLY, HTML_MESSAGE, JMQ_SPF_NEUTRAL, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=no autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: kawa@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Kawa mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Sep 2021 13:37:30 -0000 I found a solution: (define (halve n) (let-values (((a b) (div-and-mod n 2))) a)) > Le 26 sept. 2021 =C3=A0 15:25, Philippe de Rochambeau = a =C3=A9crit : >=20 > Hi Arvydas, > thanks you for your feedback. > I=E2=80=99ve managed to retrieve the 19 from div-and-mod using = let-values. > Now, how do I add a procedure called =C2=AB (halve n) =C2=BB which = when passed a value such as 39, returns 19? > Many thanks. > Philippe >=20 > (display (let-values (((a b) (div-and-mod 39 2))) > a)) >=20 >=20 >=20 >> Le 26 sept. 2021 =C3=A0 14:33, Arvydas Silanskas = > a =C3=A9crit : >>=20 >> Hi >>=20 >> generally you would use constructs like define-values or let-values = to declare multiple variables which will be bound to the received = multiple values. There is also a more primitive call-with-values = construct for piping those values as arguments to some procedure. To get = a list, you could use `(call-with-values (lambda () (values 1 3)) = list)`. >>=20 >> Arvydas >>=20 >> 2021-09-26, sk, 14:57 Philippe de Rochambeau via Kawa = > ra=C5=A1=C4=97: >> Hello, >> how do you retrieve the first item returned by the values procedure? >> I=E2=80=99ve tried (first (values 1 3)), but to no avail, because = values doesn=E2=80=99t return a list. >> Many thanks. >> Philippe >=20