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

Legend:
Removed from v.1186  
changed lines
  Added in v.1615

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