summaryrefslogtreecommitdiffstats
path: root/ANNOUNCE
blob: 1effd27fde3449287dadf7863f99829a3f2dc001 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
This message announces the availability of Scheme release scm5e1.

New in scm5e1:

  * r4rstest.scm: Removed tests for 0^0 in anticipation of SRFI-70.
  * r4rstest.scm (test-numeric-predicates): Raised exponent so
  intransitive 128-bit-float implementations are caught.
  * r4rstest.scm (SECTION 6 5 5): Removed tests for (EXPT 0 -255)
  so Common-Lisp compatible EXPT won't bomb.
  Test EXPT inexactness contagion of zero cases.
  * r4rstest.scm (SECTION 6 5 5): Added exact tests for EXPT.
  Inexact EXPT corner cases should return inexacts.
  * r4rstest.scm: Added URLs.

  * Transcen.scm (limit): Check and report input errors.
  * Transcen.scm (limit): Added srfi-70 procedure.
  * Transcen.scm (expt, quotient, remainder, modulo): SRFI-70 extensions.
  * Transcen.scm (expt): Changed so (expt 0 -5) signals error.
  EXPT of zero returns zero or one matching input exactness.

  * Link.scm (link:link): Converted to use with-load-pathname.

  * Init5d9.scm (numerator, denominator): Check rational.
  * Init5d9.scm (numerator, denominator): Added.
  * Init5d9.scm (with-load-pathname): Moved from slib/require.scm.
  * Init5d9.scm (any-bits-set?, first-set-bit, bitwise-merge): Added
  remaining SRFI-33 aliases.
  * Init5d9.scm (read-array-type): Handle A:char.
  * Init5d9.scm (list->array, vector->array, array->vector): Added.
  * Init5d9.scm: Updated per SRFI-60.
  * Init5d9.scm (arithmetic-shift): Aliases ASH.
  * Init5d9.scm (read:array, read:sharp): Accept whole boatload of
  SRFI-58 sytnaxes.
  * Init5d9.scm (inexact->exact, exact->inexact): Identity when
  exacts-only.
  * Init5d9.scm (slib:eval-load): Converted to use (SLIB)
  with-load-pathname.
  * Init5d9.scm (slib:eval-load): Define moved to "slib/require.scm"
  * Init5d9.scm (read:array): Ignore third argument; line-numbers
  were hosing array reading.

  * build.scm (dlll gnu-win32): Changed flag to "-DSCM_WIN_DLL".
  (dlll microsoft-c-nt): Changed flag to "-DSCM_WIN_DLL".
  * build.scm (wb): Added for source in ../wb/.
  (build:command): Assume c-files are relative to cd; don't prefix
  c-files with scm-srcdir.
  (compile-dll-c-files): Many were missing include-spec "-I" call.
  * build.scm (compile-dll-c-files): For those platforms supporting
  shared object files, generate just one combining all FILES.
  * build.scm (compile-dll-c-files): Fixed -I for netbsd, openbsd.
  (compile-dll-c-files): Added -I for svr4-gcc-sun-ld.
  (file-categories): Renamed CORE from REQUIRED.

  * mkimpcat.scm: Support WB compiled in implementation-vicinity.
  * mkimpcat.scm: Added 'DIFF.

  * xgen.scm, build.bat, inc2scm: Replaced %0 ... %9 with %~f0 %*

  * scmhob.scm: Moved LOGICAL: aliases from logical.scm.

  * Makefile (install): Added db.so.
  (uninstall): Beefed up.
  * Makfile (scm5): Added target for undumpable architectures (FC3).
  * Makefile (SETARCH): Workaround for unexec on Fedora Linux i386.
  * Makefile (mydlls): Call BUILD separately for each dll.
  * Makefile (srcdir.mk): Include after target.
  Separated shell assignments and exports.
  * Makefile: (SHOBJS): Abstracted *.sl and *.so.
  * Makefile (db.so, rwb-isam.scm, wbtab.scm): Added.
  * Makefile (differ.so): Added target.

  * scm.spec (differ.so, Idiffer.scm): Added to %files.

  * scm.texi (MS-DOS Compatible Scripts): Replaced %0 ... %9 with %~f0 %*
  * scm.texi (SCMDB): Added section with link.
  (Hobbit): Moved notinfo stuff after Xlib so it appears same place
  in all products.
  * scm.texi (Sequence Comparison): Added.
  * scm.texi (SIOD copyright): Put in subsection.
  (The SCM License): Parallel Guile License text.
  * scm.texi (Automatic C Preprocessor Definitions): Added "sun".

  * scm.h (infi): Nonreal infinity added to sys_protects.
  * scm.h (SCM_WIN_DLL): renamed from SCM_DLL and DLLSCM.

  * scmfig.h (IS_INF): Removed.

  * scl.c (scm_complex_p): 0/0 is not complex.
  * scl.c (inf2str): Renamed from NaN2str().
  (makdbl): Returns `infi' for unreal infinities.
  (scm_rationalp): Added (infinities not).
  * scl.c (scm_intexpt): EXPT of zero behaves like Common-Lisp.
  * scl.c (scm_intexpt): Bombed given (integer-expt 0 25).

  * subr.c (scm_copybitfield): Changed argument order (SRFI-60).

  * unif.c (scm_prot2type): Was not defaulting correctly.
  * unif.c (raprin1): Don't elide 1 from #1A.
  * unif.c, sys.c: Sun cc doesn't like fwrite declaration.

  * byte.c (scm_write_byte): Was hosed for even number of bytes.
  * byte.c (scm_substring_read): Fixed off-by-one reading backwards.

  * ramap.c (array:copy!): Renamed from array-copy!.
  (array_copy): Arguments reversed.
  * ramap.c (init_ramap): Its tc7_subr_2 not tc7_subr2!
  * ramap.c (rafe): Removed unused variables inc and base.

  * repl.c (err_head): Fixed "loaded from" messages and formatting.
  * repl.c (iprin1): Slashify uppercase chars in symbols.
  * repl.c (read_token, iprin1, lreadr): Handle slashified symbols.
  * repl.c (handle_it): Added comments.  Call scm_fill_freelist() if
  interrupt lacks handler.
  * repl.c (scm_top_level): Default value of toplvl_fun just once.

  * differ.c, Idiffer.scm: Linear-space O(PN) sequence comparison.

  * eval.c (definedp): Added third (dummy) argument.

From Radey Shouman:

  * Init5d9.scm (read:array): Make default rank one, not zero.
  (as before).
  * Init5d9.scm (read:array): (read:sharp): (load:sharp): Use read
  argument passed to READ:SHARP only for eval, otherwise unexpected
  line numbers cause trouble.  eg #+(or) in load file.

  * script.c (find_impl_file): Find executable path accurately
  on MS windows.

  * scm.texi (Debugging Continuations): Added documenting
  frame-trace, frame->environment, scope-trace, frame-eval.

  * eval.c (toplevel_define) (scm_arity_check) (ceval_1)
  (scm_cvapply) (apply):  Pass multiple arguments to captured
  continuations, eg:
  (call-with-values (lambda () (call/cc (lambda (k) 1 2))) list)
  Better error checking for multiple-value returns in repl.

  * sys.c (scm_dynthrow): Allow passing multiple arguments
  to a continuation captured in the producer argument of
  call-with-values.

  * subr.c (scm_logbitp): Fixed bug in range check for fixnum
  case.  Eg (logbit? 10 #xffff) now correctly returns #t.

  * eval.c (macroexp1): Catch more syntax errors: ('f . f)
  * eval.c (m_case) (definedp):  Avoid segfault in cases of syntax
  error.

From Wim Lewis:

  * Makefile (scmflags): Use "cmp -s" instead of "diff".
  (x.h): Use -x $CPROTO to test for cproto's existence.

				-=-=-

Scm conforms to Revised^5 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, Unicos, VMS, Windows,
Unix, and similar systems.  ASCII and EBCDIC are supported.

Documentation is included explaining the many Scheme Language
extensions in scm, the internal representations, and how to extend or
include SCM in other programs.  Documentation is online at:

	     http://swissnet.ai.mit.edu/~jaffer/SCM.html

SCM source is available from:
 http://swissnet.ai.mit.edu/ftpdir/scm/scm5e1.zip
 swissnet.ai.mit.edu:/pub/scm/scm5e1.zip
 http://swissnet.ai.mit.edu/ftpdir/scm/scm-5e1-1.src.rpm
 swissnet.ai.mit.edu:/pub/scm/scm-5e1-1.src.rpm
Also available as i386 binary RPM:
 http://swissnet.ai.mit.edu/ftpdir/scm/scm-5e1-1.i386.rpm
 swissnet.ai.mit.edu:/pub/scm/scm-5e1-1.i386.rpm

SLIB is a portable Scheme library which SCM uses:
 http://swissnet.ai.mit.edu/ftpdir/scm/slib3a2.zip
 swissnet.ai.mit.edu:/pub/scm/slib3a2.zip
Also available as RPM:
 http://swissnet.ai.mit.edu/ftpdir/scm/slib-3a2-1.noarch.rpm
 swissnet.ai.mit.edu:/pub/scm/slib-3a2-1.noarch.rpm

JACAL is a symbolic math system written in Scheme:
 http://swissnet.ai.mit.edu/ftpdir/scm/jacal1b5.zip
 swissnet.ai.mit.edu:/pub/scm/jacal1b5.zip

SLIB-PSD is a portable debugger for Scheme (requires emacs editor):
 http://swissnet.ai.mit.edu/ftpdir/scm/slib-psd1-3.tar.gz
 swissnet.ai.mit.edu:/pub/scm/slib-psd1-3.tar.gz

SMG-SCM is an SMG interface package which works with SCM on VMS.
 http://swissnet.ai.mit.edu/ftpdir/scm/smg-scm2a1.zip
 swissnet.ai.mit.edu:/pub/scm/smg-scm2a1.zip
A VMS version of Unzip is available by anonymous FTP from
 ftp.spc.edu:[ANONYMOUS.MACRO32]UNZIP.EXE.

TURTLSCM is a turtle graphics package which works with SCM on MS-DOS
or X11 machines:
 http://swissnet.ai.mit.edu/ftpdir/scm/turtlegr.tar.gz
 swissnet.ai.mit.edu:/pub/scm/turtlegr.tar.gz

XSCM is a X windows interface package which works with SCM:
 http://swissnet.ai.mit.edu/ftpdir/scm/xscm-2.01.tar.gz
 swissnet.ai.mit.edu:/pub/scm/xscm-2.01.tar.gz

MacSCM is a Macintosh applications building package which works with
SCM (similar to XSCM).
 http://swissnet.ai.mit.edu/ftpdir/scm/macscm.tar.Z
 swissnet.ai.mit.edu:/pub/scm/macscm.tar.Z

WB is a disk based, sorted associative array (B-tree) library for SCM.
Using WB, large databases can be created and managed from SCM.
 http://swissnet.ai.mit.edu/ftpdir/scm/wb1c1.zip
 swissnet.ai.mit.edu:/pub/scm/wb1c1.zip
 http://swissnet.ai.mit.edu/ftpdir/scm/wb-1c1-1.src.rpm
 swissnet.ai.mit.edu:/pub/scm/wb-1c1-1.src.rpm
Also available as i386 binary RPM:
 http://swissnet.ai.mit.edu/ftpdir/scm/wb-1c1-1.i386.rpm
 swissnet.ai.mit.edu:/pub/scm/wb-1c1-1.i386.rpm

SIMSYNCH is a digital logic simulation system written in SCM.
 http://swissnet.ai.mit.edu/ftpdir/scm/synch1b0.zip
 swissnet.ai.mit.edu:/pub/scm/synch1b0.zip

DLD is a C library package allowing SCM to dynamically load object
files on VAX (Ultrix), Sun 3 (SunOS 3.4 and 4.0), SPARCstation
(SunOS 4.0), Sequent Symmetry (Dynix), Atari ST, and a.out Linux
systems.
 ftp.gnu.org:pub/gnu/dld/dld-3.3.tar.gz

SCM.EXE (282k) is a SCM executable for DOS and MS-Windows.
Note: SCM.EXE still requires slib3a2 and scm5e1 above.
 http://swissnet.ai.mit.edu/ftpdir/scm/scm.exe
 swissnet.ai.mit.edu:/pub/scm/scm.exe

#! implements "#!" (POSIX) shell-scripts for MS-DOS batch files.
 http://swissnet.ai.mit.edu/ftpdir/scm/sharpbang.zip
 swissnet.ai.mit.edu:/pub/scm/sharpbang.zip
 http://swissnet.ai.mit.edu/ftpdir/scm/#!.zip
 swissnet.ai.mit.edu:/pub/scm/#!.zip

Programs for printing and viewing TexInfo documentation (which SCM
has) come with GNU Emacs or can be obtained via ftp from:
 ftp.gnu.org:pub/gnu/texinfo/texinfo-4.0.tar.gz