[net.lang.lisp] What does Scheme run on?

michaelm@bcsaic.UUCP (michael maxwell) (03/18/86)

Apologies if this has been answered before, but... can anyone point me to a
list of machines that Scheme has been ported to?  I'm especially interested in
under $10k machines, e.g. the AT&T 7300.  How difficult is it to port to
another machine?  Please mail responses, if there's sufficient interest I'll
etc...
Disclaimer:  There are probably some copyrights in the above.
-- 
Mike Maxwell
Boeing Artificial Intelligence Center
	...uw-beaver!uw-june!bcsaic!michaelm

davidson@sdcsvax.UUCP (J. Greg Davidson) (04/02/86)

(Message langs/lisps:10)
From: davidson@sdcsvax.UUCP (Greg Davidson)
Newsgroups: net.lang.lisp
Subject: Re: Implementing Scheme on under VAX/UNIX
Date: 28 Aug 85 09:03:43 GMT
Keywords: Scheme, T, Lisp
Summary: Where to find implementations of Scheme

In regard to the question of where to find implementions of Scheme
for VAX/UNIX (or other systems), I picked up a handy brochure at
IJ/CAI last week with the answers.  I'll summarize it here.  Any
elipses (...) or [comments in brackets] are mine.

		  Scheme Release Note #1

      Availability of the Scheme Programming Language

		  Revised: August 14, 1985

		 Scheme Development Team
	 c/o MIT Artificial Intelligence Laboratory
		  545 Technology Square
		   Cambridge, MA 02139

MIT uses in its undergraduate curriculum a dialect of Lisp called Scheme
....  The book ``The Structure and Interpretation of Computer Programs''
by Abelson, Sussman, and Sussman (published jointly by MIT Press and by
McGraw-Hill) is based on this course and uses programs written in Scheme....

A standard for Scheme implementations is provided by the ``Revised Report
on Scheme'', which is published jointly by the MIT Artificial Intelligence
Laboratory and the Indiana University Department of Computer Science.  It
is available from MIT as MIT ARtificial Intelligence Laboratory Memo No.
848, August 1985....

This note summarizes the options that we know of for obtaining Scheme to
use in teaching and research.

. We can provide copies of the Scheme system that we use in our course
  at MIT, for people who can use the same hardware configuration, which
  is an enhanced version of a Hewlett-Packard 9836, which uses a 68000
  processor.

. We have also implemented a portable version of Scheme whose kernel
  interpreter is written in C.  This is intended primarily as a complete
  specification of Scheme that can be translated and/or optimized to run
  on a variety of machine architectures.  The C interpreter can also be
  run ``as is,'' and we can supply versions of Scheme that use this
  interpreter running on the Vax under either VMS or Berkeley Unix and
  under HPUX on HP series 9000 computers.  The system should also come
  up on any ASCII machine where a longword is 32 bits....

[ See info at the end for how to obtain either of these - JGD ]

There are other versions of Scheme besides the ones developed at MIT.
Although these are not completely compatible with the MIT versions, they
are close enough so that they can be used [with Abelson & Sussman^2].

. MacScheme is a commercially-available implementation of Scheme for
  the 512K Apple Macintosh....  MacScheme sells for $125....  ...write
  to:
	  Semantic Microsystems
	  1001 Bridgeway Suite 543
	  Sausalito CA 94965
	  (415) 332-8094

. PC Scheme (unofficial name) is ... being developed at Texas Instruments.
  It runs on the [TI and IBM PCs].   PC Scheme is still under development
  and is not available commercially.  However, [TI] will make [beta test]
  implementations available to [educational] institutions.   ...contact

	  Texas Instruments
	  PO Box 2909
	  Austin, Texas 78769
	  Attn: Scheme Product Center, M/S 2244

. Scheme84 [was developed] at Indiana University....  The Scheme84
  software is in the public domain, and can be obtained by writing to

	  Scheme84 Distribution
  	  Nancy Garrett c/o Dan Friedman
	  Department of Computer Science
	  Indiana University
	  Bloomington, INdiana
	  (812) 335-9770 (nig@indiana.arpa)

  ...Indiana University will supply [Scheme84] for free if you send
  them a tape and return postage.  (Please specify ... VMS or for Unix).

. T is a version of Scheme that was developed at Yale University, and
  is available for distribution.  The system runs on Vaxes under VMS or
  Unix (Berkeley 4.1 or 4.2) and on the Apollo Domain.  ...contact
  Jon Goodman at Yale (203-436-0802) or write to

	  Yale University Dept. of Computer Science
	  PO Box 2158
	  Yale Station
	  New Haven, CT 06520

  [ If I may put in a plug here, I consider T to be the best Scheme
    inspired Lisp, and in fact the nicest Lisp period.  I've used it
    extensively on the Vax, and would use nothing else if it were
    available for my Sun workstation. - JGD ]

