HDTenEightyP/NetNews huggingface dataset:
From: bh@anarres.CS.Berkeley.EDU (Brian Harvey)
Newsgroups: comp.lang.scheme
Subject: Re: case sensitivity
Date: 6 Nov 1992 16:00:49 GMT
Organization: University of California, Berkeley
Distribution: world
NNTP-Posting-Host: anarres.cs.berkeley.edu

kobler@informatik.tu-muenchen.de (Daniel Kobler) writes:
>    'Wall is claimed to be the same as 'WALL,
>
>whereas
>
>    (string->symbol "Wall") and (string->symbol "WALL") are different.
>
>And again my question: why these differences? Wouldn't it be better to
>do it the one OR the other way, i.e. allow symbols with upper/lower
>case letters or strictly converting all letters inside symbol names to
>the case preferred by the respective implementation?

It *would* be nice, I think, if someone more qualified than I wrote a
summary article called "The Philosophy of Scheme" or something like that
explaining how things like this come about.

But, ever foolhardy, I'll throw in my partial understanding...

One traditional Lisp idea that has been pretty thoroughly rejected in
Scheme is that of programs constructing programs and then evaluating
them.  If you're accustomed to manipulating program text as data (as
opposed to manipulating executable bits of program -- functions -- as
data, which Scheme *does* support) then along with that you're accustomed
to thinking of a symbol as a kind of text string.  Traditional Lisp
systems support this way of thinking by providing things like EXPLODE
and IMPLODE that encourage messing around with the characters in a symbol.

On the Scheme view, a symbol is a seamless black box.  It's just as a
concession to human memory that symbols have letters in them at all;
from Scheme's point of view it would be just as good if you had a keyboard
with a few hundred unlabelled keys, each of which was a single-keystroke
symbol.

string->symbol is a concession to people with unusual needs.  The reason
it doesn't follow the usual rules for symbols is that it exists precisely
as a mechanism to escape from those rules.  Using string->symbol is
cheating, sort of like using goto in some other languages.


(P.S.  If this doesn't come out quite right it's because I'm trying to
express a view that isn't mine.  Personally I find that I spend far too
much time putzing with details about characters vs. strings vs. symbols;
for my simple mind the Logo approach in which there is just one data type
called Word that fills all these roles is easier.  But of course it's
less efficient the Logo way.)
From: kend@data.rain.com (Ken Dickey)
Newsgroups: comp.lang.scheme
Subject: Re: Amiga Scheme?
Date: 9 Nov 92 17:18:07 GMT
Article-I.D.: data.732
Organization: Microtek DSD, Hillsboro, OR

mbottner@eagle.wesleyan.edu writes:

> Does anyone out there know if there is an Amiga implementation of
> Scheme...

I just mailed 2 disks to Fred Fish which consist of the Gambit
interpreter, compiler, some sample code and tutorials.  In addition to
Gambit, Scheme->C, Scm, and a few others have been ported.

There are a number of Schemes available for the Amiga on
gatekeeper.dec.com in the /pub/systems/amiga/lisp directory.

You can get the Gambit disks from me until Fred posts them ($5 for
postage+disk: the interpreter is freeware, the compiler + all sources
shareware $40).  


-Ken Dickey, 14565 SW McFarland, Tigard OR 97223  -- kend@data.rain.com
Newsgroups: comp.lang.scheme
Subject: Amiga Scheme?
From: mbottner@eagle.wesleyan.edu
Date: 5 Nov 92 02:28:09 EDT
Organization: Wesleyan University

	Does anyone out there know if there is an Amiga implementation of
Scheme, either in the public domain or elsewhere.  If it must be purchased,
where can it be obtained, and what is the price range?  Any information would
be appreciated.

Mattias Bottner
MBOTTNER@EAGLE.WESLEYAN.EDU

