From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Kyle Siehl Newsgroups: gmane.lisp.guile.user Subject: Re: Anaphoric macros like when-let Date: Sat, 26 Aug 2017 15:40:24 -0700 Message-ID: <20170826224024.GA10588@wintermute.lan> References: <1a0f67f3.AEAAO93SX5gAAAAAAAAAAAPWCvIAAAACwQwAAAAAAAW9WABZodBb@mailjet.com> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: blaine.gmane.org 1503787262 12833 195.159.176.226 (26 Aug 2017 22:41:02 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 26 Aug 2017 22:41:02 +0000 (UTC) User-Agent: Mutt/1.8.3 (2017-05-23) Cc: Guile User To: Arun Isaac Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Sun Aug 27 00:40:57 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 1dljl6-0002fW-2w for guile-user@m.gmane.org; Sun, 27 Aug 2017 00:40:52 +0200 Original-Received: from localhost ([::1]:58871 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dljl9-0005hE-Nr for guile-user@m.gmane.org; Sat, 26 Aug 2017 18:40:55 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:37714) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dljkm-0005gx-1I for guile-user@gnu.org; Sat, 26 Aug 2017 18:40:32 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dljkl-00085N-2Q for guile-user@gnu.org; Sat, 26 Aug 2017 18:40:32 -0400 Original-Received: from mail-pf0-x22f.google.com ([2607:f8b0:400e:c00::22f]:35204) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dljkk-00084p-S5 for guile-user@gnu.org; Sat, 26 Aug 2017 18:40:30 -0400 Original-Received: by mail-pf0-x22f.google.com with SMTP id c15so5448296pfm.2 for ; Sat, 26 Aug 2017 15:40:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=iPnBVKLSlg8DMQY8wudz0qSJ3zbMAJyE3sEaYi5Tjaw=; b=uWZ4tUu0nftlvxMopOKVE9TEuljwaTKo2usCt7ZAOQRL4Gn+ZAxZqoTMwyORdMSPK7 Lx8NmXUmvlRF/uhF+cwOp2i+L36PpJ2lgukPX7XlAdZfEmB0ma5HuUoSad5JJthDF7B8 C8dWgqbWBo8WrqOJYTUXRLChLDC2QyfAdAunwfpKSKavtpCXRu7R5BmnGopXiJPOfqhc 256dDTqTV5uYa1N3xYT/cJ/8C0AtAsE1nlcBf9FwqnTe/pF3ZPU3xzoH8Wk65O2Kkudo zRlZMJ/K+1dEmQRa967Ier4kHAQK9zP9pKDK6Rsg4VYMMvKJWRtUjcRjijp0CUjEAv7P a6rA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=iPnBVKLSlg8DMQY8wudz0qSJ3zbMAJyE3sEaYi5Tjaw=; b=CoxOWoKBABpopV/ySAJfN8A1QliOK/dY5pFs3/kBwUOUwQci1SZCs8nFegqUfmL2rD AfiqA27gh0M/lhOa2+LdoAf8+Wn9Ct0ZCyZFiODtP1W0qZwtykE/NjIkwdifI9zAqtAN bxW/b/JI5Z+PwCc8hLM1wMfvAIlxNEymxQH0WrA3uJuo2oWTI34S3yX2YsrlVO9JqYfh hIflNiykrJBqmTcYaEM5L1iMd95B65eATI4rEV/Ofx0os82cCWL0NhyK2MhwwXBhyG81 Ui3nwFiHS2u5rRlJT31L9YPRVkqFNGa2i8G4sKNOlbhPgJdEm/fA96HYc+3yB7IEBUlM fj6A== X-Gm-Message-State: AHYfb5jm/hYQWTk2Ed59jb9HvRZBoOMdBQpZlrzPch00tex9wa53+mt4 8YsssJOBCbVLsH7Y X-Received: by 10.99.191.6 with SMTP id v6mr2876647pgf.212.1503787228435; Sat, 26 Aug 2017 15:40:28 -0700 (PDT) Original-Received: from localhost ([2601:1c2:4f03:edd::e31]) by smtp.gmail.com with ESMTPSA id n11sm19881307pfg.15.2017.08.26.15.40.26 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 26 Aug 2017 15:40:26 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1a0f67f3.AEAAO93SX5gAAAAAAAAAAAPWCvIAAAACwQwAAAAAAAW9WABZodBb@mailjet.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400e:c00::22f 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:14062 Archived-At: On Sun, Aug 27, 2017 at 01:17:13AM +0530, Arun Isaac wrote: > > Is there a Scheme or Guile equivalent to Emacs Lisp's `when-let' ? > > Basically, I'm looking for a shorthand to express this: > > (let ((x (foo)) > (when x > (bar x)))) > > as this: > > (when-let (x (foo)) > (bar x)) (cond ((foo) => bar)) Or, in general: (cond ((foo) => (lambda (x) (bar x))))