HDTenEightyP/NetNews huggingface dataset:
From: gjc@mitech.com (George J. Carrette)
Newsgroups: comp.lang.scheme
Subject: SIOD now runs on ALPHA
Date: 2 Oct 92 19:27:41 GMT
Organization: Mitech Corporation, Concord MA

SIOD has been running on ALPHA (under OpenVMS).

Unfortunately nondisclosure precludes me from saying how fast it runs.

Cultural highlights:

Some features of "OpenVMS Calling Standard" discussed in the 
documentation would be somewhat interesting to LISP people, 
particularly:

(1) the provisions for runtime dispatch to various kinds of procedures,
    in particular those compiled with different calling sequences.
(2) the OpenVMS "bound procedure value" type of procedure is essentially
    an "ENTITY" as used by the LISP implementation T, or as in
    ZetaLisp flavors, just to name two. When a BPV is called it receives
    its arguments but can also get a pointer to itself or its environment
    through a specific register.
(3) provision for fairly compact representation of argument list data types
    and return value data types.

Of course, most of this stuff was available in some form or another
in the old "VMS" for years and years. 

But now various things smell somewhat differently, in architecture and software.
Maclisp and PDP-10 UUO's come to mind.

-gjc
From: jaffer@zurich.ai.mit.edu (Aubrey Jaffer)
Newsgroups: comp.lang.scheme
Subject: Scheme Library slib1b11 available.
Date: 2 Oct 92 06:09:20 GMT
Organization: M.I.T. Artificial Intelligence Lab.

This message announces the availability of Scheme Library release
slib1b11.

New in release slib1b11 are: PROGRAM-VICINITY is now correct during
eval, and macro:load.  Init files have been improved.  sc-macro.doc
now contains directions for installing an R4RS macro interactive top
level.

From andrew@astro.psu.edu Wed Sep 16 17:58:21 1992 is dynamic.scm.
From raible@nas.nasa.gov Thu Sep 17 22:28:25 1992 is fluidlet.scm.
From: Stephen J. Bevan <bevan@cs.man.ac.uk> is an improved T3.init.

SLIB is a portable scheme library meant to provide compatibiliy and
utility functions for all standard scheme implementations.

SLIB includes initialization files for ELK 1.5, GAMBIT, MITScheme,
scheme->C, Scheme48, and T3.1.  Scm4a also supports SLIB.

Documentation includes a manifest, installation instructions, and
proposed coding standards for the library.  Documentation on each
library package is supplied.

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

  ftp altdorf.ai.mit.edu [18.43.0.246] (anonymous)
  cd archive/scm
