unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: "John W. Eaton" <jwe@bevo.che.wisc.edu>
Cc: "John W. Eaton" <jwe@bevo.che.wisc.edu>, guile-user <guile-user@gnu.org>
Subject: translators and scoping rules (was: Re: language translator help)
Date: Sat, 27 Apr 2002 19:54:27 -0500	[thread overview]
Message-ID: <15563.18499.936272.639276@segfault.bogus.domain> (raw)
In-Reply-To: <m37kmtiiar.fsf@laruns.ossau.uklinux.net>

On 27-Apr-2002, Neil Jerram <neil@ossau.uklinux.net> wrote:

| What are the Octave scoping rules?  For dynamic scoping (a la Elisp),
| Guile has the `@bind' macro for setting and restoring such variables'
| values.  In the Elisp case, this allows Elisp variables to be Guile
| variables directly.  (Except that it doesn't cope with buffer-local,
| etc.)

The scoping rules are fairly simple.  Variables are local to functions
unless declared global.  Global variables all share the same common
global namespace.

The eval() function can introduce new local variables.  How would you
do that with Guile?

Something like this

  (define foo
    (lambda ()
      (let ((x 21))
        (eval-string "(define a (* 2 21))")
        (display a)
        (newline))))

works to define a new variable "a", but once foo has been evaluated,
the variable "a" is visible outside the scope of the function:

  guile> a
  ERROR: In expression a:
  ERROR: Unbound variable: a
  ABORT: (unbound-variable)

  Type "(backtrace)" to get more information or "(debug)" to enter the debugger.
  guile> 
  guile> 
  guile> (define foo
  ...      (lambda ()
  ...        (let ((x 21))
  ...          (eval-string "(define a (* 2 21))")
  ...          (display a)
  ...          (newline))))
  guile> 
  guile> (foo)
  42
  guile> a
  42

How would you use eval to introduce a new local variable?

jwe

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


  parent reply	other threads:[~2002-04-28  0:54 UTC|newest]

Thread overview: 125+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-04-26 17:55 language translator help John W. Eaton
2002-04-26 21:14 ` Thomas Bushnell, BSG
2002-04-27  9:48 ` Neil Jerram
2002-04-28  0:47   ` John W. Eaton
2002-04-28  1:21     ` Thomas Bushnell, BSG
2002-04-28  1:32       ` John W. Eaton
2002-04-28  2:10         ` Thomas Bushnell, BSG
2002-04-28 14:44           ` John W. Eaton
2002-04-28 18:41             ` Thomas Bushnell, BSG
2002-04-28 22:18               ` John W. Eaton
2002-04-29  5:16                 ` Thomas Bushnell, BSG
2002-04-29 16:36                   ` John W. Eaton
2002-04-29 20:28                     ` Thien-Thi Nguyen
2002-04-30 17:57                     ` MJ Ray
2002-05-01  6:31                       ` Thomas Bushnell, BSG
2002-04-30 22:49                     ` Thomas Bushnell, BSG
2002-04-28 18:21       ` Neil Jerram
2002-04-28 18:42         ` Thomas Bushnell, BSG
2002-05-01 22:19           ` Neil Jerram
2002-05-15 11:35         ` Thien-Thi Nguyen
2002-05-15 20:49           ` Marius Vollmer
2002-05-15 23:13             ` Thien-Thi Nguyen
2002-05-16  0:26               ` Bill Gribble
2002-05-16  1:20                 ` Thien-Thi Nguyen
2002-05-16  5:02                 ` Per Bothner
2002-05-16 21:57               ` Marius Vollmer
2002-05-16 22:36                 ` Thien-Thi Nguyen
2002-05-22 12:37                   ` Marius Vollmer
2002-05-22 19:26                     ` Thien-Thi Nguyen
2002-05-22 20:50                       ` Marius Vollmer
2002-05-22 22:23                         ` Thien-Thi Nguyen
2002-05-23  0:23                           ` Marius Vollmer
2002-05-23  4:59                             ` Thien-Thi Nguyen
2002-05-23 11:37                               ` Bill Gribble
2002-05-23 23:41                                 ` Thien-Thi Nguyen
2002-05-23 11:46                           ` MJ Ray
2002-05-23 17:33                             ` Marius Vollmer
     [not found]                               ` <mvo@zagadka.ping.de>
2002-05-23 22:20                                 ` MJ Ray
2002-05-27 20:26                                   ` Marius Vollmer
2002-05-29  8:55                                     ` Thien-Thi Nguyen
2002-05-29 18:56                                       ` Marius Vollmer
2002-05-29 19:17                                         ` Thien-Thi Nguyen
2002-05-29 19:46                                           ` Marius Vollmer
2002-05-29 19:59                                             ` Thien-Thi Nguyen
2002-05-30 12:16                                               ` Marius Vollmer
2002-05-30 22:39                                                 ` Thien-Thi Nguyen
2002-05-30  2:28                                           ` Christopher Cramer
2002-05-30  7:38                                             ` Thien-Thi Nguyen
2002-06-04 22:58                                           ` MJ Ray
2002-06-04 23:56                                             ` Thien-Thi Nguyen
     [not found]                                               ` <ttn@giblet.glug.org>
