unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: Panicz Maciej Godek <godek.maciek@gmail.com>
To: guile-user@gnu.org
Subject: progv in scheme
Date: Tue, 13 Sep 2011 15:54:03 +0200	[thread overview]
Message-ID: <CAMFYt2brYxZHRrOU6yMSzadxKrm57srcen0oorbdMt+RgPQs4w@mail.gmail.com> (raw)

Hello,
Is there any clever way of binding values to the list of unknown
symbols in scheme?

In common lisp there is a form "progv" that takes the list of symbols
and their corresponding values and binds them within the body of
progv.

It is possible to do it using eval, like this:
(define (bind-and-eval symbols values body)
(eval `((lambda ,symbols ,body) . ,values)
      (interaction-environment)))
(define-syntax let-symbols
(syntax-rules ()
  ((_ symbols values (body ...))
   (bind-and-eval symbols values (quote (body ...))))))

but using eval for this just seems too heavy. Is there any way of
doing it that would be more legal?

Best regards,
M.



             reply	other threads:[~2011-09-13 13:54 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-13 13:54 Panicz Maciej Godek [this message]
2011-09-13 14:25 ` progv in scheme Andrew Gwozdziewycz
2011-09-13 14:26   ` Andrew Gwozdziewycz
2011-09-13 16:04   ` Panicz Maciej Godek
2011-09-13 16:35     ` Andrew Gwozdziewycz
2011-09-13 17:01       ` Bill Schottstaedt
2011-09-13 17:54       ` Bill Schottstaedt
2011-09-13 17:20     ` Ludovic Courtès
2011-09-13 17:57 ` Ian Price
2011-09-13 18:48   ` Panicz Maciej Godek
2011-09-13 19:09     ` Bill Schottstaedt
2011-09-13 19:16       ` Andrew Gwozdziewycz
2011-09-15 18:11       ` Andy Wingo
2011-09-15 18:16         ` Andrew Gwozdziewycz

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=CAMFYt2brYxZHRrOU6yMSzadxKrm57srcen0oorbdMt+RgPQs4w@mail.gmail.com \
    --to=godek.maciek@gmail.com \
    --cc=guile-user@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).