. Chez Scheme is a version of Scheme for Vax Unix developed by Kent Dybvig
  while at the University of North Carolina....  For more information,
  call Kent Dybvig (919/942-0498), send electronic mail to
  ...!decvax!mcnc!unc!dyb (Usenet) or dyb.unc@csnet-relay (ARPA), or write to:

	  Kent Dybvig
	  Department of Computer Science
	  University of North Carolina
	  New West Hall (035A)
	  Chapel Hill, NC 27514

. Vincennes Scheme is a version of Scheme written entirely in portable C,
  for Unix V7 and Berkeley 4.1 and 4.2....  A compiler that generates C
  code is available.  For more information contact

	    Patrick Greussay
	    Universite Paris-8-Vincennes
	    2 rue de la Liberte
	    Saint-Denis CEDEX 02 93526
	    France

[ Here the note goes on to describe the MIT C Scheme Implementation in
  some detail.  I'll omit this.  It is noted that no editor is included,
  but mentions that any Emacs (Gosling, CCA or Gnu) should do nicely.
  Finally, it is explained how to obtain either of the MIT Scheme
  distributions ( C Scheme or 68000 Scheme ).  The MIT Scheme compiler
  is not currently included with either release. ]

The cost of a distribution tape is $200....  To obtain a copy of [ either
MIT Scheme] send a request to

	    Scheme Distribution
	    MIT Artificial Intelligence Laboratory
	    545 Technology Square
	    Cambridge, Ma. 02139

[ Specify whether you want C Scheme or 68000 Scheme.  For C Scheme,
  simply send your check with your request.  For 68000 Scheme, ask
  for a licensing agreement, then send your check in with your
  completed licensing agreement. - JGD ]

-J. Greg Davidson		Virtual Infinity Systems, San Diego

haddock@ti-csl (04/19/86)

	/* ---------- "Re: What does Scheme run on?" ---------- */
Greg,
	Here's a more "uptodate" list.
========================================================================
This file contains information on all known Scheme implementations.
This was compiled by Jonathan Rees on 15 November 1985.  For the most
part it consists of electronic mail messages directly from the people
responsible.  Entries are in reverse order of receipt.

Send inquiries about the SCHEME@MIT-MC mailing list to
Scheme-Request@MIT-MC.

MIT AI memo 848, the "Revised Revised Report on Scheme," Will Clinger,
editor, can be ordered from:

  Elizabeth Heepe
  Publications, Room NE43-818
  MIT Artifical Intelligence Laboratory
  545 Technology Square
  Cambridge MA 02139

Enclose a check for $6.00 per copy (U.S. funds) payable to the MIT
Artificial Intelligence Laboratory.

Immediately following is the message which solicited the messages which
follow it in this file.

		- Jonathan Rees

----------

Date: Mon, 21 Oct 85 16:08:06 EDT
From: Jonathan A Rees <JAR@MIT-MC.ARPA>
Subject:  scheme implementations
To: SCHEME@MIT-MC.ARPA
Message-ID: <[MIT-MC.ARPA].687283.851021.JAR>

To make sure that everyone out there has current information, I want to
ask people who have or are actively working on Scheme implementations to
send out a SHORT message, giving the following information:

- Name of implementation
- Implemented by whom
- Supported by whom, and to what extent
- Hardware and operating system(s)
- Availability: when, approximate pr copyright status
- iption of dialecare with RRRSS [*] and with the
  dialect used in S&ICP)
- Intended use: education, number crunching, systems programming, etc.
- Implementation style (S-code, native-code-compiler-based, or whatever)
- Remarks, interesting features, misfeatures, and applications, etc.
- Whom to contact for more information

[* Sorry, I use the following abbreviations:
     S&ICP = the book "Structure and Interpretation of Computer Programs"
	     by Abelson & Sussman
     RRRSS = the Scheme dialect described in the Revised Revised Report
     ERRRSS = the "essential" subset of RRRSS]

Date: Wednesday, 20 Nov 85 15:31:49 PST
From: Will Clinger <willc%tekchips%tektronix.csnet at CSNET-RELAY.ARPA>

Implementation:		MacScheme
Implemented by:		Will Clinger, Liz Heller, and John Ulrich
Supported by:		Semantic Microsystems
Hardware:		Apple Macintosh or Lisa (Mac XL).
			Requires 512K RAM, can use up to 16M.
