unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: Lynn Winebarger <owinebar@free-expression.org>
Cc: guile-devel@gnu.org
Subject: Re: memoization and conditional defines
Date: Thu, 7 Nov 2002 18:22:03 -0500	[thread overview]
Message-ID: <0211071822031L.07034@locke.free-expression.org> (raw)
In-Reply-To: <3DCABA28.3421DA63@pacbell.net>

On Thursday 07 November 2002 14:08, Bruce Korb wrote:
> I don't care how memoization works.  I understand there are
> optimization issues.  Optimizing isn't important to me, or
> I would not use an interpretive language as my "extension
> language".
     It's really about correctness of macro expansion in a broader
sense than just the core macros ('lambda, 'define, etc).  The core
macros just transform the sexpression into a more explicit parse
tree.  If you didn't do that, you could never be sure whether your
function would actually be a function or not. The symbol 'lambda
can be redefined at will by code in R5RS.  There are no
reserved keywords.

> BTW, my guess is that memoizing Guile will make it go much slower.
      Guile has been memoizing since its creation (or rather, the creation
of SCM).
      If you're worried about (if <test> (define <foo> <bar>)), you
can always use
(if <test> (eval '(define <foo> <bar>)))
which will do what you want.  eval's always execute in a top-level environment,
no matter where the expression occurs in the code.  And that '(define <foo> <bar>)
would get re-expanded every time it got executed.

Lynn


_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-devel


  parent reply	other threads:[~2002-11-07 23:22 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-11-07 17:52 memoization and conditional defines Dirk Herrmann
2002-11-07 19:08 ` Bruce Korb
2002-11-07 20:54   ` Clinton Ebadi
2002-11-07 23:22   ` Lynn Winebarger [this message]
2002-11-08  0:46     ` Bruce Korb
2002-11-08  1:24       ` Lynn Winebarger
2002-11-09  8:19         ` Dirk Herrmann
2002-11-09 22:39           ` Bruce Korb
2002-11-08  3:11 ` Rob Browning
2002-11-09  9:00   ` Dirk Herrmann
2002-11-09  9:41     ` tomas
2002-11-09 17:08     ` Rob Browning
2002-11-17 20:41 ` Marius Vollmer
2002-11-17 21:42   ` Bruce Korb

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=0211071822031L.07034@locke.free-expression.org \
    --to=owinebar@free-expression.org \
    --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).