Newsgroups: comp.lang.scheme,comp.lang.functional
From: John Lacey <johnl@silver.ucs.indiana.edu>
Subject: Looking for partial evaluators
Content-Type: text
Organization: Indiana University
Date: Mon, 9 Nov 1992 06:46:26 GMT
X-Mailer: ELM [version 2.4 PL0]
Content-Length: 443       

   [This posting is on behalf of Shriram K., sskrishn@cc.owu.edu.]

I am looking for free versions of partial evaluators, preferably those
based on Scheme subsets.

We have an IBM RS6000 under AIX 3.2 running MIT Scheme r6.1.2 and Scm
v4a12; we do not have "fancier" implementations such as Chez Scheme. I
have also been able to successfully install Gofer v2.23 and Caml Light
v0.5, should either be necessary.

Thank you for your assistance.
Newsgroups: comp.lang.scheme
From: cdantoni@abacus.bates.edu (Chuck D'Antonio)
Subject: Linking PC Scheme with Turbo C++
Organization: Bates College, Lewiston, Maine
Date: Fri, 6 Nov 1992 04:59:56 GMT
Summary: How do you link code from PC Scheme and Turbo C++
Keywords: C++ Scheme Linking

I'm beginning a database project in C++, but would like to implement
the query system in Scheme.  I have access to PC Scheme and Turbo C++,
and these would be the languages I would be using, but I have no idea
how to link them.  Any answers?

Chuck

P.S.  To all you religious zealots, I'd like to do it totally in
Scheme, but I'm concerned with how the software will be maintained
after I graduate (many more imperative language programmers here).

-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- WRBC->91.5 FM -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Chuck D'Antonio			      /\    He did it!  Congratulations to  
internet: cdantoni@abacus.bates.edu   \/       _President-elect_ Clinton!
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-  Apple II Forever -=-=-=-=-=-=-=-=-=-=-=-=-=-=-
From: gjc@mitech.com (George J. Carrette)
Newsgroups: comp.lang.scheme
Subject: Re: Scheme Digest V4 #292
Date: 6 Nov 92 14:36:09 GMT
Organization: Mitech Corporation, Concord MA

In article <9211051836.AA07012@ukko.think.com>, gls@think.COM (Guy Steele) writes:
> \begin{flame}
>   American society, in particular, has of late developed a style
>   of speaking in which there is much discussion, and claiming,
>   of "freedoms" and "rights" and relatively little discussion
>   of corresponding responsibilities and obligations--most
>   notably the obligation of allowing others to have the same
>   rights and freedoms.  This worries me.  So I put in my two
>   cents' worth.  Now I'll stand back and let others do the same.
> \end{flame}

(declare (meta-flame))

Which is why I suggested a user-configurable option (switch if you will),
for determining the behavior of system case canonicalization.
  
  > the obligation of allowing others to have the same
  > rights and freedoms. 

Call it a "right-to-choose" if you will.

The main argument -against- this right-to-choose was that some people
were afraid that they would be writing code that would not be able
to be used by people who chose differently than they chose.

Besides being technically incorrect (and Brian Harvey has some right
to flame me for not providing the details of why this was incorrect)
the argument is based on a most incredible self-centered notion.

(undeclare (meta-flame))


Newsgroups: comp.lang.scheme
From: jaffer@zurich.ai.mit.edu (Aubrey Jaffer)
Subject: IEEE and R4RS conformance test test.scm released.
Organization: M.I.T. Artificial Intelligence Lab.
Date: Mon, 9 Nov 1992 17:15:50 GMT

Test.scm is an IEEE and R4RS conformance test suite.  It is available
from altdorf.ai.mit.edu:archive/scm/test.scm
and nexus.yorku.ca:pub/scheme/new/test.scm

I have added some additional tests and removed some incorrect ones
since the last release of test.scm.  Thanks to those correspondents
who suggested the changes.

A lot more tests could be added to TEST-INEXACT.  Please send any
improvements to jaffer@ai.mit.edu.
Newsgroups: comp.lang.scheme
From: ian@syacus.acus.oz.au (Ian Joyner)
Subject: Re: Case sensitivity
Organization: ACUS Australian Centre for Unisys Software, Sydney
Date: Thu, 5 Nov 1992 12:58:18 GMT

blume@kastle.Princeton.EDU (Matthias Blume) writes:

>The relationship between symbols as variables and symbols as data is sometimes
>already confusing enough.  Most of the arguments *pro* preserving
>case-insensitivity in this newsgroup are made on a ``don't complicate
>things''-basis.
>Although I don't agree that case-sensitivity makes things more complicated,
>I feel that the ``hybrid'' approach is really inacceptable.
>I know, that Scheme is not required to provide eval, but many implementations
>have it --- different symbols would suddenly denote the same location...

>I still don't understand, why some programmers (and program readers) should
>have such difficulties remembering, that Foo and foo are not the same!
>I already knew about this distinction as a kid, 1st grade in grade school :-)