Operating Systems:	Finder (Macintosh); MacWorks (Lisa).
Price/Availability:	$125.  Available since August 1985.
Implementation:		Compiles to interpreted byte code.
Intended Use:		Education, personal computing, AI applications
Contact:		Semantic Microsystems
			4470 S.W. Hall St., Suite 340
			Beaverton, OR  97005
			(503) 643-4539

MacScheme supports all essential and many optional features of the Revised
Revised Report on Scheme.  It includes a compatibility package for use
with the Abelson and Sussman text, but environments are not supported.

The compiler and byte code architecture were described in Clinger's paper
at the 1984 Lisp conference.  Numbers are implemented as a union of 30-bit
fixnums, bignums, and 32-bit flonums; bignum arithmetic is slow.  The
system includes facilities for breaking, tracing, and debugging; most
run-time errors can be repaired in the debugger.  There is a pretty printer.
An escape to machine code is documented for direct access to the Macintosh
Toolbox.

The system includes a simple editor that understands Scheme syntax and
makes good use of multiple windows and the mouse.  This editor runs as a
foreground process while Scheme runs in the background.

MacScheme's speed is comparable to that of similar interpreters (MIT Scheme
on the HP 9836, TI Scheme) when hardware is taken into account.  Non-tail-
recursive procedure calls are relatively slow in MacScheme but tight tail-
recursive loops are relatively fast.  Interpreted MacScheme seems to run
about half as fast as compiled ExperLisp on the Macintosh.

Date: 12 Nov 1985 1035-CST
From: Don Oxley <OXLEY%CSL60%ti-csl.csnet@CSNET-RELAY.ARPA>
Subject: PC Scheme Implementation Information
To: Scheme@mit-mc.arpa

The following description of TI's PC Scheme product is a (belated)
response to Jonathan's request for implementation information:

Implementation:     PC Scheme
Developed by:       Texas Instruments Computer Science Lab
Supported by:       Texas Instruments Digital Systems Group
Hardware:           TI Professional and TI Business-Pro Computers,
                    IBM PC, PC/XT, PC/AT and IBM compatibles
Operating Systems:  MS(tm)-DOS 2.1 (PC-DOS) or better (at least 320K, dual
                        floppy)
Price/Availability: List price - $95, available in December 1985
		    [NOTE - has been available since 12/85.  This
			project delivered on time!!!]
Implementation:     Incrementally compiled to byte-codes
Intended Use:       Education, research, and support of AI software on PCs

PC Scheme is an implementation of Scheme for the TI Professional
Computer and IBM(r) Personal Computer families.  The product
consists of an optimizing compiler, a byte-code interpreter, extensive
run time support, an interactive, display-oriented editor, a language
reference manual, and a user's guide.  The system was developed on the
TI Professional Computer in Scheme itself, with critical run time
routines coded in C and assembly language for increased performance.

PC Scheme provides all the essential and most of the optional features
of the Revised Revised Report on Scheme.  It fully supports the
dialect used in the book "Structure and Interpretation of Computer
Programs" by Abelson and Sussman as well as many extensions developed
at Indiana University, MIT, and TI.  These include first-class engines
and environments and an experimental, object-oriented programming
system with dynamic multiple inheritance called SCOOPS.  Data type
support includes symbols, lists, vectors, strings, fixnums, bignums,
flonums (64 bit IEEE floating point), characters, closures,
continuations, environments, and I/O ports.

Evaluation is based on incremental compilation to byte-coded "virtual
machine" code which is emulated using threaded code techniques.
Informal benchmarks, including some of the Gabriel set, show PC Scheme
programs to be about 3-10 times faster than interpreted IQLISP(tm) and
2-4 times faster than interpreted Golden Common LISP(tm).

PC Scheme is oriented primarily towards compilation and fast execution
rather than extensive source-level debugging.  However, it does
provide trace and breakpoint facilities and an interactive Inspector
with commands to display and manipulate call stack frames and lexical
environments, edit variable bindings, trace back through a chain of
procedure calls, and evaluate expressions in the environment of a
breakpoint.  All user-correctable errors trap to the Inspector.

The display-oriented editor supplied with PC Scheme is a subset of
EDWIN, a version of EMACS written by the Scheme project at MIT and
adapted to PC Scheme by TI.  512K bytes of RAM are required to use
EDWIN.

Other PC Scheme run time support includes windowed screen input/output,
graphics, a pretty-printer, and an editor of in-memory list structures.
Compiled files can be converted to a "fast-load" format to speed up load
times.  Files containing variable definitions can be "autoloaded" on
demand.  A Winchester disk minimizes the inconvenience of autoloading,
but is not required.

