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!
next prev parent 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).