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 52B073858C60 for ; Sun, 26 Sep 2021 12:08:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 52B073858C60 Received: from smtpclient.apple (unknown [78.196.108.109]) (Authenticated sender: phiroc@free.fr) by smtp6-g21.free.fr (Postfix) with ESMTPSA id 7B503780326 for ; Sun, 26 Sep 2021 14:08:12 +0200 (CEST) From: Philippe de Rochambeau Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.80.0.2.43\)) Subject: Recursive define-syntax Message-Id: <52C4B57C-283E-4D90-A941-5A6FDA76EA73@free.fr> Date: Sun, 26 Sep 2021 14:08:12 +0200 To: kawa@sourceware.org X-Mailer: Apple Mail (2.3654.80.0.2.43) X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, HTML_MESSAGE, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham 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 12:08:15 -0000 Hello, the following procedure, excerpted from =C2=AB A Pamphlet Against R =C2=BB= =20 (define (dim m) (match m ((first . rest) `(,(length m) . ,(dim first))) (_ '()))) =E2=80=A6 causes Kawa to display the following error message: /dev/tty:6:5: unrecognized pattern operator first I tried rewriting the dim procedure using define-syntax: (define m0 '((1 2 3 4)(0 4 5 8)(0 0 7 6))) (define-syntax dim=20 (lambda (m) (syntax-case m () ((_ frst . rst) #`(#,(length m) . #,(dim first))) (_ '())))) =20 =E2=80=A6but to no avail: matrix1.scm:7:17: duplicated pattern variable frst matrix1.scm:7:13: duplicated pattern variable rst matrix1.scm:7:17: duplicated pattern variable frst matrix1.scm:7:13: duplicated pattern variable rst =E2=80=A6 Are recursive =C2=AB syntaxes =C2=BB not possible in Kawa? Many thanks. Philippe=