From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Michael Lucy Newsgroups: gmane.lisp.guile.devel Subject: Re: PEG Parser Updates/Questions Date: Fri, 6 Aug 2010 01:40:13 -0500 Message-ID: References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1281076846 13877 80.91.229.12 (6 Aug 2010 06:40:46 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 6 Aug 2010 06:40:46 +0000 (UTC) To: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Fri Aug 06 08:40:45 2010 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1OhGbk-0003sk-BY for guile-devel@m.gmane.org; Fri, 06 Aug 2010 08:40:45 +0200 Original-Received: from localhost ([127.0.0.1]:43706 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OhGbh-0005Wy-6g for guile-devel@m.gmane.org; Fri, 06 Aug 2010 02:40:41 -0400 Original-Received: from [140.186.70.92] (port=40472 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OhGbb-0005Wm-Nj for guile-devel@gnu.org; Fri, 06 Aug 2010 02:40:36 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OhGba-0002ga-Ji for guile-devel@gnu.org; Fri, 06 Aug 2010 02:40:35 -0400 Original-Received: from mail-vw0-f41.google.com ([209.85.212.41]:57085) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OhGba-0002gO-Gr for guile-devel@gnu.org; Fri, 06 Aug 2010 02:40:34 -0400 Original-Received: by vws16 with SMTP id 16so6807805vws.0 for ; Thu, 05 Aug 2010 23:40:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:sender:received :in-reply-to:references:from:date:x-google-sender-auth:message-id :subject:to:content-type:content-transfer-encoding; bh=OC9q0jfKkIDA0oGfU5aqgGCoTVgTSm5NUm6wvHT2CN0=; b=vjyqu1fBPlQ0wQHv82/3unWV2ua2IlR1jubTMh4UI9pwpFsnd2riEBiLIv4TEu9+0i B5eZcR+PLIQ9ROyoYGpyBkStZbATdc8JwaZI9I8M8/r4oPuzODjBKxhga0BNSiLPiOsE Pd95VyXGG37b/eId8kfAGvFWI0lPMCgaY2yjI= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:content-type :content-transfer-encoding; b=qkeI8AfrPVuvYF2X5xXXc3tKjIg8/J4K+Jp3Wsi2VUNIdNnGVmCM5JLbDkXWwflww8 CRiuHqLjVazL4QvsH7wVNZADRiotYQ3uVmP9gFev3LWlM77ywxOpUoUH2gUsq9HvfMkG J33u5bCw1yc3Xyjv1C05/Wa6hXEfTsUKGOY3U= Original-Received: by 10.220.62.72 with SMTP id w8mr7998694vch.61.1281076833254; Thu, 05 Aug 2010 23:40:33 -0700 (PDT) Original-Received: by 10.220.158.73 with HTTP; Thu, 5 Aug 2010 23:40:13 -0700 (PDT) In-Reply-To: X-Google-Sender-Auth: MaMaCoBJ0cPTn33-ykiUuBAFteY X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:10756 Archived-At: On Wed, Jul 28, 2010 at 12:13 AM, Michael Lucy wro= te: > I've officially eliminated the last define-macro expression. > > However, I get the feeling that things may not be exactly as desired. > The original program made extensive use of functions in building the > macros, and I originally tried to replace these with macros. =A0This > turned out to be a little difficult to debug, however (read: I was > unable to make the code actually work). =A0I eventually abandoned this > and just made datum->syntax calls. I've left this alone since then; it would be nice to get some confirmation that this was the right choice though. If it isn't, I think I still have time to change it before the GSOC deadline (and like I said, I'll hang around after it). Anyway, I just pushed up everything I have to the git repository (I think; I may have screwed up the syntax). I'm basically done except that the documentation/comments could use some more touching up, I don't have a set of benchmarks yet and I haven't really optimized things all that much. > > On the one hand, this works. =A0I also find it easier to debug, and I > think it looks cleaner. > > The downside is that one doesn't get all the same benefits of > referential transparency, so I still have gensyms in the functions > etc. =A0Is this a problem? > > If so, I can definitely replace everything with macros, but I might > not be able to do that and get everything else done by the GSOC > project deadline. =A0I'd like to hang around after the project is > officially done from Google's point of view to polish things up, so I > could also do it then. > > Another question about module namespaces: =A0I have some syntax that I'd > like to be available to code generated by macros in my module, but > which I'd rather not export to the user (to avoid clobbering their > functions). =A0Is there a standard way of doing this? =A0I can't seem to > find anything in the module documentation regarding giving namespaces > to things in modules except for :renamer, which has to be done by the > user--the only options appear to be not exporting it at all, or > exporting it straight into the user's namespace. =A0The best fix I can > think of is naming the syntax things the user is unlikely to ever take > (or maybe using gensyms to make sure it isn't a name they take). >