HDTenEightyP/NetNews huggingface dataset:
From: mj@cs.brown.edu (Mark Johnson)
Subject: Re: Are interpreters now as fast as compiled code used to be?
Organization: Brown University Department of Computer Science
Date: Wed, 23 Dec 1992 23:37:27 GMT


What's the point of this thread?  Is someone trying to argue that
Scheme doesn't need a compiler or the very best, most efficient
implementations available?

As I've said before, Schemers should think long and hard about the
``ecological niche'' that Scheme occupies in the programming language
universe, and design the language and implementations accordingly.

I think that Scheme and Lisp-like languages are located in between the
arguably higher-level functional and logic programming languages and
lower-level languages like C.  I think Scheme runs a great risk of
being ``squeezed out'' as the higher-level languages become more
efficient and the lower-level languages gain higher-level features.

Reading the net, one gets the idea that the only thing that Scheme is
useful for is teaching high-school students.  If that's true, then we
shouldn't worry about implementation efficiency at all, but instead
worry about designing environments for absolute beginners.  If this is
the case, the R5RS committee should include more high-school teachers
and fewer CS people.

But I see two other important applications for Scheme.

One is for embedded interpreters.  I don't know a lot about this
application, but I'd guess that efficiency is not so important here,
but compact code size and small memory requirements are.

The second is for large semi-numerical computation.  There are a
number of applications that mix symbolic and numerical computation and
deal with comparatively large amounts of data.  For example, in my
area, natural language processing, it's common to do statistical
manipulations of corpora that are 100Mb or longer.  I don't see any
reason why a Scheme implementation shouldn't be able to offer *better*
performance than C on more symbolically-oriented such applications,
provided that some care is taken in the numerical area and that the
compilation technology is good.

Any comments?

Mark



Mark Johnson
Cognitive Science, Box 1978
Brown University
From: pollansw@cse.fau.edu (Warren Pollans)
Newsgroups: comp.lang.scheme
Subject: POPL airfares
Date: 22 Dec 92 23:28:54 GMT
Organization: Florida Atlantic University, Boca Raton, FL, USA

USAir has a set of special rates for POPL attendees.  When making
reservations you should ask for the GOld File number for our
conference.  I am on vacation, using a friends login, and don't
have the number, but the reservationist should be able to look it
up.

One warning - if you are staying over a Saturday night you will do
better with regular rates.

Dee Medley
dmedley@admin.ac.edu
From: manis@cs.ubc.ca (Vincent Manis)
Newsgroups: comp.lang.scheme
Subject: Re: applying or
Date: 30 Dec 92 16:29:00 GMT
Organization: Institute for Pure and Applied Eschatology
NNTP-Posting-Host: columbia.cs.ubc.ca

In article <MOB.92Dec30090646@strident.think.com> mob@strident.think.com
(Mario O. Bourgoin) writes: 
>I am at a loss for naming an existing programming language that has AND and
>OR and where they do not have the same behavior as they do in Scheme.
>Would some programming language cogniscenti be kind enough to name a few?

