unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: Eli Barzilay <eli@barzilay.org>
To: Ian Price <ianprice90@googlemail.com>
Cc: Guile Mailing List <guile-devel@gnu.org>
Subject: Re: Syntax Parameters documentation for guile
Date: Tue, 3 Jan 2012 19:33:01 -0500	[thread overview]
Message-ID: <20227.40509.861506.889987@winooski.ccs.neu.edu> (raw)
In-Reply-To: <87sjjwz8u9.fsf@Kagami.home>

An hour and a half ago, Ian Price wrote:
> Eli Barzilay <eli@barzilay.org> writes:
> 
> >> the macro is used. Examples include an 'if' form that binds the
> >> result of the test to an 'it' binding, or class macros that
> >> introduce a special 'self' binding.
> >
> > The `abort' example is also popular, probably even more than `it'.
> > I think that there are practical uses of that (eg, a function with
> > a `return' keyword), whereas anaphoric conditionals are more of an
> > academic exercise that I don't think gets used in practice (at
> > least in Schemes).
> I mentioned it mostly because it is a traditional example, but I've
> swapped it for the lambda with return.
> 
> I'm not sure how popular aif is in general (I prefer a clojure style
> if-let), but I do know it is in the popular miscmacros egg for
> chicken.

(I suspect that its popularity comes from these examples...)


> >> ** define-syntax-parameter keyword transformer [syntax]
> >> Binds keyword to the value obtained by evaluating transformer as
> >> a syntax-parameter.
> >
> > The keyword is bound to the value of the `transformer' expression.
> > (Evaluated at the syntax level, in Racket's case, I don't know if
> > Guile has separate phases yet...)  It's not evaluated as a syntax
> > parameter, just like parameters.
> This is a case of syntactic ambiguity in English, I meant it as 
> "Binds keyword to (the value obtained by evaluating transformer) as a
> syntax-parameter."

Yeah, I figured that.  It's generally pretty hard to describe such
things accurately because of natural language conventions.  I run into
such problems in my course very frequently.


> I've just dropped the "as a syntax-parameter" part.

That works fine.


> In case anyone else has any comments, the modified version is
> included below. Now I'm off to learn about texinfo :)

(Ugh, medieval programming...)

-- 
          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!



  reply	other threads:[~2012-01-04  0:33 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-23 15:46 Syntax Parameters documentation for guile Ian Price
2011-12-31  7:44 ` Eli Barzilay
2012-01-03 23:04   ` Ian Price
2012-01-04  0:33     ` Eli Barzilay [this message]
2012-01-06 18:47       ` Andy Wingo
2012-01-07  2:05         ` Ian Price
2012-01-07 17:37           ` Ian Price
2012-01-08  0:06             ` Andy Wingo
2012-01-08  2:39               ` Ian Price
2012-01-08 13:47                 ` Andy Wingo
2012-01-07  2:30         ` Eli Barzilay

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=20227.40509.861506.889987@winooski.ccs.neu.edu \
    --to=eli@barzilay.org \
    --cc=guile-devel@gnu.org \
    --cc=ianprice90@googlemail.com \
    /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).