unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* Anything better for delayed lexical evaluation than (lambda () ...)?
@ 2011-12-03 15:45 David Kastrup
  2011-12-03 16:44 ` Andy Wingo
                   ` (2 more replies)
  0 siblings, 3 replies; 82+ messages in thread
From: David Kastrup @ 2011-12-03 15:45 UTC (permalink / raw)
  To: guile-devel


Hi, if I have something read that is evaluated later, the lack of
procedure-environment in Guilev2 implies that I have to wrap the stuff
in (lambda () ...) in order to capture the lexical environment for
evaluation.

Is it possible to have a shortcut (make-closure ...) or so for that
purpose?  The reason is that if ... is a call to a
procedure-with-setter, (lambda () ...) actually does not cut it for
capturing the semantics of ..., and I need
(make-procedure-with-setter (lambda () ...)
                            (lambda (x) (set! ... x)))

But x is not hygienic, so this is again too simplistic.  And a separate
macro make-closure also could decide that the expression is pure anyway
and not go to the pain of creating an actual closure.

In any way, using (lambda () ...) might have more cases where it just is
not equivalent to the lexical expression inside when macros come into
play.

-- 
David Kastrup




^ permalink raw reply	[flat|nested] 82+ messages in thread

end of thread, other threads:[~2012-01-07 17:30 UTC | newest]

Thread overview: 82+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-12-03 15:45 Anything better for delayed lexical evaluation than (lambda () ...)? David Kastrup
2011-12-03 16:44 ` Andy Wingo
2011-12-06 14:55 ` Thien-Thi Nguyen
2011-12-06 15:45   ` David Kastrup
2011-12-06 19:50 ` Marco Maggi
2011-12-11  9:33   ` David Kastrup
2011-12-11  9:51     ` David Kastrup
2011-12-12  5:21     ` Mark H Weaver
2011-12-12  6:47       ` David Kastrup
2011-12-12 18:29         ` Mark H Weaver
2011-12-12 19:56           ` David Kastrup
2011-12-12 20:39             ` rixed
2011-12-12 21:02               ` David Kastrup
2011-12-12 21:58                 ` Mark H Weaver
2011-12-12 21:40             ` Mark H Weaver
2011-12-12 21:50           ` Andy Wingo
2011-12-13  9:02             ` David Kastrup
2011-12-13 13:05               ` Andy Wingo
2011-12-13 13:56                 ` David Kastrup
2011-12-13 14:34                   ` Andy Wingo
2011-12-13 15:27                     ` David Kastrup
2011-12-13 15:48                       ` Andy Wingo
2011-12-13 16:08                         ` David Kastrup
2011-12-13 16:27                           ` Andy Wingo
2011-12-13 16:54                             ` David Kastrup
2011-12-13 18:58                               ` Andy Wingo
2011-12-13 22:23                                 ` David Kastrup
2011-12-13 17:28                             ` Mark H Weaver
2011-12-13 18:49                               ` Andy Wingo
2011-12-13 19:15                                 ` Mark H Weaver
2011-12-13 23:00                                   ` Noah Lavine
2011-12-13 23:16                                     ` David Kastrup
2011-12-13 23:44                                       ` Andy Wingo
2011-12-13 23:39                                     ` Andy Wingo
2011-12-13 23:45                                       ` David Kastrup
2011-12-14 10:15                                         ` Andy Wingo
2011-12-14 10:32                                           ` David Kastrup
2011-12-14  0:30                                       ` Mark H Weaver
2011-12-14  8:16                                         ` David Kastrup
2011-12-14  0:42                                       ` Noah Lavine
2011-12-14  0:47                                       ` Noah Lavine
2011-12-14  1:30                                     ` Mark H Weaver
2011-12-14  7:50                                       ` Mark H Weaver
2011-12-14  8:48                                         ` [PATCH] Implement `capture-lexical-environment' in evaluator Mark H Weaver
2011-12-14  9:08                                           ` David Kastrup
2011-12-14  9:36                                           ` Mark H Weaver
2011-12-16  9:21                                           ` [PATCH] Implement `the-environment' and `local-eval' " Mark H Weaver
2011-12-16  9:32                                             ` David Kastrup
2011-12-16 14:00                                               ` Peter TB Brett
2011-12-16 14:26                                                 ` David Kastrup
2011-12-16 15:27                                                 ` Mark H Weaver
2011-12-16 16:01                                                   ` Andy Wingo
2011-12-16 17:44                                                     ` Mark H Weaver
2011-12-16 19:12                                                       ` Mark H Weaver
2012-01-07  1:26                                                         ` Andy Wingo
2012-01-07 17:30                                                           ` Mark H Weaver
2012-01-07  1:18                                                       ` Andy Wingo
2011-12-16 16:59                                                   ` Hans Aberg
2011-12-14 10:08                                         ` Anything better for delayed lexical evaluation than (lambda () ...)? Andy Wingo
2011-12-14 10:27                                           ` David Kastrup
2011-12-14 13:35                                             ` Andy Wingo
2011-12-14 15:21                                               ` David Kastrup
2011-12-14 15:55                                                 ` Andy Wingo
2011-12-14 17:26                                               ` Mark H Weaver
2011-12-14 18:23                                                 ` David Kastrup
2011-12-14 18:38                                                 ` Mark H Weaver
2011-12-14 19:14                                                   ` David Kastrup
2011-12-14 19:44                                                     ` David Kastrup
2011-12-14 22:56                                                 ` Andy Wingo
2011-12-14 11:03                                           ` Mark H Weaver
2011-12-14 11:18                                             ` David Kastrup
2011-12-14 13:31                                             ` Noah Lavine
2011-12-14 21:03                                               ` Mark H Weaver
2011-12-14 22:12                                                 ` David Kastrup
2011-12-14 22:24                                                   ` David Kastrup
2011-12-14 22:55                                                 ` Andy Wingo
2011-12-13 16:24                         ` David Kastrup
2011-12-13 15:52                       ` David Kastrup
2011-12-13 11:14             ` David Kastrup
2011-12-14 13:52             ` Ludovic Courtès
2011-12-14 14:27               ` David Kastrup
2011-12-14 21:30                 ` Ludovic Courtès

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).