Firstly, they are the same. A first grade kid WILL tell you this.

Secondly, it is not a matter of remembering. Often a program is being
maintained by a programmer who didn't write the original, and who has
got to work out what the program does.

Thirdly, the memory of the word foo is achieved by remembering the sound.
'Foo' and 'foo' are both remembered as the sound "FOO".

>And again: there are ``natural'' languages, where case matters.  I haven't met
>any German speaker, who confuses `Weg' and `weg'.  Is this really that hard?

But the more I see this example in its different guises, the more I
realise that it has little to do with the problem. It is a complication
in a natural language. I cannot see that this justifies the introduction
of the same complication into programming languges.

The more I think about the case sensitivity argument, the more I realise
that case sensitivity introduces unneeded complications, ambiguties,
difficulties in producing maintainable programs, and potential for subtle
errors that are difficult to detect.

Balance all that with there is NO appreciable benefit for having case
sensitivity, as it in no way affects the power of the programs that can
be written, and in no way enhances the expressiveness of a language...

Well I think you can guess my conclusion.

>BTW: There have been some arguments about actually *pronouncing* Scheme
>programs.
>     How do you pronounce the parentheses?  Whenever I tried to communicate
>     with other people on that level, I found it much harder to tell
>     about the program *structure* as opposed to some particular identifiers.
>     (The same holds for almost every programming language -- programming
>     languages like math symbolism has been invented to be written, not
>spoken.)

This is again justifying adding extra complexity, because something is
already complicated.
-- 
Ian Joyner  ACUS (Australian Centre for Unisys Software)    ian@syacus.acus.oz
"Where is the man with all the great directions?...You can't imagine it,
 how hard it is to grow, Can you imagine the order of the universe?" ABWH
Disclaimer:Opinions and comments are personal.
Newsgroups: comp.lang.scheme
From: f88-mdj@byse.nada.kth.se (Mikael Djurfeldt)
Subject: R4RS in Emacs-Info-format?
Reply-To: Mikael Djurfeldt <djurfeldt@nada.kth.se>
Organization: Royal Institute of Technology, Stockholm, Sweden
Distribution: comp
Date: Sat, 14 Nov 1992 00:31:08 GMT

Does anyone know if R4RS exists in GNU Emacs Info-format?

Please reply [also] in mail.

Mikael
Newsgroups: comp.lang.scheme
From: pothiers@aries.saic.COM (via the vacation program)
Subject: away from my mail
Organization: The Internet
Date: Thu, 12 Nov 1992 08:41:24 GMT

I'll be on vacation until Nov 18th (or perhaps earlier if the wind dies).
Your mail regarding "Scheme Digest V4 #299" will be read when I return.

Thanks,
-S.Pothier-


"The time a man spends sailing is not deducted from his lifespan."
From: tmb@arolla.idiap.ch (Thomas M. Breuel)
Newsgroups: comp.lang.scheme
Subject: Re: Case sensitivity
Date: 13 Nov 92 11:25:25
Organization: IDIAP (Institut Dalle Molle d'Intelligence Artificielle
	Perceptive)
