unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: Michael Lucy <MichaelGLucy@Gmail.com>
To: guile-devel@gnu.org
Subject: Re: PEG Parser Updates/Questions
Date: Fri, 6 Aug 2010 01:40:13 -0500	[thread overview]
Message-ID: <AANLkTik6gsxEq+0pAz=Et-v496fLuuXBVs9YcVTfd2qF@mail.gmail.com> (raw)
In-Reply-To: <AANLkTi=U+14pSWomQvxzN8SaVGfu_nVn-3d1fqTXmv2v@mail.gmail.com>

On Wed, Jul 28, 2010 at 12:13 AM, Michael Lucy <MichaelGLucy@gmail.com> wrote:
> 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.  This
> turned out to be a little difficult to debug, however (read: I was
> unable to make the code actually work).  I 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.  I 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.  Is 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.  I'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:  I 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).  Is there a standard way of doing this?  I 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.  The 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).
>



  parent reply	other threads:[~2010-08-06  6:40 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-28  5:13 PEG Parser Updates/Questions Michael Lucy
2010-07-28  5:41 ` No Itisnt
2010-07-28  5:51   ` Michael Lucy
2010-08-06  6:40 ` Michael Lucy [this message]
2010-08-16  5:37   ` Michael Lucy
2010-08-20 21:30   ` Andy Wingo
2010-08-29  7:45     ` Phil
2010-08-30 15:32       ` Andy Wingo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='AANLkTik6gsxEq+0pAz=Et-v496fLuuXBVs9YcVTfd2qF@mail.gmail.com' \
    --to=michaelglucy@gmail.com \
    --cc=guile-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).