Author Message

***** UNDELIVERABLE MAIL sent to terry, being returned by clarity!terry *****
mail: Error # 8 'Invalid recipient' encountered on system clarity

Received: from grover.clarity.com by clarity.clarity.com via SMTP (911016.SGI/910805.SGI)
        for terry id AA10416; Fri, 9 Feb 96 17:06:47 -0800
Received: by clarity.com (4.1/SMI-4.1)
        id AA12338; Fri, 9 Feb 96 17:06:48 PST

Received: from martigny.ai.mit.edu by clarity.com (4.1/SMI-4.1)
        id AA12333; Fri, 9 Feb 96 17:06:30 PST

Received: from mc.lcs.mit.edu by martigny.ai.mit.edu with SMTP
        ( id AA11289; Sat, 10 Feb 96 01:00:43 -0500
Received: from mc.lcs.mit.edu by mc.lcs.mit.edu id aa03783; 10 Feb 96 1:00 EST
X-Digestifier-Version: 2.11

Date: Sat, 10 Feb 96 00:00:08 EST

Subject: Scheme Digest V8 #41

Scheme Digest               Sat, 10 Feb 96       Volume 8 : Issue  41

Today's Topics:
                            emacs problem
               Is there a consistent version of Scheme?
                Q: how does "letrec" work... (2 msgs)
         Scheme source code for built-in language functions.
            significantly enhanced SIOD release available
             Weekly Reminder: Internet Scheme Repository

Date: 8 Feb 1996 20:08:35 GMT

Organization: Villanova University
Subject: emacs problem

I have been having a problem running
an inferior scheme process in emacs
version 18.52.17.  It can't display
any objects other than integers.  Instead
it displays

Scheme saved on Sunday November 21, 1993 at 9:15:23 PM
  Release 7.3.0 (beta)
  Microcode 11.146
  Runtime 14.166

(define l '(1 2 3))
;Value: l

l E(xscheme-write-message-1 xscheme-prompt (format ";Value 1: %s" xscheme-prompt))  p1 [Evaluator]  R

I would appreciate any help. pleasee

Daniel Hardt
Department of Computing Science
Villanova University
Villanova, PA 19085-1699


Date: 8 Feb 1996 20:38:15 -0500

Organization: America Online, Inc. (1-800-827-6364)

Subject: Is there a consistent version of Scheme?

Is there a consistent version of Scheme which will allow for the
possibility of using the same code on both a Mac and a PC?

  I've been told that MacGambit code can't be written as is on a PC, and
that code written in versions of Scheme for the PC will not work in
MacGambit.  I'm surprised that the standard would be deviated from to such
an extent. (Of course, I'm not talking about anything that would use the
OS of either machine, just the basic program itself).  

Thank you for your help.

Don Fisher


Date: 8 Feb 1996 18:08:18 GMT

Organization: Powertrain Operations, Ford Motor Company

Subject: Q: how does "letrec" work...


> Original lambda expression:

>   (lambda (x)
>     (letrec
>       ((z x)
>        (x 3)
>        (y x))
>       (+ x y z))))

rewrite to: (call this form 1)

>   (lambda (x)
>     ((lambda (x z y)
>        (set! x 3)
>        (set! z x)
>        (set! y x)
>        (+ x y z))
>      <undefined> <undefined> <undefined>))

another series of rewrites to: (call this form 2)

>   (lambda (x)
>     ((let ((x 3))
>        (lambda (ignored ignored2 ignored3)
>          (let ((z x)
>                (y x))
>            (+ x y z))))
>      <undefined> <undefined> <undefined>))

> Now we propagate the known value of x:

Although I follow the rewrites, I'm not clear why the value of x can't be
propogated just as easily in form 1 as it is in form 2.  It seems to me that
a compiler clever enough to value propogate across a lexical boundary would
also be able to value propogate within a lexical block.  It seems like it
would *have* to.

If this is true, then form 1 can simply be rewritten to:

  (lambda (x)
    ((lambda (x z y)
       (set! x 3)
       (set! z 3)
       (set! y 3)
       (+ 3 y z))
     <undefined> <undefined> <undefined>))

And then likewise for z and y.  But this whole example seems silly because
the original expression is not a correct scheme program.  letrec requires
that all of the init expressions not depend on the value of any of the
letrec bindings.  This example does.

Am I missing something totally obvious?  (Like maybe the first half of
the conversation?)

- Ken

                                   | represent those of, nor are endorsed
Ford Motor Company, Powertrain     | by, Ford Motor Company.
Analytical Powertrain Methods      |
AP Environment Section             | "Is this some sort of trick question
                                   |  or what?" -- Calvin


Date: 6 Feb 1996 00:23:42 GMT

Organization: The Aerospace Corporation, El Segundo, CA

Subject: Q: how does "letrec" work...


>Bart> why does the following code not work????

>Bart> (define test
>Bart>   (lambda (x)
>Bart>      (letrec
>Bart>         ((z x)
>Bart>          (x 3)
>Bart>          (y x))
>Bart>         (+ x y z))))

>Think carefully about what the "rec" means in "letrec" -- it allows mutual
>recursion.  The assumption is that the definition of z, for example, may refer
>to names defined later in the letrec, which is exactly what happens.
>You should be able to make sense of each of the following three examples.

>> (define test
>  (lambda (x)
>     (letrec
>        ((z x)
>         (x 3)
>         (y x))
>        (+ x y z))))

>> (test 5)

Au contraire.  My reading of R4RS says the given code ought not to work.  And
indeed, it doesn't with MacGambit---one gets an error when it tries to use the
value of y in place of a number.  R4RS says the variables are first to be
bound to fresh locations containing undefined values, then the inits are
evaluated in THIS environment, then those values are assigned to the
variables, and finally the body of the letrec is executed.  Well, when the
inits are evaluated, x evaluates to "undefined," so this is whats gets
assigned to z and y; in the same step, x gets the value 3, but that's too late
to effect the values of z and y.

What scheme are you using, Gregory? That code should have broken.

On the other hand, this gets the answer you got:

  (define test
    (lambda (x)
        ((z (delay x))
         (x 3)
         (y (delay x)))
        (+ x y z))))

