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 1399, Tue Sep 30 21:10:05 2003 UTC revision 1758, Tue Feb 15 23:52:33 2005 UTC
# Line 14  Line 14 
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16  Name: Matthias Blume (blume (at) tti - c (dot) org)  Name: Matthias Blume (blume (at) tti - c (dot) org)
17    Date: 2005/02/15 17:35:00 CST
18    Tag: blume-20050215-tools
19    Description:
20    
21    Created new "tools" directory under "src" and moved "TraceDebugProf"
22    there.
23    
24    ----------------------------------------------------------------------
25    Name: Matthias Blume (blume (at) tti - c (dot) org)
26    Date: 2005/02/10 17:55:00 CST
27    Tag: blume-20050210-longlong
28    Description:
29    
30    Implemented "long long" arguments and results for NLFFI.  (Only the
31    PPC/MacOS implementation is complete, the other backends still need to
32    be updated.)
33    
34    ----------------------------------------------------------------------
35    Name: Matthias Blume (blume (at) tti - c (dot) org)
36    Date: 2005/01/24 17:40:00 CST
37    Tag: blume-20050124-mlyacc
38    Description:
39    
40    Minor cleanup in ML-Yacc rule printing mechanism.  This should fix a
41    problem with certain "as" patterns which previously got rendered
42    using incorrect syntax.
43    
44    ----------------------------------------------------------------------
45    Name: Matthias Blume (blume (at) tti - c (dot) org)
46    Date: 2005/01/18 12:00:00 CST
47    Tag: blume-20050118-profile
48    Description:
49    
50    Made time profiling code (interrupt handler) in runtime system aware
51    of new array representation.
52    
53    ----------------------------------------------------------------------
54    Name: Matthias Blume (blume (at) tti - c (dot) org)
55    Date: 2005/01/14 18:00:00 CST
56    Tag: blume-20050114-heap2exec
57    Description:
58    
59    Implemented new (but still experimental) heap2exec facility.  This is
60    tested under Mac OS X and should work under Linux (will test shortly).
61    It will probably also work on the Sparc (will test some time later).
62    
63      - removed old "HACKED_STANDALONE" hack from runtime
64    
65    To be able to test this, uncomment the request for "heap2asm" in
66    config/targets prior to installation.  (Notice that this is different
67    from "heap2exec" mentioned below.  Not a typo.)
68    
69    To perform an actual test, run the command
70    
71       $ bin/heap2exec heapfile execfile
72    
73    (You can put heap2exec on your shell's path.)
74    
75    For example, run
76    
77      $ bin/heap2exec bin/.heap/ml-yacc.ppc-darwin mly
78    
79    This will create a standalone executable called "mly" which you can
80    then invoke directly as a command.
81    
82    ----------------------------------------------------------------------
83    Name: Matthias Blume (blume (at) tti - c (dot) org)
84    Date: 2005/01/07 11:44:00 CST
85    Tag: blume-20050107-mlstring
86    Description:
87    
88    fixed off-by-one error in ML_STRING macro (globals.c)
89    
90    ----------------------------------------------------------------------
91    Name: Matthias Blume (blume (at) tti - c (dot) org)
92    Date: 2004/12/23 18:00:00 CST
93    Tag: blume-20041223-santa
94    Description:
95    
96    Made ml-build script "smarter" (but only very little).
97    
98    ----------------------------------------------------------------------
99    Name: Matthias Blume (blume (at) tti - c (dot) org)
100    Date: 2004/12/21 15:05:00 CST
101    Tag: blume-20041221-longlong
102    Description:
103    
104    * Implemented access to signed and unsigned long long data in NLFFI.
105    (The parameter-passing part of the picture has not complete. But
106    data structure access seems to work.)
107    
108    * Fixed CM's incorrect assumption that the PPC is little-endian.
109      (On the Mac, it is big-endian.  And that's currently our only
110      PPC platform.)
111    
112    ----------------------------------------------------------------------
113    Name: Matthias Blume (blume (at) tti - c (dot) org)
114    Date: 2004/12/21 12:50:00 CST
115    Tag: blume-20041221-memory
116    Description:
117    
118    Some cleanup in the $c/memory.cm library: separated some concerns by
119    moving allocation code and memory access code each into their own
120    files.
121    
122    ----------------------------------------------------------------------
123    Name: Allen Leung (leunga (at) reservoir (dot) com)
124    Date: 2004/12/17 16:12:00 EST
125    Tag: leunga-20041217-cygwin-smlnj-home
126    Description:
127    
128        The Unix I/O library of SML/NJ on cygwin does not understand
129    Windows style pathname, so problems arise when SMLNJ_HOME is set
130    to a Windows style pathname.  _run-sml now converts SMLNJ_HOME
131    to a POSIX pathname on cygwin.
132    
133    ----------------------------------------------------------------------
134    Name: Matthias Blume (blume (at) tti - c (dot) org)
135    Date: 2004/12/16 13:35:00 CST
136    Tag: Release_110_52
137    Description:
138    
139    Last-minute changes incorporated into 110.52.  Release tag moved.
140    
141    The changes:
142       - HashString.hashString' -> HashString.hashSubstring
143       - bug fix in UnivariateStats
144    
145    ----------------------------------------------------------------------
146    Name: Matthias Blume (blume (at) tti - c (dot) org)
147    Date: 2004/12/15 23:40:00 CST
148    Tag: blume-20041215-hashSubstring
149    Description:
150    
151    - HashString.hashString' -> HashString.hashSubstring
152    - corresponding changes in atom.sml
153    - "de-compressed" (aka. un-obfuscated) code for UnivariateStats and
154      added some comments
155    
156    ----------------------------------------------------------------------
157    Name: Matthias Blume (blume (at) tti - c (dot) org)
158    Date: 2004/12/15 15:30:00 CST
159    Tag: (Release_110_52)
160    Description:
161    
162    New working version (110.52).  NEW BOOTFILES!
163    
164    ----------------------------------------------------------------------
165    Name: Matthias Blume (blume (at) tti - c (dot) org)
166    Date: 2004/12/15 12:45:00 CST
167    Tag: blume-20041215-spaces
168    Description:
169    
170    More on the space problem (this time for Win32).
171    
172    ----------------------------------------------------------------------
173    Name: Matthias Blume (blume (at) tti - c (dot) org)
174    Date: 2004/12/14 17:30:00 CST
175    Tag: blume-20041214-spaces
176    Description:
177    
178    Hacked some of the scripts (in particular: the installer) to cope with
179    spaces in filenames a bit better.  But beware: the current "solution"
180    is likely still full of bugs and inherently incomplete.  (We need to
181    do away with those shell scripts for a comprehensive solution.)
182    
183    ----------------------------------------------------------------------
184    Name: Matthias Blume (blume (at) tti - c (dot) org)
185    Date: 2004/12/13 14:45:00 CST
186    Tag: blume-20041213-ml-makedepend
187    Description:
188    
189    Fixed bug in code for ml-makedepend.
190    
191    ----------------------------------------------------------------------
192    Name: Matthias Blume (blume (at) tti - c (dot) org)
193    Date: 2004/12/09 16:30:00 CST
194    Tag: blume-20041209-statistics
195    Description:
196    
197    Added two simple but potentially useful statistics modules to SML/NJ Library.
198    (See CHANGES file there.)
199    
200    ----------------------------------------------------------------------
201    Name: Matthias Blume (blume (at) tti - c (dot) org)
202    Date: 2004/12/01 16:50:00 CST
203    Tag: blume-20041201-atom
204    Description:
205    
206    smlnj-lib:
207    
208      Added function HashString.hashString' for substrings.
209      Hand-inlined CharVector.foldl into HashString (for speed).
210      Modified implementation of structure Atom to avoid extracting
211      strings from substrings unless necessary.
212      (Also see CHANGES file for smlnj-lib.)
213    
214    ----------------------------------------------------------------------
215    Name: Matthias Blume (blume (at) tti - c (dot) org)
216    Date: 2004/11/24 22:15:00 CST
217    Tag: blume-20041124-cml
218    Description:
219    
220    Made sure CML compiles when Position = Int64.
221    
222    ----------------------------------------------------------------------
223    Name: Matthias Blume (blume (at) tti - c (dot) org)
224    Date: 2004/11/24 14:30:00 CST
225    Tag: blume-20041124-position
226    Description:
227    
228    The compiler can now be compiled in a mode that makes structure Position
229    equal to Int64.  The default, however, is unchanged (Position = Int31)
230    for the time being.
231    
232    To enable 64-bit positions, use the following procedure:
233    
234    1. Start sml
235    2. Autoload $smlnj/cmb.cm (if not already autoloaded)
236    3. Type
237          #set (CMB.symval "USE_64_BIT_POSITIONS") (SOME 1);
238    4. Run CMB.make() as usual.
239    
240    This is barely tested.  The only test so far was a little SML program
241    counting the number of characters in an 8-gigabyte file by
242    reading it character-by-character.  That test was successful.
243    
244    In support of 64-bit positions, a number of new functions have been
245    added to the runtime system.
246    
247    ----------------------------------------------------------------------
248    Name: Matthias Blume (blume (at) tti - c (dot) org)
249    Date: 2004/11/23 14:45:00 CST
250    Tag: blume-20041123-useFile
251    Description:
252    
253    Fixed a problem with unhelpful error messages related to problems with
254    .cm- or .sml files that appear as part of the sml command line.
255    
256    ----------------------------------------------------------------------
257    Name: Matthias Blume (blume (at) tti - c (dot) org)
258    Date: 2004/11/18 15:40:00 CST
259    Tag: Release_110_51
260    Description:
261    
262    New working version (110.51).  NEW BOOTFILES!
263    
264    ----------------------------------------------------------------------
265    Name: Matthias Blume (blume (at) tti - c (dot) org)
266    Date: 2004/11/18 15:35:00 CST
267    Tag: <none>
268    Description:
269    
270    Enabled dlopen and friends for FreeBSD (as recommended by Johannes 5
271    Joemann).
272    
273    ----------------------------------------------------------------------
274    Name: Allen Leung (leunga (at) reservoir (dot) com)
275    Date: 2004/11/17 16:05:21 EST 2004
276    Tag: leunga-20041117-mlrisc-live-kill
277    Description:
278    
279       Added support for MLTree constructs LIVE and KILL
280    to all the architectures.
281    
282    ----------------------------------------------------------------------
283    Name: Matthias Blume (blume (at) tti - c (dot) org)
284    Date: 2004/11/13 00:20:00 CST
285    Tag: blume-20041113-versiontool
286    Description:
287    
288    - Stripped down the versiontool: It now only handles the version number.
289      The date string is generated at bootstrap time (during makeml).
290    
291    - In a previous commit, fixed a minor issue with how polyequal is being
292      translated.  In particular, the code now "looks through" abstractions.
293      This results in slightly fewer polyEqual warnings and hopefully slightly
294      more efficient code.  Important examples for where this matters are
295      the new int64 and word64 types.
296    
297    ----------------------------------------------------------------------
298    Name: Matthias Blume (blume (at) tti - c (dot) org)
299    Date: 2004/11/12 00:30:00 CST
300    Tag: blume-20041112-int64
301    Description:
302    
303    Structure Int64 fully hooked in.  (The implementation is not very
304    efficient, though.)
305    
306    ----------------------------------------------------------------------
307    Name: Matthias Blume (blume (at) tti - c (dot) org)
308    Date: 2004/11/11 17:30:00 CST
309    Tag: blume-20041111-more64
310    Description:
311    
312    All the pieces of Word64 are now there, with the exception of the
313    conversions from and to LargeWord. (Eventually these need to be identities,
314    but for the time being they don't even make sense because LargeWord is
315    32-bit wide.)
316    
317    Also started to add similar support for Int64, but major pieces of that
318    are still missing.
319    
320    ----------------------------------------------------------------------
321    Name: Matthias Blume (blume (at) tti - c (dot) org)
322    Date: 2004/11/11 00:15:00 CST
323    Tag: blume-20041111-word64
324    Description:
325    
326    Structure Word64 is now (almost) complete, word literals and patterns
327    seem to work.  There are a few odd pieces missing.  In particular,
328    I didn't do the {from,to}LargeWord parts because LargeWord is still Word32
329    at the moment.
330    
331    Making Word64 official would mean that LargeWord becomes Word64.  But
332    this requires extreme care because most word-word conversions have to
333    go through LargeWord, so making a mistake means loss of efficiency or
334    worse.  Eventually there will be a solution similar to (but actually
335    simpler than) what I did with IntInf.
336    
337    ----------------------------------------------------------------------
338    Name: Matthias Blume (blume (at) tti - c (dot) org)
339    Date: 2004/11/10 18:12:00 CST
340    Tag: blume-20041110-64bit
341    Description:
342    
343    More 64-bit hacking (but still not even half-way there yet).
344    Also, some assorted improvements to the handling of 8-bit words.
345    
346    ----------------------------------------------------------------------
347    Name: Matthias Blume (blume (at) tti - c (dot) org)
348    Date: 2004/11/09 17:50:00 CST
349    Tag: <none>
350    Description:
351    
352    Started adding some infrastructure for supporting 64-bit int- and
353    word-types.  (Still in its very early stages.)
354    
355    ----------------------------------------------------------------------
356    Name: Matthias Blume (blume (at) tti - c (dot) org)
357    Date: 2004/10/28 10:45:00 CDT
358    Tag: Release_110_50
359    Description:
360    
361    New working version (110.50).  NEW BOOTFILES!
362    
363                 =====================
364    
365    Also:
366    
367      - Changend config/srcarchiveurl from a file just
368        containing the URL string into a file containing
369        shell script code.  The code has access to the $VERSION variable.
370      - Made corresponding changes to config/install.sh and config/unpack.
371      - Default contents of config/srcarchiveurl uses $VERSION and
372        normally does not have to be edited to reflect a version change.
373    
374      (As a result, a version change can be done by just editing
375       config/version, the rest is now automatic.)
376    
377    ----------------------------------------------------------------------
378    Name: Matthias Blume (blume (at) tti - c (dot) org)
379    Date: 2004/10/27 17:50:00 CDT
380    Tag: blume-20041027-btrace-msg
381    Description:
382    
383    BackTrace.monitor now also reports the source of the exception that
384    triggered the trace.
385    
386    ----------------------------------------------------------------------
387    Name: Matthias Blume (blume (at) tti - c (dot) org)
388    Date: 2004/10/27 17:20:00 CDT
389    Tag: blume-20041027-x86-c-calls
390    Description:
391    
392    This is the HISTORY entry for two earlier commits, both concerning
393    the x86 c-calls code in MLRISC:
394    
395      - added a missing LOAD in the code that deals with struct arguments
396      - made sure the caller does not add the wrong number of bytes to the
397        stack pointer after a call of a function returning a struct
398        (the callee already pops the implicit argument which points to
399         the space reserved for the result)
400    
401    ----------------------------------------------------------------------
402    Name: Allen Leung (leunga (at) reservoir (dot) com)
403    Date: 2004/10/24 14:00:00 EST
404    Tag: leunga-20041024-x86-gas-fucomip
405    Description:
406    
407       John discovered a bug in the syntax of fucomip.
408       The opcodes FU?COMIP? have been changed to
409    
410           fu?comip? %st(i), %st
411    
412    ----------------------------------------------------------------------
413    Name: Matthias Blume (blume (at) tti - c (dot) org)
414    Date: 2004/10/20 15:06:00 CDT
415    Tag: blume-20041020-standalone-backtrace
416    Description:
417    
418    Added a mechanism for getting back-trace information from standalone
419    programs.  Here is how it works:
420    
421       1. The part of the program from which you want to get backtrace
422          information (usually the whole program) should be wrapped with
423          BackTrace.monitor.  This is a (unit->'a)->'a function, and your
424          main program could be modified from something like
425    
426             fun main (pgm, args) = ...
427    
428         to
429    
430            fun main (pgm, args) = BackTrace.monitor (fn () => ...)
431    
432       2. To be able to access BackTrace.monitor, you have to add
433          library $smlnj-tdp/plugins.cm to the .cm file that contains your
434          main function.
435    
436       3. Remove all compiled code (i.e., all the .cm/ subdirectories that
437          CM might have created in the past for your project).
438    
439       4. Build the system using this command line:
440    
441             ml-build -Ctdp.instrument=true \$smlnj-tdp/back-trace.cm \
442                      myprog.cm MyProg.main myprog
443    
444          instead of the usual
445    
446             ml-build myprog.cm MyProg.main myprog
447    
448    I changed a library name:
449    
450       $/trace-debug-profile.cm --> $smlnj-tdp/plugins.cm
451    
452    New libraries:
453    
454       $smlnj-tdp/back-trace.cm
455          -- when loaded causes the back-trace plugin to be installed
456       $smlnj-tdp/coverage.cm
457          -- when loaded causes the coverage plugin to be installed
458    
459    ----------------------------------------------------------------------
460    Name: Matthias Blume (blume (at) tti - c (dot) org)
461    Date: 2004/10/18 16:45:00 CDT
462    Tag: blume-20041018-groupowner
463    Description:
464    
465    Added an "obsolete" warning for the "group owner" syntax to CM's parser.
466    
467    Eliminated group owner specs from .cm files throughout the source tree.
468    
469    ----------------------------------------------------------------------
470    Name: Matthias Blume (blume (at) tti - c (dot) org)
471    Date: 2004/10/15 15:45:00 CDT
472    Tag: blume-20041015-coverage
473    Description:
474    
475    * Test coverage tool added!
476    * Further reorganization of tracing-, debugging-, and profiling support:
477    
478        - moved original BTImp -- now called BackTrace -- into a separate
479          library called $/trace-debug-profile.cm
480        - eliminated all mentions of BTrace from SMLofNJ.Internals
481        - only the instrumentation mechanism is now left in the compiler proper
482        - BackTrace module is a plugin which is NOT plugged in by default
483        - Coverage module is another such plugin
484    
485    To get the benefits of any of these plugin modules, the code in
486    question must be compiled with tdp instrumentation turned on.  This
487    can be done by setting SMLofNJ.Internals.TDP.mode to true.
488    (The ref cell is also controlled via the -Ctdp.instrument=... switch.)
489    
490    Plugins are selected at link time.  (Pre-compiled instrumented code
491    can be re-loaded with different plugins in effect.)  When an
492    instrumented module is linked, whatever plugins are at that time
493    enabled will come into effect for that module.
494    
495    To enable the back-trace plugin, load library $/trace-debug-profile.cm
496    and invoke BackTrace.install() (e.g., from the interactive prompt).
497    To enable the coverage plugin, load the same library and invoke
498    Coverage.install().
499    
500    Back-traces are generated automatically on uncaught exceptions and
501    when the code in question explicitly invokes BackTrace.trigger().
502    
503    Coverage (and execution frequency-) information must be queried
504    explicitly by calling Coverage.not_covered and Coverage.hot_spots.
505    
506    ----------------------------------------------------------------------
507    Name: Matthias Blume (blume (at) tti - c (dot) org)
508    Date: 2004/10/14 17:40:00 CDT
509    Tag: blume-20041014-tdp-core
510    Description:
511    
512    Snapshot of a significant overhaul of how the trace/debug/profile support
513    is hooked into the system (specifically: Core and SMLofNJ.Internals).
514    
515    ----------------------------------------------------------------------
516    Name: Matthias Blume (blume (at) tti - c (dot) org)
517    Date: 2004/10/13 16:34:00 CDT
518    Tag: blume-20041013-tdp
519    Description:
520    
521    Some rationalization of names:
522    
523       structure BTrace -> structure TDPInstrument
524       etc.
525    
526    This is is preparation of using the original back-trace
527    instrumentation for other purposes.  "TDP" stands for
528    Trace/Debug/Profile.
529    
530    The control flag controlling whether instrumentation is on or off is now
531    registered under a different name, so instead of running sml as
532    
533     sml -Cinstrument.btrace-mode=true
534    
535    one has to say
536    
537     sml -Ctdp.instrument=true
538    
539    ----------------------------------------------------------------------
540    Name: Matthias Blume (blume (at) tti - c (dot) org)
541    Date: 2004/10/11 16:37:00 CDT
542    Tag: blume-20041011-regions
543    Description:
544    
545    Made some minor modifications to elabcore.sml to have source regions
546    be propagated more tightly -- resulting in better (i.e., smaller)
547    regions being reported in error- and debug messages.
548    
549    ----------------------------------------------------------------------
550    Name: Matthias Blume (blume (at) tti - c (dot) org)
551    Date: 2004/10/08 22:50:00 CDT
552    Tag: blume-20041008-cmkw
553    Description:
554    
555    Fixed handling of keywords in .cm files: After seeing "is" the lexer
556    treats subsequent occurrences of "group", "library", "source", "is",
557    "*", and "-" as ordinary identifiers rather than keywords.
558    
559    Most seriously, this fixes a problem with CM's "shell" tool.  The tool
560    is supposed to accept a tool argument called "source", but this did
561    not work because of the clash with the keyword.
562    
563    ----------------------------------------------------------------------
564    Name: Matthias Blume (blume (at) tti - c (dot) org)
565    Date: 2004/10/07 16:00:00 CDT
566    Tag: blume-20041007-cleanup
567    Description:
568    
569    Assorted cleanup work:
570    
571      - got rid of intstrmap in favor of using the library's
572        hash table implementation
573      - threw out most of the pathnames stuff, as it was not used anyway
574      - simplified tokentable implementation
575      - fixed some minor spelling errors
576    
577    ----------------------------------------------------------------------
578    Name: Matthias Blume (blume (at) tti - c (dot) org)
579    Date: 2004/10/06 15:15:15 CDT
580    Tag: blume-20041006-handler
581    Description:
582    
583    Cleaned up the absyn to reflect the invariant that HANDLE always
584    carries a FNexp as part of the type definition.  This eliminates some
585    superfluous sanity checks at runtime down the road.
586    
587    Some minor cleanup of the btrace code.
588    
589    ----------------------------------------------------------------------
590    Name: Matthias Blume (blume (at) tti - c (dot) org)
591    Date: 2004/10/01 10:20:30 CDT
592    Tag: blume-20041001-slave
593    Description:
594    
595    Added hack to make slave mode work in the presence of the version
596    tool.  (Still, since the master does two passes over the code for
597    CMB.make, the release number gets bumped twice when slaves are
598    attached.  I don't know if this is worth fixing...)
599    
600    ----------------------------------------------------------------------
601    Name: Matthias Blume (blume (at) tti - c (dot) org)
602    Date: 2004/09/30 10:55:00 CDT
603    Tag: blume-20040930-version
604    Description:
605    
606    * Moved the "version" magic into its own little library under
607      src/system/smlnj/internal.  This avoids expensive reconstruction of
608      a stable src/compiler/core.cm.
609    
610    * At the same time, structure CompilerVersion is now known as
611      structure SMLNJVersion.
612    
613    * Arranged for the version tool to NOT kick in when rebuilding the system
614      (makeml -rebuild, fixpt).  Otherwise one would never reach a fixpoint.
615      Also, loading the versiontool does not work when rebuilding the system
616      because CM is not properly initialized at that time.
617    
618    ----------------------------------------------------------------------
619    Name: Matthias Blume (blume (at) tti - c (dot) org)
620    Date: 2004/09/29 14:00:00 CDT
621    Tag: blume-20040929-autoversion
622    Description:
623    
624    Implemented some CM magic to have
625        file src/compiler/TopLevel/main/version.sml
626    generated automagically.
627    The version is taken from two files: config/version and config/release.
628    The first is expected to contain a two-part version number such as 110.49.
629    The second should contain a single number, but it may be missing.
630    
631    If the environment variable VERSIONTOOL_BUMP_RELEASE is defined at the
632    time the version tool is loaded (which is the first time you say CMB.make),
633    then the tool will increment the value stored in config/release every
634    time CMB.make is invoked.
635    
636    The binfile format is now insensitive to anything beyond the first
637    two components of a version number, so bumping the release does not render
638    binfiles incompatible.  Auto-bumping can be used to keep track of versions
639    during development without invalidating existing binfiles.
640    
641    In any case, every CMB.make updates the date information in version.sml.
642    (This is the date that is printed in the banner.)
643    
644    ----------------------------------------------------------------------
645    Name: Matthias Blume (blume (at) tti - c (dot) org)
646    Date: 2004/09/28 10:53:00 CDT
647    Tag: blume-20040928-controls
648    Description:
649    
650    Some cleanup of the controls code.
651    
652    ----------------------------------------------------------------------
653    Name: Matthias Blume (blume (at) tti - c (dot) org)
654    Date: 2004/09/27 22:08:00 CDT
655    Tag: blume-20040927-controls
656    Description:
657    
658    Added two pieces of functionality to the Controls interface:
659    
660    1.   val save'restore: 'a control -> unit -> unit
661    
662       grabs the current value of the control in stage 1 and restores it
663       in stage 2.
664    
665    2.   val set' : 'a control * 'a -> unit -> unit
666    
667       stores the given value into the control in stage 2 (i.e., delayed)
668       but does all error checking in stage 1.
669       (This is for string controls that need to do parse their argument --
670        something that might fail.  In some cases, notably in CM, one
671        already knows the intended argument but wants to delay the actual
672        assignment until a time when error recovery would be more difficult.)
673    
674    Changed the handling of controls in tool arguments to classes "sml" and
675    "lazysml":
676       - use Controls.save'restore as a more robust way of restoring the
677         old value (in particular: without having to re-parse the string)
678       - use controls to handle the "overload" keyword in the init group
679         (I believe this change actually fixes a long-standing obscure bug.)
680    
681    ----------------------------------------------------------------------
682    Name: Matthias Blume (blume (at) tti - c (dot) org)
683    Date: 2004/09/27 17:00:00 CDT
684    Tag: blume-20040927-lazysml
685    Description:
686    
687    Added a new tool class called "lazysml" to CM's tool chest.  The only
688    difference to "sml" is that compilation is done with Control.lazysml
689    set to true.  A source of class "lazysml" is automatically recognized
690    by a file name suffix of ".lml".
691    
692    In addition to the above feature, the original class "sml" now also
693    supports a tool argument "lazy" which has the same effect.  As a
694    result, the following three lines are equivalent:
695    
696        foo.sml : lazysml
697        foo.sml : sml (lazy)
698        foo.sml (lazy)
699    
700    The setting goes into effect both during parsing and during
701    compilation.  The original setting is restored right after parsing and
702    after compilation, respectively.
703    
704    In addition to all the above, there is also a general mechanism to set
705    ANY of the "controls" that are available at the command line via
706    "-C..." on a per-sml-file basis.  The same rules that apply for "lazy"
707    apply as well. (In fact, "lazy" is implemented as a special case of
708    the general mechanism.)
709    
710    The .cm file syntax uses a new keyword tool argument called "with".
711    There are several ways of indicating the desired settings:
712    
713        foo.sml (with:parser.quotations=true)
714        foo.sml (with:(name:parser.quotations value:true))
715        foo.sml (with:(name:name1 value:value1 name:name2 value:value2 ...))
716        foo.sml (with:(name1=value1 name2=value2 ...))
717        foo.sml (with:(name1=value1 name:name2 value:value2 name3=value3 ...))
718    
719        etc.
720    
721    Another possible abbreviation is to leave out the =v or value:v part
722    if the name refers to a boolean control (in which case the value is
723    taken to be true).  Thus, one could get lazy sml also by saying:
724    
725        foo.sml (with:parser.lazy-keyword=true)
726        foo.sml (with:parser.lazy-keyword)
727        foo.sml (with:(name:parser.lazy-keyword value:true))
728        foo.sml (with:(name:parser.lazy-keyword))
729    
730    ----------------------------------------------------------------------
731    Name: Matthias Blume (blume (at) tti - c (dot) org)
732    Date: 2004/09/24 16:22:00 CDT
733    Tag: blume-20040924-ppc-long-branch
734    Description:
735    
736    Turned message about "emiting long form of branch" off by default.
737    Added a control flag to turn it back on when desired.
738    
739    ----------------------------------------------------------------------
740    Name: Matthias Blume (blume (at) tti - c (dot) org)
741    Date: 2004/09/24 16:05:00 CDT
742    Tag: blume-20040924-rounding
743    Description:
744    
745    Applied patch for setting rounding modes under Mac OS X.  Thanks to
746    Melissa O'Neill for providing the code!
747    
748    ----------------------------------------------------------------------
749    Name: Matthias Blume (blume (at) tti - c (dot) org)
750    Date: 2004/09/23 17:30:00 CDT
751    Tag: blume-20040923-envvars
752    Description:
753    
754    1. Changed definition of type ControlRegistry.registry_tree to
755       include control_info (i.e., the name of the controlling environment
756       variable).
757    
758    2. Added command-line flags -e and -E to print the names of environment
759       variables that can be used to control internal settings.
760       (This uses the new API mentioned in 1.)
761    
762    ----------------------------------------------------------------------
763    Name: Matthias Blume (blume (at) tti - c (dot) org)
764    Date: 2004/09/13 16:50:00 CDT
765    Tag: Release_110_49
766    Description:
767    
768    New working version (110.49).  NEW BOOTFILES!
769    
770    ----------------------------------------------------------------------
771    Name: Matthias Blume
772    Date: 2004/09/13 16:20:00 CDT
773    Tag: blume-20040913-config-mlrisc
774    Description:
775    
776    Put target "mlrisc" back into the default list.
777    (There is no harm in having it, and some users have expressed their
778    wish to have "mlrisc" included by default.)
779    
780    ----------------------------------------------------------------------
781    Name: John Reppy
782    Date: 2004/09/13
783    Tag: jhr-20040913-signals
784    Description:
785    
786    Fixed the signal masking code to properly nest mask/unmask operations
787    on a per-signal basis.
788    
789    ----------------------------------------------------------------------
790    Name: Matthias Blume (blume (at) tti - c (dot) org)
791    Date: 2004/09/08 13:20:00 CDT
792    Tag: blume-20040908-heap-magic
793    Description:
794    
795    Bumped the heap macig number to 0x09082004 to account for the changed
796    layout of the ML frame under MacOS X.
797    
798    ----------------------------------------------------------------------
799    Name: Allen Leung (leunga (at) reservoir (dot) com)
800    Date: 2004/09/03 11:26:00 EST
801    Tag: leunga-20040903-cygwin-install
802    Description:
803    
804       Added a patch to _arch-n-opsys to enable the Cygwin runtime.
805    The Cygwin runtime is turned on by setting the environment
806    variable SMLNJ_CYGWIN_RUNTIME to 1.
807    
808    ----------------------------------------------------------------------
809    Name: Matthias Blume (blume (at) tti - c (dot) org)
810    Date: 2004/08/31 17:15:00 CDT
811    Tag: blume-20040831-core
812    Description:
813    
814    Added some exports to src/compiler/core.cm upon request by J. Joemann.
815    
816    ----------------------------------------------------------------------
817    Name: Matthias Blume (blume (at) tti - c (dot) org)
818    Date: 2004/08/30 17:55:00 CDT
819    Tag: blume-20040830-installer
820    Description:
821    
822    Upon request by Johannes Joemann:
823    
824    - improved ML code of installer to fall back to coping when renaming
825      fails (i.e., when source and target are on different file systems);
826      the code compiles but has yet to be tested in anger
827    - removed mlrisc from list of default targets (config/targets)
828    
829    ----------------------------------------------------------------------
830    Name: Matthias Blume (blume (at) tti - c (dot) org)
831    Date: 2004/08/27 17:20:00 CDT
832    Tag: blume-20040827-ptreql
833    Description:
834    
835    Added ptreql primop to structure InlineT (upon request from Larry
836    Paulson).
837    
838    ----------------------------------------------------------------------
839    Name: Allen Leung (leunga (at) reservoir (dot) com)
840    Date: 2004/08/15 21:21:00 EST
841    Tag: leunga-110_48-udgraph
842    Description:
843    
844    Another bug fix from Carl Hauser:
845    
846    diff /net/niflab/smlnj48/src/MLRISC/graphs/udgraph.sml udgraph.sml
847    > 48c48
848    > <              | rmv((e as (k,_))::es,L) = rmv(es,if k = i then es else
849    > e::L)
850    > ---
851    > >              | rmv((e as (k,_))::es,L) = rmv(es,if k = i then L else e::L)
852    > Without this, any deletion of an edge in an undirected graph does severe
853    > violence to the graph.
854    
855    ----------------------------------------------------------------------
856    Name: Allen Leung (leunga (at) reservoir (dot) com)
857    Date: 2004/08/10 23:35:00 EST
858    Tag: leunga-110_48-ppc
859    Description:
860    
861       The IBM/MacOS syntax switch on PPC was incorrectly swapped.
862    
863    ----------------------------------------------------------------------
864    Name: Matthias Blume (blume (at) tti - c (dot) org)
865    Date: 2004/08/10 12:00:00 CDT
866    Tag: Release_110_48
867    Description:
868    
869    New working version (110.48).  NEW BOOTFILES!
870    
871    ----------------------------------------------------------------------
872    Name: Allen Leung (leunga (at) reservoir (dot) com)
873    Date: 2004/08/09 12:21:00 EST
874    Tag: leunga-110_47-dijsktra
875    Description:
876    
877    Bug fix from Carl Hauser:
878    
879    single_source_shortest_paths in dijkstra.sml was observed to get wrong
880    answers (by comparing to single_source_shortest_paths in bellman-ford.sml).
881    
882    The problem is that following the expression A.update(dist,s,Num.zero)
883    it is necessary to update the priority queue using Q.decreaseWeight(Q,s).
884    
885    ----------------------------------------------------------------------
886    Name: Matthias Blume (blume (at) tti - c (dot) org)
887    Date: 2004/08/06 18:10:00 CDT
888    Tag: blume-20040806-cmdline
889    Description:
890    
891    Fiddled with handling of command-line options:
892    
893      * sml now quits after processing the command line
894        if -H, -S, -h<n>, or -s<n> appears as the last
895        command-line argument
896      * a new option -q terminates the session when encountered on
897        the command line; subsequent arguments will be ignored
898      * bug fixes: short (erroneous) arguments are no longer ignored
899        completely
900    
901    ----------------------------------------------------------------------
902    Name: Allen Leung (leunga (at) reservoir (dot) com)
903    Date: 2004/08/04 18:17:00 EST
904    Tag: leunga-110_47-ppc-ibm-asm
905    Description:
906    
907      - Added minimal IBM assembly syntax support for PowerPC.
908    
909      - Cygwin: manually changed the file cygwin.def.  Some exported symbols have
910        been altered in the runtime.  We need an automatic way to keep the file
911        in sync.
912    
913    ----------------------------------------------------------------------
914    Name: Matthias Blume (blume (at) tti - c (dot) org)
915    Date: 2004/08/04 14:00:00 CDT
916    Tag: Release_110_47
917    Description:
918    
919    New working version (110.47).  NEW BOOTFILES!
920    
921    ----------------------------------------------------------------------
922    Name: Matthias Blume (blume (at) tti - c (dot) org)
923    Date: 2004/08/03 14:25:00 CDT
924    Tag: blume-20040803-callingconv
925    Description:
926    
927    Added low-level support for choosing C calling conventions by
928    twiddling the type of rawccall.  (See
929    src/compiler/Semant/types/cproto.sml for details.)
930    
931    ----------------------------------------------------------------------
932    Name: Matthias Blume (blume (at) tti - c (dot) org)
933    Date: 2004/08/02 15:55:00 CDT
934    Tag: blume-20040802-backout
935    Description:
936    
937    Backed out of change to win32-filesys.c.  The earlier patch to
938    get_file_time caused CM to produce files with the wrong time stamp.
939    
940    ----------------------------------------------------------------------
941    Name: Matthias Blume (blume (at) tti - c (dot) org)
942    Date: 2004/08/02 14:45:00 CDT
943    Tag: blume-20040802-nlffi-win32
944    Description:
945    
946    Added NLFFI support for Win32, adapted from a patch provided by David
947    Hansel.  This is currently completely untested.  Also, the issue
948    concerning stdcall vs. ccall is still unresolved.
949    
950    ----------------------------------------------------------------------
951    Name: Matthias Blume (blume (at) tti - c (dot) org)
952    Date: 2004/07/30 17:55:00 CDT
953    Tag: blume-20040730-various
954    Description:
955    
956    Gearing up towards 110.47...
957    
958    - various minor bugfixes to ml-nlffigen
959    - a beginning of a manual for nlffi
960    
961    - eliminated 'export name=value' in config/install.sh as this does
962      not work with certain versions of /bin/sh
963      (Thanks to David King at Motorola for catching this.)
964    
965    - several bugfixes provided or suggested by David Hansel at Reactive Systems:
966      - added a test for tm==NULL to gmtime.c and localtime.c
967      - applied patch for incorrect GetFileTime under win32
968      - toSeconds -> toMilliseconds in Win32/win32-process.sml
969    
970    ----------------------------------------------------------------------
971    Name: Matthias Blume (blume (at) tti - c (dot) org)
972    Date: 2004/07/21 18:20:00 CDT
973    Tag: blume-20040721-nlffigen
974    Description:
975    
976    - Fixed minor issue in ml-nlffigen: Now generate structure T_foo
977      for a typedef to an incomplete type, but leave out the "typ" member.
978      (This is just for consistency.)
979    - Started to produce what is supposed to become better (i.e., comprehensive)
980      documentation of what ml-nlffigen does and produces.
981    
982    ----------------------------------------------------------------------
983    Name: Matthias Blume (blume (at) tti - c (dot) org)
984    Date: 2004/07/14 16:25:00 CDT
985    Tag: blume-20040714-union
986    Description:
987    
988    Added C_UNION to c-calls/c-types.sml and updated the machinery
989    (ml-nlffigen, cproto.sml) that conveys C function interface
990    information to the code generator.
991    
992    However, the actual architecture-specific implementation of function
993    arguments and results that are C unions is still not implemented.
994    
995    ----------------------------------------------------------------------
996    Name: Allen Leung (leunga (at) reservoir (dot) com)
997    Date: 2004/07/14 14:38:00 EST
998    Tag: leunga-110_46_1-ppc-lwzu
999    Description:
1000    
1001        Added these instructions to the PowerPC architecture:
1002        LBZU(X), LHZU(X), LWZU(X),
1003        STWU(X), STFDU, STFSU
1004    
1005        etc...
1006    
1007        Note: I haven't added their instruction encoding into the description.
1008    
1009    ----------------------------------------------------------------------
1010    Name: Allen Leung (leunga (at) reservoir (dot) com)
1011    Date: 2004/07/13 15:04:00 EST
1012    Tag: leunga-110_46_1-ppc-lwarx
1013    Description:
1014    
1015       Added the two instructions LWARX and STWCX to the PowerPC
1016    instruction set.
1017    
1018       A (untested) rewrite of loop-structure.sml.  The old version
1019    is completely broken.
1020    
1021    ----------------------------------------------------------------------
1022    Name: Matthias Blume (blume (at) tti - c (dot) org)
1023    Date: 2004/07/13 13:50:00 CDT
1024    Tag: blume-20040713-nlffi
1025    Description:
1026    
1027    - use paramAlloc to report c-calls with too many arguments
1028      (for PPC version where parameter area is pre-allocated)
1029    - added ccall_maxargspace to machspec (to implement the above)
1030    - made "make" commend in CM's "make" tool configurable
1031    - added option (default: on) for passing the name of the SML/NJ's "bin"
1032      directory to "make"; the call looks like this:
1033    
1034         make <options> SMLNJ_BINDIR=<dir> <target>
1035    
1036      This can be used by the Makefile to, e.g., pick the "right" version
1037      of ml-nlffigen.
1038    - minor code tweaks
1039    
1040    ----------------------------------------------------------------------
1041    Name: Matthias Blume (blume (at) tti - c (dot) org)
1042    Date: 2004/07/12 22:50:00 CDT
1043    Tag: blume-110_46_1-macosx-nlffi
1044    Description:
1045    
1046    NLFFI under Mac OS X now working (sort of).  This is largely untested,
1047    though.
1048    
1049    Note:  1. You have to make a new, clean build of the runtime system.
1050           2. There are new BOOTFILES, you have to use them!
1051              (Doing the bootstrap process yourself would be *very* painful!
1052               If you absolutely have to do it, build the system under
1053               a different architecture and then cross-compile.)
1054    
1055    Version bumped to 110.46.1 to account for runtime data format changes.
1056    
1057    ----------------------------------------------------------------------
1058    Name: Matthias Blume (blume (at) tti - c (dot) org)
1059    Date: 2004/06/18 14:30:00 CDT
1060    Tag: blume-20040618-unix
1061    Description:
1062    
1063    Changed the implementation of structure Unix so that the same stream
1064    is returned every time one of the {text,bin}{In,Out}streamOf functions
1065    is invoked on the same proc.  This is not what the spec currently
1066    says -- although IMO it arguably should.  (See discussion below.)
1067    
1068    ----------------------------------------------------------------------
1069    Name: Matthias Blume (blume (at) tti - c (dot) org)
1070    Date: 2004/06/17 18:15:00 CDT
1071    Tag: Release_110_46
1072    Description:
1073    
1074    New working version (110.46).  NEW BOOTFILES!
1075    
1076    ----------------------------------------------------------------------
1077    Name: Matthias Blume (blume (at) tti - c (dot) org)
1078    Date: 2004/06/17 17:20:00 CDT
1079    Tag: blume-20040617-timer-unix
1080    Description:
1081    
1082    Changed the interface of structures Timer and Unix to match the most
1083    recent Basis spec.
1084    
1085    In the case of Unix there still seems to be an open/weird issue:
1086    
1087       The {text,bin}{In,Out}streamOf functions are supposed to create
1088       fresh streams whenever they are called -- as opposed to have them
1089       return the same stream every time.  This design is supposed to
1090       prevent space leaks caused by proc values hanging on to streams.
1091    
1092       The reap function, on the other hand, is supposed to close the
1093       streams.  This cannot be done without having a handle on the
1094       stream in proc after all...
1095    
1096    I took the liberty to implement the following stopgap solution:
1097    
1098      The proc value hangs on to the most recently created stream(s).
1099      Reap closes those.  If either or both of the two streams hadn't
1100      been created at all yet, then reap will close the corresponding
1101      file descriptors directly.
1102    
1103    PS: I don't understand the original space leak argument anymore.  If
1104    a proc hangs on to the imperative stream, then I/O operations on those
1105    will advance the state of the cached stream and avoid the space leak.
1106    
1107    ----------------------------------------------------------------------
1108    Name: Matthias Blume (blume (at) tti - c (dot) org)
1109    Date: 2004/05/28 16:45:00 CDT
1110    Tag: blume-20040528-basis
1111    Description:
1112    
1113    Added signature PACK_REAL and exported functor PrimIO.
1114    
1115    ----------------------------------------------------------------------
1116    Name: Matthias Blume (blume (at) tti - c (dot) org)
1117    Date: 2004/05/25 16:00:00 CDT
1118    Tag: blume-20040525-group-owner
1119    Description:
1120    
1121    CM now ignores (but still accepts) the "owner" information in group
1122    descriptions.  The owner of a group is its next enclosing
1123    library. Each group must have a unique owner.  (There is a virtual
1124    "toplevel" library that owns groups which are not nested within a real
1125    library.)  Previously, each group had to explicitly declare its owner,
1126    and CM would check that such a declaration is correct.  The new scheme
1127    is to have CM check that for each group there is precisely one owning
1128    library.
1129    
1130    The advantage of the new scheme is that the programmer no longer needs
1131    to maintain the somewhat annoying owner information.  The downside is
1132    that CM cannot enforce the ownership rule across multiple runs of
1133    CM.make.  Fortunately, enclosing the same group in two different
1134    libraries A and B which are not part of the same program does not
1135    cause real problems.
1136    
1137    ----------------------------------------------------------------------
1138    Name: Matthias Blume (blume (at) tti - c (dot) org)
1139    Date: 2004/05/20 16:00:00 CDT
1140    Tag: blume-20040520-win32
1141    Description:
1142    
1143    Made the win32 version work again.  (Strangely, a misplaced comma had
1144    slipped into win32-process.c which prevented the runtime from being
1145    compiled correctly.)
1146    
1147    Also, included a minor addition to ml-build.bat analogous to what was
1148    done in blume-20040519-ml-build.
1149    
1150    ----------------------------------------------------------------------
1151    Name: Matthias Blume (blume (at) tti - c (dot) org)
1152    Date: 2004/05/19 22:10:00 CDT
1153    Tag: blume-20040519-ml-build
1154    Description:
1155    
1156    Arranged for ml-build to clean up after itself a little bit better.
1157    The script generates a temporary SML source file and compiles it using
1158    CM, so CM generates metadata (GUID, SKEL, objectfile) for it.  It now
1159    gets rid of those at the end, so they don't accumulate under .cm.
1160    
1161    This required a minor change to install.sh because the name of the
1162    metadata directory (default: .cm) is actually configurable at
1163    installation time.
1164    
1165    ----------------------------------------------------------------------
1166    Name: Matthias Blume (blume (at) tti - c (dot) org)
1167    Date: 2004/05/18 15:50:00 CDT
1168    Tag: blume-20040518-mkreader
1169    Description:
1170    
1171    Added Posix.IO.mk{Bin,Text}{Reader,Writer} by lifting their respective
1172    implementations from internal modules PosixBinPrimIO and PosixTextPrimIO.
1173    
1174    ----------------------------------------------------------------------
1175    Name: Matthias Blume (blume (at) tti - c (dot) org)
1176    Date: 2004/05/11 14:35:00 CDT
1177    Tag: blume-20040511-win32sock
1178    Description:
1179    
1180    Added previously missing support for many socket-related functions
1181    under win32.  Thanks to David Hansel <hansel@reactive-systems.com>
1182    for the voluminous patch!
1183    
1184    (I have not tested this patch under win32 yet.)
1185    
1186    Here is David's e-mail:
1187    
1188    Hi,
1189    
1190    Attached to this email you find a diff against sml/nj 110.45
1191    that will enable socket support under Windows.
1192    
1193    To apply the patch (using unix or cygwin)
1194    1) gunzip runtime.diff.gz
1195    2) "cd" into "src/runtime" in the source tree of a fresh
1196       110.45 installation.
1197    3) patch -p 1 < [your/path/to]runtime.diff
1198    
1199    The code compiles fine but has NOT yet been extensively tested.
1200    I only ran a few tests for basic socket client functionality
1201    (which worked fine).  Especially the functions that use ioctl
1202    are not tested at all and might not work (see below).
1203    
1204    I implemented this since we want to move to a newer version of sml/nj
1205    but need socket support in order to use it.  This is the first time I
1206    even had a look at the sml/nj source,  so please review my changes
1207    before making this part of the distribution!  Here are a few issues
1208    that I think might be better for someone to solve who is more
1209    familiar with the sml/nj source (and socket programming):
1210    
1211    - getnetbyaddr.c and getnetbyname.c will raise a "not implemented"
1212      exception since I could not figure out what the windows equivalent
1213      of these functions is
1214    
1215    - In sockets-osdep.h there are a some #include statements that are
1216      only used in a few files that include sockets-osdep.h
1217    
1218    - In smlnj-sock-lib.c, function init_fn() calls WSAStartup() but
1219      does not process its return value since I don't know how to
1220      report an error upwards.
1221    
1222    - It would probably be good to have a call to WSACleanup() when
1223      the library is unloaded (if there is such a possibility).
1224      Otherwise I think Windows will take care of this automatically
1225      when the process finishes.
1226    
1227    - I used ioctlsocket() as a replacement for ioctl() but I have
1228      no idea if that is actually the proper replacement on Windows.
1229    
1230    - All these issues are marked in the code by "FIXME" comments.
1231    
1232    We use sml/nj extensively in our products and are quite happy
1233    with it.  I hope this contribution will help you.
1234    
1235    Keep up the good work!
1236    
1237    David
1238    
1239    ----------------------------------------------------------------------
1240    Name: Matthias Blume (blume (at) tti - c (dot) org)
1241    Date: 2004/05/11 14:20:00 CDT
1242    Tag: blume-20040511-installml
1243    Description:
1244    
1245    Fixed two bugs in installml script.  (Thanks to Vesa A. Norrman for
1246    the patch.)
1247    
1248    ----------------------------------------------------------------------
1249    Name: Matthias Blume (blume (at) tti - c (dot) org)
1250    Date: 2004/05/11 14:05:00 CDT
1251    Tag: blume-20040511-nlffi-netbsd
1252    Description:
1253    
1254    Added support for nlffi under netbsd.  (Thanks to Vesa A. Norrman for
1255    the patch.)
1256    
1257    ----------------------------------------------------------------------
1258    Name: Matthias Blume (blume (at) tti - c (dot) org)
1259    Date: 2004/05/11 12:05:00 CDT
1260    Tag: blume-20040511-exports
1261    Description:
1262    
1263    As per request by Adam Chlipala <adam@hcoop.net>, extended various
1264    export lists in compiler-related .cm-files.
1265    
1266    ----------------------------------------------------------------------
1267    Name: Matthias Blume (blume (at) tti - c (dot) org)
1268    Date: 2004/05/11 11:35:00 CDT
1269    Tag: blume-20040511-allsource
1270    Description:
1271    
1272    The installer now honors the "src-smlnj" target again, although its meaning
1273    has changed from "all sources required for the compiler" to "all sources
1274    the installer knows about".  In other words, if you enable "src-smlnj"
1275    in the "targets" file, then the installer will pull in sources for
1276    everything.  (Notice that this refers to source code only.  Compiled
1277    code is still only installed for modules that were requested explicitly
1278    or which are required for other modules that were requested explicitly.)
1279    
1280    ----------------------------------------------------------------------
1281    Name: Matthias Blume (blume (at) tti - c (dot) org)
1282    Date: 2004/04/23 17:40:00 CDT
1283    Tag: blume-20040423-ieee-scan
1284    Description:
1285    
1286    Fixed IEEEReal.scan (and .fromString) so that if there is an overflow
1287    in the exponent calculation we get INF or ZERO (depending on the mantissa
1288    and the sign of the exponent).
1289    
1290    ----------------------------------------------------------------------
1291    Name: Matthias Blume (blume (at) tti - c (dot) org)
1292    Date: 2004/04/23 10:40:00 CDT
1293    Tag: blume-20040423-ml-build
1294    Description:
1295    
1296    The ml-build script now terminates with a non-0 status when something
1297    goes wrong.
1298    
1299    ----------------------------------------------------------------------
1300    Name: Matthias Blume (blume (at) tti - c (dot) org)
1301    Date: 2004/04/22 16:35:00 CDT
1302    Tag: blume-20040422-Option
1303    Description:
1304    
1305    Made exception Option to be the same as exception Option.Option
1306    (as it should be).
1307    
1308    ----------------------------------------------------------------------
1309    Name: Allen Leung (leunga (at) reservoir (dot) com)
1310    Date: 2004/03/19 14:40:00 EST
1311    Tag: leunga-20040319-cygwin-nlffi
1312    Description:
1313    
1314    Fixed the runtime so that ml-nlffi-lib runs on the cygwin version
1315    of SML/NJ.  The problem is that
1316    
1317       lib = dlopen(NULL, ...)
1318       f   = dlsym(lib, "malloc");
1319    
1320    does not work on Windows unless we explicitly export symbols
1321    such as 'malloc' during linking.  We fixed this by explicitly
1322    exporting the required symbols with the magic gcc incantation:
1323    
1324        -Wl,--export-all cygwin.def
1325    
1326    where cygwin.def is a file containing all the symbols that
1327    we wish to export.
1328    
1329    I suspect this is a Windows problem and we'll have to
1330    do the same (somehow with windows compilers) when
1331    we build the native win32 version with the system
1332    calls LoadLibrary/GetProcAddress.
1333    
1334    ----------------------------------------------------------------------
1335    Name: Matthias Blume (blume (at) tti - c (dot) org)
1336    Date: 2004/03/04 16:35:00 CST
1337    Tag: blume-20040304-intinf-fmt
1338    Description:
1339    
1340    Fixed problem with IntInf.fmt (sign would show up on the right instead
1341    of on the left for BIN, OCT, and HEX).
1342    
1343    ----------------------------------------------------------------------
1344    Name: Matthias Blume (blume (at) tti - c (dot) org)
1345    Date: 2004/03/04 11:25:00 CST
1346    Tag: blume-20040304-symlinks
1347    Description:
1348    
1349    Fixed problem with installer script (unix only) where bin/ml-yacc and
1350    friends pointed (via symlinks) to absolute locations instead of just
1351    .run-sml.  This was reported by Vesa A Norrman.
1352    
1353    ----------------------------------------------------------------------
1354    Name: Matthias Blume (blume (at) tti - c (dot) org)
1355    Date: 2004/02/13 14:50:00 CST
1356    Tag: Release_110_45
1357    Description:
1358    
1359    New working version (110.45). New bootfiles.
1360    
1361    ----------------------------------------------------------------------
1362    Name: Matthias Blume (blume (at) tti - c (dot) org)
1363    Date: 2004/01/26 15:15:15 CST
1364    Tag: blume-20040126-toplevel
1365    Description:
1366    
1367    Improved handling of exceptions at the interactive toplevel.
1368    
1369    ----------------------------------------------------------------------
1370    Name: Matthias Blume (blume (at) tti - c (dot) org)
1371    Date: 2004/01/26 11:25:00
1372    Tag: blume-20040126-app
1373    Description:
1374    
1375    Type of top-level "app" corrected.
1376    Added code for setting vp_limitPtrMask to Win32-specific runtime.
1377    
1378    ----------------------------------------------------------------------
1379    Name: Matthias Blume (blume (at) tti - c (dot) org)
1380    Date: 2003/11/18 17:10 CST
1381    Tag: blume-20031118-basis-fiddle
1382    Description:
1383    
1384    - changed Timer interface to what might become the spec
1385    - POSIX_FLAGS -> BIT_FLAGS according to spec
1386    - some other minor discrepancies wrt. spec eliminated
1387    
1388    ----------------------------------------------------------------------
1389    Name: Matthias Blume (blume (at) tti - c (dot) org)
1390    Date: 2003/11/06 12:00:00 CST
1391    Tag: Release_110_44
1392    Description:
1393    
1394    New working version (110.44). New bootfiles.
1395    
1396    ----------------------------------------------------------------------
1397    Name: Matthias Blume (blume (at) tti - c (dot) org)
1398    Date: 2003/11/04 11:50:00 CST
1399    Tag: blume-20031104-move-libraries
1400    Description:
1401    
1402    Eliminated the "dont_move_libraries" directive in config/targets.
1403    (The mechanism was broken and could not be fixed easily.  Moreover,
1404    there does not seem to be any reason not to move all libraries into
1405    lib during installation.  I originally implemented this directive as a
1406    backward-compatibility feature when I first introduced the new CM.
1407    Now that things have been stable for a long time and going back to the
1408    old CM is not an option, there is no reason to keep it around.)
1409    
1410    ----------------------------------------------------------------------
1411    Name: Matthias Blume (blume (at) tti - c (dot) org)
1412    Date: 2003/11/03 16:00:00 CST
1413    Tag: blume-20031103-installdir
1414    Description:
1415    
1416    Made installer honor INSTALLDIR variable again.  (Thanks to Chris
1417    Richards for pointing out the problem and providing the solution.)
1418    
1419    ----------------------------------------------------------------------
1420    Name: Matthias Blume (blume (at) tti - c (dot) org)
1421    Date: 2003/10/01 17:05:00 CDT
1422    Tag: blume-20031001-lal-mlrisc
1423    Description:
1424    
1425    MLRISC bug fix from Lal.
1426    
1427    ----------------------------------------------------------------------
1428    Name: Matthias Blume (blume (at) tti - c (dot) org)
1429  Date: 2003/09/30 16:10:00 CDT  Date: 2003/09/30 16:10:00 CDT
1430  Tag: blume-20030930-primio-bat  Tag: blume-20030930-primio-bat
1431  Description:  Description:

Legend:
Removed from v.1399  
changed lines
  Added in v.1758

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