or
  ftp nexus.yorku.ca (anonymous)
  cd pub/scheme/new

  `slib1b11.tar.Z' is a compressed tar file of a Scheme Library.

Remember to use binary mode when transferring the *.tar.Z files.
From: markf@zurich.ai.mit.edu (Mark Friedman)
Newsgroups: comp.lang.scheme
Subject: Re: call-with-current-continuation
Date: 6 Oct 92 18:06:18 GMT
Reply-To: markf@zurich.ai.mit.edu
Organization: M.I.T. Artificial Intelligence Lab.
In-reply-to: twood@capmkt.COM's message of 6 Oct 92 01:02:53 GMT

In article <755@capmkt.COM> twood@capmkt.COM (Thom Wood) writes:

** (let* ((echo (lambda lst (display lst) (newline)))
**        (exit echo)
**        (x 0)
**        (echo-x (lambda (cc)
** 		   (set! x (+ x 1))
** 		   (echo 'x '= x)
** 		   (cc x))))
**     (let* ((y 0)
** 	   (echo-y (lambda (cc)
** 		       (set! x (+ x 1))
** 		       (set! y (+ y 1))
** 		       (echo 'y '= y)
** 		       (cc y))))
** 	(let* ((z 0)
** 	       (echo-z (lambda (cc)
** 			   (set! y (+ y 1))
** 			   (set! z (+ z 1))
** 			   (echo 'z '= z)
** 			   (cc z))))
** 	    
** 	    (if (null? (call-with-current-continuation
**                        (lambda (cc) (set! exit cc) '())))
** 		(echo-z exit)
** 		(begin 
** 		    (set! z (+ 1 z))
** 		    (echo 'z '- z))))
** 	
** 	(if (< y 5)
** 	    (begin 
** 		(echo 'y '- y)
** 		(echo-y exit))
** 	    (echo 'exiting 'y)))
**     
**     (if (< x 5)
** 	(begin
** 	    (echo 'x '- x)
** 	    (echo-x exit))
** 	(echo 'exiting 'x))
**     (echo 'done 'done 'done))
** 
** 
** 
** 1.  will it exit?

Yes.

** 2.  what will the output look like?

Here's the output from MIT Scheme:

(z - 2)
(y - 1)
(y = 2)
(z - 3)
(y - 2)
(y = 3)
(z - 4)
(y - 3)
(y = 4)
(z - 5)
(y - 4)
(y = 5)
(z - 6)
(exiting y)
(x - 4)
(x = 5)
(z - 7)
(exiting y)
(exiting x)
(done done done)
;No value

** I wish to know how much of the enviroment is preserved in a continuation.

All of it.

-Mark
--

Mark Friedman
42 Wyatt St.
Somerville, Ma. 02143

markf@zurich.ai.mit.edu
From: ark@alice.att.com (Andrew Koenig)
Newsgroups: comp.lang.scheme
Subject: Re: multiple value storage
Date: 3 Oct 92 14:40:11 GMT
Reply-To: ark@alice.UUCP ()
Organization: AT&T Bell Laboratories, Murray Hill NJ

In article <JAFFER.92Oct3000656@camelot.ai.mit.edu> jaffer@zurich.ai.mit.edu (Aubrey Jaffer) writes:

> If I implement multiple value return by allocating storage to hold the
> values, I can free that storage as soon as it is unpacked by
> call-with-multiple-values, can't I?  Is there any way that a multiple
> value tuple can be returned more than once?

How about if you save a continuation just before the return
and then reactivate it?

-- 
				--Andrew Koenig
				  ark@europa.att.com
Newsgroups: comp.lang.scheme
From: zilla@ccrl.nj.nec.com (John Lewis)
Subject: essential/not vs. portability
Organization: C&C Research Labs, NEC USA, Princeton, N.J.
Date: Fri, 25 Sep 92 20:09:44 GMT

> In the ANSI C world, there are trillions of standard library functions,
> and any conforming C library has to provide them all, but of course
> they're not all in everyone's executable program.  But as a C program
> writer I can give you my C program and I don't have to screw around
> with also giving you libraries.  I can assume that your library already
> has whatever standard functions I use.  If C had this essential/frivolous
> distinction the way Scheme does, people couldn't share their C code
> nearly as easily.  It's a sad day when something is easier for a C programmer
> than for a Scheme programmer!   :-)

I agree with the point of this message, and I am also unsure about
the value of the essential/nonessential distinction in the scheme standard.

THIS ARGUMENT ALSO APPLIES TO SCHEME NUMERICS.  In my opinion it is
impossible to write a portable numerical algorithm in scheme!!
Some implementations do not implement inexact numbers, some do
not have bignums and have integers smaller than 32bits, etc.
Further, in writing a numerical algorithm, one *cares* about
efficiency and other characteristics of the hardware arithmetic.
In scheme, arithmetic can be mapped onto hardware in many
different ways, with many different results.

(Trivia: the claimed universality of C library functions was only
achieved recently, with ANSI C.  

In the first implementation of C that I used, there was no function printf!
The C 'standard io' library is called this because it replaced several 
different I/O standards in early C, circa Unix version 6.  K&R stated 
that I/O was not part of the language, and that this aided portability(!).)



Newsgroups: comp.lang.scheme
From: MJEROSC@ERENJ.BITNET
Subject: Re: Scheme Digest V4 #255
Organization: The Internet
Date: Tue, 29 Sep 1992 21:25:33 GMT

unsubscribe
Newsgroups: comp.lang.scheme
From: dbenn@leven.appcomp.utas.edu.au (David Benn)
Subject: PD Mac Scheme?
Originator: dbenn@leven
Organization: University of Tasmania at Launceston
Date: Tue, 29 Sep 92 21:58:38 GMT

Can anyone tell me whether there exists a PD scheme for the Mac?
If one exists, which ftp sites...? (This is probably a FAQ - sorry).

Thanks in advance...


-- 
dbenn@leven.appcomp.utas.edu.au
David Benn - Applied Computing, University of Tasmania at Launceston.
Joyous distrust is a sign of health;
Everything absolute belongs to pathology. (Friedrich Nietzsche)
Newsgroups: comp.lang.scheme
From: dak@sq.sq.com (David A Keldsen)
Subject: Re: Mixing read and read-char
Organization: SoftQuad Inc., Toronto, Canada
Date: Thu, 1 Oct 92 06:49:06 GMT

net@cs.tu-berlin.de (Oliver Laumann) writes:

>What do you expect the program fragment

>   (begin (read) (read-char))

>to do if the user types a symbol (or any other expression) followed by
>a newline?

>  a)  Should the call to read-char read the newline following the
>      expression, or
>  b)  should the newline be discarded and read-char should wait for
>      new input?

>I have noticed that different Scheme implementations behave differently
>in this case.

The r4rs, according to my reading of the definition of read in 6.10.2
on page 30, requires behavior (a).  Read..."returns the next object parsable
from the given input port, updating port to point to the first character
past the end of the external representation of the object."

This is how PSI behaves, as do Elk and MacScheme.

Common lisp (see CLtL 2nd Ed.) seems to mandate behavior b for read, unless
using read-preserving-whitespace.  So implementations based on CL may do
b); notable Scheme88.  (Anybody want to test it?)

Dak
-- 
David A. 'Dak' Keldsen of SoftQuad, Inc. email: dak@sq.com  phone: 416-239-4801
"Perhaps the most universally recognized tool for improving a professional 
programmer's productivity is C.  Not the C language...but the C additive, 
Caffeine." -- "COMPUTER LANGUAGE" April 1989 Product Wrap-Up Column by Ted Bahr
Newsgroups: comp.lang.scheme
From: pk@cs.tut.fi (Kellom{ki Pertti)
Subject: Re: substring + why so many essential procedures
Organization: Tampere Univ. of Technology, Finland.
	<BEVAN.92Sep21112540@jaguar.cs.man.ac.uk>
	<JAFFER.92Sep22121638@camelot.ai.mit.edu>
	<BEVAN.92Sep23094831@tiger.cs.man.ac.uk>
	<PK.92Sep24140627@talitiainen.cs.tut.fi> <BEVAN.92
	<BEVAN.92Sep25141401@antelope.cs.man.ac.uk>
Date: Sun, 27 Sep 1992 10:33:49 GMT

In article <BEVAN.92Sep25141401@antelope.cs.man.ac.uk> bevan@cs.man.ac.uk (Stephen J Bevan) writes:
   In article <PK.92Sep25084950@talitiainen.cs.tut.fi> pk@cs.tut.fi (Kellom{ki Pertti) writes:
      The only problem I can think of is that there is no portable way of
      conditionally defining top level symbols.

   Why is this necessary?  As I noted I'm suggesting something that it
   outside of Scheme per se.  On receipt of an application a program
   (probably scheme for full portability) checks the list of required
   features against those available implementation.  Any which are not
   available can be replaced by portable versions by adding their name to
   a list of files to load before the application.  This process can be
   as manual or as automatic as you like.

I guess it is just a matter of taste: your approach requires some
actions by the user of the application, whereas I would like to be
able to write applications in such a way that the application itself
could provide the missing functionality. Of course the former does not
rule out the latter, so maybe we should try to come up with something
along the lines that you suggested that does need a RnRS to back it
up.
--
Pertti Kellom\"aki (TeX format)  #       These opinions are mine, 
  Tampere Univ. of TeXnology     #              ALL MINE !
      Software Systems Lab       #  (but go ahead and use them, if you like)


--
From: davis@passy.ilog.fr (Harley Davis)
Newsgroups: comp.lang.scheme
Subject: Re: substring + why so many essential procedures
Date: 30 Sep 92 09:14:35 GMT
	<BEVAN.92Sep21112540@jaguar.cs.man.ac.uk>
	<JAFFER.92Sep22121638@camelot.ai.mit.edu>
	<BEVAN.92Sep23094831@tiger.cs.man.ac.uk>
	<PK.92Sep24140627@talitiainen.cs.tut.fi> 	<BEVAN.92
Organization: ILOG S.A., Gentilly, France
In-reply-to: thinman@netcom.com's message of 25 Sep 92 19:53:57 GMT


In article <4x0n0lc.thinman@netcom.com> thinman@netcom.com (Technically Sweet) writes:

   Once you tip over the edge from a simple little language
   for teaching to a full-bore production language, the
   single-specification approach just doesn't work any more.

   I suggest a 2-level setup: a core R*RS spec with
   required special forms and required procedures,
   and a set of one or more add-on specs.  

   For example, if your Scheme is a "Level 1" Scheme, 
   it supports bignums, floats, and a good macro system.
   Level 2 adds most of the basic procedures that 
   everyone wants from their Scheme (i.e. vector-map).
   Level 3 adds a good object suite, a nice set
   of handy base classes, and some level of graphics
   support.

   This tiered structure gives an organized means for
   specifying the simple teaching system (which I
   certainly wish I'd had at UC Santa Cruz instead
   of that Pascal junk they foisted on me), the basic
   "I need to write a small program to do something"
   system that seems to be what many here use, and
   the large project Scheme that I am trying to use
   Scheme2C+Meroon for.  This organization lets
   Scheme live and serve its varied constituency.

If you are interested in this multi-leveled language structure, you
should check out the EuLisp definition, which is leveled in just this
way for the reasons you mention.

-- Harley Davis
--

------------------------------------------------------------------------------
nom: Harley Davis			ILOG S.A.
net: davis@ilog.fr			2 Avenue Gallie'ni, BP 85
tel: (33 1) 46 63 66 66			94253 Gentilly Cedex, France
Newsgroups: comp.lang.scheme
From: storm@cs.mcgill.ca (Marc WANDSCHNEIDER)
Subject: Compiling Code
Organization: McGill University, Montreal, Canada
Date: Mon, 5 Oct 1992 19:31:06 GMT


	I've been using the Scheme interpreter for quite a while now, and
was just wondering how I go about using the MIT CScheme compiler???  Looking
through the directory tree shows that there is a file called compiler.com,
but I cannot figure out how to invoke it.

	Is there anything extra that needs to be added to a source file to
get it to compile??? I Know that under SML/NJ, I cannot just use the straight
function....

Any thoughts would be appreciated...

Toodlepip!
Marc 'em.

-- 
  storm@cs.mcgill.ca           McGill University         C program run.  Run  
  Marc Wandschneider           Montreal, CANADA          Program run! PLEASE!
    The use of COBOL cripples the mind; its teaching should, therefore, be
              regarded as a criminal offense.  -- E. W. Dijkstra
Newsgroups: comp.lang.scheme
From: net@cs.tu-berlin.de (Oliver Laumann)
Subject: Mixing read and read-char
Organization: Technical University of Berlin, Germany
Date: Wed, 30 Sep 1992 14:58:50 GMT

What do you expect the program fragment

   (begin (read) (read-char))

to do if the user types a symbol (or any other expression) followed by
a newline?

  a)  Should the call to read-char read the newline following the
      expression, or
  b)  should the newline be discarded and read-char should wait for
      new input?

I have noticed that different Scheme implementations behave differently
in this case.
Newsgroups: comp.lang.scheme
From: ppc1@cec1.wustl.edu (Peter Pui Tak Chiu)
Subject: dylan
Organization: Washington University, St. Louis MO
Date: Sun, 27 Sep 1992 22:16:40 GMT

hi,

can anyone tell me what dylan is?? is it a new langauge?

pete
From: Alan@lcs.mit.EDU (Alan Bawden)
Newsgroups: comp.lang.scheme
Subject: substring + why so many essential proce
Date: 27 Sep 92 08:20:14 GMT
Organization: The Internet


   Date: 25 Sep 92 13:28:03 GMT
   From: Stephen J Bevan <bevan@cs.man.ac.uk>
   ...  then I infer that you consider the non-essential features to be
   non-portable, and the question then is: why bother having them in the
   report if you can't depend on them being available?

   Alternately, is there some other explanation?

You can't depend on non-essential features being available, but if they
-are- available, then you can depend on them behaving in the way the report
describes.

In other words, if I try to port a piece of your code to my Scheme
implementation, but you call some procedure my Scheme hasn't got, I can at
least look it up in the report to understand what your code was -intended-
to do.

I believe that historically this is the motivation behind the notion of
non-essential features.  Think of it as a political mechanism to minimize
the amount of work required for a diverse collection of existing Scheme
implementations to all claim to conformance to a single standard.  I don't
believe it ever had anything to do with the ability to implement one
feature in terms of another feature.

Many people believe that the distinction has outlived its usefulness.

As pressure continues to mount for Scheme to become a more complete
programming tool, people often suggest that Scheme be divided into
"layers".  This may be a useful way to proceed in order to preserve a
simple core Scheme language, while still allowing some standardization of
the other aspects of a production Scheme environment.  But the existing
essential/non-essential distinction was not intended to serve that purpose.

I would advise people who wish to pursue the layered approach to take a
fresh look at the language and forget about the existing
essential/non-essential distinction.

				- Alan
Newsgroups: comp.lang.scheme
From: lbartho@uni2a.unige.ch
Subject: PCS/Geneva 4.00 - NEW RELEASE on FTP !
Organization: University of Geneva, Switzerland
Date: Tue, 6 Oct 1992 11:15:31 GMT

Hello, dear little tax-payers !
If you are interested in a scheme for PC's both low-end and high-end,
this posting's for you.
We are releasing a new version of TI's PC scheme (now IBUKI's)
for beta-testing. The product is available on anonymous FTP at uni2a.unige.ch,
in the directory MSDOS, as PCSCHEME.EXE.

You are free to upload it and make any use you wish of it; but as the
binary is password-encrypted, please send me an E-Mail message
(to schemege@uni2a.unige.ch) and I will be pleased to give you the password.
This protection is not intended to hinder access, but rather to maintain
a list of interested users, whom we will mail when something new appears.

The new release provides many goodies:
- EEMS memory support up to 2M - wow! and it works!
- Command-line editing (using arrows, insertion modes, Ctrl-arrows etc.)
	The problem is you won't ever accept a program without line editor.
- Neat assembly level interface, with even neater demos provided.
- And many many bugs killed since last release ...

Thanks for your interest in scheme.
Larry Bartholdi (lbartho@uni2a.unige.ch) (schemege@uni2a.unige.ch)
From: kelsey@ccs.northeastern.edu (Richard A. Kelsey)
Newsgroups: comp.lang.scheme
Subject: Re: s48 question
Summary: scheme48-bugs@altdorf.ai.mit.edu works now
Date: 2 Oct 92 17:05:28 GMT
Organization: College of CS, Northeastern U

In article <1992Oct1.232346.17858@advtech.uswest.com> rml@uswest.com (Robert M. Lund) writes:
>I tried sending mail to scheme48-bugs@altdorf.ai.mit.edu but it
>keeps coming back.

scheme48-bugs@altdorf.ai.mit.edu has just been fixed.  Try resending your
mail.
                              -Richard Kelsey
                               kelsey@corwin.ccs.northeastern.edu
From: jaffer@zurich.ai.mit.edu (Aubrey Jaffer)
Newsgroups: comp.lang.scheme
Subject: multiple value storage
Date: 3 Oct 92 05:06:56 GMT
Organization: M.I.T. Artificial Intelligence Lab.

If I implement multiple value return by allocating storage to hold the
values, I can free that storage as soon as it is unpacked by
call-with-multiple-values, can't I?  Is there any way that a multiple
value tuple can be returned more than once?
Newsgroups: comp.lang.scheme
From: dorab@twinsun.com (Dorab Patel)
Subject: Re: dylan
Organization: Twin Sun, Inc
Date: Mon, 28 Sep 1992 16:31:06 GMT


Dylan is an object-oriented dynamic language with influences from
Scheme, CLOS and Smalltalk.  You can probably think of it as Scheme
+ object-oriented features + exceptions.  The language is described
in "Dylan (tm) an object-oriented dynamic language" from Apple.  A
compiler from Dylan to Scheme is available from
crl.dec.com:/pub/DEC/Thomas (also on gatekeeper.dec.com).

'dorab
From: bevan@cs.man.ac.uk (Stephen J Bevan)
Newsgroups: comp.lang.scheme
Subject: Re: substring + why so many essential proce
Date: 26 Sep 92 14:25:06 GMT
Organization: Department of Computer Science, University of Manchester
In-reply-to: pmoore@cix.compulink.co.uk's message of 26 Sep 92 11:03:35 GMT

In article <memo.649702@cix.compulink.co.uk> pmoore@cix.compulink.co.uk (Paul Moore) writes:
   However, from an instructional point of view, it is useful to be
   able to say "XXX is defined like this, and works like so. Be
   careful, though - it may not be defined in your Scheme"

I have no problem with that, what I don't like is that a large number
of the procedures that are currently _essential_ can easily be defined
in that way.  This brings us on to :-

   There is a further question, unrelated to the current discussion, regarding
   whether the current sets of essential and non-essential procedures is a
   *good* set - but that's an argument for another time...

Ok, how about tomorrow :-)


   [ supporting a library via the use of LOAD - deleted ]

   Note that while I believe the above is workable, I am not sure load is
   adequate in itself.

I use a variation on REQUIRE to do all the things mentioned, it is
similar (but slightly more complex) that the REQUIRE system available
in SLIB.  If there are known problems with this, I'd appreciate it if
somebody could point them out to me.


   It is a minimal working solution, but something richer
   would probably be useful. We are really moving towards some sort of module
   system, here...

Exactly what I noted a number of messages ago.  I was hoping that
somebody would follow up with, "well XYZ is being considered as a
module system for R5RS", but nothing has been forthcoming.

Is there a simple way of finding out what is being considered for R5RS
or what has already been discussed by the R5RS committee (e.g. minutes
of the meetings)?

bevan
Newsgroups: comp.lang.scheme
From: jaffer@zurich.ai.mit.edu (Aubrey Jaffer)
Subject: Re: substring + why so many essential procedures
Organization: M.I.T. Artificial Intelligence Lab.
	<BEVAN.92Sep21112540@jaguar.cs.man.ac.uk>
	<JAFFER.92Sep22121638@camelot.ai.mit.edu>
	<BEVAN.92Sep23094831@tiger.cs.man.ac.uk>
	<PK.92Sep24140627@talitiainen.cs.tut.fi> 	<BEVAN.92
	<4x0n0lc.thinman@netcom.com> <JAFFER.92Sep25220709@camelot.ai.mit.edu>
	<t__pkd+.thinman@netcom.com>
Date: Wed, 30 Sep 1992 22:04:29 GMT

In article <t__pkd+.thinman@netcom.com> thinman@netcom.com (Technically Sweet) writes:

   jaffer@zurich.ai.mit.edu (Aubrey Jaffer) responds to my suggestion
   about a monotonic specification for non-essentials in Scheme:

   >The problem with this is that it is only a linear arrangement.  There
   >is no independence between features.  One can't claim support for
   >graphics without having floats.  SCM doesn't have macros.  Does this
   >mean SCM is limited to being a "Level 0" Scheme no matter what other
   >features I add.  Vector-map can certainly be supported without macros.
   >Such a linear arrangement will unavoidably reflect your preferences
   >for what features you use.  I don't use macros or floats, but if I use
   >just vector-map I don't want to be burdened with a macro system and
   >floats.

   Operating system releases for whatever computer you use don't come
   in trees.  The vendor doesn't keep splitting off different versions
   that support real-time threads, hardware graphics, etc.  They just
   keep adding features to one operating system.  When you go buy an
   application from another vendor, they don't need to customize you
   a special version for the particular combination of features in your
   operating system.  They just say, "you need to run OS version 2.05
   or above".

This is just not true.  Plenty of MSDOS applications come in Windows
and non-Windows versions.  I supply SCM for both 8086 and 80386
processors (all of which are still running MSDOS).  I don't have to be
running X(windows) in order to use the latest version of SunOS but
there is support for X in the operating system.  Lots of packages
require optional operating system or hardware support.  Examples are
SLIP, FTP, PHIGS, X, Compilers, and math coproccessors.

   This is why a linear spec for feature addition is required
   if Scheme is to serve its varied constituency.  I have to be able
   to walk up to any random Scheme and say, "Level 1? Great!  I can
   run my stuff!".

I don't agree for the reasons above.