From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: "Dr. Arne Babenhauserheide" Newsgroups: gmane.lisp.guile.user Subject: Re: Syntax-Case macro that selects the N-th element from a list Date: Mon, 05 Apr 2021 18:24:40 +0200 Message-ID: <87y2dw4s3b.fsf@web.de> References: <87im5155pu.fsf@web.de> <00426c84-76ad-43b3-99ca-4b8e345d6725@www.fastmail.com> <8e6a1a19-c857-44c2-b5ea-3801f9366677@www.fastmail.com> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="37769"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: mu4e 1.4.15; emacs 27.2 Cc: Guile User Mailing List To: Linus =?utf-8?Q?Bj=C3=B6rnstam?= Original-X-From: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Mon Apr 05 18:25:09 2021 Return-path: Envelope-to: guile-user@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lTS2H-0009js-P6 for guile-user@m.gmane-mx.org; Mon, 05 Apr 2021 18:25:09 +0200 Original-Received: from localhost ([::1]:32770 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lTS2G-0007WA-RS for guile-user@m.gmane-mx.org; Mon, 05 Apr 2021 12:25:08 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:42794) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lTS20-0007Ud-EQ for guile-user@gnu.org; Mon, 05 Apr 2021 12:24:52 -0400 Original-Received: from mout.web.de ([212.227.17.12]:45721) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lTS1y-00056T-Hz for guile-user@gnu.org; Mon, 05 Apr 2021 12:24:52 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1617639884; bh=Dj9mNMC39l5XurCM4ZVTyqteWBiz/8/xbLSPsawSGJQ=; h=X-UI-Sender-Class:References:From:To:Cc:Subject:In-reply-to:Date; b=J6EdQWTCJeHEcJFK4C/RiF63sQNZahEKmuismy3C0jGdPOD6gsb9zh9HVAdsCUdBP 5Wtie3uDzR7+jzrfy/y3mO+ekly67SxNhmrui2EkStliChgG9vFgJbDcDwGVriamJh yjTnEPsHRUShI/fxFnI6VURTWIG3PPT/d50GvI1o= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Original-Received: from fluss ([84.149.81.26]) by smtp.web.de (mrweb103 [213.165.67.124]) with ESMTPSA (Nemesis) id 0LsyRS-1lZfJm13zW-012c7b; Mon, 05 Apr 2021 18:24:44 +0200 In-reply-to: <8e6a1a19-c857-44c2-b5ea-3801f9366677@www.fastmail.com> X-Provags-ID: V03:K1:lTThtuxrz/d0iwJehD96RG9IflLTxR6mSr7BYkNwoUntpoH0TVG j5offm1GZlH91Pb2SLNjnXkYdV02fFVBdu59vnZEaTM4Dp+9axkT8gARrxo6pB0/J7BQJ6/ 8uTjUXZ6FuYXjnL/1DrhNlNMmCpohWeD3H3OUfzbDkLPZvJfadER0DbB4vsqaU8VQ+aqrQE 7Iy+yJF1FZkbyVjnZ123Q== X-UI-Out-Filterresults: notjunk:1;V03:K0:7mxE0R/WH7M=:p1bgArbvDk0Bz1Mim3qPOI 8hMoFRRLAz6XBybbjrnQM7MJ+/FJKRfHYHJbxV4713qqPzLdsTVUTMlwURbcyKZyrEu36OATe PtS7dnQAqrX/jzjpLcbVSULXljvR67LtWlJJmChJn7lBNC/MDowdbwPdq2wKxwAtkLoTISU0P 8W+UEg/PdqDSAOWT+V017QPxZs7Mh+jgIGsW7tIRPHWn2EQsRZEPIzxXic9BSsQFDiuWZlouy TTnUVPaMFHmnrm4AvX23FYq9hZ034DAXEzGiNewiA8DQbfuM6jzgHQ2tlwikBVUHRlXO6kTaC AscWIr+TBY/GM3IJbl8UJkzu6KF3O8GTU/kuRqBtugZ5dtE8tH1d6HIGbaO5/tg9+UVjLCmgP bAaTMBBaXgQXFwfDdJXv7aDKIK9rD+F/LPGhRWp3ZQth/8Ipg5ThSkwLPZuS3HoJrWOOEjFP9 ZZMjHbb7WgJJYJWxeAZzjsBHljQAW5bZnUq+FD7q6zaP5HnABMPEYyi9bAmjShY3YKIDlUEfs nziHzFpotc1FA+Gx1Jl8RJXqtc+bL/5+aHA5oTW8NXHkK/5z+4vUQ+Bx8VT+Qsrv0Ep31vRqk x+qpcxAehNBWtZr5aLKJPw8tmieyVt8wSVtJHaiIMmnKGbXFBHPiUA96ObEr//9BCeT1il9Nh kMuv7Bywn30wOoArqgmPfj2SluVXeWp9+OEPPtQNOckMNTi4r4hulRc3DZ5FPetgle7yCo4uC dvivNcxxw4Ej3kKVuHQ/EfQTSMliqQmE7F7iDHMkwLlFkGoNeLalxevK5q0PCzfzmDuSmhS1 Received-SPF: pass client-ip=212.227.17.12; envelope-from=arne_bab@web.de; helo=mout.web.de X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.23 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-mx.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.io gmane.lisp.guile.user:17398 Archived-At: --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Linus, thank you for your tipps! Linus Bj=C3=B6rnstam writes: > Can you use the procedural part of syntax-rules? You have the power of=20 > using scheme at expansion time, which means you could do list-ref all=20 > you want. >=20 > That "syntax-rules" is of course syntax-case. >=20 > The only thing is that guile lacks syntax->list, so sometimes you have=20 > to manually turn it into a list. Say you are matching ((_ stuff ...)=20 > Body) stuff is a syntax object. You could turn it into a list of syntax=20 > objects by doing #'(stuff ...). Then you can treat it as a regular=20 > list, and use quasisyntax to put it back into your output syntax.=20 =E2=80=A6 > Try writing it first with unhygienic macros and get that working > before porting to syntax-case if you don't know the ins-and-outs of > syntax-case. I have not yet written an unhygienic macro in Guile. Do I use the internal macros for that? Best wishes, Arne =2D-=20 Unpolitisch sein hei=C3=9Ft politisch sein ohne es zu merken --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQJEBAEBCAAuFiEE801qEjXQSQPNItXAE++NRSQDw+sFAmBrOcsQHGFybmVfYmFi QHdlYi5kZQAKCRAT741FJAPD65PYD/9voWwby0RT/kAhI0FMa2qulfmuErd4cLcr fPJ5a6GIj2CxIsKfw/zVEDrubrqftMM07tdNnlMR0uODWer0YXDQi39KUmv4ePEF SPo//evAN4/oYXOON9W7Ti9aS4Z62lMRX9bjQuaG+Xn/k96Y/BnPnGgBorZ9jayR uSI9hw8kN0PmFARQnz3GMOnHyXTOI0Mls88VIbQUtHhPOjhjj8mtRtOFJ8csC+Zk 9AduoI5tPnZ996fSxa40D6x4nTqJcEyP+ceDhCS57RK2SByyKyv3Y4MzXkvgRZQI z8AY6tIznDtczVE7Bsg1QQJAyotREuwIzdPXQVjt0bi/Xgu4BdiK6xg53HqSs2c8 Of3XOVem+dqgxZh+ZvulhVmMoNtqADzqBrfilh2wDN+aNio8L/3mUakeMLi0U9o/ 3oxBQA8O8oEXZlogywbGhRKkKaYgzKktVY90fLtOM7vwXUM44bUJ7C0IXubDLUVk 2ND/TkBMrxQopR4vfvS58uKUWXB5ZveG65NQ6VoBnsWQHIWsH7OK01Omr/6THd4W evXsem0jpdT+s+FFUbsAaaLnoPKBgPJIOwz37ARG7efk9kuls44PGXbFH4L8xWpr fxsJtinKfsnHmuryTST3Z2eqPO/hENjTAESFIIYGhF4giAFCYWZw0Qm6di/rxIkF RyjZqc9J4ojEBAEBCAAuFiEE3Si95tmHXKvOSosd3M8NswvBBUgFAmBrOcsQHGFy bmVfYmFiQHdlYi5kZQAKCRDczw2zC8EFSHFvA/46Co3yumv0eFYyciLZtfBaA0+0 Dv66Qk0aeMbVerYWG+EGbQ2ixTvUTsog4ZXuDlCG1FZakPaJO4tTYoedoVko/dN0 8ziWEvLyw0HxIz9OfxavSLowsqFmdB8ub9cQopZeMorfLAUshwInpG/WVY3ZgcYO n76NyJMB4SQ7IBv8HQ== =FsNp -----END PGP SIGNATURE----- --=-=-=--