John Doner


Date: Fri, 09 Feb 1996 02:41:49 GMT

Organization: Voicenet - Internet Access - (215)674-9290
Subject: Scheme source code for built-in language functions.

Does anyone know where source code listings for scheme built-in
functions are located?


Date: 7 Feb 1996 03:04:31 GMT

Organization: NIL
Subject: significantly enhanced SIOD release available

A new SIOD release is available at ftp://ftp.std.com/pub/gjc/siod_tar.gz
which has the following significant enhancements over previous releases:

- builds as shared library and loads shared libraries for OSF/1, HP-UX, SOLARIS
- ndbm support
- gd (gif-producing graphics library) support
- tar support
- regex (regular expression) support
- sockets support
- sybase support using ct_library
- updated oracle support using OCI
- updated rdb support
- CGI (WEB SERVER) support including main program conveniences and url,html encodings.
- md5 support
- unix system call support include file locking, stat, directory.

The distribution is still only around 100k bytes, and the runtime footprint
is breathtakingly small, as always.

Would there be any interest in a Netscape Server API module that allowed scheme
programs interpreted by SIOD to be loaded into the server processes?



Date: Fri, 9 Feb 1996 22:00:04 -0500 (EST)

Organization: Computer Science, Indiana University
Subject: Weekly Reminder: Internet Scheme Repository

This weekly auto-posting is a reminder that the Internet Scheme
Repository may be reached through anonymous ftp:


or through the World Wide Web at URL:


If you are an author of Scheme-related material, please consider
contributing to the Repository.  If you believe any of your material
is already in the Repository, please check that it is up to date with
your newest release.

Instructions for contributing are available in:




If you are mirroring the Scheme Repository, please contact me at the
administrative address.


End of Scheme Digest

Wed, 29 Jul 1998 03:00:00 GMT  
 [ 1 post ] 

 Relevant Pages 

1. None not None in Excel COM?

2. PythonCOM: com_error: (-2147418113, 'Catastrophic failure', None, None)

3. Proposal: min(None, x) and max(None, x) return x

4. Shouldn't __init__ return self instead of None? (Was: Re: [Tutor] Why error if method __init__ does not return none)

5. (none)

6. (none)

7. (none)

8. (none)

9. <none>

10. None (mail relay)

11. None

12. (none)


Powered by phpBB® Forum Software