2002-06-05  8:22                                                 ` MJ Ray
2002-06-05  9:42                                                   ` Thien-Thi Nguyen
2002-06-05 22:59                                                     ` MJ Ray
2002-06-05 23:32                                                       ` Thien-Thi Nguyen
2002-06-07 23:14                                                       ` Thien-Thi Nguyen
2002-06-05 23:54                                                 ` MJ Ray
2002-06-06  0:23                                                   ` Thien-Thi Nguyen
2002-06-06  2:44                                                     ` Bill Gribble
2002-06-06  7:23                                                       ` Thien-Thi Nguyen
2002-06-06  8:13                                                       ` Thien-Thi Nguyen
2002-06-06  9:24                                                 ` MJ Ray
2002-06-06 11:18                                                   ` Thien-Thi Nguyen
2002-06-07 23:25                                                     ` MJ Ray
2002-06-08  0:42                                                       ` Thien-Thi Nguyen
2002-06-08  4:49                                                       ` Thien-Thi Nguyen
2002-06-08 17:44                                                       ` rm
2002-06-10 16:45                                                         ` Marius Vollmer
2002-06-08 22:45                                                 ` MJ Ray
2002-06-08 23:18                                                   ` Thien-Thi Nguyen
2002-06-10 12:29                                                     ` MJ Ray
2002-06-10 12:31                                                     ` MJ Ray
2002-06-10 19:18                                                       ` Thien-Thi Nguyen
2002-06-10 23:30                                                 ` MJ Ray
2002-06-10 23:51                                                   ` Thien-Thi Nguyen
2002-06-11 17:50                                                     ` Robert Uhl <ruhl@4dv.net>
2002-06-11 20:09                                                       ` Thien-Thi Nguyen
2002-06-11 18:48                                                   ` news
2002-06-12 17:44                                                     ` Forking stables. was " MJ Ray
2002-06-12 20:31                                                       ` Rob Browning
2002-06-14 19:32                                                       ` Thien-Thi Nguyen
2002-06-14 20:08                                                         ` Clinton Ebadi
2002-06-14 20:21                                                           ` Thien-Thi Nguyen
2002-06-14 21:03                                                             ` Clinton Ebadi
2002-06-14 21:39                                                               ` Robert Uhl <ruhl@4dv.net>
2002-06-14 21:45                                                               ` news
2002-06-17 22:37                                                                 ` Neil Jerram
2002-06-17 23:06                                                                   ` Clinton Ebadi
2002-06-17 23:14                                                                     ` Clinton Ebadi
2002-06-17 23:35                                                                   ` Bill Gribble
2002-06-18 18:40                                                                   ` news
2002-10-04 17:53                                                                     ` Thien-Thi Nguyen
2002-06-15  6:29                                                               ` Thien-Thi Nguyen
2002-09-08 18:48                                                 ` guile 1.4.1.86 (snap) available MJ Ray
2002-09-08 20:09                                                   ` Thien-Thi Nguyen
2002-05-18 13:47           ` language translator help Neil Jerram
2002-05-19  2:32             ` Thien-Thi Nguyen
2002-05-19  3:03               ` Thien-Thi Nguyen
2002-04-28  6:53     ` Per Bothner
2002-04-28 18:21     ` Neil Jerram
2002-04-28  0:53   ` loop translations (was: Re: language translator help) John W. Eaton
2002-04-28  1:33     ` Thien-Thi Nguyen
2002-04-28  5:06       ` David Pirotte
2002-04-28  9:52         ` rm
2002-04-28 13:49     ` Marius Vollmer
2002-04-28 14:29       ` John W. Eaton
2002-04-28 18:15         ` Marius Vollmer
2002-04-28 18:48           ` Marius Vollmer
2002-04-29 20:07             ` Clinton Ebadi
2002-04-29 20:50               ` Eric E Moore
2002-04-30 15:07                 ` Eric E Moore
2002-04-28 18:21     ` Neil Jerram
2002-04-28  0:54   ` John W. Eaton [this message]
2002-04-28 13:50     ` translators and scoping rules " Marius Vollmer
2002-04-28 14:03       ` John W. Eaton
2002-04-28 14:35         ` Marius Vollmer
2002-04-29  2:26           ` John W. Eaton
2002-05-07 18:50             ` Marius Vollmer
2002-04-28 15:26         ` Per Bothner
2002-04-29  2:08           ` John W. Eaton
2002-04-29  4:37             ` Per Bothner
2002-04-29 16:27               ` John W. Eaton
2002-04-28 18:21     ` Neil Jerram
  -- strict thread matches above, loose matches on Subject: below --
2002-09-08  6:23 guile 1.4.1.86 (snap) available Thien-Thi Nguyen
2002-09-08 17:21 ` MJ Ray
2002-09-08 17:45   ` Thien-Thi Nguyen

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=15563.18499.936272.639276@segfault.bogus.domain \
    --to=jwe@bevo.che.wisc.edu \
    --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).