Reply-To: tmb@idiap.ch
NNTP-Posting-Host: arolla.idiap.ch
In-reply-to: Alan@lcs.mit.EDU's message of Thu, 12 Nov 1992 21:27:44 GMT

Alan@lcs.mit.EDU writes:
|   From: "Thomas M. Breuel" <tmb@arolla.idiap.ch>
|   ...  On the other hand, writing the same symbol as "Foo" in one place
|   and "foo" in another is just plain in bad taste....
|
|I love it.  Earlier in this discussion there were people who wrote to say
|that they -like- to write code such as
|
|  (define (FACT n) (if (< n 2) 1 (* n (fact (- n 1)))))
|
|in order to emphasize the definitional occurrence.  So now you've labeled
|this as "bad taste".  There is now no doubt that this discussion is going
|nowhere fast.

To spell it out more clearly: "_I_ consider it in bad taste".  If I
get code like that, I will do a downcase region. I think if you want
to emphasize definitions, you should probably invest in a good editor
with highlighting and styles, and a good Scheme mode...

Since there are people who like one style, and there are other people
who like another style, it seems that the best compromise might be
simply not to allow different casings with the same spelling. Then,
the question of whether they mean something different or the same
can't even come up.

Of course, this suggestion is only half serious; I don't expect Scheme
to change, and, frankly, it doesn't make much of a difference, since
the most common use for case is to distinguish related names of
variable, types, constructors, signatures, functors, and modules, and
of those, Scheme programs usually only use variable names anyway. But
in languages that do support those constructs, case distinctions are
very useful and quite straightforward--when used consistently.

					Thomas.
From: al198723@academ01.mty.itesm.mx (Jesus Eugenio Sanchez Pena)
Newsgroups: comp.lang.scheme
Subject: [Q] getprop/putprop for R4RS?
Summary: Question: how to use getprop/putprop in R4RS Scheme
Keywords: Scheme, getprop, putprop, sources
Date: 6 Nov 92 04:39:48 GMT
Reply-To: al198723@academ01.mty.itesm.mx, al198723@next00.mty.itesm.mx, al198723@academ04.mty.itesm.mx
X-Disclaimer: I don't even know what I'm talking about.


    Hi! I've seen that MacScheme has the getprop/putprop functions available.
