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

Legend:
Removed from v.1222  
changed lines
  Added in v.1593

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