Documentation includes a 286-page language reference manual and a
93-page user's guide.  Neither manual attempts to be a tutorial manual
for Scheme itself.

PC Scheme is being used extensively within Texas Instruments and is
the basis for future releases of TI's PC-based AI products, including
Arborist (tm) and the Personal Consultant Plus (tm).  It is currently
in use at approximately 25 universities in various settings (classes,
experimentation, evaluation).

PC Scheme may be ordered beginning November 15 for shipment in
December.  To order, write to Texas Instruments, 12501 Research Blvd.,
MS 2151, Austin, TX 78759 and ask for TI Part number #2537900-0001.
You may also order by telephone using MasterCard or VISA by calling
1-(800)-TI-PARTS.

Questions or comments on the product may be directed to the address
given above.  We also welcome less formal technical questions and
comments, which may be directed via CSNET to Oxley@TI-CSL.


        --Don

Date: Thu, 31 Oct 85 11:27:02 est
From: Kent Dybvig <dyb%indiana.csnet@CSNET-RELAY.ARPA>
To: SCHEME@mit-mc.ARPA
Subject: Scheme Implementation Blurb:  Chez Scheme

Implementation:     Chez Scheme
Authored by:        Kent Dybvig
Supported by:       limited support by the author
Hardware:           VAX
Operating Systems:  4.2 BSD UNIX (or ULTRIX)
Implementation:     incrementally compiled to native code
Intended Use:       education and research

Chez Scheme was first released earlier this year and is now
being used at about 10 universities for classes and research.
Chez Scheme supports almost all of the required and optional
features of the RRRS.  The next major release (in spring or
summer 1986) will support 100% of the required features of the
standard.

In addition to the features of the RRRS, Chez Scheme provides
error and exception handling, engines, programmable cafes and
waiters (fancy read-eval-print loops), tracing and statistics-
gathering facilities, and fast-loading compiled files.  Chez
Scheme provides floating point numbers, arbitrary-precision
ratios, and arbitrary-precision integers, but no imaginary
numbers at this time.

Bruce Smith of UNC and myself have written a book on Scheme
that is scheduled to be published in the spring.  This book
serves as the reference manual for Chez Scheme and is sent
in draft form with Chez Scheme distributions.

Chez Scheme's biggest claim to fame is the speed and size of
its implementation.  It outperforms Franz Lisp and DEC Common
Lisp on most programs, but the initial core image is less than
500K bytes, about half of which is read-only and sharable.

Sue Dybvig and myself have started a small consulting business,
named Cadence Research Systems, primarily for the purpose of
distributing and supporting Chez Scheme.  We charge a license
fee to cover costs of distribution.  The license fee per site
is $400 for US colleges and universities and $1000 for companies
who will use the system for research and education only.  

For the license forms and ordering information, contact:

   Kent Dybvig
   Cadence Research Systems
   620 Park Ridge Road
   Bloomington, IN  47401
   812/333-9269

You can also reach me during the day at 812/335-8653.

Kent Dybvig
dyb.indiana@csnet-relay

Date: Mon, 28 Oct 85 17:41:39 EST
From: "George J. Carrette" <GJC@MIT-MC.ARPA>
To: JAR@MIT-MC.ARPA
cc: SCHEME@MIT-MC.ARPA
In-reply-to: Msg of Mon 28 Oct 85 15:27:44 EST from Jonathan A Rees <JAR at MIT-MC.ARPA>
Message-ID: <[MIT-MC.ARPA].695676.851028.GJC>

- Name of implementation: SIOD (Scheme In One Defun)
- Implemented by whom: GJC (George Carrette)
- Supported by whom, and to what extent: GJC, for use in LMI lisp classes.
- Hardware and operating system(s): LMI-LAMBDA, ZETA(FOO?)LISP.
- Availability: Given out at my "guest lectures" to LMI lisp classes.
- Description of dialect: Sufficient to run S&ICP problems I find
  most interesting. Especially streams, the meta-linguistic abtraction section,
  and the interpreter/hardware sections.
- Intended use: education. Both to introduce S&ICP and to show interpreter
  implementation, also "WHY MACROS OR BAD, or WHY CANT YOU READ MY CODE?"
- Implementation style: The function SEVAL (scheme EVAL) is one DEFUN.
  The "text" being interpreted is syntax-checked first, but is otherwise
  just the obvious s-expression. The environment representation is an ALIST.
  Because of the underlying simplicity it was possible to code
  special cases such as look-ahead for simple variable lookup,
  and primitives such as +,/,CAR,CDR, applied to simple variable lookups
  without fear. There is very little overhead in the interpreter besides
  variable lookup (a single instruction, %ASSQ) and environment consing,
  (cheaper by the dozen and with the volatility based GC). The resulting
  interpreter is somewhat gross because of its use of specialized
  macrology, but is extremely fast, especially when compiled into
  MICROCODE by the Microcompiler.
  