Is there any procedure by which I can implement those functions in R4RS
Scheme?

    (I hope this isn't on the FAQ...)

    You can followup, or reply, or send it via post mail... (=

--
Eugenio Sanchez			| `Ojos claros, serenos,
al198723@academ01.mty.itesm.mx	|  que de un dulce mirar sois alabados...'
al198723@next00.mty.itesm.mx	|  		-- Gutierre de Cetina
Morelia 3903, Fracc. Lincoln, Monterrey, N.L., 64310 MEXICO, (83)714336
--
Eugenio Sanchez			| `Ojos claros, serenos,
al198723@academ01.mty.itesm.mx	|  que de un dulce mirar sois alabados...'
al198723@next00.mty.itesm.mx	|  		-- Gutierre de Cetina
Morelia 3903, Fracc. Lincoln, Monterrey, N.L., 64310 MEXICO, (83)714336
Newsgroups: comp.lang.scheme
From: dan@cae.prds.cdx.mot.com (Dan Breslau)
Subject: Commercial uses of scheme?
Organization: none
Distribution: comp
Date: Thu, 12 Nov 1992 18:18:27 GMT

I know that Scheme is popular in several applications,
especially CAD/CAM, both for implementation and as an
extension language. Can anyone tell me which companies
(in any industry) are using it, and how (implementation,
extension language, both, other...)

Many thanks,

Dan Breslau
dan@codex.com
[Insert ISO-standard disclaimer here...]
From: pshuang@zurich.ai.mit.edu (Ping Huang)
Newsgroups: comp.lang.scheme
Subject: Re: PC Scheme/Geneva release 4 available !
Date: 5 Nov 92 19:11:41
Organization: M.I.T. Artificial Intelligence Lab.
NNTP-Posting-Host: freeside.ai.mit.edu
In-reply-to: markf@zurich.ai.mit.edu's message of 30 Oct 92 12:40:10

In article <MARKF.92Oct30124010@montreux.ai.mit.edu> markf@zurich.ai.mit.edu (Mark Friedman) writes:

 > Do you guys have any plans to make a Windows version of PC
 > Scheme/Geneva. In particular, a Scheme that could create and call out
 > to DDL's would be extroadinarily valuable to people who want to do
 > Windows software development using Scheme.

Well, hmmm.... Ironically, that is what I've been working on for the
last couple of months (on and off). The next revision of the port of MIT
CScheme for 386 machines running DOS will support the same graphics
calls as CScheme on other machines if you run it inside of Windows 3.1,
and it will be doing so by using a kludgy but workable form of IPC to
ask a Windows program to make Windows graphics calls for it. But the
mechanism will be general enough that you should be able to make any
Windows call from Scheme, except perhaps those that set up callback
functions. This would include calling any DLL's you care to.

--
| Ping Huang (INTERNET: pshuang@martigny.ai.mit.edu) speaking for himself.
| "One Thing to name them all, One Thing to define them,
|  One Thing to place them in environments and bind them..."

Newsgroups: comp.lang.scheme
From: dorai@cs.rice.edu (Dorai Sitaram)
Subject: Re: overwriting files?
Organization: Rice University, Houston
Date: Thu, 5 Nov 1992 22:58:25 GMT

In article <1da7u4INN43t@agate.berkeley.edu> bh@anarres.CS.Berkeley.EDU (Brian Harvey) writes:
>R4RS doesn't seem to provide a standard way to open for writing a file
>that already exists (to replace it with a new version).
>
>What do people do about this?  Is there a portable solution?  Is every
>version of Scheme different about this?

Imho, Scheme needs to allow _some_ way to test if a file
exists and to delete a file.  These need not actually be
provided through new procedures file-exists? and
delete-file. I think some dialects -- UMB Scheme? -- have
open-input-file return #f (not error) on a nonexistent file
and open-output-file destroy (if not exactly delete) an
existent file. (Or maybe I'm thinking call-with-*-file.)

Since we already have file procedures in r4rs, I don't think
adding these testing and deleting capabilities can be
subject to the same kind of controversy that might envelop
"new" issues like macros, records, eval, etc.  I'm curious
that this area remains untouched in all the reports.

--d

-- 

dorai@cs.rice.edu      !    It may be that the gulfs will wash us down;
dorai@owlnet.rice.edu  !      it may be we shall touch the Happy Isles.
From: sas52992@uxa.cso.uiuc.edu (Sanjay Ashok Sheth)
Newsgroups: comp.lang.scheme
Subject: Re: PC Scheme/Geneva release 4 available !
Date: 5 Nov 92 08:08:54 GMT
Organization: University of Illinois at Urbana

In comp.lang.scheme you write:

>In article <MARKF.92Oct30124010@montreux.ai.mit.edu>, markf@zurich.ai.mit.edu (Mark Friedman) writes:
>> Do you guys have any plans to make a Windows version of PC
>> Scheme/Geneva. In particular, a Scheme that could create and call out
>> to DDL's would be extroadinarily valuable to people who want to do
>> Windows software development using Scheme.
>> 
>> -Mark
>> --
>> 
>> Mark Friedman
>> 42 Wyatt St.
>> Somerville, Ma. 02143
>> 
>> markf@zurich.ai.mit.edu
>Well, no, up to now... We always thought of PCS as a PC-oriented program,
>and never gave a thought to splitting PCS in many different versions.
>If your idea receives some support, maybe we could give it a chance.
>For me the main obstacle is Windows implies 'click click click' which
>is not a suitable user interface for a language like PCS.
>Please followup, Windoze users...

One possibility may be an interface similar to one present in Schematik for the
NeXT operating system. The main features are that it is possible to have 
multiple windows open at the same time - for example, one for the kernel/
interpreter and one for the editor. In Schematik, they also replace Edwin with
an editor in which you can  use the mouse to move around the source code of
your program and highlight text to cut/copy/paste. This is a very useful
function that is much harder to do in a character based editor like Edwin.

Another feature that would be useful would be that you could use the Windows
help interface to possibly provide some help or description for all the 
commands. (i.e. for the let construct, you could have a little window where
the syntax of the command is explained as well as possibly an example of it
in use -- mainly the same kind of thing as the MIT Scheme manual.)

If you want more ideas, take a look at Schematik or even some other integrated
debugger like the ones out for C, Pascal, etc. by Borland.


-- 
-------------------------------------------------------------------------
Sanjay Sheth                       Research is what I'm doing when 
diskhawk@uiuc.edu                  I don't know what I'm doing.
sas52992@sumter.cso.uiuc.edu (NexT Mail only)	      --- Werner Von Braun
From: barmar@think.com (Barry Margolin)
Newsgroups: comp.lang.scheme
Subject: Re: arity problem
Date: 13 Nov 1992 17:51:21 GMT
Organization: Thinking Machines Corporation, Cambridge MA, USA
NNTP-Posting-Host: telecaster.think.com

In article <1992Nov12.234655.12264@newssrv.edvz.univie.ac.at> A4422DAB@vm.univie.ac.at (Erich Neuwirth) writes:
>i want to do the following:
>i need a function which takes a logical function as input and
>returns the function which is just the negation.
>as long as i know the arity of the input function it is easy
>to write this meta function just uning lambda, but i want this
>operation to work with functions of any arity (=number of arguments)
>in the best case it even should work with functions with variable arity.
>is there a way to acomplish this?

The function it returns should take any number of arguments and just pass
them along with apply:

(define (inverse f)
  (lambda args (not (apply f args))))

-- 
Barry Margolin
System Manager, Thinking Machines Corp.

barmar@think.com          {uunet,harvard}!think!barmar
Newsgroups: comp.lang.scheme
From: mj@cs.brown.edu (Mark Johnson)
Subject: Total ordering on scheme objects (Was Re: case sensitivity)
Organization: Brown University Department of Computer Science
Date: Fri, 6 Nov 1992 17:18:56 GMT

> string->symbol is a concession to people with unusual needs.  The reason
> it doesn't follow the usual rules for symbols is that it exists precisely
> as a mechanism to escape from those rules.  Using string->symbol is
> cheating, sort of like using goto in some other languages.

I disagree.  I use string->symbol as a way of defining a total ordering
on symbols (and extend it to a total ordering on all Scheme objects).
Lots of algorithms exploit an ability to compare keys.  For example,
AVL trees can be used to implement an associator that runs in O(ln n)
time per insertion/look-up, but they require a total ordering on keys.

I think one of the most insightful innovations of the Prolog designers
was to include a general predicate called compare, which implements a
total ordering on all Prolog objects.  With it, you can write 
associator and set-manipulation utilities that are both fast and
completely general.

I would like to suggest that Scheme too might also be extended to
include a function

	(compare <entity1> <entity2>)

that returns one of the three symbols <, =, or >, depending on the
relationship between <entity1> and <entity2> in the total ordering,
where = indicates identity in the eq? sense.  All that needs to be 
specified in the standard is that compare defines a total ordering.

I don't have much hope that anything like this will actually make
it into the standard -- you'd actually have to be interested in
using Scheme for real problems to find something like this useful. :-)
But until it does, I'll have a very real need for symbol->string !.

Mark




Mark Johnson
Cognitive Science, Box 1978
Brown University
Newsgroups: comp.lang.scheme
From: 71020.1774@compuserve.COM (Terry Kaufman)
Subject: CTY-JHU switching to Scheme
Organization: The Internet
Date: Wed, 11 Nov 1992 22:24:15 GMT

Unfortunately the telephone number I gave for Robyn Krentz, the
administrator for CTY, was incorrect.  The correct number is 
(410) 338-8427.

... Terry


Newsgroups: comp.lang.scheme