Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/trunk/HISTORY
ViewVC logotype

Diff of /sml/trunk/HISTORY

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1189, Fri May 10 20:40:33 2002 UTC revision 1613, Wed Aug 11 03:35:58 2004 UTC
# Line 13  Line 13 
13  Description:  Description:
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16    Name: Allen Leung (leunga (at) reservoir (dot) com)
17    Date: 2004/08/10 23:35:00 EST
18    Tag: leunga-110_48-ppc
19    Description:
20    
21       The IBM/MacOS syntax switch on PPC was incorrectly swapped.
22    
23    ----------------------------------------------------------------------
24    Name: Matthias Blume (blume (at) tti - c (dot) org)
25    Date: 2004/10/04 12:00:00 CDT
26    Tag: Release_110_48
27    Description:
28    
29    New working version (110.48).  NEW BOOTFILES!
30    
31    ----------------------------------------------------------------------
32    Name: Allen Leung (leunga (at) reservoir (dot) com)
33    Date: 2004/08/09 12:21:00 EST
34    Tag: leunga-110_47-dijsktra
35    Description:
36    
37    Bug fix from Carl Hauser:
38    
39    single_source_shortest_paths in dijkstra.sml was observed to get wrong
40    answers (by comparing to single_source_shortest_paths in bellman-ford.sml).
41    
42    The problem is that following the expression A.update(dist,s,Num.zero)
43    it is necessary to update the priority queue using Q.decreaseWeight(Q,s).
44    
45    ----------------------------------------------------------------------
46    Name: Matthias Blume (blume (at) tti - c (dot) org)
47    Date: 2004/08/06 18:10:00 CDT
48    Tag: blume-20040806-cmdline
49    Description:
50    
51    Fiddled with handling of command-line options:
52    
53      * sml now quits after processing the command line
54        if -H, -S, -h<n>, or -s<n> appears as the last
55        command-line argument
56      * a new option -q terminates the session when encountered on
57        the command line; subsequent arguments will be ignored
58      * bug fixes: short (erroneous) arguments are no longer ignored
59        completely
60    
61    ----------------------------------------------------------------------
62    Name: Allen Leung (leunga (at) reservoir (dot) com)
63    Date: 2004/08/04 18:17:00 EST
64    Tag: leunga-110_47-ppc-ibm-asm
65    Description:
66    
67      - Added minimal IBM assembly syntax support for PowerPC.
68    
69      - Cygwin: manually changed the file cygwin.def.  Some exported symbols have
70        been altered in the runtime.  We need an automatic way to keep the file
71        in sync.
72    
73    ----------------------------------------------------------------------
74    Name: Matthias Blume (blume (at) tti - c (dot) org)
75    Date: 2004/08/04 14:00:00 CDT
76    Tag: Release_110_47
77    Description:
78    
79    New working version (110.47).  NEW BOOTFILES!
80    
81    ----------------------------------------------------------------------
82    Name: Matthias Blume (blume (at) tti - c (dot) org)
83    Date: 2004/08/03 14:25:00 CDT
84    Tag: blume-20040803-callingconv
85    Description:
86    
87    Added low-level support for choosing C calling conventions by
88    twiddling the type of rawccall.  (See
89    src/compiler/Semant/types/cproto.sml for details.)
90    
91    ----------------------------------------------------------------------
92    Name: Matthias Blume (blume (at) tti - c (dot) org)
93    Date: 2004/08/02 15:55:00 CDT
94    Tag: blume-20040802-backout
95    Description:
96    
97    Backed out of change to win32-filesys.c.  The earlier patch to
98    get_file_time caused CM to produce files with the wrong time stamp.
99    
100    ----------------------------------------------------------------------
101    Name: Matthias Blume (blume (at) tti - c (dot) org)
102    Date: 2004/08/02 14:45:00 CDT
103    Tag: blume-20040802-nlffi-win32
104    Description:
105    
106    Added NLFFI support for Win32, adapted from a patch provided by David
107    Hansel.  This is currently completely untested.  Also, the issue
108    concerning stdcall vs. ccall is still unresolved.
109    
110    ----------------------------------------------------------------------
111    Name: Matthias Blume (blume (at) tti - c (dot) org)
112    Date: 2004/07/30 17:55:00 CDT
113    Tag: blume-20040730-various
114    Description:
115    
116    Gearing up towards 110.47...
117    
118    - various minor bugfixes to ml-nlffigen
119    - a beginning of a manual for nlffi
120    
121    - eliminated 'export name=value' in config/install.sh as this does
122      not work with certain versions of /bin/sh
123      (Thanks to David King at Motorola for catching this.)
124    
125    - several bugfixes provided or suggested by David Hansel at Reactive Systems:
126      - added a test for tm==NULL to gmtime.c and localtime.c
127      - applied patch for incorrect GetFileTime under win32
128      - toSeconds -> toMilliseconds in Win32/win32-process.sml
129    
130    ----------------------------------------------------------------------
131    Name: Matthias Blume (blume (at) tti - c (dot) org)
132    Date: 2004/07/21 18:20:00 CDT
133    Tag: blume-20040721-nlffigen
134    Description:
135    
136    - Fixed minor issue in ml-nlffigen: Now generate structure T_foo
137      for a typedef to an incomplete type, but leave out the "typ" member.
138      (This is just for consistency.)
139    - Started to produce what is supposed to become better (i.e., comprehensive)
140      documentation of what ml-nlffigen does and produces.
141    
142    ----------------------------------------------------------------------
143    Name: Matthias Blume (blume (at) tti - c (dot) org)
144    Date: 2004/07/14 16:25:00 CDT
145    Tag: blume-20040714-union
146    Description:
147    
148    Added C_UNION to c-calls/c-types.sml and updated the machinery
149    (ml-nlffigen, cproto.sml) that conveys C function interface
150    information to the code generator.
151    
152    However, the actual architecture-specific implementation of function
153    arguments and results that are C unions is still not implemented.
154    
155    ----------------------------------------------------------------------
156    Name: Allen Leung (leunga (at) reservoir (dot) com)
157    Date: 2004/07/14 14:38:00 EST
158    Tag: leunga-110_46_1-ppc-lwzu
159    Description:
160    
161        Added these instructions to the PowerPC architecture:
162        LBZU(X), LHZU(X), LWZU(X),
163        STWU(X), STFDU, STFSU
164    
165        etc...
166    
167        Note: I haven't added their instruction encoding into the description.
168    
169    ----------------------------------------------------------------------
170    Name: Allen Leung (leunga (at) reservoir (dot) com)
171    Date: 2004/07/13 15:04:00 EST
172    Tag: leunga-110_46_1-ppc-lwarx
173    Description:
174    
175       Added the two instructions LWARX and STWCX to the PowerPC
176    instruction set.
177    
178       A (untested) rewrite of loop-structure.sml.  The old version
179    is completely broken.
180    
181    ----------------------------------------------------------------------
182    Name: Matthias Blume (blume (at) tti - c (dot) org)
183    Date: 2004/07/13 13:50:00 CDT
184    Tag: blume-20040713-nlffi
185    Description:
186    
187    - use paramAlloc to report c-calls with too many arguments
188      (for PPC version where parameter area is pre-allocated)
189    - added ccall_maxargspace to machspec (to implement the above)
190    - made "make" commend in CM's "make" tool configurable
191    - added option (default: on) for passing the name of the SML/NJ's "bin"
192      directory to "make"; the call looks like this:
193    
194         make <options> SMLNJ_BINDIR=<dir> <target>
195    
196      This can be used by the Makefile to, e.g., pick the "right" version
197      of ml-nlffigen.
198    - minor code tweaks
199    
200    ----------------------------------------------------------------------
201    Name: Matthias Blume (blume (at) tti - c (dot) org)
202    Date: 2004/07/12 22:50:00 CDT
203    Tag: blume-110_46_1-macosx-nlffi
204    Description:
205    
206    NLFFI under Mac OS X now working (sort of).  This is largely untested,
207    though.
208    
209    Note:  1. You have to make a new, clean build of the runtime system.
210           2. There are new BOOTFILES, you have to use them!
211              (Doing the bootstrap process yourself would be *very* painful!
212               If you absolutely have to do it, build the system under
213               a different architecture and then cross-compile.)
214    
215    Version bumped to 110.46.1 to account for runtime data format changes.
216    
217    ----------------------------------------------------------------------
218    Name: Matthias Blume (blume (at) tti - c (dot) org)
219    Date: 2004/06/18 14:30:00 CDT
220    Tag: blume-20040618-unix
221    Description:
222    
223    Changed the implementation of structure Unix so that the same stream
224    is returned every time one of the {text,bin}{In,Out}streamOf functions
225    is invoked on the same proc.  This is not what the spec currently
226    says -- although IMO it arguably should.  (See discussion below.)
227    
228    ----------------------------------------------------------------------
229    Name: Matthias Blume (blume (at) tti - c (dot) org)
230    Date: 2004/06/17 18:15:00 CDT
231    Tag: Release_110_46
232    Description:
233    
234    New working version (110.46).  NEW BOOTFILES!
235    
236    ----------------------------------------------------------------------
237    Name: Matthias Blume (blume (at) tti - c (dot) org)
238    Date: 2004/06/17 17:20:00 CDT
239    Tag: blume-20040617-timer-unix
240    Description:
241    
242    Changed the interface of structures Timer and Unix to match the most
243    recent Basis spec.
244    
245    In the case of Unix there still seems to be an open/weird issue:
246    
247       The {text,bin}{In,Out}streamOf functions are supposed to create
248       fresh streams whenever they are called -- as opposed to have them
249       return the same stream every time.  This design is supposed to
250       prevent space leaks caused by proc values hanging on to streams.
251    
252       The reap function, on the other hand, is supposed to close the
253       streams.  This cannot be done without having a handle on the
254       stream in proc after all...
255    
256    I took the liberty to implement the following stopgap solution:
257    
258      The proc value hangs on to the most recently created stream(s).
259      Reap closes those.  If either or both of the two streams hadn't
260      been created at all yet, then reap will close the corresponding
261      file descriptors directly.
262    
263    PS: I don't understand the original space leak argument anymore.  If
264    a proc hangs on to the imperative stream, then I/O operations on those
265    will advance the state of the cached stream and avoid the space leak.
266    
267    ----------------------------------------------------------------------
268    Name: Matthias Blume (blume (at) tti - c (dot) org)
269    Date: 2004/05/28 16:45:00 CDT
270    Tag: blume-20040528-basis
271    Description:
272    
273    Added signature PACK_REAL and exported functor PrimIO.
274    
275    ----------------------------------------------------------------------
276    Name: Matthias Blume (blume (at) tti - c (dot) org)
277    Date: 2004/05/25 16:00:00 CDT
278    Tag: blume-20040525-group-owner
279    Description:
280    
281    CM now ignores (but still accepts) the "owner" information in group
282    descriptions.  The owner of a group is its next enclosing
283    library. Each group must have a unique owner.  (There is a virtual
284    "toplevel" library that owns groups which are not nested within a real
285    library.)  Previously, each group had to explicitly declare its owner,
286    and CM would check that such a declaration is correct.  The new scheme
287    is to have CM check that for each group there is precisely one owning
288    library.
289    
290    The advantage of the new scheme is that the programmer no longer needs
291    to maintain the somewhat annoying owner information.  The downside is
292    that CM cannot enforce the ownership rule across multiple runs of
293    CM.make.  Fortunately, enclosing the same group in two different
294    libraries A and B which are not part of the same program does not
295    cause real problems.
296    
297    ----------------------------------------------------------------------
298    Name: Matthias Blume (blume (at) tti - c (dot) org)
299    Date: 2004/05/20 16:00:00 CDT
300    Tag: blume-20040520-win32
301    Description:
302    
303    Made the win32 version work again.  (Strangely, a misplaced comma had
304    slipped into win32-process.c which prevented the runtime from being
305    compiled correctly.)
306    
307    Also, included a minor addition to ml-build.bat analogous to what was
308    done in blume-20040519-ml-build.
309    
310    ----------------------------------------------------------------------
311    Name: Matthias Blume (blume (at) tti - c (dot) org)
312    Date: 2004/05/19 22:10:00 CDT
313    Tag: blume-20040519-ml-build
314    Description:
315    
316    Arranged for ml-build to clean up after itself a little bit better.
317    The script generates a temporary SML source file and compiles it using
318    CM, so CM generates metadata (GUID, SKEL, objectfile) for it.  It now
319    gets rid of those at the end, so they don't accumulate under .cm.
320    
321    This required a minor change to install.sh because the name of the
322    metadata directory (default: .cm) is actually configurable at
323    installation time.
324    
325    ----------------------------------------------------------------------
326    Name: Matthias Blume (blume (at) tti - c (dot) org)
327    Date: 2004/05/18 15:50:00 CDT
328    Tag: blume-20040518-mkreader
329    Description:
330    
331    Added Posix.IO.mk{Bin,Text}{Reader,Writer} by lifting their respective
332    implementations from internal modules PosixBinPrimIO and PosixTextPrimIO.
333    
334    ----------------------------------------------------------------------
335    Name: Matthias Blume (blume (at) tti - c (dot) org)
336    Date: 2004/05/11 14:35:00 CDT
337    Tag: blume-20040511-win32sock
338    Description:
339    
340    Added previously missing support for many socket-related functions
341    under win32.  Thanks to David Hansel <hansel@reactive-systems.com>
342    for the voluminous patch!
343    
344    (I have not tested this patch under win32 yet.)
345    
346    Here is David's e-mail:
347    
348    Hi,
349    
350    Attached to this email you find a diff against sml/nj 110.45
351    that will enable socket support under Windows.
352    
353    To apply the patch (using unix or cygwin)
354    1) gunzip runtime.diff.gz
355    2) "cd" into "src/runtime" in the source tree of a fresh
356       110.45 installation.
357    3) patch -p 1 < [your/path/to]runtime.diff
358    
359    The code compiles fine but has NOT yet been extensively tested.
360    I only ran a few tests for basic socket client functionality
361    (which worked fine).  Especially the functions that use ioctl
362    are not tested at all and might not work (see below).
363    
364    I implemented this since we want to move to a newer version of sml/nj
365    but need socket support in order to use it.  This is the first time I
366    even had a look at the sml/nj source,  so please review my changes
367    before making this part of the distribution!  Here are a few issues
368    that I think might be better for someone to solve who is more
369    familiar with the sml/nj source (and socket programming):
370    
371    - getnetbyaddr.c and getnetbyname.c will raise a "not implemented"
372      exception since I could not figure out what the windows equivalent
373      of these functions is
374    
375    - In sockets-osdep.h there are a some #include statements that are
376      only used in a few files that include sockets-osdep.h
377    
378    - In smlnj-sock-lib.c, function init_fn() calls WSAStartup() but
379      does not process its return value since I don't know how to
380      report an error upwards.
381    
382    - It would probably be good to have a call to WSACleanup() when
383      the library is unloaded (if there is such a possibility).
384      Otherwise I think Windows will take care of this automatically
385      when the process finishes.
386    
387    - I used ioctlsocket() as a replacement for ioctl() but I have
388      no idea if that is actually the proper replacement on Windows.
389    
390    - All these issues are marked in the code by "FIXME" comments.
391    
392    We use sml/nj extensively in our products and are quite happy
393    with it.  I hope this contribution will help you.
394    
395    Keep up the good work!
396    
397    David
398    
399    ----------------------------------------------------------------------
400    Name: Matthias Blume (blume (at) tti - c (dot) org)
401    Date: 2004/05/11 14:20:00 CDT
402    Tag: blume-20040511-installml
403    Description:
404    
405    Fixed two bugs in installml script.  (Thanks to Vesa A. Norrman for
406    the patch.)
407    
408    ----------------------------------------------------------------------
409    Name: Matthias Blume (blume (at) tti - c (dot) org)
410    Date: 2004/05/11 14:05:00 CDT
411    Tag: blume-20040511-nlffi-netbsd
412    Description:
413    
414    Added support for nlffi under netbsd.  (Thanks to Vesa A. Norrman for
415    the patch.)
416    
417    ----------------------------------------------------------------------
418    Name: Matthias Blume (blume (at) tti - c (dot) org)
419    Date: 2004/05/11 12:05:00 CDT
420    Tag: blume-20040511-exports
421    Description:
422    
423    As per request by Adam Chlipala <adam@hcoop.net>, extended various
424    export lists in compiler-related .cm-files.
425    
426    ----------------------------------------------------------------------
427    Name: Matthias Blume (blume (at) tti - c (dot) org)
428    Date: 2004/05/11 11:35:00 CDT
429    Tag: blume-20040511-allsource
430    Description:
431    
432    The installer now honors the "src-smlnj" target again, although its meaning
433    has changed from "all sources required for the compiler" to "all sources
434    the installer knows about".  In other words, if you enable "src-smlnj"
435    in the "targets" file, then the installer will pull in sources for
436    everything.  (Notice that this refers to source code only.  Compiled
437    code is still only installed for modules that were requested explicitly
438    or which are required for other modules that were requested explicitly.)
439    
440    ----------------------------------------------------------------------
441    Name: Matthias Blume (blume (at) tti - c (dot) org)
442    Date: 2004/04/23 17:40:00 CDT
443    Tag: blume-20040423-ieee-scan
444    Description:
445    
446    Fixed IEEEReal.scan (and .fromString) so that if there is an overflow
447    in the exponent calculation we get INF or ZERO (depending on the mantissa
448    and the sign of the exponent).
449    
450    ----------------------------------------------------------------------
451    Name: Matthias Blume (blume (at) tti - c (dot) org)
452    Date: 2004/04/23 10:40:00 CDT
453    Tag: blume-20040423-ml-build
454    Description:
455    
456    The ml-build script now terminates with a non-0 status when something
457    goes wrong.
458    
459    ----------------------------------------------------------------------
460    Name: Matthias Blume (blume (at) tti - c (dot) org)
461    Date: 2004/04/22 16:35:00 CDT
462    Tag: blume-20040422-Option
463    Description:
464    
465    Made exception Option to be the same as exception Option.Option
466    (as it should be).
467    
468    ----------------------------------------------------------------------
469    Name: Allen Leung (leunga (at) reservoir (dot) com)
470    Date: 2004/03/19 14:40:00 EST
471    Tag: leunga-20040319-cygwin-nlffi
472    Description:
473    
474    Fixed the runtime so that ml-nlffi-lib runs on the cygwin version
475    of SML/NJ.  The problem is that
476    
477       lib = dlopen(NULL, ...)
478       f   = dlsym(lib, "malloc");
479    
480    does not work on Windows unless we explicitly export symbols
481    such as 'malloc' during linking.  We fixed this by explicitly
482    exporting the required symbols with the magic gcc incantation:
483    
484        -Wl,--export-all cygwin.def
485    
486    where cygwin.def is a file containing all the symbols that
487    we wish to export.
488    
489    I suspect this is a Windows problem and we'll have to
490    do the same (somehow with windows compilers) when
491    we build the native win32 version with the system
492    calls LoadLibrary/GetProcAddress.
493    
494    ----------------------------------------------------------------------
495    Name: Matthias Blume (blume (at) tti - c (dot) org)
496    Date: 2004/03/04 16:35:00 CST
497    Tag: blume-20040304-intinf-fmt
498    Description:
499    
500    Fixed problem with IntInf.fmt (sign would show up on the right instead
501    of on the left for BIN, OCT, and HEX).
502    
503    ----------------------------------------------------------------------
504    Name: Matthias Blume (blume (at) tti - c (dot) org)
505    Date: 2004/03/04 11:25:00 CST
506    Tag: blume-20040304-symlinks
507    Description:
508    
509    Fixed problem with installer script (unix only) where bin/ml-yacc and
510    friends pointed (via symlinks) to absolute locations instead of just
511    .run-sml.  This was reported by Vesa A Norrman.
512    
513    ----------------------------------------------------------------------
514    Name: Matthias Blume (blume (at) tti - c (dot) org)
515    Date: 2004/02/13 14:50:00 CST
516    Tag: Release_110_45
517    Description:
518    
519    New working version (110.45). New bootfiles.
520    
521    ----------------------------------------------------------------------
522    Name: Matthias Blume (blume (at) tti - c (dot) org)
523    Date: 2004/01/26 15:15:15 CST
524    Tag: blume-20040126-toplevel
525    Description:
526    
527    Improved handling of exceptions at the interactive toplevel.
528    
529    ----------------------------------------------------------------------
530    Name: Matthias Blume (blume (at) tti - c (dot) org)
531    Date: 2004/01/26 11:25:00
532    Tag: blume-20040126-app
533    Description:
534    
535    Type of top-level "app" corrected.
536    Added code for setting vp_limitPtrMask to Win32-specific runtime.
537    
538    ----------------------------------------------------------------------
539    Name: Matthias Blume (blume (at) tti - c (dot) org)
540    Date: 2003/11/18 17:10 CST
541    Tag: blume-20031118-basis-fiddle
542    Description:
543    
544    - changed Timer interface to what might become the spec
545    - POSIX_FLAGS -> BIT_FLAGS according to spec
546    - some other minor discrepancies wrt. spec eliminated
547    
548    ----------------------------------------------------------------------
549    Name: Matthias Blume (blume (at) tti - c (dot) org)
550    Date: 2003/11/06 12:00:00 CST
551    Tag: Release_110_44
552    Description:
553    
554    New working version (110.44). New bootfiles.
555    
556    ----------------------------------------------------------------------
557    Name: Matthias Blume (blume (at) tti - c (dot) org)
558    Date: 2003/11/04 11:50:00 CST
559    Tag: blume-20031104-move-libraries
560    Description:
561    
562    Eliminated the "dont_move_libraries" directive in config/targets.
563    (The mechanism was broken and could not be fixed easily.  Moreover,
564    there does not seem to be any reason not to move all libraries into
565    lib during installation.  I originally implemented this directive as a
566    backward-compatibility feature when I first introduced the new CM.
567    Now that things have been stable for a long time and going back to the
568    old CM is not an option, there is no reason to keep it around.)
569    
570    ----------------------------------------------------------------------
571    Name: Matthias Blume (blume (at) tti - c (dot) org)
572    Date: 2003/11/03 16:00:00 CST
573    Tag: blume-20031103-installdir
574    Description:
575    
576    Made installer honor INSTALLDIR variable again.  (Thanks to Chris
577    Richards for pointing out the problem and providing the solution.)
578    
579    ----------------------------------------------------------------------
580    Name: Matthias Blume (blume (at) tti - c (dot) org)
581    Date: 2003/10/01 17:05:00 CDT
582    Tag: blume-20031001-lal-mlrisc
583    Description:
584    
585    MLRISC bug fix from Lal.
586    
587    ----------------------------------------------------------------------
588    Name: Matthias Blume (blume (at) tti - c (dot) org)
589    Date: 2003/09/30 16:10:00 CDT
590    Tag: blume-20030930-primio-bat
591    Description:
592    
593    1. Added openVector, nullRd, and nullWr to PRIM_IO.
594    2. Improved .bat files (for Win32 port) to make things work under Win95.
595       (thanks to Aaron S. Hawley for this one)
596    
597    ----------------------------------------------------------------------
598    Name: Matthias Blume (blume (at) tti - c (dot) org)
599    Date: 2003/09/26 16:05:00 CDT
600    Tag: blume-20030926-wrappriv
601    Description:
602    
603    Added missing wrapper for privilege "primitive" in $smlnj/viscomp/core.cm.
604    
605    ----------------------------------------------------------------------
606    Name: Matthias Blume (blume (at) tti - c (dot) org)
607    Date: 2003/09/26 15:00:00 CDT
608    Tag: blume-20030926-110_43_3
609    Description:
610    
611    - additional cleanup
612    - version number bump, NEW BOOTFILES
613    
614    ----------------------------------------------------------------------
615    Name: Matthias Blume (blume (at) tti - c (dot) org)
616    Date: 2003/09/26 12:00:00 CDT
617    Tag: blume-20030926-ppautoload
618    Description:
619    
620    I modified the read-eval-print loop so that the autoloader gets
621    invoked whenever the prettyprinter tries to look up a symbol that
622    is not currently defined in the toplevel environment but which
623    appears in CM's autoload registry.  As a result, we see far fewer of
624    those ?.Foo.Bar.xxx names in the prettyprinter's output.
625    
626    In addition to this I tried to clean up some pieces of the Basis
627    implementation (e.g., Socket, Word8Array) in order to prevent other
628    instances of these ?.Foo.Bar.xxx names from being printed.
629    
630    The mechanism that picks names for types still needs some work, though.
631    (Right now it seems that if there is a type A.t which is defined to
632    be B.u, but B is unavailable at toplevel, then A.t gets printed as
633    "?.B.u" although the perhaps more sensible solution would be to use
634    "A.t" in this case.  In other words, the prettyprinter should follow
635    a chain of DEFtycs not farther than there are corresponding toplevel
636    names in the current environment.)
637    
638    ----------------------------------------------------------------------
639    Name: Matthias Blume (blume (at) tti - c (dot) org)
640    Date: 2003/09/24 16:31:00 CDT
641    Tag: blume-20030924-installer
642    Description:
643    
644    Another installer tweak:  All the ML code for the installer is now
645    compiled during CMB.make and put into a little library called
646    $smlnj/installer.cm.  The installation then simply invokes
647    
648       sml -m $smlnj/installer.cm
649    
650    and everything happens automagically.
651    
652    Win32:  ML code senses value of environment variable SMLNJ_HOME.
653    Unix:   ML code senses values of environment variables ROOT, CONFIGDIR,
654            and BINDIR.
655    
656    The new scheme guarantees that the ML code responsible for the installation
657    is in sync with the APIs of the main system.  Also, the installer is
658    somewhat faster because the installer script is precompiled.
659    
660    ----------------------------------------------------------------------
661    Name: Matthias Blume (blume (at) tti - c (dot) org)
662    Date: 2003/09/24 15:35:00 CDT
663    Tag: blume-20030924-synsock
664    Description:
665    
666    Added a signature SYNCHRONOUS_SOCKET to basis.cm.  This is like SOCKET
667    but excludes all non-blocking operations.  Defined SOCKET (in Basis)
668    and CML_SOCKET in terms of SYNCHRONOUS_SOCKET.  Removed superfluous
669    implementations of non-blocking operations from CML's Socket
670    structure.
671    
672    ----------------------------------------------------------------------
673    Name: Matthias Blume (blume (at) tti - c (dot) org)
674    Date: 2003/09/24 15:10:05 CDT
675    Tag: blume-20030924-sockets
676    Description:
677    
678    1. Fixed SOCKET API and implementation to match Basis spec.
679       This required changing the internal representation of sockets to one
680       that remembers (for each socket file descriptor) whether it is currently
681       blocking or non-blocking.  This state is maintained lazily (i.e., a system
682       call is made only if the state actually needs to change).
683    
684    2. OS-specific details of sockets were moved into separate files, thus
685       making it possible to unify the bulk of the socket implementations
686       between Unix and Win32.
687    
688    3. CML's socket API changed accordingly.
689       (Note that we need to remove non-blocking functions from this API
690       since they are redundant in the case of CML!)
691    
692    4. CML's socket implementation now makes use of non-blocking functions
693       provided by Basis, thus removing all OS-dependent code from this part
694       of CML.
695    
696    5. Changed Real64.precision from 52 to 53.  Minor cleanup in Real64 code.
697    
698    ----------------------------------------------------------------------
699    Name: Matthias Blume (blume (at) tti - c (dot) org)
700    Date: 2003/09/22 12:10:00 CDT
701    Tag: blume-20030922-110_43_2
702    Description:
703    
704    Made a new interim version and bootfiles for developer's bootstrapping
705    convenience.
706    
707       110.43.2 -- NEW BOOTFILES
708    
709    ----------------------------------------------------------------------
710    Name: Matthias Blume (blume (at) tti - c (dot) org)
711    Date: 2003/09/19 15:55:00 CDT
712    Tag: blume-20030919-cmdir
713    Description:
714    
715    1. new-install.sh -> install.sh
716    2. changed default CM "metadata" directory name to ".cm" (instead of "CM")
717    3. tweaked installer so that another name instead of .cm can be chosen
718       at install time (by setting the CM_DIR_ARC environment variable
719       during installation); once installation is complete, the name is
720       fixed
721    
722    ----------------------------------------------------------------------
723    Name: Matthias Blume (blume (at) tti - c (dot) org)
724    Date: 2003/09/18 16:00:00 CDT
725    Tag: blume-20030918-110_43_1
726    Description:
727    
728    Made a new interim version and bootfiles for developer's bootstrapping
729    convenience.
730    
731       110.43.1 -- NEW BOOTFILES
732    
733    ----------------------------------------------------------------------
734    Name: Matthias Blume (blume (at) tti - c (dot) org)
735    Date: 2003/09/18 15:20:00 CDT
736    Tag: blume-20030918-misc
737    Description:
738    
739    1. Exported fractionsPerSecond etc. from TimeImp (but not from Time as
740       this seems to be controversial at the moment) and used those in
741       Posix.ProcEnv.times.
742    
743    2. Added Time.{from,to}Nanoseconds to Time.
744    
745    3. Improved Real.{from,to}LargeInt by avoiding needless calculations.
746       For example, fromLargeInt never needs to look at more than 3 "big
747       digits" to get its 53 bits of precision.
748    
749    ----------------------------------------------------------------------
750    Name: Matthias Blume (blume (at) tti - c (dot) org)
751    Date: 2003/09/17 16:30:00 CDT
752    Tag: blume-20030917-real32-slices
753    Description:
754    
755    Added an entry to the primitive environment
756    (compiler/Semant/statenv/prim.sml) for int32->real64 conversion and
757    added code to compiler/CodeGen/main/mlriscGen.sml to implement it.
758    
759    Removed some of the "magic" constants in real64.sml and replaced them
760    with code that generates these values from their corresponding
761    integer counterparts.
762    
763    Made all(?) the slice-related changes to the Basis and made everything
764    compile again...
765    
766    ----------------------------------------------------------------------
767    Name: Matthias Blume (blume (at) tti - c (dot) org)
768    Date: 2003/09/15 17:45:00 CDT
769    Tag: blume-20030915-rbase
770    Description:
771    
772    Fixed bug in Real.fromLargeInt.
773    
774    ----------------------------------------------------------------------
775    Name: Matthias Blume (blume (at) tti - c (dot) org)
776    Date: 2003/09/13 18:11:00 CDT
777    Tag: blume-20030913-libinstall
778    Description:
779    
780    Minor bugfix in config/libinstall (set anchor with path to
781    standalone tool after installing it, otherwise libraries that
782    need ml-lex or ml-yacc won't compile the first time the installer
783    runs).
784    
785    ----------------------------------------------------------------------
786    Name: Matthias Blume (blume (at) tti - c (dot) org)
787    Date: 2003/09/12 11:45:00 CDT
788    Tag: blume-20030912-various
789    Description:
790    
791     - fixed bug in Real.toLargeInt
792     - fixed bug in Posix.ProcEnv.times
793     - changed inputLine functions to return an option
794     - minor installer improvements / bugfixes
795     - changed default @SMLalloc parameter for x86/celeron to 64k
796    
797    ----------------------------------------------------------------------
798    Name: Matthias Blume (blume (at) tti - c (dot) org)
799    Date: 2003/09/09 22:00:00 CDT
800    Tag: Release_110_43
801    Description:
802    
803        New working release 110.43.  New bootfiles.
804    
805    ----------------------------------------------------------------------
806    Name: Matthias Blume (blume (at) tti - c (dot) org)
807    Date: 2003/09/09 19:20:00 CDT
808    Tag: blume-20030909-installer
809    Description:
810    
811    Rewrote large parts of config/install.sh in SML (config/libinstall.sml).
812    Modified config/install.bat to take advantage of it.  Also modified
813    config/install.sh (and called it config/new-install.sh) to take advantage
814    of it on Unix systems.  (The SML code is (supposed to be) platform-
815    independent.)
816    
817    The installer can now install everything under Win32
818    as well as under *nix as long as it compiles.
819    
820    Other changes:
821    
822      - made CML compile again under Win32
823      - made eXene compile under Win32 (by providing a fake structure UnixSock
824        and by using OS.Process.getEnv instead of Posix.ProcEnv.getenv)
825      - fixed a bug in nowhere: it assumed that type OS.Process.status is the
826        same as type int;  under Win32 it isn't
827      - fixed some slice-related problems in the win32-specific parts of CML
828      - added a functor argument "sameVol" to os-path-fn.sml in the Basis
829        (under Win32, the volume name is case-insensitive, and the
830        OS.Path code compares volume names for equality)
831    
832    ----------------------------------------------------------------------
833    Name: Matthias Blume (blume (at) tti - c (dot) org)
834    Date: 2003/09/08 11:55:00 CDT
835    Tag: blume-20030908-fullpath
836    Description:
837    
838    Made Win32 version of OS.FileSys.fullPath return current directory
839    when given an empty string.  This is what the spec says, and incidentally,
840    CM depends on it.  (CM otherwise goes into an infinite loop in certain
841    cases when presented with the name of a non-existing .cm file.)
842    
843    ----------------------------------------------------------------------
844    Name: Matthias Blume (blume (at) tti - c (dot) org)
845    Date: 2003/09/04 16:30:00 CDT
846    Tag: blume-20030905-slices-etc
847    Description:
848    
849      1. Changed interface to vectors and arrays in Basis to match
850         (draft) Basis spec.
851      2. Added signatures and implementations of slices according to
852         Basis spec.
853      3. Edited source code throughout the system to make it compile again
854         under 1. and 2.  (In some cases code had to be added to have it
855         match the new signatures.)
856      4. MLRISC should be backward-compatible: the copies of the originals
857         of files that needed to change under 3. were retained, the .cm files
858         check the compiler version number and use old versions when
859         appropriate.
860      5. Changed type of OS.FileSys.readDir and Posix.FileSys.readdir to
861         dirstream -> string option (in accordance with Basis spec).
862      6. When generating code that counts lines, ml-lex used function
863         CharVector.foldli, taking advantage of its old interface.
864         This has been replaced with the corresponding code from
865         CharVectorSlice.  (html-lex must be re-lexed!)
866      7. BitArray in smlnj-lib/Util has been extended/modified to match the
867         new MONO_ARRAY signature.  (Do we need BitArraySlice?)
868      8. Removed temporary additions (fromInternal, toInternal) from the
869         (now obsolete) IntInf in smlnj-lib/Util.
870      9. Cleaned up structure Byte.
871     10. Added localOffset, scan, and fromString to Date (according to spec).
872         Cleaned/corrected implementation of Date.
873         (Still need to check for correctness; implement better canonicalizeDate.)
874     11. Added "scan" to signature IEEE_REAL.
875     12. Some improvements to IntInf [in particular: efficiency-hack for
876         mod and rem when second operand is 2 (for parity checks).]
877     13. Changed representation of type Time.time, using a single IntInf.int
878         value counting microseconds.  This considerably simplified the
879         implementation of structure Time.  We now support negative time
880         values; scan and fromString handle signs.
881     14. Functor PrimIO now takes two additional arguments (VectorSlice and
882         ArraySlice).
883    
884    ----------------------------------------------------------------------
885    Name: Matthias Blume (blume (at) tti - c (dot) org)
886    Date: 2003/08/28 17:00:00 CDT
887    Tag: blume-20030828-intinf
888    Description:
889    
890    This is a major update which comes with a version number bump
891    (110.42.99 -- yes, we are really close to 110.43 :-), NEW BOOTFILES,
892    and an implementation of IntInf in the Basis.
893    
894    There are a fairly large number of related changes and updates throughout
895    the system:
896    
897    Basis:
898            - Implemented IntInf.
899            - Made LargeInt a projection of IntInf (by filtering through INTEGER).
900            - Added some missing Real64 operations, most notably Real.toLargeInt.
901            - Added FixedInt as a synonym for Int32.
902    
903    compiler:
904            * Added support for a built-in intinf type.
905              - literals
906              - pattern matching
907              - conversion shortcuts (Int32.fromLarge o Int.toLarge etc.)
908              - overloading on literals and operations
909    
910            This required adding a primitive type intinf, some additional
911            primops, and implementations for several non-trivial intinf
912            operations in Core.  (The intinf type is completely abstract
913            to the compiler; all operations get delegated back to the Core.)
914    
915            * Intinf equality is handled by polyequal.  However, the compiler
916            does not print its usual warning in this case (since polyequal
917            is the right thing to do there).
918    
919            * Improved the organization of structure InlineT.
920    
921            * A word about conversion primops:
922            If conversions involving intinf do not cancel out during
923            CPS contract, then the compiler must insert calls to Core functions.
924            Since all core access must be resolved already during the FLINT
925            translate phase, it would be too late a the time of CPS contract
926            to add new Core calls.  For this reason, conversion primops
927            for intinf carry two arguments:  1. the numeric argument that
928            they are supposed to convert, and 2. the Core function that
929            can help with this conversion if necessary.  If CPS contract
930            eliminates a primop, then the associated Core function becomes
931            dead and goes away.  Intinf conversion primops that do not get
932            eliminated by CPS contract get rewritten into calls of their
933            core functions by a separate, new phase.
934    
935    interactive system:
936            - Control.Print.intinfDepth controls max length of intinf constants
937            being printed. (Analogous to Control.Print.stringDepth.)
938            - Cleanup in printutil and pputil: got rid of unused stuff and
939            duplicates; replaced some of the code with code that makes better
940            use of library functionality.
941    
942    CM:
943            Bugfix: parse-errors in init group (system/smlnj/init/init.cmi)
944            are no longer silent.
945    
946    CKIT:
947            Fixed mismatched uses of Int32 and LargeInt.  I always decided
948            in favor of LargeInt -- which is now the same as IntInf.
949            CKIT-knowledgable people should check whether this is what's
950            intended and otherwise change things back to using Int32 or
951            FixedInt.
952    
953    Throughout the code:
954            Started using IntInf.int literals and built-in operations
955            (e.g., comparison with 0) where this seems appropriate.
956    
957    
958    ----------------------------------------------------------------------
959    Name: Dave MacQueen (dbm@cs.uchicago.edu)
960    Date: 2003/08/13 11:36:00 CDT
961    Tag: dbm-20030813-mcz-merge1
962    Description:
963    
964    Merging changes from the mcz-branch development branch into trunk.
965    These changes involve replacement of the emulated old prettyprinter
966    interface with direct use of the SML/NJ Lib PP library, and fixing
967    of a couple of bugs (895, 1186) relating to error messages.  A new
968    prettyprinter for ast datatypes (Elaborator/print/ppast.{sig,sml})
969    has been added.
970    
971    ----------------------------------------------------------------------
972    Name: Matthias Blume (blume (at) tti - c (dot) org)
973    Date: 2003/08/11 15:45:00 CDT
974    Tag: blume-20030811-windows
975    Description:
976    
977    Version number bumped to 110.42.9.  NEW BOOTFILES!!!
978    
979        http://smlnj.cs.uchicago.edu/dist/working/110.42.9/
980    
981    This patch restores SML/NJ's ability to run under win32.  There are a
982    number of changes, including fixes for several bugs that had gone
983    unnoticed until now:
984    
985      - uname "CYGWIN_NT*" is recognized as win32 (This is relevant only when
986        trying to run the win32 version from within cygwin.)
987    
988      - There are a number of simple .bat scripts that substitute for their
989        corresponding Unix shell-scripts.  (See below.)
990    
991      - The internals of ml-build have been modified slightly.  The main
992        difference is that instead of calling ".link-sml" (or link-sml.bat)
993        using OS.Process.system, the ML process delegates this task back
994        to the script.  Otherwise problems arise in mixed environments such
995        as Cygwin where scripts look and work like Unix scripts, but
996        where OS.Process.system cannot run them.
997    
998      - In CM, the srcpath pickler used native pathname syntax -- which
999        is incorrect in the case of cross-compilation.  The new pickle format
1000        is independent of platform-specific naming conventions.
1001    
1002      - Path configuration files (such as lib/pathconfig) can now choose
1003        between native and standard syntax.  Placing a line of the form
1004    
1005            standard!
1006    
1007        into the file causes all subsequent paths to be interpreted using
1008        CM standard pathname syntax (= Unix conventions); a line
1009    
1010            native!
1011    
1012        switches back to native style.  This was needed so that
1013        path config files can be written portably, see src/system/pathconfig.
1014    
1015      - Runtime system:
1016    
1017          - win32-filesys.c:  get_file_time and set_file_time now
1018            access modification time, not creation time.
1019    
1020          - I/O code made aware of new array representation.
1021    
1022          - Bug fixes in X86.prim.masm.
1023    
1024       - src/system/makeml made aware of win32. (For use under cygwin
1025            and other Unix-environments for windows.)
1026    
1027       - In Basis, fixed off-by-one error in win32-io.sml (function vecF)
1028         which caused BinIO.inputAll to fail consistently.
1029    
1030    .bat scripts:
1031    
1032       Windows .bat scripts assume that SMLNJ_HOME is defined.
1033    
1034       - sml.bat, ml-yacc.bat, ml-lex.bat:  Driver scripts for standalone
1035         applications (sml, ml-yacc, ml-lex).
1036       - ml-build.bat: analogous to ml-build.
1037       - config\install.bat:  Analogous to config/install.sh.  This requires
1038         that SMLNJ_HOME is set and that Microsoft Visual C is ready to use.
1039         (nmake etc. must be on the path, and vcvars32 must have been run.)
1040         Moreover, sources for ml-lex and ml-yacc need to exist under src,
1041         and the bootfile hierarchy must have been unpacked under
1042         sml.boot.x86-win32.
1043         The script is very primitive and does a poor job at error checking.
1044         It only installs the base system, ml-lex, and ml-yacc.  No other
1045         libraries are being installed (i.e., you get only those that
1046         are part of the compiler.)
1047       - link-sml.bat:  analogous to .link-sml, but not currently used
1048    
1049    Unrelated bug fixes:
1050    
1051      - ml-nlffigen now exports structures ST_* corresponding to incomplete
1052        types.
1053      - Added getDevice to PP/src/pp-debug-fn.sml.  (Would not compile
1054        otherwise.)
1055    
1056    ----------------------------------------------------------------------
1057    Name: Dave MacQueen (macqueen@cs.uchicago.edu)
1058    Date: 2003/06/17
1059    Tag: macqueen-20030617-bug895
1060    Description:
1061    
1062    Modified compiler/Elaborator/print/pptype.sml to fix bug 895.
1063    Tag will be used for new development branch (mcz-branch) for
1064    use by MacQueen, (Lucasz) Zairek, and (George) Cao at uchicago.
1065    
1066    ----------------------------------------------------------------------
1067    Name: Matthias Blume (blume (at) tti - c (dot) org)
1068    Date: 2003/05/27 16:55:00 CDT
1069    Tag: blume-20030527-polyeq
1070    Description:
1071    
1072    Tried to eliminated most cases of polymorphic equality.
1073    
1074    ----------------------------------------------------------------------
1075    Name: Matthias Blume (blume (at) tti - c (dot) org)
1076    Date: 2003/05/21 17:45:00 CDT
1077    Tag: blume-20030517-complete
1078    Description:
1079    
1080    Two changes:
1081    
1082      1. Added a flag for controlling whether non-exhaustive bindings will
1083         be treated as errors (default is false).
1084      2. Cleaned up the *entire* source tree so that CMB.make goes through
1085         without a single non-exhaustive match- or bind warning.
1086    
1087    ----------------------------------------------------------------------
1088    Name: Matthias Blume (blume (at) tti - c (dot) org)
1089    Date: 2003/05/17 10:20:00 CDT
1090    Tag: blume-20030517-absyn
1091    Description:
1092    
1093    1. Added cases for IF, WHILE, ANDALSO, and ORELSE to Absyn.
1094    
1095       This mainly affects the quality of error messages.  However, some
1096       of the code is now more straightforward than before. (Treatment of
1097       the above four constructs in translate.sml is much simpler than
1098       the "macro-expansion" that was going on before.  Plus, the mach-
1099       compiler no longer gets invoked just to be able to compile an
1100       if-expression.)
1101    
1102    2. The ErrorMsg.Error exception is now caught and absorbed by the
1103       interactive loop.
1104    
1105    ----------------------------------------------------------------------
1106    Name: Allen Leung
1107    Date: 2003/05/16 13:05:00 CDT
1108    Tag: leunga-20030516-cygwin-runtime
1109    Description:
1110    
1111        Ported the runtime system to cygwin, which uses the unix
1112    x86-unix bin files.  Missing/buggy features:
1113    
1114       o getnetbyname, getnetbyaddr: these functions seem to be missing in
1115         the Cygwin library.
1116       o Ctrl-C handling may be flaky.
1117       o Windows system calls and Windows I/O are not supported.
1118    
1119       A new set of binfiles is located at:
1120    
1121         http://www.dorsai.org/~leunga/boot.x86-unix.tgz
1122    
1123       This is only needed for bootstrapping the cygwin version of smlnj.
1124       Other x86 versions can use the existing binfiles.
1125    
1126    ----------------------------------------------------------------------
1127    Name: Matthias Blume
1128    Date: 2003/04/08 15:42:00 CDT
1129    Tag: blume-20030408-listpair
1130    Description:
1131    
1132    1. Added a target 'mlrisc' to installer.
1133    
1134    2. Added missing elements to structure ListPair.
1135    
1136    ----------------------------------------------------------------------
1137    Name: Allen Leung
1138    Date: 2003/01/07 10:40:00 EST
1139    Tag: leunga-20030107-int-rem
1140    Description:
1141    
1142    Fixed a bug in Int.rem(x,y) where y is a power of 2 on x86.
1143    The arguments to the SUBL instruction were swapped.
1144    
1145    ----------------------------------------------------------------------
1146    Name: Matthias Blume
1147    Date: 2002/12/12 16:25:00 EST
1148    Tag: blume-20021212-risc-ra
1149    Description:
1150    
1151    Fixed a serious bug in the rewrite code for FP spilling/reloading that
1152    sent the RA into an infinite loop when floating point registers get
1153    spilled.  (Because of this bug, e.g., nucleic stopped compiling between
1154    110.37 and 110.38.)
1155    There was another set of potential problems related to the handling of
1156    MLRISC annotations (but those did not yet cause real problems, apparently).
1157    
1158    ----------------------------------------------------------------------
1159    Name: Matthias Blume
1160    Date: 2002/12/06 22:40:00 EST
1161    Tag: blume-20021206-cm-fileid
1162    Description:
1163    
1164    Added a call of SrcPath.sync at the beginning of Parse.parse (in CM).
1165    This fixes the problem of CM getting confused by files that suddenly
1166    change their identity (e.g., by getting unlinked and recreated by some
1167    text editor such as vi).  There might be a better/cheaper/cleaner way
1168    of doing this, but for now this will have to do.
1169    
1170    ----------------------------------------------------------------------
1171    Name: Matthias Blume
1172    Date: 2002/10/28 09:50:00 EST
1173    Tag: blume-20021028-typecheck
1174    Description:
1175    
1176    Exported structure Typecheck from $smlnj/viscomp/core.cm.
1177    
1178    ----------------------------------------------------------------------
1179    Name: Matthias Blume
1180    Date: 2002/10/17 09:10:00 EDT
1181    Tag: Release_110_42
1182    Description:
1183    
1184    In good old tradition, there has been a slight hiccup so that we have
1185    to patch 110.42 after the fact.   The old release tag has been replaced
1186    (see below).
1187    
1188    The change solves a problem with two competing approaches the
1189    configuration problem regarding MacOS 10.1 vs. MacOS 10.2 which got in
1190    each other's way.
1191    
1192    This change only affects the runtime system code and the installer script.
1193    (No new bootfiles.)
1194    
1195    ----------------------------------------------------------------------
1196    Name: Matthias Blume
1197    Date: 2002/10/16 12:00:00 EDT
1198    Tag: Release_110_42_removed
1199    Description:
1200    
1201    New working release.  New bootfiles.
1202    
1203    ----------------------------------------------------------------------
1204    Name: Matthias Blume
1205    Date: 2002/10/10 13:10:00 EDT
1206    Tag: blume-20021010-ppc-divs
1207    Description:
1208    
1209    The mltree operator DIVS must be implemented with an overflow check on
1210    the PPC because the hardware indicates divide-by-zero using "overflow" as
1211    well.
1212    
1213    ----------------------------------------------------------------------
1214    Name: Matthias Blume
1215    Date: 2002/07/23 11:45:00
1216    Tag: blume-20020723-smlnj-home
1217    Description:
1218    
1219    Sml now senses the SMLNJ_HOME environment variable.  If this is set,
1220    then the bin dir is assumed to be in $SMLNJ_HOME/bin and (unless
1221    CM_PATHCONFIG is also set), the path configuration file is assumed
1222    to be in $SMLNJ_HOME/lib/pathconfig.  This way one can easily move
1223    the entire tree to some other place and everything will "just work".
1224    
1225    (Companion commands such as ml-build and ml-makedepend also sense this
1226    variable.)
1227    
1228    ----------------------------------------------------------------------
1229    Name: Matthias Blume
1230    Date: 2002/07/12 21:19:00 EDT
1231    Tag: blume-20020712-liveness
1232    Description:
1233    
1234    Exported two useful "step" functions from liveness module (MLRISC).
1235    
1236    ----------------------------------------------------------------------
1237    Name: Matthias Blume
1238    Date: 2002/07/05 16:00 EDT
1239    Tag: Release_110_41
1240    Description:
1241    
1242    New working release.  New bootfiles.
1243    
1244    ----------------------------------------------------------------------
1245    Name: Matthias Blume
1246    Date: 2002/07/05 10:25:00 EDT
1247    Tag: blume-20020705-btimp
1248    Description:
1249    
1250    Exported structure BTImp from $smlnj/viscomp/debugprof.cm so that
1251    other clients can set up backtracing support.
1252    
1253    ----------------------------------------------------------------------
1254    Name: Matthias Blume
1255    Date: 2002/06/25 17:23:00 EDT
1256    Tag: blume-20020625-fpmax
1257    Description:
1258    
1259    Fixed a bug in translation of INLMAX (and INLMIN) for the floating-point
1260    case.  (The sense of the isNaN test was reversed -- which made min and
1261    max always return their first argument.)
1262    
1263    ----------------------------------------------------------------------
1264    Name: Matthias Blume
1265    Date: 2002/06/11
1266    Tag: blume-20020611-unixpath
1267    Description:
1268    
1269    Back-ported OS.Path.{from,to}UnixPath from idlbasis-devel branch.
1270    
1271    ----------------------------------------------------------------------
1272    Name: Matthias Blume
1273    Date: 2002/06/10 16:35:00 EDT
1274    Tag: blume-20020610-ieeereal
1275    Description:
1276    
1277    I back-ported my implementation of IEEEReal.fromString from the
1278    idlbasis-devel branch so that we can test it.
1279    
1280    Another small change is that ppDec tries to give more information
1281    than just "<sig>" in the case of functors.  However, this code is
1282    broken in some mysterious way if the functor's body's signature
1283    has not been declared by ascription but gets inferred from the
1284    implementation.  This needs fixing...
1285    
1286    ----------------------------------------------------------------------
1287    Name: Matthias Blume
1288    Date: 2002/05/31
1289    Tag: blume-20020531-btrace-mode
1290    Description:
1291    
1292    Resurrected SMLofNJ.Internals.BTrace.mode.  (It accidentally fell by
1293    the wayside when I switched over to using Controls everywhere.)
1294    
1295    ----------------------------------------------------------------------
1296    Name: Lal George
1297    Date: 2002/05/23 12:21:40 EDT
1298    Tag: george-20020523-visual-labels
1299    Description:
1300    
1301    Labels are now displayed in the graphical output to make
1302    the fall-through and target blocks obvious.
1303    
1304    ----------------------------------------------------------------------
1305    Name: Matthias Blume
1306    Date: 2002/05/22 11:03:00 EDT
1307    Tag: blume-20020522-shrink
1308    Description:
1309    
1310    John tweaked yesterday's fix for 1131 to handle an out-of-memory
1311    situation that comes up when allocating huge arrays.
1312    
1313    ----------------------------------------------------------------------
1314    Name: Matthias Blume
1315    Date: 2002/05/21 16:00:00 EDT
1316    Tag: Release_110_40
1317    Description:
1318    
1319    New working release (110.40).  New bootfiles.
1320    
1321    [Also: John Reppy fixed GC bug 1131.]
1322    
1323    ----------------------------------------------------------------------
1324    Name: Matthias Blume
1325    Date: 2002/05/21 12:35:00 EDT
1326    Tag: blume-20020521-cmdoc
1327    Description:
1328    
1329    CM documentation update.
1330    
1331    ----------------------------------------------------------------------
1332    Name: Matthias Blume
1333    Date: 2002/05/21 10:55:00 EDT
1334    Tag: blume-20020521-misc
1335    Description:
1336    
1337    - John tweaked runtime to be silent on heap export (except when
1338      GC messages are on).
1339    - I added a few more things (cross-compiling versions of CMB) to
1340      config/preloads (as suggestions).
1341    
1342    ----------------------------------------------------------------------
1343    Name: Matthias Blume
1344    Date: 2002/05/20 22:25:00 EDT
1345    Tag: blume-20020520-controls
1346    Description:
1347    
1348    - Added ControlUtil structure to control-lib.cm.
1349    - Use it throughout.
1350    - Used Controls facility to define MLRISC controls (as opposed to
1351      registering MLRISC control ref cells with Controls after the fact)
1352    - Fixed messed-up controls priorities.
1353    
1354    * Removed again all the stuff from config/preloads that one wouldn't
1355      be able to preload at the time the initial heap image is built.
1356      (Many libraries, e.g., CML, do not exist yet at this time.  The
1357       only libraries that can be preloaded via config/preloads are those
1358       that come bundled with the bootfiles.)
1359    
1360    ----------------------------------------------------------------------
1361    Name: Matthias Blume
1362    Date: 2002/05/20 10:59:00 EDT
1363    Tag: blume-20020520-preloads
1364    Description:
1365    
1366    Added a lot of commented-out suggestions for things to be included
1367    in config/preloads.
1368    
1369    ----------------------------------------------------------------------
1370    Name: Allen Leung
1371    Date: 2002/05/18 14:20:00 EDT
1372    Tag: leunga-20020518-mdl
1373    Description:
1374    
1375    o Made the mdl tool stuff compile and run again.
1376    o I've disabled all the stuff that depends on RTL specifications; they
1377      are all badly broken anyway.
1378    
1379    ----------------------------------------------------------------------
1380    Name: Matthias Blume
1381    Date: 2002/05/17 16:49:00 EDT
1382    Tag: blume-20020517-controls
1383    Description:
1384    
1385    0. John Reppy made several modifications to the SML/NJ library.
1386       In particular, there is a shiny new controls-lib.cm.
1387    
1388    1. Pushed new controls interface through compiler so that everything
1389       compiles again.
1390    
1391    2. Added FormatComb and FORMAT_COMB to the CML version of the
1392       SML/NJ library (so that CML compiles again).
1393    
1394    3. Modified init scripts because XXX_DEFAULT environment variables
1395       are no longer with us.  (Boot-time initialization is now done
1396       using the same environment variables that are also used for
1397       startup-time initialization of controls.)
1398    
1399    ----------------------------------------------------------------------
1400    Name: Lal George
1401    Date: 2002/05/15 09:20:10 EDT
1402    Tag: george-20020515-pseudo-op-decls
1403    Description:
1404    
1405            All pseudo-ops emitted before the first segment declaration
1406    such as TEXT, DATA, and BSS directives are assumed to be global
1407    declarations and are emitted first in the assembly file. This is
1408    useful in a number of situations where one has pseudo-ops that are not
1409    specific to any segment, and also works around the constraint that one
1410    cannot have client pseudo-ops in the TEXT segment.
1411    
1412            Because no segment is associated with these declarations it is
1413    an error to allocate any space or objects before the first segment
1414    directive and an exception will be raised. However, we cannot make
1415    this check for client pseudo-ops.
1416    
1417            These top level declarations are a field in the CFG graph_info.
1418    In theory you can continue to add to this field after the CFG has been
1419    built -- provided you know what you are doing;-)
1420    
1421    ----------------------------------------------------------------------
1422    Name: Matthias Blume
1423    Date: 2002/05/13 16:40:00 EDT
1424    Tag: blume-20020513-pp-etc
1425    Description:
1426    
1427    A few minor bugfixes:
1428    
1429      - Stopgap measure for bug recently reported by Elsa Gunter (ppDec).
1430        (Bogus printouts for redefined bindings still occur.  Compiler
1431        bug should no longer occur now.  We need to redo the prettyprinter
1432        from scratch.)
1433    
1434      - CM pathname printer now also adds escape sequences for ( and )
1435    
1436      - commend and docu fixes for ml-nlffi
1437    
1438    ----------------------------------------------------------------------
1439  Name: Matthias Blume  Name: Matthias Blume
1440  Date: 2002/05/10 16:40:00 EDT  Date: 2002/05/10 16:40:00 EDT
1441  Tag: blume-20020510-erg-textio  Tag: blume-20020510-erg-textio

Legend:
Removed from v.1189  
changed lines
  Added in v.1613

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0