Newsgroups: comp.lang.scheme
Path: cantaloupe.srv.cs.cmu.edu!rochester!cornellcs!travelers.mail.cornell.edu!news.kei.com!news.mathworks.com!newsfeed.internetmci.com!news.sprintlink.net!howland.reston.ans.net!vixen.cso.uiuc.edu!sdd.hp.com!hpscit.sc.hp.com!hplntx!hplntx.hpl.hp.com!gjr
From: gjr@hplgr2.hpl.hp.com (Guillermo (Bill) J. Rozas)
Subject: Re: R4RS noncompliance on loading files
Sender: news@hpl.hp.com (HPLabs Usenet Login)
Message-ID: <GJR.95Sep10180258@hplgr2.hpl.hp.com>
In-Reply-To: blume@dynamic.cs.princeton.edu's message of 08 Sep 1995 13:53:33 GMT
Date: Mon, 11 Sep 1995 02:02:58 GMT
Reply-To: gjr@hplabs.hpl.hp.com
References: <423vhv$4al@mozo.cc.purdue.edu> <427e96$1qre@kaa.heidelbg.ibm.com>
	<BLUME.95Sep7092319@dynamic.cs.princeton.edu>
	<42p26v$2i37@kaa.heidelbg.ibm.com>
	<BLUME.95Sep8095333@dynamic.cs.princeton.edu>
Nntp-Posting-Host: hplgr2.hpl.hp.com
Organization: /users/gjr/.organization
Lines: 55

In article <BLUME.95Sep8095333@dynamic.cs.princeton.edu> blume@dynamic.cs.princeton.edu (Matthias Blume) writes:

|   Xref: hplntx comp.lang.scheme:11870
|   Path: hplntx!hpscit.sc.hp.com!news.dtc.hp.com!col.hp.com!sdd.hp.com!usc!howland.reston.ans.net!newsfeed.internetmci.com!delmarva.com!udel!princeton!cnn.Princeton.EDU!news.princeton.edu!blume
|   From: blume@dynamic.cs.princeton.edu (Matthias Blume)
|   Newsgroups: comp.lang.scheme
|   Subject: Re: R4RS noncompliance on loading files
|   Date: 08 Sep 1995 13:53:33 GMT

|   Indeed.  I was not claiming that the SML approach solves this problem.
|   The main reason why I favor it is that it is consistent.  Macro
|   definitions, inlining-directives _and_ variable definitions (as well
|   as every other conceivable definition) have effects on the future
|   only.  Everything else I said was only said to diffuse the often-heard
|   arguments in favor of the current Scheme semantics, which, IMO, are
|   broken.

Interesting.

I view the issue only as an issue during/for program development.  For
the final program (if such a thing exists), there is no issue,
assuming some simple stylistic choices that I believe virtually
everyone abides by.

Now, while I develop programs, I'm often in an editor like Emacs.
Most of the time, the program does not even make syntactic sense
(mismatched parentheses, etc.).

I'm perfectly willing to keep track of which pieces make sense, and
which need to be fixed for the program to make more sense than it made
previously.

I can see how some people always want their whole program to make
sense (C and Pascal encourage this static mode of thinking), and in
Scheme they can do so by re-initializing the top-level and reloading
from scratch every time they make a change.

But, as an issue of personal preference (much like which editor you
use), I would not require them to follow my model, and I would not
expect them to require me to follow theirs.

The current semantics allows both models:

- You can reinitialize your top-level every time if you wish.

- I will work with incomplete programs all the time (I think I am
  always doing that, even when they are considered in final form),
  and keep track of such depencencies myself.

This is not to say, however, that an automated tool that told me of
dependencies that I might not be aware of would not be nice to have.

I wish I had an interactive repl with incremental definition every
time I program in assembly language or even lower-level languages such
as C!