- Remarks: One reason for this was to see just how far a few hours work
on a simple idea implemented somewhat grossly could go. Whenever I was
too burned out to do design-level work or debugging work (presumably on
jobs that I was paid to do) I might feel like trying to code
another SIOD special case. It is also a study for "how much effort should
go into avoiding CONS, vs other things?" It could be interesting to
compare its efficiency with JAR's compiler-style CLSCH.

- Whom to contact for more information: GJC@MC.

Date: Mon, 28 Oct 85 13:25:34 EST
From: Jonathan A Rees <JAR@MIT-MC.ARPA>
Subject:  implementations
To: SCHEME@MIT-MC.ARPA
Message-ID: <[MIT-MC.ARPA].695199.851028.JAR>

[The following information may be out of date.]

@b[Scheme84] is a version of Scheme that has been under development at
Indiana University for the past few years, and is used there to
support half a dozen different computer science courses.  The system
runs on the Vax under either VMS or Berkeley Unix.chem4 software
is in the public domain, and can be obtained by writing to@foot{The
current distribution policy for Scheme84 is that Indiana University
will supply it for free, if you send them a tape and return postage.
(Please specify whether the system is to be for VMS or for Unix.)  On
the other hand, the University reserves the right to begin charging a
fee to recover the cost of distribution, should this become
necessary.}
@begin(display)
Scheme84 Distribution
Nancy Garrett
c/o Dan Friedman
Department of Computer Science
Indiana University
Bloomington, Indiana
(812)-335-9770
E-mail address nlg@@indiana
@end(display)

@b[T] is a version of Scheme that was developed at Yale University, and is
available for distribution.  The system runs on Vaxes under VMS or
Unix (Berkeley 4.1 or 4.2) and on the Apollo Domain.  For more
information, contact Jim Philbin at Yale (203-436-0802) or write to
@begin(display)
Yale University Dept. of Computer Science
PO Box 2158
Yale Station 
New Haven, CT 06520
@end(display)

Vincennes Scheme is a version of Scheme written entirely in portable
C, for Unix V7 and Berkeley 4.1 and 4.2.  It runs on 32-bit machines
(e.g. 68K or Vax) as well as on 16-bit machines (e.g. Z8000 in which
it can fit in 128K).  This Scheme is compatible with the MIT version,
and includes an interpreter with the basic environment: debugger,
history, break, stepper, where. A compiler that generates C code is
available.  For more information, contact

Patrick Greussay
Universite Paris-8-Vincennes
2 rue de la Liberte
Saint-Denis CEDEX 02 93526
France

Date: Mon, 21 Oct 85 20:27:49 EDT
From: Jonathan A Rees <JAR@MIT-MC.ARPA>
Subject:  Implementation blurb: Scheme in Common Lisp
To: SCHEME@MIT-MC.ARPA
Message-ID: <[MIT-MC.ARPA].687556.851021.JAR>

    - Name of implementation:
CLSCH (Scheme embedded in Common Lisp)
    - Implemented by whom:
Jonathan Rees
    - Supported by whom, and to what extent:
Unsupported, although I'll probably continue to improve it.  No promises.
    - Hardware and operating system(s):
Will run in any implementation of Common Lisp.
    - Availability:
In alpha-test now (looking for guinea pigs).  Free.  Distributed as
source via electronic mail or FTP.  (I won't make tapes.)  May
eventually become part of Common Lisp "Yellow Pages."
    - Description of dialect:
Subset.  All of the essential features of RRRSS exist, except for a
correct CALL-WITH-CURRENT-CONTINUATION (some of you will say that it's
not Scheme at all, and I don't disagree); also some of the rest of
RRRSS, and most of the S&ICP dialect.
    - Intended use:
Running existing ERRRSS programs in any Common Lisp.  Not an ideal
development system, since debugging tools are weak.
    - Implementation style:
Low-tech.  A simple compiler translates Scheme into Common Lisp, making
sure that variable binding and tail recursion are done right.  The
output of the compiler can be interpreted by a CL interpreter or
compiled by a CL compiler.
    - Remarks:
I did this mostly for my own personal use.  Maybe other people will find
it useful too.
    - Contact:
Jonathan Rees (JAR@MIT-MC), MIT Artificial Intelligence Laboratory,
545 Technology Square, Cambridge MA 02139, (617) 253-8581.