unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: Rob Browning <rlb@defaultvalue.org>
Cc: Dirk Herrmann <dirk@ida.ing.tu-bs.de>, guile-devel@gnu.org
Subject: Re: expansion, memoization, and evaluation...
Date: Tue, 03 Dec 2002 21:10:00 -0600	[thread overview]
Message-ID: <87heduh43b.fsf@raven.i.defaultvalue.org> (raw)
In-Reply-To: <xy7bs42wkxd.fsf@linnaeus.i-did-not-set--mail-host-address--so-tickle-me> (Mikael Djurfeldt's message of "Wed, 04 Dec 2002 03:57:18 +0100")

Mikael Djurfeldt <mdj@kvast.blakulla.net> writes:

> Oops...  This reminds me of another consideration I had when opting to
> work on Scheme source: While methods are normally optimized at
> generic application time, goops source can be compiled offline.
>
> If the optimizer does source --> source transformation it's reasonably
> easy to use it together with an offline compiler.  It's more difficult
> to explain the memoized code to the compiler...

OK, I'm confused (and I'm pretty sure most of the difficulty is on my
end :>).  I'm not completely familiar with how things work now, so
could you explain a bit if you have time?

In the above, am I right in presuming that by "work on Scheme source",
you're referring to the way your goops code uses the combination of
the scheme source and an envt representation during the process (that
I don't yet know a lot about) of optimizing an invocation?

Also in the above, when you say "optimizer does source -> source
transformation", which optimizer are you referring to, and more
generally, how would the offline compilation process go in your
thinking?

  scm-sexp -> expanded-sexp -> goops-optimized-sexp -> .o file?

or does the goops optimizer have to work in the dynamic envt at
runtime?  If so, is there a way we can build a goops optimizer that's
more efficient than just falling back on eval?

-- 
Rob Browning
rlb @defaultvalue.org, @linuxdevel.com, and @debian.org
Previously @cs.utexas.edu
GPG starting 2002-11-03 = 14DD 432F AE39 534D B592  F9A0 25C8 D377 8C7E 73A4


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


  reply	other threads:[~2002-12-04  3:10 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-12-04  2:41 expansion, memoization, and evaluation Rob Browning
2002-12-04  2:57 ` Mikael Djurfeldt
2002-12-04  3:10   ` Rob Browning [this message]
2002-12-04  3:31     ` Mikael Djurfeldt
2002-12-04  4:07       ` Rob Browning
2002-12-04  7:07         ` Mikael Djurfeldt
2002-12-04 21:11           ` Rob Browning
2002-12-04 21:47             ` Mikael Djurfeldt
2002-12-05  0:07               ` Rob Browning
2002-12-05 16:27                 ` Marius Vollmer
2002-12-05 17:07                   ` Rob Browning
2002-12-04  8:09   ` klaus schilling
2002-12-04 10:55     ` Mikael Djurfeldt

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=87heduh43b.fsf@raven.i.defaultvalue.org \
    --to=rlb@defaultvalue.org \
    --cc=dirk@ida.ing.tu-bs.de \
    --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).