From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Julian Graham Newsgroups: gmane.lisp.guile.user Subject: Re: wrapping `define-syntax' Date: Thu, 16 Apr 2009 23:42:35 -0400 Message-ID: <2bc5f8210904162042y4c9bbf0fyf481b6b26ead4ef2@mail.gmail.com> References: <2bc5f8210904121555v1090cb8ej6602f72beefa2f20@mail.gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1239939786 8472 80.91.229.12 (17 Apr 2009 03:43:06 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 17 Apr 2009 03:43:06 +0000 (UTC) Cc: Guile Users To: Andy Wingo Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Fri Apr 17 05:44:25 2009 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1Luf04-000899-Qb for guile-user@m.gmane.org; Fri, 17 Apr 2009 05:44:25 +0200 Original-Received: from localhost ([127.0.0.1]:45666 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Lueyg-0002bD-3Y for guile-user@m.gmane.org; Thu, 16 Apr 2009 23:42:58 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LueyQ-0002b8-AK for guile-user@gnu.org; Thu, 16 Apr 2009 23:42:42 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LueyL-0002Z3-OV for guile-user@gnu.org; Thu, 16 Apr 2009 23:42:41 -0400 Original-Received: from [199.232.76.173] (port=36507 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LueyL-0002Z0-JG for guile-user@gnu.org; Thu, 16 Apr 2009 23:42:37 -0400 Original-Received: from an-out-0708.google.com ([209.85.132.241]:62011) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LueyL-00082e-A0 for guile-user@gnu.org; Thu, 16 Apr 2009 23:42:37 -0400 Original-Received: by an-out-0708.google.com with SMTP id c38so551901ana.21 for ; Thu, 16 Apr 2009 20:42:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=6nyKvI0XHMye/7RlSRCGpUQLmDBwYNPuNv/YCvIutTQ=; b=NjNjmIJ6mCML9+6R/59fTrilbVfQZX4yECNcwa4/Vu1VeJovGAIXUTIEwjGhKDr3Jj L0ocv3fRnEUFL8TFUJWh1uCnDoi2n2KkvXfXqkbZySPb1utu6Ec1zB5F6Py6O2SXhKmF c/1GHRdDK0WWd4gpqHfSqGxqUdMwyRKWea+OA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=OcSKwu1WR/EV1kkeAZsiYt/UXrYjMfKJtNnqC4Ofa7ednzq1nz6CSt4Q5dHupZ2IBy OSqOqvhwAVpMtTLlYTg22pa0YDgEQud4+3SHB1AvYSouLJpyBhN9MadeVYWZx3naN30a 2bXxn3YRSOyg+3aC4V8ofwj3TSq/IifRw5riM= Original-Received: by 10.100.227.18 with SMTP id z18mr3096520ang.49.1239939755462; Thu, 16 Apr 2009 20:42:35 -0700 (PDT) In-Reply-To: X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 2) X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:7223 Archived-At: Hi Andy, Thanks for the hand-holding! I was struggling. > Rebinding define-syntax lexically should be possible with let-syntax or > something like that, but I think there might be bugs with (define-syntax > foo bar). Whaddya know! The following actually works quite nicely: (let-syntax ((canonical-define-syntax (syntax-rules () ((_ keyw expr) (define-syntax keyw expr))))) (canonical-define-syntax foo (syntax-rules () ((_) (display foo))))) Regards, Julian