From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Matt Wette Newsgroups: gmane.lisp.guile.user Subject: Re: Anaphoric macros like when-let Date: Sat, 26 Aug 2017 12:54:31 -0700 Message-ID: <4FFD033C-26F5-417A-AEE2-9D0A434AE484@gmail.com> References: <1a0f67f3.AEAAO93SX5gAAAAAAAAAAAPWCvIAAAACwQwAAAAAAAW9WABZodBb@mailjet.com> <12D2B2C2-41A5-4F66-98DB-7F7A5AF0C819@gmail.com> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1503777315 15803 195.159.176.226 (26 Aug 2017 19:55:15 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 26 Aug 2017 19:55:15 +0000 (UTC) Cc: Guile User To: Matt Wette Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Sat Aug 26 21:55:11 2017 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dlhAY-00036T-7C for guile-user@m.gmane.org; Sat, 26 Aug 2017 21:54:58 +0200 Original-Received: from localhost ([::1]:58513 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dlhAc-0005iS-24 for guile-user@m.gmane.org; Sat, 26 Aug 2017 15:55:02 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:51357) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dlhAE-0005iJ-0O for guile-user@gnu.org; Sat, 26 Aug 2017 15:54:38 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dlhAA-0006ky-U3 for guile-user@gnu.org; Sat, 26 Aug 2017 15:54:38 -0400 Original-Received: from mail-pf0-x242.google.com ([2607:f8b0:400e:c00::242]:36801) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dlhAA-0006kk-OJ for guile-user@gnu.org; Sat, 26 Aug 2017 15:54:34 -0400 Original-Received: by mail-pf0-x242.google.com with SMTP id a2so1409809pfj.3 for ; Sat, 26 Aug 2017 12:54:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=SC6VXJKkfGuEYXLd7fOtMHHtK9o4ta+xxBUUZREMEmc=; b=vTxHlZovXYOzqyqCkiChTxB+MoHGFqoIbTsRDJV/gJrOi/ZzgfpW5rJv+TlCVCBEDo O+bq9xPV8DJvi2ZEIGXclnDrPelEwIg1IcgMRV3vAzRpYxMOUxHndcn2D4+gX6dTl543 bjpohGPHpUtCySA/8PPHdD7rYbwqbIUAtZRP60azsNgxmxCIQMKQM1d0v4lExvcfRzXh a2kALeRnkau0plsM1KoG6nSrIVeJxwfO0J25Ac39VRIVMThK7GfcL2eEU//hDHTjMTtW Wk8Koxfh57eXLm13I6fiA6QCs1NJ5GB8HOlGHXldg4COOSNjHewiaRlVbUfnh5p9C9/P OfjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=SC6VXJKkfGuEYXLd7fOtMHHtK9o4ta+xxBUUZREMEmc=; b=mly1dH2jRgEziYvRE8iO8ErTm4Nm6UFuk1HBYRKM/8f8fQv+QHQg/3TjT2iEqbc1az z+1ERjIHVZpeGrIs0XtZTdNtxhcZ6scbqovYYKXYsgWsSbhcQZak/SPepW7Pbi/baw5o P7NFF7CDPlB2tldGynQ6VG2eiG8JsESgdQg8SrCkRQOZ1CR3+ZYL8MSAa+ruE/W4q1ya Qv76cd0hqmksrekzL/dDsLyZmdPl9hDVRLE9g0LIA7sqiFjA/KFuempQ5uUt7qYUGfVi Bq5oeABCmjLc6LGFRp7h91vEPJzm3e7sRp90MGANAKRqPMX/8EB+To4kev0O7NpQJW2L qkEA== X-Gm-Message-State: AHYfb5jACa5nYkOjBWdhLlSq2nOoRF6FuEeNQgVyeu5k9N/dCXx9qXmZ 2b2kN9rs1Bf4Tw== X-Received: by 10.84.236.1 with SMTP id q1mr2884493plk.328.1503777273727; Sat, 26 Aug 2017 12:54:33 -0700 (PDT) Original-Received: from nautilus.championbroadband.com (216-165-229-229.championbroadband.com. [216.165.229.229]) by smtp.gmail.com with ESMTPSA id w23sm15668859pfl.40.2017.08.26.12.54.32 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 26 Aug 2017 12:54:33 -0700 (PDT) In-Reply-To: <12D2B2C2-41A5-4F66-98DB-7F7A5AF0C819@gmail.com> X-Mailer: Apple Mail (2.3273) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400e:c00::242 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.org gmane.lisp.guile.user:14061 Archived-At: > On Aug 26, 2017, at 12:50 PM, Matt Wette wrote: >=20 >=20 >> On Aug 26, 2017, at 12:47 PM, Arun Isaac = wrote: >>=20 >>=20 >> Is there a Scheme or Guile equivalent to Emacs Lisp's `when-let' ? >>=20 >> Basically, I'm looking for a shorthand to express this: >>=20 >> (let ((x (foo)) >> (when x >> (bar x)))) >>=20 >> as this: >>=20 >> (when-let (x (foo)) >> (bar x)) >>=20 >=20 > (use-modules (srfi srfi-2)) >=20 > (and-let* ((x foo)) > (bar x)) (and-let* ((x (foo))) (bar x))