ISO Pascal, for one. Ada, for another (Ada has both McCarthy and
`operator' booleans: I think the former is written `and then', and the
latter just as `and'). 

The subject of this thread is a clear indication why there's a problem.
People insist on thinking of `and' as a procedure, no doubt because many
computers have an AND instruction. `and' is a control operation, just as
are `if' and `cond'. 

-- 
\    Vincent Manis <manis@cs.ubc.ca>      "There is no law that vulgarity and
 \   Computer Science, Langara College     literary excellence cannot coexist."
 /\  100 W. 49th Ave, Vancouver, BC, Canada (604) 324-5205  -- A. Trevor Hodge
/  \ Co-author of ``The Schematics of Computation'', Prentice-Hall, Jan 1994
Newsgroups: comp.lang.scheme
From: gjr@zurich.ai.mit.edu (Guillermo J. Rozas)
Newsgroups: comp.lang.scheme,comp.lang.c
Subject: Re: applying or
Date: 2 Jan 93 08:09:47
Organization: M.I.T. Artificial Intelligence Lab.
Reply-To: gjr@zurich.ai.mit.edu
NNTP-Posting-Host: chamartin.ai.mit.edu
In-reply-to: josh@viewlogic.com's message of Fri, 1 Jan 1993 18:46:55 GMT


In article <1993Jan1.184655.7023@viewlogic.com> josh@viewlogic.com (Josh Marantz) writes:

|   I was sort of glad to move to C/Scheme, where this short-circuiting
|   was guaranteed, although I never thought about the compiler
|   optimizations that the short-circuit guarantee prevents!  Would it be
|   legal for a C or Scheme compiler to avoid the short-circuiting if it
|   could prove there were no side effects involved, and if it looked like
|   a fruitful optimization?

The issue here is whether the order of execution of expressions can be
changed by the compiler with respect to the one specified by the
semantics.  In general compilers are allowed to do this if they can
prove that the effect is the same, in other words, that the user can't
tell what order things were done in.
Newsgroups: comp.lang.scheme
From: thinman@netcom.com (Technically Sweet)
Subject: Scheme & C: a universal interface
Organization: International Foundation for Internal Freedom
Date: Fri, 1 Jan 1993 20:28:29 GMT


Hi-

I just posted my COOL object library for C to alt.sources.
It included the interfaces for ELK and SCM.  I didn't post
the S->C one because it's in progress.

The problem with this is that I'm committing the cardinal
sin of mixing policy with mechanism.  Policy is using
my C object library from Scheme; mechanism is connecting
Scheme with C.

I've successfully used the exact same C with Scheme->C and 
SCM.  This is a reflection on the experience.

Here's how a universal Scheme&C interface should work:
from C, you register a tuple (string, function pointer,
argument grammar) with the interface:

	int thing1(int);
	int thing2(int, int);
	int thingn(int nargs, int ...);

        register("Thing", thing1, 1, INT);
        register("Thing", thing2, 2, INT, INT);
        register("Thing", thingn, NARGS, INT);

Now from Scheme, you can say:	-> C mapping
	
	(c-call "Thing" 4)	-> thing1(4);
	(c-call "Thing" 5 6)	-> thing2(5, 6);
	(c-call "Thing" 7 8 9)	-> thingn(3, 7, 8, 9);
		

No Scheme data structures should be exposed to
the C code, as they are implementation-dependent.
The hard thing is to map "natural" Scheme calling syntax
into "natural" C calling syntax.  I don't want to write
twice as much C in a function called from Scheme,
I want this word done once in the interface.
It doesn't really matter if the interface is
a little slower than it could be.  

Doubles, vectors, and strings are a pain to translate;
you have to malloc space and copy them into C space.
I have no idea how to do lists naturally.  The interface
can enforce static uniform typing of vectors.  That is,
it should have a spec for "vector of chars" and
copy that through.

-- 

Lance Norskog
thinman@netcom.com
Data is not information is not knowledge is not wisdom.
Newsgroups: comp.lang.scheme
From: schwartz@roke.cs.psu.edu (Scott Schwartz)
Subject: Re: standards
	<1992Dec21.185227.19304@netcom.com> <1h5llbINNk8p@agate.berkeley.edu>
Date: Tue, 22 Dec 1992 05:29:24 GMT

bh@anarres.CS.Berkeley.EDU (Brian Harvey) writes:
   But I feel that we need something analogous to C's stdio library
   if we want to share our work with our friends. 

I agree with that sentiment.  Take a lesson from pascal and make the
language usable.  That said, take a lesson from C and use a nice
package mechanism to do it.
From: anderpe@hhcs.gov.au
Newsgroups: comp.lang.scheme
Subject: Scheme for the Macintosh
Date: 21 Dec 92 14:22:14 +1100
Organization: Aust. Dept. Health, Housing and Community Services


Does anybody know of a Scheme implementation for the Macintosh?
I have a copy of TI's PC-Scheme (almost unused) if anybody would like to make
me a realistic offer.
-- 

+-----------------------------------------------------------------+
| Peter Anderson                              ANDERPE@HHCS.GOV.AU |
|                                                                 |
| LAN Support Group                                               |
| Department of Health, Housing and Community Services            |
|                                                                 |
| Phone: 061 6 289 7820                      Fax:  061 6 289 8140 |
+-----------------------------------------------------------------+
 
Newsgroups: comp.lang.scheme
From: jaffer@zurich.ai.mit.edu (Aubrey Jaffer)
Subject: scm4a15 Scheme release available.
Organization: M.I.T. Artificial Intelligence Lab.
Distribution: comp
Date: Tue, 22 Dec 1992 04:41:49 GMT

This message announces the availability of Scheme release scm4a15.

The logical operations (logand logor logxor lognot ash logcount
integer-length bit-extract) from SLIB are now in SCM.  Comparison
procedures which were previously able to accept only 2 arguments can
now accept any number of arguments.

from soravi@Athena.MIT.EDU comes directions for compiling SCM under
OS/2 2.0.

Scm conforms to Revised^4 Report on the Algorithmic Language Scheme
and the IEEE P1178 specification.  Scm is written in C and runs under
Amiga, Atari-ST, MacOS, MS-DOS, OS/2, NOS/VE, VMS, Unix and similar
systems.  ASCII and EBCDIC are supported.

Documentation is included explaining the many Scheme Language
extensions in scm, the internal representation and how to extend or
include scm in other programs.

SCM can be obtained via FTP (detailed instructions follow) from:
altdorf.ai.mit.edu:archive/scm/scm4a15.tar.Z
nexus.yorku.ca:pub/scheme/new/scm4a15.tar.Z

SLIB is a portable scheme library which SCM uses:
altdorf.ai.mit.edu:archive/scm/slib1c2.tar.Z
nexus.yorku.ca:pub/scheme/new/slib1c2.tar.Z

SMG-SCM is an SMG interface package which works with SCM on VMS.
altdorf.ai.mit.edu:archive/scm/smg-scm.com
nexus.yorku.ca:pub/scheme/new/smg-scm.com

TURTLSCM is a turtle graphics package which works with SCM on MSDOS
machines:
altdorf.ai.mit.edu:archive/scm/turtlscm4a10.lzh
nexus.yorku.ca:pub/scheme/new/turtlscm4a10.lzh

XSCM is a X windows interface package which works with SCM:
altdorf.ai.mit.edu:archive/scm/xscm1.05.tar.Z
nexus.yorku.ca:pub/scheme/new/xscm1.05.tar.Z

  ftp altdorf.ai.mit.edu [18.43.0.246] (anonymous)
  bin
  cd archive/scm
  get scm4a15.tar.Z
  get slib1c2.tar.Z
or
  ftp nexus.yorku.ca (anonymous)
  bin
  cd pub/scheme/new
  get scm4a15.tar.Z
  get slib1c2.tar.Z

`scm4a15.tar.Z' is a compressed tar file of the C code distribution.
`slib1c2.tar.Z' is a compressed tar file of a Scheme Library.

Remember to use binary mode when transferring the files.
Be sure to get and read the GNU General Public License (COPYING).
It is included in scm4a15.tar.Z.

To receive an IBM PC floppy disk with the source files and MSDOS
and i386 MSDOS executables send $60 to
   Aubrey Jaffer, 84 Pleasant St. Wakefield MA 01880, USA.
Net 30 day purchase orders are minimum $100.

If you like scm you can support the developement and maintainence of
it by buying a disk from me or by sending money to the above address.
Money received will also help speed the release of a free symbolic
mathematics system (written in scheme).
Newsgroups: comp.lang.scheme
From: kamin@cs.uiuc.edu (Sam Kamin)
Subject: Information about upcoming POPL
Organization: University of Illinois, Dept of Computer Science
Date: Mon, 21 Dec 1992 14:13:53 GMT

Two messages about the upcoming POPL:

You can get the POPL'93 program in postscript by ftp from    nuri.inria.fr
           ftp  nuri.inria.fr
           login: anonymous
           pass: your e-mail address
           cd   INRIA/publication/ChLoE
           binary
           get  POPL-prog93.ps.Z


You will get a compressed file, which you can uncompress with:
   zcat POPL-prog93.ps.Z > POPL-prog93.ps

If you have any problem, or for other POPL information, send e-mail to
Bernard.Lang@inria.fr
===============================

Dee Medley, local arrangements chair for POPL, asked me to post this
information:  You can get cheaper rates on USAir flights to Charleston
if you mention ACM-POPL when you get your tickets.

(I don't have any more details than that - like how much you'll
save, or what to do if you've already bought tickets -  so all I can
say is to give it a try.  You can contact Dee at dmedley@uscn.uga.edu.)

- Sam Kamin


Newsgroups: comp.lang.scheme
From: bh@anarres.CS.Berkeley.EDU (Brian Harvey)
Newsgroups: comp.lang.scheme
Subject: Re: standards
Date: 21 Dec 1992 23:57:31 GMT
Organization: University of California, Berkeley
NNTP-Posting-Host: anarres.cs.berkeley.edu


Since people are starting to talk about R5RS, I thought I'd throw in
my wish list.  Mostly these things are motivated by trying to write a
textbook using Scheme and finding gaps in the language.

The thing is, the gaps mostly aren't in the "core" language.  They're in
the I/O, mainly, which up to now has been considered outside the bounds
of RnRS.  But I feel that we need something analogous to C's stdio library
if we want to share our work with our friends.  Here's what I want:

* positioned text.  (SETCURSOR x y) in character coordinates.

* graphics.  Simple.  (DRAW-LINE x1 y1 x2 y2) is almost enough for me.
Oh, and clearing the screen or the window.

[Yes, I'm handwaving about this window business.  As long as there is some
default place for text and graphics to go, I'm happy.  I would like not to
have to do explicit window hackery unless I want more than one of them.
I don't care if there is a standard window control package.]

* random access in files.

* The standard should say whether or not (read) reads the newline after
the expression.  In other words, if you do (read) followed by (read-char),
does the latter see the newline?  I don't care what the answer is, as long
as there is one.

* Expunge "the return value is unspecified" from the standard.  All of them
should be replaced by "the return value is the non-printing object."  This
sounds trivial but it's really a pain in the neck for beginners.

* As I said recently, clarify into which environment LOAD loads if called
within a procedure.  I vote for toplevel, to make my cheap autoload work.

* Add RANDOM to the standard.  Takes a positive integer and returns a
nonnegative integer less than that.  The standard should say that you don't
get the same sequence every time, but there should be a way to set the seed
in case you want that.

* Clarify what happens when you open-output-file a name that already exists.
I vote for replacing the old one, but again, any consistent thing is tolerable.

* Delete-file.

* ERROR.  (I think every Scheme has this, but not necessarily with the same
rules about arguments.)

* CATCH ERROR.


Well, I could go on, but you get the idea.  Is there any hope of seeing
this sort of thing addressed in R5RS?  Or R6RS?  These boring issues are
the ones that actually get in my way, much more than the glamorous ones
like macros, or even eval (although that would be nice and I vote for
first-class environments).

Thank you.
Newsgroups: comp.lang.scheme
From: oz@ursa.sis.yorku.ca (Ozan Yigit)
Subject: The Repository uploads
Organization: York U. Student Information Systems Project
Date: Wed, 23 Dec 1992 00:23:06 GMT

The Scheme Repository upload area (scheme/new) has been disabled
due to a cert advisory. If you wish to contribute to the repository,
I will be glad to pick it up via ftp, or you may wish to e-mail
the material to me directly: scheme@nexus.yorku.ca.

thanks...	oz
---
simulation is better than reality! | electric: oz@sis.yorku.ca
	      -Richard W. Hamming  | ph:[416] 736 2100 x 33976
From: manis@cs.ubc.ca (Vincent Manis)
Newsgroups: comp.lang.scheme
Subject: Re: applying or
Date: 30 Dec 1992 22:11:51 -0800
Organization: Institute for Pure and Applied Eschatology
NNTP-Posting-Host: columbia.cs.ubc.ca

In article <HULTQUIS.92Dec30161112@wk206.nas.nasa.gov>
hultquis@nas.nasa.gov writes: 
>FORTRAN-77: 
>	The .AND. and .OR. logical operands do not short-circuit. 
Well, my last experience with Fortran was back when the dialects were
sequentially numbered (except 3). In Fortran IV, I distinctly remember
that the compilers I used (IBM 7044, IBM 360 G) did do McCarthy
evaluation, but the standard left it undefined. (Fortran II had a
particularly elegant solution to this dilemma, by leaving out boolean
operators and values completely.)



-- 
\    Vincent Manis <manis@cs.ubc.ca>      "There is no law that vulgarity and
 \   Computer Science, Langara College     literary excellence cannot coexist."
 /\  100 W. 49th Ave, Vancouver, BC, Canada (604) 324-5205  -- A. Trevor Hodge
/  \ Co-author of ``The Schematics of Computation'', Prentice-Hall, Jan 1994
Newsgroups: comp.lang.scheme
From: hultquis@wk206.nas.nasa.gov (Jeff P. M. Hultquist)
Subject: Re: applying or
	<HULTQUIS.92Dec28102345@wk206.nas.nasa.gov>
	<MOB.92Dec30090646@strident.think.com>
	<1hsiocINN2v6@columbia.cs.ubc.ca>
Organization: NASA Ames Research Center, CA USA
Date: 30 Dec 92 16:11:12
Reply-To: hultquis@nas.nasa.gov


In article <1hsiocINN2v6@columbia.cs.ubc.ca> manis@cs.ubc.ca (Vincent Manis) writes:
>
> In article <MOB.92Dec30090646@strident.think.com> mob@strident.think.com
> (Mario O. Bourgoin) writes: 
> >	
> >I am at a loss for naming an existing programming language that has AND and
> >OR and where they do not have the same behavior as they do in Scheme.
> >Would some programming language cogniscenti be kind enough to name a few?
>
> ISO Pascal, for one. Ada, for another (Ada has both McCarthy and
> `operator' booleans: I think the former is written `and then', and the
> latter just as `and'). 


ADA:
	V.Manis is correct; AND does not short-circuit.
	The short-circuiting operators are "AND THEN" and "OR ELSE"

FORTRAN-77: 
	The .AND. and .OR. logical operands do not short-circuit. 

	The vanilla AND and OR are bitwise instrinsic functions.
	They do not short-circuit either.  :-)

PostScript:
	The operands must be INT or BOOL, so the question is moot.
--
Jeff Hultquist                          hultquis@nas.nasa.gov
NASA - Ames Research Center             (415) 604-4970
Organization: University of Maine System
Date: Monday, 21 Dec 1992 12:16:45 EST
From: <RNALLEY@MAINE.MAINE.EDU>
Newsgroups: comp.lang.scheme
Subject: PC-Scheme and thanks to Jean-Luc and Marc

Sorry for the public post of thanks.  Direct mail continues to fail.
For Marc and Jean-Luc.  Many thanks for the help.  The Geneva
version of PC-Scheme runs on my 486 will all routines
functioning (thus far).
.
I would also echo the request of another user.  I have my
documentation from my original purchase of Scheme from TI.
The Geneva version, however, appears to have capabilities that
I cannot see.  Is expanded documenation available?
.
Thanks again.
.
Bob Nalley, University of Maine at Ft. Kent
From: mob@strident.think.com (Mario O. Bourgoin)
Newsgroups: comp.lang.scheme
Subject: Re: applying or
Date: 30 Dec 92 09:06:46
Organization: Thinking Machines Corporation, Cambridge MA, USA
	<1hg6ofINN7ev@agate.berkeley.edu>
	<PK.92Dec28100620@talitiainen.cs.tut.fi>
	<HULTQUIS.92Dec28102345@wk206.nas.nasa.gov>
NNTP-Posting-Host: strident.think.com
In-reply-to: hultquis@wk206.nas.nasa.gov's message of 28 Dec 92 10:23:45


I am at a loss for naming an existing programming language that has AND and
OR and where they do not have the same behavior as they do in Scheme.
Would some programming language cogniscenti be kind enough to name a few?

--Mario

In article <HULTQUIS.92Dec28102345@wk206.nas.nasa.gov> hultquis@wk206.nas.nasa.gov (Jeff P. M. Hultquist) writes:

   Newsgroups: comp.lang.scheme
Path: think.com!yale.edu!qt.cs.utexas.edu!cs.utexas.edu!sun-barr!ames!data.nas.nasa.gov!data!hultquis
   From: hultquis@wk206.nas.nasa.gov (Jeff P. M. Hultquist)
   References: <BztJDI.1J1@malihh.hanse.de> <BztyDu.KDE@cs.psu.edu>
	   <1hg6ofINN7ev@agate.berkeley.edu>
	   <PK.92Dec28100620@talitiainen.cs.tut.fi>
   Sender: news@nas.nasa.gov (News Administrator)
   Organization: NASA Ames Research Center, CA USA
   Date: 28 Dec 92 10:23:45
   Reply-To: hultquis@nas.nasa.gov
   Lines: 25

   In article <PK.92Dec28100620@talitiainen.cs.tut.fi> pk@cs.tut.fi (Kellom{ki Pertti) writes:


   >    >  Of course, you *could* do this sort of computation even if
   >    >  AND and OR were ordinary procedures, by avoiding AND and OR
   >    >  and using IF instead in such cases.  But this way is deemed
   >    >  more aesthetically pleasing.
   > 
   >    I've never liked the way AND and OR are defined. I don't claim that
   >    they are not convinient, I'm just not very fond of control structures
   >    posing themselves as logic operators to the unwary. 

   I agree.  These short-circuiting special-forms *are* quite
   useful, but the names which have been chosen for these *is*
   often confusing "to the unwary".

   When explaining this problem to others, I like to point
   out that, unlike many of the predicate functions, AND and
   OR do not have a trailing question mark.  Functions which
   do what the original poster wanted might well be called
   EVERY? and ANY?.  

   --
   Jeff Hultquist                          hultquis@nas.nasa.gov
   NASA - Ames Research Center             (415) 604-4970
Newsgroups: comp.lang.scheme
From: hultquis@wk206.nas.nasa.gov (Jeff P. M. Hultquist)
Subject: Re: applying or
	<1hg6ofINN7ev@agate.berkeley.edu>
	<PK.92Dec28100620@talitiainen.cs.tut.fi>
Organization: NASA Ames Research Center, CA USA
Date: 28 Dec 92 10:23:45
Reply-To: hultquis@nas.nasa.gov

In article <PK.92Dec28100620@talitiainen.cs.tut.fi> pk@cs.tut.fi (Kellom{ki Pertti) writes:


>    >  Of course, you *could* do this sort of computation even if
>    >  AND and OR were ordinary procedures, by avoiding AND and OR
>    >  and using IF instead in such cases.  But this way is deemed
>    >  more aesthetically pleasing.
> 
>    I've never liked the way AND and OR are defined. I don't claim that
>    they are not convinient, I'm just not very fond of control structures
>    posing themselves as logic operators to the unwary. 

I agree.  These short-circuiting special-forms *are* quite
useful, but the names which have been chosen for these *is*
often confusing "to the unwary".

When explaining this problem to others, I like to point
out that, unlike many of the predicate functions, AND and
OR do not have a trailing question mark.  Functions which
do what the original poster wanted might well be called
EVERY? and ANY?.  

--
Jeff Hultquist                          hultquis@nas.nasa.gov
NASA - Ames Research Center             (415) 604-4970